index-legacy-71db9258.js 2.5 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. (function(){function _defineProperty2(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:String(t)}function _toPrimitive(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}System.register([],(function(exports,module){"use strict";var __vite_style__=document.createElement("style");return __vite_style__.textContent=':root{--van-black: #000;--van-white: #fff;--van-gray-1: #f7f8fa;--van-gray-2: #f2f3f5;--van-gray-3: #ebedf0;--van-gray-4: #dcdee0;--van-gray-5: #c8c9cc;--van-gray-6: #969799;--van-gray-7: #646566;--van-gray-8: #323233;--van-red: #ee0a24;--van-blue: #1989fa;--van-orange: #ff976a;--van-orange-dark: #ed6a0c;--van-orange-light: #fffbe8;--van-green: #07c160;--van-gradient-red: linear-gradient(to right, #ff6034, #ee0a24);--van-gradient-orange: linear-gradient(to right, #ffd01e, #ff8917);--van-primary-color: var(--van-blue);--van-success-color: var(--van-green);--van-danger-color: var(--van-red);--van-warning-color: var(--van-orange);--van-text-color: var(--van-gray-8);--van-text-color-2: var(--van-gray-6);--van-text-color-3: var(--van-gray-5);--van-active-color: var(--van-gray-2);--van-active-opacity: .6;--van-disabled-opacity: .5;--van-background: var(--van-gray-1);--van-background-2: var(--van-white);--van-background-3: var(--van-white);--van-padding-base: .10667rem;--van-padding-xs: .21333rem;--van-padding-sm: .32rem;--van-padding-md: .42667rem;--van-padding-lg: .64rem;--van-padding-xl: .85333rem;--van-font-bold: 600;--van-font-size-xs: .26667rem;--van-font-size-sm: .32rem;--van-font-size-md: .37333rem;--van-font-size-lg: .42667rem;--van-line-height-xs: .37333rem;--van-line-height-sm: .48rem;--van-line-height-md: .53333rem;--van-line-height-lg: .58667rem;--van-base-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Segoe UI, Arial, Roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;--van-price-font: avenir-heavy, "PingFang SC", helvetica neue, arial, sans-serif;--van-duration-base: .3s;--van-duration-fast: .2s;--van-ease-out: ease-out;--van-ease-in: ease-in;--van-border-color: var(--van-gray-3);--van-border-width: .02667rem;--van-radius-sm: .05333rem;--van-radius-md: .10667rem;--van-radius-lg: .21333rem;--van-radius-max: 26.64rem}.van-theme-dark{--van-text-color: #f5f5f5;--van-text-color-2: #707070;--van-text-color-3: #4d4d4d;--van-border-color: #3a3a3c;--van-active-color: #3a3a3c;--van-background: #000;--van-background-2: #1c1c1e;--van-background-3: #37363b}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--van-base-font)}a{text-decoration:none}input,button,textarea{color:inherit;font:inherit}a:focus,input:focus,button:focus,textarea:focus,[class*=van-]:focus{outline:none}ol,ul{margin:0;padding:0;list-style:none}@keyframes van-slide-up-enter{0%{transform:translate3d(0,100%,0)}}@keyframes van-slide-up-leave{to{transform:translate3d(0,100%,0)}}@keyframes van-slide-down-enter{0%{transform:translate3d(0,-100%,0)}}@keyframes van-slide-down-leave{to{transform:translate3d(0,-100%,0)}}@keyframes van-slide-left-enter{0%{transform:translate3d(-100%,0,0)}}@keyframes van-slide-left-leave{to{transform:translate3d(-100%,0,0)}}@keyframes van-slide-right-enter{0%{transform:translate3d(100%,0,0)}}@keyframes van-slide-right-leave{to{transform:translate3d(100%,0,0)}}@keyframes van-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.van-fade-enter-active{animation:var(--van-duration-base) van-fade-in both var(--van-ease-out)}.van-fade-leave-active{animation:var(--van-duration-base) van-fade-out both var(--van-ease-in)}.van-slide-up-enter-active{animation:van-slide-up-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-up-leave-active{animation:van-slide-up-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-down-enter-active{animation:van-slide-down-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-down-leave-active{animation:van-slide-down-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-left-enter-active{animation:van-slide-left-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-left-leave-active{animation:van-slide-left-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-right-enter-active{animation:van-slide-right-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-right-leave-active{animation:van-slide-right-leave var(--van-duration-base) both var(--van-ease-in)}.van-clearfix:after{display:table;clear:both;content:""}.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.van-safe-area-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-safe-area-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.van-haptics-feedback{cursor:pointer}.van-haptics-feedback:active{opacity:var(--van-active-opacity)}[class*=van-hairline]:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--van-border-color);transform:scale(.5)}.van-hairline,.van-hairline--top,.van-hairline--left,.van-hairline--right,.van-hairline--bottom,.van-hairline--surround,.van-hairline--top-bottom{position:relative}.van-hairline--top:after{border-top-width:var(--van-border-width)}.van-hairline--left:after{border-left-width:var(--van-border-width)}.van-hairline--right:after{border-right-width:var(--van-border-width)}.van-hairline--bottom:after{border-bottom-width:var(--van-border-width)}.van-hairline--top-bottom:after,.van-hairline-unset--top-bottom:after{border-width:var(--van-border-width) 0}.van-hairline--surround:after{border-width:var(--van-border-width)}:root{--van-action-bar-background: var(--van-background-2);--van-action-bar-height: 1.33333rem}.van-action-bar{position:fixed;right:0;bottom:0;left:0;display:flex;align-items:center;box-sizing:content-box;height:var(--van-action-bar-height);background:var(--van-action-bar-background)}:root{--van-badge-size: .42667rem;--van-badge-color: var(--van-white);--van-badge-padding: 0 .08rem;--van-badge-font-size: var(--van-font-size-sm);--van-badge-font-weight: var(--van-font-bold);--van-badge-border-width: var(--van-border-width);--van-badge-background: var(--van-danger-color);--van-badge-dot-color: var(--van-danger-color);--van-badge-dot-size: .21333rem;--van-badge-font: -apple-system-font, helvetica neue, arial, sans-serif}.van-badge{display:inline-block;box-sizing:border-box;min-width:var(--van-badge-size);padding:var(--van-badge-padding);color:var(--van-badge-color);font-weight:var(--van-badge-font-weight);font-size:var(--van-badge-font-size);font-family:var(--van-badge-font);line-height:1.2;text-align:center;background:var(--van-badge-background);border:var(--van-badge-border-width) solid var(--van-background-2);border-radius:var(--van-radius-max)}.van-badge--fixed{position:absolute;transform-origin:100%}.van-badge--top-left{top:0;left:0;transform:translate(-50%,-50%)}.van-badge--top-right{top:0;right:0;transform:translate(50%,-50%)}.van-badge--bottom-left{bottom:0;left:0;transform:translate(-50%,50%)}.van-badge--bottom-right{bottom:0;right:0;transform:translate(50%,50%)}.van-badge--dot{width:var(--van-badge-dot-size);min-width:0;height:var(--van-badge-dot-size);background:var(--van-badge-dot-color);border-radius:100%;border:none;padding:0}.van-badge__wrapper{position:relative;display:inline-block}.van-icon{position:relative;display:inline-block;font:.37333rem/1 vant-icon;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}.van-icon:before{display:inline-block}.van-icon-exchange:before{content:"\\e6af"}.van-icon-eye:before{content:"\\e6b0"}.van-icon-enlarge:before{content:"\\e6b1"}.van-icon-expand-o:before{content:"\\e6b2"}.van-icon-eye-o:before{content:"\\e6b3"}.van-icon-expand:before{content:"\\e6b4"}.van-icon-filter-o:before{content:"\\e6b5"}.van-icon-fire:before{content:"\\e6b6"}.van-icon-fail:before{content:"\\e6b7"}.van-icon-failure:before{content:"\\e6b8"}.van-icon-fire-o:before{content:"\\e6b9"}.van-icon-flag-o:before{content:"\\e6ba"}.van-icon-font:before{content:"\\e6bb"}.van-icon-font-o:before{content:"\\e6bc"}.van-icon-gem-o:before{content:"\\e6bd"}.van-icon-flower-o:before{content:"\\e6be"}.van-icon-gem:before{content:"\\e6bf"}.van-icon-gift-card:before{content:"\\e6c0"}.van-icon-friends:before{content:"\\e6c1"}.van-icon-friends-o:before{content:"\\e6c2"}.van-icon-gold-coin:before{content:"\\e6c3"}.van-icon-gold-coin-o:before{content:"\\e6c4"}.van-icon-good-job-o:before{content:"\\e6c5"}.van-icon-gift:before{content:"\\e6c6"}.van-icon-gift-o:before{content:"\\e6c7"}.van-icon-gift-card-o:before{content:"\\e6c8"}.van-icon-good-job:before{content:"\\e6c9"}.van-icon-home-o:before{content:"\\e6ca"}.van-icon-goods-collect:before{content:"\\e6cb"}.van-icon-graphic:before{content:"\\e6cc"}.van-icon-goods-collect-o:before{content:"\\e6cd"}.van-icon-hot-o:before{content:"\\e6ce"}.van-icon-info:before{content:"\\e6cf"}.van-icon-hotel-o:before{content:"\\e6d0"}.van-icon-info-o:before{content:"\\e6d1"}.van-icon-hot-sale-o:before{content:"\\e6d2"}.van-icon-hot:before{content:"\\e6d3"}.van-icon-like:before{content:"\\e6d4"}.van-icon-idcard:before{content:"\\e6d5"}.van-icon-invitation:before{content:"\\e6d6"}.van-icon-like-o:before{content:"\\e6d7"}.van-icon-hot-sale:before{content:"\\e6d8"}.van-icon-location-o:before{content:"\\e6d9"}.van-icon-location:before{content:"\\e6da"}.van-icon-label:before{content:"\\e6db"}.van-icon-lock:before{content:"\\e6dc"}.van-icon-label-o:before{content:"\\e6dd"}.van-icon-map-marked:before{content:"\\e6de"}.van-icon-logistics:before{content:"\\e6df"}.van-icon-manager:before{content:"\\e6e0"}.van-icon-more:before{content:"\\e6e1"}.van-icon-live:before{content:"\\e6e2"}.van-icon-manager-o:before{content:"\\e6e3"}.van-icon-medal:before{content:"\\e6e4"}.van-icon-more-o:before{content:"\\e6e5"}.van-icon-music-o:before{content:"\\e6e6"}.van-icon-music:before{content:"\\e6e7"}.van-icon-new-arrival-o:before{content:"\\e6e8"}.van-icon-medal-o:before{content:"\\e6e9"}.van-icon-new-o:before{content:"\\e6ea"}.van-icon-free-postage:before{content:"\\e6eb"}.van-icon-newspaper-o:before{content:"\\e6ec"}.van-icon-new-arrival:before{content:"\\e6ed"}.van-icon-minus:before{content:"\\e6ee"}.van-icon-orders-o:before{content:"\\e6ef"}.van-icon-new:before{content:"\\e6f0"}.van-icon-paid:before{content:"\\e6f1"}.van-icon-notes-o:before{content:"\\e6f2"}.van-icon-other-pay:before{content:"\\e6f3"}.van-icon-pause-circle:before{content:"\\e6f4"}.van-icon-pause:before{content:"\\e6f5"}.van-icon-pause-circle-o:before{content:"\\e6f6"}.van-icon-peer-pay:before{content:"\\e6f7"}.van-icon-pending-payment:before{content:"\\e6f8"}.van-icon-passed:before{content:"\\e6f9"}.van-icon-plus:before{content:"\\e6fa"}.van-icon-phone-circle-o:before{content:"\\e6fb"}.van-icon-phone-o:before{content:"\\e6fc"}.van-icon-printer:before{content:"\\e6fd"}.van-icon-photo-fail:before{content:"\\e6fe"}.van-icon-phone:before{content:"\\e6ff"}.van-icon-photo-o:before{content:"\\e700"}.van-icon-play-circle:before{content:"\\e701"}.van-icon-play:before{content:"\\e702"}.van-icon-phone-circle:before{content:"\\e703"}.van-icon-point-gift-o:before{content:"\\e704"}.van-icon-point-gift:before{content:"\\e705"}.van-icon-play-circle-o:before{content:"\\e706"}.van-icon-shrink:before{content:"\\e707"}.van-icon-photo:before{content:"\\e708"}.van-icon-qr:before{content:"\\e709"}.van-icon-qr-invalid:before{content:"\\e70a"}.van-icon-question-o:before{content:"\\e70b"}.van-icon-revoke:before{content:"\\e70c"}.van-icon-replay:before{content:"\\e70d"}.van-icon-service:before{content:"\\e70e"}.van-icon-question:before{content:"\\e70f"}.van-icon-search:before{content:"\\e710"}.van-icon-refund-o:before{content:"\\e711"}.van-icon-service-o:before{content:"\\e712"}.van-icon-scan:before{content:"\\e713"}.van-icon-share:before{content:"\\e714"}.van-icon-send-gift-o:before{content:"\\e715"}.van-icon-share-o:before{content:"\\e716"}.van-icon-setting:before{content:"\\e717"}.van-icon-points:before{content:"\\e718"}.van-icon-photograph:before{content:"\\e719"}.van-icon-shop:before{content:"\\e71a"}.van-icon-shop-o:before{content:"\\e71b"}.van-icon-shop-collect-o:before{content:"\\e71c"}.van-icon-shop-collect:before{content:"\\e71d"}.van-icon-smile:before{content:"\\e71e"}.van-icon-shopping-cart-o:before{content:"\\e71f"}.van-icon-sign:before{content:"\\e720"}.van-icon-sort:before{content:"\\e721"}.van-icon-star-o:before{content:"\\e722"}.van-icon-smile-comment-o:before{content:"\\e723"}.van-icon-stop:before{content:"\\e724"}.van-icon-stop-circle-o:before{content:"\\e725"}.van-icon-smile-o:before{content:"\\e726"}.van-icon-star:before{content:"\\e727"}.van-icon-success:before{content:"\\e728"}.van-icon-stop-circle:before{content:"\\e729"}.van-icon-records:before{content:"\\e72a"}.van-icon-shopping-cart:before{content:"\\e72b"}.van-icon-tosend:before{content:"\\e72c"}.van-icon-todo-list:before{content:"\\e72d"}.van-icon-thumb-circle-o:before{content:"\\e72e"}.van-icon-thumb-circle:before{content:"\\e72f"}.van-icon-umbrella-circle:before{content:"\\e730"}.van-icon-underway:before{content:"\\e731"}.van-icon-upgrade:before{content:"\\e732"}.van-icon-todo-list-o:before{content:"\\e733"}.van-icon-tv-o:before{content:"\\e734"}.van-icon-underway-o:before{content:"\\e735"}.van-icon-user-o:before{content:"\\e736"}.van-icon-vip-card-o:before{content:"\\e737"}.van-icon-vip-card:before{content:"\\e738"}.van-icon-send-gift:before{content:"\\e739"}.van-icon-wap-home:before{content:"\\e73a"}.van-icon-wap-nav:before{content:"\\e73b"}.van-icon-volume-o:before{content:"\\e73c"}.van-icon-video:before{content:"\\e73d"}.van-icon-wap-home-o:before{content:"\\e73e"}.van-icon-volume:before{content:"\\e73f"}.van-icon-warning:before{content:"\\e740"}.van-icon-weapp-nav:before{content:"\\e741"}.van-icon-wechat-pay:before{content:"\\e742"}.van-icon-warning-o:before{content:"\\e743"}.van-icon-wechat:before{content:"\\e744"}.van-icon-setting-o:before{content:"\\e745"}.van-icon-youzan-shield:before{content:"\\e746"}.van-icon-warn-o:before{content:"\\e747"}.van-icon-smile-comment:before{content:"\\e748"}.van-icon-user-circle-o:before{content:"\\e749"}.van-icon-video-o:before{content:"\\e74a"}.van-icon-add-square:before{content:"\\e65c"}.van-icon-add:before{content:"\\e65d"}.van-icon-arrow-down:before{content:"\\e65e"}.van-icon-arrow-up:before{content:"\\e65f"}.van-icon-arrow:before{content:"\\e660"}.van-icon-after-sale:before{content:"\\e661"}.van-icon-add-o:before{content:"\\e662"}.van-icon-alipay:before{content:"\\e663"}.van-icon-ascending:before{content:"\\e664"}.van-icon-apps-o:before{content:"\\e665"}.van-icon-aim:before{content:"\\e666"}.van-icon-award:before{content:"\\e667"}.van-icon-arrow-left:before{content:"\\e668"}.van-icon-award-o:before{content:"\\e669"}.van-icon-audio:before{content:"\\e66a"}.van-icon-bag-o:before{content:"\\e66b"}.van-icon-balance-list:before{content:"\\e66c"}.van-icon-back-top:before{content:"\\e66d"}.van-icon-bag:before{content:"\\e66e"}.van-icon-balance-pay:before{content:"\\e66f"}.van-icon-balance-o:before{content:"\\e670"}.van-icon-bar-chart-o:before{content:"\\e671"}.van-icon-bars:before{content:"\\e672"}.van-icon-balance-list-o:before{content:"\\e673"}.van-icon-birthday-cake-o:before{content:"\\e674"}.van-icon-bookmark:before{content:"\\e675"}.van-icon-bill:before{content:"\\e676"}.van-icon-bell:before{content:"\\e677"}.van-icon-browsing-history-o:before{content:"\\e678"}.van-icon-browsing-history:before{content:"\\e679"}.van-icon-bookmark-o:before{content:"\\e67a"}.van-icon-bulb-o:before{content:"\\e67b"}.van-icon-bullhorn-o:before{content:"\\e67c"}.van-icon-bill-o:before{content:"\\e67d"}.van-icon-calendar-o:before{content:"\\e67e"}.van-icon-brush-o:before{content:"\\e67f"}.van-icon-card:before{content:"\\e680"}.van-icon-cart-o:before{content:"\\e681"}.van-icon-cart-circle:before{content:"\\e682"}.van-icon-cart-circle-o:before{content:"\\e683"}.van-icon-cart:before{content:"\\e684"}.van-icon-cash-on-deliver:before{content:"\\e685"}.van-icon-cash-back-record:before{content:"\\e686"}.van-icon-cashier-o:before{content:"\\e687"}.van-icon-chart-trending-o:before{content:"\\e688"}.van-icon-certificate:before{content:"\\e689"}.van-icon-chat:before{content:"\\e68a"}.van-icon-clear:before{content:"\\e68b"}.van-icon-chat-o:before{content:"\\e68c"}.van-icon-checked:before{content:"\\e68d"}.van-icon-clock:before{content:"\\e68e"}.van-icon-clock-o:before{content:"\\e68f"}.van-icon-close:before{content:"\\e690"}.van-icon-closed-eye:before{content:"\\e691"}.van-icon-circle:before{content:"\\e692"}.van-icon-cluster-o:before{content:"\\e693"}.van-icon-column:before{content:"\\e694"}.van-icon-comment-circle-o:before{content:"\\e695"}.van-icon-cluster:before{content:"\\e696"}.van-icon-comment:before{content:"\\e697"}.van-icon-comment-o:before{content:"\\e698"}.van-icon-comment-circle:before{content:"\\e699"}.van-icon-completed:before{content:"\\e69a"}.van-icon-credit-pay:before{content:"\\e69b"}.van-icon-coupon:before{content:"\\e69c"}.van-icon-debit-pay:before{content:"\\e69d"}.van-icon-coupon-o:before{content:"\\e69e"}.van-icon-contact:before{content:"\\e69f"}.van-icon-descending:before{content:"\\e6a0"}.van-icon-desktop-o:before{content:"\\e6a1"}.van-icon-diamond-o:before{content:"\\e6a2"}.van-icon-description:before{content:"\\e6a3"}.van-icon-delete:before{content:"\\e6a4"}.van-icon-diamond:before{content:"\\e6a5"}.van-icon-delete-o:before{content:"\\e6a6"}.van-icon-cross:before{content:"\\e6a7"}.van-icon-edit:before{content:"\\e6a8"}.van-icon-ellipsis:before{content:"\\e6a9"}.van-icon-down:before{content:"\\e6aa"}.van-icon-discount:before{content:"\\e6ab"}.van-icon-ecard-pay:before{content:"\\e6ac"}.van-icon-envelop-o:before{content:"\\e6ae"}.van-icon-shield-o:before{content:"\\e74b"}.van-icon-guide-o:before{content:"\\e74c"}.van-icon-cash-o:before{content:"\\e74d"}.van-icon-qq:before{content:"\\e74e"}.van-icon-wechat-moments:before{content:"\\e74f"}.van-icon-weibo:before{content:"\\e750"}.van-icon-link-o:before{content:"\\e751"}.van-icon-miniprogram-o:before{content:"\\e752"}@font-face{font-weight:400;font-family:vant-icon;font-style:normal;font-display:auto;src:url(data:font/woff2;charset=utf-8;base64,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) format("woff2"),url(//at.alicdn.com/t/c/font_2553510_ovbl29ce9ud.woff?t=1672541115585) format("woff")}.van-icon__image{display:block;width:1em;height:1em;object-fit:contain}:root{--van-skeleton-image-size: 2.56rem;--van-skeleton-image-radius: .64rem}.van-skeleton-image{display:flex;width:var(--van-skeleton-image-size);height:var(--van-skeleton-image-size);align-items:center;justify-content:center;background:var(--van-active-color)}.van-skeleton-image--round{border-radius:var(--van-skeleton-image-radius)}.van-skeleton-image__icon{width:calc(var(--van-skeleton-image-size) / 2);height:calc(var(--van-skeleton-image-size) / 2);font-size:calc(var(--van-skeleton-image-size) / 2);color:var(--van-gray-5)}:root{--van-rate-icon-size: .53333rem;--van-rate-icon-gutter: var(--van-padding-base);--van-rate-icon-void-color: var(--van-gray-5);--van-rate-icon-full-color: var(--van-danger-color);--van-rate-icon-disabled-color: var(--van-gray-5)}.van-rate{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.van-rate__item{position:relative}.van-rate__item:not(:last-child){padding-right:var(--van-rate-icon-gutter)}.van-rate__icon{display:block;width:1em;color:var(--van-rate-icon-void-color);font-size:var(--van-rate-icon-size)}.van-rate__icon--half{position:absolute;top:0;left:0;overflow:hidden}.van-rate__icon--full{color:var(--van-rate-icon-full-color)}.van-rate__icon--disabled{color:var(--van-rate-icon-disabled-color)}.van-rate--disabled{cursor:not-allowed}.van-rate--readonly{cursor:default}:root{--van-notice-bar-height: 1.06667rem;--van-notice-bar-padding: 0 var(--van-padding-md);--van-notice-bar-wrapable-padding: var(--van-padding-xs) var(--van-padding-md);--van-notice-bar-text-color: var(--van-orange-dark);--van-notice-bar-font-size: var(--van-font-size-md);--van-notice-bar-line-height: .64rem;--van-notice-bar-background: var(--van-orange-light);--van-notice-bar-icon-size: .42667rem;--van-notice-bar-icon-min-width: .64rem}.van-notice-bar{position:relative;display:flex;align-items:center;height:var(--van-notice-bar-height);padding:var(--van-notice-bar-padding);color:var(--van-notice-bar-text-color);font-size:var(--van-notice-bar-font-size);line-height:var(--van-notice-bar-line-height);background:var(--van-notice-bar-background)}.van-notice-bar__left-icon,.van-notice-bar__right-icon{min-width:var(--van-notice-bar-icon-min-width);font-size:var(--van-notice-bar-icon-size)}.van-notice-bar__right-icon{text-align:right;cursor:pointer}.van-notice-bar__wrap{position:relative;display:flex;flex:1;align-items:center;height:100%;overflow:hidden}.van-notice-bar__content{position:absolute;white-space:nowrap;transition-timing-function:linear}.van-notice-bar__content.van-ellipsis{max-width:100%}.van-notice-bar--wrapable{height:auto;padding:var(--van-notice-bar-wrapable-padding)}.van-notice-bar--wrapable .van-notice-bar__wrap{height:auto}.van-notice-bar--wrapable .van-notice-bar__content{position:relative;white-space:normal;word-wrap:break-word}:root{--van-nav-bar-height: 1.22667rem;--van-nav-bar-background: var(--van-background-2);--van-nav-bar-arrow-size: .42667rem;--van-nav-bar-icon-color: var(--van-primary-color);--van-nav-bar-text-color: var(--van-primary-color);--van-nav-bar-title-font-size: var(--van-font-size-lg);--van-nav-bar-title-text-color: var(--van-text-color);--van-nav-bar-z-index: 1}.van-nav-bar{position:relative;z-index:var(--van-nav-bar-z-index);line-height:var(--van-line-height-lg);text-align:center;background:var(--van-nav-bar-background);-webkit-user-select:none;user-select:none}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar--safe-area-inset-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-nav-bar .van-icon{color:var(--van-nav-bar-icon-color)}.van-nav-bar__content{position:relative;display:flex;align-items:center;height:var(--van-nav-bar-height)}.van-nav-bar__arrow{margin-right:var(--van-padding-base);font-size:var(--van-nav-bar-arrow-size)}.van-nav-bar__title{max-width:60%;margin:0 auto;color:var(--van-nav-bar-title-text-color);font-weight:var(--van-font-bold);font-size:var(--van-nav-bar-title-font-size)}.van-nav-bar__left,.van-nav-bar__right{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 var(--van-padding-md);font-size:var(--van-font-size-md)}.van-nav-bar__left{left:0}.van-nav-bar__right{right:0}.van-nav-bar__text{color:var(--van-nav-bar-text-color)}:root{--van-image-placeholder-text-color: var(--van-text-color-2);--van-image-placeholder-font-size: var(--van-font-size-md);--van-image-placeholder-background: var(--van-background);--van-image-loading-icon-size: .85333rem;--van-image-loading-icon-color: var(--van-gray-4);--van-image-error-icon-size: .85333rem;--van-image-error-icon-color: var(--van-gray-4)}.van-image{position:relative;display:inline-block}.van-image--round{overflow:hidden;border-radius:var(--van-radius-max)}.van-image--round .van-image__img{border-radius:inherit}.van-image--block{display:block}.van-image__img,.van-image__error,.van-image__loading{display:block;width:100%;height:100%}.van-image__error,.van-image__loading{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-image-placeholder-text-color);font-size:var(--van-image-placeholder-font-size);background:var(--van-image-placeholder-background)}.van-image__loading-icon{color:var(--van-image-loading-icon-color);font-size:var(--van-image-loading-icon-size)}.van-image__error-icon{color:var(--van-image-error-icon-color);font-size:var(--van-image-error-icon-size)}:root{--van-back-top-size: 1.06667rem;--van-back-top-right: .8rem;--van-back-top-bottom: 1.06667rem;--van-back-top-z-index: 100;--van-back-top-icon-size: .53333rem;--van-back-top-text-color: #fff;--van-back-top-background: var(--van-blue)}.van-back-top{position:fixed;display:flex;align-items:center;justify-content:center;width:var(--van-back-top-size);height:var(--van-back-top-size);right:var(--van-back-top-right);bottom:var(--van-back-top-bottom);z-index:var(--van-back-top-z-index);cursor:pointer;color:var(--van-back-top-text-color);border-radius:var(--van-radius-max);box-shadow:0 .05333rem .21333rem rgba(0,0,0,.12);transform:scale(0);transition:var(--van-duration-base) cubic-bezier(.25,.8,.5,1);background-color:var(--van-back-top-background)}.van-back-top:active{opacity:var(--van-active-opacity)}.van-back-top--active{transform:scale(1)}.van-back-top__icon{font-size:var(--van-back-top-icon-size);font-weight:var(--van-font-bold)}:root{--van-tag-padding: 0 var(--van-padding-base);--van-tag-text-color: var(--van-white);--van-tag-font-size: var(--van-font-size-sm);--van-tag-radius: .05333rem;--van-tag-line-height: .42667rem;--van-tag-medium-padding: .05333rem .16rem;--van-tag-large-padding: var(--van-padding-base) var(--van-padding-xs);--van-tag-large-radius: var(--van-radius-md);--van-tag-large-font-size: var(--van-font-size-md);--van-tag-round-radius: var(--van-radius-max);--van-tag-danger-color: var(--van-danger-color);--van-tag-primary-color: var(--van-primary-color);--van-tag-success-color: var(--van-success-color);--van-tag-warning-color: var(--van-warning-color);--van-tag-default-color: var(--van-gray-6);--van-tag-plain-background: var(--van-background-2)}.van-tag{position:relative;display:inline-flex;align-items:center;padding:var(--van-tag-padding);color:var(--van-tag-text-color);font-size:var(--van-tag-font-size);line-height:var(--van-tag-line-height);border-radius:var(--van-tag-radius)}.van-tag--default{background:var(--van-tag-default-color)}.van-tag--default.van-tag--plain{color:var(--van-tag-default-color)}.van-tag--danger{background:var(--van-tag-danger-color)}.van-tag--danger.van-tag--plain{color:var(--van-tag-danger-color)}.van-tag--primary{background:var(--van-tag-primary-color)}.van-tag--primary.van-tag--plain{color:var(--van-tag-primary-color)}.van-tag--success{background:var(--van-tag-success-color)}.van-tag--success.van-tag--plain{color:var(--van-tag-success-color)}.van-tag--warning{background:var(--van-tag-warning-color)}.van-tag--warning.van-tag--plain{color:var(--van-tag-warning-color)}.van-tag--plain{background:var(--van-tag-plain-background);border-color:currentColor}.van-tag--plain:before{position:absolute;top:0;right:0;bottom:0;left:0;border:.02667rem solid;border-color:inherit;border-radius:inherit;content:"";pointer-events:none}.van-tag--medium{padding:var(--van-tag-medium-padding)}.van-tag--large{padding:var(--van-tag-large-padding);font-size:var(--van-tag-large-font-size);border-radius:var(--van-tag-large-radius)}.van-tag--mark{border-radius:0 var(--van-tag-round-radius) var(--van-tag-round-radius) 0}.van-tag--mark:after{display:block;width:.05333rem;content:""}.van-tag--round{border-radius:var(--van-tag-round-radius)}.van-tag__close{margin-left:.05333rem}:root{--van-card-padding: var(--van-padding-xs) var(--van-padding-md);--van-card-font-size: var(--van-font-size-sm);--van-card-text-color: var(--van-text-color);--van-card-background: var(--van-background);--van-card-thumb-size: 2.34667rem;--van-card-thumb-radius: var(--van-radius-lg);--van-card-title-line-height: .42667rem;--van-card-desc-color: var(--van-text-color-2);--van-card-desc-line-height: var(--van-line-height-md);--van-card-price-color: var(--van-text-color);--van-card-origin-price-color: var(--van-text-color-2);--van-card-num-color: var(--van-text-color-2);--van-card-origin-price-font-size: var(--van-font-size-xs);--van-card-price-font-size: var(--van-font-size-sm);--van-card-price-integer-font-size: var(--van-font-size-lg);--van-card-price-font: var(--van-price-font)}.van-card{position:relative;box-sizing:border-box;padding:var(--van-card-padding);color:var(--van-card-text-color);font-size:var(--van-card-font-size);background:var(--van-card-background)}.van-card:not(:first-child){margin-top:var(--van-padding-xs)}.van-card__header{display:flex}.van-card__thumb{position:relative;flex:none;width:var(--van-card-thumb-size);height:var(--van-card-thumb-size);margin-right:var(--van-padding-xs)}.van-card__thumb img{border-radius:var(--van-card-thumb-radius)}.van-card__content{position:relative;display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0;min-height:var(--van-card-thumb-size)}.van-card__content--centered{justify-content:center}.van-card__title,.van-card__desc{word-wrap:break-word}.van-card__title{max-height:.85333rem;font-weight:var(--van-font-bold);line-height:var(--van-card-title-line-height)}.van-card__desc{max-height:var(--van-card-desc-line-height);color:var(--van-card-desc-color);line-height:var(--van-card-desc-line-height)}.van-card__bottom{line-height:var(--van-line-height-md)}.van-card__price{display:inline-block;color:var(--van-card-price-color);font-weight:var(--van-font-bold);font-size:var(--van-card-price-font-size)}.van-card__price-integer{font-size:var(--van-card-price-integer-font-size);font-family:var(--van-card-price-font)}.van-card__price-decimal{font-family:var(--van-card-price-font)}.van-card__origin-price{display:inline-block;margin-left:.13333rem;color:var(--van-card-origin-price-color);font-size:var(--van-card-origin-price-font-size);text-decoration:line-through}.van-card__num{float:right;color:var(--van-card-num-color)}.van-card__tag{position:absolute;top:.05333rem;left:0}.van-card__footer{flex:none;text-align:right}.van-card__footer .van-button{margin-left:.13333rem}:root{--van-cell-font-size: var(--van-font-size-md);--van-cell-line-height: .64rem;--van-cell-vertical-padding: .26667rem;--van-cell-horizontal-padding: var(--van-padding-md);--van-cell-text-color: var(--van-text-color);--van-cell-background: var(--van-background-2);--van-cell-border-color: var(--van-border-color);--van-cell-active-color: var(--van-active-color);--van-cell-required-color: var(--van-danger-color);--van-cell-label-color: var(--van-text-color-2);--van-cell-label-font-size: var(--van-font-size-sm);--van-cell-label-line-height: var(--van-line-height-sm);--van-cell-label-margin-top: var(--van-padding-base);--van-cell-value-color: var(--van-text-color-2);--van-cell-icon-size: .42667rem;--van-cell-right-icon-color: var(--van-gray-6);--van-cell-large-vertical-padding: var(--van-padding-sm);--van-cell-large-title-font-size: var(--van-font-size-lg);--van-cell-large-label-font-size: var(--van-font-size-md)}.van-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding);overflow:hidden;color:var(--van-cell-text-color);font-size:var(--van-cell-font-size);line-height:var(--van-cell-line-height);background:var(--van-cell-background)}.van-cell:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:.02667rem solid var(--van-cell-border-color);transform:scaleY(.5)}.van-cell:last-child:after,.van-cell--borderless:after{display:none}.van-cell__label{margin-top:var(--van-cell-label-margin-top);color:var(--van-cell-label-color);font-size:var(--van-cell-label-font-size);line-height:var(--van-cell-label-line-height)}.van-cell__title,.van-cell__value{flex:1}.van-cell__value{position:relative;overflow:hidden;color:var(--van-cell-value-color);text-align:right;vertical-align:middle;word-wrap:break-word}.van-cell__left-icon,.van-cell__right-icon{height:var(--van-cell-line-height);font-size:var(--van-cell-icon-size);line-height:var(--van-cell-line-height)}.van-cell__left-icon{margin-right:var(--van-padding-base)}.van-cell__right-icon{margin-left:var(--van-padding-base);color:var(--van-cell-right-icon-color)}.van-cell--clickable{cursor:pointer}.van-cell--clickable:active{background-color:var(--van-cell-active-color)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:var(--van-padding-xs);color:var(--van-cell-required-color);font-size:var(--van-cell-font-size);content:"*"}.van-cell--center{align-items:center}.van-cell--large{padding-top:var(--van-cell-large-vertical-padding);padding-bottom:var(--van-cell-large-vertical-padding)}.van-cell--large .van-cell__title{font-size:var(--van-cell-large-title-font-size)}.van-cell--large .van-cell__label{font-size:var(--van-cell-large-label-font-size)}:root{--van-coupon-cell-selected-text-color: var(--van-text-color)}.van-coupon-cell__value--selected{color:var(--van-coupon-cell-selected-text-color)}:root{--van-contact-card-padding: var(--van-padding-md);--van-contact-card-add-icon-size: 1.06667rem;--van-contact-card-add-icon-color: var(--van-primary-color);--van-contact-card-title-line-height: var(--van-line-height-md)}.van-contact-card{padding:var(--van-contact-card-padding)}.van-contact-card__title{margin-left:.13333rem;line-height:var(--van-contact-card-title-line-height)}.van-contact-card--add .van-contact-card__value{line-height:var(--van-contact-card-add-icon-size)}.van-contact-card--add .van-cell__left-icon{color:var(--van-contact-card-add-icon-color);font-size:var(--van-contact-card-add-icon-size)}.van-contact-card:before{position:absolute;right:0;bottom:0;left:0;height:.05333rem;background:repeating-linear-gradient(-45deg,var(--van-warning-color) 0,var(--van-warning-color) 20%,transparent 0,transparent 25%,var(--van-primary-color) 0,var(--van-primary-color) 45%,transparent 0,transparent 50%);background-size:2.13333rem;content:""}:root{--van-collapse-item-duration: var(--van-duration-base);--van-collapse-item-content-padding: var(--van-padding-sm) var(--van-padding-md);--van-collapse-item-content-font-size: var(--van-font-size-md);--van-collapse-item-content-line-height: 1.5;--van-collapse-item-content-text-color: var(--van-text-color-2);--van-collapse-item-content-background: var(--van-background-2);--van-collapse-item-title-disabled-color: var(--van-text-color-3)}.van-collapse-item{position:relative}.van-collapse-item--border:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:0;right:var(--van-padding-md);left:var(--van-padding-md);border-top:.02667rem solid var(--van-border-color);transform:scaleY(.5)}.van-collapse-item__title .van-cell__right-icon:before{transform:rotate(90deg) translateZ(0);transition:transform var(--van-collapse-item-duration)}.van-collapse-item__title:after{right:var(--van-padding-md);display:none}.van-collapse-item__title--expanded .van-cell__right-icon:before{transform:rotate(-90deg)}.van-collapse-item__title--expanded:after{display:block}.van-collapse-item__title--borderless:after{display:none}.van-collapse-item__title--disabled{cursor:not-allowed}.van-collapse-item__title--disabled,.van-collapse-item__title--disabled .van-cell__right-icon{color:var(--van-collapse-item-title-disabled-color)}.van-collapse-item__wrapper{overflow:hidden;transition:height var(--van-collapse-item-duration) ease-in-out;will-change:height}.van-collapse-item__content{padding:var(--van-collapse-item-content-padding);color:var(--van-collapse-item-content-text-color);font-size:var(--van-collapse-item-content-font-size);line-height:var(--van-collapse-item-content-line-height);background:var(--van-collapse-item-content-background)}:root{--van-field-label-width: 6.2em;--van-field-label-color: var(--van-text-color);--van-field-label-margin-right: var(--van-padding-sm);--van-field-input-text-color: var(--van-text-color);--van-field-input-error-text-color: var(--van-danger-color);--van-field-input-disabled-text-color: var(--van-text-color-3);--van-field-placeholder-text-color: var(--van-text-color-3);--van-field-icon-size: .42667rem;--van-field-clear-icon-size: .42667rem;--van-field-clear-icon-color: var(--van-gray-5);--van-field-right-icon-color: var(--van-gray-6);--van-field-error-message-color: var(--van-danger-color);--van-field-error-message-font-size: .32rem;--van-field-text-area-min-height: 1.6rem;--van-field-word-limit-color: var(--van-gray-7);--van-field-word-limit-font-size: var(--van-font-size-sm);--van-field-word-limit-line-height: .42667rem;--van-field-disabled-text-color: var(--van-text-color-3);--van-field-required-mark-color: var(--van-red)}.van-field{flex-wrap:wrap}.van-field__label{flex:none;box-sizing:border-box;width:var(--van-field-label-width);margin-right:var(--van-field-label-margin-right);color:var(--van-field-label-color);text-align:left;word-wrap:break-word}.van-field__label--center{text-align:center}.van-field__label--right{text-align:right}.van-field__label--top{display:flex;width:100%;text-align:left;margin-bottom:var(--van-padding-base);word-break:break-word}.van-field__label--required:before{margin-right:.05333rem;color:var(--van-field-required-mark-color);content:"*"}.van-field--disabled .van-field__label{color:var(--van-field-disabled-text-color)}.van-field__value{overflow:visible}.van-field__body{display:flex;align-items:center}.van-field__control{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:var(--van-field-input-text-color);line-height:inherit;text-align:left;background-color:transparent;border:0;resize:none;-webkit-user-select:auto;user-select:auto}.van-field__control::-webkit-input-placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control::placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control:disabled{color:var(--van-field-input-disabled-text-color);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--van-field-input-disabled-text-color)}.van-field__control:read-only{cursor:default}.van-field__control--center{justify-content:center;text-align:center}.van-field__control--right{justify-content:flex-end;text-align:right}.van-field__control--custom{display:flex;align-items:center;min-height:var(--van-cell-line-height)}.van-field__control--error::-webkit-input-placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--error,.van-field__control--error::placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--min-height{min-height:var(--van-field-text-area-min-height)}.van-field__control[type=date],.van-field__control[type=time],.van-field__control[type=datetime-local]{min-height:var(--van-cell-line-height)}.van-field__control[type=search]{-webkit-appearance:none}.van-field__clear,.van-field__icon,.van-field__button,.van-field__right-icon{flex-shrink:0}.van-field__clear,.van-field__right-icon{margin-right:calc(var(--van-padding-xs) * -1);padding:0 var(--van-padding-xs);line-height:inherit}.van-field__clear{color:var(--van-field-clear-icon-color);font-size:var(--van-field-clear-icon-size);cursor:pointer}.van-field__left-icon .van-icon,.van-field__right-icon .van-icon{display:block;font-size:var(--van-field-icon-size);line-height:inherit}.van-field__left-icon{margin-right:var(--van-padding-base)}.van-field__right-icon{color:var(--van-field-right-icon-color)}.van-field__button{padding-left:var(--van-padding-xs)}.van-field__error-message{color:var(--van-field-error-message-color);font-size:var(--van-field-error-message-font-size);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{margin-top:var(--van-padding-base);color:var(--van-field-word-limit-color);font-size:var(--van-field-word-limit-font-size);line-height:var(--van-field-word-limit-line-height);text-align:right}:root{--van-search-padding: .26667rem var(--van-padding-sm);--van-search-background: var(--van-background-2);--van-search-content-background: var(--van-background);--van-search-input-height: .90667rem;--van-search-label-padding: 0 .13333rem;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background);border-radius:var(--van-radius-sm)}.van-search__content--round{border-radius:var(--van-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;align-items:center;padding:0 var(--van-padding-xs) 0 0;height:var(--van-search-input-height);background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}:root{--van-action-bar-icon-width: 1.28rem;--van-action-bar-icon-height: 100%;--van-action-bar-icon-color: var(--van-text-color);--van-action-bar-icon-size: .48rem;--van-action-bar-icon-font-size: var(--van-font-size-xs);--van-action-bar-icon-active-color: var(--van-active-color);--van-action-bar-icon-text-color: var(--van-text-color);--van-action-bar-icon-background: var(--van-background-2)}.van-action-bar-icon{display:flex;flex-direction:column;justify-content:center;min-width:var(--van-action-bar-icon-width);height:var(--van-action-bar-icon-height);color:var(--van-action-bar-icon-text-color);font-size:var(--van-action-bar-icon-font-size);line-height:1;text-align:center;background:var(--van-action-bar-icon-background);cursor:pointer}.van-action-bar-icon:active{background-color:var(--van-action-bar-icon-active-color)}.van-action-bar-icon__icon{margin:0 auto var(--van-padding-base);color:var(--van-action-bar-icon-color);font-size:var(--van-action-bar-icon-size)}:root{--van-loading-text-color: var(--van-text-color-2);--van-loading-text-font-size: var(--van-font-size-md);--van-loading-spinner-color: var(--van-gray-5);--van-loading-spinner-size: .8rem;--van-loading-spinner-duration: .8s}.van-loading{position:relative;color:var(--van-loading-spinner-color);font-size:0;vertical-align:middle}.van-loading__spinner{position:relative;display:inline-block;width:var(--van-loading-spinner-size);max-width:100%;height:var(--van-loading-spinner-size);max-height:100%;vertical-align:middle;animation:van-rotate var(--van-loading-spinner-duration) linear infinite}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{animation-duration:2s}.van-loading__line{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__line:before{display:block;width:.05333rem;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:" "}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:var(--van-padding-xs);color:var(--van-loading-text-color);font-size:var(--van-loading-text-font-size);vertical-align:middle}.van-loading--vertical{display:flex;flex-direction:column;align-items:center}.van-loading--vertical .van-loading__text{margin:var(--van-padding-xs) 0 0}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__line--1{transform:rotate(30deg);opacity:1}.van-loading__line--2{transform:rotate(60deg);opacity:.9375}.van-loading__line--3{transform:rotate(90deg);opacity:.875}.van-loading__line--4{transform:rotate(120deg);opacity:.8125}.van-loading__line--5{transform:rotate(150deg);opacity:.75}.van-loading__line--6{transform:rotate(180deg);opacity:.6875}.van-loading__line--7{transform:rotate(210deg);opacity:.625}.van-loading__line--8{transform:rotate(240deg);opacity:.5625}.van-loading__line--9{transform:rotate(270deg);opacity:.5}.van-loading__line--10{transform:rotate(300deg);opacity:.4375}.van-loading__line--11{transform:rotate(330deg);opacity:.375}.van-loading__line--12{transform:rotate(360deg);opacity:.3125}:root{--van-pull-refresh-head-height: 1.33333rem;--van-pull-refresh-head-font-size: var(--van-font-size-md);--van-pull-refresh-head-text-color: var(--van-text-color-2);--van-pull-refresh-loading-icon-size: .42667rem}.van-pull-refresh{overflow:hidden}.van-pull-refresh__track{position:relative;height:100%;transition-property:transform}.van-pull-refresh__head{position:absolute;left:0;width:100%;height:var(--van-pull-refresh-head-height);overflow:hidden;color:var(--van-pull-refresh-head-text-color);font-size:var(--van-pull-refresh-head-font-size);line-height:var(--van-pull-refresh-head-height);text-align:center;transform:translateY(-100%)}.van-pull-refresh__loading .van-loading__spinner{width:var(--van-pull-refresh-loading-icon-size);height:var(--van-pull-refresh-loading-icon-size)}:root{--van-number-keyboard-background: var(--van-gray-2);--van-number-keyboard-key-height: 1.28rem;--van-number-keyboard-key-font-size: .74667rem;--van-number-keyboard-key-active-color: var(--van-gray-3);--van-number-keyboard-key-background: var(--van-background-2);--van-number-keyboard-delete-font-size: var(--van-font-size-lg);--van-number-keyboard-title-color: var(--van-gray-7);--van-number-keyboard-title-height: .90667rem;--van-number-keyboard-title-font-size: var(--van-font-size-lg);--van-number-keyboard-close-padding: 0 var(--van-padding-md);--van-number-keyboard-close-color: var(--van-primary-color);--van-number-keyboard-close-font-size: var(--van-font-size-md);--van-number-keyboard-button-text-color: var(--van-white);--van-number-keyboard-button-background: var(--van-primary-color);--van-number-keyboard-z-index: 100}.van-theme-dark{--van-number-keyboard-background: var(--van-gray-8);--van-number-keyboard-key-background: var(--van-gray-7);--van-number-keyboard-key-active-color: var(--van-gray-6)}.van-number-keyboard{position:fixed;bottom:0;left:0;z-index:var(--van-number-keyboard-z-index);width:100%;padding-bottom:.58667rem;background:var(--van-number-keyboard-background);-webkit-user-select:none;user-select:none}.van-number-keyboard--with-title{border-radius:.53333rem .53333rem 0 0}.van-number-keyboard__header{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:content-box;height:var(--van-number-keyboard-title-height);padding-top:.16rem;color:var(--van-number-keyboard-title-color);font-size:var(--van-number-keyboard-title-font-size)}.van-number-keyboard__title{display:inline-block;font-weight:400}.van-number-keyboard__title-left{position:absolute;left:0}.van-number-keyboard__body{display:flex;padding:.16rem 0 0 .16rem}.van-number-keyboard__keys{display:flex;flex:3;flex-wrap:wrap}.van-number-keyboard__close{position:absolute;right:0;height:100%;padding:var(--van-number-keyboard-close-padding);color:var(--van-number-keyboard-close-color);font-size:var(--van-number-keyboard-close-font-size);background-color:transparent;border:none}.van-number-keyboard__sidebar{display:flex;flex:1;flex-direction:column}.van-number-keyboard--unfit{padding-bottom:0}.van-key{display:flex;align-items:center;justify-content:center;height:var(--van-number-keyboard-key-height);font-size:var(--van-number-keyboard-key-font-size);line-height:1.5;background:var(--van-number-keyboard-key-background);border-radius:var(--van-radius-lg);cursor:pointer}.van-key--large{position:absolute;top:0;right:.16rem;bottom:.16rem;left:0;height:auto}.van-key--blue,.van-key--delete{font-size:var(--van-number-keyboard-delete-font-size)}.van-key--active{background-color:var(--van-number-keyboard-key-active-color)}.van-key--blue{color:var(--van-number-keyboard-button-text-color);background:var(--van-number-keyboard-button-background)}.van-key--blue.van-key--active{opacity:var(--van-active-opacity)}.van-key__wrapper{position:relative;flex:1;flex-basis:33%;box-sizing:border-box;padding:0 .16rem .16rem 0}.van-key__wrapper--wider{flex-basis:66%}.van-key__delete-icon{width:.85333rem;height:.58667rem}.van-key__collapse-icon{width:.8rem;height:.64rem}.van-key__loading-icon{color:var(--van-number-keyboard-button-text-color)}:root{--van-list-text-color: var(--van-text-color-2);--van-list-text-font-size: var(--van-font-size-md);--van-list-text-line-height: 1.33333rem;--van-list-loading-icon-size: .42667rem}.van-list__loading,.van-list__finished-text,.van-list__error-text{color:var(--van-list-text-color);font-size:var(--van-list-text-font-size);line-height:var(--van-list-text-line-height);text-align:center}.van-list__placeholder{height:0;pointer-events:none}.van-list__loading-icon .van-loading__spinner{width:var(--van-list-loading-icon-size);height:var(--van-list-loading-icon-size)}:root{--van-switch-size: .69333rem;--van-switch-width:calc(1.8em + .10667rem);--van-switch-height:calc(1em + .10667rem);--van-switch-node-size: 1em;--van-switch-node-background: var(--van-white);--van-switch-node-shadow: 0 .08rem .02667rem 0 rgba(0, 0, 0, .05);--van-switch-background: rgba(120, 120, 128, .16);--van-switch-on-background: var(--van-primary-color);--van-switch-duration: var(--van-duration-base);--van-switch-disabled-opacity: var(--van-disabled-opacity)}.van-theme-dark{--van-switch-background: rgba(120, 120, 128, .32)}.van-switch{position:relative;display:inline-block;box-sizing:content-box;width:var(--van-switch-width);height:var(--van-switch-height);font-size:var(--van-switch-size);background:var(--van-switch-background);border-radius:var(--van-switch-node-size);cursor:pointer;transition:background-color var(--van-switch-duration)}.van-switch__node{position:absolute;top:.05333rem;left:.05333rem;width:var(--van-switch-node-size);height:var(--van-switch-node-size);font-size:inherit;background:var(--van-switch-node-background);border-radius:100%;box-shadow:var(--van-switch-node-shadow);transition:transform var(--van-switch-duration) cubic-bezier(.3,1.05,.4,1.05)}.van-switch__loading{top:25%;left:25%;width:50%;height:50%;line-height:1}.van-switch--on{background:var(--van-switch-on-background)}.van-switch--on .van-switch__node{transform:translate(calc(var(--van-switch-width) - var(--van-switch-node-size) - .10667rem))}.van-switch--on .van-switch__loading{color:var(--van-switch-on-background)}.van-switch--disabled{cursor:not-allowed;opacity:var(--van-switch-disabled-opacity)}.van-switch--loading{cursor:default}:root{--van-button-mini-height: .64rem;--van-button-mini-padding: 0 var(--van-padding-base);--van-button-mini-font-size: var(--van-font-size-xs);--van-button-small-height: .85333rem;--van-button-small-padding: 0 var(--van-padding-xs);--van-button-small-font-size: var(--van-font-size-sm);--van-button-normal-padding: 0 .4rem;--van-button-normal-font-size: var(--van-font-size-md);--van-button-large-height: 1.33333rem;--van-button-default-height: 1.17333rem;--van-button-default-line-height: 1.2;--van-button-default-font-size: var(--van-font-size-lg);--van-button-default-color: var(--van-text-color);--van-button-default-background: var(--van-background-2);--van-button-default-border-color: var(--van-gray-4);--van-button-primary-color: var(--van-white);--van-button-primary-background: var(--van-primary-color);--van-button-primary-border-color: var(--van-primary-color);--van-button-success-color: var(--van-white);--van-button-success-background: var(--van-success-color);--van-button-success-border-color: var(--van-success-color);--van-button-danger-color: var(--van-white);--van-button-danger-background: var(--van-danger-color);--van-button-danger-border-color: var(--van-danger-color);--van-button-warning-color: var(--van-white);--van-button-warning-background: var(--van-warning-color);--van-button-warning-border-color: var(--van-warning-color);--van-button-border-width: var(--van-border-width);--van-button-radius: var(--van-radius-md);--van-button-round-radius: var(--van-radius-max);--van-button-plain-background: var(--van-white);--van-button-disabled-opacity: var(--van-disabled-opacity);--van-button-icon-size: 1.2em;--van-button-loading-icon-size: .53333rem}.van-theme-dark{--van-button-plain-background: transparent}.van-button{position:relative;display:inline-block;box-sizing:border-box;height:var(--van-button-default-height);margin:0;padding:0;font-size:var(--van-button-default-font-size);line-height:var(--van-button-default-line-height);text-align:center;border-radius:var(--van-button-radius);cursor:pointer;transition:opacity var(--van-duration-fast);-webkit-appearance:none;-webkit-font-smoothing:auto}.van-button:before{position:absolute;top:50%;left:50%;width:100%;height:100%;background:var(--van-black);border:inherit;border-color:var(--van-black);border-radius:inherit;transform:translate(-50%,-50%);opacity:0;content:" "}.van-button:active:before{opacity:.1}.van-button--loading:before,.van-button--disabled:before{display:none}.van-button--default{color:var(--van-button-default-color);background:var(--van-button-default-background);border:var(--van-button-border-width) solid var(--van-button-default-border-color)}.van-button--primary{color:var(--van-button-primary-color);background:var(--van-button-primary-background);border:var(--van-button-border-width) solid var(--van-button-primary-border-color)}.van-button--success{color:var(--van-button-success-color);background:var(--van-button-success-background);border:var(--van-button-border-width) solid var(--van-button-success-border-color)}.van-button--danger{color:var(--van-button-danger-color);background:var(--van-button-danger-background);border:var(--van-button-border-width) solid var(--van-button-danger-border-color)}.van-button--warning{color:var(--van-button-warning-color);background:var(--van-button-warning-background);border:var(--van-button-border-width) solid var(--van-button-warning-border-color)}.van-button--plain{background:var(--van-button-plain-background)}.van-button--plain.van-button--primary{color:var(--van-button-primary-background)}.van-button--plain.van-button--success{color:var(--van-button-success-background)}.van-button--plain.van-button--danger{color:var(--van-button-danger-background)}.van-button--plain.van-button--warning{color:var(--van-button-warning-background)}.van-button--large{width:100%;height:var(--van-button-large-height)}.van-button--normal{padding:var(--van-button-normal-padding);font-size:var(--van-button-normal-font-size)}.van-button--small{height:var(--van-button-small-height);padding:var(--van-button-small-padding);font-size:var(--van-button-small-font-size)}.van-button__loading{color:inherit;font-size:inherit}.van-button__loading .van-loading__spinner{color:currentColor;width:var(--van-button-loading-icon-size);height:var(--van-button-loading-icon-size)}.van-button--mini{height:var(--van-button-mini-height);padding:var(--van-button-mini-padding);font-size:var(--van-button-mini-font-size)}.van-button--mini+.van-button--mini{margin-left:var(--van-padding-base)}.van-button--block{display:block;width:100%}.van-button--disabled{cursor:not-allowed;opacity:var(--van-button-disabled-opacity)}.van-button--loading{cursor:default}.van-button--round{border-radius:var(--van-button-round-radius)}.van-button--square{border-radius:0}.van-button__content{display:flex;align-items:center;justify-content:center;height:100%}.van-button__content:before{content:" "}.van-button__icon{font-size:var(--van-button-icon-size);line-height:inherit}.van-button__icon+.van-button__text,.van-button__loading+.van-button__text,.van-button__text+.van-button__icon,.van-button__text+.van-button__loading{margin-left:var(--van-padding-base)}.van-button--hairline{border-width:0}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--van-button-radius) * 2)}.van-button--hairline.van-button--round:after{border-radius:var(--van-button-round-radius)}.van-button--hairline.van-button--square:after{border-radius:0}:root{--van-submit-bar-height: 1.33333rem;--van-submit-bar-z-index: 100;--van-submit-bar-background: var(--van-background-2);--van-submit-bar-button-width: 2.93333rem;--van-submit-bar-price-color: var(--van-danger-color);--van-submit-bar-price-font-size: var(--van-font-size-sm);--van-submit-bar-price-integer-font-size: .53333rem;--van-submit-bar-price-font: var(--van-price-font);--van-submit-bar-currency-font-size: var(--van-font-size-md);--van-submit-bar-text-color: var(--van-text-color);--van-submit-bar-text-font-size: var(--van-font-size-md);--van-submit-bar-tip-padding: var(--van-padding-xs) var(--van-padding-sm);--van-submit-bar-tip-font-size: var(--van-font-size-sm);--van-submit-bar-tip-line-height: 1.5;--van-submit-bar-tip-color: var(--van-orange-dark);--van-submit-bar-tip-background: var(--van-orange-light);--van-submit-bar-tip-icon-size: .32rem;--van-submit-bar-button-height: 1.06667rem;--van-submit-bar-padding: 0 var(--van-padding-md)}.van-submit-bar{position:fixed;bottom:0;left:0;z-index:var(--van-submit-bar-z-index);width:100%;background:var(--van-submit-bar-background);-webkit-user-select:none;user-select:none}.van-submit-bar__tip{padding:var(--van-submit-bar-tip-padding);color:var(--van-submit-bar-tip-color);font-size:var(--van-submit-bar-tip-font-size);line-height:var(--van-submit-bar-tip-line-height);background:var(--van-submit-bar-tip-background)}.van-submit-bar__tip-icon{margin-right:var(--van-padding-base);font-size:var(--van-submit-bar-tip-icon-size);vertical-align:middle}.van-submit-bar__tip-text{vertical-align:middle}.van-submit-bar__bar{display:flex;align-items:center;justify-content:flex-end;height:var(--van-submit-bar-height);padding:var(--van-submit-bar-padding);font-size:var(--van-submit-bar-text-font-size)}.van-submit-bar__text{flex:1;padding-right:var(--van-padding-sm);color:var(--van-submit-bar-text-color);text-align:right}.van-submit-bar__text span{display:inline-block}.van-submit-bar__suffix-label{margin-left:var(--van-padding-base);font-weight:var(--van-font-bold)}.van-submit-bar__price{color:var(--van-submit-bar-price-color);font-weight:var(--van-font-bold);font-size:var(--van-submit-bar-price-font-size);margin-left:var(--van-padding-base)}.van-submit-bar__price-integer{font-size:var(--van-submit-bar-price-integer-font-size);font-family:var(--van-submit-bar-price-font)}.van-submit-bar__button{width:var(--van-submit-bar-button-width);height:var(--van-submit-bar-button-height);font-weight:var(--van-font-bold);border:none}.van-submit-bar__button--danger{background:var(--van-gradient-red)}:root{--van-contact-edit-padding: var(--van-padding-md);--van-contact-edit-fields-radius: var(--van-radius-md);--van-contact-edit-buttons-padding: var(--van-padding-xl) 0;--van-contact-edit-button-margin-bottom: var(--van-padding-sm);--van-contact-edit-button-font-size: var(--van-font-size-lg);--van-contact-edit-field-label-width: 4.1em}.van-contact-edit{padding:var(--van-contact-edit-padding)}.van-contact-edit__fields{overflow:hidden;border-radius:var(--van-contact-edit-fields-radius)}.van-contact-edit__fields .van-field__label{width:var(--van-contact-edit-field-label-width)}.van-contact-edit__switch-cell{margin-top:.26667rem;padding-top:.24rem;padding-bottom:.24rem;border-radius:var(--van-contact-edit-fields-radius)}.van-contact-edit__buttons{padding:var(--van-contact-edit-buttons-padding)}.van-contact-edit__button{margin-bottom:var(--van-contact-edit-button-margin-bottom);font-size:var(--van-contact-edit-button-font-size)}:root{--van-action-bar-button-height: 1.06667rem;--van-action-bar-button-warning-color: var(--van-gradient-orange);--van-action-bar-button-danger-color: var(--van-gradient-red)}.van-action-bar-button{flex:1;height:var(--van-action-bar-button-height);font-weight:var(--van-font-bold);font-size:var(--van-font-size-md);border:none;border-radius:0}.van-action-bar-button--first{margin-left:.13333rem;border-top-left-radius:var(--van-radius-max);border-bottom-left-radius:var(--van-radius-max)}.van-action-bar-button--last{margin-right:.13333rem;border-top-right-radius:var(--van-radius-max);border-bottom-right-radius:var(--van-radius-max)}.van-action-bar-button--warning{background:var(--van-action-bar-button-warning-color)}.van-action-bar-button--danger{background:var(--van-action-bar-button-danger-color)}@media (max-width: 321px){.van-action-bar-button{font-size:.34667rem}}:root{--van-overlay-z-index: 1;--van-overlay-background: rgba(0, 0, 0, .7)}.van-overlay{position:fixed;top:0;left:0;z-index:var(--van-overlay-z-index);width:100%;height:100%;background:var(--van-overlay-background)}:root{--van-popup-background: var(--van-background-2);--van-popup-transition: transform var(--van-duration-base);--van-popup-round-radius: .42667rem;--van-popup-close-icon-size: .58667rem;--van-popup-close-icon-color: var(--van-gray-5);--van-popup-close-icon-margin: .42667rem;--van-popup-close-icon-z-index: 1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--van-popup-background);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:0;right:0;width:-webkit-fit-content;width:fit-content;max-width:calc(100vw - var(--van-padding-md) * 2);margin:0 auto;transform:translateY(-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)}.van-popup--right{top:50%;right:0;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0}.van-popup-slide-top-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-bottom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popup-slide-top-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-bottom-leave-active{transition-timing-function:var(--van-ease-in)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translate3d(0,100%,0)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size)}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}:root{--van-share-sheet-header-padding: var(--van-padding-sm) var(--van-padding-md);--van-share-sheet-title-color: var(--van-text-color);--van-share-sheet-title-font-size: var(--van-font-size-md);--van-share-sheet-title-line-height: var(--van-line-height-md);--van-share-sheet-description-color: var(--van-text-color-2);--van-share-sheet-description-font-size: var(--van-font-size-sm);--van-share-sheet-description-line-height: .42667rem;--van-share-sheet-icon-size: 1.28rem;--van-share-sheet-option-name-color: var(--van-gray-7);--van-share-sheet-option-name-font-size: var(--van-font-size-sm);--van-share-sheet-option-description-color: var(--van-text-color-3);--van-share-sheet-option-description-font-size: var(--van-font-size-sm);--van-share-sheet-cancel-button-font-size: var(--van-font-size-lg);--van-share-sheet-cancel-button-height: 1.28rem;--van-share-sheet-cancel-button-background: var(--van-background-2)}.van-share-sheet__header{padding:var(--van-share-sheet-header-padding);text-align:center}.van-share-sheet__title{margin-top:var(--van-padding-xs);color:var(--van-share-sheet-title-color);font-weight:400;font-size:var(--van-share-sheet-title-font-size);line-height:var(--van-share-sheet-title-line-height)}.van-share-sheet__description{display:block;margin-top:var(--van-padding-xs);color:var(--van-share-sheet-description-color);font-size:var(--van-share-sheet-description-font-size);line-height:var(--van-share-sheet-description-line-height)}.van-share-sheet__options{position:relative;display:flex;padding:var(--van-padding-md) 0 var(--van-padding-md) var(--van-padding-xs);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.van-share-sheet__options--border:before{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:0;right:0;left:var(--van-padding-md);border-top:.02667rem solid var(--van-border-color);transform:scaleY(.5)}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{display:flex;flex-direction:column;align-items:center;-webkit-user-select:none;user-select:none}.van-share-sheet__icon,.van-share-sheet__image-icon{width:var(--van-share-sheet-icon-size);height:var(--van-share-sheet-icon-size);margin:0 var(--van-padding-md)}.van-share-sheet__icon{display:flex;align-items:center;justify-content:center;color:var(--van-gray-7);border-radius:100%;background-color:var(--van-gray-2)}.van-share-sheet__icon--link,.van-share-sheet__icon--poster,.van-share-sheet__icon--qrcode{font-size:.69333rem}.van-share-sheet__icon--weapp-qrcode{font-size:.74667rem}.van-share-sheet__icon--qq,.van-share-sheet__icon--weibo,.van-share-sheet__icon--wechat,.van-share-sheet__icon--wechat-moments{font-size:.8rem;color:var(--van-white)}.van-share-sheet__icon--qq{background-color:#38b9fa}.van-share-sheet__icon--wechat{background-color:#0bc15f}.van-share-sheet__icon--weibo{background-color:#ee575e}.van-share-sheet__icon--wechat-moments{background-color:#7bc845}.van-share-sheet__name{margin-top:var(--van-padding-xs);padding:0 var(--van-padding-base);color:var(--van-share-sheet-option-name-color);font-size:var(--van-share-sheet-option-name-font-size)}.van-share-sheet__option-description{padding:0 var(--van-padding-base);color:var(--van-share-sheet-option-description-color);font-size:var(--van-share-sheet-option-description-font-size)}.van-share-sheet__cancel{display:block;width:100%;padding:0;font-size:var(--van-share-sheet-cancel-button-font-size);line-height:var(--van-share-sheet-cancel-button-height);text-align:center;background:var(--van-share-sheet-cancel-button-background);border:none;cursor:pointer}.van-share-sheet__cancel:before{display:block;height:var(--van-padding-xs);background-color:var(--van-background);content:" "}.van-share-sheet__cancel:active{background-color:var(--van-active-color)}:root{--van-popover-arrow-size: .16rem;--van-popover-radius: var(--van-radius-lg);--van-popover-action-width: 3.41333rem;--van-popover-action-height: 1.17333rem;--van-popover-action-font-size: var(--van-font-size-md);--van-popover-action-line-height: var(--van-line-height-md);--van-popover-action-icon-size: .53333rem;--van-popover-light-text-color: var(--van-text-color);--van-popover-light-background: var(--van-background-2);--van-popover-light-action-disabled-text-color: var(--van-text-color-3);--van-popover-dark-text-color: var(--van-white);--van-popover-dark-background: #4a4a4a;--van-popover-dark-action-disabled-text-color: var(--van-text-color-2)}.van-popover{position:absolute;overflow:visible;background-color:transparent;transition:opacity .15s,transform .15s}.van-popover__wrapper{display:inline-block}.van-popover__arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;border-width:var(--van-popover-arrow-size)}.van-popover__content{overflow:hidden;border-radius:var(--van-popover-radius)}.van-popover__action{position:relative;display:flex;align-items:center;box-sizing:border-box;width:var(--van-popover-action-width);height:var(--van-popover-action-height);padding:0 var(--van-padding-md);font-size:var(--van-popover-action-font-size);line-height:var(--van-line-height-md);cursor:pointer}.van-popover__action:last-child .van-popover__action-text:after{display:none}.van-popover__action-text{display:flex;flex:1;align-items:center;justify-content:center;height:100%}.van-popover__action-icon{margin-right:var(--van-padding-xs);font-size:var(--van-popover-action-icon-size)}.van-popover__action--with-icon .van-popover__action-text{justify-content:flex-start}.van-popover[data-popper-placement^=top] .van-popover__arrow{bottom:0;border-top-color:currentColor;border-bottom-width:0;margin-bottom:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=top]{transform-origin:50% 100%}.van-popover[data-popper-placement=top] .van-popover__arrow{left:50%;transform:translate(-50%)}.van-popover[data-popper-placement=top-start]{transform-origin:0 100%}.van-popover[data-popper-placement=top-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=top-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=top-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover[data-popper-placement^=left] .van-popover__arrow{right:0;border-right-width:0;border-left-color:currentColor;margin-right:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=left]{transform-origin:100% 50%}.van-popover[data-popper-placement=left] .van-popover__arrow{top:50%;transform:translateY(-50%)}.van-popover[data-popper-placement=left-start]{transform-origin:100% 0}.van-popover[data-popper-placement=left-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=left-end]{transform-origin:100% 100%}.van-popover[data-popper-placement=left-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=right] .van-popover__arrow{left:0;border-right-color:currentColor;border-left-width:0;margin-left:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=right]{transform-origin:0 50%}.van-popover[data-popper-placement=right] .van-popover__arrow{top:50%;transform:translateY(-50%)}.van-popover[data-popper-placement=right-start]{transform-origin:0 0}.van-popover[data-popper-placement=right-start] .van-popover__arrow{top:var(--van-padding-md)}.van-popover[data-popper-placement=right-end]{transform-origin:0 100%}.van-popover[data-popper-placement=right-end] .van-popover__arrow{bottom:var(--van-padding-md)}.van-popover[data-popper-placement^=bottom] .van-popover__arrow{top:0;border-top-width:0;border-bottom-color:currentColor;margin-top:calc(var(--van-popover-arrow-size) * -1)}.van-popover[data-popper-placement=bottom]{transform-origin:50% 0}.van-popover[data-popper-placement=bottom] .van-popover__arrow{left:50%;transform:translate(-50%)}.van-popover[data-popper-placement=bottom-start]{transform-origin:0 0}.van-popover[data-popper-placement=bottom-start] .van-popover__arrow{left:var(--van-padding-md)}.van-popover[data-popper-placement=bottom-end]{transform-origin:100% 0}.van-popover[data-popper-placement=bottom-end] .van-popover__arrow{right:var(--van-padding-md)}.van-popover--light{color:var(--van-popover-light-text-color)}.van-popover--light .van-popover__content{background:var(--van-popover-light-background);box-shadow:0 .05333rem .32rem rgba(50,50,51,.12)}.van-popover--light .van-popover__arrow{color:var(--van-popover-light-background)}.van-popover--light .van-popover__action:active{background-color:var(--van-active-color)}.van-popover--light .van-popover__action--disabled{color:var(--van-popover-light-action-disabled-text-color);cursor:not-allowed}.van-popover--light .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark{color:var(--van-popover-dark-text-color)}.van-popover--dark .van-popover__content{background:var(--van-popover-dark-background)}.van-popover--dark .van-popover__arrow{color:var(--van-popover-dark-background)}.van-popover--dark .van-popover__action:active{background-color:rgba(0,0,0,.2)}.van-popover--dark .van-popover__action--disabled{color:var(--van-popover-dark-action-disabled-text-color)}.van-popover--dark .van-popover__action--disabled:active{background-color:transparent}.van-popover--dark .van-popover__action-text:after{border-color:var(--van-gray-7)}.van-popover-zoom-enter-from,.van-popover-zoom-leave-active{transform:scale(.8);opacity:0}.van-popover-zoom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popover-zoom-leave-active{transition-timing-function:var(--van-ease-in)}:root{--van-notify-text-color: var(--van-white);--van-notify-padding: var(--van-padding-xs) var(--van-padding-md);--van-notify-font-size: var(--van-font-size-md);--van-notify-line-height: var(--van-line-height-md);--van-notify-primary-background: var(--van-primary-color);--van-notify-success-background: var(--van-success-color);--van-notify-danger-background: var(--van-danger-color);--van-notify-warning-background: var(--van-warning-color)}.van-notify{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--van-notify-padding);color:var(--van-notify-text-color);font-size:var(--van-notify-font-size);line-height:var(--van-notify-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word}.van-notify--primary{background:var(--van-notify-primary-background)}.van-notify--success{background:var(--van-notify-success-background)}.van-notify--danger{background:var(--van-notify-danger-background)}.van-notify--warning{background:var(--van-notify-warning-background)}:root{--van-dialog-width: 8.53333rem;--van-dialog-small-screen-width: 90%;--van-dialog-font-size: var(--van-font-size-lg);--van-dialog-transition: var(--van-duration-base);--van-dialog-radius: .42667rem;--van-dialog-background: var(--van-background-2);--van-dialog-header-font-weight: var(--van-font-bold);--van-dialog-header-line-height: .64rem;--van-dialog-header-padding-top: .69333rem;--van-dialog-header-isolated-padding: var(--van-padding-lg) 0;--van-dialog-message-padding: var(--van-padding-lg);--van-dialog-message-font-size: var(--van-font-size-md);--van-dialog-message-line-height: var(--van-line-height-md);--van-dialog-message-max-height: 60vh;--van-dialog-has-title-message-text-color: var(--van-gray-7);--van-dialog-has-title-message-padding-top: var(--van-padding-xs);--van-dialog-button-height: 1.28rem;--van-dialog-round-button-height: .96rem;--van-dialog-confirm-button-text-color: var(--van-primary-color)}.van-dialog{top:45%;width:var(--van-dialog-width);overflow:hidden;font-size:var(--van-dialog-font-size);background:var(--van-dialog-background);border-radius:var(--van-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--van-dialog-transition);transition-property:transform,opacity}@media (max-width: 321px){.van-dialog{width:var(--van-dialog-small-screen-width)}}.van-dialog__header{color:var(--van-text-color);padding-top:var(--van-dialog-header-padding-top);font-weight:var(--van-dialog-header-font-weight);line-height:var(--van-dialog-header-line-height);text-align:center}.van-dialog__header--isolated{padding:var(--van-dialog-header-isolated-padding)}.van-dialog__content--isolated{display:flex;align-items:center;min-height:2.77333rem}.van-dialog__message{color:var(--van-text-color);flex:1;max-height:var(--van-dialog-message-max-height);padding:.69333rem var(--van-dialog-message-padding);overflow-y:auto;font-size:var(--van-dialog-message-font-size);line-height:var(--van-dialog-message-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word;-webkit-overflow-scrolling:touch}.van-dialog__message--has-title{padding-top:var(--van-dialog-has-title-message-padding-top);color:var(--van-dialog-has-title-message-text-color)}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__message--justify{text-align:justify}.van-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-dialog__confirm,.van-dialog__cancel{flex:1;height:var(--van-dialog-button-height);margin:0;border:0}.van-dialog__confirm,.van-dialog__confirm:active{color:var(--van-dialog-confirm-button-text-color)}.van-dialog--round-button .van-dialog__footer{position:relative;height:auto;padding:var(--van-padding-xs) var(--van-padding-lg) var(--van-padding-md)}.van-dialog--round-button .van-dialog__message{padding-bottom:var(--van-padding-md);color:var(--van-text-color)}.van-dialog--round-button .van-dialog__confirm,.van-dialog--round-button .van-dialog__cancel{height:var(--van-dialog-round-button-height)}.van-dialog--round-button .van-dialog__confirm{color:var(--van-white)}.van-dialog-bounce-enter-from{transform:translate3d(0,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{transform:translate3d(0,-50%,0) scale(.9);opacity:0}:root{--van-toast-max-width: 70%;--van-toast-font-size: var(--van-font-size-md);--van-toast-text-color: var(--van-white);--van-toast-loading-icon-color: var(--van-white);--van-toast-line-height: var(--van-line-height-md);--van-toast-radius: var(--van-radius-lg);--van-toast-background: rgba(0, 0, 0, .7);--van-toast-icon-size: .96rem;--van-toast-text-min-width: 2.56rem;--van-toast-text-padding: var(--van-padding-xs) var(--van-padding-sm);--van-toast-default-padding: var(--van-padding-md);--van-toast-default-width: 2.34667rem;--van-toast-default-min-height: 2.34667rem;--van-toast-position-top-distance: 20%;--van-toast-position-bottom-distance: 20%}.van-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--van-duration-fast);width:var(--van-toast-default-width);max-width:var(--van-toast-max-width);min-height:var(--van-toast-default-min-height);padding:var(--van-toast-default-padding);color:var(--van-toast-text-color);font-size:var(--van-toast-font-size);line-height:var(--van-toast-line-height);white-space:pre-wrap;word-break:break-all;text-align:center;background:var(--van-toast-background);border-radius:var(--van-toast-radius)}.van-toast--break-normal{word-break:normal;word-wrap:normal}.van-toast--break-word{word-break:normal;word-wrap:break-word}.van-toast--unclickable{overflow:hidden;cursor:not-allowed}.van-toast--unclickable *{pointer-events:none}.van-toast--text,.van-toast--html{width:-webkit-fit-content;width:fit-content;min-width:var(--van-toast-text-min-width);min-height:0;padding:var(--van-toast-text-padding)}.van-toast--text .van-toast__text,.van-toast--html .van-toast__text{margin-top:0}.van-toast--top{top:var(--van-toast-position-top-distance)}.van-toast--bottom{top:auto;bottom:var(--van-toast-position-bottom-distance)}.van-toast__icon{font-size:var(--van-toast-icon-size)}.van-toast__loading{padding:var(--van-padding-base);color:var(--van-toast-loading-icon-color)}.van-toast__text{margin-top:var(--van-padding-xs)}:root{--van-action-sheet-max-height: 80%;--van-action-sheet-header-height: 1.28rem;--van-action-sheet-header-font-size: var(--van-font-size-lg);--van-action-sheet-description-color: var(--van-text-color-2);--van-action-sheet-description-font-size: var(--van-font-size-md);--van-action-sheet-description-line-height: var(--van-line-height-md);--van-action-sheet-item-background: var(--van-background-2);--van-action-sheet-item-font-size: var(--van-font-size-lg);--van-action-sheet-item-line-height: var(--van-line-height-lg);--van-action-sheet-item-text-color: var(--van-text-color);--van-action-sheet-item-disabled-text-color: var(--van-text-color-3);--van-action-sheet-subname-color: var(--van-text-color-2);--van-action-sheet-subname-font-size: var(--van-font-size-sm);--van-action-sheet-subname-line-height: var(--van-line-height-sm);--van-action-sheet-close-icon-size: .58667rem;--van-action-sheet-close-icon-color: var(--van-gray-5);--van-action-sheet-close-icon-padding: 0 var(--van-padding-md);--van-action-sheet-cancel-text-color: var(--van-gray-7);--van-action-sheet-cancel-padding-top: var(--van-padding-xs);--van-action-sheet-cancel-padding-color: var(--van-background);--van-action-sheet-loading-icon-size: .58667rem}.van-action-sheet{display:flex;flex-direction:column;max-height:var(--van-action-sheet-max-height);overflow:hidden;color:var(--van-action-sheet-item-text-color)}.van-action-sheet__content{flex:1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.van-action-sheet__item,.van-action-sheet__cancel{display:block;width:100%;padding:.37333rem var(--van-padding-md);font-size:var(--van-action-sheet-item-font-size);background:var(--van-action-sheet-item-background);border:none;cursor:pointer}.van-action-sheet__item:active,.van-action-sheet__cancel:active{background-color:var(--van-active-color)}.van-action-sheet__item{line-height:var(--van-action-sheet-item-line-height)}.van-action-sheet__item--loading,.van-action-sheet__item--disabled{color:var(--van-action-sheet-item-disabled-text-color)}.van-action-sheet__item--loading:active,.van-action-sheet__item--disabled:active{background-color:var(--van-action-sheet-item-background)}.van-action-sheet__item--disabled{cursor:not-allowed}.van-action-sheet__item--loading{cursor:default}.van-action-sheet__cancel{flex-shrink:0;box-sizing:border-box;color:var(--van-action-sheet-cancel-text-color)}.van-action-sheet__subname{margin-top:var(--van-padding-xs);color:var(--van-action-sheet-subname-color);font-size:var(--van-action-sheet-subname-font-size);line-height:var(--van-action-sheet-subname-line-height)}.van-action-sheet__gap{display:block;height:var(--van-action-sheet-cancel-padding-top);background:var(--van-action-sheet-cancel-padding-color)}.van-action-sheet__header{flex-shrink:0;font-weight:var(--van-font-bold);font-size:var(--van-action-sheet-header-font-size);line-height:var(--van-action-sheet-header-height);text-align:center}.van-action-sheet__description{position:relative;flex-shrink:0;padding:.53333rem var(--van-padding-md);color:var(--van-action-sheet-description-color);font-size:var(--van-action-sheet-description-font-size);line-height:var(--van-action-sheet-description-line-height);text-align:center}.van-action-sheet__description:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:.02667rem solid var(--van-border-color);transform:scaleY(.5)}.van-action-sheet__loading-icon .van-loading__spinner{width:var(--van-action-sheet-loading-icon-size);height:var(--van-action-sheet-loading-icon-size)}.van-action-sheet__close{position:absolute;top:0;right:0;z-index:1;padding:var(--van-action-sheet-close-icon-padding);color:var(--van-action-sheet-close-icon-color);font-size:var(--van-action-sheet-close-icon-size);line-height:inherit}:root{--van-sticky-z-index: 99}.van-sticky--fixed{position:fixed;z-index:var(--van-sticky-z-index)}:root{--van-swipe-indicator-size: .16rem;--van-swipe-indicator-margin: var(--van-padding-sm);--van-swipe-indicator-active-opacity: 1;--van-swipe-indicator-inactive-opacity: .3;--van-swipe-indicator-active-background: var(--van-primary-color);--van-swipe-indicator-inactive-background: var(--van-border-color)}.van-swipe{position:relative;overflow:hidden;transform:translateZ(0);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;user-select:none}.van-swipe__track{display:flex;height:100%}.van-swipe__track--vertical{flex-direction:column}.van-swipe__indicators{position:absolute;bottom:var(--van-swipe-indicator-margin);left:50%;display:flex;transform:translate(-50%)}.van-swipe__indicators--vertical{top:50%;bottom:auto;left:var(--van-swipe-indicator-margin);flex-direction:column;transform:translateY(-50%)}.van-swipe__indicators--vertical .van-swipe__indicator:not(:last-child){margin-bottom:var(--van-swipe-indicator-size)}.van-swipe__indicator{width:var(--van-swipe-indicator-size);height:var(--van-swipe-indicator-size);background-color:var(--van-swipe-indicator-inactive-background);border-radius:100%;opacity:var(--van-swipe-indicator-inactive-opacity);transition:opacity var(--van-duration-fast),background-color var(--van-duration-fast)}.van-swipe__indicator:not(:last-child){margin-right:var(--van-swipe-indicator-size)}.van-swipe__indicator--active{background-color:var(--van-swipe-indicator-active-background);opacity:var(--van-swipe-indicator-active-opacity)}.van-swipe-item{position:relative;flex-shrink:0;width:100%;height:100%}:root{--van-image-preview-index-text-color: var(--van-white);--van-image-preview-index-font-size: var(--van-font-size-md);--van-image-preview-index-line-height: var(--van-line-height-md);--van-image-preview-index-text-shadow: 0 .02667rem .02667rem var(--van-gray-8);--van-image-preview-overlay-background: rgba(0, 0, 0, .9);--van-image-preview-close-icon-size: .58667rem;--van-image-preview-close-icon-color: var(--van-gray-5);--van-image-preview-close-icon-margin: var(--van-padding-md);--van-image-preview-close-icon-z-index: 1}.van-image-preview{position:fixed;top:0;left:0;width:100%;height:100%;max-width:none;background-color:transparent;transform:none}.van-image-preview__swipe{height:100%}.van-image-preview__swipe-item{display:flex;align-items:center;justify-content:center;overflow:hidden}.van-image-preview__cover{position:absolute;top:0;left:0}.van-image-preview__image,.van-image-preview__image-wrap{width:100%;transition-property:transform}.van-image-preview__image--vertical,.van-image-preview__image-wrap--vertical{width:auto;height:100%}.van-image-preview__image img,.van-image-preview__image-wrap img,.van-image-preview__image video,.van-image-preview__image-wrap video{-webkit-user-drag:none}.van-image-preview__image .van-image__error,.van-image-preview__image-wrap .van-image__error{top:30%;height:40%}.van-image-preview__image .van-image__error-icon,.van-image-preview__image-wrap .van-image__error-icon{font-size:.96rem}.van-image-preview__image .van-image__loading,.van-image-preview__image-wrap .van-image__loading{background-color:transparent}.van-image-preview__index{position:absolute;top:var(--van-padding-md);left:50%;color:var(--van-image-preview-index-text-color);font-size:var(--van-image-preview-index-font-size);line-height:var(--van-image-preview-index-line-height);text-shadow:var(--van-image-preview-index-text-shadow);transform:translate(-50%)}.van-image-preview__overlay{background:var(--van-image-preview-overlay-background)}.van-image-preview__close-icon{position:absolute;z-index:var(--van-image-preview-close-icon-z-index);color:var(--van-image-preview-close-icon-color);font-size:var(--van-image-preview-close-icon-size)}.van-image-preview__close-icon--top-left{top:var(--van-image-preview-close-icon-margin);left:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--top-right{top:var(--van-image-preview-close-icon-margin);right:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--bottom-left{bottom:var(--van-image-preview-close-icon-margin);left:var(--van-image-preview-close-icon-margin)}.van-image-preview__close-icon--bottom-right{right:var(--van-image-preview-close-icon-margin);bottom:var(--van-image-preview-close-icon-margin)}:root{--van-uploader-size: 2.13333rem;--van-uploader-icon-size: .64rem;--van-uploader-icon-color: var(--van-gray-4);--van-uploader-text-color: var(--van-text-color-2);--van-uploader-text-font-size: var(--van-font-size-sm);--van-uploader-upload-background: var(--van-gray-1);--van-uploader-upload-active-color: var(--van-active-color);--van-uploader-delete-color: var(--van-white);--van-uploader-delete-icon-size: .37333rem;--van-uploader-delete-background: rgba(0, 0, 0, .7);--van-uploader-file-background: var(--van-background);--van-uploader-file-icon-size: .53333rem;--van-uploader-file-icon-color: var(--van-gray-7);--van-uploader-file-name-padding: 0 var(--van-padding-base);--van-uploader-file-name-margin-top: var(--van-padding-xs);--van-uploader-file-name-font-size: var(--van-font-size-sm);--van-uploader-file-name-text-color: var(--van-gray-7);--van-uploader-mask-text-color: var(--van-white);--van-uploader-mask-background: rgba(50, 50, 51, .88);--van-uploader-mask-icon-size: .58667rem;--van-uploader-mask-message-font-size: var(--van-font-size-sm);--van-uploader-mask-message-line-height: var(--van-line-height-xs);--van-uploader-loading-icon-size: .58667rem;--van-uploader-loading-icon-color: var(--van-white);--van-uploader-disabled-opacity: var(--van-disabled-opacity)}.van-uploader{position:relative;display:inline-block}.van-uploader__wrapper{display:flex;flex-wrap:wrap}.van-uploader__wrapper--disabled{opacity:var(--van-uploader-disabled-opacity)}.van-uploader__input{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:pointer;opacity:0}.van-uploader__input-wrapper{position:relative}.van-uploader__input:disabled{cursor:not-allowed}.van-uploader__upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:var(--van-uploader-size);height:var(--van-uploader-size);margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;background:var(--van-uploader-upload-background)}.van-uploader__upload:active{background-color:var(--van-uploader-upload-active-color)}.van-uploader__upload--readonly:active{background-color:var(--van-uploader-upload-background)}.van-uploader__upload-icon{color:var(--van-uploader-icon-color);font-size:var(--van-uploader-icon-size)}.van-uploader__upload-text{margin-top:var(--van-padding-xs);color:var(--van-uploader-text-color);font-size:var(--van-uploader-text-font-size)}.van-uploader__preview{position:relative;margin:0 var(--van-padding-xs) var(--van-padding-xs) 0;cursor:pointer}.van-uploader__preview-image{display:block;width:var(--van-uploader-size);height:var(--van-uploader-size);overflow:hidden}.van-uploader__preview-delete{position:absolute;top:0;right:0}.van-uploader__preview-delete--shadow{width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);background:var(--van-uploader-delete-background);border-radius:0 0 0 .32rem}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;color:var(--van-uploader-delete-color);font-size:var(--van-uploader-delete-icon-size);transform:scale(.7) translate(10%,-10%)}.van-uploader__preview-cover{position:absolute;top:0;right:0;bottom:0;left:0}.van-uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--van-uploader-mask-text-color);background:var(--van-uploader-mask-background)}.van-uploader__mask-icon{font-size:var(--van-uploader-mask-icon-size)}.van-uploader__mask-message{margin-top:.16rem;padding:0 var(--van-padding-base);font-size:var(--van-uploader-mask-message-font-size);line-height:var(--van-uploader-mask-message-line-height)}.van-uploader__loading{width:var(--van-uploader-loading-icon-size);height:var(--van-uploader-loading-icon-size);color:var(--van-uploader-loading-icon-color)}.van-uploader__file{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--van-uploader-size);height:var(--van-uploader-size);background:var(--van-uploader-file-background)}.van-uploader__file-icon{color:var(--van-uploader-file-icon-color);font-size:var(--van-uploader-file-icon-size)}.van-uploader__file-name{box-sizing:border-box;width:100%;margin-top:var(--van-uploader-file-name-margin-top);padding:var(--van-uploader-file-name-padding);color:var(--van-uploader-file-name-text-color);font-size:var(--van-uploader-file-name-font-size);text-align:center}:root{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 1.17333rem;--van-tabs-card-height: .8rem;--van-tabs-nav-background: var(--van-background-2);--van-tabs-bottom-bar-width: 1.06667rem;--van-tabs-bottom-bar-height: .08rem;--van-tabs-bottom-bar-color: var(--van-primary-color)}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{color:var(--van-tabs-default-color);border-right:var(--van-border-width) solid var(--van-tabs-default-color)}.van-tab--card:last-child{border-right:none}.van-tab--card.van-tab--active{color:var(--van-white);background-color:var(--van-tabs-default-color)}.van-tab--card--disabled{color:var(--van-tab-disabled-text-color)}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tabs{position:relative}.van-tabs__wrap{overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background);-webkit-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:.4rem}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:var(--van-border-width) solid var(--van-tabs-default-color);border-radius:var(--van-border-radius-sm)}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__line{position:absolute;bottom:.4rem;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}.van-tab__panel,.van-tab__panel-wrapper{flex-shrink:0;box-sizing:border-box;width:100%}.van-tab__panel-wrapper--inactive{height:0;overflow:visible}:root{--van-cascader-header-height: 1.28rem;--van-cascader-header-padding: 0 var(--van-padding-md);--van-cascader-title-font-size: var(--van-font-size-lg);--van-cascader-title-line-height: .53333rem;--van-cascader-close-icon-size: .58667rem;--van-cascader-close-icon-color: var(--van-gray-5);--van-cascader-selected-icon-size: .48rem;--van-cascader-tabs-height: 1.28rem;--van-cascader-active-color: var(--van-primary-color);--van-cascader-options-height: 10.24rem;--van-cascader-option-disabled-color: var(--van-text-color-3);--van-cascader-tab-color: var(--van-text-color);--van-cascader-unselected-tab-color: var(--van-text-color-2)}.van-cascader__header{display:flex;align-items:center;justify-content:space-between;height:var(--van-cascader-header-height);padding:var(--van-cascader-header-padding)}.van-cascader__title{font-weight:var(--van-font-bold);font-size:var(--van-cascader-title-font-size);line-height:var(--van-cascader-title-line-height)}.van-cascader__close-icon{color:var(--van-cascader-close-icon-color);font-size:var(--van-cascader-close-icon-size)}.van-cascader__tabs.van-tabs--line .van-tabs__wrap{height:var(--van-cascader-tabs-height)}.van-cascader__tab{color:var(--van-cascader-tab-color);font-weight:var(--van-font-bold)}.van-cascader__tab--unselected{color:var(--van-cascader-unselected-tab-color);font-weight:400}.van-cascader__option{display:flex;align-items:center;justify-content:space-between;padding:.26667rem var(--van-padding-md);font-size:var(--van-font-size-md);line-height:var(--van-line-height-md);cursor:pointer}.van-cascader__option:active{background-color:var(--van-active-color)}.van-cascader__option--selected{color:var(--van-cascader-active-color);font-weight:var(--van-font-bold)}.van-cascader__option--disabled{color:var(--van-cascader-option-disabled-color);cursor:not-allowed}.van-cascader__option--disabled:active{background-color:transparent}.van-cascader__selected-icon{font-size:var(--van-cascader-selected-icon-size)}.van-cascader__options{box-sizing:border-box;height:var(--van-cascader-options-height);padding-top:.16rem;overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--van-picker-background: var(--van-background-2);--van-picker-toolbar-height: 1.17333rem;--van-picker-title-font-size: var(--van-font-size-lg);--van-picker-title-line-height: var(--van-line-height-md);--van-picker-action-padding: 0 var(--van-padding-md);--van-picker-action-font-size: var(--van-font-size-md);--van-picker-confirm-action-color: var(--van-primary-color);--van-picker-cancel-action-color: var(--van-text-color-2);--van-picker-option-font-size: var(--van-font-size-lg);--van-picker-option-padding: 0 var(--van-padding-base);--van-picker-option-text-color: var(--van-text-color);--van-picker-option-disabled-opacity: .3;--van-picker-loading-icon-color: var(--van-primary-color);--van-picker-loading-mask-color: rgba(255, 255, 255, .9);--van-picker-mask-color: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4)), linear-gradient(0deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4))}.van-theme-dark{--van-picker-loading-mask-color: rgba(0, 0, 0, .6);--van-picker-mask-color: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1)), linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1))}.van-picker{position:relative;background:var(--van-picker-background);-webkit-user-select:none;user-select:none}.van-picker__toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--van-picker-toolbar-height)}.van-picker__cancel,.van-picker__confirm{height:100%;padding:var(--van-picker-action-padding);font-size:var(--van-picker-action-font-size);background-color:transparent;border:none}.van-picker__confirm{color:var(--van-picker-confirm-action-color)}.van-picker__cancel{color:var(--van-picker-cancel-action-color)}.van-picker__title{position:absolute;left:50%;color:var(--van-text-color);max-width:50%;font-weight:var(--van-font-bold);font-size:var(--van-picker-title-font-size);line-height:var(--van-picker-title-line-height);text-align:center;transform:translate(-50%)}.van-picker__columns{position:relative;display:flex;cursor:-webkit-grab;cursor:grab}.van-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--van-picker-loading-icon-color);background:var(--van-picker-loading-mask-color)}.van-picker__frame{position:absolute;top:50%;right:var(--van-padding-md);left:var(--van-padding-md);z-index:2;transform:translateY(-50%);pointer-events:none}.van-picker__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-image:var(--van-picker-mask-color);background-repeat:no-repeat;background-position:top,bottom;transform:translateZ(0);pointer-events:none}.van-picker-column{flex:1;overflow:hidden;font-size:var(--van-picker-option-font-size)}.van-picker-column__wrapper{transition-timing-function:cubic-bezier(.23,1,.68,1)}.van-picker-column__item{display:flex;align-items:center;justify-content:center;padding:var(--van-picker-option-padding);color:var(--van-picker-option-text-color)}.van-picker-column__item--disabled{cursor:not-allowed;opacity:var(--van-picker-option-disabled-opacity)}:root{--van-picker-group-background: var(--van-background-2)}.van-picker-group{background:var(--van-picker-group-background)}.van-picker-group__tabs{margin-top:var(--van-padding-base)}.van-picker-group__tab-title{margin-right:.42667rem}:root{--van-calendar-background: var(--van-background-2);--van-calendar-popup-height: 80%;--van-calendar-header-shadow: 0 .05333rem .26667rem rgba(125, 126, 128, .16);--van-calendar-header-title-height: 1.17333rem;--van-calendar-header-title-font-size: var(--van-font-size-lg);--van-calendar-header-subtitle-font-size: var(--van-font-size-md);--van-calendar-weekdays-height: .8rem;--van-calendar-weekdays-font-size: var(--van-font-size-sm);--van-calendar-month-title-font-size: var(--van-font-size-md);--van-calendar-month-mark-color: rgba(242, 243, 245, .8);--van-calendar-month-mark-font-size: 4.26667rem;--van-calendar-day-height: 1.70667rem;--van-calendar-day-font-size: var(--van-font-size-lg);--van-calendar-day-margin-bottom: .10667rem;--van-calendar-range-edge-color: var(--van-white);--van-calendar-range-edge-background: var(--van-primary-color);--van-calendar-range-middle-color: var(--van-primary-color);--van-calendar-range-middle-background-opacity: .1;--van-calendar-selected-day-size: 1.44rem;--van-calendar-selected-day-color: var(--van-white);--van-calendar-info-font-size: var(--van-font-size-xs);--van-calendar-info-line-height: var(--van-line-height-xs);--van-calendar-selected-day-background: var(--van-primary-color);--van-calendar-day-disabled-color: var(--van-text-color-3);--van-calendar-confirm-button-height: .96rem;--van-calendar-confirm-button-margin: .18667rem 0}.van-theme-dark{--van-calendar-month-mark-color: rgba(100, 101, 102, .2);--van-calendar-day-disabled-color: var(--van-gray-7)}.van-calendar{display:flex;flex-direction:column;height:100%;background:var(--van-calendar-background)}.van-calendar__popup.van-popup--top,.van-calendar__popup.van-popup--bottom{height:var(--van-calendar-popup-height)}.van-calendar__popup.van-popup--left,.van-calendar__popup.van-popup--right{height:100%}.van-calendar__popup .van-popup__close-icon{top:.29333rem}.van-calendar__header{flex-shrink:0;box-shadow:var(--van-calendar-header-shadow)}.van-calendar__month-title,.van-calendar__header-title,.van-calendar__header-subtitle{color:var(--van-text-color);height:var(--van-calendar-header-title-height);font-weight:var(--van-font-bold);line-height:var(--van-calendar-header-title-height);text-align:center}.van-calendar__header-title{font-size:var(--van-calendar-header-title-font-size)}.van-calendar__header-subtitle{font-size:var(--van-calendar-header-subtitle-font-size)}.van-calendar__month-title{font-size:var(--van-calendar-month-title-font-size)}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--van-calendar-weekdays-font-size);line-height:var(--van-calendar-weekdays-height);text-align:center}.van-calendar__body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.van-calendar__days{position:relative;display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{position:absolute;top:50%;left:50%;z-index:0;color:var(--van-calendar-month-mark-color);font-size:var(--van-calendar-month-mark-font-size);transform:translate(-50%,-50%);pointer-events:none}.van-calendar__day,.van-calendar__selected-day{display:flex;align-items:center;justify-content:center;text-align:center}.van-calendar__day{position:relative;width:14.285%;height:var(--van-calendar-day-height);font-size:var(--van-calendar-day-font-size);margin-bottom:var(--van-calendar-day-margin-bottom);cursor:pointer}.van-calendar__day--end,.van-calendar__day--start,.van-calendar__day--start-end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected{color:var(--van-calendar-range-edge-color);background:var(--van-calendar-range-edge-background)}.van-calendar__day--start{border-radius:var(--van-radius-md) 0 0 var(--van-radius-md)}.van-calendar__day--end{border-radius:0 var(--van-radius-md) var(--van-radius-md) 0}.van-calendar__day--start-end,.van-calendar__day--multiple-selected{border-radius:var(--van-radius-md)}.van-calendar__day--middle{color:var(--van-calendar-range-middle-color)}.van-calendar__day--middle:after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:currentColor;opacity:var(--van-calendar-range-middle-background-opacity);content:""}.van-calendar__day--disabled{color:var(--van-calendar-day-disabled-color);cursor:default}.van-calendar__top-info,.van-calendar__bottom-info{position:absolute;right:0;left:0;font-size:var(--van-calendar-info-font-size);line-height:var(--van-calendar-info-line-height)}@media (max-width: 350px){.van-calendar__top-info,.van-calendar__bottom-info{font-size:.24rem}}.van-calendar__top-info{top:.16rem}.van-calendar__bottom-info{bottom:.16rem}.van-calendar__selected-day{width:var(--van-calendar-selected-day-size);height:var(--van-calendar-selected-day-size);color:var(--van-calendar-selected-day-color);background:var(--van-calendar-selected-day-background);border-radius:var(--van-radius-md)}.van-calendar__footer{flex-shrink:0;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md)}.van-calendar__confirm{height:var(--van-calendar-confirm-button-height);margin:var(--van-calendar-confirm-button-margin)}:root{--van-address-edit-padding: var(--van-padding-sm);--van-address-edit-buttons-padding: var(--van-padding-xl) var(--van-padding-base);--van-address-edit-button-margin-bottom: var(--van-padding-sm);--van-address-edit-button-font-size: var(--van-font-size-lg)}.van-address-edit{padding:var(--van-address-edit-padding)}.van-address-edit__fields{overflow:hidden;border-radius:var(--van-padding-xs)}.van-address-edit__fields .van-field__label{width:4.1em}.van-address-edit__default{margin-top:var(--van-padding-sm);overflow:hidden;border-radius:var(--van-padding-xs)}.van-address-edit__buttons{padding:var(--van-address-edit-buttons-padding)}.van-address-edit__button{margin-bottom:var(--van-address-edit-button-margin-bottom);font-size:var(--van-address-edit-button-font-size)}.van-address-edit-detail__search-item{background:var(--van-gray-2)}.van-radio-group--horizontal,.van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}:root{--van-checkbox-size: .53333rem;--van-checkbox-border-color: var(--van-gray-5);--van-checkbox-duration: var(--van-duration-fast);--van-checkbox-label-margin: var(--van-padding-xs);--van-checkbox-label-color: var(--van-text-color);--van-checkbox-checked-icon-color: var(--van-primary-color);--van-checkbox-disabled-icon-color: var(--van-gray-5);--van-checkbox-disabled-label-color: var(--van-text-color-3);--van-checkbox-disabled-background: var(--van-border-color)}.van-checkbox{display:flex;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.van-checkbox--disabled{cursor:not-allowed}.van-checkbox--label-disabled{cursor:default}.van-checkbox--horizontal{margin-right:var(--van-padding-sm)}.van-checkbox__icon{flex:none;height:1em;font-size:var(--van-checkbox-size);line-height:1em;cursor:pointer}.van-checkbox__icon .van-icon{display:block;box-sizing:border-box;width:1.25em;height:1.25em;color:transparent;font-size:.8em;line-height:1.25;text-align:center;border:.02667rem solid var(--van-checkbox-border-color);transition-duration:var(--van-checkbox-duration);transition-property:color,border-color,background-color}.van-checkbox__icon--round .van-icon{border-radius:100%}.van-checkbox__icon--checked .van-icon{color:var(--van-white);background-color:var(--van-checkbox-checked-icon-color);border-color:var(--van-checkbox-checked-icon-color)}.van-checkbox__icon--disabled{cursor:not-allowed}.van-checkbox__icon--disabled .van-icon{background-color:var(--van-checkbox-disabled-background);border-color:var(--van-checkbox-disabled-icon-color)}.van-checkbox__icon--disabled.van-checkbox__icon--checked .van-icon{color:var(--van-checkbox-disabled-icon-color)}.van-checkbox__label{margin-left:var(--van-checkbox-label-margin);color:var(--van-checkbox-label-color);line-height:var(--van-checkbox-size)}.van-checkbox__label--left{margin:0 var(--van-checkbox-label-margin) 0 0}.van-checkbox__label--disabled{color:var(--van-checkbox-disabled-label-color)}:root{--van-coupon-margin: 0 var(--van-padding-sm) var(--van-padding-sm);--van-coupon-content-height: 2.24rem;--van-coupon-content-padding: .37333rem 0;--van-coupon-content-text-color: var(--van-text-color);--van-coupon-background: var(--van-background-2);--van-coupon-active-background: var(--van-active-color);--van-coupon-radius: var(--van-radius-lg);--van-coupon-shadow: 0 0 .10667rem rgba(0, 0, 0, .1);--van-coupon-head-width: 2.56rem;--van-coupon-amount-color: var(--van-primary-color);--van-coupon-amount-font-size: .8rem;--van-coupon-currency-font-size: 40%;--van-coupon-name-font-size: var(--van-font-size-md);--van-coupon-disabled-text-color: var(--van-text-color-2);--van-coupon-description-padding: var(--van-padding-xs) var(--van-padding-md);--van-coupon-description-border-color: var(--van-border-color);--van-coupon-checkbox-color: var(--van-primary-color)}.van-coupon{margin:var(--van-coupon-margin);overflow:hidden;background:var(--van-coupon-background);border-radius:var(--van-coupon-radius);box-shadow:var(--van-coupon-shadow)}.van-coupon:active{background-color:var(--van-coupon-active-background)}.van-coupon__content{display:flex;align-items:center;box-sizing:border-box;min-height:var(--van-coupon-content-height);padding:var(--van-coupon-content-padding);color:var(--van-coupon-content-text-color)}.van-coupon__head{position:relative;min-width:var(--van-coupon-head-width);padding:0 var(--van-padding-xs);color:var(--van-coupon-amount-color);text-align:center}.van-coupon__amount,.van-coupon__condition,.van-coupon__name,.van-coupon__valid{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-coupon__amount{margin-bottom:.16rem;font-weight:var(--van-font-bold);font-size:var(--van-coupon-amount-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-coupon__amount span{font-size:var(--van-coupon-currency-font-size)}.van-coupon__amount span:not(:empty){margin-left:.05333rem}.van-coupon__condition{font-size:var(--van-font-size-sm);line-height:.42667rem;white-space:pre-wrap}.van-coupon__body{position:relative;flex:1}.van-coupon__name{margin-bottom:.26667rem;font-weight:var(--van-font-bold);font-size:var(--van-coupon-name-font-size);line-height:var(--van-line-height-md)}.van-coupon__valid{font-size:var(--van-font-size-sm)}.van-coupon__corner{position:absolute;top:0;right:var(--van-padding-md);bottom:0}.van-coupon__corner .van-checkbox__icon--checked .van-icon{background-color:var(--van-coupon-checkbox-color);border-color:var(--van-coupon-checkbox-color)}.van-coupon__description{padding:var(--van-coupon-description-padding);font-size:var(--van-font-size-sm);border-top:.02667rem dashed var(--van-coupon-description-border-color)}.van-coupon--disabled:active{background-color:var(--van-coupon-background)}.van-coupon--disabled .van-coupon-item__content{height:calc(var(--van-coupon-content-height) - .26667rem)}.van-coupon--disabled .van-coupon__head{color:inherit}:root{--van-radio-size: .53333rem;--van-radio-border-color: var(--van-gray-5);--van-radio-duration: var(--van-duration-fast);--van-radio-label-margin: var(--van-padding-xs);--van-radio-label-color: var(--van-text-color);--van-radio-checked-icon-color: var(--van-primary-color);--van-radio-disabled-icon-color: var(--van-gray-5);--van-radio-disabled-label-color: var(--van-text-color-3);--van-radio-disabled-background: var(--van-border-color)}.van-radio{display:flex;align-items:center;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.van-radio--disabled{cursor:not-allowed}.van-radio--label-disabled{cursor:default}.van-radio--horizontal{margin-right:var(--van-padding-sm)}.van-radio__icon{flex:none;height:1em;font-size:var(--van-radio-size);line-height:1em;cursor:pointer}.van-radio__icon .van-icon{display:block;box-sizing:border-box;width:1.25em;height:1.25em;color:transparent;font-size:.8em;line-height:1.25;text-align:center;border:.02667rem solid var(--van-radio-border-color);transition-duration:var(--van-radio-duration);transition-property:color,border-color,background-color}.van-radio__icon--round .van-icon{border-radius:100%}.van-radio__icon--checked .van-icon{color:var(--van-white);background-color:var(--van-radio-checked-icon-color);border-color:var(--van-radio-checked-icon-color)}.van-radio__icon--disabled{cursor:not-allowed}.van-radio__icon--disabled .van-icon{background-color:var(--van-radio-disabled-background);border-color:var(--van-radio-disabled-icon-color)}.van-radio__icon--disabled.van-radio__icon--checked .van-icon{color:var(--van-radio-disabled-icon-color)}.van-radio__label{margin-left:var(--van-radio-label-margin);color:var(--van-radio-label-color);line-height:var(--van-radio-size)}.van-radio__label--left{margin:0 var(--van-radio-label-margin) 0 0}.van-radio__label--disabled{color:var(--van-radio-disabled-label-color)}:root{--van-contact-list-edit-icon-size: .42667rem;--van-contact-list-add-button-z-index: 999;--van-contact-list-radio-color: var(--van-primary-color);--van-contact-list-item-padding: var(--van-padding-md)}.van-contact-list{box-sizing:border-box;height:100%;padding-bottom:2.13333rem}.van-contact-list__item{padding:var(--van-contact-list-item-padding)}.van-contact-list__item-title{display:flex;align-items:center;padding-right:var(--van-padding-xl);padding-left:var(--van-padding-xs)}.van-contact-list__item-tag{flex:none;margin-left:var(--van-padding-xs);padding-top:0;padding-bottom:0;line-height:1.4em}.van-contact-list__group{box-sizing:border-box;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch}.van-contact-list__edit{font-size:var(--van-contact-list-edit-icon-size)}.van-contact-list__radio .van-radio__icon--checked .van-icon{background-color:var(--van-contact-list-radio-color);border-color:var(--van-contact-list-radio-color)}.van-contact-list__bottom{position:fixed;right:0;bottom:0;left:0;z-index:var(--van-contact-list-add-button-z-index);padding-left:var(--van-padding-md);padding-right:var(--van-padding-md);background-color:var(--van-background-2)}.van-contact-list__add{height:1.06667rem;margin:.13333rem 0}:root{--van-address-list-padding: var(--van-padding-sm) var(--van-padding-sm) 2.13333rem;--van-address-list-disabled-text-color: var(--van-text-color-2);--van-address-list-disabled-text-padding: calc(var(--van-padding-base) * 5) 0;--van-address-list-disabled-text-font-size: var(--van-font-size-md);--van-address-list-disabled-text-line-height: var(--van-line-height-md);--van-address-list-add-button-z-index: 999;--van-address-list-item-padding: var(--van-padding-sm);--van-address-list-item-text-color: var(--van-text-color);--van-address-list-item-disabled-text-color: var(--van-text-color-3);--van-address-list-item-font-size: .34667rem;--van-address-list-item-line-height: var(--van-line-height-sm);--van-address-list-radio-color: var(--van-primary-color);--van-address-list-edit-icon-size: .53333rem}.van-address-list{box-sizing:border-box;height:100%;padding:var(--van-address-list-padding)}.van-address-list__bottom{position:fixed;bottom:0;left:0;z-index:var(--van-address-list-add-button-z-index);box-sizing:border-box;width:100%;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md);background-color:var(--van-background-2)}.van-address-list__add{height:1.06667rem;margin:.13333rem 0}.van-address-list__disabled-text{padding:var(--van-address-list-disabled-text-padding);color:var(--van-address-list-disabled-text-color);font-size:var(--van-address-list-disabled-text-font-size);line-height:var(--van-address-list-disabled-text-line-height)}.van-address-item{padding:var(--van-address-list-item-padding);background-color:var(--van-background-2);border-radius:var(--van-radius-lg)}.van-address-item:not(:last-child){margin-bottom:var(--van-padding-sm)}.van-address-item__title{padding-right:1.17333rem}.van-address-item__name{display:flex;align-items:center;margin-bottom:var(--van-padding-xs);font-size:var(--van-font-size-lg);line-height:var(--van-line-height-lg)}.van-address-item__tag{flex:none;margin-left:var(--van-padding-xs);padding-top:0;padding-bottom:0;line-height:1.4em}.van-address-item__address{color:var(--van-address-list-item-text-color);font-size:var(--van-address-list-item-font-size);line-height:var(--van-address-list-item-line-height)}.van-address-item--disabled .van-address-item__name,.van-address-item--disabled .van-address-item__address{color:var(--van-address-list-item-disabled-text-color)}.van-address-item__edit{position:absolute;top:50%;right:var(--van-padding-md);color:var(--van-gray-6);font-size:var(--van-address-list-edit-icon-size);transform:translateY(-50%)}.van-address-item .van-cell{padding:0}.van-address-item .van-radio__label{margin-left:var(--van-padding-sm)}.van-address-item .van-radio__icon--checked .van-icon{background-color:var(--van-address-list-radio-color);border-color:var(--van-address-list-radio-color)}:root{--van-cell-group-background: var(--van-background-2);--van-cell-group-title-color: var(--van-text-color-2);--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md);--van-cell-group-title-font-size: var(--van-font-size-md);--van-cell-group-title-line-height: .42667rem;--van-cell-group-inset-padding: 0 var(--van-padding-md);--van-cell-group-inset-radius: var(--van-radius-lg);--van-cell-group-inset-title-padding: var(--van-padding-md) var(--van-padding-md)}.van-cell-group{background:var(--van-cell-group-background)}.van-cell-group--inset{margin:var(--van-cell-group-inset-padding);border-radius:var(--van-cell-group-inset-radius);overflow:hidden}.van-cell-group__title{padding:var(--van-cell-group-title-padding);color:var(--van-cell-group-title-color);font-size:var(--van-cell-group-title-font-size);line-height:var(--van-cell-group-title-line-height)}.van-cell-group__title--inset{padding:var(--van-cell-group-inset-title-padding)}:root{--van-circle-size: 2.66667rem;--van-circle-color: var(--van-primary-color);--van-circle-layer-color: var(--van-white);--van-circle-text-color: var(--van-text-color);--van-circle-text-font-weight: var(--van-font-bold);--van-circle-text-font-size: var(--van-font-size-md);--van-circle-text-line-height: var(--van-line-height-md)}.van-circle{position:relative;display:inline-block;width:var(--van-circle-size);height:var(--van-circle-size);text-align:center}.van-circle svg{position:absolute;top:0;left:0;width:100%;height:100%}.van-circle__layer{stroke:var(--van-circle-layer-color)}.van-circle__hover{fill:none;stroke:var(--van-circle-color);stroke-linecap:round}.van-circle__text{position:absolute;top:50%;left:0;box-sizing:border-box;width:100%;padding:0 var(--van-padding-base);color:var(--van-circle-text-color);font-weight:var(--van-circle-text-font-weight);font-size:var(--van-circle-text-font-size);line-height:var(--van-circle-text-line-height);transform:translateY(-50%)}.van-row{display:flex;flex-wrap:wrap}.van-row--nowrap{flex-wrap:nowrap}.van-row--justify-center{justify-content:center}.van-row--justify-end{justify-content:flex-end}.van-row--justify-space-between{justify-content:space-between}.van-row--justify-space-around{justify-content:space-around}.van-row--align-center{align-items:center}.van-row--align-bottom{align-items:flex-end}.van-col{display:block;box-sizing:border-box;min-height:.02667rem}.van-col--1{flex:0 0 4.16666667%;max-width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{flex:0 0 8.33333333%;max-width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{flex:0 0 12.5%;max-width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{flex:0 0 16.66666667%;max-width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{flex:0 0 20.83333333%;max-width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{flex:0 0 25%;max-width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{flex:0 0 29.16666667%;max-width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{flex:0 0 33.33333333%;max-width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{flex:0 0 37.5%;max-width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{flex:0 0 41.66666667%;max-width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{flex:0 0 45.83333333%;max-width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{flex:0 0 50%;max-width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{flex:0 0 54.16666667%;max-width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{flex:0 0 58.33333333%;max-width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{flex:0 0 62.5%;max-width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{flex:0 0 66.66666667%;max-width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{flex:0 0 70.83333333%;max-width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{flex:0 0 75%;max-width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{flex:0 0 79.16666667%;max-width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{flex:0 0 83.33333333%;max-width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{flex:0 0 87.5%;max-width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{flex:0 0 91.66666667%;max-width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{flex:0 0 95.83333333%;max-width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{flex:0 0 100%;max-width:100%}.van-col--offset-24{margin-left:100%}:root{--van-count-down-text-color: var(--van-text-color);--van-count-down-font-size: var(--van-font-size-md);--van-count-down-line-height: var(--van-line-height-md)}.van-count-down{color:var(--van-count-down-text-color);font-size:var(--van-count-down-font-size);line-height:var(--van-count-down-line-height)}:root{--van-empty-padding: var(--van-padding-xl) 0;--van-empty-image-size: 4.26667rem;--van-empty-description-margin-top: var(--van-padding-md);--van-empty-description-padding: 0 1.6rem;--van-empty-description-color: var(--van-text-color-2);--van-empty-description-font-size: var(--van-font-size-md);--van-empty-description-line-height: var(--van-line-height-md);--van-empty-bottom-margin-top: .64rem}.van-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--van-empty-padding)}.van-empty__image{width:var(--van-empty-image-size);height:var(--van-empty-image-size)}.van-empty__image img{width:100%;height:100%}.van-empty__description{margin-top:var(--van-empty-description-margin-top);padding:var(--van-empty-description-padding);color:var(--van-empty-description-color);font-size:var(--van-empty-description-font-size);line-height:var(--van-empty-description-line-height)}.van-empty__bottom{margin-top:var(--van-empty-bottom-margin-top)}.van-theme-dark .van-empty{opacity:.5}:root{--van-coupon-list-background: var(--van-background);--van-coupon-list-field-padding: .13333rem 0 .13333rem var(--van-padding-md);--van-coupon-list-exchange-button-height: .85333rem;--van-coupon-list-close-button-height: 1.06667rem;--van-coupon-list-empty-tip-color: var(--van-text-color-2);--van-coupon-list-empty-tip-font-size: var(--van-font-size-md);--van-coupon-list-empty-tip-line-height: var(--van-line-height-md)}.van-coupon-list{position:relative;height:100%;background:var(--van-coupon-list-background)}.van-coupon-list__field{padding:var(--van-coupon-list-field-padding)}.van-coupon-list__field .van-field__body{height:.90667rem;padding-left:var(--van-padding-sm);line-height:.90667rem;background:var(--van-background);border-radius:var(--van-radius-max)}.van-coupon-list__field .van-field__body::-webkit-input-placeholder{color:var(--van-text-color-3)}.van-coupon-list__field .van-field__body::placeholder{color:var(--van-text-color-3)}.van-coupon-list__field .van-field__clear{margin-right:0}.van-coupon-list__exchange-bar{display:flex;align-items:center;background-color:var(--van-background-2)}.van-coupon-list__exchange{flex:none;height:var(--van-coupon-list-exchange-button-height);font-size:var(--van-font-size-lg);line-height:calc(var(--van-coupon-list-exchange-button-height) - .05333rem);border:0}.van-coupon-list .van-tabs__wrap{box-shadow:0 .16rem .32rem -.32rem var(--van-gray-6)}.van-coupon-list__list{box-sizing:border-box;padding:var(--van-padding-md) 0 var(--van-padding-lg);overflow-y:auto;-webkit-overflow-scrolling:touch}.van-coupon-list__list--with-bottom{padding-bottom:1.33333rem}.van-coupon-list__bottom{position:absolute;bottom:0;left:0;z-index:999;box-sizing:border-box;width:100%;padding:.13333rem var(--van-padding-md);font-weight:var(--van-font-bold);background-color:var(--van-background-2)}.van-coupon-list__close{height:var(--van-coupon-list-close-button-height)}.van-coupon-list__empty-tip{color:var(--van-coupon-list-empty-tip-color);font-size:var(--van-coupon-list-empty-tip-font-size);line-height:var(--van-coupon-list-empty-tip-line-height)}:root{--van-divider-margin: var(--van-padding-md) 0;--van-divider-text-color: var(--van-text-color-2);--van-divider-font-size: var(--van-font-size-md);--van-divider-line-height: .64rem;--van-divider-border-color: var(--van-border-color);--van-divider-content-padding: var(--van-padding-md);--van-divider-content-left-width: 10%;--van-divider-content-right-width: 10%}.van-divider{display:flex;align-items:center;margin:var(--van-divider-margin);color:var(--van-divider-text-color);font-size:var(--van-divider-font-size);line-height:var(--van-divider-line-height);border-color:var(--van-divider-border-color);border-style:solid;border-width:0}.van-divider:before,.van-divider:after{display:block;flex:1;box-sizing:border-box;height:.02667rem;border-color:inherit;border-style:inherit;border-width:var(--van-border-width) 0 0}.van-divider:before{content:""}.van-divider--hairline:before,.van-divider--hairline:after{transform:scaleY(.5)}.van-divider--dashed{border-style:dashed}.van-divider--content-center:before,.van-divider--content-left:before,.van-divider--content-right:before{margin-right:var(--van-divider-content-padding)}.van-divider--content-center:after,.van-divider--content-left:after,.van-divider--content-right:after{margin-left:var(--van-divider-content-padding);content:""}.van-divider--content-left:before{max-width:var(--van-divider-content-left-width)}.van-divider--content-right:after{max-width:var(--van-divider-content-right-width)}:root{--van-dropdown-menu-height: 1.28rem;--van-dropdown-menu-background: var(--van-background-2);--van-dropdown-menu-shadow: 0 .05333rem .32rem rgba(100, 101, 102, .12);--van-dropdown-menu-title-font-size: .4rem;--van-dropdown-menu-title-text-color: var(--van-text-color);--van-dropdown-menu-title-active-text-color: var(--van-primary-color);--van-dropdown-menu-title-disabled-text-color: var(--van-text-color-2);--van-dropdown-menu-title-padding: 0 var(--van-padding-xs);--van-dropdown-menu-title-line-height: var(--van-line-height-lg);--van-dropdown-menu-option-active-color: var(--van-primary-color);--van-dropdown-menu-content-max-height: 80%}.van-dropdown-menu{-webkit-user-select:none;user-select:none}.van-dropdown-menu__bar{position:relative;display:flex;height:var(--van-dropdown-menu-height);background:var(--van-dropdown-menu-background);box-shadow:var(--van-dropdown-menu-shadow)}.van-dropdown-menu__bar--opened{z-index:calc(var(--van-dropdown-item-z-index) + 1)}.van-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;min-width:0}.van-dropdown-menu__item--disabled .van-dropdown-menu__title{color:var(--van-dropdown-menu-title-disabled-text-color)}.van-dropdown-menu__title{position:relative;box-sizing:border-box;max-width:100%;padding:var(--van-dropdown-menu-title-padding);color:var(--van-dropdown-menu-title-text-color);font-size:var(--van-dropdown-menu-title-font-size);line-height:var(--van-dropdown-menu-title-line-height)}.van-dropdown-menu__title:after{position:absolute;top:50%;right:-.10667rem;margin-top:-.13333rem;border:.08rem solid;border-color:transparent transparent var(--van-gray-4) var(--van-gray-4);transform:rotate(-45deg);opacity:.8;content:""}.van-dropdown-menu__title--active{color:var(--van-dropdown-menu-title-active-text-color)}.van-dropdown-menu__title--active:after{border-color:transparent transparent currentColor currentColor}.van-dropdown-menu__title--down:after{margin-top:-.02667rem;transform:rotate(135deg)}:root{--van-dropdown-item-z-index: 10}.van-dropdown-item{position:fixed;right:0;left:0;z-index:var(--van-dropdown-item-z-index);overflow:hidden}.van-dropdown-item__icon{display:block;line-height:inherit}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active,.van-dropdown-item__option--active .van-dropdown-item__icon{color:var(--van-dropdown-menu-option-active-color)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__content{position:absolute;max-height:var(--van-dropdown-menu-content-max-height)}.van-grid{display:flex;flex-wrap:wrap}:root{--van-grid-item-content-padding: var(--van-padding-md) var(--van-padding-xs);--van-grid-item-content-background: var(--van-background-2);--van-grid-item-content-active-color: var(--van-active-color);--van-grid-item-icon-size: .74667rem;--van-grid-item-text-color: var(--van-text-color);--van-grid-item-text-font-size: var(--van-font-size-sm)}.van-grid-item{position:relative;box-sizing:border-box}.van-grid-item--square{height:0}.van-grid-item__icon{font-size:var(--van-grid-item-icon-size)}.van-grid-item__text{color:var(--van-grid-item-text-color);font-size:var(--van-grid-item-text-font-size);line-height:1.5;word-break:break-all}.van-grid-item__icon+.van-grid-item__text{margin-top:var(--van-padding-xs)}.van-grid-item__content{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding:var(--van-grid-item-content-padding);background:var(--van-grid-item-content-background)}.van-grid-item__content:after{z-index:1;border-width:0 var(--van-border-width) var(--van-border-width) 0}.van-grid-item__content--square{position:absolute;top:0;right:0;left:0}.van-grid-item__content--center{align-items:center;justify-content:center}.van-grid-item__content--horizontal{flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__text{margin:0 0 0 var(--van-padding-xs)}.van-grid-item__content--reverse{flex-direction:column-reverse}.van-grid-item__content--reverse .van-grid-item__text{margin:0 0 var(--van-padding-xs)}.van-grid-item__content--horizontal.van-grid-item__content--reverse{flex-direction:row-reverse}.van-grid-item__content--horizontal.van-grid-item__content--reverse .van-grid-item__text{margin:0 var(--van-padding-xs) 0 0}.van-grid-item__content--surround:after{border-width:var(--van-border-width)}.van-grid-item__content--clickable{cursor:pointer}.van-grid-item__content--clickable:active{background-color:var(--van-grid-item-content-active-color)}:root{--van-index-bar-sidebar-z-index: 2;--van-index-bar-index-font-size: var(--van-font-size-xs);--van-index-bar-index-line-height: var(--van-line-height-xs);--van-index-bar-index-active-color: var(--van-primary-color)}.van-index-bar__sidebar{position:fixed;top:50%;right:0;z-index:var(--van-index-bar-sidebar-z-index);display:flex;flex-direction:column;text-align:center;transform:translateY(-50%);cursor:pointer;-webkit-user-select:none;user-select:none}.van-index-bar__index{padding:0 var(--van-padding-xs) 0 var(--van-padding-md);font-weight:var(--van-font-bold);font-size:var(--van-index-bar-index-font-size);line-height:var(--van-index-bar-index-line-height)}.van-index-bar__index--active{color:var(--van-index-bar-index-active-color);font-weight:700}:root{--van-index-anchor-z-index: 1;--van-index-anchor-padding: 0 var(--van-padding-md);--van-index-anchor-text-color: var(--van-text-color);--van-index-anchor-font-weight: var(--van-font-bold);--van-index-anchor-font-size: var(--van-font-size-md);--van-index-anchor-line-height: .85333rem;--van-index-anchor-background: transparent;--van-index-anchor-sticky-text-color: var(--van-primary-color);--van-index-anchor-sticky-background: var(--van-background-2)}.van-index-anchor{z-index:var(--van-index-anchor-z-index);box-sizing:border-box;padding:var(--van-index-anchor-padding);color:var(--van-index-anchor-text-color);font-weight:var(--van-index-anchor-font-weight);font-size:var(--van-index-anchor-font-size);line-height:var(--van-index-anchor-line-height);background:var(--van-index-anchor-background)}.van-index-anchor--sticky{position:fixed;top:0;right:0;left:0;color:var(--van-index-anchor-sticky-text-color);background:var(--van-index-anchor-sticky-background)}:root{--van-pagination-height: 1.06667rem;--van-pagination-font-size: var(--van-font-size-md);--van-pagination-item-width: .96rem;--van-pagination-item-default-color: var(--van-primary-color);--van-pagination-item-disabled-color: var(--van-gray-7);--van-pagination-item-disabled-background: var(--van-background);--van-pagination-background: var(--van-background-2);--van-pagination-desc-color: var(--van-gray-7);--van-pagination-disabled-opacity: var(--van-disabled-opacity)}.van-pagination{font-size:var(--van-pagination-font-size)}.van-pagination__items{display:flex}.van-pagination__item,.van-pagination__page-desc{display:flex;align-items:center;justify-content:center}.van-pagination__item{flex:1;box-sizing:border-box;min-width:var(--van-pagination-item-width);height:var(--van-pagination-height);color:var(--van-pagination-item-default-color);background:var(--van-pagination-background);cursor:pointer;-webkit-user-select:none;user-select:none}.van-pagination__item button{flex:1;height:100%;border:none;padding:0;background:transparent}.van-pagination__item button[disabled]{cursor:not-allowed}.van-pagination__item:active{color:var(--van-white);background-color:var(--van-pagination-item-default-color)}.van-pagination__item:not(:last-child):after{border-right-width:0}.van-pagination__item--active{color:var(--van-white);background-color:var(--van-pagination-item-default-color)}.van-pagination__item--page{flex-grow:0}.van-pagination__item--prev,.van-pagination__item--next{padding:0 var(--van-padding-base);cursor:pointer}.van-pagination__item--border:after{border-width:var(--van-border-width)}.van-pagination__item--disabled{color:var(--van-pagination-item-disabled-color);background-color:var(--van-pagination-item-disabled-background);opacity:var(--van-pagination-disabled-opacity)}.van-pagination__page-desc{flex:1;height:var(--van-pagination-height);color:var(--van-pagination-desc-color)}:root{--van-password-input-height: 1.33333rem;--van-password-input-margin: 0 var(--van-padding-md);--van-password-input-font-size: .53333rem;--van-password-input-radius: .16rem;--van-password-input-background: var(--van-background-2);--van-password-input-info-color: var(--van-text-color-2);--van-password-input-info-font-size: var(--van-font-size-md);--van-password-input-error-info-color: var(--van-danger-color);--van-password-input-dot-size: .26667rem;--van-password-input-dot-color: var(--van-text-color);--van-password-input-text-color: var(--van-text-color);--van-password-input-cursor-color: var(--van-text-color);--van-password-input-cursor-width: .02667rem;--van-password-input-cursor-height: 40%;--van-password-input-cursor-duration: 1s}.van-password-input{position:relative;margin:var(--van-password-input-margin);-webkit-user-select:none;user-select:none}.van-password-input__info,.van-password-input__error-info{margin-top:var(--van-padding-md);font-size:var(--van-password-input-info-font-size);text-align:center}.van-password-input__info{color:var(--van-password-input-info-color)}.van-password-input__error-info{color:var(--van-password-input-error-info-color)}.van-password-input__security{display:flex;width:100%;height:var(--van-password-input-height);cursor:pointer}.van-password-input__security:after{border-radius:var(--van-password-input-radius)}.van-password-input__security li{position:relative;display:flex;flex:1;align-items:center;justify-content:center;height:100%;color:var(--van-password-input-text-color);font-size:var(--van-password-input-font-size);line-height:1.2;background:var(--van-password-input-background)}.van-password-input__security i{position:absolute;top:50%;left:50%;width:var(--van-password-input-dot-size);height:var(--van-password-input-dot-size);background:var(--van-password-input-dot-color);border-radius:100%;transform:translate(-50%,-50%);visibility:hidden}.van-password-input__cursor{position:absolute;top:50%;left:50%;width:var(--van-password-input-cursor-width);height:var(--van-password-input-cursor-height);background:var(--van-password-input-cursor-color);transform:translate(-50%,-50%);animation:var(--van-password-input-cursor-duration) van-cursor-flicker infinite}@keyframes van-cursor-flicker{0%{opacity:0}50%{opacity:1}to{opacity:0}}:root{--van-progress-height: .10667rem;--van-progress-color: var(--van-primary-color);--van-progress-inactive-color: var(--van-gray-5);--van-progress-background: var(--van-gray-3);--van-progress-pivot-padding: 0 .13333rem;--van-progress-pivot-text-color: var(--van-white);--van-progress-pivot-font-size: var(--van-font-size-xs);--van-progress-pivot-line-height: 1.6;--van-progress-pivot-background: var(--van-primary-color)}.van-progress{position:relative;height:var(--van-progress-height);background:var(--van-progress-background);border-radius:var(--van-progress-height)}.van-progress__portion{position:absolute;left:0;width:100%;height:100%;background:var(--van-progress-color);border-radius:inherit;transform-origin:0;transition:all var(--van-duration-base) var(--van-ease-out)}.van-progress__portion--inactive{background:var(--van-progress-inactive-color)}.van-progress__pivot{position:absolute;top:50%;box-sizing:border-box;min-width:3.6em;padding:var(--van-progress-pivot-padding);color:var(--van-progress-pivot-text-color);font-size:var(--van-progress-pivot-font-size);line-height:var(--van-progress-pivot-line-height);text-align:center;word-break:keep-all;background:var(--van-progress-pivot-background);border-radius:1em;transition:all var(--van-duration-base) var(--van-ease-out)}.van-progress__pivot--inactive{background:var(--van-progress-inactive-color)}:root{--van-sidebar-width: 2.13333rem}.van-sidebar{width:var(--van-sidebar-width);overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--van-sidebar-font-size: var(--van-font-size-md);--van-sidebar-line-height: var(--van-line-height-md);--van-sidebar-text-color: var(--van-text-color);--van-sidebar-disabled-text-color: var(--van-text-color-3);--van-sidebar-padding: .53333rem var(--van-padding-sm);--van-sidebar-active-color: var(--van-active-color);--van-sidebar-background: var(--van-background);--van-sidebar-selected-font-weight: var(--van-font-bold);--van-sidebar-selected-text-color: var(--van-text-color);--van-sidebar-selected-border-width: .10667rem;--van-sidebar-selected-border-height: .42667rem;--van-sidebar-selected-border-color: var(--van-primary-color);--van-sidebar-selected-background: var(--van-background-2)}.van-sidebar-item{position:relative;display:block;box-sizing:border-box;padding:var(--van-sidebar-padding);overflow:hidden;color:var(--van-sidebar-text-color);font-size:var(--van-sidebar-font-size);line-height:var(--van-sidebar-line-height);background:var(--van-sidebar-background);cursor:pointer;-webkit-user-select:none;user-select:none}.van-sidebar-item:active{background-color:var(--van-sidebar-active-color)}.van-sidebar-item:not(:last-child):after{border-bottom-width:.02667rem}.van-sidebar-item__text{word-break:break-all}.van-sidebar-item--select{color:var(--van-sidebar-selected-text-color);font-weight:var(--van-sidebar-selected-font-weight)}.van-sidebar-item--select,.van-sidebar-item--select:active{background-color:var(--van-sidebar-selected-background)}.van-sidebar-item--select:before{position:absolute;top:50%;left:0;width:var(--van-sidebar-selected-border-width);height:var(--van-sidebar-selected-border-height);background-color:var(--van-sidebar-selected-border-color);transform:translateY(-50%);content:""}.van-sidebar-item--disabled{color:var(--van-sidebar-disabled-text-color);cursor:not-allowed}.van-sidebar-item--disabled:active{background-color:var(--van-sidebar-background)}:root{--van-tree-select-font-size: var(--van-font-size-md);--van-tree-select-nav-background: var(--van-background);--van-tree-select-content-background: var(--van-background-2);--van-tree-select-nav-item-padding: .37333rem var(--van-padding-sm);--van-tree-select-item-height: 1.28rem;--van-tree-select-item-active-color: var(--van-primary-color);--van-tree-select-item-disabled-color: var(--van-gray-5);--van-tree-select-item-selected-size: .42667rem}.van-tree-select{position:relative;display:flex;font-size:var(--van-tree-select-font-size)}.van-tree-select__nav{flex:1;overflow-y:auto;background:var(--van-tree-select-nav-background);-webkit-overflow-scrolling:touch}.van-tree-select__nav-item{padding:var(--van-tree-select-nav-item-padding)}.van-tree-select__content{flex:2;overflow-y:auto;background:var(--van-tree-select-content-background);-webkit-overflow-scrolling:touch}.van-tree-select__item{position:relative;padding:0 .85333rem 0 var(--van-padding-md);font-weight:var(--van-font-bold);line-height:var(--van-tree-select-item-height);-webkit-user-select:none;user-select:none;cursor:pointer}.van-tree-select__item--active{color:var(--van-tree-select-item-active-color)}.van-tree-select__item:active{background-color:var(--van-active-color)}.van-tree-select__item--disabled{color:var(--van-tree-select-item-disabled-color);cursor:not-allowed}.van-tree-select__item--disabled:active{background-color:transparent}.van-tree-select__selected{position:absolute;top:50%;right:var(--van-padding-md);margin-top:calc(var(--van-padding-xs) * -1);font-size:var(--van-tree-select-item-selected-size)}:root{--van-skeleton-title-width: 40%}.van-skeleton-title{height:var(--van-skeleton-paragraph-height);background:var(--van-skeleton-paragraph-background)}.van-skeleton-title--round{border-radius:var(--van-radius-max)}.van-skeleton-title{width:var(--van-skeleton-title-width);margin:0}.van-skeleton-title+.van-skeleton-paragraph{margin-top:.53333rem}:root{--van-skeleton-avatar-size: .85333rem;--van-skeleton-avatar-background: var(--van-active-color)}.van-skeleton-avatar{flex-shrink:0;width:var(--van-skeleton-avatar-size);height:var(--van-skeleton-avatar-size);margin-right:var(--van-padding-md);background:var(--van-skeleton-avatar-background)}.van-skeleton-avatar--round{border-radius:var(--van-radius-max)}.van-skeleton-avatar+.van-skeleton__content{padding-top:var(--van-padding-xs)}:root{--van-skeleton-paragraph-height: .42667rem;--van-skeleton-paragraph-background: var(--van-active-color);--van-skeleton-paragraph-margin-top: var(--van-padding-sm)}.van-skeleton-paragraph{height:var(--van-skeleton-paragraph-height);background:var(--van-skeleton-paragraph-background)}.van-skeleton-paragraph--round{border-radius:var(--van-radius-max)}.van-skeleton-paragraph:not(:first-child){margin-top:var(--van-skeleton-paragraph-margin-top)}:root{--van-skeleton-duration: 1.2s}.van-skeleton{display:flex;padding:0 var(--van-padding-md)}.van-skeleton__content{width:100%}.van-skeleton--animate{animation:van-skeleton-blink var(--van-skeleton-duration) ease-in-out infinite}@keyframes van-skeleton-blink{50%{opacity:.6}}:root{--van-slider-active-background: var(--van-primary-color);--van-slider-inactive-background: var(--van-gray-3);--van-slider-disabled-opacity: var(--van-disabled-opacity);--van-slider-bar-height: .05333rem;--van-slider-button-width: .64rem;--van-slider-button-height: .64rem;--van-slider-button-radius: 50%;--van-slider-button-background: var(--van-white);--van-slider-button-shadow: 0 .02667rem .05333rem rgba(0, 0, 0, .5)}.van-theme-dark{--van-slider-inactive-background: var(--van-background-3)}.van-slider{position:relative;width:100%;height:var(--van-slider-bar-height);background:var(--van-slider-inactive-background);border-radius:var(--van-radius-max);cursor:pointer}.van-slider:before{position:absolute;top:calc(var(--van-padding-xs) * -1);right:0;bottom:calc(var(--van-padding-xs) * -1);left:0;content:""}.van-slider__bar{position:absolute;width:100%;height:100%;background:var(--van-slider-active-background);border-radius:inherit;transition:all var(--van-duration-fast)}.van-slider__button{width:var(--van-slider-button-width);height:var(--van-slider-button-height);background:var(--van-slider-button-background);border-radius:var(--van-slider-button-radius);box-shadow:var(--van-slider-button-shadow)}.van-slider__button-wrapper{position:absolute;cursor:-webkit-grab;cursor:grab;top:50%}.van-slider__button-wrapper--right{right:0;transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper--left{left:0;transform:translate3d(-50%,-50%,0)}.van-slider--disabled{cursor:not-allowed;opacity:var(--van-slider-disabled-opacity)}.van-slider--disabled .van-slider__button-wrapper{cursor:not-allowed}.van-slider--vertical{display:inline-block;width:var(--van-slider-bar-height);height:100%}.van-slider--vertical .van-slider__button-wrapper--right{top:auto;right:50%;bottom:0;transform:translate3d(50%,50%,0)}.van-slider--vertical .van-slider__button-wrapper--left{top:0;right:50%;left:auto;transform:translate3d(50%,-50%,0)}.van-slider--vertical:before{top:0;right:calc(var(--van-padding-xs) * -1);bottom:0;left:calc(var(--van-padding-xs) * -1)}.van-space{display:inline-flex}.van-space--horizontal .van-space-item{display:flex;align-items:center}.van-space--vertical{flex-direction:column}.van-space--align-baseline{align-items:baseline}.van-space--align-start{align-items:flex-start}.van-space--align-end{align-items:flex-end}.van-space--align-center{align-items:center}.van-space--wrap{flex-wrap:wrap}.van-space--fill{display:flex}:root{--van-steps-background: var(--van-background-2)}.van-steps{overflow:hidden;background-color:var(--van-steps-background)}.van-steps--horizontal{padding:.26667rem .26667rem 0}.van-steps--horizontal .van-steps__items{position:relative;display:flex;margin:0 0 .26667rem;padding-bottom:.58667rem}.van-steps--vertical{padding:0 0 0 var(--van-padding-xl)}:root{--van-step-text-color: var(--van-text-color-2);--van-step-active-color: var(--van-primary-color);--van-step-process-text-color: var(--van-text-color);--van-step-font-size: var(--van-font-size-md);--van-step-line-color: var(--van-border-color);--van-step-finish-line-color: var(--van-primary-color);--van-step-finish-text-color: var(--van-text-color);--van-step-icon-size: .32rem;--van-step-circle-size: .13333rem;--van-step-circle-color: var(--van-gray-6);--van-step-horizontal-title-font-size: var(--van-font-size-sm)}.van-step{position:relative;flex:1;color:var(--van-step-text-color);font-size:var(--van-step-font-size)}.van-step__circle{display:block;width:var(--van-step-circle-size);height:var(--van-step-circle-size);background-color:var(--van-step-circle-color);border-radius:50%}.van-step__line{position:absolute;background-color:var(--van-step-line-color);transition:background-color var(--van-duration-base)}.van-step--horizontal{float:left}.van-step--horizontal:first-child .van-step__title{margin-left:0;transform:none}.van-step--horizontal:last-child{position:absolute;right:.02667rem;width:auto}.van-step--horizontal:last-child .van-step__title{margin-left:0;transform:none}.van-step--horizontal:last-child .van-step__circle-container{right:-.24rem;left:auto}.van-step--horizontal .van-step__circle-container{position:absolute;top:.8rem;left:calc(var(--van-padding-xs) * -1);z-index:1;padding:0 var(--van-padding-xs);background-color:var(--van-background-2);transform:translateY(-50%)}.van-step--horizontal .van-step__title{display:inline-block;margin-left:.08rem;font-size:var(--van-step-horizontal-title-font-size);transform:translate(-50%)}.van-step--horizontal .van-step__line{top:.8rem;left:0;width:100%;height:.02667rem}.van-step--horizontal .van-step__icon{display:block;font-size:var(--van-step-icon-size)}.van-step--horizontal .van-step--process{color:var(--van-step-process-text-color)}.van-step--vertical{display:block;float:none;padding:.26667rem .26667rem .26667rem 0;line-height:var(--van-line-height-sm)}.van-step--vertical:not(:last-child):after{border-bottom-width:.02667rem}.van-step--vertical .van-step__circle-container{position:absolute;top:.50667rem;left:-.4rem;z-index:1;font-size:var(--van-step-icon-size);line-height:1;transform:translate(-50%,-50%)}.van-step--vertical .van-step__line{top:.42667rem;left:-.4rem;width:.02667rem;height:100%}.van-step:last-child .van-step__line{width:0}.van-step--finish{color:var(--van-step-finish-text-color)}.van-step--finish .van-step__circle,.van-step--finish .van-step__line{background-color:var(--van-step-finish-line-color)}.van-step__icon,.van-step__title{transition:color var(--van-duration-base)}.van-step__icon--active,.van-step__title--active,.van-step__icon--finish,.van-step__title--finish{color:var(--van-step-active-color)}:root{--van-stepper-background: var(--van-active-color);--van-stepper-button-icon-color: var(--van-text-color);--van-stepper-button-disabled-color: var(--van-background);--van-stepper-button-disabled-icon-color: var(--van-gray-5);--van-stepper-button-round-theme-color: var(--van-primary-color);--van-stepper-input-width: .85333rem;--van-stepper-input-height: .74667rem;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: normal;--van-stepper-input-text-color: var(--van-text-color);--van-stepper-input-disabled-text-color: var(--van-text-color-3);--van-stepper-input-disabled-background: var(--van-active-color);--van-stepper-radius: var(--van-radius-md)}.van-stepper{display:inline-block;-webkit-user-select:none;user-select:none}.van-stepper__minus,.van-stepper__plus{position:relative;box-sizing:border-box;width:var(--van-stepper-input-height);height:var(--van-stepper-input-height);margin:0;padding:0;color:var(--van-stepper-button-icon-color);vertical-align:middle;background:var(--van-stepper-background);border:0}.van-stepper__minus:before,.van-stepper__plus:before{width:50%;height:.02667rem}.van-stepper__minus:after,.van-stepper__plus:after{width:.02667rem;height:50%}.van-stepper__minus:before,.van-stepper__plus:before,.van-stepper__minus:after,.van-stepper__plus:after{position:absolute;top:50%;left:50%;background-color:currentColor;transform:translate(-50%,-50%);content:""}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--van-stepper-button-disabled-icon-color);background-color:var(--van-stepper-button-disabled-color);cursor:not-allowed}.van-stepper__minus{border-radius:var(--van-stepper-radius) 0 0 var(--van-stepper-radius)}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--van-stepper-radius) var(--van-stepper-radius) 0}.van-stepper__input{box-sizing:border-box;width:var(--van-stepper-input-width);height:var(--van-stepper-input-height);margin:0 .05333rem;padding:0;color:var(--van-stepper-input-text-color);font-size:var(--van-stepper-input-font-size);line-height:var(--van-stepper-input-line-height);text-align:center;vertical-align:middle;background:var(--van-stepper-background);border:0;border-width:.02667rem 0;border-radius:0;-webkit-appearance:none}.van-stepper__input:disabled{color:var(--van-stepper-input-disabled-text-color);background-color:var(--van-stepper-input-disabled-background);-webkit-text-fill-color:var(--van-stepper-input-disabled-text-color);opacity:1}.van-stepper__input:read-only{cursor:default}.van-stepper--round .van-stepper__input{background-color:transparent}.van-stepper--round .van-stepper__plus,.van-stepper--round .van-stepper__minus{border-radius:100%}.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__minus--disabled{opacity:.3;cursor:not-allowed}.van-stepper--round .van-stepper__plus{color:var(--van-white);background:var(--van-stepper-button-round-theme-color)}.van-stepper--round .van-stepper__minus{color:var(--van-stepper-button-round-theme-color);background-color:var(--van-background-2);border:.02667rem solid var(--van-stepper-button-round-theme-color)}.van-swipe-cell{position:relative;overflow:hidden;cursor:-webkit-grab;cursor:grab}.van-swipe-cell__wrapper{transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}:root{--van-tabbar-height: 1.33333rem;--van-tabbar-z-index: 1;--van-tabbar-background: var(--van-background-2)}.van-tabbar{z-index:var(--van-tabbar-z-index);display:flex;box-sizing:content-box;width:100%;height:var(--van-tabbar-height);background:var(--van-tabbar-background)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}:root{--van-tabbar-item-font-size: var(--van-font-size-sm);--van-tabbar-item-text-color: var(--van-text-color);--van-tabbar-item-active-color: var(--van-primary-color);--van-tabbar-item-active-background: var(--van-background-2);--van-tabbar-item-line-height: 1;--van-tabbar-item-icon-size: .58667rem;--van-tabbar-item-icon-margin-bottom: var(--van-padding-base)}.van-tabbar-item{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;color:var(--van-tabbar-item-text-color);font-size:var(--van-tabbar-item-font-size);line-height:var(--van-tabbar-item-line-height);cursor:pointer}.van-tabbar-item__icon{margin-bottom:var(--van-tabbar-item-icon-margin-bottom);font-size:var(--van-tabbar-item-icon-size)}.van-tabbar-item__icon .van-icon{display:block}.van-tabbar-item__icon .van-badge{margin-top:var(--van-padding-base)}.van-tabbar-item__icon img{display:block;height:.53333rem}.van-tabbar-item--active{color:var(--van-tabbar-item-active-color);background-color:var(--van-tabbar-item-active-background)}:root{--van-text-ellipsis-line-height: 1.6;--van-text-ellipsis-action-color: var(--van-blue)}.van-text-ellipsis{line-height:var(--van-text-ellipsis-line-height);white-space:pre-wrap;word-break:break-word}.van-text-ellipsis__action{cursor:pointer;color:var(--van-text-ellipsis-action-color)}.van-text-ellipsis__action:active{opacity:var(--van-active-opacity)}.var--box,.var--box *{box-sizing:border-box}.var--relative{position:relative}.var--absolute{position:absolute}.var--hidden{overflow:hidden}.var--lock{overflow:hidden!important}.var--block{display:block}.var--ellipsis{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.var--inline-block{display:inline-block}.var--flex{display:flex}.var--inline-flex{display:inline-flex}:root{--font-size-xs: .26667rem;--font-size-sm: .32rem;--font-size-md: .37333rem;--font-size-lg: .42667rem;--icon-size-xs: .42667rem;--icon-size-sm: .48rem;--icon-size-md: .53333rem;--icon-size-lg: .58667rem;--color-body: #fff;--color-text: #333;--color-primary: #3a7afe;--color-info: #00afef;--color-success: #00c48f;--color-warning: #ff9f00;--color-danger: #f44336;--color-disabled: #e0e0e0;--color-text-disabled: #aaa;--opacity-disabled: .6;--cubic-bezier: cubic-bezier(.25, .8, .5, 1);--shadow-key-umbra-opacity: rgba(0, 0, 0, .2);--shadow-key-penumbra-opacity: rgba(0, 0, 0, .14);--shadow-key-ambient-opacity: rgba(0, 0, 0, .12)}:root{--popup-content-background-color: #fff;--popup-overlay-background-color: rgba(0, 0, 0, .6)}.var-fade-enter-from,.var-fade-leave-to{opacity:0}.var-fade-enter-active,.var-fade-leave-active{transition:opacity .25s}.var-pop-center-enter-from,.var-pop-center-leave-to{transform:scale(.3)}.var-pop-center-enter-active,.var-pop-center-leave-active{transition:all .25s}.var-pop-bottom-enter-from,.var-pop-bottom-leave-to{transform:translateY(100%)}.var-pop-bottom-enter-active,.var-pop-bottom-leave-active{transition:all .25s}.var-pop-top-enter-from,.var-pop-top-leave-to{transform:translateY(-100%)}.var-pop-top-enter-active,.var-pop-top-leave-active{transition:all .25s}.var-pop-left-enter-from,.var-pop-left-leave-to{transform:translate(-100%)}.var-pop-left-enter-active,.var-pop-left-leave-active{transition:all .25s}.var-pop-right-enter-from,.var-pop-right-leave-to{transform:translate(100%)}.var-pop-right-enter-active,.var-pop-right-leave-active{transition:all .25s}.var-popup{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.var-popup__overlay{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--popup-overlay-background-color);transition:all .25s}.var-popup__content{overflow:auto;transition:all .25s}.var-popup--content-background-color{background-color:var(--popup-content-background-color)}.var-popup--center{position:relative}.var-popup--bottom{min-width:100%;position:absolute;left:0;bottom:0}.var-popup--top{min-width:100%;position:absolute;left:0;top:0}.var-popup--left{min-height:100%;position:absolute;left:0;top:0}.var-popup--right{min-height:100%;position:absolute;right:0;top:0}.var-elevation--0{box-shadow:0 0 0 0 var(--shadow-key-umbra-opacity),0 0 0 0 var(--shadow-key-penumbra-opacity),0 0 0 0 var(--shadow-key-ambient-opacity)}.var-elevation--1{box-shadow:0 .05333rem .02667rem -.02667rem var(--shadow-key-umbra-opacity),0 .02667rem .02667rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .08rem 0 var(--shadow-key-ambient-opacity)}.var-elevation--2{box-shadow:0 .08rem .02667rem -.05333rem var(--shadow-key-umbra-opacity),0 .05333rem .05333rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .13333rem 0 var(--shadow-key-ambient-opacity)}.var-elevation--3{box-shadow:0 .08rem .08rem -.05333rem var(--shadow-key-umbra-opacity),0 .08rem .10667rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .21333rem 0 var(--shadow-key-ambient-opacity)}.var-elevation--4{box-shadow:0 .05333rem .10667rem -.02667rem var(--shadow-key-umbra-opacity),0 .10667rem .13333rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .26667rem 0 var(--shadow-key-ambient-opacity)}.var-elevation--5{box-shadow:0 .08rem .13333rem -.02667rem var(--shadow-key-umbra-opacity),0 .13333rem .21333rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .37333rem 0 var(--shadow-key-ambient-opacity)}.var-elevation--6{box-shadow:0 .08rem .13333rem -.02667rem var(--shadow-key-umbra-opacity),0 .16rem .26667rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .48rem 0 var(--shadow-key-ambient-opacity)}.var-elevation--7{box-shadow:0 .10667rem .13333rem -.05333rem var(--shadow-key-umbra-opacity),0 .18667rem .26667rem .02667rem var(--shadow-key-penumbra-opacity),0 .05333rem .42667rem .02667rem var(--shadow-key-ambient-opacity)}.var-elevation--8{box-shadow:0 .13333rem .13333rem -.08rem var(--shadow-key-umbra-opacity),0 .21333rem .26667rem .02667rem var(--shadow-key-penumbra-opacity),0 .08rem .37333rem .05333rem var(--shadow-key-ambient-opacity)}.var-elevation--9{box-shadow:0 .13333rem .16rem -.08rem var(--shadow-key-umbra-opacity),0 .24rem .32rem .02667rem var(--shadow-key-penumbra-opacity),0 .08rem .42667rem .05333rem var(--shadow-key-ambient-opacity)}.var-elevation--10{box-shadow:0 .16rem .16rem -.08rem var(--shadow-key-umbra-opacity),0 .26667rem .37333rem .02667rem var(--shadow-key-penumbra-opacity),0 .10667rem .48rem .08rem var(--shadow-key-ambient-opacity)}.var-elevation--11{box-shadow:0 .16rem .18667rem -.10667rem var(--shadow-key-umbra-opacity),0 .29333rem .4rem .02667rem var(--shadow-key-penumbra-opacity),0 .10667rem .53333rem .08rem var(--shadow-key-ambient-opacity)}.var-elevation--12{box-shadow:0 .18667rem .21333rem -.10667rem var(--shadow-key-umbra-opacity),0 .32rem .45333rem .05333rem var(--shadow-key-penumbra-opacity),0 .13333rem .58667rem .10667rem var(--shadow-key-ambient-opacity)}.var-elevation--13{box-shadow:0 .18667rem .21333rem -.10667rem var(--shadow-key-umbra-opacity),0 .34667rem .50667rem .05333rem var(--shadow-key-penumbra-opacity),0 .13333rem .64rem .10667rem var(--shadow-key-ambient-opacity)}.var-elevation--14{box-shadow:0 .18667rem .24rem -.10667rem var(--shadow-key-umbra-opacity),0 .37333rem .56rem .05333rem var(--shadow-key-penumbra-opacity),0 .13333rem .69333rem .10667rem var(--shadow-key-ambient-opacity)}.var-elevation--15{box-shadow:0 .21333rem .24rem -.13333rem var(--shadow-key-umbra-opacity),0 .4rem .58667rem .05333rem var(--shadow-key-penumbra-opacity),0 .16rem .74667rem .13333rem var(--shadow-key-ambient-opacity)}.var-elevation--16{box-shadow:0 .21333rem .26667rem -.13333rem var(--shadow-key-umbra-opacity),0 .42667rem .64rem .05333rem var(--shadow-key-penumbra-opacity),0 .16rem .8rem .13333rem var(--shadow-key-ambient-opacity)}.var-elevation--17{box-shadow:0 .21333rem .29333rem -.13333rem var(--shadow-key-umbra-opacity),0 .45333rem .69333rem .05333rem var(--shadow-key-penumbra-opacity),0 .16rem .85333rem .13333rem var(--shadow-key-ambient-opacity)}.var-elevation--18{box-shadow:0 .24rem .29333rem -.13333rem var(--shadow-key-umbra-opacity),0 .48rem .74667rem .05333rem var(--shadow-key-penumbra-opacity),0 .18667rem .90667rem .16rem var(--shadow-key-ambient-opacity)}.var-elevation--19{box-shadow:0 .24rem .32rem -.16rem var(--shadow-key-umbra-opacity),0 .50667rem .77333rem .05333rem var(--shadow-key-penumbra-opacity),0 .18667rem .96rem .16rem var(--shadow-key-ambient-opacity)}.var-elevation--20{box-shadow:0 .26667rem .34667rem -.16rem var(--shadow-key-umbra-opacity),0 .53333rem .82667rem .08rem var(--shadow-key-penumbra-opacity),0 .21333rem 1.01333rem .18667rem var(--shadow-key-ambient-opacity)}.var-elevation--21{box-shadow:0 .26667rem .34667rem -.16rem var(--shadow-key-umbra-opacity),0 .56rem .88rem .08rem var(--shadow-key-penumbra-opacity),0 .21333rem 1.06667rem .18667rem var(--shadow-key-ambient-opacity)}.var-elevation--22{box-shadow:0 .26667rem .37333rem -.16rem var(--shadow-key-umbra-opacity),0 .58667rem .93333rem .08rem var(--shadow-key-penumbra-opacity),0 .21333rem 1.12rem .18667rem var(--shadow-key-ambient-opacity)}.var-elevation--23{box-shadow:0 .29333rem .37333rem -.18667rem var(--shadow-key-umbra-opacity),0 .61333rem .96rem .08rem var(--shadow-key-penumbra-opacity),0 .24rem 1.17333rem .21333rem var(--shadow-key-ambient-opacity)}.var-elevation--24{box-shadow:0 .29333rem .4rem -.18667rem var(--shadow-key-umbra-opacity),0 .64rem 1.01333rem .08rem var(--shadow-key-penumbra-opacity),0 .24rem 1.22667rem .21333rem var(--shadow-key-ambient-opacity)}:root{--loading-opacity: .38;--loading-desc-margin: .21333rem 0 0}.var-loading{--loading-normal-width: 1.33333rem;--loading-normal-height: calc(var(--font-size-md) + .05333rem);--loading-large-width: 1.70667rem;--loading-large-height: calc(var(--font-size-lg) + .05333rem);--loading-small-width: .96rem;--loading-small-height: calc(var(--font-size-sm) + .05333rem);--loading-mini-width: .58667rem;--loading-mini-height: calc(var(--font-size-xs) + .05333rem);position:relative}.var-loading__content{position:relative;transition:opacity .3s;opacity:1}.var-loading__content--active{opacity:var(--loading-opacity)}.var-loading__content-mask{position:absolute;left:0;right:0;top:0;bottom:0}.var-loading__body{display:flex;justify-content:center;align-items:center;height:100%;flex-direction:column}.var-loading__inside{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}.var-loading__description{color:var(--color-primary);margin:var(--loading-desc-margin)}.var-loading__description--large{font-size:var(--font-size-lg)}.var-loading__description--normal{font-size:var(--font-size-md)}.var-loading__description--small{font-size:var(--font-size-sm)}.var-loading__description--mini{font-size:var(--font-size-xs)}.var-loading__circle{display:flex}.var-loading__circle-block{display:inline-block;color:var(--color-primary);animation:circle 1.8s linear infinite}.var-loading__circle-block--large{width:.96rem;height:.96rem}.var-loading__circle-block--normal{width:.8rem;height:.8rem}.var-loading__circle-block--small{width:.64rem;height:.64rem}.var-loading__circle-block--mini{width:.48rem;height:.48rem}.var-loading__circle-block svg{display:block;width:100%;height:100%}.var-loading__circle-block svg circle{animation:circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}@keyframes circle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.var-loading__wave{--loading-wave-size-item-width: .13333rem;--loading-wave-size-item-margin: .13333rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.var-loading__wave--large{width:var(--loading-large-width);height:var(--loading-large-height)}.var-loading__wave--normal{width:var(--loading-normal-width);height:var(--loading-normal-height)}.var-loading__wave--small{width:var(--loading-small-width);height:var(--loading-small-height)}.var-loading__wave--mini{width:var(--loading-mini-width);height:var(--loading-mini-height)}.var-loading__wave-item{height:100%;display:inline-block;animation:1.2s ease-in-out infinite wave;background-color:var(--color-primary)}.var-loading__wave-item:nth-child(1){animation-delay:-1.2s;margin-left:0}.var-loading__wave-item:nth-child(2){animation-delay:-1.1s}.var-loading__wave-item:nth-child(3){animation-delay:-1s}.var-loading__wave-item:nth-child(4){animation-delay:-.9s}.var-loading__wave-item:nth-child(5){animation-delay:-.8s}.var-loading__wave-item--large{width:var(--loading-wave-size-item-width);margin-left:var(--loading-wave-size-item-margin)}.var-loading__wave-item--normal{width:calc(var(--loading-wave-size-item-width) - .02667rem);margin-left:calc(var(--loading-wave-size-item-margin) - .02667rem)}.var-loading__wave-item--small{width:calc(var(--loading-wave-size-item-width) - .05333rem);margin-left:calc(var(--loading-wave-size-item-margin) - .05333rem)}.var-loading__wave-item--mini{width:calc(var(--loading-wave-size-item-width) - .08rem);margin-left:calc(var(--loading-wave-size-item-margin) - .08rem)}@keyframes wave{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}.var-loading__cube{--loading-cube-size-item-width: .26667rem;--loading-cube-size-item-height: .26667rem;--loading-cube-size-item-margin: .13333rem;display:flex;align-items:center;flex-shrink:0}.var-loading__cube--large{width:var(--loading-large-width);height:var(--loading-large-height)}.var-loading__cube--normal{width:var(--loading-normal-width);height:var(--loading-normal-height)}.var-loading__cube--small{width:var(--loading-small-width);height:var(--loading-small-height)}.var-loading__cube--mini{width:var(--loading-mini-width);height:var(--loading-mini-height)}.var-loading__cube-item{display:inline-block;transform-origin:right bottom;animation:1.5s ease infinite cube;background-color:var(--color-primary)}.var-loading__cube-item:nth-child(1){animation-delay:.2s;margin-left:0}.var-loading__cube-item:nth-child(2){animation-delay:.4s}.var-loading__cube-item:nth-child(3){animation-delay:.6s}.var-loading__cube-item:nth-child(4){animation-delay:.8s}.var-loading__cube-item--large{height:var(--loading-cube-size-item-height);width:var(--loading-cube-size-item-width);margin-left:var(--loading-cube-size-item-margin)}.var-loading__cube-item--normal{height:calc(var(--loading-cube-size-item-height) - .05333rem);width:calc(var(--loading-cube-size-item-width) - .05333rem);margin-left:calc(var(--loading-cube-size-item-margin) - .02667rem)}.var-loading__cube-item--small{height:calc(var(--loading-cube-size-item-height) - .10667rem);width:calc(var(--loading-cube-size-item-width) - .10667rem);margin-left:calc(var(--loading-cube-size-item-margin) - .05333rem)}.var-loading__cube-item--mini{height:calc(var(--loading-cube-size-item-height) - .16rem);width:calc(var(--loading-cube-size-item-width) - .16rem);margin-left:calc(var(--loading-cube-size-item-margin) - .08rem)}@keyframes cube{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:rotate(90deg) scale(.3)}}.var-loading__rect{--loading-rect-size-item-width: .21333rem;--loading-rect-size-item-height: 100%;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;flex-shrink:0}.var-loading__rect--large{width:var(--loading-large-width);height:var(--loading-large-height)}.var-loading__rect--normal{width:var(--loading-normal-width);height:var(--loading-normal-height)}.var-loading__rect--small{width:var(--loading-small-width);height:var(--loading-small-height)}.var-loading__rect--mini{width:var(--loading-mini-width);height:var(--loading-mini-height)}.var-loading__rect-item{animation:2s ease-in-out infinite rect;background-color:var(--color-primary)}.var-loading__rect-item:nth-child(1){animation-delay:1.75s}.var-loading__rect-item:nth-child(2){animation-delay:1.5s}.var-loading__rect-item:nth-child(3){animation-delay:1.25s}.var-loading__rect-item:nth-child(4){animation-delay:1s}.var-loading__rect-item:nth-child(5){animation-delay:.75s}.var-loading__rect-item:nth-child(6){animation-delay:.5s}.var-loading__rect-item:nth-child(7){animation-delay:.25s}.var-loading__rect-item:nth-child(8){animation-delay:0s}.var-loading__rect-item--large{height:var(--loading-rect-size-item-height);width:var(--loading-rect-size-item-width)}.var-loading__rect-item--normal{height:calc(var(--loading-rect-size-item-height) * .9);width:calc(var(--loading-rect-size-item-width) * .8)}.var-loading__rect-item--small{height:calc(var(--loading-rect-size-item-height) * .8);width:calc(var(--loading-rect-size-item-width) * .6)}.var-loading__rect-item--mini{height:calc(var(--loading-rect-size-item-height) * .7);width:calc(var(--loading-rect-size-item-width) * .4)}@keyframes rect{0%{opacity:.3}25%{opacity:1}50%{opacity:.3}65%{opacity:1}to{opacity:.3}}.var-loading__disappear{--loading-disappear-size-item-width: .4rem;--loading-disappear-size-item-height: .4rem;display:flex;justify-content:space-around;align-items:center;flex-flow:nowrap;flex-shrink:0}.var-loading__disappear--large{width:var(--loading-large-width);height:var(--loading-large-height)}.var-loading__disappear--normal{width:var(--loading-normal-width);height:var(--loading-normal-height)}.var-loading__disappear--small{width:var(--loading-small-width);height:var(--loading-small-height)}.var-loading__disappear--mini{width:var(--loading-mini-width);height:var(--loading-mini-height)}.var-loading__disappear-item{border-radius:50%;animation:.5s ease-in-out infinite alternate disappear;background-color:var(--color-primary)}.var-loading__disappear-item:nth-child(1){animation-delay:-.4s}.var-loading__disappear-item:nth-child(2){animation-delay:-.2s}.var-loading__disappear-item:nth-child(3){animation-delay:0s}.var-loading__disappear-item--large{height:var(--loading-disappear-size-item-height);width:var(--loading-disappear-size-item-width)}.var-loading__disappear-item--normal{height:calc(var(--loading-disappear-size-item-height) * .8);width:calc(var(--loading-disappear-size-item-width) * .8)}.var-loading__disappear-item--small{height:calc(var(--loading-disappear-size-item-height) * .6);width:calc(var(--loading-disappear-size-item-width) * .6)}.var-loading__disappear-item--mini{height:calc(var(--loading-disappear-size-item-height) * .4);width:calc(var(--loading-disappear-size-item-width) * .4)}@keyframes disappear{0%{opacity:1}to{opacity:0}}:root{--button-default-color: #f5f5f5;--button-primary-color: var(--color-primary);--button-danger-color: var(--color-danger);--button-success-color: var(--color-success);--button-warning-color: var(--color-warning);--button-info-color: var(--color-info);--button-disabled-color: var(--color-disabled);--button-disabled-text-color: var(--color-text-disabled);--button-border-radius: .10667rem;--button-mini-padding: 0 .24rem;--button-small-padding: 0 .29333rem;--button-normal-padding: 0 .4rem;--button-large-padding: 0 .58667rem;--button-round-padding: .16rem;--button-mini-height: .53333rem;--button-small-height: .74667rem;--button-normal-height: .96rem;--button-large-height: 1.17333rem;--button-mini-font-size: var(--font-size-xs);--button-small-font-size: var(--font-size-sm);--button-normal-font-size: var(--font-size-md);--button-large-font-size: var(--font-size-lg)}.var-button{position:relative;justify-content:center;align-items:center;outline:none;border:none;border-radius:var(--button-border-radius);user-select:none;cursor:pointer;font-family:inherit;transition:box-shadow .2s,background-color .25s;will-change:box-shadow;-webkit-tap-highlight-color:rgba(0,0,0,0);white-space:nowrap}.var-button:active{box-shadow:0 .08rem .13333rem -.02667rem var(--shadow-key-umbra-opacity),0 .13333rem .21333rem 0 var(--shadow-key-penumbra-opacity),0 .02667rem .37333rem 0 var(--shadow-key-ambient-opacity)}.var-button__content{display:flex;align-items:center;flex-wrap:wrap}.var-button__loading[var-button-cover]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.var-button--default{color:inherit;background-color:var(--button-default-color)}.var-button--primary{color:#fff;background-color:var(--button-primary-color)}.var-button--info{color:#fff;background-color:var(--button-info-color)}.var-button--success{color:#fff;background-color:var(--button-success-color)}.var-button--warning{color:#fff;background-color:var(--button-warning-color)}.var-button--danger{color:#fff;background-color:var(--button-danger-color)}.var-button--disabled{background-color:var(--button-disabled-color);color:var(--button-disabled-text-color);cursor:not-allowed;box-shadow:none!important}.var-button--block{width:100%}.var-button--text{background-color:transparent}.var-button--text:active{box-shadow:none}.var-button--text-default{color:inherit}.var-button--text-primary{color:var(--button-primary-color)}.var-button--text-info{color:var(--button-info-color)}.var-button--text-success{color:var(--button-success-color)}.var-button--text-warning{color:var(--button-warning-color)}.var-button--text-danger{color:var(--button-danger-color)}.var-button--text-disabled{color:var(--button-disabled-text-color)}.var-button--normal{height:var(--button-normal-height);padding:var(--button-normal-padding);font-size:var(--button-normal-font-size)}.var-button--large{height:var(--button-large-height);padding:var(--button-large-padding);font-size:var(--button-large-font-size)}.var-button--small{height:var(--button-small-height);padding:var(--button-small-padding);font-size:var(--button-small-font-size)}.var-button--mini{height:var(--button-mini-height);padding:var(--button-mini-padding);font-size:var(--button-mini-font-size)}.var-button--round{padding:var(--button-round-padding);border-radius:50%;height:auto}.var-button--outline{border:thin solid currentColor}.var-button--hidden{opacity:0}@font-face{font-family:varlet-icons;src:url(data:font/truetype;charset=utf-8;base64,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8BUAAAAQAADwFgAA8BYAAAARAADwFwAA8BcAAAASAADwGAAA8BgAAAATAADwGQAA8BkAAAAUAADwIAAA8CAAAAAVAADwIQAA8CEAAAAWAADwIgAA8CIAAAAXAADwIwAA8CMAAAAYAADwJAAA8CQAAAAZAADwJQAA8CUAAAAaAADwJgAA8CYAAAAbAADwJwAA8CcAAAAcAADwKAAA8CgAAAAdAADwKQAA8CkAAAAeAADwMAAA8DAAAAAfAADwMQAA8DEAAAAgAADwMgAA8DIAAAAhAADwMwAA8DMAAAAiAADwNAAA8DQAAAAjAADwNQAA8DUAAAAkAADwNgAA8DYAAAAlAADwNwAA8DcAAAAmAADwOAAA8DgAAAAnAADwOQAA8DkAAAAoAADwQAAA8EAAAAApAADwQQAA8EEAAAAqAADwQgAA8EIAAAArAADwQwAA8EMAAAAsAADwRAAA8EQAAAAtAADwRQAA8EUAAAAuAADwRgAA8EYAAAAvAADwRwAA8EcAAAAwAADwSAAA8EgAAAAxAADwSQAA8EkAAAAyAADwUAAA8FAAAAAzAADwUQAA8FEAAAA0AADwUgAA8FIAAAA1AADwUwAA8FMAAAA2AADwVAAA8FQAAAA3AADwVQAA8FUAAAA4AADwVgAA8FYAAAA5AADwVwAA8FcAAAA6AADwWAAA8FgAAAA7AADwWQAA8FkAAAA8AADwYAAA8GAAAAA9AADwYQAA8GEAAAA+AADwYgAA8GIAAAA/AADwYwAA8GMAAABAAADwZAAA8GQAAABBAADwZQAA8GUAAABCAADwZgAA8GYAAABDAADwZwAA8GcAAABEAADwaAAA8GgAAABFAADwaQAA8GkAAABGAADwcAAA8HAAAABHAADwcQAA8HEAAABIAADwcgAA8HIAAABJAADwcwAA8HMAAABKAADwdAAA8HQAAABLAADwdQAA8HUAAABMAADwdgAA8HYAAABNAADwdwAA8HcAAABOAADweAAA8HgAAABPAADweQAA8HkAAABQAADwgAAA8IAAAABRAADwgQAA8IEAAABSAADwggAA8IIAAABTAADwgwAA8IMAAABUAADwhAAA8IQAAABVAADwhQAA8IUAAABWAADwhgAA8IYAAABXAADwhwAA8IcAAABYAADwiAAA8IgAAABZAADwiQAA8IkAAABaAADwkAAA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AGMAbwBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwAHYAYQByAGwAZQB0AC0AaQBjAG8AbgBzAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcwECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0ABZjaGVja2JveC1tYXJrZWQtY2lyY2xlFGNoZWNrLWNpcmNsZS1vdXRsaW5lC2luZm9ybWF0aW9uE2luZm9ybWF0aW9uLW91dGxpbmUHd2FybmluZw1hbGVydC1vdXRsaW5lBWVycm9yFGFsZXJ0LWNpcmNsZS1vdXRsaW5lD2NoZWNrYm94LW1hcmtlZBdjaGVja2JveC1tYXJrZWQtb3V0bGluZRZjaGVja2JveC1ibGFuay1vdXRsaW5lDHJhZGlvLW1hcmtlZB5jaGVja2JveC1tYXJrZWQtY2lyY2xlLW91dGxpbmULcmFkaW8tYmxhbmsMY2xvc2UtY2lyY2xlFGNsb3NlLWNpcmNsZS1vdXRsaW5lCWNsb3NlLWJveBFjbG9zZS1ib3gtb3V0bGluZQxtaW51cy1jaXJjbGUUbWludXMtY2lyY2xlLW91dGxpbmUEc3Rhcg5zdGFyLWhhbGYtZnVsbAxzdGFyLW91dGxpbmUFaGVhcnQPaGVhcnQtaGFsZi1mdWxsDWhlYXJ0LW91dGxpbmUGZGVsZXRlCXRyYXNoLWNhbhF0cmFzaC1jYW4tb3V0bGluZQltaW51cy1ib3gRbWludXMtYm94LW91dGxpbmUOYWNjb3VudC1jaXJjbGUWYWNjb3VudC1jaXJjbGUtb3V0bGluZQNjb2cLY29nLW91dGxpbmURbWFwLW1hcmtlci1yYWRpdXMZbWFwLW1hcmtlci1yYWRpdXMtb3V0bGluZQZjYW1lcmEOY2FtZXJhLW91dGxpbmUEY2FydAxjYXJ0LW91dGxpbmUFcGhvbmUNcGhvbmUtb3V0bGluZQVpbWFnZQ1pbWFnZS1vdXRsaW5lBGJlbGwMYmVsbC1vdXRsaW5lBGhvbWUMaG9tZS1vdXRsaW5lCm1hcC1tYXJrZXISbWFwLW1hcmtlci1vdXRsaW5lDG1hZ25pZnktcGx1cxRtYWduaWZ5LXBsdXMtb3V0bGluZQ1tYWduaWZ5LW1pbnVzFW1hZ25pZnktbWludXMtb3V0bGluZQtwbGF5LWNpcmNsZRNwbGF5LWNpcmNsZS1vdXRsaW5lC2hlbHAtY2lyY2xlE2hlbHAtY2lyY2xlLW91dGxpbmULcGx1cy1jaXJjbGUTcGx1cy1jaXJjbGUtb3V0bGluZQVjaGVjawx3aW5kb3ctY2xvc2UEcGx1cwVtaW51cwpjaGV2cm9uLXVwDGNoZXZyb24tZG93bgxjaGV2cm9uLWxlZnQNY2hldnJvbi1yaWdodAdtZW51LXVwCW1lbnUtZG93bgltZW51LWxlZnQKbWVudS1yaWdodAZ1cGxvYWQIZG93bmxvYWQUZm9ybWF0LWxpc3QtY2hlY2tib3gEbWVudQltZW51LW9wZW4NZG90cy12ZXJ0aWNhbBRtZXNzYWdlLXRleHQtb3V0bGluZRptZXNzYWdlLXByb2Nlc3Npbmctb3V0bGluZRN3aGl0ZS1iYWxhbmNlLXN1bm55DndlYXRoZXItY2xvdWR5EXdlYXRoZXItbGlnaHRuaW5nD3dlYXRoZXItcG91cmluZw13ZWF0aGVyLXNub3d5DXdlYXRoZXItcmFpbnkJdHJhbnNsYXRlB21hZ25pZnkGZ2l0aHViB3JlZnJlc2gKYXJyb3ctZG93bgVwb3dlchVmaWxlLWRvY3VtZW50LW91dGxpbmUEZmlyZQR3aWZpBndyZW5jaAxjYWtlLXZhcmlhbnQIbm90ZWJvb2sJY2VsbHBob25lDXdlYXRoZXItbmlnaHQDeG1sDGNvbnRlbnQtY29weQtxcmNvZGUtc2NhbgxiYXJjb2RlLXNjYW4Ic2hvcHBpbmcQc2hvcHBpbmctb3V0bGluZRRjYXJkLWFjY291bnQtZGV0YWlscxxjYXJkLWFjY291bnQtZGV0YWlscy1vdXRsaW5lA3BpbgdwaW4tb2ZmC3Bpbi1vdXRsaW5lD3Bpbi1vZmYtb3V0bGluZQljb2RlLWpzb24AAAA=) format("truetype");font-weight:400;font-style:normal}.var-icon--set{font-family:varlet-icons}.var-icon-checkbox-marked-circle:before{content:"\\f000"}.var-icon-check-circle-outline:before{content:"\\f001"}.var-icon-information:before{content:"\\f002"}.var-icon-information-outline:before{content:"\\f003"}.var-icon-warning:before{content:"\\f004"}.var-icon-alert-outline:before{content:"\\f005"}.var-icon-error:before{content:"\\f006"}.var-icon-alert-circle-outline:before{content:"\\f007"}.var-icon-checkbox-marked:before{content:"\\f008"}.var-icon-checkbox-marked-outline:before{content:"\\f009"}.var-icon-checkbox-blank-outline:before{content:"\\f010"}.var-icon-radio-marked:before{content:"\\f011"}.var-icon-checkbox-marked-circle-outline:before{content:"\\f012"}.var-icon-radio-blank:before{content:"\\f013"}.var-icon-close-circle:before{content:"\\f014"}.var-icon-close-circle-outline:before{content:"\\f015"}.var-icon-close-box:before{content:"\\f016"}.var-icon-close-box-outline:before{content:"\\f017"}.var-icon-minus-circle:before{content:"\\f018"}.var-icon-minus-circle-outline:before{content:"\\f019"}.var-icon-star:before{content:"\\f020"}.var-icon-star-half-full:before{content:"\\f021"}.var-icon-star-outline:before{content:"\\f022"}.var-icon-heart:before{content:"\\f023"}.var-icon-heart-half-full:before{content:"\\f024"}.var-icon-heart-outline:before{content:"\\f025"}.var-icon-delete:before{content:"\\f026"}.var-icon-trash-can:before{content:"\\f027"}.var-icon-trash-can-outline:before{content:"\\f028"}.var-icon-minus-box:before{content:"\\f029"}.var-icon-minus-box-outline:before{content:"\\f030"}.var-icon-account-circle:before{content:"\\f031"}.var-icon-account-circle-outline:before{content:"\\f032"}.var-icon-cog:before{content:"\\f033"}.var-icon-cog-outline:before{content:"\\f034"}.var-icon-map-marker-radius:before{content:"\\f035"}.var-icon-map-marker-radius-outline:before{content:"\\f036"}.var-icon-camera:before{content:"\\f037"}.var-icon-camera-outline:before{content:"\\f038"}.var-icon-cart:before{content:"\\f039"}.var-icon-cart-outline:before{content:"\\f040"}.var-icon-phone:before{content:"\\f041"}.var-icon-phone-outline:before{content:"\\f042"}.var-icon-image:before{content:"\\f043"}.var-icon-image-outline:before{content:"\\f044"}.var-icon-bell:before{content:"\\f045"}.var-icon-bell-outline:before{content:"\\f046"}.var-icon-home:before{content:"\\f047"}.var-icon-home-outline:before{content:"\\f048"}.var-icon-map-marker:before{content:"\\f049"}.var-icon-map-marker-outline:before{content:"\\f050"}.var-icon-magnify-plus:before{content:"\\f051"}.var-icon-magnify-plus-outline:before{content:"\\f052"}.var-icon-magnify-minus:before{content:"\\f053"}.var-icon-magnify-minus-outline:before{content:"\\f054"}.var-icon-play-circle:before{content:"\\f055"}.var-icon-play-circle-outline:before{content:"\\f056"}.var-icon-help-circle:before{content:"\\f057"}.var-icon-help-circle-outline:before{content:"\\f058"}.var-icon-plus-circle:before{content:"\\f059"}.var-icon-plus-circle-outline:before{content:"\\f060"}.var-icon-check:before{content:"\\f061"}.var-icon-window-close:before{content:"\\f062"}.var-icon-plus:before{content:"\\f063"}.var-icon-minus:before{content:"\\f064"}.var-icon-chevron-up:before{content:"\\f065"}.var-icon-chevron-down:before{content:"\\f066"}.var-icon-chevron-left:before{content:"\\f067"}.var-icon-chevron-right:before{content:"\\f068"}.var-icon-menu-up:before{content:"\\f069"}.var-icon-menu-down:before{content:"\\f070"}.var-icon-menu-left:before{content:"\\f071"}.var-icon-menu-right:before{content:"\\f072"}.var-icon-upload:before{content:"\\f073"}.var-icon-download:before{content:"\\f074"}.var-icon-format-list-checkbox:before{content:"\\f075"}.var-icon-menu:before{content:"\\f076"}.var-icon-menu-open:before{content:"\\f077"}.var-icon-dots-vertical:before{content:"\\f078"}.var-icon-message-text-outline:before{content:"\\f079"}.var-icon-message-processing-outline:before{content:"\\f080"}.var-icon-white-balance-sunny:before{content:"\\f081"}.var-icon-weather-cloudy:before{content:"\\f082"}.var-icon-weather-lightning:before{content:"\\f083"}.var-icon-weather-pouring:before{content:"\\f084"}.var-icon-weather-snowy:before{content:"\\f085"}.var-icon-weather-rainy:before{content:"\\f086"}.var-icon-translate:before{content:"\\f087"}.var-icon-magnify:before{content:"\\f088"}.var-icon-github:before{content:"\\f089"}.var-icon-refresh:before{content:"\\f090"}.var-icon-arrow-down:before{content:"\\f091"}.var-icon-power:before{content:"\\f092"}.var-icon-file-document-outline:before{content:"\\f093"}.var-icon-fire:before{content:"\\f094"}.var-icon-wifi:before{content:"\\f095"}.var-icon-wrench:before{content:"\\f096"}.var-icon-cake-variant:before{content:"\\f097"}.var-icon-notebook:before{content:"\\f098"}.var-icon-cellphone:before{content:"\\f099"}.var-icon-weather-night:before{content:"\\f100"}.var-icon-xml:before{content:"\\f101"}.var-icon-content-copy:before{content:"\\f102"}.var-icon-qrcode-scan:before{content:"\\f103"}.var-icon-barcode-scan:before{content:"\\f104"}.var-icon-shopping:before{content:"\\f105"}.var-icon-shopping-outline:before{content:"\\f106"}.var-icon-card-account-details:before{content:"\\f107"}.var-icon-card-account-details-outline:before{content:"\\f108"}.var-icon-pin:before{content:"\\f109"}.var-icon-pin-off:before{content:"\\f110"}.var-icon-pin-outline:before{content:"\\f111"}.var-icon-pin-off-outline:before{content:"\\f112"}.var-icon-code-json:before{content:"\\f113"}:root{--icon-size: .53333rem}.var-icon{position:relative;display:inline-flex;justify-content:center;align-items:center;vertical-align:bottom;color:inherit;font-size:var(--icon-size)}.var-icon:before{position:relative;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;font-weight:400;font-style:normal;line-height:1}.var-icon--shrinking{transform:scale(0);transition-property:transform}.var-icon__image{width:var(--icon-size);height:var(--icon-size);object-fit:cover}:root{--snackbar-width: 6.82667rem;--snackbar-color: rgba(255, 255, 255, .87);--snackbar-border-radius: .10667rem;--snackbar-background: #333;--snackbar-font-size: var(--font-size-md);--snackbar-margin: .16rem .64rem;--snackbar-border-color: currentColor;--snackbar-success-background: var(--color-success);--snackbar-info-background: var(--color-info);--snackbar-error-background: var(--color-danger);--snackbar-warning-background: var(--color-warning);--snackbar-content-padding: .37333rem .42667rem;--snackbar-action-margin: 0 .42667rem 0 0}.var-transition-group{position:fixed;left:0;right:0;top:0;bottom:0;pointer-events:none}.var-pointer-auto{pointer-events:auto}.var-snackbar{display:flex;justify-content:center;align-items:baseline;left:0;right:0;bottom:0;transition:all .15s var(--cubic-bezier)}.var-snackbar__transition{top:0;position:fixed}.var-snackbar__transition .var-snackbar__wrapper{position:absolute}.var-snackbar__transition .var-snackbar__wrapper-top{top:5%}.var-snackbar__transition .var-snackbar__wrapper-center{top:45%}.var-snackbar__transition .var-snackbar__wrapper-bottom{bottom:5%}.var-snackbar__wrapper{width:var(--snackbar-width);display:flex;border-radius:var(--snackbar-border-radius);color:var(--snackbar-color);background:var(--snackbar-background);font-size:var(--snackbar-font-size);margin:var(--snackbar-margin);align-items:center;border-color:var(--snackbar-border-color);pointer-events:auto;transition:.3s var(--cubic-bezier)}.var-snackbar__wrapper-success{background:var(--snackbar-success-background)}.var-snackbar__wrapper-info{background:var(--snackbar-info-background)}.var-snackbar__wrapper-warning{background:var(--snackbar-warning-background)}.var-snackbar__wrapper-error{background:var(--snackbar-error-background)}.var-snackbar__content{flex-grow:1;padding:var(--snackbar-content-padding)}.var-snackbar__action{margin:var(--snackbar-action-margin);display:flex}.var-snackbar__vertical{flex-direction:column;align-items:flex-start}.var-snackbar__vertical .var-snackbar__action{align-self:flex-end;margin-bottom:.21333rem}.var-snackbar-fade-enter-from,.var-snackbar-fade-leave-to{opacity:0;transform:translateY(-.8rem)}:root{--cell-color: var(--color-text);--cell-font-size: var(--font-size-md);--cell-description-font-size: var(--font-size-sm);--cell-description-color: rgba(0, 0, 0, .6);--cell-description-margin-top: .10667rem;--cell-padding: .26667rem .32rem;--cell-min-height: 1.06667rem;--cell-border-color: #bcc2cb;--cell-border-left: .32rem;--cell-border-right: .32rem;--cell-icon-right: .21333rem;--cell-extra-left: .21333rem}.var-cell{align-items:center;display:flex;min-height:var(--cell-min-height);outline:none;width:100%;padding:var(--cell-padding);position:relative;box-sizing:border-box;font-size:var(--cell-font-size);color:var(--cell-color)}.var-cell--border:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;bottom:0;right:var(--cell-border-right);left:var(--cell-border-left);border-bottom:.02667rem solid var(--cell-border-color);transform:scaleY(.5)}.var-cell__icon{margin-right:var(--cell-icon-right);flex:0}.var-cell__content{flex:1;overflow:hidden}.var-cell__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.var-cell__description{font-size:var(--cell-description-font-size);color:var(--cell-description-color);margin-top:var(--cell-description-margin-top)}.var-cell__extra{flex:0;margin-left:var(--cell-extra-left)}.var-cell--cursor{cursor:pointer}:root{--ripple-cubic-bezier: cubic-bezier(.68, .01, .62, .6);--ripple-color: currentColor}.var-ripple{position:absolute;transition:transform .2s var(--ripple-cubic-bezier),opacity .14s linear;top:0;left:0;border-radius:50%;opacity:0;will-change:transform,opacity;pointer-events:none;z-index:100;background-color:var(--ripple-color)}:root{--form-details-error-message-color: var(--color-danger);--form-details-extra-message-color: #888;--form-details-margin-top: .16rem;--form-details-font-size: .32rem;--form-details-message-margin-right: .10667rem}.var-form-details{display:flex;justify-content:space-between;font-size:var(--form-details-font-size);margin-top:var(--form-details-margin-top)}.var-form-details-enter-from,.var-form-details-leave-to{opacity:0;margin-top:.05333rem!important}.var-form-details-enter-active,.var-form-details-leave-active{transition:.2s all var(--cubic-bezier)}.var-form-details__message-enter-from,.var-form-details__message-leave-to{opacity:0}.var-form-details__message-enter-active,.var-form-details__message-leave-active{transition:.2s all var(--cubic-bezier)}.var-form-details__error-message{flex-grow:1;color:var(--form-details-error-message-color);margin-right:var(--form-details-message-margin-right);user-select:none;text-align:left}.var-form-details__extra-message{flex-shrink:0;color:var(--form-details-extra-message-color);user-select:none;text-align:right}.var-hover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background-color:currentColor;opacity:0;transition:opacity .15s;will-change:opacity;pointer-events:none}.var-hover-overlay--hovering{opacity:.15}:root{--switch-track-background: #fff;--switch-track-active-background: var(--color-primary);--switch-track-error-background: var(--color-danger);--switch-ripple-color: var(--color-primary);--switch-handle-background: #fff;--switch-handle-color: #fff;--switch-handle-active-background: var(--color-primary);--switch-handle-error-background: var(--color-danger);--switch-disabled-opacity: var(--opacity-disabled)}.var-switch{display:inline-block}.var-switch__block{position:relative;display:flex;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;justify-content:center;height:.64rem;width:1.06667rem;transition:filter .25s}.var-switch--disabled{filter:opacity(var(--switch-disabled-opacity));cursor:not-allowed}.var-switch__track{background-color:var(--switch-track-background);transition:background-color .25s;filter:opacity(var(--switch-disabled-opacity));height:.384rem;width:1.01333rem;border-radius:calc(.53333rem * 2 / 3)}.var-switch__track--active{background-color:var(--switch-track-active-background)}.var-switch__track--error{background-color:var(--switch-track-error-background)!important}.var-switch__ripple{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--switch-ripple-color);border-radius:50%;overflow:hidden;transition:.3s var(--cubic-bezier);width:1.06667rem;height:1.06667rem;left:-.26667rem}.var-switch__ripple--active{left:.26667rem}.var-switch__handle{border-radius:50%;background-color:var(--switch-handle-background);display:flex;align-items:center;justify-content:center;color:var(--switch-handle-color);transition:background-color .25s;width:.53333rem;height:.53333rem}.var-switch__handle--active{background-color:var(--switch-handle-active-background)}.var-switch__handle--error{background-color:var(--switch-handle-error-background)!important}*{margin:0;padding:0;box-sizing:border-box}img{-webkit-touch-callout:none}body{user-select:none}:root{--cursor-color: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABRJREFUCB1jZDy49T8DEDCBCBAAACTkAnq23WmtAAAAAElFTkSuQmCC);--container-background: #fff;--active-stave-box: rgba(1, 193, 181, .2);--corsor-opacity: 1}.eyeProtection{--cursor-color: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABZJREFUCB1j/N8sv5UBCJhABMN/hv8AKQgEWNQffFMAAAAASUVORK5CYII=);--container-background: #fff4e1;--active-measur-backgorund: rgba(255, 98, 37, .18)}.hideCursor{--corsor-opacity: 0}.selectionToast{top:10vh}.pop-center-enter-from,.pop-center-leave-to{transform:scale(0)}.pop-center-enter-active,.pop-center-leave-active{transition:all .25s}:root{--van-duration-base: .25s}.van-overlay{transition:all .25s}.popup-custom{transition:all .25s;background:transparent;overflow:initial;max-width:100%}.popup-custom.van-scale{transform-origin:center -25%}.van-scale-enter-from,.van-scale-leave-to{opacity:0;transform:scale(.3)}.van-scale-enter-active,.van-scale-leave-active{transition:all .25s}.custom-close-btn .van-popup__close-icon{top:0;right:-.8rem;background-color:#fff;border-radius:50%;padding:.10667rem;font-size:.42667rem;color:var(--van-primary-color)}.v-slide-right-enter-from,.v-slide-right-leave-to{transform:translate(100%)}.v-slide-right-enter-active,.v-slide-right-leave-active{transition:all .3s}.v-slide-up-enter-from,.v-slide-up-leave-to{transform:translateY(100%)}.v-slide-up-enter-active,.v-slide-up-leave-active{transition:all .3s}@keyframes guideKeyframes{0%{transform:scale(.9)}50%{transform:scale(1)}to{transform:scale(.9)}}.guideAnimate{animation-duration:1.5s;animation-name:guideKeyframes;animation-iteration-count:infinite}._scoreMode_6lpfe_1{background:transparent;left:10vw}._tipBox_6lpfe_5{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:999;background:#fff;border-radius:.53333rem;font-size:.32rem}._tipBox_6lpfe_5 ._tipContent_6lpfe_15{padding:.53333rem .53333rem 0}._tipBox_6lpfe_5 ._tipBtn_6lpfe_18{border-radius:.53333rem;background-color:var(--van-primary-color);color:#fff;width:2.66667rem;margin:.53333rem auto;text-align:center;line-height:.8rem;cursor:pointer}._hiddenPop_6lpfe_28{width:.02667rem;height:.02667rem;overflow:hidden;opacity:0}._audioList_1j0z3_1{position:fixed;left:0;bottom:0;width:100%;z-index:-1000000}._popup_1838h_1{background:transparent;width:100%;height:100%}._dots_1838h_6{display:flex;justify-content:center;align-items:center;width:100%;height:100%}._dot_1838h_6{width:.8rem;height:.8rem;margin:0 .53333rem;background-color:silver;border-radius:50%}._dot_1838h_6._active_1838h_20{background-color:#fff}._dot_1838h_6._one_1838h_23{background-color:var(--van-primary-color)}._fraction_8vx8x_1{display:flex;flex-direction:column;align-items:center;color:#fff;background-color:#fff;border-radius:.53333rem;width:7.04rem;position:relative}._fraction_8vx8x_1 ._close_8vx8x_11{position:absolute;width:.50667rem;height:.50667rem;right:.26667rem;top:.26667rem}._fraction_8vx8x_1 ._bg_8vx8x_18{width:7.04rem}._fraction_8vx8x_1 ._content_8vx8x_21 ._title_8vx8x_21{margin:.53333rem 0 .26667rem;font-size:.42667rem;font-family:PingFangSC,PingFang SC;font-weight:500;color:#1a1a1a;text-align:center}._fraction_8vx8x_1 ._content_8vx8x_21 ._desc_8vx8x_29{font-size:.37333rem;font-family:PingFangSC,PingFang SC;font-weight:400;color:gray;margin-bottom:.42667rem;text-align:center}._fraction_8vx8x_1 ._btn_8vx8x_37{width:3.12rem;height:.96rem;margin-bottom:.45333rem}._loadColumn_8vx8x_42{display:flex;align-items:center;background:#fff;border-radius:.26667rem;padding:.48rem;position:relative}._loadColumn_8vx8x_42 ._close_8vx8x_11{position:absolute;width:.50667rem;height:.50667rem;right:-.8rem;top:-.58667rem}._loadColumn_8vx8x_42 ._loadIcon_8vx8x_57{width:.45333rem;height:.45333rem}._loadColumn_8vx8x_42 ._successIcon_8vx8x_61{width:.53333rem;height:.53333rem}._loadColumn_8vx8x_42 p{font-size:.42667rem;font-family:PingFangSC,PingFang SC;font-weight:500;color:#1a1a1a;margin-left:.26667rem}._selectionContainer_1ofh0_1{position:absolute;left:0;top:0;right:0;z-index:2}._position_1ofh0_8{position:absolute}._note_1ofh0_11{cursor:pointer}._staveBox_1ofh0_14{background-color:var(--active-stave-box)!important}._leftStaveBox_1ofh0_17{background-color:var(--active-stave-box)}._leftStaveBox_1ofh0_17:before{content:"";position:absolute;left:-.13333rem;top:-.13333rem;width:.13333rem;height:100%;border-top:.13333rem solid var(--van-primary-color);border-left:.13333rem solid var(--van-primary-color);border-bottom:.13333rem solid var(--van-primary-color)}._rightStaveBox_1ofh0_31{background-color:var(--active-stave-box)}._rightStaveBox_1ofh0_31:after{content:"";position:absolute;right:-.13333rem;top:-.13333rem;width:.13333rem;height:100%;border-top:.13333rem solid var(--van-primary-color);border-right:.13333rem solid var(--van-primary-color);border-bottom:.13333rem solid var(--van-primary-color)}._centerStaveBox_1ofh0_45{background-color:var(--active-stave-box)}._centerStaveBox_1ofh0_45:before{content:"";position:absolute;left:-.13333rem;top:-.13333rem;width:.13333rem;height:100%;border-top:.13333rem solid var(--van-primary-color);border-left:.13333rem solid var(--van-primary-color);border-bottom:.13333rem solid var(--van-primary-color)}._centerStaveBox_1ofh0_45:after{content:"";position:absolute;right:-.13333rem;top:-.13333rem;width:.13333rem;height:100%;border-top:.13333rem solid var(--van-primary-color);border-right:.13333rem solid var(--van-primary-color);border-bottom:.13333rem solid var(--van-primary-color)}._prepareStaveBox_1ofh0_70{background-color:rgba(255,98,37,.18)}._disable_1ofh0_73{pointer-events:none}._line_1ofh0_76{position:absolute;height:120%;background-color:rgba(25,140,254,.7);min-height:58PX;height:58PX;top:50%;width:2PX!important;border-radius:4Px;opacity:var(--corsor-opacity);transform:translate(4PX,-50%)}._eyeLine_1ofh0_88{background-color:#ff9f58}._lineStaff_1ofh0_91{width:14PX}._lineJianPu_1ofh0_94{width:18PX}.lineHide{opacity:0!important}._scoreItem_1ofh0_100{position:absolute;left:50%;top:-90%;transform:translate(-50%);font-size:.42667rem;font-family:Roboto,sans-serif;font-weight:700;display:flex;align-items:center;pointer-events:none;transition:all .8s}._scoreItem_1ofh0_100 img{height:.8rem}.scoreItemLeve0{background-color:rgba(255,142,142,.32)!important}.scoreItemLeve1{background-color:rgba(1,193,181,.2)!important}.scoreItemLeve2{background-color:rgba(255,178,82,.37)!important}.scoreItemLeve3{background-color:rgba(255,220,64,.4)!important}.centerTop-enter-active{opacity:1}.centerTop-enter-from{opacity:0;left:50%;top:50%;transform:translate(-50%) translateY(-50%) scale(.3)}._dotWrap_1ofh0_137{position:absolute;top:-.26667rem;right:6%;display:flex;justify-content:center;align-items:center;width:.53333rem;height:.53333rem;border-radius:50%;background-color:#ff9100;color:#fff;font-weight:700;font-size:.37333rem}._noteFollow_1ofh0_152{pointer-events:none;text-align:center;display:none}._noteFollow_1ofh0_152 .van-icon-success,._noteFollow_1ofh0_152 .van-icon-cross{display:none}.follow-error,.follow-error .van-icon-cross{display:block}.follow-down .van-icon-cross{color:#ffca67!important}.follow-down .vf-note path{fill:#ffca67!important;stroke:#ffca67!important}.follow-up .van-icon-cross{color:red!important}.follow-up .vf-note path{fill:red!important;stroke:red!important}.follow-success{display:block}.follow-success .van-icon-success{display:block;color:#07c160}._linePC_1ofh0_188 ._line_1ofh0_76{min-height:94Px;transform:translateX(8.5Px,-50%)}._noteDot_1ofh0_192{position:absolute;left:50%;top:50%;transform:translate(-50%);width:.05333rem;height:.05333rem}._noteMove_6dz5a_1{position:absolute}._noteMove_6dz5a_1:before{content:"";position:absolute;left:-.10667rem;right:-.10667rem;bottom:-.10667rem;top:-.10667rem;border-radius:.05333rem;background-color:rgba(0,0,0,.3)}._activeModel_6dz5a_14:before{background-color:rgba(255,145,0,.3)}._toolBox_6dz5a_17{position:fixed;left:0;top:30%;padding:.21333rem;background:rgba(0,0,0,.3);border-radius:.10667rem;display:flex;flex-direction:column;z-index:10;backdrop-filter:blur(.26667rem)}._toolBox_6dz5a_17>div,._toolBox_6dz5a_17>button{margin:.10667rem 0}._moveDisabled_6dz5a_33 ._noteMove_6dz5a_1{display:none}._hideTool_6dz5a_36{transform:translate(-120%)}._rightHideIcon_6dz5a_39{width:.4rem;height:.8rem;position:absolute;left:0;top:50%;z-index:10;cursor:pointer;transition:all .5s;transform:rotate(180deg)}:root{--tooltip-opacity: .9;--tooltip-border-radius: .10667rem;--tooltip-font-size: .37333rem;--tooltip-padding: .21333rem .42667rem;--tooltip-default-color: #616161;--tooltip-offset: .26667rem;--tooltip-primary-color: var(--color-primary);--tooltip-info-color: var(--color-info);--tooltip-success-color: var(--color-success);--tooltip-warning-color: var(--color-warning);--tooltip-danger-color: var(--color-danger)}.var-tooltip-enter-from,.var-tooltip-leave-to{opacity:0}.var-tooltip-enter-active,.var-tooltip-leave-active{transition-property:opacity;transition-duration:.25s}.var-tooltip{display:inline-block}.var-tooltip__content-container{display:inline-block;text-align:center;border-radius:var(--tooltip-border-radius);font-size:var(--tooltip-font-size);padding:var(--tooltip-padding);opacity:var(--tooltip-opacity);transition:opacity .25s,background-color .25s}.var-tooltip--default{color:#fff;background:var(--tooltip-default-color)}.var-tooltip--primary{color:#fff;background-color:var(--tooltip-primary-color)}.var-tooltip--info{color:#fff;background-color:var(--tooltip-info-color)}.var-tooltip--success{color:#fff;background-color:var(--tooltip-success-color)}.var-tooltip--warning{color:#fff;background-color:var(--tooltip-warning-color)}.var-tooltip--danger{color:#fff;background-color:var(--tooltip-danger-color)}.var-tooltip__tooltip[data-popper-placement=top] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=top-start] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=top-end] .var-tooltip__content-container{margin-bottom:var(--tooltip-offset)}.var-tooltip__tooltip[data-popper-placement=bottom] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=bottom-start] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=bottom-end] .var-tooltip__content-container{margin-top:var(--tooltip-offset)}.var-tooltip__tooltip[data-popper-placement=right] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=right-start] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=right-end] .var-tooltip__content-container{margin-left:var(--tooltip-offset)}.var-tooltip__tooltip[data-popper-placement=left] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=left-start] .var-tooltip__content-container,.var-tooltip__tooltip[data-popper-placement=left-end] .var-tooltip__content-container{margin-right:var(--tooltip-offset)}.var-button-group{display:inline-flex;border-radius:var(--button-border-radius);max-width:100%;overflow:auto}.var-button-group .var-button:active{box-shadow:none}.var-button-group--horizontal .var-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.var-button-group--horizontal .var-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.var-button-group--horizontal .var-button:not(:first-child):not(:last-child){border-radius:0}.var-button-group--horizontal.var-button-group--mode-text .var-button{border-right:thin solid currentColor}.var-button-group--horizontal.var-button-group--mode-text .var-button:last-child{border:none}.var-button-group--horizontal.var-button-group--mode-outline .var-button:not(:first-child){border-left:none}.var-button-group--vertical{flex-direction:column}.var-button-group--vertical .var-button:first-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.var-button-group--vertical .var-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.var-button-group--vertical .var-button:not(:first-child):not(:last-child){border-radius:0}.var-button-group--vertical.var-button-group--mode-text .var-button{border-bottom:thin solid currentColor}.var-button-group--vertical.var-button-group--mode-text .var-button:last-child{border:none}.var-button-group--vertical.var-button-group--mode-outline .var-button:not(:first-child){border-top:none}#musicAndSelection{position:relative;overflow-y:auto;overflow-x:scroll;height:100%;max-height:100vh;transform:translateY(-5%)}#musicAndSelection::-webkit-scrollbar{width:0;display:none}#musicAndSelection>div{transform:scale(var(--music-zoom));transform-origin:left top}#musicAndSelection #osmdCanvasPage1{position:absolute!important;left:0;top:0}._inGradualRange_ycrkh_22 #cursorImg-0{opacity:0!important}\n',document.head.appendChild(__vite_style__),{execute:function(){var _window$webkit,_window$webkit$messag,_window$webkit2,_window$webkit2$messa,_window$webkit3,_window$webkit3$messa;exports({J:useClickAway,U:toRefs,V:isVNode,Y:useRoute$1,a9:useRouter,aV:createNamespace$1,aY:withInstall,as:nextTick,av:createRouter,aw:createWebHashHistory,b5:usePageVisibility,bA:useParent$1,bB:useExpose,bC:watchEffect,bD:useEventListener$1,bE:preventDefault,bG:useChildren$1,bH:pick$1,bL:unitToPx,bO:mergeProps,bQ:useScrollParent,bT:isHidden,bU:addUnit,bV:usePlaceholder,bX:useRoute,ba:defineAsyncComponent,bz:useTouch,c0:noop$1,c4:callInterceptor,c6:mountComponent,c7:usePopupState,c8:useCustomFieldValue,c9:raf,cB:resetScroll,cD:cancelRaf,cE:getSizeStyle,cH:addNumber,cI:defineListenerProp,cJ:useZIndex,cK:useTeleport,cL:useLock,cM:useRouteListener,cO:call,cP:createNamespace,ca:getScrollTop,cb:setScrollTop,cd:onDeactivated,ce:onMountedOrActivated,cf:getZIndexStyle,ci:onActivated,cj:onPopupReopen,ck:doubleRaf,cl:useId,cn:setRootScrollTop,co:getElementTop,cp:route,cq:inject,cr:provide,cs:withDirectives,cu:getRootScrollTop,cz:formatNumber,d:defineComponent,k:createTextVNode,l:ref,n:reactive,q:showToast,w:watch});const index="",common="",popup$1="",SnackbarSfc="",elevation="",loading$1="",button="",icon="",snackbar="",coreSfc="",cell="",CellSfc="",ripple="",formDetails="",hoverOverlay="",_switch="",SwitchSfc="",style="";function makeMap(e,t){const n=Object.create(null),i=e.split(",");for(let r=0;r<i.length;r++)n[i[r]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}function normalizeStyle(e){if(isArray$9(e)){const t={};for(let n=0;n<e.length;n++){const i=e[n],r=isString$2(i)?parseStringStyle(i):normalizeStyle(i);if(r)for(const e in r)t[e]=r[e]}return t}return isString$2(e)||isObject$5(e)?e:void 0}const listDelimiterRE=/;(?![^(]*\))/g,propertyDelimiterRE=/:([^]+)/,styleCommentRE=/\/\*.*?\*\//gs;function parseStringStyle(e){const t={};return e.replace(styleCommentRE,"").split(listDelimiterRE).forEach((e=>{if(e){const n=e.split(propertyDelimiterRE);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function normalizeClass(e){let t="";if(isString$2(e))t=e;else if(isArray$9(e))for(let n=0;n<e.length;n++){const i=normalizeClass(e[n]);i&&(t+=i+" ")}else if(isObject$5(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const specialBooleanAttrs="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",isSpecialBooleanAttr=makeMap(specialBooleanAttrs);function includeBooleanAttr(e){return!!e||""===e}const toDisplayString=e=>isString$2(e)?e:null==e?"":isArray$9(e)||isObject$5(e)&&(e.toString===objectToString$3||!isFunction$6(e.toString))?JSON.stringify(e,replacer,2):String(e),replacer=(e,t)=>t&&t.__v_isRef?replacer(e,t.value):isMap$3(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:isSet$3(t)?{[`Set(${t.size})`]:[...t.values()]}:!isObject$5(t)||isArray$9(t)||isPlainObject$3(t)?t:String(t),EMPTY_OBJ={},EMPTY_ARR=[],NOOP=()=>{},NO=()=>!1,onRE=/^on[^a-z]/,isOn=e=>onRE.test(e),isModelListener=e=>e.startsWith("onUpdate:"),extend$3=Object.assign,remove$7=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},hasOwnProperty$f=Object.prototype.hasOwnProperty,hasOwn$2=(e,t)=>hasOwnProperty$f.call(e,t),isArray$9=Array.isArray,isMap$3=e=>"[object Map]"===toTypeString(e),isSet$3=e=>"[object Set]"===toTypeString(e),isFunction$6=e=>"function"==typeof e,isString$2=e=>"string"==typeof e,isSymbol$1=e=>"symbol"==typeof e,isObject$5=e=>null!==e&&"object"==typeof e,isPromise$1=e=>isObject$5(e)&&isFunction$6(e.then)&&isFunction$6(e.catch),objectToString$3=Object.prototype.toString,toTypeString=e=>objectToString$3.call(e),toRawType=e=>toTypeString(e).slice(8,-1),isPlainObject$3=e=>"[object Object]"===toTypeString(e),isIntegerKey=e=>isString$2(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cacheStringFunction=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},camelizeRE$1=/-(\w)/g,camelize$2=cacheStringFunction((e=>e.replace(camelizeRE$1,((e,t)=>t?t.toUpperCase():"")))),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction((e=>e.replace(hyphenateRE,"-$1").toLowerCase())),capitalize=cacheStringFunction((e=>e.charAt(0).toUpperCase()+e.slice(1))),toHandlerKey=cacheStringFunction((e=>e?`on${capitalize(e)}`:"")),hasChanged=(e,t)=>!Object.is(e,t),invokeArrayFns=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},def=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},looseToNumber=e=>{const t=parseFloat(e);return isNaN(t)?e:t},toNumber$1=e=>{const t=isString$2(e)?Number(e):NaN;return isNaN(t)?e:t};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});let activeEffectScope;class EffectScope{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=activeEffectScope,!e&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=activeEffectScope;try{return activeEffectScope=this,e()}finally{activeEffectScope=t}}}on(){activeEffectScope=this}off(){activeEffectScope=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);if(!this.detached&&this.parent&&!e){const e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0,this._active=!1}}}function recordEffectScope(e,t=activeEffectScope){t&&t.active&&t.effects.push(e)}function getCurrentScope(){return activeEffectScope}const createDep=e=>{const t=new Set(e);return t.w=0,t.n=0,t},wasTracked=e=>(e.w&trackOpBit)>0,newTracked=e=>(e.n&trackOpBit)>0,initDepMarkers=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=trackOpBit},finalizeDepMarkers=e=>{const{deps:t}=e;if(t.length){let n=0;for(let i=0;i<t.length;i++){const r=t[i];wasTracked(r)&&!newTracked(r)?r.delete(e):t[n++]=r,r.w&=~trackOpBit,r.n&=~trackOpBit}t.length=n}},targetMap=new WeakMap;let effectTrackDepth=0,trackOpBit=1;const maxMarkerBits=30;let activeEffect;const ITERATE_KEY=Symbol(""),MAP_KEY_ITERATE_KEY=Symbol("");class ReactiveEffect{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,recordEffectScope(this,n)}run(){if(!this.active)return this.fn();let e=activeEffect,t=shouldTrack;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=activeEffect,activeEffect=this,shouldTrack=!0,trackOpBit=1<<++effectTrackDepth,effectTrackDepth<=maxMarkerBits?initDepMarkers(this):cleanupEffect(this),this.fn()}finally{effectTrackDepth<=maxMarkerBits&&finalizeDepMarkers(this),trackOpBit=1<<--effectTrackDepth,activeEffect=this.parent,shouldTrack=t,this.parent=void 0,this.deferStop&&this.stop()}}stop(){activeEffect===this?this.deferStop=!0:this.active&&(cleanupEffect(this),this.onStop&&this.onStop(),this.active=!1)}}function cleanupEffect(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let shouldTrack=!0;const trackStack=[];function pauseTracking(){trackStack.push(shouldTrack),shouldTrack=!1}function resetTracking(){const e=trackStack.pop();shouldTrack=void 0===e||e}function track(e,t,n){if(shouldTrack&&activeEffect){let t=targetMap.get(e);t||targetMap.set(e,t=new Map);let i=t.get(n);i||t.set(n,i=createDep()),trackEffects(i)}}function trackEffects(e,t){let n=!1;effectTrackDepth<=maxMarkerBits?newTracked(e)||(e.n|=trackOpBit,n=!wasTracked(e)):n=!e.has(activeEffect),n&&(e.add(activeEffect),activeEffect.deps.push(e))}function trigger(e,t,n,i,r,o){const s=targetMap.get(e);if(!s)return;let a=[];if("clear"===t)a=[...s.values()];else if("length"===n&&isArray$9(e)){const e=Number(i);s.forEach(((t,n)=>{("length"===n||n>=e)&&a.push(t)}))}else switch(void 0!==n&&a.push(s.get(n)),t){case"add":isArray$9(e)?isIntegerKey(n)&&a.push(s.get("length")):(a.push(s.get(ITERATE_KEY)),isMap$3(e)&&a.push(s.get(MAP_KEY_ITERATE_KEY)));break;case"delete":isArray$9(e)||(a.push(s.get(ITERATE_KEY)),isMap$3(e)&&a.push(s.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap$3(e)&&a.push(s.get(ITERATE_KEY))}if(1===a.length)a[0]&&triggerEffects(a[0]);else{const e=[];for(const t of a)t&&e.push(...t);triggerEffects(createDep(e))}}function triggerEffects(e,t){const n=isArray$9(e)?e:[...e];for(const i of n)i.computed&&triggerEffect(i);for(const i of n)i.computed||triggerEffect(i)}function triggerEffect(e,t){(e!==activeEffect||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function getDepFromReactive(e,t){var n;return null===(n=targetMap.get(e))||void 0===n?void 0:n.get(t)}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(isSymbol$1)),get$1=createGetter(),shallowGet=createGetter(!1,!0),readonlyGet=createGetter(!0),arrayInstrumentations=createArrayInstrumentations();function createArrayInstrumentations(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=toRaw(this);for(let t=0,r=this.length;t<r;t++)track(n,"get",t+"");const i=n[t](...e);return-1===i||!1===i?n[t](...e.map(toRaw)):i}})),["push","pop","shift","unshift","splice"].forEach((t=>{e[t]=function(...e){pauseTracking();const n=toRaw(this)[t].apply(this,e);return resetTracking(),n}})),e}function hasOwnProperty$e(e){const t=toRaw(this);return track(t,"has",e),t.hasOwnProperty(e)}function createGetter(e=!1,t=!1){return function(n,i,r){if("__v_isReactive"===i)return!e;if("__v_isReadonly"===i)return e;if("__v_isShallow"===i)return t;if("__v_raw"===i&&r===(e?t?shallowReadonlyMap:readonlyMap:t?shallowReactiveMap:reactiveMap).get(n))return n;const o=isArray$9(n);if(!e){if(o&&hasOwn$2(arrayInstrumentations,i))return Reflect.get(arrayInstrumentations,i,r);if("hasOwnProperty"===i)return hasOwnProperty$e}const s=Reflect.get(n,i,r);return(isSymbol$1(i)?builtInSymbols.has(i):isNonTrackableKeys(i))?s:(e||track(n,"get",i),t?s:isRef(s)?o&&isIntegerKey(i)?s:s.value:isObject$5(s)?e?readonly(s):reactive(s):s)}}const set$1=createSetter(),shallowSet=createSetter(!0);function createSetter(e=!1){return function(t,n,i,r){let o=t[n];if(isReadonly(o)&&isRef(o)&&!isRef(i))return!1;if(!e&&(isShallow(i)||isReadonly(i)||(o=toRaw(o),i=toRaw(i)),!isArray$9(t)&&isRef(o)&&!isRef(i)))return o.value=i,!0;const s=isArray$9(t)&&isIntegerKey(n)?Number(n)<t.length:hasOwn$2(t,n),a=Reflect.set(t,n,i,r);return t===toRaw(r)&&(s?hasChanged(i,o)&&trigger(t,"set",n,i):trigger(t,"add",n,i)),a}}function deleteProperty(e,t){const n=hasOwn$2(e,t);e[t];const i=Reflect.deleteProperty(e,t);return i&&n&&trigger(e,"delete",t,void 0),i}function has$1$1(e,t){const n=Reflect.has(e,t);return isSymbol$1(t)&&builtInSymbols.has(t)||track(e,"has",t),n}function ownKeys$1(e){return track(e,"iterate",isArray$9(e)?"length":ITERATE_KEY),Reflect.ownKeys(e)}const mutableHandlers={get:get$1,set:set$1,deleteProperty:deleteProperty,has:has$1$1,ownKeys:ownKeys$1},readonlyHandlers={get:readonlyGet,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},shallowReactiveHandlers=extend$3({},mutableHandlers,{get:shallowGet,set:shallowSet}),toShallow=e=>e,getProto$1=e=>Reflect.getPrototypeOf(e);function get$2(e,t,n=!1,i=!1){const r=toRaw(e=e.__v_raw),o=toRaw(t);n||(t!==o&&track(r,"get",t),track(r,"get",o));const{has:s}=getProto$1(r),a=i?toShallow:n?toReadonly:toReactive;return s.call(r,t)?a(e.get(t)):s.call(r,o)?a(e.get(o)):void(e!==r&&e.get(t))}function has$4(e,t=!1){const n=this.__v_raw,i=toRaw(n),r=toRaw(e);return t||(e!==r&&track(i,"has",e),track(i,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function size(e,t=!1){return e=e.__v_raw,!t&&track(toRaw(e),"iterate",ITERATE_KEY),Reflect.get(e,"size",e)}function add(e){e=toRaw(e);const t=toRaw(this);return getProto$1(t).has.call(t,e)||(t.add(e),trigger(t,"add",e,e)),this}function set(e,t){t=toRaw(t);const n=toRaw(this),{has:i,get:r}=getProto$1(n);let o=i.call(n,e);o||(e=toRaw(e),o=i.call(n,e));const s=r.call(n,e);return n.set(e,t),o?hasChanged(t,s)&&trigger(n,"set",e,t):trigger(n,"add",e,t),this}function deleteEntry(e){const t=toRaw(this),{has:n,get:i}=getProto$1(t);let r=n.call(t,e);r||(e=toRaw(e),r=n.call(t,e)),i&&i.call(t,e);const o=t.delete(e);return r&&trigger(t,"delete",e,void 0),o}function clear(){const e=toRaw(this),t=0!==e.size,n=e.clear();return t&&trigger(e,"clear",void 0,void 0),n}function createForEach(e,t){return function(n,i){const r=this,o=r.__v_raw,s=toRaw(o),a=t?toShallow:e?toReadonly:toReactive;return!e&&track(s,"iterate",ITERATE_KEY),o.forEach(((e,t)=>n.call(i,a(e),a(t),r)))}}function createIterableMethod(e,t,n){return function(...i){const r=this.__v_raw,o=toRaw(r),s=isMap$3(o),a="entries"===e||e===Symbol.iterator&&s,l="keys"===e&&s,c=r[e](...i),u=n?toShallow:t?toReadonly:toReactive;return!t&&track(o,"iterate",l?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:a?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(e){return function(...t){return"delete"!==e&&this}}function createInstrumentations(){const e={get(e){return get$2(this,e)},get size(){return size(this)},has:has$4,add:add,set:set,delete:deleteEntry,clear:clear,forEach:createForEach(!1,!1)},t={get(e){return get$2(this,e,!1,!0)},get size(){return size(this)},has:has$4,add:add,set:set,delete:deleteEntry,clear:clear,forEach:createForEach(!1,!0)},n={get(e){return get$2(this,e,!0)},get size(){return size(this,!0)},has(e){return has$4.call(this,e,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!1)},i={get(e){return get$2(this,e,!0,!0)},get size(){return size(this,!0)},has(e){return has$4.call(this,e,!0)},add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear"),forEach:createForEach(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=createIterableMethod(r,!1,!1),n[r]=createIterableMethod(r,!0,!1),t[r]=createIterableMethod(r,!1,!0),i[r]=createIterableMethod(r,!0,!0)})),[e,n,t,i]}const[mutableInstrumentations,readonlyInstrumentations,shallowInstrumentations,shallowReadonlyInstrumentations]=createInstrumentations();function createInstrumentationGetter(e,t){const n=t?e?shallowReadonlyInstrumentations:shallowInstrumentations:e?readonlyInstrumentations:mutableInstrumentations;return(t,i,r)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get(hasOwn$2(n,i)&&i in t?n:t,i,r)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(e){return e.__v_skip||!Object.isExtensible(e)?0:targetTypeMap(toRawType(e))}function reactive(e){return isReadonly(e)?e:createReactiveObject(e,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(e){return createReactiveObject(e,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(e){return createReactiveObject(e,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function createReactiveObject(e,t,n,i,r){if(!isObject$5(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const s=getTargetType(e);if(0===s)return e;const a=new Proxy(e,2===s?i:n);return r.set(e,a),a}function isReactive(e){return isReadonly(e)?isReactive(e.__v_raw):!(!e||!e.__v_isReactive)}function isReadonly(e){return!(!e||!e.__v_isReadonly)}function isShallow(e){return!(!e||!e.__v_isShallow)}function isProxy(e){return isReactive(e)||isReadonly(e)}function toRaw(e){const t=e&&e.__v_raw;return t?toRaw(t):e}function markRaw(e){return def(e,"__v_skip",!0),e}const toReactive=e=>isObject$5(e)?reactive(e):e,toReadonly=e=>isObject$5(e)?readonly(e):e;function trackRefValue(e){shouldTrack&&activeEffect&&trackEffects((e=toRaw(e)).dep||(e.dep=createDep()))}function triggerRefValue(e,t){const n=(e=toRaw(e)).dep;n&&triggerEffects(n)}function isRef(e){return!(!e||!0!==e.__v_isRef)}function ref(e){return createRef(e,!1)}function shallowRef(e){return createRef(e,!0)}function createRef(e,t){return isRef(e)?e:new RefImpl(e,t)}class RefImpl{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:toRaw(e),this._value=t?e:toReactive(e)}get value(){return trackRefValue(this),this._value}set value(e){const t=this.__v_isShallow||isShallow(e)||isReadonly(e);e=t?e:toRaw(e),hasChanged(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:toReactive(e),triggerRefValue(this))}}function unref(e){return isRef(e)?e.value:e}const shallowUnwrapHandlers={get:(e,t,n)=>unref(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const r=e[t];return isRef(r)&&!isRef(n)?(r.value=n,!0):Reflect.set(e,t,n,i)}};function proxyRefs(e){return isReactive(e)?e:new Proxy(e,shallowUnwrapHandlers)}function toRefs(e){const t=isArray$9(e)?new Array(e.length):{};for(const n in e)t[n]=toRef(e,n);return t}class ObjectRefImpl{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}function toRef(e,t,n){const i=e[t];return isRef(i)?i:new ObjectRefImpl(e,t,n)}var _a$1;class ComputedRefImpl{constructor(e,t,n,i){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this[_a$1]=!1,this._dirty=!0,this.effect=new ReactiveEffect(e,(()=>{this._dirty||(this._dirty=!0,triggerRefValue(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const e=toRaw(this);return trackRefValue(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function computed$1(e,t,n=!1){let i,r;const o=isFunction$6(e);o?(i=e,r=NOOP):(i=e.get,r=e.set);return new ComputedRefImpl(i,r,o||!r,n)}function warn(e,...t){}function callWithErrorHandling(e,t,n,i){let r;try{r=i?e(...i):e()}catch(o){handleError(o,t,n)}return r}function callWithAsyncErrorHandling(e,t,n,i){if(isFunction$6(e)){const r=callWithErrorHandling(e,t,n,i);return r&&isPromise$1(r)&&r.catch((e=>{handleError(e,t,n)})),r}const r=[];for(let o=0;o<e.length;o++)r.push(callWithAsyncErrorHandling(e[o],t,n,i));return r}function handleError(e,t,n,i=!0){const r=t?t.vnode:null;if(t){let i=t.parent;const r=t.proxy,o=n;for(;i;){const t=i.ec;if(t)for(let n=0;n<t.length;n++)if(!1===t[n](e,r,o))return;i=i.parent}const s=t.appContext.config.errorHandler;if(s)return void callWithErrorHandling(s,null,10,[e,r,o])}logError(e,n,r,i)}function logError(e,t,n,i=!0){console.error(e)}_a$1="__v_isReadonly";let isFlushing=!1,isFlushPending=!1;const queue$1=[];let flushIndex=0;const pendingPostFlushCbs=[];let activePostFlushCbs=null,postFlushIndex=0;const resolvedPromise=Promise.resolve();let currentFlushPromise=null;function nextTick(e){const t=currentFlushPromise||resolvedPromise;return e?t.then(this?e.bind(this):e):t}function findInsertionIndex(e){let t=flushIndex+1,n=queue$1.length;for(;t<n;){const i=t+n>>>1;getId(queue$1[i])<e?t=i+1:n=i}return t}function queueJob(e){queue$1.length&&queue$1.includes(e,isFlushing&&e.allowRecurse?flushIndex+1:flushIndex)||(null==e.id?queue$1.push(e):queue$1.splice(findInsertionIndex(e.id),0,e),queueFlush())}function queueFlush(){isFlushing||isFlushPending||(isFlushPending=!0,currentFlushPromise=resolvedPromise.then(flushJobs))}function invalidateJob(e){const t=queue$1.indexOf(e);t>flushIndex&&queue$1.splice(t,1)}function queuePostFlushCb(e){isArray$9(e)?pendingPostFlushCbs.push(...e):activePostFlushCbs&&activePostFlushCbs.includes(e,e.allowRecurse?postFlushIndex+1:postFlushIndex)||pendingPostFlushCbs.push(e),queueFlush()}function flushPreFlushCbs(e,t=(isFlushing?flushIndex+1:0)){for(;t<queue$1.length;t++){const e=queue$1[t];e&&e.pre&&(queue$1.splice(t,1),t--,e())}}function flushPostFlushCbs(e){if(pendingPostFlushCbs.length){const e=[...new Set(pendingPostFlushCbs)];if(pendingPostFlushCbs.length=0,activePostFlushCbs)return void activePostFlushCbs.push(...e);for(activePostFlushCbs=e,activePostFlushCbs.sort(((e,t)=>getId(e)-getId(t))),postFlushIndex=0;postFlushIndex<activePostFlushCbs.length;postFlushIndex++)activePostFlushCbs[postFlushIndex]();activePostFlushCbs=null,postFlushIndex=0}}const getId=e=>null==e.id?1/0:e.id,comparator=(e,t)=>{const n=getId(e)-getId(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function flushJobs(e){isFlushPending=!1,isFlushing=!0,queue$1.sort(comparator);try{for(flushIndex=0;flushIndex<queue$1.length;flushIndex++){const e=queue$1[flushIndex];e&&!1!==e.active&&callWithErrorHandling(e,null,14)}}finally{flushIndex=0,queue$1.length=0,flushPostFlushCbs(),isFlushing=!1,currentFlushPromise=null,(queue$1.length||pendingPostFlushCbs.length)&&flushJobs()}}function emit(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||EMPTY_OBJ;let r=n;const o=t.startsWith("update:"),s=o&&t.slice(7);if(s&&s in i){const e=`${"modelValue"===s?"model":s}Modifiers`,{number:t,trim:o}=i[e]||EMPTY_OBJ;o&&(r=n.map((e=>isString$2(e)?e.trim():e))),t&&(r=n.map(looseToNumber))}let a,l=i[a=toHandlerKey(t)]||i[a=toHandlerKey(camelize$2(t))];!l&&o&&(l=i[a=toHandlerKey(hyphenate(t))]),l&&callWithAsyncErrorHandling(l,e,6,r);const c=i[a+"Once"];if(c){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,callWithAsyncErrorHandling(c,e,6,r)}}function normalizeEmitsOptions(e,t,n=!1){const i=t.emitsCache,r=i.get(e);if(void 0!==r)return r;const o=e.emits;let s={},a=!1;if(!isFunction$6(e)){const i=e=>{const n=normalizeEmitsOptions(e,t,!0);n&&(a=!0,extend$3(s,n))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return o||a?(isArray$9(o)?o.forEach((e=>s[e]=null)):extend$3(s,o),isObject$5(e)&&i.set(e,s),s):(isObject$5(e)&&i.set(e,null),null)}function isEmitListener(e,t){return!(!e||!isOn(t))&&(t=t.slice(2).replace(/Once$/,""),hasOwn$2(e,t[0].toLowerCase()+t.slice(1))||hasOwn$2(e,hyphenate(t))||hasOwn$2(e,t))}let currentRenderingInstance=null,currentScopeId=null;function setCurrentRenderingInstance(e){const t=currentRenderingInstance;return currentRenderingInstance=e,currentScopeId=e&&e.type.__scopeId||null,t}function pushScopeId(e){currentScopeId=e}function popScopeId(){currentScopeId=null}function withCtx(e,t=currentRenderingInstance,n){if(!t)return e;if(e._n)return e;const i=(...n)=>{i._d&&setBlockTracking(-1);const r=setCurrentRenderingInstance(t);let o;try{o=e(...n)}finally{setCurrentRenderingInstance(r),i._d&&setBlockTracking(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function markAttrsAccessed(){}function renderComponentRoot(e){const{type:t,vnode:n,proxy:i,withProxy:r,props:o,propsOptions:[s],slots:a,attrs:l,emit:c,render:u,renderCache:h,data:d,setupState:p,ctx:f,inheritAttrs:m}=e;let g,v;const b=setCurrentRenderingInstance(e);try{if(4&n.shapeFlag){const e=r||i;g=normalizeVNode(u.call(e,e,h,o,p,d,f)),v=l}else{const e=t;0,g=normalizeVNode(e.length>1?e(o,{attrs:l,slots:a,emit:c}):e(o,null)),v=t.props?l:getFunctionalFallthrough(l)}}catch(A){blockStack.length=0,handleError(A,e,1),g=createVNode(Comment)}let y=g;if(v&&!1!==m){const e=Object.keys(v),{shapeFlag:t}=y;e.length&&7&t&&(s&&e.some(isModelListener)&&(v=filterModelListeners(v,s)),y=cloneVNode(y,v))}return n.dirs&&(y=cloneVNode(y),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(y.transition=n.transition),g=y,setCurrentRenderingInstance(b),g}const getFunctionalFallthrough=e=>{let t;for(const n in e)("class"===n||"style"===n||isOn(n))&&((t||(t={}))[n]=e[n]);return t},filterModelListeners=(e,t)=>{const n={};for(const i in e)isModelListener(i)&&i.slice(9)in t||(n[i]=e[i]);return n};function shouldUpdateComponent(e,t,n){const{props:i,children:r,component:o}=e,{props:s,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!a||a&&a.$stable)||i!==s&&(i?!s||hasPropsChanged(i,s,c):!!s);if(1024&l)return!0;if(16&l)return i?hasPropsChanged(i,s,c):!!s;if(8&l){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t];if(s[n]!==i[n]&&!isEmitListener(c,n))return!0}}return!1}function hasPropsChanged(e,t,n){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let r=0;r<i.length;r++){const o=i[r];if(t[o]!==e[o]&&!isEmitListener(n,o))return!0}return!1}function updateHOCHostEl({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const isSuspense=e=>e.__isSuspense;function queueEffectWithSuspense(e,t){t&&t.pendingBranch?isArray$9(e)?t.effects.push(...e):t.effects.push(e):queuePostFlushCb(e)}function provide(e,t){if(currentInstance){let n=currentInstance.provides;const i=currentInstance.parent&&currentInstance.parent.provides;i===n&&(n=currentInstance.provides=Object.create(i)),n[e]=t}else;}function inject(e,t,n=!1){const i=currentInstance||currentRenderingInstance;if(i){const r=null==i.parent?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&isFunction$6(t)?t.call(i.proxy):t}}function watchEffect(e,t){return doWatch(e,null,t)}const INITIAL_WATCHER_VALUE={};function watch(e,t,n){return doWatch(e,t,n)}function doWatch(e,t,{immediate:n,deep:i,flush:r,onTrack:o,onTrigger:s}=EMPTY_OBJ){const a=getCurrentScope()===(null==currentInstance?void 0:currentInstance.scope)?currentInstance:null;let l,c,u=!1,h=!1;if(isRef(e)?(l=()=>e.value,u=isShallow(e)):isReactive(e)?(l=()=>e,i=!0):isArray$9(e)?(h=!0,u=e.some((e=>isReactive(e)||isShallow(e))),l=()=>e.map((e=>isRef(e)?e.value:isReactive(e)?traverse(e):isFunction$6(e)?callWithErrorHandling(e,a,2):void 0))):l=isFunction$6(e)?t?()=>callWithErrorHandling(e,a,2):()=>{if(!a||!a.isUnmounted)return c&&c(),callWithAsyncErrorHandling(e,a,3,[p])}:NOOP,t&&i){const e=l;l=()=>traverse(e())}let d,p=e=>{c=v.onStop=()=>{callWithErrorHandling(e,a,4)}};if(isInSSRComponentSetup){if(p=NOOP,t?n&&callWithAsyncErrorHandling(t,a,3,[l(),h?[]:void 0,p]):l(),"sync"!==r)return NOOP;{const e=useSSRContext();d=e.__watcherHandles||(e.__watcherHandles=[])}}let f=h?new Array(e.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const m=()=>{if(v.active)if(t){const e=v.run();(i||u||(h?e.some(((e,t)=>hasChanged(e,f[t]))):hasChanged(e,f)))&&(c&&c(),callWithAsyncErrorHandling(t,a,3,[e,f===INITIAL_WATCHER_VALUE?void 0:h&&f[0]===INITIAL_WATCHER_VALUE?[]:f,p]),f=e)}else v.run()};let g;m.allowRecurse=!!t,"sync"===r?g=m:"post"===r?g=()=>queuePostRenderEffect(m,a&&a.suspense):(m.pre=!0,a&&(m.id=a.uid),g=()=>queueJob(m));const v=new ReactiveEffect(l,g);t?n?m():f=v.run():"post"===r?queuePostRenderEffect(v.run.bind(v),a&&a.suspense):v.run();const b=()=>{v.stop(),a&&a.scope&&remove$7(a.scope.effects,v)};return d&&d.push(b),b}function instanceWatch(e,t,n){const i=this.proxy,r=isString$2(e)?e.includes(".")?createPathGetter(i,e):()=>i[e]:e.bind(i,i);let o;isFunction$6(t)?o=t:(o=t.handler,n=t);const s=currentInstance;setCurrentInstance(this);const a=doWatch(r,o.bind(i),n);return s?setCurrentInstance(s):unsetCurrentInstance(),a}function createPathGetter(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}function traverse(e,t){if(!isObject$5(e)||e.__v_skip)return e;if((t=t||new Set).has(e))return e;if(t.add(e),isRef(e))traverse(e.value,t);else if(isArray$9(e))for(let n=0;n<e.length;n++)traverse(e[n],t);else if(isSet$3(e)||isMap$3(e))e.forEach((e=>{traverse(e,t)}));else if(isPlainObject$3(e))for(const n in e)traverse(e[n],t);return e}function useTransitionState(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return onMounted((()=>{e.isMounted=!0})),onBeforeUnmount((()=>{e.isUnmounting=!0})),e}const TransitionHookValidator=[Function,Array],BaseTransitionImpl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},setup(e,{slots:t}){const n=getCurrentInstance(),i=useTransitionState();let r;return()=>{const o=t.default&&getTransitionRawChildren(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1)for(const e of o)if(e.type!==Comment){s=e;break}const a=toRaw(e),{mode:l}=a;if(i.isLeaving)return emptyPlaceholder(s);const c=getKeepAliveChild(s);if(!c)return emptyPlaceholder(s);const u=resolveTransitionHooks(c,a,i,n);setTransitionHooks(c,u);const h=n.subTree,d=h&&getKeepAliveChild(h);let p=!1;const{getTransitionKey:f}=c.type;if(f){const e=f();void 0===r?r=e:e!==r&&(r=e,p=!0)}if(d&&d.type!==Comment&&(!isSameVNodeType(c,d)||p)){const e=resolveTransitionHooks(d,a,i,n);if(setTransitionHooks(d,e),"out-in"===l)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,!1!==n.update.active&&n.update()},emptyPlaceholder(s);"in-out"===l&&c.type!==Comment&&(e.delayLeave=(e,t,n)=>{getLeavingNodesForType(i,d)[String(d.key)]=d,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=n})}return s}}},BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function resolveTransitionHooks(e,t,n,i){const{appear:r,mode:o,persisted:s=!1,onBeforeEnter:a,onEnter:l,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:p,onLeaveCancelled:f,onBeforeAppear:m,onAppear:g,onAfterAppear:v,onAppearCancelled:b}=t,y=String(e.key),A=getLeavingNodesForType(n,e),S=(e,t)=>{e&&callWithAsyncErrorHandling(e,i,9,t)},x=(e,t)=>{const n=t[1];S(e,t),isArray$9(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},E={mode:o,persisted:s,beforeEnter(t){let i=a;if(!n.isMounted){if(!r)return;i=m||a}t._leaveCb&&t._leaveCb(!0);const o=A[y];o&&isSameVNodeType(e,o)&&o.el._leaveCb&&o.el._leaveCb(),S(i,[t])},enter(e){let t=l,i=c,o=u;if(!n.isMounted){if(!r)return;t=g||l,i=v||c,o=b||u}let s=!1;const a=e._enterCb=t=>{s||(s=!0,S(t?o:i,[e]),E.delayedLeave&&E.delayedLeave(),e._enterCb=void 0)};t?x(t,[e,a]):a()},leave(t,i){const r=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return i();S(h,[t]);let o=!1;const s=t._leaveCb=n=>{o||(o=!0,i(),S(n?f:p,[t]),t._leaveCb=void 0,A[r]===e&&delete A[r])};A[r]=e,d?x(d,[t,s]):s()},clone:e=>resolveTransitionHooks(e,t,n,i)};return E}function emptyPlaceholder(e){if(isKeepAlive(e))return(e=cloneVNode(e)).children=null,e}function getKeepAliveChild(e){return isKeepAlive(e)?e.children?e.children[0]:void 0:e}function setTransitionHooks(e,t){6&e.shapeFlag&&e.component?setTransitionHooks(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function getTransitionRawChildren(e,t=!1,n){let i=[],r=0;for(let o=0;o<e.length;o++){let s=e[o];const a=null==n?s.key:String(n)+String(null!=s.key?s.key:o);s.type===Fragment?(128&s.patchFlag&&r++,i=i.concat(getTransitionRawChildren(s.children,t,a))):(t||s.type!==Comment)&&i.push(null!=a?cloneVNode(s,{key:a}):s)}if(r>1)for(let o=0;o<i.length;o++)i[o].patchFlag=-2;return i}function defineComponent(e){return isFunction$6(e)?{setup:e,name:e.name}:e}const isAsyncWrapper=e=>!!e.type.__asyncLoader;function defineAsyncComponent(e){isFunction$6(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:i,delay:r=200,timeout:o,suspensible:s=!0,onError:a}=e;let l,c=null,u=0;const h=()=>{let e;return c||(e=c=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),a)return new Promise(((t,n)=>{a(e,(()=>t((u++,c=null,h()))),(()=>n(e)),u+1)}));throw e})).then((t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),l=t,t))))};return defineComponent({name:"AsyncComponentWrapper",__asyncLoader:h,get __asyncResolved(){return l},setup(){const e=currentInstance;if(l)return()=>createInnerComp(l,e);const t=t=>{c=null,handleError(t,e,13,!i)};if(s&&e.suspense||isInSSRComponentSetup)return h().then((t=>()=>createInnerComp(t,e))).catch((e=>(t(e),()=>i?createVNode(i,{error:e}):null)));const a=ref(!1),u=ref(),d=ref(!!r);return r&&setTimeout((()=>{d.value=!1}),r),null!=o&&setTimeout((()=>{if(!a.value&&!u.value){const e=new Error(`Async component timed out after ${o}ms.`);t(e),u.value=e}}),o),h().then((()=>{a.value=!0,e.parent&&isKeepAlive(e.parent.vnode)&&queueJob(e.parent.update)})).catch((e=>{t(e),u.value=e})),()=>a.value&&l?createInnerComp(l,e):u.value&&i?createVNode(i,{error:u.value}):n&&!d.value?createVNode(n):void 0}})}function createInnerComp(e,t){const{ref:n,props:i,children:r,ce:o}=t.vnode,s=createVNode(e,i,r);return s.ref=n,s.ce=o,delete t.vnode.ce,s}const isKeepAlive=e=>e.type.__isKeepAlive;function onActivated(e,t){registerKeepAliveHook(e,"a",t)}function onDeactivated(e,t){registerKeepAliveHook(e,"da",t)}function registerKeepAliveHook(e,t,n=currentInstance){const i=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(injectHook(t,i,n),n){let e=n.parent;for(;e&&e.parent;)isKeepAlive(e.parent.vnode)&&injectToKeepAliveRoot(i,t,n,e),e=e.parent}}function injectToKeepAliveRoot(e,t,n,i){const r=injectHook(t,e,i,!0);onUnmounted((()=>{remove$7(i[t],r)}),n)}function injectHook(e,t,n=currentInstance,i=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;pauseTracking(),setCurrentInstance(n);const r=callWithAsyncErrorHandling(t,n,e,i);return unsetCurrentInstance(),resetTracking(),r});return i?r.unshift(o):r.push(o),o}}const createHook=e=>(t,n=currentInstance)=>(!isInSSRComponentSetup||"sp"===e)&&injectHook(e,((...e)=>t(...e)),n),onBeforeMount=exports("o",createHook("bm")),onMounted=exports("c",createHook("m")),onBeforeUpdate=exports("cc",createHook("bu")),onUpdated=exports("bR",createHook("u")),onBeforeUnmount=exports("af",createHook("bum")),onUnmounted=exports("a2",createHook("um")),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(e,t=currentInstance){injectHook("ec",e,t)}function withDirectives(e,t){const n=currentRenderingInstance;if(null===n)return e;const i=getExposeProxy(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[e,n,s,a=EMPTY_OBJ]=t[o];e&&(isFunction$6(e)&&(e={mounted:e,updated:e}),e.deep&&traverse(n),r.push({dir:e,instance:i,value:n,oldValue:void 0,arg:s,modifiers:a}))}return e}function invokeDirectiveHook(e,t,n,i){const r=e.dirs,o=t&&t.dirs;for(let s=0;s<r.length;s++){const a=r[s];o&&(a.oldValue=o[s].value);let l=a.dir[i];l&&(pauseTracking(),callWithAsyncErrorHandling(l,n,8,[e.el,a,e,t]),resetTracking())}}const COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(e,t){return resolveAsset(COMPONENTS,e,!0,t)||e}const NULL_DYNAMIC_COMPONENT=Symbol();function resolveDynamicComponent(e){return isString$2(e)?resolveAsset(COMPONENTS,e,!1)||e:e||NULL_DYNAMIC_COMPONENT}function resolveDirective(e){return resolveAsset(DIRECTIVES,e)}function resolveAsset(e,t,n=!0,i=!1){const r=currentRenderingInstance||currentInstance;if(r){const n=r.type;if(e===COMPONENTS){const e=getComponentName(n,!1);if(e&&(e===t||e===camelize$2(t)||e===capitalize(camelize$2(t))))return n}const o=resolve(r[e]||n[e],t)||resolve(r.appContext[e],t);return!o&&i?n:o}}function resolve(e,t){return e&&(e[t]||e[camelize$2(t)]||e[capitalize(camelize$2(t))])}function renderList(e,t,n,i){let r;const o=n&&n[i];if(isArray$9(e)||isString$2(e)){r=new Array(e.length);for(let n=0,i=e.length;n<i;n++)r[n]=t(e[n],n,void 0,o&&o[n])}else if("number"==typeof e){r=new Array(e);for(let n=0;n<e;n++)r[n]=t(n+1,n,void 0,o&&o[n])}else if(isObject$5(e))if(e[Symbol.iterator])r=Array.from(e,((e,n)=>t(e,n,void 0,o&&o[n])));else{const n=Object.keys(e);r=new Array(n.length);for(let i=0,s=n.length;i<s;i++){const s=n[i];r[i]=t(e[s],s,i,o&&o[i])}}else r=[];return n&&(n[i]=r),r}function renderSlot(e,t,n={},i,r){if(currentRenderingInstance.isCE||currentRenderingInstance.parent&&isAsyncWrapper(currentRenderingInstance.parent)&&currentRenderingInstance.parent.isCE)return"default"!==t&&(n.name=t),createVNode("slot",n,i&&i());let o=e[t];o&&o._c&&(o._d=!1),openBlock();const s=o&&ensureValidVNode(o(n)),a=createBlock(Fragment,{key:n.key||s&&s.key||`_${t}`},s||(i?i():[]),s&&1===e._?64:-2);return!r&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function ensureValidVNode(e){return e.some((e=>!isVNode(e)||e.type!==Comment&&!(e.type===Fragment&&!ensureValidVNode(e.children))))?e:null}const getPublicInstance=e=>e?isStatefulComponent(e)?getExposeProxy(e)||e.proxy:getPublicInstance(e.parent):null,publicPropertiesMap=extend$3(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>getPublicInstance(e.parent),$root:e=>getPublicInstance(e.root),$emit:e=>e.emit,$options:e=>resolveMergedOptions(e),$forceUpdate:e=>e.f||(e.f=()=>queueJob(e.update)),$nextTick:e=>e.n||(e.n=nextTick.bind(e.proxy)),$watch:e=>instanceWatch.bind(e)}),hasSetupBinding=(e,t)=>e!==EMPTY_OBJ&&!e.__isScriptSetup&&hasOwn$2(e,t),PublicInstanceProxyHandlers={get({_:e},t){const{ctx:n,setupState:i,data:r,props:o,accessCache:s,type:a,appContext:l}=e;let c;if("$"!==t[0]){const a=s[t];if(void 0!==a)switch(a){case 1:return i[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(hasSetupBinding(i,t))return s[t]=1,i[t];if(r!==EMPTY_OBJ&&hasOwn$2(r,t))return s[t]=2,r[t];if((c=e.propsOptions[0])&&hasOwn$2(c,t))return s[t]=3,o[t];if(n!==EMPTY_OBJ&&hasOwn$2(n,t))return s[t]=4,n[t];shouldCacheAccess&&(s[t]=0)}}const u=publicPropertiesMap[t];let h,d;return u?("$attrs"===t&&track(e,"get",t),u(e)):(h=a.__cssModules)&&(h=h[t])?h:n!==EMPTY_OBJ&&hasOwn$2(n,t)?(s[t]=4,n[t]):(d=l.config.globalProperties,hasOwn$2(d,t)?d[t]:void 0)},set({_:e},t,n){const{data:i,setupState:r,ctx:o}=e;return hasSetupBinding(r,t)?(r[t]=n,!0):i!==EMPTY_OBJ&&hasOwn$2(i,t)?(i[t]=n,!0):!hasOwn$2(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(o[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:r,propsOptions:o}},s){let a;return!!n[s]||e!==EMPTY_OBJ&&hasOwn$2(e,s)||hasSetupBinding(t,s)||(a=o[0])&&hasOwn$2(a,s)||hasOwn$2(i,s)||hasOwn$2(publicPropertiesMap,s)||hasOwn$2(r.config.globalProperties,s)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:hasOwn$2(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let shouldCacheAccess=!0;function applyOptions(e){const t=resolveMergedOptions(e),n=e.proxy,i=e.ctx;shouldCacheAccess=!1,t.beforeCreate&&callHook$1(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:s,watch:a,provide:l,inject:c,created:u,beforeMount:h,mounted:d,beforeUpdate:p,updated:f,activated:m,deactivated:g,beforeDestroy:v,beforeUnmount:b,destroyed:y,unmounted:A,render:S,renderTracked:x,renderTriggered:E,errorCaptured:w,serverPrefetch:_,expose:M,inheritAttrs:P,components:T,directives:C,filters:I}=t;if(c&&resolveInjections(c,i,null,e.appContext.config.unwrapInjectedRef),s)for(const B in s){const e=s[B];isFunction$6(e)&&(i[B]=e.bind(n))}if(r){const t=r.call(n,n);isObject$5(t)&&(e.data=reactive(t))}if(shouldCacheAccess=!0,o)for(const B in o){const e=o[B],t=isFunction$6(e)?e.bind(n,n):isFunction$6(e.get)?e.get.bind(n,n):NOOP,r=!isFunction$6(e)&&isFunction$6(e.set)?e.set.bind(n):NOOP,s=computed({get:t,set:r});Object.defineProperty(i,B,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(a)for(const B in a)createWatcher(a[B],i,n,B);if(l){const e=isFunction$6(l)?l.call(n):l;Reflect.ownKeys(e).forEach((t=>{provide(t,e[t])}))}function k(e,t){isArray$9(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(u&&callHook$1(u,e,"c"),k(onBeforeMount,h),k(onMounted,d),k(onBeforeUpdate,p),k(onUpdated,f),k(onActivated,m),k(onDeactivated,g),k(onErrorCaptured,w),k(onRenderTracked,x),k(onRenderTriggered,E),k(onBeforeUnmount,b),k(onUnmounted,A),k(onServerPrefetch,_),isArray$9(M))if(M.length){const t=e.exposed||(e.exposed={});M.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});S&&e.render===NOOP&&(e.render=S),null!=P&&(e.inheritAttrs=P),T&&(e.components=T),C&&(e.directives=C)}function resolveInjections(e,t,n=NOOP,i=!1){isArray$9(e)&&(e=normalizeInject(e));for(const r in e){const n=e[r];let o;o=isObject$5(n)?"default"in n?inject(n.from||r,n.default,!0):inject(n.from||r):inject(n),isRef(o)&&i?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e}):t[r]=o}}function callHook$1(e,t,n){callWithAsyncErrorHandling(isArray$9(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function createWatcher(e,t,n,i){const r=i.includes(".")?createPathGetter(n,i):()=>n[i];if(isString$2(e)){const n=t[e];isFunction$6(n)&&watch(r,n)}else if(isFunction$6(e))watch(r,e.bind(n));else if(isObject$5(e))if(isArray$9(e))e.forEach((e=>createWatcher(e,t,n,i)));else{const i=isFunction$6(e.handler)?e.handler.bind(n):t[e.handler];isFunction$6(i)&&watch(r,i,e)}}function resolveMergedOptions(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,a=o.get(t);let l;return a?l=a:r.length||n||i?(l={},r.length&&r.forEach((e=>mergeOptions$1(l,e,s,!0))),mergeOptions$1(l,t,s)):l=t,isObject$5(t)&&o.set(t,l),l}function mergeOptions$1(e,t,n,i=!1){const{mixins:r,extends:o}=t;o&&mergeOptions$1(e,o,n,!0),r&&r.forEach((t=>mergeOptions$1(e,t,n,!0)));for(const s in t)if(i&&"expose"===s);else{const i=internalOptionMergeStrats[s]||n&&n[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const internalOptionMergeStrats={data:mergeDataFn,props:mergeObjectOptions,emits:mergeObjectOptions,methods:mergeObjectOptions,computed:mergeObjectOptions,beforeCreate:mergeAsArray,created:mergeAsArray,beforeMount:mergeAsArray,mounted:mergeAsArray,beforeUpdate:mergeAsArray,updated:mergeAsArray,beforeDestroy:mergeAsArray,beforeUnmount:mergeAsArray,destroyed:mergeAsArray,unmounted:mergeAsArray,activated:mergeAsArray,deactivated:mergeAsArray,errorCaptured:mergeAsArray,serverPrefetch:mergeAsArray,components:mergeObjectOptions,directives:mergeObjectOptions,watch:mergeWatchOptions,provide:mergeDataFn,inject:mergeInject};function mergeDataFn(e,t){return t?e?function(){return extend$3(isFunction$6(e)?e.call(this,this):e,isFunction$6(t)?t.call(this,this):t)}:t:e}function mergeInject(e,t){return mergeObjectOptions(normalizeInject(e),normalizeInject(t))}function normalizeInject(e){if(isArray$9(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function mergeAsArray(e,t){return e?[...new Set([].concat(e,t))]:t}function mergeObjectOptions(e,t){return e?extend$3(extend$3(Object.create(null),e),t):t}function mergeWatchOptions(e,t){if(!e)return t;if(!t)return e;const n=extend$3(Object.create(null),e);for(const i in t)n[i]=mergeAsArray(e[i],t[i]);return n}function initProps(e,t,n,i=!1){const r={},o={};def(o,InternalObjectKey,1),e.propsDefaults=Object.create(null),setFullProps(e,t,r,o);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);n?e.props=i?r:shallowReactive(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function updateProps(e,t,n,i){const{props:r,attrs:o,vnode:{patchFlag:s}}=e,a=toRaw(r),[l]=e.propsOptions;let c=!1;if(!(i||s>0)||16&s){let i;setFullProps(e,t,r,o)&&(c=!0);for(const o in a)t&&(hasOwn$2(t,o)||(i=hyphenate(o))!==o&&hasOwn$2(t,i))||(l?!n||void 0===n[o]&&void 0===n[i]||(r[o]=resolvePropValue(l,a,o,void 0,e,!0)):delete r[o]);if(o!==a)for(const e in o)t&&hasOwn$2(t,e)||(delete o[e],c=!0)}else if(8&s){const n=e.vnode.dynamicProps;for(let i=0;i<n.length;i++){let s=n[i];if(isEmitListener(e.emitsOptions,s))continue;const u=t[s];if(l)if(hasOwn$2(o,s))u!==o[s]&&(o[s]=u,c=!0);else{const t=camelize$2(s);r[t]=resolvePropValue(l,a,t,u,e,!1)}else u!==o[s]&&(o[s]=u,c=!0)}}c&&trigger(e,"set","$attrs")}function setFullProps(e,t,n,i){const[r,o]=e.propsOptions;let s,a=!1;if(t)for(let l in t){if(isReservedProp(l))continue;const c=t[l];let u;r&&hasOwn$2(r,u=camelize$2(l))?o&&o.includes(u)?(s||(s={}))[u]=c:n[u]=c:isEmitListener(e.emitsOptions,l)||l in i&&c===i[l]||(i[l]=c,a=!0)}if(o){const t=toRaw(n),i=s||EMPTY_OBJ;for(let s=0;s<o.length;s++){const a=o[s];n[a]=resolvePropValue(r,t,a,i[a],e,!hasOwn$2(i,a))}}return a}function resolvePropValue(e,t,n,i,r,o){const s=e[n];if(null!=s){const e=hasOwn$2(s,"default");if(e&&void 0===i){const e=s.default;if(s.type!==Function&&isFunction$6(e)){const{propsDefaults:o}=r;n in o?i=o[n]:(setCurrentInstance(r),i=o[n]=e.call(null,t),unsetCurrentInstance())}else i=e}s[0]&&(o&&!e?i=!1:!s[1]||""!==i&&i!==hyphenate(n)||(i=!0))}return i}function normalizePropsOptions(e,t,n=!1){const i=t.propsCache,r=i.get(e);if(r)return r;const o=e.props,s={},a=[];let l=!1;if(!isFunction$6(e)){const i=e=>{l=!0;const[n,i]=normalizePropsOptions(e,t,!0);extend$3(s,n),i&&a.push(...i)};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!o&&!l)return isObject$5(e)&&i.set(e,EMPTY_ARR),EMPTY_ARR;if(isArray$9(o))for(let u=0;u<o.length;u++){const e=camelize$2(o[u]);validatePropName(e)&&(s[e]=EMPTY_OBJ)}else if(o)for(const u in o){const e=camelize$2(u);if(validatePropName(e)){const t=o[u],n=s[e]=isArray$9(t)||isFunction$6(t)?{type:t}:Object.assign({},t);if(n){const t=getTypeIndex(Boolean,n.type),i=getTypeIndex(String,n.type);n[0]=t>-1,n[1]=i<0||t<i,(t>-1||hasOwn$2(n,"default"))&&a.push(e)}}}const c=[s,a];return isObject$5(e)&&i.set(e,c),c}function validatePropName(e){return"$"!==e[0]}function getType(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function isSameType(e,t){return getType(e)===getType(t)}function getTypeIndex(e,t){return isArray$9(t)?t.findIndex((t=>isSameType(t,e))):isFunction$6(t)&&isSameType(t,e)?0:-1}const isInternalKey=e=>"_"===e[0]||"$stable"===e,normalizeSlotValue=e=>isArray$9(e)?e.map(normalizeVNode):[normalizeVNode(e)],normalizeSlot$1=(e,t,n)=>{if(t._n)return t;const i=withCtx(((...e)=>normalizeSlotValue(t(...e))),n);return i._c=!1,i},normalizeObjectSlots=(e,t,n)=>{const i=e._ctx;for(const r in e){if(isInternalKey(r))continue;const n=e[r];if(isFunction$6(n))t[r]=normalizeSlot$1(r,n,i);else if(null!=n){const e=normalizeSlotValue(n);t[r]=()=>e}}},normalizeVNodeSlots=(e,t)=>{const n=normalizeSlotValue(t);e.slots.default=()=>n},initSlots=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=toRaw(t),def(t,"_",n)):normalizeObjectSlots(t,e.slots={})}else e.slots={},t&&normalizeVNodeSlots(e,t);def(e.slots,InternalObjectKey,1)},updateSlots=(e,t,n)=>{const{vnode:i,slots:r}=e;let o=!0,s=EMPTY_OBJ;if(32&i.shapeFlag){const e=t._;e?n&&1===e?o=!1:(extend$3(r,t),n||1!==e||delete r._):(o=!t.$stable,normalizeObjectSlots(t,r)),s=t}else t&&(normalizeVNodeSlots(e,t),s={default:1});if(o)for(const a in r)isInternalKey(a)||a in s||delete r[a]};function createAppContext(){return{app:null,config:{isNativeTag:NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let uid$1=0;function createAppAPI(e,t){return function(n,i=null){isFunction$6(n)||(n=Object.assign({},n)),null==i||isObject$5(i)||(i=null);const r=createAppContext(),o=new Set;let s=!1;const a=r.app={_uid:uid$1++,_component:n,_props:i,_container:null,_context:r,_instance:null,version:version,get config(){return r.config},set config(e){},use:(e,...t)=>(o.has(e)||(e&&isFunction$6(e.install)?(o.add(e),e.install(a,...t)):isFunction$6(e)&&(o.add(e),e(a,...t))),a),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),a),component:(e,t)=>t?(r.components[e]=t,a):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,a):r.directives[e],mount(o,l,c){if(!s){const u=createVNode(n,i);return u.appContext=r,l&&t?t(u,o):e(u,o,c),s=!0,a._container=o,o.__vue_app__=a,getExposeProxy(u.component)||u.component.proxy}},unmount(){s&&(e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,a)};return a}}function setRef(e,t,n,i,r=!1){if(isArray$9(e))return void e.forEach(((e,o)=>setRef(e,t&&(isArray$9(t)?t[o]:t),n,i,r)));if(isAsyncWrapper(i)&&!r)return;const o=4&i.shapeFlag?getExposeProxy(i.component)||i.component.proxy:i.el,s=r?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===EMPTY_OBJ?a.refs={}:a.refs,h=a.setupState;if(null!=c&&c!==l&&(isString$2(c)?(u[c]=null,hasOwn$2(h,c)&&(h[c]=null)):isRef(c)&&(c.value=null)),isFunction$6(l))callWithErrorHandling(l,a,12,[s,u]);else{const t=isString$2(l),i=isRef(l);if(t||i){const a=()=>{if(e.f){const n=t?hasOwn$2(h,l)?h[l]:u[l]:l.value;r?isArray$9(n)&&remove$7(n,o):isArray$9(n)?n.includes(o)||n.push(o):t?(u[l]=[o],hasOwn$2(h,l)&&(h[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else t?(u[l]=s,hasOwn$2(h,l)&&(h[l]=s)):i&&(l.value=s,e.k&&(u[e.k]=s))};s?(a.id=-1,queuePostRenderEffect(a,n)):a()}}}const queuePostRenderEffect=queueEffectWithSuspense;function createRenderer(e){return baseCreateRenderer(e)}function baseCreateRenderer(e,t){getGlobalThis().__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:s,createComment:a,setText:l,setElementText:c,parentNode:u,nextSibling:h,setScopeId:d=NOOP,insertStaticContent:p}=e,f=(e,t,n,i=null,r=null,o=null,s=!1,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!isSameVNodeType(e,t)&&(i=G(e),D(e,r,o,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:h}=t;switch(c){case Text:m(e,t,n,i);break;case Comment:g(e,t,n,i);break;case Static:null==e&&v(t,n,i,s);break;case Fragment:_(e,t,n,i,r,o,s,a,l);break;default:1&h?b(e,t,n,i,r,o,s,a,l):6&h?M(e,t,n,i,r,o,s,a,l):(64&h||128&h)&&c.process(e,t,n,i,r,o,s,a,l,H)}null!=u&&r&&setRef(u,e&&e.ref,o,t||e,!t)},m=(e,t,i,r)=>{if(null==e)n(t.el=s(t.children),i,r);else{const n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},g=(e,t,i,r)=>{null==e?n(t.el=a(t.children||""),i,r):t.el=e.el},v=(e,t,n,i)=>{[e.el,e.anchor]=p(e.children,t,n,i,e.el,e.anchor)},b=(e,t,n,i,r,o,s,a,l)=>{s=s||"svg"===t.type,null==e?y(t,n,i,r,o,s,a,l):x(e,t,r,o,s,a,l)},y=(e,t,i,s,a,l,u,h)=>{let d,p;const{type:f,props:m,shapeFlag:g,transition:v,dirs:b}=e;if(d=e.el=o(e.type,l,m&&m.is,m),8&g?c(d,e.children):16&g&&S(e.children,d,null,s,a,l&&"foreignObject"!==f,u,h),b&&invokeDirectiveHook(e,null,s,"created"),A(d,e,e.scopeId,u,s),m){for(const t in m)"value"===t||isReservedProp(t)||r(d,t,null,m[t],l,e.children,s,a,V);"value"in m&&r(d,"value",null,m.value),(p=m.onVnodeBeforeMount)&&invokeVNodeHook(p,s,e)}b&&invokeDirectiveHook(e,null,s,"beforeMount");const y=(!a||a&&!a.pendingBranch)&&v&&!v.persisted;y&&v.beforeEnter(d),n(d,t,i),((p=m&&m.onVnodeMounted)||y||b)&&queuePostRenderEffect((()=>{p&&invokeVNodeHook(p,s,e),y&&v.enter(d),b&&invokeDirectiveHook(e,null,s,"mounted")}),a)},A=(e,t,n,i,r)=>{if(n&&d(e,n),i)for(let o=0;o<i.length;o++)d(e,i[o]);if(r){if(t===r.subTree){const t=r.vnode;A(e,t,t.scopeId,t.slotScopeIds,r.parent)}}},S=(e,t,n,i,r,o,s,a,l=0)=>{for(let c=l;c<e.length;c++){const l=e[c]=a?cloneIfMounted(e[c]):normalizeVNode(e[c]);f(null,l,t,n,i,r,o,s,a)}},x=(e,t,n,i,o,s,a)=>{const l=t.el=e.el;let{patchFlag:u,dynamicChildren:h,dirs:d}=t;u|=16&e.patchFlag;const p=e.props||EMPTY_OBJ,f=t.props||EMPTY_OBJ;let m;n&&toggleRecurse(n,!1),(m=f.onVnodeBeforeUpdate)&&invokeVNodeHook(m,n,t,e),d&&invokeDirectiveHook(t,e,n,"beforeUpdate"),n&&toggleRecurse(n,!0);const g=o&&"foreignObject"!==t.type;if(h?E(e.dynamicChildren,h,l,n,i,g,s):a||k(e,t,l,null,n,i,g,s,!1),u>0){if(16&u)w(l,t,p,f,n,i,o);else if(2&u&&p.class!==f.class&&r(l,"class",null,f.class,o),4&u&&r(l,"style",p.style,f.style,o),8&u){const s=t.dynamicProps;for(let t=0;t<s.length;t++){const a=s[t],c=p[a],u=f[a];u===c&&"value"!==a||r(l,a,c,u,o,e.children,n,i,V)}}1&u&&e.children!==t.children&&c(l,t.children)}else a||null!=h||w(l,t,p,f,n,i,o);((m=f.onVnodeUpdated)||d)&&queuePostRenderEffect((()=>{m&&invokeVNodeHook(m,n,t,e),d&&invokeDirectiveHook(t,e,n,"updated")}),i)},E=(e,t,n,i,r,o,s)=>{for(let a=0;a<t.length;a++){const l=e[a],c=t[a],h=l.el&&(l.type===Fragment||!isSameVNodeType(l,c)||70&l.shapeFlag)?u(l.el):n;f(l,c,h,null,i,r,o,s,!0)}},w=(e,t,n,i,o,s,a)=>{if(n!==i){if(n!==EMPTY_OBJ)for(const l in n)isReservedProp(l)||l in i||r(e,l,n[l],null,a,t.children,o,s,V);for(const l in i){if(isReservedProp(l))continue;const c=i[l],u=n[l];c!==u&&"value"!==l&&r(e,l,u,c,a,t.children,o,s,V)}"value"in i&&r(e,"value",n.value,i.value)}},_=(e,t,i,r,o,a,l,c,u)=>{const h=t.el=e?e.el:s(""),d=t.anchor=e?e.anchor:s("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(c=c?c.concat(m):m),null==e?(n(h,i,r),n(d,i,r),S(t.children,i,d,o,a,l,c,u)):p>0&&64&p&&f&&e.dynamicChildren?(E(e.dynamicChildren,f,i,o,a,l,c),(null!=t.key||o&&t===o.subTree)&&traverseStaticChildren(e,t,!0)):k(e,t,i,d,o,a,l,c,u)},M=(e,t,n,i,r,o,s,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?r.ctx.activate(t,n,i,s,l):P(t,n,i,r,o,s,l):T(e,t,l)},P=(e,t,n,i,r,o,s)=>{const a=e.component=createComponentInstance(e,i,r);if(isKeepAlive(e)&&(a.ctx.renderer=H),setupComponent(a),a.asyncDep){if(r&&r.registerDep(a,C),!e.el){const e=a.subTree=createVNode(Comment);g(null,e,t,n)}}else C(a,e,t,n,r,o,s)},T=(e,t,n)=>{const i=t.component=e.component;if(shouldUpdateComponent(e,t,n)){if(i.asyncDep&&!i.asyncResolved)return void I(i,t,n);i.next=t,invalidateJob(i.update),i.update()}else t.el=e.el,i.vnode=t},C=(e,t,n,i,r,o,s)=>{const a=e.effect=new ReactiveEffect((()=>{if(e.isMounted){let t,{next:n,bu:i,u:a,parent:l,vnode:c}=e,h=n;toggleRecurse(e,!1),n?(n.el=c.el,I(e,n,s)):n=c,i&&invokeArrayFns(i),(t=n.props&&n.props.onVnodeBeforeUpdate)&&invokeVNodeHook(t,l,n,c),toggleRecurse(e,!0);const d=renderComponentRoot(e),p=e.subTree;e.subTree=d,f(p,d,u(p.el),G(p),e,r,o),n.el=d.el,null===h&&updateHOCHostEl(e,d.el),a&&queuePostRenderEffect(a,r),(t=n.props&&n.props.onVnodeUpdated)&&queuePostRenderEffect((()=>invokeVNodeHook(t,l,n,c)),r)}else{let s;const{el:a,props:l}=t,{bm:c,m:u,parent:h}=e,d=isAsyncWrapper(t);if(toggleRecurse(e,!1),c&&invokeArrayFns(c),!d&&(s=l&&l.onVnodeBeforeMount)&&invokeVNodeHook(s,h,t),toggleRecurse(e,!0),a&&j){const n=()=>{e.subTree=renderComponentRoot(e),j(a,e.subTree,e,r,null)};d?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const s=e.subTree=renderComponentRoot(e);f(null,s,n,i,e,r,o),t.el=s.el}if(u&&queuePostRenderEffect(u,r),!d&&(s=l&&l.onVnodeMounted)){const e=t;queuePostRenderEffect((()=>invokeVNodeHook(s,h,e)),r)}(256&t.shapeFlag||h&&isAsyncWrapper(h.vnode)&&256&h.vnode.shapeFlag)&&e.a&&queuePostRenderEffect(e.a,r),e.isMounted=!0,t=n=i=null}}),(()=>queueJob(l)),e.scope),l=e.update=()=>a.run();l.id=e.uid,toggleRecurse(e,!0),l()},I=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,updateProps(e,t.props,i,n),updateSlots(e,t.children,n),pauseTracking(),flushPreFlushCbs(),resetTracking()},k=(e,t,n,i,r,o,s,a,l=!1)=>{const u=e&&e.children,h=e?e.shapeFlag:0,d=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void R(u,d,n,i,r,o,s,a,l);if(256&p)return void B(u,d,n,i,r,o,s,a,l)}8&f?(16&h&&V(u,r,o),d!==u&&c(n,d)):16&h?16&f?R(u,d,n,i,r,o,s,a,l):V(u,r,o,!0):(8&h&&c(n,""),16&f&&S(d,n,i,r,o,s,a,l))},B=(e,t,n,i,r,o,s,a,l)=>{t=t||EMPTY_ARR;const c=(e=e||EMPTY_ARR).length,u=t.length,h=Math.min(c,u);let d;for(d=0;d<h;d++){const i=t[d]=l?cloneIfMounted(t[d]):normalizeVNode(t[d]);f(e[d],i,n,null,r,o,s,a,l)}c>u?V(e,r,o,!0,!1,h):S(t,n,i,r,o,s,a,l,h)},R=(e,t,n,i,r,o,s,a,l)=>{let c=0;const u=t.length;let h=e.length-1,d=u-1;for(;c<=h&&c<=d;){const i=e[c],u=t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]);if(!isSameVNodeType(i,u))break;f(i,u,n,null,r,o,s,a,l),c++}for(;c<=h&&c<=d;){const i=e[h],c=t[d]=l?cloneIfMounted(t[d]):normalizeVNode(t[d]);if(!isSameVNodeType(i,c))break;f(i,c,n,null,r,o,s,a,l),h--,d--}if(c>h){if(c<=d){const e=d+1,h=e<u?t[e].el:i;for(;c<=d;)f(null,t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]),n,h,r,o,s,a,l),c++}}else if(c>d)for(;c<=h;)D(e[c],r,o,!0),c++;else{const p=c,m=c,g=new Map;for(c=m;c<=d;c++){const e=t[c]=l?cloneIfMounted(t[c]):normalizeVNode(t[c]);null!=e.key&&g.set(e.key,c)}let v,b=0;const y=d-m+1;let A=!1,S=0;const x=new Array(y);for(c=0;c<y;c++)x[c]=0;for(c=p;c<=h;c++){const i=e[c];if(b>=y){D(i,r,o,!0);continue}let u;if(null!=i.key)u=g.get(i.key);else for(v=m;v<=d;v++)if(0===x[v-m]&&isSameVNodeType(i,t[v])){u=v;break}void 0===u?D(i,r,o,!0):(x[u-m]=c+1,u>=S?S=u:A=!0,f(i,t[u],n,null,r,o,s,a,l),b++)}const E=A?getSequence(x):EMPTY_ARR;for(v=E.length-1,c=y-1;c>=0;c--){const e=m+c,h=t[e],d=e+1<u?t[e+1].el:i;0===x[c]?f(null,h,n,d,r,o,s,a,l):A&&(v<0||c!==E[v]?L(h,n,d,2):v--)}}},L=(e,t,i,r,o=null)=>{const{el:s,type:a,transition:l,children:c,shapeFlag:u}=e;if(6&u)return void L(e.component.subTree,t,i,r);if(128&u)return void e.suspense.move(t,i,r);if(64&u)return void a.move(e,t,i,H);if(a===Fragment){n(s,t,i);for(let e=0;e<c.length;e++)L(c[e],t,i,r);return void n(e.anchor,t,i)}if(a===Static)return void(({el:e,anchor:t},i,r)=>{let o;for(;e&&e!==t;)o=h(e),n(e,i,r),e=o;n(t,i,r)})(e,t,i);if(2!==r&&1&u&&l)if(0===r)l.beforeEnter(s),n(s,t,i),queuePostRenderEffect((()=>l.enter(s)),o);else{const{leave:e,delayLeave:r,afterLeave:o}=l,a=()=>n(s,t,i),c=()=>{e(s,(()=>{a(),o&&o()}))};r?r(s,a,c):c()}else n(s,t,i)},D=(e,t,n,i=!1,r=!1)=>{const{type:o,props:s,ref:a,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:h,dirs:d}=e;if(null!=a&&setRef(a,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const p=1&u&&d,f=!isAsyncWrapper(e);let m;if(f&&(m=s&&s.onVnodeBeforeUnmount)&&invokeVNodeHook(m,t,e),6&u)O(e.component,n,i);else{if(128&u)return void e.suspense.unmount(n,i);p&&invokeDirectiveHook(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,r,H,i):c&&(o!==Fragment||h>0&&64&h)?V(c,t,n,!1,!0):(o===Fragment&&384&h||!r&&16&u)&&V(l,t,n),i&&N(e)}(f&&(m=s&&s.onVnodeUnmounted)||p)&&queuePostRenderEffect((()=>{m&&invokeVNodeHook(m,t,e),p&&invokeDirectiveHook(e,null,t,"unmounted")}),n)},N=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Fragment)return void F(n,r);if(t===Static)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),i(e),e=n;i(t)})(e);const s=()=>{i(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:i}=o,r=()=>t(n,s);i?i(e.el,s,r):r()}else s()},F=(e,t)=>{let n;for(;e!==t;)n=h(e),i(e),e=n;i(t)},O=(e,t,n)=>{const{bum:i,scope:r,update:o,subTree:s,um:a}=e;i&&invokeArrayFns(i),r.stop(),o&&(o.active=!1,D(s,e,t,n)),a&&queuePostRenderEffect(a,t),queuePostRenderEffect((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},V=(e,t,n,i=!1,r=!1,o=0)=>{for(let s=o;s<e.length;s++)D(e[s],t,n,i,r)},G=e=>6&e.shapeFlag?G(e.component.subTree):128&e.shapeFlag?e.suspense.next():h(e.anchor||e.el),z=(e,t,n)=>{null==e?t._vnode&&D(t._vnode,null,null,!0):f(t._vnode||null,e,t,null,null,null,n),flushPreFlushCbs(),flushPostFlushCbs(),t._vnode=e},H={p:f,um:D,m:L,r:N,mt:P,mc:S,pc:k,pbc:E,n:G,o:e};let U,j;return t&&([U,j]=t(H)),{render:z,hydrate:U,createApp:createAppAPI(z,U)}}function toggleRecurse({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function traverseStaticChildren(e,t,n=!1){const i=e.children,r=t.children;if(isArray$9(i)&&isArray$9(r))for(let o=0;o<i.length;o++){const e=i[o];let t=r[o];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=r[o]=cloneIfMounted(r[o]),t.el=e.el),n||traverseStaticChildren(e,t)),t.type===Text&&(t.el=e.el)}}function getSequence(e){const t=e.slice(),n=[0];let i,r,o,s,a;const l=e.length;for(i=0;i<l;i++){const l=e[i];if(0!==l){if(r=n[n.length-1],e[r]<l){t[i]=r,n.push(i);continue}for(o=0,s=n.length-1;o<s;)a=o+s>>1,e[n[a]]<l?o=a+1:s=a;l<e[n[o]]&&(o>0&&(t[i]=n[o-1]),n[o]=i)}}for(o=n.length,s=n[o-1];o-- >0;)n[o]=s,s=t[s];return n}const isTeleport=e=>e.__isTeleport,isTeleportDisabled=e=>e&&(e.disabled||""===e.disabled),isTargetSVG=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,resolveTarget=(e,t)=>{const n=e&&e.to;if(isString$2(n)){if(t){return t(n)}return null}return n},TeleportImpl={__isTeleport:!0,process(e,t,n,i,r,o,s,a,l,c){const{mc:u,pc:h,pbc:d,o:{insert:p,querySelector:f,createText:m,createComment:g}}=c,v=isTeleportDisabled(t.props);let{shapeFlag:b,children:y,dynamicChildren:A}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,n,i),p(c,n,i);const h=t.target=resolveTarget(t.props,f),d=t.targetAnchor=m("");h&&(p(d,h),s=s||isTargetSVG(h));const g=(e,t)=>{16&b&&u(y,e,t,r,o,s,a,l)};v?g(n,c):h&&g(h,d)}else{t.el=e.el;const i=t.anchor=e.anchor,u=t.target=e.target,p=t.targetAnchor=e.targetAnchor,m=isTeleportDisabled(e.props),g=m?n:u,b=m?i:p;if(s=s||isTargetSVG(u),A?(d(e.dynamicChildren,A,g,r,o,s,a),traverseStaticChildren(e,t,!0)):l||h(e,t,g,b,r,o,s,a,!1),v)m||moveTeleport(t,n,i,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=resolveTarget(t.props,f);e&&moveTeleport(t,e,null,c,0)}else m&&moveTeleport(t,u,p,c,1)}updateCssVars(t)},remove(e,t,n,i,{um:r,o:{remove:o}},s){const{shapeFlag:a,children:l,anchor:c,targetAnchor:u,target:h,props:d}=e;if(h&&o(u),(s||!isTeleportDisabled(d))&&(o(c),16&a))for(let p=0;p<l.length;p++){const e=l[p];r(e,t,n,!0,!!e.dynamicChildren)}},move:moveTeleport,hydrate:hydrateTeleport};function moveTeleport(e,t,n,{o:{insert:i},m:r},o=2){0===o&&i(e.targetAnchor,t,n);const{el:s,anchor:a,shapeFlag:l,children:c,props:u}=e,h=2===o;if(h&&i(s,t,n),(!h||isTeleportDisabled(u))&&16&l)for(let d=0;d<c.length;d++)r(c[d],t,n,2);h&&i(a,t,n)}function hydrateTeleport(e,t,n,i,r,o,{o:{nextSibling:s,parentNode:a,querySelector:l}},c){const u=t.target=resolveTarget(t.props,l);if(u){const l=u._lpa||u.firstChild;if(16&t.shapeFlag)if(isTeleportDisabled(t.props))t.anchor=c(s(e),t,a(e),n,i,r,o),t.targetAnchor=l;else{t.anchor=s(e);let a=l;for(;a;)if(a=s(a),a&&8===a.nodeType&&"teleport anchor"===a.data){t.targetAnchor=a,u._lpa=t.targetAnchor&&s(t.targetAnchor);break}c(l,t,u,n,i,r,o)}updateCssVars(t)}return t.anchor&&s(t.anchor)}const Teleport=exports("cN",TeleportImpl);function updateCssVars(e){const t=e.ctx;if(t&&t.ut){let n=e.children[0].el;for(;n!==e.targetAnchor;)1===n.nodeType&&n.setAttribute("data-v-owner",t.uid),n=n.nextSibling;t.ut()}}const Fragment=exports("F",Symbol(void 0)),Text=exports("aX",Symbol(void 0)),Comment=exports("aW",Symbol(void 0)),Static=Symbol(void 0),blockStack=[];let currentBlock=null;function openBlock(e=!1){blockStack.push(currentBlock=e?null:[])}function closeBlock(){blockStack.pop(),currentBlock=blockStack[blockStack.length-1]||null}let isBlockTreeEnabled=1;function setBlockTracking(e){isBlockTreeEnabled+=e}function setupBlock(e){return e.dynamicChildren=isBlockTreeEnabled>0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&&currentBlock&&currentBlock.push(e),e}function createElementBlock(e,t,n,i,r,o){return setupBlock(createBaseVNode(e,t,n,i,r,o,!0))}function createBlock(e,t,n,i,r){return setupBlock(createVNode(e,t,n,i,r,!0))}function isVNode(e){return!!e&&!0===e.__v_isVNode}function isSameVNodeType(e,t){return e.type===t.type&&e.key===t.key}const InternalObjectKey="__vInternal",normalizeKey=({key:e})=>null!=e?e:null,normalizeRef=({ref:e,ref_key:t,ref_for:n})=>null!=e?isString$2(e)||isRef(e)||isFunction$6(e)?{i:currentRenderingInstance,r:e,k:t,f:!!n}:e:null;function createBaseVNode(e,t=null,n=null,i=0,r=null,o=(e===Fragment?0:1),s=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&normalizeKey(t),ref:t&&normalizeRef(t),scopeId:currentScopeId,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:currentRenderingInstance};return a?(normalizeChildren(l,n),128&o&&e.normalize(l)):n&&(l.shapeFlag|=isString$2(n)?8:16),isBlockTreeEnabled>0&&!s&&currentBlock&&(l.patchFlag>0||6&o)&&32!==l.patchFlag&&currentBlock.push(l),l}const createVNode=exports("f",_createVNode);function _createVNode(e,t=null,n=null,i=0,r=null,o=!1){if(e&&e!==NULL_DYNAMIC_COMPONENT||(e=Comment),isVNode(e)){const i=cloneVNode(e,t,!0);return n&&normalizeChildren(i,n),isBlockTreeEnabled>0&&!o&&currentBlock&&(6&i.shapeFlag?currentBlock[currentBlock.indexOf(e)]=i:currentBlock.push(i)),i.patchFlag|=-2,i}if(isClassComponent(e)&&(e=e.__vccOpts),t){t=guardReactiveProps(t);let{class:e,style:n}=t;e&&!isString$2(e)&&(t.class=normalizeClass(e)),isObject$5(n)&&(isProxy(n)&&!isArray$9(n)&&(n=extend$3({},n)),t.style=normalizeStyle(n))}return createBaseVNode(e,t,n,i,r,isString$2(e)?1:isSuspense(e)?128:isTeleport(e)?64:isObject$5(e)?4:isFunction$6(e)?2:0,o,!0)}function guardReactiveProps(e){return e?isProxy(e)||InternalObjectKey in e?extend$3({},e):e:null}function cloneVNode(e,t,n=!1){const{props:i,ref:r,patchFlag:o,children:s}=e,a=t?mergeProps(i||{},t):i;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&normalizeKey(a),ref:t&&t.ref?n&&r?isArray$9(r)?r.concat(normalizeRef(t)):[r,normalizeRef(t)]:normalizeRef(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fragment?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cloneVNode(e.ssContent),ssFallback:e.ssFallback&&cloneVNode(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function createTextVNode(e=" ",t=0){return createVNode(Text,null,e,t)}function createCommentVNode(e="",t=!1){return t?(openBlock(),createBlock(Comment,null,e)):createVNode(Comment,null,e)}function normalizeVNode(e){return null==e||"boolean"==typeof e?createVNode(Comment):isArray$9(e)?createVNode(Fragment,null,e.slice()):"object"==typeof e?cloneIfMounted(e):createVNode(Text,null,String(e))}function cloneIfMounted(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:cloneVNode(e)}function normalizeChildren(e,t){let n=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(isArray$9(t))n=16;else if("object"==typeof t){if(65&i){const n=t.default;return void(n&&(n._c&&(n._d=!1),normalizeChildren(e,n()),n._c&&(n._d=!0)))}{n=32;const i=t._;i||InternalObjectKey in t?3===i&&currentRenderingInstance&&(1===currentRenderingInstance.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=currentRenderingInstance}}else isFunction$6(t)?(t={default:t,_ctx:currentRenderingInstance},n=32):(t=String(t),64&i?(n=16,t=[createTextVNode(t)]):n=8);e.children=t,e.shapeFlag|=n}function mergeProps(...e){const t={};for(let n=0;n<e.length;n++){const i=e[n];for(const e in i)if("class"===e)t.class!==i.class&&(t.class=normalizeClass([t.class,i.class]));else if("style"===e)t.style=normalizeStyle([t.style,i.style]);else if(isOn(e)){const n=t[e],r=i[e];!r||n===r||isArray$9(n)&&n.includes(r)||(t[e]=n?[].concat(n,r):r)}else""!==e&&(t[e]=i[e])}return t}function invokeVNodeHook(e,t,n,i=null){callWithAsyncErrorHandling(e,t,7,[n,i])}const emptyAppContext=createAppContext();let uid=0;function createComponentInstance(e,t,n){const i=e.type,r=(t?t.appContext:e.appContext)||emptyAppContext,o={uid:uid++,vnode:e,type:i,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new EffectScope(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:normalizePropsOptions(i,r),emitsOptions:normalizeEmitsOptions(i,r),emit:null,emitted:null,propsDefaults:EMPTY_OBJ,inheritAttrs:i.inheritAttrs,ctx:EMPTY_OBJ,data:EMPTY_OBJ,props:EMPTY_OBJ,attrs:EMPTY_OBJ,slots:EMPTY_OBJ,refs:EMPTY_OBJ,setupState:EMPTY_OBJ,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=emit.bind(null,o),e.ce&&e.ce(o),o}let currentInstance=null;const getCurrentInstance=()=>currentInstance||currentRenderingInstance,setCurrentInstance=e=>{currentInstance=e,e.scope.on()},unsetCurrentInstance=()=>{currentInstance&&currentInstance.scope.off(),currentInstance=null};function isStatefulComponent(e){return 4&e.vnode.shapeFlag}let isInSSRComponentSetup=!1,compile$1;function setupComponent(e,t=!1){isInSSRComponentSetup=t;const{props:n,children:i}=e.vnode,r=isStatefulComponent(e);initProps(e,n,r,t),initSlots(e,i);const o=r?setupStatefulComponent(e,t):void 0;return isInSSRComponentSetup=!1,o}function setupStatefulComponent(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=markRaw(new Proxy(e.ctx,PublicInstanceProxyHandlers));const{setup:i}=n;if(i){const n=e.setupContext=i.length>1?createSetupContext(e):null;setCurrentInstance(e),pauseTracking();const r=callWithErrorHandling(i,e,0,[e.props,n]);if(resetTracking(),unsetCurrentInstance(),isPromise$1(r)){if(r.then(unsetCurrentInstance,unsetCurrentInstance),t)return r.then((n=>{handleSetupResult(e,n,t)})).catch((t=>{handleError(t,e,0)}));e.asyncDep=r}else handleSetupResult(e,r,t)}else finishComponentSetup(e,t)}function handleSetupResult(e,t,n){isFunction$6(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:isObject$5(t)&&(e.setupState=proxyRefs(t)),finishComponentSetup(e,n)}function finishComponentSetup(e,t,n){const i=e.type;if(!e.render){if(!t&&compile$1&&!i.render){const t=i.template||resolveMergedOptions(e).template;if(t){const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:o,compilerOptions:s}=i,a=extend$3(extend$3({isCustomElement:n,delimiters:o},r),s);i.render=compile$1(t,a)}}e.render=i.render||NOOP}setCurrentInstance(e),pauseTracking(),applyOptions(e),resetTracking(),unsetCurrentInstance()}function createAttrsProxy(e){return new Proxy(e.attrs,{get:(t,n)=>(track(e,"get","$attrs"),t[n])})}function createSetupContext(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=createAttrsProxy(e))},slots:e.slots,emit:e.emit,expose:t}}function getExposeProxy(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(proxyRefs(markRaw(e.exposed)),{get:(t,n)=>n in t?t[n]:n in publicPropertiesMap?publicPropertiesMap[n](e):void 0,has:(e,t)=>t in e||t in publicPropertiesMap}))}function getComponentName(e,t=!0){return isFunction$6(e)?e.displayName||e.name:e.name||t&&e.__name}function isClassComponent(e){return isFunction$6(e)&&"__vccOpts"in e}const computed=exports("e",((e,t)=>computed$1(e,t,isInSSRComponentSetup)));function h$1(e,t,n){const i=arguments.length;return 2===i?isObject$5(t)&&!isArray$9(t)?isVNode(t)?createVNode(e,null,[t]):createVNode(e,t):createVNode(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):3===i&&isVNode(n)&&(n=[n]),createVNode(e,t,n))}const ssrContextKey=Symbol(""),useSSRContext=()=>inject(ssrContextKey),version="3.2.47",svgNS="http://www.w3.org/2000/svg",doc$2="undefined"!=typeof document?document:null,templateContainer=doc$2&&doc$2.createElement("template"),nodeOps={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const r=t?doc$2.createElementNS(svgNS,e):doc$2.createElement(e,n?{is:n}:void 0);return"select"===e&&i&&null!=i.multiple&&r.setAttribute("multiple",i.multiple),r},createText:e=>doc$2.createTextNode(e),createComment:e=>doc$2.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>doc$2.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,r,o){const s=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==o&&(r=r.nextSibling););else{templateContainer.innerHTML=i?`<svg>${e}</svg>`:e;const r=templateContainer.content;if(i){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function patchClass(e,t,n){const i=e._vtc;i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function patchStyle(e,t,n){const i=e.style,r=isString$2(n);if(n&&!r){if(t&&!isString$2(t))for(const e in t)null==n[e]&&setStyle(i,e,"");for(const e in n)setStyle(i,e,n[e])}else{const o=i.display;r?t!==n&&(i.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(i.display=o)}}const importantRE=/\s*!important$/;function setStyle(e,t,n){if(isArray$9(n))n.forEach((n=>setStyle(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=autoPrefix(e,t);importantRE.test(n)?e.setProperty(hyphenate(i),n.replace(importantRE,""),"important"):e[i]=n}}const prefixes=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(e,t){const n=prefixCache[t];if(n)return n;let i=camelize$2(t);if("filter"!==i&&i in e)return prefixCache[t]=i;i=capitalize(i);for(let r=0;r<prefixes.length;r++){const n=prefixes[r]+i;if(n in e)return prefixCache[t]=n}return t}const xlinkNS="http://www.w3.org/1999/xlink";function patchAttr(e,t,n,i,r){if(i&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(xlinkNS,t.slice(6,t.length)):e.setAttributeNS(xlinkNS,t,n);else{const i=isSpecialBooleanAttr(t);null==n||i&&!includeBooleanAttr(n)?e.removeAttribute(t):e.setAttribute(t,i?"":n)}}function patchDOMProp(e,t,n,i,r,o,s){if("innerHTML"===t||"textContent"===t)return i&&s(i,r,o),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const i=null==n?"":n;return e.value===i&&"OPTION"!==e.tagName||(e.value=i),void(null==n&&e.removeAttribute(t))}let a=!1;if(""===n||null==n){const i=typeof e[t];"boolean"===i?n=includeBooleanAttr(n):null==n&&"string"===i?(n="",a=!0):"number"===i&&(n=0,a=!0)}try{e[t]=n}catch(l){}a&&e.removeAttribute(t)}function addEventListener(e,t,n,i){e.addEventListener(t,n,i)}function removeEventListener(e,t,n,i){e.removeEventListener(t,n,i)}function patchEvent(e,t,n,i,r=null){const o=e._vei||(e._vei={}),s=o[t];if(i&&s)s.value=i;else{const[n,a]=parseName(t);if(i){addEventListener(e,n,o[t]=createInvoker(i,r),a)}else s&&(removeEventListener(e,n,s,a),o[t]=void 0)}}const optionsModifierRE=/(?:Once|Passive|Capture)$/;function parseName(e){let t;if(optionsModifierRE.test(e)){let n;for(t={};n=e.match(optionsModifierRE);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):hyphenate(e.slice(2)),t]}let cachedNow=0;const p=Promise.resolve(),getNow=()=>cachedNow||(p.then((()=>cachedNow=0)),cachedNow=Date.now());function createInvoker(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();callWithAsyncErrorHandling(patchStopImmediatePropagation(e,n.value),t,5,[e])};return n.value=e,n.attached=getNow(),n}function patchStopImmediatePropagation(e,t){if(isArray$9(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const nativeOnRE=/^on[a-z]/,patchProp=(e,t,n,i,r=!1,o,s,a,l)=>{"class"===t?patchClass(e,i,r):"style"===t?patchStyle(e,n,i):isOn(t)?isModelListener(t)||patchEvent(e,t,n,i,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):shouldSetAsProp(e,t,i,r))?patchDOMProp(e,t,i,o,s,a,l):("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),patchAttr(e,t,i,r))};function shouldSetAsProp(e,t,n,i){return i?"innerHTML"===t||"textContent"===t||!!(t in e&&nativeOnRE.test(t)&&isFunction$6(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!nativeOnRE.test(t)||!isString$2(n))&&t in e))))}const TRANSITION="transition",ANIMATION="animation",Transition=exports("ah",((e,{slots:t})=>h$1(BaseTransition,resolveTransitionProps(e),t)));Transition.displayName="Transition";const DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},TransitionPropsValidators=Transition.props=extend$3({},BaseTransition.props,DOMTransitionPropsValidators),callHook=(e,t=[])=>{isArray$9(e)?e.forEach((e=>e(...t))):e&&e(...t)},hasExplicitCallback=e=>!!e&&(isArray$9(e)?e.some((e=>e.length>1)):e.length>1);function resolveTransitionProps(e){const t={};for(const T in e)T in DOMTransitionPropsValidators||(t[T]=e[T]);if(!1===e.css)return t;const{name:n="v",type:i,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=s,appearToClass:u=a,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=normalizeDuration(r),m=f&&f[0],g=f&&f[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:y,onLeave:A,onLeaveCancelled:S,onBeforeAppear:x=v,onAppear:E=b,onAppearCancelled:w=y}=t,_=(e,t,n)=>{removeTransitionClass(e,t?u:a),removeTransitionClass(e,t?c:s),n&&n()},M=(e,t)=>{e._isLeaving=!1,removeTransitionClass(e,h),removeTransitionClass(e,p),removeTransitionClass(e,d),t&&t()},P=e=>(t,n)=>{const r=e?E:b,s=()=>_(t,e,n);callHook(r,[t,s]),nextFrame((()=>{removeTransitionClass(t,e?l:o),addTransitionClass(t,e?u:a),hasExplicitCallback(r)||whenTransitionEnds(t,i,m,s)}))};return extend$3(t,{onBeforeEnter(e){callHook(v,[e]),addTransitionClass(e,o),addTransitionClass(e,s)},onBeforeAppear(e){callHook(x,[e]),addTransitionClass(e,l),addTransitionClass(e,c)},onEnter:P(!1),onAppear:P(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>M(e,t);addTransitionClass(e,h),forceReflow(),addTransitionClass(e,d),nextFrame((()=>{e._isLeaving&&(removeTransitionClass(e,h),addTransitionClass(e,p),hasExplicitCallback(A)||whenTransitionEnds(e,i,g,n))})),callHook(A,[e,n])},onEnterCancelled(e){_(e,!1),callHook(y,[e])},onAppearCancelled(e){_(e,!0),callHook(w,[e])},onLeaveCancelled(e){M(e),callHook(S,[e])}})}function normalizeDuration(e){if(null==e)return null;if(isObject$5(e))return[NumberOf(e.enter),NumberOf(e.leave)];{const t=NumberOf(e);return[t,t]}}function NumberOf(e){return toNumber$1(e)}function addTransitionClass(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function removeTransitionClass(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function nextFrame(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let endId=0;function whenTransitionEnds(e,t,n,i){const r=e._endId=++endId,o=()=>{r===e._endId&&i()};if(n)return setTimeout(o,n);const{type:s,timeout:a,propCount:l}=getTransitionInfo(e,t);if(!s)return i();const c=s+"end";let u=0;const h=()=>{e.removeEventListener(c,d),o()},d=t=>{t.target===e&&++u>=l&&h()};setTimeout((()=>{u<l&&h()}),a+1),e.addEventListener(c,d)}function getTransitionInfo(e,t){const n=window.getComputedStyle(e),i=e=>(n[e]||"").split(", "),r=i(`${TRANSITION}Delay`),o=i(`${TRANSITION}Duration`),s=getTimeout(r,o),a=i(`${ANIMATION}Delay`),l=i(`${ANIMATION}Duration`),c=getTimeout(a,l);let u=null,h=0,d=0;t===TRANSITION?s>0&&(u=TRANSITION,h=s,d=o.length):t===ANIMATION?c>0&&(u=ANIMATION,h=c,d=l.length):(h=Math.max(s,c),u=h>0?s>c?TRANSITION:ANIMATION:null,d=u?u===TRANSITION?o.length:l.length:0);return{type:u,timeout:h,propCount:d,hasTransform:u===TRANSITION&&/\b(transform|all)(,|$)/.test(i(`${TRANSITION}Property`).toString())}}function getTimeout(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map(((t,n)=>toMs(t)+toMs(e[n]))))}function toMs(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function forceReflow(){return document.body.offsetHeight}const positionMap=new WeakMap,newPositionMap=new WeakMap,TransitionGroupImpl={name:"TransitionGroup",props:extend$3({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=getCurrentInstance(),i=useTransitionState();let r,o;return onUpdated((()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!hasCSSTransform(r[0].el,n.vnode.el,t))return;r.forEach(callPendingCbs),r.forEach(recordPosition);const i=r.filter(applyTranslation);forceReflow(),i.forEach((e=>{const n=e.el,i=n.style;addTransitionClass(n,t),i.transform=i.webkitTransform=i.transitionDuration="";const r=n._moveCb=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n._moveCb=null,removeTransitionClass(n,t))};n.addEventListener("transitionend",r)}))})),()=>{const s=toRaw(e),a=resolveTransitionProps(s);let l=s.tag||Fragment;r=o,o=t.default?getTransitionRawChildren(t.default()):[];for(let e=0;e<o.length;e++){const t=o[e];null!=t.key&&setTransitionHooks(t,resolveTransitionHooks(t,a,i,n))}if(r)for(let e=0;e<r.length;e++){const t=r[e];setTransitionHooks(t,resolveTransitionHooks(t,a,i,n)),positionMap.set(t,t.el.getBoundingClientRect())}return createVNode(l,null,o)}}},removeMode=e=>delete e.mode;TransitionGroupImpl.props;const TransitionGroup=TransitionGroupImpl;function callPendingCbs(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function recordPosition(e){newPositionMap.set(e,e.el.getBoundingClientRect())}function applyTranslation(e){const t=positionMap.get(e),n=newPositionMap.get(e),i=t.left-n.left,r=t.top-n.top;if(i||r){const t=e.el.style;return t.transform=t.webkitTransform=`translate(${i}px,${r}px)`,t.transitionDuration="0s",e}}function hasCSSTransform(e,t,n){const i=e.cloneNode();e._vtc&&e._vtc.forEach((e=>{e.split(/\s+/).forEach((e=>e&&i.classList.remove(e)))})),n.split(/\s+/).forEach((e=>e&&i.classList.add(e))),i.style.display="none";const r=1===t.nodeType?t:t.parentNode;r.appendChild(i);const{hasTransform:o}=getTransitionInfo(i);return r.removeChild(i),o}const keyNames={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},withKeys=exports("b$",((e,t)=>n=>{if(!("key"in n))return;const i=hyphenate(n.key);return t.some((e=>e===i||keyNames[e]===i))?e(n):void 0})),vShow=exports("ct",{beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):setDisplay(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),setDisplay(e,!0),i.enter(e)):i.leave(e,(()=>{setDisplay(e,!1)})):setDisplay(e,t))},beforeUnmount(e,{value:t}){setDisplay(e,t)}});function setDisplay(e,t){e.style.display=t?e._vod:"none"}const rendererOptions=extend$3({patchProp:patchProp},nodeOps);let renderer;function ensureRenderer(){return renderer||(renderer=createRenderer(rendererOptions))}const createApp=exports("az",((...e)=>{const t=ensureRenderer().createApp(...e),{mount:n}=t;return t.mount=e=>{const i=normalizeContainer(e);if(!i)return;const r=t._component;isFunction$6(r)||r.render||r.template||(r.template=i.innerHTML),i.innerHTML="";const o=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t}));function normalizeContainer(e){if(isString$2(e)){return document.querySelector(e)}return e}
  2. /*!
  3. * vue-router v4.1.6
  4. * (c) 2022 Eduardo San Martin Morote
  5. * @license MIT
  6. */const isBrowser="undefined"!=typeof window;function isESModule(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const assign$2=Object.assign;function applyToParams(e,t){const n={};for(const i in t){const r=t[i];n[i]=isArray$8(r)?r.map(e):e(r)}return n}const noop$2=()=>{},isArray$8=Array.isArray,TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=e=>e.replace(TRAILING_SLASH_RE,"");function parseURL(e,t,n="/"){let i,r={},o="",s="";const a=t.indexOf("#");let l=t.indexOf("?");return a<l&&a>=0&&(l=-1),l>-1&&(i=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),r=e(o)),a>-1&&(i=i||t.slice(0,a),s=t.slice(a,t.length)),i=resolveRelativePath(null!=i?i:t,n),{fullPath:i+(o&&"?")+o+s,path:i,query:r,hash:s}}function stringifyURL(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function stripBase(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function isSameRouteLocation(e,t,n){const i=t.matched.length-1,r=n.matched.length-1;return i>-1&&i===r&&isSameRouteRecord(t.matched[i],n.matched[r])&&isSameRouteLocationParams(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function isSameRouteRecord(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function isSameRouteLocationParams(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!isSameRouteLocationParamsValue(e[n],t[n]))return!1;return!0}function isSameRouteLocationParamsValue(e,t){return isArray$8(e)?isEquivalentArray(e,t):isArray$8(t)?isEquivalentArray(t,e):e===t}function isEquivalentArray(e,t){return isArray$8(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function resolveRelativePath(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),i=e.split("/");let r,o,s=n.length-1;for(r=0;r<i.length;r++)if(o=i[r],"."!==o){if(".."!==o)break;s>1&&s--}return n.slice(0,s).join("/")+"/"+i.slice(r-(r===i.length?1:0)).join("/")}var NavigationType,NavigationDirection;function normalizeBase(e){if(!e)if(isBrowser){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),removeTrailingSlash(e)}!function(e){e.pop="pop",e.push="push"}(NavigationType||(NavigationType={})),function(e){e.back="back",e.forward="forward",e.unknown=""}(NavigationDirection||(NavigationDirection={}));const BEFORE_HASH_RE=/^[^#]+#/;function createHref(e,t){return e.replace(BEFORE_HASH_RE,"#")+t}function getElementPosition(e,t){const n=document.documentElement.getBoundingClientRect(),i=e.getBoundingClientRect();return{behavior:t.behavior,left:i.left-n.left-(t.left||0),top:i.top-n.top-(t.top||0)}}const computeScrollPosition=()=>({left:window.pageXOffset,top:window.pageYOffset});function scrollToPosition(e){let t;if("el"in e){const n=e.el,i="string"==typeof n&&n.startsWith("#"),r="string"==typeof n?i?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=getElementPosition(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.pageXOffset,null!=t.top?t.top:window.pageYOffset)}function getScrollKey(e,t){return(history.state?history.state.position-t:-1)+e}const scrollPositions=new Map;function saveScrollPosition(e,t){scrollPositions.set(e,t)}function getSavedScrollPosition(e){const t=scrollPositions.get(e);return scrollPositions.delete(e),t}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(e,t){const{pathname:n,search:i,hash:r}=t,o=e.indexOf("#");if(o>-1){let t=r.includes(e.slice(o))?e.slice(o).length:1,n=r.slice(t);return"/"!==n[0]&&(n="/"+n),stripBase(n,"")}return stripBase(n,e)+i+r}function useHistoryListeners(e,t,n,i){let r=[],o=[],s=null;const a=({state:o})=>{const a=createCurrentLocation(e,location),l=n.value,c=t.value;let u=0;if(o){if(n.value=a,t.value=o,s&&s===l)return void(s=null);u=c?o.position-c.position:0}else i(a);r.forEach((e=>{e(n.value,l,{delta:u,type:NavigationType.pop,direction:u?u>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})}))};function l(){const{history:e}=window;e.state&&e.replaceState(assign$2({},e.state,{scroll:computeScrollPosition()}),"")}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l),{pauseListeners:function(){s=n.value},listen:function(e){r.push(e);const t=()=>{const t=r.indexOf(e);t>-1&&r.splice(t,1)};return o.push(t),t},destroy:function(){for(const e of o)e();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}}}function buildState(e,t,n,i=!1,r=!1){return{back:e,current:t,forward:n,replaced:i,position:window.history.length,scroll:r?computeScrollPosition():null}}function useHistoryStateNavigation(e){const{history:t,location:n}=window,i={value:createCurrentLocation(e,n)},r={value:t.state};function o(i,o,s){const a=e.indexOf("#"),l=a>-1?(n.host&&document.querySelector("base")?e:e.slice(a))+i:createBaseLocation()+e+i;try{t[s?"replaceState":"pushState"](o,"",l),r.value=o}catch(c){console.error(c),n[s?"replace":"assign"](l)}}return r.value||o(i.value,{back:null,current:i.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:i,state:r,push:function(e,n){const s=assign$2({},r.value,t.state,{forward:e,scroll:computeScrollPosition()});o(s.current,s,!0),o(e,assign$2({},buildState(i.value,e,null),{position:s.position+1},n),!1),i.value=e},replace:function(e,n){o(e,assign$2({},t.state,buildState(r.value.back,e,r.value.forward,!0),n,{position:r.value.position}),!0),i.value=e}}}function createWebHistory(e){const t=useHistoryStateNavigation(e=normalizeBase(e)),n=useHistoryListeners(e,t.state,t.location,t.replace);const i=assign$2({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:createHref.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function createWebHashHistory(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),createWebHistory(e)}function isRouteLocation(e){return"string"==typeof e||e&&"object"==typeof e}function isRouteName(e){return"string"==typeof e||"symbol"==typeof e}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},NavigationFailureSymbol=Symbol("");var NavigationFailureType;function createRouterError(e,t){return assign$2(new Error,{type:e,[NavigationFailureSymbol]:!0},t)}function isNavigationFailure(e,t){return e instanceof Error&&NavigationFailureSymbol in e&&(null==t||!!(e.type&t))}!function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"}(NavigationFailureType||(NavigationFailureType={}));const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(e,t){const n=assign$2({},BASE_PATH_PARSER_OPTIONS,t),i=[];let r=n.start?"^":"";const o=[];for(const l of e){const e=l.length?[]:[90];n.strict&&!l.length&&(r+="/");for(let t=0;t<l.length;t++){const i=l[t];let s=40+(n.sensitive?.25:0);if(0===i.type)t||(r+="/"),r+=i.value.replace(REGEX_CHARS_RE,"\\$&"),s+=40;else if(1===i.type){const{value:e,repeatable:n,optional:c,regexp:u}=i;o.push({name:e,repeatable:n,optional:c});const h=u||BASE_PARAM_PATTERN;if(h!==BASE_PARAM_PATTERN){s+=10;try{new RegExp(`(${h})`)}catch(a){throw new Error(`Invalid custom RegExp for param "${e}" (${h}): `+a.message)}}let d=n?`((?:${h})(?:/(?:${h}))*)`:`(${h})`;t||(d=c&&l.length<2?`(?:/${d})`:"/"+d),c&&(d+="?"),r+=d,s+=20,c&&(s+=-8),n&&(s+=-20),".*"===h&&(s+=-50)}e.push(s)}i.push(e)}if(n.strict&&n.end){const e=i.length-1;i[e][i[e].length-1]+=.7000000000000001}n.strict||(r+="/?"),n.end?r+="$":n.strict&&(r+="(?:/|$)");const s=new RegExp(r,n.sensitive?"":"i");return{re:s,score:i,keys:o,parse:function(e){const t=e.match(s),n={};if(!t)return null;for(let i=1;i<t.length;i++){const e=t[i]||"",r=o[i-1];n[r.name]=e&&r.repeatable?e.split("/"):e}return n},stringify:function(t){let n="",i=!1;for(const r of e){i&&n.endsWith("/")||(n+="/"),i=!1;for(const e of r)if(0===e.type)n+=e.value;else if(1===e.type){const{value:o,repeatable:s,optional:a}=e,l=o in t?t[o]:"";if(isArray$8(l)&&!s)throw new Error(`Provided param "${o}" is an array but it is not repeatable (* or + modifiers)`);const c=isArray$8(l)?l.join("/"):l;if(!c){if(!a)throw new Error(`Missing required param "${o}"`);r.length<2&&(n.endsWith("/")?n=n.slice(0,-1):i=!0)}n+=c}}return n||"/"}}}function compareScoreArray(e,t){let n=0;for(;n<e.length&&n<t.length;){const i=t[n]-e[n];if(i)return i;n++}return e.length<t.length?1===e.length&&80===e[0]?-1:1:e.length>t.length?1===t.length&&80===t[0]?1:-1:0}function comparePathParserScore(e,t){let n=0;const i=e.score,r=t.score;for(;n<i.length&&n<r.length;){const e=compareScoreArray(i[n],r[n]);if(e)return e;n++}if(1===Math.abs(r.length-i.length)){if(isLastScoreNegative(i))return 1;if(isLastScoreNegative(r))return-1}return r.length-i.length}function isLastScoreNegative(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(e){if(!e)return[[]];if("/"===e)return[[ROOT_TOKEN]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${c}": ${e}`)}let n=0,i=n;const r=[];let o;function s(){o&&r.push(o),o=[]}let a,l=0,c="",u="";function h(){c&&(0===n?o.push({type:0,value:c}):1===n||2===n||3===n?(o.length>1&&("*"===a||"+"===a)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;l<e.length;)if(a=e[l++],"\\"!==a||2===n)switch(n){case 0:"/"===a?(c&&h(),s()):":"===a?(h(),n=1):d();break;case 4:d(),n=i;break;case 1:"("===a?n=2:VALID_PARAM_RE.test(a)?d():(h(),n=0,"*"!==a&&"?"!==a&&"+"!==a&&l--);break;case 2:")"===a?"\\"==u[u.length-1]?u=u.slice(0,-1)+a:n=3:u+=a;break;case 3:h(),n=0,"*"!==a&&"?"!==a&&"+"!==a&&l--,u="";break;default:t("Unknown state")}else i=n,n=4;return 2===n&&t(`Unfinished custom RegExp for param "${c}"`),h(),s(),r}function createRouteRecordMatcher(e,t,n){const i=tokensToParser(tokenizePath(e.path),n),r=assign$2(i,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function createRouterMatcher(e,t){const n=[],i=new Map;function r(e,n,i){const a=!i,l=normalizeRouteRecord(e);l.aliasOf=i&&i.record;const c=mergeOptions(t,e),u=[l];if("alias"in e){const t="string"==typeof e.alias?[e.alias]:e.alias;for(const e of t)u.push(assign$2({},l,{components:i?i.record.components:l.components,path:e,aliasOf:i?i.record:l}))}let h,d;for(const t of u){const{path:u}=t;if(n&&"/"!==u[0]){const e=n.record.path,i="/"===e[e.length-1]?"":"/";t.path=n.record.path+(u&&i+u)}if(h=createRouteRecordMatcher(t,n,c),i?i.alias.push(h):(d=d||h,d!==h&&d.alias.push(h),a&&e.name&&!isAliasRecord(h)&&o(e.name)),l.children){const e=l.children;for(let t=0;t<e.length;t++)r(e[t],h,i&&i.children[t])}i=i||h,(h.record.components&&Object.keys(h.record.components).length||h.record.name||h.record.redirect)&&s(h)}return d?()=>{o(d)}:noop$2}function o(e){if(isRouteName(e)){const t=i.get(e);t&&(i.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&i.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(e){let t=0;for(;t<n.length&&comparePathParserScore(e,n[t])>=0&&(e.record.path!==n[t].record.path||!isRecordChildOf(e,n[t]));)t++;n.splice(t,0,e),e.record.name&&!isAliasRecord(e)&&i.set(e.record.name,e)}return t=mergeOptions({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>r(e))),{addRoute:r,resolve:function(e,t){let r,o,s,a={};if("name"in e&&e.name){if(r=i.get(e.name),!r)throw createRouterError(1,{location:e});s=r.record.name,a=assign$2(paramsFromLocation(t.params,r.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params&&paramsFromLocation(e.params,r.keys.map((e=>e.name)))),o=r.stringify(a)}else if("path"in e)o=e.path,r=n.find((e=>e.re.test(o))),r&&(a=r.parse(o),s=r.record.name);else{if(r=t.name?i.get(t.name):n.find((e=>e.re.test(t.path))),!r)throw createRouterError(1,{location:e,currentLocation:t});s=r.record.name,a=assign$2({},t.params,e.params),o=r.stringify(a)}const l=[];let c=r;for(;c;)l.unshift(c.record),c=c.parent;return{name:s,path:o,params:a,matched:l,meta:mergeMetaFields(l)}},removeRoute:o,getRoutes:function(){return n},getRecordMatcher:function(e){return i.get(e)}}}function paramsFromLocation(e,t){const n={};for(const i of t)i in e&&(n[i]=e[i]);return n}function normalizeRouteRecord(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:normalizeRecordProps(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function normalizeRecordProps(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const i in e.components)t[i]="boolean"==typeof n?n:n[i];return t}function isAliasRecord(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function mergeMetaFields(e){return e.reduce(((e,t)=>assign$2(e,t.meta)),{})}function mergeOptions(e,t){const n={};for(const i in e)n[i]=i in t?t[i]:e[i];return n}function isRecordChildOf(e,t){return t.children.some((t=>t===e||isRecordChildOf(e,t)))}const HASH_RE=/#/g,AMPERSAND_RE=/&/g,SLASH_RE=/\//g,EQUAL_RE=/=/g,IM_RE=/\?/g,PLUS_RE=/\+/g,ENC_BRACKET_OPEN_RE=/%5B/g,ENC_BRACKET_CLOSE_RE=/%5D/g,ENC_CARET_RE=/%5E/g,ENC_BACKTICK_RE=/%60/g,ENC_CURLY_OPEN_RE=/%7B/g,ENC_PIPE_RE=/%7C/g,ENC_CURLY_CLOSE_RE=/%7D/g,ENC_SPACE_RE=/%20/g;function commonEncode(e){return encodeURI(""+e).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(e){return commonEncode(e).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(e){return commonEncode(e).replace(PLUS_RE,"%2B").replace(ENC_SPACE_RE,"+").replace(HASH_RE,"%23").replace(AMPERSAND_RE,"%26").replace(ENC_BACKTICK_RE,"`").replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryKey(e){return encodeQueryValue(e).replace(EQUAL_RE,"%3D")}function encodePath(e){return commonEncode(e).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(e){return null==e?"":encodePath(e).replace(SLASH_RE,"%2F")}function decode$5(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function parseQuery(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let i=0;i<n.length;++i){const e=n[i].replace(PLUS_RE," "),r=e.indexOf("="),o=decode$5(r<0?e:e.slice(0,r)),s=r<0?null:decode$5(e.slice(r+1));if(o in t){let e=t[o];isArray$8(e)||(e=t[o]=[e]),e.push(s)}else t[o]=s}return t}function stringifyQuery(e){let t="";for(let n in e){const i=e[n];if(n=encodeQueryKey(n),null==i){void 0!==i&&(t+=(t.length?"&":"")+n);continue}const r=isArray$8(i)?i.map((e=>e&&encodeQueryValue(e))):[i&&encodeQueryValue(i)];r.forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function normalizeQuery(e){const t={};for(const n in e){const i=e[n];void 0!==i&&(t[n]=isArray$8(i)?i.map((e=>null==e?null:""+e)):null==i?i:""+i)}return t}const matchedRouteKey=Symbol(""),viewDepthKey=Symbol(""),routerKey=Symbol(""),routeLocationKey=Symbol(""),routerViewLocationKey=Symbol("");function useCallbacks(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e,reset:function(){e=[]}}}function guardToPromiseFn(e,t,n,i,r){const o=i&&(i.enterCallbacks[r]=i.enterCallbacks[r]||[]);return()=>new Promise(((s,a)=>{const l=e=>{!1===e?a(createRouterError(4,{from:n,to:t})):e instanceof Error?a(e):isRouteLocation(e)?a(createRouterError(2,{from:t,to:e})):(o&&i.enterCallbacks[r]===o&&"function"==typeof e&&o.push(e),s())},c=e.call(i&&i.instances[r],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch((e=>a(e)))}))}function extractComponentsGuards(e,t,n,i){const r=[];for(const o of e)for(const e in o.components){let s=o.components[e];if("beforeRouteEnter"===t||o.instances[e])if(isRouteComponent(s)){const a=(s.__vccOpts||s)[t];a&&r.push(guardToPromiseFn(a,n,i,o,e))}else{let a=s();r.push((()=>a.then((r=>{if(!r)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${o.path}"`));const s=isESModule(r)?r.default:r;o.components[e]=s;const a=(s.__vccOpts||s)[t];return a&&guardToPromiseFn(a,n,i,o,e)()}))))}}return r}function isRouteComponent(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function useLink(e){const t=inject(routerKey),n=inject(routeLocationKey),i=computed((()=>t.resolve(unref(e.to)))),r=computed((()=>{const{matched:e}=i.value,{length:t}=e,r=e[t-1],o=n.matched;if(!r||!o.length)return-1;const s=o.findIndex(isSameRouteRecord.bind(null,r));if(s>-1)return s;const a=getOriginalPath(e[t-2]);return t>1&&getOriginalPath(r)===a&&o[o.length-1].path!==a?o.findIndex(isSameRouteRecord.bind(null,e[t-2])):s})),o=computed((()=>r.value>-1&&includesParams(n.params,i.value.params))),s=computed((()=>r.value>-1&&r.value===n.matched.length-1&&isSameRouteLocationParams(n.params,i.value.params)));return{route:i,href:computed((()=>i.value.href)),isActive:o,isExactActive:s,navigate:function(n={}){return guardEvent(n)?t[unref(e.replace)?"replace":"push"](unref(e.to)).catch(noop$2):Promise.resolve()}}}const RouterLinkImpl=defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:useLink,setup(e,{slots:t}){const n=reactive(useLink(e)),{options:i}=inject(routerKey),r=computed((()=>({[getLinkClass(e.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[getLinkClass(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=t.default&&t.default(n);return e.custom?i:h$1("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),RouterLink=RouterLinkImpl;function guardEvent(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function includesParams(e,t){for(const n in t){const i=t[n],r=e[n];if("string"==typeof i){if(i!==r)return!1}else if(!isArray$8(r)||r.length!==i.length||i.some(((e,t)=>e!==r[t])))return!1}return!0}function getOriginalPath(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const getLinkClass=(e,t,n)=>null!=e?e:null!=t?t:n,RouterViewImpl=defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const i=inject(routerViewLocationKey),r=computed((()=>e.route||i.value)),o=inject(viewDepthKey,0),s=computed((()=>{let e=unref(o);const{matched:t}=r.value;let n;for(;(n=t[e])&&!n.components;)e++;return e})),a=computed((()=>r.value.matched[s.value]));provide(viewDepthKey,computed((()=>s.value+1))),provide(matchedRouteKey,a),provide(routerViewLocationKey,r);const l=ref();return watch((()=>[l.value,a.value,e.name]),(([e,t,n],[i,r,o])=>{t&&(t.instances[n]=e,r&&r!==t&&e&&e===i&&(t.leaveGuards.size||(t.leaveGuards=r.leaveGuards),t.updateGuards.size||(t.updateGuards=r.updateGuards))),!e||!t||r&&isSameRouteRecord(t,r)&&i||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const i=r.value,o=e.name,s=a.value,c=s&&s.components[o];if(!c)return normalizeSlot(n.default,{Component:c,route:i});const u=s.props[o],h=u?!0===u?i.params:"function"==typeof u?u(i):u:null,d=h$1(c,assign$2({},h,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[o]=null)},ref:l}));return normalizeSlot(n.default,{Component:d,route:i})||d}}});function normalizeSlot(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const RouterView=exports("R",RouterViewImpl);function createRouter(e){const t=createRouterMatcher(e.routes,e),n=e.parseQuery||parseQuery,i=e.stringifyQuery||stringifyQuery,r=e.history,o=useCallbacks(),s=useCallbacks(),a=useCallbacks(),l=shallowRef(START_LOCATION_NORMALIZED);let c=START_LOCATION_NORMALIZED;isBrowser&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=applyToParams.bind(null,(e=>""+e)),h=applyToParams.bind(null,encodeParam),d=applyToParams.bind(null,decode$5);function p(e,o){if(o=assign$2({},o||l.value),"string"==typeof e){const i=parseURL(n,e,o.path),s=t.resolve({path:i.path},o),a=r.createHref(i.fullPath);return assign$2(i,s,{params:d(s.params),hash:decode$5(i.hash),redirectedFrom:void 0,href:a})}let s;if("path"in e)s=assign$2({},e,{path:parseURL(n,e.path,o.path).path});else{const t=assign$2({},e.params);for(const e in t)null==t[e]&&delete t[e];s=assign$2({},e,{params:h(e.params)}),o.params=h(o.params)}const a=t.resolve(s,o),c=e.hash||"";a.params=u(d(a.params));const p=stringifyURL(i,assign$2({},e,{hash:encodeHash(c),path:a.path})),f=r.createHref(p);return assign$2({fullPath:p,hash:c,query:i===stringifyQuery?normalizeQuery(e.query):e.query||{}},a,{redirectedFrom:void 0,href:f})}function f(e){return"string"==typeof e?parseURL(n,e,l.value.path):assign$2({},e)}function m(e,t){if(c!==e)return createRouterError(8,{from:t,to:e})}function g(e){return b(e)}function v(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let i="function"==typeof n?n(e):n;return"string"==typeof i&&(i=i.includes("?")||i.includes("#")?i=f(i):{path:i},i.params={}),assign$2({query:e.query,hash:e.hash,params:"path"in i?{}:e.params},i)}}function b(e,t){const n=c=p(e),r=l.value,o=e.state,s=e.force,a=!0===e.replace,u=v(n);if(u)return b(assign$2(f(u),{state:"object"==typeof u?assign$2({},o,u.state):o,force:s,replace:a}),t||n);const h=n;let d;return h.redirectedFrom=t,!s&&isSameRouteLocation(i,r,n)&&(d=createRouterError(16,{to:h,from:r}),C(r,r,!0,!1)),(d?Promise.resolve(d):A(h,r)).catch((e=>isNavigationFailure(e)?isNavigationFailure(e,2)?e:T(e):P(e,h,r))).then((e=>{if(e){if(isNavigationFailure(e,2))return b(assign$2({replace:a},f(e.to),{state:"object"==typeof e.to?assign$2({},o,e.to.state):o,force:s}),t||h)}else e=x(h,r,!0,a,o);return S(h,r,e),e}))}function y(e,t){const n=m(e,t);return n?Promise.reject(n):Promise.resolve()}function A(e,t){let n;const[i,r,a]=extractChangingRecords(e,t);n=extractComponentsGuards(i.reverse(),"beforeRouteLeave",e,t);for(const o of i)o.leaveGuards.forEach((i=>{n.push(guardToPromiseFn(i,e,t))}));const l=y.bind(null,e,t);return n.push(l),runGuardQueue(n).then((()=>{n=[];for(const i of o.list())n.push(guardToPromiseFn(i,e,t));return n.push(l),runGuardQueue(n)})).then((()=>{n=extractComponentsGuards(r,"beforeRouteUpdate",e,t);for(const i of r)i.updateGuards.forEach((i=>{n.push(guardToPromiseFn(i,e,t))}));return n.push(l),runGuardQueue(n)})).then((()=>{n=[];for(const i of e.matched)if(i.beforeEnter&&!t.matched.includes(i))if(isArray$8(i.beforeEnter))for(const r of i.beforeEnter)n.push(guardToPromiseFn(r,e,t));else n.push(guardToPromiseFn(i.beforeEnter,e,t));return n.push(l),runGuardQueue(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=extractComponentsGuards(a,"beforeRouteEnter",e,t),n.push(l),runGuardQueue(n)))).then((()=>{n=[];for(const i of s.list())n.push(guardToPromiseFn(i,e,t));return n.push(l),runGuardQueue(n)})).catch((e=>isNavigationFailure(e,8)?e:Promise.reject(e)))}function S(e,t,n){for(const i of a.list())i(e,t,n)}function x(e,t,n,i,o){const s=m(e,t);if(s)return s;const a=t===START_LOCATION_NORMALIZED,c=isBrowser?history.state:{};n&&(i||a?r.replace(e.fullPath,assign$2({scroll:a&&c&&c.scroll},o)):r.push(e.fullPath,o)),l.value=e,C(e,t,n,a),T()}let E;let w,_=useCallbacks(),M=useCallbacks();function P(e,t,n){T(e);const i=M.list();return i.length?i.forEach((i=>i(e,t,n))):console.error(e),Promise.reject(e)}function T(e){return w||(w=!e,E||(E=r.listen(((e,t,n)=>{if(!R.listening)return;const i=p(e),o=v(i);if(o)return void b(assign$2(o,{replace:!0}),i).catch(noop$2);c=i;const s=l.value;isBrowser&&saveScrollPosition(getScrollKey(s.fullPath,n.delta),computeScrollPosition()),A(i,s).catch((e=>isNavigationFailure(e,12)?e:isNavigationFailure(e,2)?(b(e.to,i).then((e=>{isNavigationFailure(e,20)&&!n.delta&&n.type===NavigationType.pop&&r.go(-1,!1)})).catch(noop$2),Promise.reject()):(n.delta&&r.go(-n.delta,!1),P(e,i,s)))).then((e=>{(e=e||x(i,s,!1))&&(n.delta&&!isNavigationFailure(e,8)?r.go(-n.delta,!1):n.type===NavigationType.pop&&isNavigationFailure(e,20)&&r.go(-1,!1)),S(i,s,e)})).catch(noop$2)}))),_.list().forEach((([t,n])=>e?n(e):t())),_.reset()),e}function C(t,n,i,r){const{scrollBehavior:o}=e;if(!isBrowser||!o)return Promise.resolve();const s=!i&&getSavedScrollPosition(getScrollKey(t.fullPath,0))||(r||!i)&&history.state&&history.state.scroll||null;return nextTick().then((()=>o(t,n,s))).then((e=>e&&scrollToPosition(e))).catch((e=>P(e,t,n)))}const I=e=>r.go(e);let k;const B=new Set,R={currentRoute:l,listening:!0,addRoute:function(e,n){let i,r;return isRouteName(e)?(i=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,i)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map((e=>e.record))},resolve:p,options:e,push:g,replace:function(e){return g(assign$2(f(e),{replace:!0}))},go:I,back:()=>I(-1),forward:()=>I(1),beforeEach:o.add,beforeResolve:s.add,afterEach:a.add,onError:M.add,isReady:function(){return w&&l.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise(((e,t)=>{_.add([e,t])}))},install(e){e.component("RouterLink",RouterLink),e.component("RouterView",RouterView),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(l)}),isBrowser&&!k&&l.value===START_LOCATION_NORMALIZED&&(k=!0,g(r.location).catch((e=>{})));const t={};for(const i in START_LOCATION_NORMALIZED)t[i]=computed((()=>l.value[i]));e.provide(routerKey,this),e.provide(routeLocationKey,reactive(t)),e.provide(routerViewLocationKey,l);const n=e.unmount;B.add(e),e.unmount=function(){B.delete(e),B.size<1&&(c=START_LOCATION_NORMALIZED,E&&E(),E=null,l.value=START_LOCATION_NORMALIZED,k=!1,w=!1),n()}}};return R}function runGuardQueue(e){return e.reduce(((e,t)=>e.then((()=>t()))),Promise.resolve())}function extractChangingRecords(e,t){const n=[],i=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let s=0;s<o;s++){const o=t.matched[s];o&&(e.matched.find((e=>isSameRouteRecord(e,o)))?i.push(o):n.push(o));const a=e.matched[s];a&&(t.matched.find((e=>isSameRouteRecord(e,a)))||r.push(a))}return[n,i,r]}function useRouter(){return inject(routerKey)}function useRoute$1(){return inject(routeLocationKey)}const isDef$1=exports("bt",(e=>null!=e)),isFunction$5=exports("c1",(e=>"function"==typeof e)),isObject$4=exports("cv",(e=>null!==e&&"object"==typeof e)),isPromise=exports("cw",(e=>isObject$4(e)&&isFunction$5(e.then)&&isFunction$5(e.catch))),isNumeric=e=>"number"==typeof e||/^\d+(\.\d+)?$/.test(e),isIOS$1=()=>!!inBrowser$2&&/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());function noop$1(){}const extend$2=exports("bu",Object.assign),inBrowser$2=exports("c5","undefined"!=typeof window);function get(e,t){const n=t.split(".");let i=e;return n.forEach((e=>{var t;i=isObject$4(i)&&null!=(t=i[e])?t:""})),i}function pick$1(e,t,n){return t.reduce(((t,i)=>(n&&void 0===e[i]||(t[i]=e[i]),t)),{})}const isSameValue=exports("bM",((e,t)=>JSON.stringify(e)===JSON.stringify(t))),toArray=exports("cy",(e=>Array.isArray(e)?e:[e])),unknownProp=exports("bZ",null),numericProp=exports("bw",[Number,String]),truthProp=exports("bJ",{type:Boolean,default:!0}),makeRequiredProp=exports("bx",(e=>({type:e,required:!0}))),makeArrayProp=exports("by",(()=>({type:Array,default:()=>[]}))),makeNumberProp=exports("cC",(e=>({type:Number,default:e}))),makeNumericProp=exports("bI",(e=>({type:numericProp,default:e}))),makeStringProp=exports("bK",(e=>({type:String,default:e})));var inBrowser$1="undefined"!=typeof window;function raf(e){return inBrowser$1?requestAnimationFrame(e):-1}function cancelRaf(e){inBrowser$1&&cancelAnimationFrame(e)}function doubleRaf(e){raf((()=>raf(e)))}var isWindow=e=>e===window,makeDOMRect=(e,t)=>({top:0,left:0,right:e,bottom:t,width:e,height:t}),useRect=exports("bS",(e=>{const t=unref(e);if(isWindow(t)){const e=t.innerWidth,n=t.innerHeight;return makeDOMRect(e,n)}return(null==t?void 0:t.getBoundingClientRect)?t.getBoundingClientRect():makeDOMRect(0,0)}));function useParent$1(e){const t=inject(e,null);if(t){const e=getCurrentInstance(),{link:n,unlink:i,internalChildren:r}=t;n(e),onUnmounted((()=>i(e)));return{parent:t,index:computed((()=>r.indexOf(e)))}}return{parent:null,index:ref(-1)}}function flattenVNodes(e){const t=[],n=e=>{Array.isArray(e)&&e.forEach((e=>{var i;isVNode(e)&&(t.push(e),(null==(i=e.component)?void 0:i.subTree)&&(t.push(e.component.subTree),n(e.component.subTree.children)),e.children&&n(e.children))}))};return n(e),t}var findVNodeIndex=(e,t)=>{const n=e.indexOf(t);return-1===n?e.findIndex((e=>void 0!==t.key&&null!==t.key&&e.type===t.type&&e.key===t.key)):n},width,height;function sortChildren(e,t,n){const i=flattenVNodes(e.subTree.children);n.sort(((e,t)=>findVNodeIndex(i,e.vnode)-findVNodeIndex(i,t.vnode)));const r=n.map((e=>e.proxy));t.sort(((e,t)=>r.indexOf(e)-r.indexOf(t)))}function useChildren$1(e){const t=reactive([]),n=reactive([]),i=getCurrentInstance();return{children:t,linkChildren:r=>{provide(e,Object.assign({link:e=>{e.proxy&&(n.push(e),t.push(e.proxy),sortChildren(i,t,n))},unlink:e=>{const i=n.indexOf(e);t.splice(i,1),n.splice(i,1)},children:t,internalChildren:n},r))}}}function onMountedOrActivated(e){let t;onMounted((()=>{e(),nextTick((()=>{t=!0}))})),onActivated((()=>{t&&e()}))}function useEventListener$1(e,t,n={}){if(!inBrowser$1)return;const{target:i=window,passive:r=!1,capture:o=!1}=n;let s,a=!1;const l=n=>{if(a)return;const i=unref(n);i&&!s&&(i.addEventListener(e,t,{capture:o,passive:r}),s=!0)},c=n=>{if(a)return;const i=unref(n);i&&s&&(i.removeEventListener(e,t,o),s=!1)};let u;return onUnmounted((()=>c(i))),onDeactivated((()=>c(i))),onMountedOrActivated((()=>l(i))),isRef(i)&&(u=watch(i,((e,t)=>{c(t),l(e)}))),()=>{null==u||u(),c(i),a=!0}}function useClickAway(e,t,n={}){if(!inBrowser$1)return;const{eventName:i="click"}=n;useEventListener$1(i,(n=>{(Array.isArray(e)?e:[e]).every((e=>{const t=unref(e);return t&&!t.contains(n.target)}))&&t(n)}),{target:document})}function useWindowSize(){if(!width&&(width=ref(0),height=ref(0),inBrowser$1)){const e=()=>{width.value=window.innerWidth,height.value=window.innerHeight};e(),window.addEventListener("resize",e,{passive:!0}),window.addEventListener("orientationchange",e,{passive:!0})}return{width:width,height:height}}var overflowScrollReg=/scroll|auto|overlay/i,defaultRoot=inBrowser$1?window:void 0,visibility;function isElement$1(e){return"HTML"!==e.tagName&&"BODY"!==e.tagName&&1===e.nodeType}function getScrollParent(e,t=defaultRoot){let n=e;for(;n&&n!==t&&isElement$1(n);){const{overflowY:e}=window.getComputedStyle(n);if(overflowScrollReg.test(e))return n;n=n.parentNode}return t}function useScrollParent(e,t=defaultRoot){const n=ref();return onMounted((()=>{e.value&&(n.value=getScrollParent(e.value,t))})),n}function usePageVisibility(){if(!visibility&&(visibility=ref("visible"),inBrowser$1)){const e=()=>{visibility.value=document.hidden?"hidden":"visible"};e(),window.addEventListener("visibilitychange",e)}return visibility}var CUSTOM_FIELD_INJECTION_KEY=exports("cA",Symbol("van-field"));function useCustomFieldValue(e){const t=inject(CUSTOM_FIELD_INJECTION_KEY,null);t&&!t.customValue.value&&(t.customValue.value=e,watch(e,(()=>{t.resetValidation(),t.validateWithTrigger("onChange")})))}function getScrollTop(e){const t="scrollTop"in e?e.scrollTop:e.pageYOffset;return Math.max(t,0)}function setScrollTop(e,t){"scrollTop"in e?e.scrollTop=t:e.scrollTo(e.scrollX,t)}function getRootScrollTop(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}function setRootScrollTop(e){setScrollTop(window,e),setScrollTop(document.body,e)}function getElementTop(e,t){if(e===window)return 0;const n=t?getScrollTop(t):getRootScrollTop();return useRect(e).top+n}const isIOS=isIOS$1();function resetScroll(){isIOS&&setRootScrollTop(getRootScrollTop())}const stopPropagation=exports("cG",(e=>e.stopPropagation()));function preventDefault(e,t){("boolean"!=typeof e.cancelable||e.cancelable)&&e.preventDefault(),t&&stopPropagation(e)}function isHidden(e){const t=unref(e);if(!t)return!1;const n=window.getComputedStyle(t),i="none"===n.display,r=null===t.offsetParent&&"fixed"!==n.position;return i||r}const{width:windowWidth,height:windowHeight}=useWindowSize();function addUnit(e){if(isDef$1(e))return isNumeric(e)?`${e}px`:String(e)}function getSizeStyle(e){if(isDef$1(e)){if(Array.isArray(e))return{width:addUnit(e[0]),height:addUnit(e[1])};const t=addUnit(e);return{width:t,height:t}}}function getZIndexStyle(e){const t={};return void 0!==e&&(t.zIndex=+e),t}let rootFontSize;function getRootFontSize(){if(!rootFontSize){const e=document.documentElement,t=e.style.fontSize||window.getComputedStyle(e).fontSize;rootFontSize=parseFloat(t)}return rootFontSize}function convertRem(e){return+(e=e.replace(/rem/g,""))*getRootFontSize()}function convertVw(e){return+(e=e.replace(/vw/g,""))*windowWidth.value/100}function convertVh(e){return+(e=e.replace(/vh/g,""))*windowHeight.value/100}function unitToPx(e){if("number"==typeof e)return e;if(inBrowser$2){if(e.includes("rem"))return convertRem(e);if(e.includes("vw"))return convertVw(e);if(e.includes("vh"))return convertVh(e)}return parseFloat(e)}exports({cg:windowWidth,ch:windowHeight});const camelizeRE=/-(\w)/g,camelize$1=e=>e.replace(camelizeRE,((e,t)=>t.toUpperCase())),kebabCase=e=>e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^-/,""),clamp=exports("bv",((e,t,n)=>Math.min(Math.max(e,t),n)));function trimExtraChar(e,t,n){const i=e.indexOf(t);return-1===i?e:"-"===t&&0!==i?e.slice(0,i):e.slice(0,i+1)+e.slice(i).replace(n,"")}function formatNumber(e,t=!0,n=!0){e=t?trimExtraChar(e,".",/\./g):e.split(".")[0];const i=t?/[^-0-9.]/g:/[^-0-9]/g;return(e=n?trimExtraChar(e,"-",/-/g):e.replace(/-/,"")).replace(i,"")}function addNumber(e,t){const n=10**10;return Math.round((e+t)*n)/n}const{hasOwnProperty:hasOwnProperty$d}=Object.prototype;function assignKey(e,t,n){const i=t[n];isDef$1(i)&&(hasOwnProperty$d.call(e,n)&&isObject$4(i)?e[n]=deepAssign(Object(e[n]),i):e[n]=i)}function deepAssign(e,t){return Object.keys(t).forEach((n=>{assignKey(e,t,n)})),e}var stdin_default$i={name:"姓名",tel:"电话",save:"保存",confirm:"确认",cancel:"取消",delete:"删除",loading:"加载中...",noCoupon:"暂无优惠券",nameEmpty:"请填写姓名",addContact:"添加联系人",telInvalid:"请填写正确的电话",vanCalendar:{end:"结束",start:"开始",title:"日期选择",weekdays:["日","一","二","三","四","五","六"],monthTitle:(e,t)=>`${e}年${t}月`,rangePrompt:e=>`最多选择 ${e} 天`},vanCascader:{select:"请选择"},vanPagination:{prev:"上一页",next:"下一页"},vanPullRefresh:{pulling:"下拉即可刷新...",loosing:"释放即可刷新..."},vanSubmitBar:{label:"合计:"},vanCoupon:{unlimited:"无门槛",discount:e=>`${e}折`,condition:e=>`满${e}元可用`},vanCouponCell:{title:"优惠券",count:e=>`${e}张可用`},vanCouponList:{exchange:"兑换",close:"不使用",enable:"可用",disabled:"不可用",placeholder:"输入优惠码"},vanAddressEdit:{area:"地区",areaEmpty:"请选择地区",addressEmpty:"请填写详细地址",addressDetail:"详细地址",defaultAddress:"设为默认收货地址"},vanAddressList:{add:"新增地址"}};const lang=ref("zh-CN"),messages=reactive({"zh-CN":stdin_default$i}),Locale={messages:()=>messages[lang.value],use(e,t){lang.value=e,this.add({[e]:t})},add(e={}){deepAssign(messages,e)}};var stdin_default$h=Locale;function createTranslate(e){const t=camelize$1(e)+".";return(e,...n)=>{const i=stdin_default$h.messages(),r=get(i,t+e)||get(i,e);return isFunction$5(r)?r(...n):r}}function genBem(e,t){return t?"string"==typeof t?` ${e}--${t}`:Array.isArray(t)?t.reduce(((t,n)=>t+genBem(e,n)),""):Object.keys(t).reduce(((n,i)=>n+(t[i]?genBem(e,i):"")),""):""}function createBEM(e){return(t,n)=>(t&&"string"!=typeof t&&(n=t,t=""),`${t=t?`${e}__${t}`:e}${genBem(t,n)}`)}function createNamespace$1(e){const t=`van-${e}`;return[t,createBEM(t),createTranslate(t)]}const BORDER="van-hairline",BORDER_TOP=exports("c3",`${BORDER}--top`),BORDER_LEFT=exports("c2",`${BORDER}--left`),BORDER_BOTTOM=exports("cF",`${BORDER}--bottom`),BORDER_SURROUND=`${BORDER}--surround`,BORDER_TOP_BOTTOM=exports("cm",`${BORDER}--top-bottom`),BORDER_UNSET_TOP_BOTTOM=exports("bP",`${BORDER}-unset--top-bottom`),HAPTICS_FEEDBACK=exports("bF","van-haptics-feedback"),FORM_KEY=exports("cx",Symbol("van-form"));function callInterceptor(e,{args:t=[],done:n,canceled:i}){if(e){const r=e.apply(null,t);isPromise(r)?r.then((e=>{e?n():i&&i()})).catch(noop$1):r?n():i&&i()}else n()}function withInstall(e){return e.install=t=>{const{name:n}=e;n&&(t.component(n,e),t.component(camelize$1(`-${n}`),e))},e}const POPUP_TOGGLE_KEY=Symbol();function onPopupReopen(e){const t=inject(POPUP_TOGGLE_KEY,null);t&&watch(t,(t=>{t&&e()}))}const useHeight=(e,t)=>{const n=ref(),i=()=>{n.value=useRect(e).height};return onMounted((()=>{if(nextTick(i),t)for(let e=1;e<=3;e++)setTimeout(i,100*e)})),onPopupReopen((()=>nextTick(i))),watch([windowWidth,windowHeight],i),n};function usePlaceholder(e,t){const n=useHeight(e,!0);return e=>createVNode("div",{class:t("placeholder"),style:{height:n.value?`${n.value}px`:void 0}},[e()])}function useExpose(e){const t=getCurrentInstance();t&&extend$2(t.proxy,e)}const routeProps=exports("bW",{to:[String,Object],url:String,replace:Boolean});function route({to:e,url:t,replace:n,$router:i}){e&&i?i[n?"replace":"push"](e):t&&(n?location.replace(t):location.href=t)}function useRoute(){const e=getCurrentInstance().proxy;return()=>route(e)}const[name$e,bem$e]=createNamespace$1("badge"),badgeProps={dot:Boolean,max:numericProp,tag:makeStringProp("div"),color:String,offset:Array,content:numericProp,showZero:truthProp,position:makeStringProp("top-right")};var stdin_default$g=defineComponent({name:name$e,props:badgeProps,setup(e,{slots:t}){const n=()=>{if(t.content)return!0;const{content:n,showZero:i}=e;return isDef$1(n)&&""!==n&&(i||0!==n&&"0"!==n)},i=()=>{const{dot:i,max:r,content:o}=e;if(!i&&n())return t.content?t.content():isDef$1(r)&&isNumeric(o)&&+o>+r?`${r}+`:o},r=e=>e.startsWith("-")?e.replace("-",""):`-${e}`,o=computed((()=>{const n={background:e.color};if(e.offset){const[i,o]=e.offset,{position:s}=e,[a,l]=s.split("-");t.default?(n[a]="number"==typeof o?addUnit("top"===a?o:-o):"top"===a?addUnit(o):r(o),n[l]="number"==typeof i?addUnit("left"===l?i:-i):"left"===l?addUnit(i):r(i)):(n.marginTop=addUnit(o),n.marginLeft=addUnit(i))}return n})),s=()=>{if(n()||e.dot)return createVNode("div",{class:bem$e([e.position,{dot:e.dot,fixed:!!t.default}]),style:o.value},[i()])};return()=>{if(t.default){const{tag:n}=e;return createVNode(n,{class:bem$e("wrapper")},{default:()=>[t.default(),s()]})}return s()}}});const Badge=exports("a7",withInstall(stdin_default$g));let globalZIndex=2e3;const useGlobalZIndex=()=>++globalZIndex,setGlobalZIndex=e=>{globalZIndex=e},[name$d,bem$d]=createNamespace$1("config-provider"),CONFIG_PROVIDER_KEY=Symbol(name$d),configProviderProps={tag:makeStringProp("div"),theme:makeStringProp("light"),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,iconPrefix:String};function mapThemeVarsToCSSVars(e){const t={};return Object.keys(e).forEach((n=>{t[`--van-${kebabCase(n)}`]=e[n]})),t}defineComponent({name:name$d,props:configProviderProps,setup(e,{slots:t}){const n=computed((()=>mapThemeVarsToCSSVars(extend$2({},e.themeVars,"dark"===e.theme?e.themeVarsDark:e.themeVarsLight))));if(inBrowser$2){const t=()=>{document.documentElement.classList.add(`van-theme-${e.theme}`)},n=(t=e.theme)=>{document.documentElement.classList.remove(`van-theme-${t}`)};watch((()=>e.theme),((e,i)=>{i&&n(i),t()}),{immediate:!0}),onActivated(t),onDeactivated(n),onBeforeUnmount(n)}return provide(CONFIG_PROVIDER_KEY,e),watchEffect((()=>{void 0!==e.zIndex&&setGlobalZIndex(e.zIndex)})),()=>createVNode(e.tag,{class:bem$d(),style:n.value},{default:()=>{var e;return[null==(e=t.default)?void 0:e.call(t)]}})}});const[name$c,bem$c]=createNamespace$1("icon"),isImage=e=>null==e?void 0:e.includes("/"),iconProps={dot:Boolean,tag:makeStringProp("i"),name:String,size:numericProp,badge:numericProp,color:String,badgeProps:Object,classPrefix:String};var stdin_default$f=defineComponent({name:name$c,props:iconProps,setup(e,{slots:t}){const n=inject(CONFIG_PROVIDER_KEY,null),i=computed((()=>e.classPrefix||(null==n?void 0:n.iconPrefix)||bem$c()));return()=>{const{tag:n,dot:r,name:o,size:s,badge:a,color:l}=e,c=isImage(o);return createVNode(Badge,mergeProps({dot:r,tag:n,class:[i.value,c?"":`${i.value}-${o}`],style:{color:l,fontSize:addUnit(s)},content:a},e.badgeProps),{default:()=>{var e;return[null==(e=t.default)?void 0:e.call(t),c&&createVNode("img",{class:bem$c("image"),src:o},null)]}})}}});const Icon$1=exports("I",withInstall(stdin_default$f)),[name$b,bem$b]=createNamespace$1("loading"),SpinIcon=Array(12).fill(null).map(((e,t)=>createVNode("i",{class:bem$b("line",String(t+1))},null))),CircularIcon=createVNode("svg",{class:bem$b("circular"),viewBox:"25 25 50 50"},[createVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"},null)]),loadingProps={size:numericProp,type:makeStringProp("circular"),color:String,vertical:Boolean,textSize:numericProp,textColor:String};var stdin_default$e=defineComponent({name:name$b,props:loadingProps,setup(e,{slots:t}){const n=computed((()=>extend$2({color:e.color},getSizeStyle(e.size)))),i=()=>{const i="spinner"===e.type?SpinIcon:CircularIcon;return createVNode("span",{class:bem$b("spinner",e.type),style:n.value},[t.icon?t.icon():i])},r=()=>{var n;if(t.default)return createVNode("span",{class:bem$b("text"),style:{fontSize:addUnit(e.textSize),color:null!=(n=e.textColor)?n:e.color}},[t.default()])};return()=>{const{type:t,vertical:n}=e;return createVNode("div",{class:bem$b([t,{vertical:n}]),"aria-live":"polite","aria-busy":!0},[i(),r()])}}});const Loading$1=exports("bN",withInstall(stdin_default$e)),[name$a,bem$a]=createNamespace$1("button"),buttonProps=extend$2({},routeProps,{tag:makeStringProp("button"),text:String,icon:String,type:makeStringProp("default"),size:makeStringProp("normal"),color:String,block:Boolean,plain:Boolean,round:Boolean,square:Boolean,loading:Boolean,hairline:Boolean,disabled:Boolean,iconPrefix:String,nativeType:makeStringProp("button"),loadingSize:numericProp,loadingText:String,loadingType:String,iconPosition:makeStringProp("left")});var stdin_default$d=defineComponent({name:name$a,props:buttonProps,emits:["click"],setup(e,{emit:t,slots:n}){const i=useRoute(),r=()=>e.loading?n.loading?n.loading():createVNode(Loading$1,{size:e.loadingSize,type:e.loadingType,class:bem$a("loading")},null):n.icon?createVNode("div",{class:bem$a("icon")},[n.icon()]):e.icon?createVNode(Icon$1,{name:e.icon,class:bem$a("icon"),classPrefix:e.iconPrefix},null):void 0,o=()=>{let t;if(t=e.loading?e.loadingText:n.default?n.default():e.text,t)return createVNode("span",{class:bem$a("text")},[t])},s=()=>{const{color:t,plain:n}=e;if(t){const e={color:n?t:"white"};return n||(e.background=t),t.includes("gradient")?e.border=0:e.borderColor=t,e}},a=n=>{e.loading?preventDefault(n):e.disabled||(t("click",n),i())};return()=>{const{tag:t,type:n,size:i,block:l,round:c,plain:u,square:h,loading:d,disabled:p,hairline:f,nativeType:m,iconPosition:g}=e,v=[bem$a([n,i,{plain:u,block:l,round:c,square:h,loading:d,disabled:p,hairline:f}]),{[BORDER_SURROUND]:f}];return createVNode(t,{type:m,class:v,style:s(),disabled:p,onClick:a},{default:()=>[createVNode("div",{class:bem$a("content")},["left"===g&&r(),o(),"right"===g&&r()])]})}}});const Button$1=exports("K",withInstall(stdin_default$d)),popupSharedProps=exports("bY",{show:Boolean,zIndex:numericProp,overlay:truthProp,duration:numericProp,teleport:[String,Object],lockScroll:truthProp,lazyRender:truthProp,beforeClose:Function,overlayStyle:Object,overlayClass:unknownProp,transitionAppear:Boolean,closeOnClickOverlay:truthProp}),popupSharedPropKeys=exports("b_",Object.keys(popupSharedProps));function getDirection(e,t){return e>t?"horizontal":t>e?"vertical":""}function useTouch(){const e=ref(0),t=ref(0),n=ref(0),i=ref(0),r=ref(0),o=ref(0),s=ref(""),a=()=>{n.value=0,i.value=0,r.value=0,o.value=0,s.value=""};return{move:a=>{const l=a.touches[0];n.value=(l.clientX<0?0:l.clientX)-e.value,i.value=l.clientY-t.value,r.value=Math.abs(n.value),o.value=Math.abs(i.value);(!s.value||r.value<10&&o.value<10)&&(s.value=getDirection(r.value,o.value))},start:n=>{a(),e.value=n.touches[0].clientX,t.value=n.touches[0].clientY},reset:a,startX:e,startY:t,deltaX:n,deltaY:i,offsetX:r,offsetY:o,direction:s,isVertical:()=>"vertical"===s.value,isHorizontal:()=>"horizontal"===s.value}}let totalLockCount=0;const BODY_LOCK_CLASS="van-overflow-hidden";function useLockScroll(e,t){const n=useTouch(),i=t=>{n.move(t);const i=n.deltaY.value>0?"10":"01",r=getScrollParent(t.target,e.value),{scrollHeight:o,offsetHeight:s,scrollTop:a}=r;let l="11";0===a?l=s>=o?"00":"01":a+s>=o&&(l="10"),"11"===l||!n.isVertical()||parseInt(l,2)&parseInt(i,2)||preventDefault(t,!0)},r=()=>{document.addEventListener("touchstart",n.start),document.addEventListener("touchmove",i,{passive:!1}),totalLockCount||document.body.classList.add(BODY_LOCK_CLASS),totalLockCount++},o=()=>{totalLockCount&&(document.removeEventListener("touchstart",n.start),document.removeEventListener("touchmove",i),totalLockCount--,totalLockCount||document.body.classList.remove(BODY_LOCK_CLASS))},s=()=>t()&&o();onMountedOrActivated((()=>t()&&r())),onDeactivated(s),onBeforeUnmount(s),watch(t,(e=>{e?r():o()}))}function useLazyRender(e){const t=ref(!1);return watch(e,(e=>{e&&(t.value=e)}),{immediate:!0}),e=>()=>t.value?e():null}const[name$9,bem$9]=createNamespace$1("overlay"),overlayProps={show:Boolean,zIndex:numericProp,duration:numericProp,className:unknownProp,lockScroll:truthProp,lazyRender:truthProp,customStyle:Object};var stdin_default$c=defineComponent({name:name$9,props:overlayProps,setup(e,{slots:t}){const n=ref(),i=useLazyRender((()=>e.show||!e.lazyRender))((()=>{var i;const r=extend$2(getZIndexStyle(e.zIndex),e.customStyle);return isDef$1(e.duration)&&(r.animationDuration=`${e.duration}s`),withDirectives(createVNode("div",{ref:n,style:r,class:[bem$9(),e.className]},[null==(i=t.default)?void 0:i.call(t)]),[[vShow,e.show]])}));return useEventListener$1("touchmove",(t=>{e.lockScroll&&preventDefault(t,!0)}),{target:n}),()=>createVNode(Transition,{name:"van-fade",appear:!0},{default:i})}});const Overlay=withInstall(stdin_default$c),popupProps=extend$2({},popupSharedProps,{round:Boolean,position:makeStringProp("center"),closeIcon:makeStringProp("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:makeStringProp("top-right"),safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[name$8,bem$8]=createNamespace$1("popup");var stdin_default$b=defineComponent({name:name$8,inheritAttrs:!1,props:popupProps,emits:["open","close","opened","closed","keydown","update:show","clickOverlay","clickCloseIcon"],setup(e,{emit:t,attrs:n,slots:i}){let r,o;const s=ref(),a=ref(),l=useLazyRender((()=>e.show||!e.lazyRender)),c=computed((()=>{const t={zIndex:s.value};if(isDef$1(e.duration)){t["center"===e.position?"animationDuration":"transitionDuration"]=`${e.duration}s`}return t})),u=()=>{r||(r=!0,s.value=void 0!==e.zIndex?+e.zIndex:useGlobalZIndex(),t("open"))},h=()=>{r&&callInterceptor(e.beforeClose,{done(){r=!1,t("close"),t("update:show",!1)}})},d=n=>{t("clickOverlay",n),e.closeOnClickOverlay&&h()},p=()=>{if(e.overlay)return createVNode(Overlay,{show:e.show,class:e.overlayClass,zIndex:s.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?"button":void 0,tabindex:e.closeOnClickOverlay?0:void 0,onClick:d},{default:i["overlay-content"]})},f=e=>{t("clickCloseIcon",e),h()},m=()=>{if(e.closeable)return createVNode(Icon$1,{role:"button",tabindex:0,name:e.closeIcon,class:[bem$8("close-icon",e.closeIconPosition),HAPTICS_FEEDBACK],classPrefix:e.iconPrefix,onClick:f},null)},g=()=>t("opened"),v=()=>t("closed"),b=e=>t("keydown",e),y=l((()=>{var t;const{round:r,position:o,safeAreaInsetTop:s,safeAreaInsetBottom:l}=e;return withDirectives(createVNode("div",mergeProps({ref:a,style:c.value,role:"dialog",tabindex:0,class:[bem$8({round:r,[o]:o}),{"van-safe-area-top":s,"van-safe-area-bottom":l}],onKeydown:b},n),[null==(t=i.default)?void 0:t.call(i),m()]),[[vShow,e.show]])})),A=()=>{const{position:t,transition:n,transitionAppear:i}=e;return createVNode(Transition,{name:n||("center"===t?"van-fade":`van-popup-slide-${t}`),appear:i,onAfterEnter:g,onAfterLeave:v},{default:y})};return watch((()=>e.show),(e=>{e&&!r&&(u(),0===n.tabindex&&nextTick((()=>{var e;null==(e=a.value)||e.focus()}))),!e&&r&&(r=!1,t("close"))})),useExpose({popupRef:a}),useLockScroll(a,(()=>e.show&&e.lockScroll)),useEventListener$1("popstate",(()=>{e.closeOnPopstate&&(h(),o=!1)})),onMounted((()=>{e.show&&u()})),onActivated((()=>{o&&(t("update:show",!0),o=!1)})),onDeactivated((()=>{e.show&&e.teleport&&(h(),o=!0)})),provide(POPUP_TOGGLE_KEY,(()=>e.show)),()=>e.teleport?createVNode(Teleport,{to:e.teleport},{default:()=>[p(),A()]}):createVNode(Fragment,null,[p(),A()])}});const Popup=exports("P",withInstall(stdin_default$b));let current=0;function useId(){const e=getCurrentInstance(),{name:t="unknown"}=(null==e?void 0:e.type)||{};return`${t}-${++current}`}let lockCount=0;function lockClick(e){e?(lockCount||document.body.classList.add("van-toast--unclickable"),lockCount++):lockCount&&(lockCount--,lockCount||document.body.classList.remove("van-toast--unclickable"))}const[name$7,bem$7]=createNamespace$1("toast"),popupInheritProps=["show","overlay","teleport","transition","overlayClass","overlayStyle","closeOnClickOverlay"],toastProps={icon:String,show:Boolean,type:makeStringProp("text"),overlay:Boolean,message:numericProp,iconSize:numericProp,duration:makeNumberProp(2e3),position:makeStringProp("middle"),teleport:[String,Object],wordBreak:String,className:unknownProp,iconPrefix:String,transition:makeStringProp("van-fade"),loadingType:String,forbidClick:Boolean,overlayClass:unknownProp,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean};var stdin_default$a=defineComponent({name:name$7,props:toastProps,emits:["update:show"],setup(e,{emit:t,slots:n}){let i,r=!1;const o=()=>{const t=e.show&&e.forbidClick;r!==t&&(r=t,lockClick(r))},s=e=>t("update:show",e),a=()=>{e.closeOnClick&&s(!1)},l=()=>clearTimeout(i),c=()=>{const{icon:t,type:n,iconSize:i,iconPrefix:r,loadingType:o}=e;return t||"success"===n||"fail"===n?createVNode(Icon$1,{name:t||n,size:i,class:bem$7("icon"),classPrefix:r},null):"loading"===n?createVNode(Loading$1,{class:bem$7("loading"),size:i,type:o},null):void 0},u=()=>{const{type:t,message:i}=e;return n.message?createVNode("div",{class:bem$7("text")},[n.message()]):isDef$1(i)&&""!==i?"html"===t?createVNode("div",{key:0,class:bem$7("text"),innerHTML:String(i)},null):createVNode("div",{class:bem$7("text")},[i]):void 0};return watch((()=>[e.show,e.forbidClick]),o),watch((()=>[e.show,e.type,e.message,e.duration]),(()=>{l(),e.show&&e.duration>0&&(i=setTimeout((()=>{s(!1)}),e.duration))})),onMounted(o),onUnmounted(o),()=>createVNode(Popup,mergeProps({class:[bem$7([e.position,"normal"===e.wordBreak?"break-normal":e.wordBreak,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:a,onClosed:l,"onUpdate:show":s},pick$1(e,popupInheritProps)),{default:()=>[c(),u()]})}});function usePopupState(){const e=reactive({show:!1}),t=t=>{e.show=t},n=n=>{extend$2(e,n,{transitionAppear:!0}),t(!0)},i=()=>t(!1);return useExpose({open:n,close:i,toggle:t}),{open:n,close:i,state:e,toggle:t}}function mountComponent(e){const t=createApp(e),n=document.createElement("div");return document.body.appendChild(n),{instance:t.mount(n),unmount(){t.unmount(),document.body.removeChild(n)}}}const defaultOptions$1={icon:"",type:"text",message:"",className:"",overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:"body",iconSize:void 0,iconPrefix:void 0,position:"middle",transition:"van-fade",forbidClick:!1,loadingType:void 0,overlayClass:"",overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1};let queue=[],allowMultiple=!1,currentOptions=extend$2({},defaultOptions$1);const defaultOptionsMap=new Map;function parseOptions(e){return isObject$4(e)?e:{message:e}}function createInstance(){const{instance:e,unmount:t}=mountComponent({setup(){const e=ref(""),{open:t,state:n,close:i,toggle:r}=usePopupState(),o=()=>{};return watch(e,(e=>{n.message=e})),getCurrentInstance().render=()=>createVNode(stdin_default$a,mergeProps(n,{onClosed:o,"onUpdate:show":r}),null),{open:t,close:i,message:e}}});return e}function getInstance(){if(!queue.length||allowMultiple){const e=createInstance();queue.push(e)}return queue[queue.length-1]}function showToast(e={}){if(!inBrowser$2)return{};const t=getInstance(),n=parseOptions(e);return t.open(extend$2({},currentOptions,defaultOptionsMap.get(n.type||currentOptions.type),n)),t}const createMethod=e=>t=>showToast(extend$2({type:e},parseOptions(t))),showLoadingToast=exports("Z",createMethod("loading")),closeToast=exports("$",(e=>{queue.length&&(e?(queue.forEach((e=>{e.close()})),queue=[]):queue[0].close())}));withInstall(stdin_default$a);const[name$6,bem$6]=createNamespace$1("empty"),emptyProps={image:makeStringProp("default"),imageSize:[Number,String,Array],description:String};var stdin_default$9=defineComponent({name:name$6,props:emptyProps,setup(e,{slots:t}){const n=()=>{const n=t.description?t.description():e.description;if(n)return createVNode("p",{class:bem$6("description")},[n])},i=()=>{if(t.default)return createVNode("div",{class:bem$6("bottom")},[t.default()])},r=useId(),o=e=>`${r}-${e}`,s=e=>`url(#${o(e)})`,a=(e,t,n)=>createVNode("stop",{"stop-color":e,offset:`${t}%`,"stop-opacity":n},null),l=(e,t)=>[a(e,0),a(t,100)],c=e=>[createVNode("defs",null,[createVNode("radialGradient",{id:o(e),cx:"50%",cy:"54%",fx:"50%",fy:"54%",r:"297%",gradientTransform:"matrix(-.16 0 0 -.33 .58 .72)"},[a("#EBEDF0",0),a("#F2F3F5",100,.3)])]),createVNode("ellipse",{fill:s(e),opacity:".8",cx:"80",cy:"140",rx:"46",ry:"8"},null)],u=()=>[createVNode("defs",null,[createVNode("linearGradient",{id:o("a"),x1:"64%",y1:"100%",x2:"64%"},[a("#FFF",0,.5),a("#F2F3F5",100)])]),createVNode("g",{opacity:".8"},[createVNode("path",{d:"M36 131V53H16v20H2v58h34z",fill:s("a")},null),createVNode("path",{d:"M123 15h22v14h9v77h-31V15z",fill:s("a")},null)])],h=()=>[createVNode("defs",null,[createVNode("linearGradient",{id:o("b"),x1:"64%",y1:"97%",x2:"64%",y2:"0%"},[a("#F2F3F5",0,.3),a("#F2F3F5",100)])]),createVNode("g",{opacity:".8"},[createVNode("path",{d:"M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z",fill:s("b")},null),createVNode("path",{d:"M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z",fill:s("b")},null)])],d=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{id:o(1),x1:"64%",y1:"100%",x2:"64%"},[a("#FFF",0,.5),a("#F2F3F5",100)]),createVNode("linearGradient",{id:o(2),x1:"50%",x2:"50%",y2:"84%"},[a("#EBEDF0",0),a("#DCDEE0",100,0)]),createVNode("linearGradient",{id:o(3),x1:"100%",x2:"100%",y2:"100%"},[l("#EAEDF0","#DCDEE0")]),createVNode("radialGradient",{id:o(4),cx:"50%",cy:"0%",fx:"50%",fy:"0%",r:"100%",gradientTransform:"matrix(0 1 -.54 0 .5 -.5)"},[a("#EBEDF0",0),a("#FFF",100,0)])]),createVNode("g",{fill:"none"},[u(),createVNode("path",{fill:s(4),d:"M0 139h160v21H0z"},null),createVNode("path",{d:"M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",fill:s(2)},null),createVNode("g",{opacity:".6","stroke-linecap":"round","stroke-width":"7"},[createVNode("path",{d:"M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",stroke:s(3)},null),createVNode("path",{d:"M53 36a34 34 0 0 0 0 48",stroke:s(3)},null),createVNode("path",{d:"M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",stroke:s(3)},null),createVNode("path",{d:"M106 84a34 34 0 0 0 0-48",stroke:s(3)},null)]),createVNode("g",{transform:"translate(31 105)"},[createVNode("rect",{fill:"#EBEDF0",width:"98",height:"34",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"9",y:"8",width:"80",height:"18",rx:"1.1"},null),createVNode("rect",{fill:"#EBEDF0",x:"15",y:"12",width:"18",height:"6",rx:"1.1"},null)])])]),p=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:o(5)},[l("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"95%",y1:"48%",x2:"5.5%",y2:"51%",id:o(6)},[l("#EAEDF1","#DCDEE0")]),createVNode("linearGradient",{y1:"45%",x2:"100%",y2:"54%",id:o(7)},[l("#EAEDF1","#DCDEE0")])]),u(),h(),createVNode("g",{transform:"translate(36 50)",fill:"none"},[createVNode("g",{transform:"translate(8)"},[createVNode("rect",{fill:"#EBEDF0",opacity:".6",x:"38",y:"13",width:"36",height:"53",rx:"2"},null),createVNode("rect",{fill:s(5),width:"64",height:"66",rx:"2"},null),createVNode("rect",{fill:"#FFF",x:"6",y:"6",width:"52",height:"55",rx:"1"},null),createVNode("g",{transform:"translate(15 17)",fill:s(6)},[createVNode("rect",{width:"34",height:"6",rx:"1"},null),createVNode("path",{d:"M0 14h34v6H0z"},null),createVNode("rect",{y:"28",width:"34",height:"6",rx:"1"},null)])]),createVNode("rect",{fill:s(7),y:"61",width:"88",height:"28",rx:"1"},null),createVNode("rect",{fill:"#F7F8FA",x:"29",y:"72",width:"30",height:"6",rx:"1"},null)])]),f=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:o(8)},[l("#EAEDF1","#DCDEE0")])]),u(),h(),c("c"),createVNode("path",{d:"m59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z",fill:s(8)},null)]),m=()=>createVNode("svg",{viewBox:"0 0 160 160"},[createVNode("defs",null,[createVNode("linearGradient",{x1:"50%",y1:"100%",x2:"50%",id:o(9)},[l("#EEE","#D8D8D8")]),createVNode("linearGradient",{x1:"100%",y1:"50%",y2:"50%",id:o(10)},[l("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:o(11)},[l("#F2F3F5","#DCDEE0")]),createVNode("linearGradient",{x1:"50%",x2:"50%",y2:"100%",id:o(12)},[l("#FFF","#F7F8FA")])]),u(),h(),c("d"),createVNode("g",{transform:"rotate(-45 113 -4)",fill:"none"},[createVNode("rect",{fill:s(9),x:"24",y:"52.8",width:"5.8",height:"19",rx:"1"},null),createVNode("rect",{fill:s(10),x:"22.1",y:"67.3",width:"9.9",height:"28",rx:"1"},null),createVNode("circle",{stroke:s(11),"stroke-width":"8",cx:"27",cy:"27",r:"27"},null),createVNode("circle",{fill:s(12),cx:"27",cy:"27",r:"16"},null),createVNode("path",{d:"M37 7c-8 0-15 5-16 12",stroke:s(11),"stroke-width":"3",opacity:".5","stroke-linecap":"round",transform:"rotate(45 29 13)"},null)])]),g=()=>{var n;if(t.image)return t.image();const i={error:f,search:m,network:d,default:p};return(null==(n=i[e.image])?void 0:n.call(i))||createVNode("img",{src:e.image},null)};return()=>createVNode("div",{class:bem$6()},[createVNode("div",{class:bem$6("image"),style:getSizeStyle(e.imageSize)},[g()]),n(),i()])}});const Empty=withInstall(stdin_default$9),[name$5,bem$5]=createNamespace$1("nav-bar"),navBarProps={title:String,fixed:Boolean,zIndex:numericProp,border:truthProp,leftText:String,rightText:String,leftArrow:Boolean,placeholder:Boolean,safeAreaInsetTop:Boolean,clickable:truthProp};var stdin_default$8=defineComponent({name:name$5,props:navBarProps,emits:["clickLeft","clickRight"],setup(e,{emit:t,slots:n}){const i=ref(),r=usePlaceholder(i,bem$5),o=e=>t("clickLeft",e),s=e=>t("clickRight",e),a=()=>{const{title:t,fixed:r,border:a,zIndex:l}=e,c=getZIndexStyle(l),u=e.leftArrow||e.leftText||n.left,h=e.rightText||n.right;return createVNode("div",{ref:i,style:c,class:[bem$5({fixed:r}),{[BORDER_BOTTOM]:a,"van-safe-area-top":e.safeAreaInsetTop}]},[createVNode("div",{class:bem$5("content")},[u&&createVNode("div",{class:[bem$5("left"),e.clickable?HAPTICS_FEEDBACK:""],onClick:o},[n.left?n.left():[e.leftArrow&&createVNode(Icon$1,{class:bem$5("arrow"),name:"arrow-left"},null),e.leftText&&createVNode("span",{class:bem$5("text")},[e.leftText])]]),createVNode("div",{class:[bem$5("title"),"van-ellipsis"]},[n.title?n.title():t]),h&&createVNode("div",{class:[bem$5("right"),e.clickable?HAPTICS_FEEDBACK:""],onClick:s},[n.right?n.right():createVNode("span",{class:bem$5("text")},[e.rightText])])])])};return()=>e.fixed&&e.placeholder?r(a):a()}});const NavBar=withInstall(stdin_default$8),[name$4,bem$4]=createNamespace$1("notice-bar"),noticeBarProps={text:String,mode:String,color:String,delay:makeNumericProp(1),speed:makeNumericProp(60),leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null}};var stdin_default$7=defineComponent({name:name$4,props:noticeBarProps,emits:["close","replay"],setup(e,{emit:t,slots:n}){let i,r=0,o=0;const s=ref(),a=ref(),l=reactive({show:!0,offset:0,duration:0}),c=n=>{"closeable"===e.mode&&(l.show=!1,t("close",n))},u=()=>{if(n["right-icon"])return n["right-icon"]();const t="closeable"===e.mode?"cross":"link"===e.mode?"arrow":void 0;return t?createVNode(Icon$1,{name:t,class:bem$4("right-icon"),onClick:c},null):void 0},h=()=>{l.offset=r,l.duration=0,raf((()=>{doubleRaf((()=>{l.offset=-o,l.duration=(o+r)/+e.speed,t("replay")}))}))},d=()=>{const t=!1===e.scrollable&&!e.wrapable,i={transform:l.offset?`translateX(${l.offset}px)`:"",transitionDuration:`${l.duration}s`};return createVNode("div",{ref:s,role:"marquee",class:bem$4("wrap")},[createVNode("div",{ref:a,style:i,class:[bem$4("content"),{"van-ellipsis":t}],onTransitionend:h},[n.default?n.default():e.text])])},p=()=>{const{delay:t,speed:n,scrollable:c}=e,u=isDef$1(t)?1e3*+t:0;r=0,o=0,l.offset=0,l.duration=0,clearTimeout(i),i=setTimeout((()=>{if(!s.value||!a.value||!1===c)return;const e=useRect(s).width,t=useRect(a).width;(c||t>e)&&doubleRaf((()=>{r=e,o=t,l.offset=-o,l.duration=o/+n}))}),u)};return onPopupReopen(p),onMountedOrActivated(p),useEventListener$1("pageshow",p),useExpose({reset:p}),watch((()=>[e.text,e.scrollable]),p),()=>{const{color:t,wrapable:i,background:r}=e;return withDirectives(createVNode("div",{role:"alert",class:bem$4({wrapable:i}),style:{color:t,background:r}},[n["left-icon"]?n["left-icon"]():e.leftIcon?createVNode(Icon$1,{class:bem$4("left-icon"),name:e.leftIcon},null):void 0,d(),u()]),[[vShow,l.show]])}}});const NoticeBar=exports("N",withInstall(stdin_default$7)),[name$3,bem$3]=createNamespace$1("skeleton-title"),skeletonTitleProps={round:Boolean,titleWidth:numericProp};var stdin_default$6=defineComponent({name:name$3,props:skeletonTitleProps,setup:e=>()=>createVNode("h3",{class:bem$3([{round:e.round}]),style:{width:addUnit(e.titleWidth)}},null)});const SkeletonTitle=withInstall(stdin_default$6);var stdin_default$5=SkeletonTitle;const[name$2,bem$2]=createNamespace$1("skeleton-avatar"),skeletonAvatarProps={avatarSize:numericProp,avatarShape:makeStringProp("round")};var stdin_default$4=defineComponent({name:name$2,props:skeletonAvatarProps,setup:e=>()=>createVNode("div",{class:bem$2([e.avatarShape]),style:getSizeStyle(e.avatarSize)},null)});const SkeletonAvatar=withInstall(stdin_default$4);var stdin_default$3=SkeletonAvatar;const DEFAULT_ROW_WIDTH="100%",skeletonParagraphProps={round:Boolean,rowWidth:{type:numericProp,default:DEFAULT_ROW_WIDTH}},[name$1,bem$1]=createNamespace$1("skeleton-paragraph");var stdin_default$2=defineComponent({name:name$1,props:skeletonParagraphProps,setup:e=>()=>createVNode("div",{class:bem$1([{round:e.round}]),style:{width:e.rowWidth}},null)});const SkeletonParagraph=withInstall(stdin_default$2);var stdin_default$1=SkeletonParagraph;const[name,bem]=createNamespace$1("skeleton"),DEFAULT_LAST_ROW_WIDTH="60%",skeletonProps={row:makeNumericProp(0),round:Boolean,title:Boolean,titleWidth:numericProp,avatar:Boolean,avatarSize:numericProp,avatarShape:makeStringProp("round"),loading:truthProp,animate:truthProp,rowWidth:{type:[Number,String,Array],default:DEFAULT_ROW_WIDTH}};var stdin_default=defineComponent({name:name,inheritAttrs:!1,props:skeletonProps,setup(e,{slots:t,attrs:n}){const i=()=>{if(e.avatar)return createVNode(stdin_default$3,{avatarShape:e.avatarShape,avatarSize:e.avatarSize},null)},r=()=>{if(e.title)return createVNode(stdin_default$5,{round:e.round,titleWidth:e.titleWidth},null)},o=t=>{const{rowWidth:n}=e;return n===DEFAULT_ROW_WIDTH&&t===+e.row-1?DEFAULT_LAST_ROW_WIDTH:Array.isArray(n)?n[t]:n};return()=>{var s;return e.loading?createVNode("div",mergeProps({class:bem({animate:e.animate,round:e.round})},n),[t.template?t.template():createVNode(Fragment,null,[i(),createVNode("div",{class:bem("content")},[r(),Array(+e.row).fill("").map(((t,n)=>createVNode(stdin_default$1,{key:n,round:e.round,rowWidth:addUnit(o(n))},null)))])])]):null==(s=t.default)?void 0:s.call(t)}}});const Skeleton=exports("ag",withInstall(stdin_default)),storeData=exports("h",reactive({status:"init",user:{},platformType:"STUDENT",platformApi:"/api-student",proxy:"",isApp:!1})),setStoreData=exports("ay",(e=>{Object.assign(storeData,e)})),setUserInfo=exports("i",(e=>{storeData.status="login",storeData.user=e||{}}));var commonjsGlobal=exports("cQ","undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{});function getAugmentedNamespace(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){if(this instanceof e){var n=[null];return n.push.apply(n,arguments),new(Function.bind.apply(t,n))}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})})),n}var assign$1=make_assign(),create$1=make_create(),trim$1=make_trim(),Global$5="undefined"!=typeof window?window:commonjsGlobal,util$i={assign:assign$1,create:create$1,trim:trim$1,bind:bind$3,slice:slice$3,each:each$8,map:map,pluck:pluck$1,isList:isList$1,isFunction:isFunction$4,isObject:isObject$3,Global:Global$5};function make_assign(){return Object.assign?Object.assign:function(e,t,n,i){for(var r=1;r<arguments.length;r++)each$8(Object(arguments[r]),(function(t,n){e[n]=t}));return e}}function make_create(){if(Object.create)return function(e,t,n,i){var r=slice$3(arguments,1);return assign$1.apply(this,[Object.create(e)].concat(r))};{function e(){}return function(t,n,i,r){var o=slice$3(arguments,1);return e.prototype=t,assign$1.apply(this,[new e].concat(o))}}}function make_trim(){return String.prototype.trim?function(e){return String.prototype.trim.call(e)}:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}}function bind$3(e,t){return function(){return t.apply(e,Array.prototype.slice.call(arguments,0))}}function slice$3(e,t){return Array.prototype.slice.call(e,t||0)}function each$8(e,t){pluck$1(e,(function(e,n){return t(e,n),!1}))}function map(e,t){var n=isList$1(e)?[]:{};return pluck$1(e,(function(e,i){return n[i]=t(e,i),!1})),n}function pluck$1(e,t){if(isList$1(e)){for(var n=0;n<e.length;n++)if(t(e[n],n))return e[n]}else for(var i in e)if(e.hasOwnProperty(i)&&t(e[i],i))return e[i]}function isList$1(e){return null!=e&&"function"!=typeof e&&"number"==typeof e.length}function isFunction$4(e){return e&&"[object Function]"==={}.toString.call(e)}function isObject$3(e){return e&&"[object Object]"==={}.toString.call(e)}var util$h=util$i,slice$2=util$h.slice,pluck=util$h.pluck,each$7=util$h.each,bind$2=util$h.bind,create=util$h.create,isList=util$h.isList,isFunction$3=util$h.isFunction,isObject$2=util$h.isObject,storeEngine={createStore:createStore},storeAPI={version:"2.0.12",enabled:!1,get:function(e,t){var n=this.storage.read(this._namespacePrefix+e);return this._deserialize(n,t)},set:function(e,t){return void 0===t?this.remove(e):(this.storage.write(this._namespacePrefix+e,this._serialize(t)),t)},remove:function(e){this.storage.remove(this._namespacePrefix+e)},each:function(e){var t=this;this.storage.each((function(n,i){e.call(t,t._deserialize(n),(i||"").replace(t._namespaceRegexp,""))}))},clearAll:function(){this.storage.clearAll()},hasNamespace:function(e){return this._namespacePrefix=="__storejs_"+e+"_"},createStore:function(){return createStore.apply(this,arguments)},addPlugin:function(e){this._addPlugin(e)},namespace:function(e){return createStore(this.storage,this.plugins,e)}};function _warn(){var e="undefined"==typeof console?null:console;e&&(e.warn?e.warn:e.log).apply(e,arguments)}function createStore(e,t,n){n||(n=""),e&&!isList(e)&&(e=[e]),t&&!isList(t)&&(t=[t]);var i=n?"__storejs_"+n+"_":"",r=n?new RegExp("^"+i):null;if(!/^[a-zA-Z0-9_\-]*$/.test(n))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var o={_namespacePrefix:i,_namespaceRegexp:r,_testStorage:function(e){try{var t="__storejs__test__";e.write(t,t);var n=e.read(t)===t;return e.remove(t),n}catch(i){return!1}},_assignPluginFnProp:function(e,t){var n=this[t];this[t]=function(){var t=slice$2(arguments,0),i=this;var r=[function(){if(n)return each$7(arguments,(function(e,n){t[n]=e})),n.apply(i,t)}].concat(t);return e.apply(i,r)}},_serialize:function(e){return JSON.stringify(e)},_deserialize:function(e,t){if(!e)return t;var n="";try{n=JSON.parse(e)}catch(i){n=e}return void 0!==n?n:t},_addStorage:function(e){this.enabled||this._testStorage(e)&&(this.storage=e,this.enabled=!0)},_addPlugin:function(e){var t=this;if(isList(e))each$7(e,(function(e){t._addPlugin(e)}));else if(!pluck(this.plugins,(function(t){return e===t}))){if(this.plugins.push(e),!isFunction$3(e))throw new Error("Plugins must be function values that return objects");var n=e.call(this);if(!isObject$2(n))throw new Error("Plugins must return an object of function properties");each$7(n,(function(n,i){if(!isFunction$3(n))throw new Error("Bad plugin property: "+i+" from plugin "+e.name+". Plugins should only return functions.");t._assignPluginFnProp(n,i)}))}},addStorage:function(e){_warn("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(e)}},s=create(o,storeAPI,{plugins:[]});return s.raw={},each$7(s,(function(e,t){isFunction$3(e)&&(s.raw[t]=bind$2(s,e))})),each$7(e,(function(e){s._addStorage(e)})),each$7(t,(function(e){s._addPlugin(e)})),s}var util$g=util$i,Global$4=util$g.Global,localStorage_1={name:"localStorage",read:read$5,write:write$5,each:each$6,remove:remove$6,clearAll:clearAll$5};function localStorage$1(){return Global$4.localStorage}function read$5(e){return localStorage$1().getItem(e)}function write$5(e,t){return localStorage$1().setItem(e,t)}function each$6(e){for(var t=localStorage$1().length-1;t>=0;t--){var n=localStorage$1().key(t);e(read$5(n),n)}}function remove$6(e){return localStorage$1().removeItem(e)}function clearAll$5(){return localStorage$1().clear()}var util$f=util$i,Global$3=util$f.Global,oldFFGlobalStorage={name:"oldFF-globalStorage",read:read$4,write:write$4,each:each$5,remove:remove$5,clearAll:clearAll$4},globalStorage=Global$3.globalStorage;function read$4(e){return globalStorage[e]}function write$4(e,t){globalStorage[e]=t}function each$5(e){for(var t=globalStorage.length-1;t>=0;t--){var n=globalStorage.key(t);e(globalStorage[n],n)}}function remove$5(e){return globalStorage.removeItem(e)}function clearAll$4(){each$5((function(e,t){delete globalStorage[e]}))}var util$e=util$i,Global$2=util$e.Global,oldIEUserDataStorage={name:"oldIE-userDataStorage",write:write$3,read:read$3,each:each$4,remove:remove$4,clearAll:clearAll$3},storageName="storejs",doc$1=Global$2.document,_withStorageEl=_makeIEStorageElFunction(),disable$1=(Global$2.navigator?Global$2.navigator.userAgent:"").match(/ (MSIE 8|MSIE 9|MSIE 10)\./);function write$3(e,t){if(!disable$1){var n=fixKey(e);_withStorageEl((function(e){e.setAttribute(n,t),e.save(storageName)}))}}function read$3(e){if(!disable$1){var t=fixKey(e),n=null;return _withStorageEl((function(e){n=e.getAttribute(t)})),n}}function each$4(e){_withStorageEl((function(t){for(var n=t.XMLDocument.documentElement.attributes,i=n.length-1;i>=0;i--){var r=n[i];e(t.getAttribute(r.name),r.name)}}))}function remove$4(e){var t=fixKey(e);_withStorageEl((function(e){e.removeAttribute(t),e.save(storageName)}))}function clearAll$3(){_withStorageEl((function(e){var t=e.XMLDocument.documentElement.attributes;e.load(storageName);for(var n=t.length-1;n>=0;n--)e.removeAttribute(t[n].name);e.save(storageName)}))}var forbiddenCharsRegex=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function fixKey(e){return e.replace(/^\d/,"___$&").replace(forbiddenCharsRegex,"___")}function _makeIEStorageElFunction(){if(!doc$1||!doc$1.documentElement||!doc$1.documentElement.addBehavior)return null;var e,t,n,i="script";try{(t=new ActiveXObject("htmlfile")).open(),t.write("<"+i+">document.w=window</"+i+'><iframe src="/favicon.ico"></iframe>'),t.close(),e=t.w.frames[0].document,n=e.createElement("div")}catch(r){n=doc$1.createElement("div"),e=doc$1.body}return function(t){var i=[].slice.call(arguments,0);i.unshift(n),e.appendChild(n),n.addBehavior("#default#userData"),n.load(storageName),t.apply(this,i),e.removeChild(n)}}var util$d=util$i,Global$1=util$d.Global,trim=util$d.trim,cookieStorage={name:"cookieStorage",read:read$2,write:write$2,each:each$3,remove:remove$3,clearAll:clearAll$2},doc=Global$1.document;function read$2(e){if(!e||!_has(e))return null;var t="(?:^|.*;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(doc.cookie.replace(new RegExp(t),"$1"))}function each$3(e){for(var t=doc.cookie.split(/; ?/g),n=t.length-1;n>=0;n--)if(trim(t[n])){var i=t[n].split("="),r=unescape(i[0]);e(unescape(i[1]),r)}}function write$2(e,t){e&&(doc.cookie=escape(e)+"="+escape(t)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")}function remove$3(e){e&&_has(e)&&(doc.cookie=escape(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function clearAll$2(){each$3((function(e,t){remove$3(t)}))}function _has(e){return new RegExp("(?:^|;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(doc.cookie)}var util$c=util$i,Global=util$c.Global,sessionStorage_1={name:"sessionStorage",read:read$1,write:write$1,each:each$2,remove:remove$2,clearAll:clearAll$1};function sessionStorage$1(){return Global.sessionStorage}function read$1(e){return sessionStorage$1().getItem(e)}function write$1(e,t){return sessionStorage$1().setItem(e,t)}function each$2(e){for(var t=sessionStorage$1().length-1;t>=0;t--){var n=sessionStorage$1().key(t);e(read$1(n),n)}}function remove$2(e){return sessionStorage$1().removeItem(e)}function clearAll$1(){return sessionStorage$1().clear()}var memoryStorage_1={name:"memoryStorage",read:read,write:write,each:each$1,remove:remove$1,clearAll:clearAll},memoryStorage={};function read(e){return memoryStorage[e]}function write(e,t){memoryStorage[e]=t}function each$1(e){for(var t in memoryStorage)memoryStorage.hasOwnProperty(t)&&e(memoryStorage[t],t)}function remove$1(e){delete memoryStorage[e]}function clearAll(e){memoryStorage={}}var all=[localStorage_1,oldFFGlobalStorage,oldIEUserDataStorage,cookieStorage,sessionStorage_1,memoryStorage_1],json2$1={},hasRequiredJson2;function requireJson2(){return hasRequiredJson2||(hasRequiredJson2=1,"object"!=typeof JSON&&(JSON={}),function(){var rx_one=/^[\],:{}\s]*$/,rx_two=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rx_three=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rx_four=/(?:^|:|,)(?:\s*\[)+/g,rx_escapable=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,rx_dangerous=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta,rep;function f(e){return e<10?"0"+e:e}function this_value(){return this.valueOf()}function quote(e){return rx_escapable.lastIndex=0,rx_escapable.test(e)?'"'+e.replace(rx_escapable,(function(e){var t=meta[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}))+'"':'"'+e+'"'}function str(e,t){var n,i,r,o,s,a=gap,l=t[e];switch(l&&"object"==typeof l&&"function"==typeof l.toJSON&&(l=l.toJSON(e)),"function"==typeof rep&&(l=rep.call(t,e,l)),typeof l){case"string":return quote(l);case"number":return isFinite(l)?String(l):"null";case"boolean":case"null":return String(l);case"object":if(!l)return"null";if(gap+=indent,s=[],"[object Array]"===Object.prototype.toString.apply(l)){for(o=l.length,n=0;n<o;n+=1)s[n]=str(n,l)||"null";return r=0===s.length?"[]":gap?"[\n"+gap+s.join(",\n"+gap)+"\n"+a+"]":"["+s.join(",")+"]",gap=a,r}if(rep&&"object"==typeof rep)for(o=rep.length,n=0;n<o;n+=1)"string"==typeof rep[n]&&(r=str(i=rep[n],l))&&s.push(quote(i)+(gap?": ":":")+r);else for(i in l)Object.prototype.hasOwnProperty.call(l,i)&&(r=str(i,l))&&s.push(quote(i)+(gap?": ":":")+r);return r=0===s.length?"{}":gap?"{\n"+gap+s.join(",\n"+gap)+"\n"+a+"}":"{"+s.join(",")+"}",gap=a,r}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},Boolean.prototype.toJSON=this_value,Number.prototype.toJSON=this_value,String.prototype.toJSON=this_value),"function"!=typeof JSON.stringify&&(meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(e,t,n){var i;if(gap="",indent="","number"==typeof n)for(i=0;i<n;i+=1)indent+=" ";else"string"==typeof n&&(indent=n);if(rep=t,t&&"function"!=typeof t&&("object"!=typeof t||"number"!=typeof t.length))throw new Error("JSON.stringify");return str("",{"":e})}),"function"!=typeof JSON.parse&&(JSON.parse=function(text,reviver){var j;function walk(e,t){var n,i,r=e[t];if(r&&"object"==typeof r)for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(void 0!==(i=walk(r,n))?r[n]=i:delete r[n]);return reviver.call(e,t,r)}if(text=String(text),rx_dangerous.lastIndex=0,rx_dangerous.test(text)&&(text=text.replace(rx_dangerous,(function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}))),rx_one.test(text.replace(rx_two,"@").replace(rx_three,"]").replace(rx_four,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}()),json2$1}var json2=json2Plugin;function json2Plugin(){return requireJson2(),{}}var engine=storeEngine,storages=all,plugins=[json2],store_legacy=exports("Q",engine.createStore(storages,plugins));const token="%[a-f0-9]{2}",singleMatcher=new RegExp("("+token+")|([^%]+?)","gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(e,t){try{return[decodeURIComponent(e.join(""))]}catch(r){}if(1===e.length)return e;t=t||1;const n=e.slice(0,t),i=e.slice(t);return Array.prototype.concat.call([],decodeComponents(n),decodeComponents(i))}function decode$4(e){try{return decodeURIComponent(e)}catch(t){let n=e.match(singleMatcher)||[];for(let i=1;i<n.length;i++)n=(e=decodeComponents(n,i).join("")).match(singleMatcher)||[];return e}}function customDecodeURIComponent(e){const t={"%FE%FF":"��","%FF%FE":"��"};let n=multiMatcher.exec(e);for(;n;){try{t[n[0]]=decodeURIComponent(n[0])}catch(r){const e=decode$4(n[0]);e!==n[0]&&(t[n[0]]=e)}n=multiMatcher.exec(e)}t["%C2"]="�";const i=Object.keys(t);for(const o of i)e=e.replace(new RegExp(o,"g"),t[o]);return e}function decodeUriComponent(e){if("string"!=typeof e)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch(t){return customDecodeURIComponent(e)}}function splitOnFirst(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const n=e.indexOf(t);return-1===n?[]:[e.slice(0,n),e.slice(n+t.length)]}function includeKeys(e,t){const n={};if(Array.isArray(t))for(const i of t){const t=Object.getOwnPropertyDescriptor(e,i);null!=t&&t.enumerable&&Object.defineProperty(n,i,t)}else for(const i of Reflect.ownKeys(e)){const r=Object.getOwnPropertyDescriptor(e,i);if(r.enumerable){t(i,e[i],e)&&Object.defineProperty(n,i,r)}}return n}const isNullOrUndefined=e=>null==e,strictUriEncode=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)),encodeFragmentIdentifier=Symbol("encodeFragmentIdentifier");function encoderForArrayFormat(e){switch(e.arrayFormat){case"index":return t=>(n,i)=>{const r=n.length;return void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?n:null===i?[...n,[encode$1(t,e),"[",r,"]"].join("")]:[...n,[encode$1(t,e),"[",encode$1(r,e),"]=",encode$1(i,e)].join("")]};case"bracket":return t=>(n,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?n:null===i?[...n,[encode$1(t,e),"[]"].join("")]:[...n,[encode$1(t,e),"[]=",encode$1(i,e)].join("")];case"colon-list-separator":return t=>(n,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?n:null===i?[...n,[encode$1(t,e),":list="].join("")]:[...n,[encode$1(t,e),":list=",encode$1(i,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t="bracket-separator"===e.arrayFormat?"[]=":"=";return n=>(i,r)=>void 0===r||e.skipNull&&null===r||e.skipEmptyString&&""===r?i:(r=null===r?"":r,0===i.length?[[encode$1(n,e),t,encode$1(r,e)].join("")]:[[i,encode$1(r,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?n:null===i?[...n,encode$1(t,e)]:[...n,[encode$1(t,e),"=",encode$1(i,e)].join("")]}}function parserForArrayFormat(e){let t;switch(e.arrayFormat){case"index":return(e,n,i)=>{t=/\[(\d*)]$/.exec(e),e=e.replace(/\[\d*]$/,""),t?(void 0===i[e]&&(i[e]={}),i[e][t[1]]=n):i[e]=n};case"bracket":return(e,n,i)=>{t=/(\[])$/.exec(e),e=e.replace(/\[]$/,""),t?void 0!==i[e]?i[e]=[...i[e],n]:i[e]=[n]:i[e]=n};case"colon-list-separator":return(e,n,i)=>{t=/(:list)$/.exec(e),e=e.replace(/:list$/,""),t?void 0!==i[e]?i[e]=[...i[e],n]:i[e]=[n]:i[e]=n};case"comma":case"separator":return(t,n,i)=>{const r="string"==typeof n&&n.includes(e.arrayFormatSeparator),o="string"==typeof n&&!r&&decode$3(n,e).includes(e.arrayFormatSeparator);n=o?decode$3(n,e):n;const s=r||o?n.split(e.arrayFormatSeparator).map((t=>decode$3(t,e))):null===n?n:decode$3(n,e);i[t]=s};case"bracket-separator":return(t,n,i)=>{const r=/(\[])$/.test(t);if(t=t.replace(/\[]$/,""),!r)return void(i[t]=n?decode$3(n,e):n);const o=null===n?[]:n.split(e.arrayFormatSeparator).map((t=>decode$3(t,e)));void 0!==i[t]?i[t]=[...i[t],...o]:i[t]=o};default:return(e,t,n)=>{void 0!==n[e]?n[e]=[...[n[e]].flat(),t]:n[e]=t}}}function validateArrayFormatSeparator(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function encode$1(e,t){return t.encode?t.strict?strictUriEncode(e):encodeURIComponent(e):e}function decode$3(e,t){return t.decode?decodeUriComponent(e):e}function keysSorter(e){return Array.isArray(e)?e.sort():"object"==typeof e?keysSorter(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function removeHash(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function getHash(e){let t="";const n=e.indexOf("#");return-1!==n&&(t=e.slice(n)),t}function parseValue(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function extract(e){const t=(e=removeHash(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function parse$5(e,t){validateArrayFormatSeparator((t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t}).arrayFormatSeparator);const n=parserForArrayFormat(t),i=Object.create(null);if("string"!=typeof e)return i;if(!(e=e.trim().replace(/^[?#&]/,"")))return i;for(const r of e.split("&")){if(""===r)continue;const e=t.decode?r.replace(/\+/g," "):r;let[o,s]=splitOnFirst(e,"=");void 0===o&&(o=e),s=void 0===s?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?s:decode$3(s,t),n(decode$3(o,t),s,i)}for(const[r,o]of Object.entries(i))if("object"==typeof o&&null!==o)for(const[e,n]of Object.entries(o))o[e]=parseValue(n,t);else i[r]=parseValue(o,t);return!1===t.sort?i:(!0===t.sort?Object.keys(i).sort():Object.keys(i).sort(t.sort)).reduce(((e,t)=>{const n=i[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=keysSorter(n):e[t]=n,e}),Object.create(null))}function stringify$2(e,t){if(!e)return"";validateArrayFormatSeparator((t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t}).arrayFormatSeparator);const n=n=>t.skipNull&&isNullOrUndefined(e[n])||t.skipEmptyString&&""===e[n],i=encoderForArrayFormat(t),r={};for(const[s,a]of Object.entries(e))n(s)||(r[s]=a);const o=Object.keys(r);return!1!==t.sort&&o.sort(t.sort),o.map((n=>{const r=e[n];return void 0===r?"":null===r?encode$1(n,t):Array.isArray(r)?0===r.length&&"bracket-separator"===t.arrayFormat?encode$1(n,t)+"[]":r.reduce(i(n),[]).join("&"):encode$1(n,t)+"="+encode$1(r,t)})).filter((e=>e.length>0)).join("&")}function parseUrl(e,t){var n,i,r;t={decode:!0,...t};let[o,s]=splitOnFirst(e,"#");return void 0===o&&(o=e),{url:null!==(n=null===(i=o)||void 0===i||null===(r=i.split("?"))||void 0===r?void 0:r[0])&&void 0!==n?n:"",query:parse$5(extract(e),t),...t&&t.parseFragmentIdentifier&&s?{fragmentIdentifier:decode$3(s,t)}:{}}}function stringifyUrl(e,t){t={encode:!0,strict:!0,[encodeFragmentIdentifier]:!0,...t};const n=removeHash(e.url).split("?")[0]||"";let i=stringify$2({...parse$5(extract(e.url),{sort:!1}),...e.query},t);i&&(i=`?${i}`);let r=getHash(e.url);if(e.fragmentIdentifier){const i=new URL(n);i.hash=e.fragmentIdentifier,r=t[encodeFragmentIdentifier]?i.hash:`#${e.fragmentIdentifier}`}return`${n}${i}${r}`}function pick(e,t,n){n={parseFragmentIdentifier:!0,[encodeFragmentIdentifier]:!1,...n};const{url:i,query:r,fragmentIdentifier:o}=parseUrl(e,n);return stringifyUrl({url:i,query:includeKeys(r,t),fragmentIdentifier:o},n)}function exclude(e,t,n){return pick(e,Array.isArray(t)?e=>!t.includes(e):(e,n)=>!t(e,n),n)}const queryString=Object.freeze(Object.defineProperty({__proto__:null,exclude:exclude,extract:extract,parse:parse$5,parseUrl:parseUrl,pick:pick,stringify:stringify$2,stringifyUrl:stringifyUrl},Symbol.toStringTag,{value:"Module"}));exports("t",queryString);const getQuery=exports("g",(()=>{let e={};try{e={...queryString.parse(location.search),...queryString.parse(location.hash.split("?")[1])}}catch(t){}return{...e}})),browser=exports("v",(()=>{const e=navigator.userAgent;return{trident:e.indexOf("Trident")>-1,presto:e.indexOf("Presto")>-1,webKit:e.indexOf("AppleWebKit")>-1,gecko:e.indexOf("Gecko")>-1&&-1==e.indexOf("KHTML"),mobile:!!e.match(/AppleWebKit.*Mobile.*/),ios:!!e.match(/Mac OS X/)||/(iPhone|iPad|iPod|iOS)/i.test(e),android:e.indexOf("Android")>-1||e.indexOf("Adr")>-1,iPhone:e.indexOf("ORCHESTRAAPPI")>-1,isApp:e.includes("DAYAAPPA")||e.includes("DAYAAPPI")||e.includes("COLEXIUAPPA")||e.includes("COLEXIUAPPI")||e.includes("ORCHESTRAAPPI")||e.includes("ORCHESTRAAPPA"),isTeacher:e.indexOf("ORCHESTRATEACHER")>-1||e.includes("COLEXIUTEACHER"),isStudent:e.indexOf("ORCHESTRASTUDENT")>-1||e.includes("COLEXIUSTUDENT"),isSchool:e.indexOf("ORCHESTRASCHOOL")>-1,iPad:e.indexOf("iPad")>-1,webApp:-1==e.indexOf("Safari"),weixin:e.indexOf("MicroMessenger")>-1,alipay:e.indexOf("AlipayClient")>-1,huawei:!!e.match(/huawei/i)||!!e.match(/honor/i),xiaomi:!!e.match(/mi\s/i)||!!e.match(/redmi/i)||!!e.match(/mix/i)}})),getRandomKey=exports("j",(()=>""+Date.now()+Math.floor(1e6*Math.random()))),AuthorizationKey="AUTHORIZATION",setToken=exports("s",(e=>{sessionStorage.setItem(AuthorizationKey,e)})),getToken=exports("aP",(()=>sessionStorage.getItem(AuthorizationKey)||"")),setGlobalData=exports("ac",((e,t)=>{if(!e||!t)return;const n=window.GYM||{};n[e]=t,window.GYM=n})),BEHAVIORIDKEY="BEHAVIORID",setBehaviorId=exports("a",(e=>{localStorage.setItem(BEHAVIORIDKEY,e)})),getBehaviorId=exports("a0",(()=>localStorage.getItem(BEHAVIORIDKEY))),campIdKey="CAMPID",setCampId=exports("b",(e=>{sessionStorage.setItem(campIdKey,e)})),getCampId=exports("a1",(()=>sessionStorage.getItem(campIdKey)||"")),getSecondRPM=exports("aa",((e,t)=>{if(isNaN(e))return"00:00";let n=Math.floor(e/60/60%24),i=Math.floor(e/60%60),r=Math.floor(e%60);return"cn"===t?`${n>0?n.toString().padStart(2,"0")+"时":""}${i.toString().padStart(2,"0")}分${r.toString().padStart(2,"0")}秒`:`${n>0?n.toString().padStart(2,"0")+":":""}${i.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`})),SPEEDKEY="speeds",setStorageSpeed=(e,t)=>{const n=store_legacy.get(SPEEDKEY)||{};n[e]=t,store_legacy.set(SPEEDKEY,n)},getStorageSpeed=exports("ar",(e=>(store_legacy.get(SPEEDKEY)||{})[e]||0)),matchProductApiUrl=()=>{const e=getQuery(),t={cbs:{dev:"https://dev.resource.colexiu.com",test:"https://test.resource.colexiu.com",online:"https://mec.colexiu.com"},gym:{dev:"https://dev.dayaedu.com",test:"https://test.dayaedu.com",online:"https://online.dayaedu.com"},colexiu:{dev:"https://dev.colexiu.com/",test:"https://test.colexiu.com",online:"https://online.colexiu.com"},orchestra:{dev:"https://dev.lexiaoya.cn",test:"https://test.lexiaoya.cn",online:"https://online.lexiaoya.cn"},instrument:{dev:"https://dev.kt.colexiu.com",test:"https://test.kt.colexiu.com",test2:"https://test.lexiaoya.cn",online:"https://kt.colexiu.com"}};let n=location.origin.includes("//dev")?"dev":location.origin.includes("//test")?"test":location.origin.includes("//online")||location.origin.includes("//kt")||location.origin.includes("//mec")?"online":"dev";if(e.isCbs)return t.cbs[n]+"/cbs-app";{const e=location.pathname.includes("gym")?"gym":location.pathname.includes("colexiu")?"colexiu":location.pathname.includes("orchestra")?"orchestra":"instrument";return"instrument"===e&&"test"===n&&(n=location.origin.includes("//test.kt")?"test":"test2"),t[e][n]+"/edu-app"}},debounce=exports("a$",((e,t=0)=>{let n;return function(...i){clearTimeout(n),n=setTimeout((()=>e.apply(this,i)),t)}})),originalPostMessage=window.postMessage;window.postMessage=e=>{originalPostMessage(e,"*")};const loop=()=>{},calls={},instance=window.DAYA||(null===(_window$webkit=window.webkit)||void 0===_window$webkit||null===(_window$webkit$messag=_window$webkit.messageHandlers)||void 0===_window$webkit$messag?void 0:_window$webkit$messag.DAYA)||window.COLEXIU||(null===(_window$webkit2=window.webkit)||void 0===_window$webkit2||null===(_window$webkit2$messa=_window$webkit2.messageHandlers)||void 0===_window$webkit2$messa?void 0:_window$webkit2$messa.COLEXIU)||window.ORCHESTRA||(null===(_window$webkit3=window.webkit)||void 0===_window$webkit3||null===(_window$webkit3$messa=_window$webkit3.messageHandlers)||void 0===_window$webkit3$messa?void 0:_window$webkit3$messa.ORCHESTRA);instance&&window.addEventListener("message",(e=>{try{var t,n;const r=e.data?"object"==typeof e.data?e.data:JSON.parse(e.data):{},o=(null===(t=r.content)||void 0===t?void 0:t.uuid)||r.uuid;try{r.content&&(r.content=JSON.parse(r.content))}catch(i){}if(!o){const e=Object.keys(calls).filter((e=>0===e.indexOf(r.api)));for(const t of e){const e=calls[t]||loop;"function"==typeof e&&e(r),Array.isArray(e)&&e.forEach((e=>{"function"==typeof e&&e(r)}))}return}const s=(null===(n=r.content)||void 0===n?void 0:n.uuid)||r.uuid||r.api+r.uuid,a=calls[s]||loop;"function"==typeof a&&a(r)}catch(i){console.error("通信消息解析错误",i)}}));const postMessage=exports("X",((e,t)=>{if(instance){const n=getRandomKey();calls[n]=t||loop,e.content=e.content?{...e.content,uuid:n}:{uuid:n},instance.postMessage(JSON.stringify(e)),console.log("h5_请求_api:",e)}})),listenerMessage=(e,t)=>{const n=e;calls[n]||(calls[n]=[]),calls[n].push(t||loop)},removeListenerMessage=(e,t)=>{const n=e;if(Array.isArray(calls[n])){const e=calls[n].indexOf(t);calls[n].splice(e,1)}},promisefiyPostMessage=exports("aN",(e=>new Promise((t=>{postMessage(e,(e=>t(e)))})))),api_getToken=exports("aZ",(()=>storeData.isApp?promisefiyPostMessage({api:"getToken"}):Promise.resolve({}))),getEarphone=exports("cY",(()=>storeData.isApp?promisefiyPostMessage({api:"isWiredHeadsetOn"}):Promise.resolve({}))),isSpecialShapedScreen=exports("al",(()=>storeData.isApp?promisefiyPostMessage({api:"isSpecialShapedScreen"}):Promise.resolve({}))),sendResult=exports("cT",(e=>{listenerMessage("sendResult",e)})),removeResult=exports("cV",(e=>{removeListenerMessage("sendResult",e)})),endSoundCheck=()=>{postMessage({api:"endSoundCheck"})},startEvaluating=e=>storeData.isApp?promisefiyPostMessage({api:"startEvaluating",content:e}):Promise.resolve({}),endEvaluating=e=>storeData.isApp?promisefiyPostMessage({api:"endEvaluating",content:e}):Promise.resolve({}),cancelEvaluating=()=>{postMessage({api:"cancelEvaluating"})},api_startRecordingCb=(e,t)=>{postMessage({api:"startRecording",content:e},t)},api_proxyServiceMessage=exports("E",(e=>storeData.isApp?promisefiyPostMessage({api:"proxyServiceMessage",content:e}):Promise.resolve({}))),api_recordStartTime=e=>{listenerMessage("recordStartTime",e)},api_remove_recordStartTime=e=>{removeListenerMessage("recordStartTime",e)},api_videoUpdate=exports("D",(e=>{postMessage({api:"videoUpdate"},e)})),api_shareAchievements=exports("u",(e=>storeData.isApp?promisefiyPostMessage({api:"shareAchievements",content:e}):Promise.resolve({}))),api_openWebView=exports("aT",(e=>storeData.isApp?promisefiyPostMessage({api:"openWebView",content:e}):Promise.resolve({}))),api_openCamera=exports("M",(()=>storeData.isApp?promisefiyPostMessage({api:"openCamera"}):Promise.resolve({}))),api_closeCamera=exports("O",(()=>storeData.isApp?promisefiyPostMessage({api:"closeCamera"}):Promise.resolve({}))),api_setStatusBarVisibility=exports("ad",(()=>{postMessage({api:"setStatusBarVisibility",content:{isVisibility:0}})})),api_cloudToggleFollow=e=>storeData.isApp?promisefiyPostMessage({api:"cloudToggleFollow",content:{state:e}}):Promise.resolve({}),api_cloudFollowTime=(e,t=!0)=>{t?listenerMessage("cloudFollowTime",e):removeListenerMessage("cloudFollowTime",e)},api_goback=exports("b4",(()=>{postMessage({api:"goBack"})})),api_back=exports("a8",(()=>{postMessage({api:"back"})})),api_cloudLoading=exports("at",((e=!1)=>{postMessage({api:"cloudLoading",content:{show:e,type:"fullscreen"}})})),api_cloudDestroy=exports("W",(()=>{postMessage({api:"cloudDestroy"})})),api_setEventTracking=exports("aJ",(()=>{postMessage({api:"setEventTracking",content:{type:"klx_xiaokuAI"}})})),api_savePicture=exports("aB",(e=>storeData.isApp?promisefiyPostMessage({api:"savePicture",content:e}):Promise.resolve({}))),api_setCache=exports("aO",(e=>{postMessage({api:"setCache",content:e})})),api_suspendPlay=exports("aQ",(e=>{listenerMessage("suspendPlay",e)})),api_startCapture=()=>{postMessage({api:"startCapture"})},api_endCapture=()=>{postMessage({api:"endCapture"})},api_getDeviceDelay=exports("bc",(()=>storeData.isApp?promisefiyPostMessage({api:"getDeviceDelay"}):Promise.resolve({}))),api_toggleTune=exports("cX",((e,t)=>storeData.isApp?"start"===e?promisefiyPostMessage({api:"startTune",content:{count:t+""}}):"stop"===e?promisefiyPostMessage({api:"endTune"}):"finishTune"===e?promisefiyPostMessage({api:"finishTune"}):void 0:Promise.resolve({}))),api_createMusicPlayer=e=>storeData.isApp?promisefiyPostMessage({api:"createMusicPlayer",content:e}):Promise.resolve({}),api_keepScreenLongLight=exports("bm",(()=>{postMessage({api:"keepScreenLongLight",content:{isOpenLight:!0}})})),api_setRequestedOrientation=exports("bs",(e=>{postMessage({api:"setRequestedOrientation",content:{orientation:e}})})),api_playProgress=e=>{listenerMessage("playProgress",e)},api_openAdjustRecording=exports("bf",(e=>{postMessage({api:"openAdjustRecording",content:e})})),hideComplexButton=(e,t)=>{t?listenerMessage("hideComplexButton",e):removeListenerMessage("hideComplexButton",e)},addCheckPlayEnd=exports("cU",(e=>{listenerMessage("checkPlayEnd",e)})),removeCheckPlayEnd=exports("cW",(e=>{removeListenerMessage("checkPlayEnd",e)})),api_checkSocketStatus=()=>promisefiyPostMessage({api:"checkSocketStatus"}),addAccompanyError=e=>{listenerMessage("accompanyError",e)},removeAccompanyError=e=>{removeListenerMessage("accompanyError",e)},addSocketStatus=e=>{listenerMessage("socketConnectSuccessReport",e)},removeSocketStatus=e=>{removeListenerMessage("socketConnectSuccessReport",e)},api_disconnectSocket=()=>promisefiyPostMessage({api:"disconnectSocket"}),api_cloudDetail=(e,t)=>{postMessage({api:"cloudDetail",content:e},t)},api_cloudGetMediaStatus=()=>promisefiyPostMessage({api:"cloudGetMediaStatus"}),api_cloudPlay=e=>{promisefiyPostMessage({api:"cloudPlay",content:e})},api_cloudSuspend=e=>{promisefiyPostMessage({api:"cloudSuspend",content:e})},api_cloudSetCurrentTime=e=>{promisefiyPostMessage({api:"cloudSetCurrentTime",content:e})},api_cloudChangeSpeed=e=>{promisefiyPostMessage({api:"cloudChangeSpeed",content:e})},api_cloudVolume=e=>{promisefiyPostMessage({api:"cloudVolume",content:e})},api_cloudTimeUpdae=e=>{listenerMessage("cloudTimeUpdae",e)},api_remove_cloudTimeUpdae=e=>{removeListenerMessage("cloudTimeUpdae",e)},api_cloudplayed=e=>{listenerMessage("cloudplayed",e)},api_remove_cloudplayed=e=>{removeListenerMessage("cloudplayed",e)},api_midiMicDelay=e=>{postMessage({api:"proxyServiceMessage",content:e})},TheError=exports("T",defineComponent({name:"The-error",setup:(e,t)=>()=>createVNode("div",null,[createVNode(NavBar,{leftArrow:!0,onClickLeft:()=>{api_back()}},null),createVNode(Empty,{image:"error",description:"网络开小差,请稍后重试"},{default:()=>[createVNode(Button$1,{type:"primary",size:"small",onClick:()=>history.go(0)},{default:()=>[createTextVNode("重新加载")]})]})])}));var shams=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0},origSymbol="undefined"!=typeof Symbol&&Symbol,hasSymbolSham=shams,hasSymbols$1=function(){return"function"==typeof origSymbol&&("function"==typeof Symbol&&("symbol"==typeof origSymbol("foo")&&("symbol"==typeof Symbol("bar")&&hasSymbolSham())))},ERROR_MESSAGE="Function.prototype.bind called on incompatible ",slice$1=Array.prototype.slice,toStr$1=Object.prototype.toString,funcType="[object Function]",implementation$1=function(e){var t=this;if("function"!=typeof t||toStr$1.call(t)!==funcType)throw new TypeError(ERROR_MESSAGE+t);for(var n,i=slice$1.call(arguments,1),r=Math.max(0,t.length-i.length),o=[],s=0;s<r;s++)o.push("$"+s);if(n=Function("binder","return function ("+o.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof n){var r=t.apply(this,i.concat(slice$1.call(arguments)));return Object(r)===r?r:this}return t.apply(e,i.concat(slice$1.call(arguments)))})),t.prototype){var a=function(){};a.prototype=t.prototype,n.prototype=new a,a.prototype=null}return n},implementation=implementation$1,functionBind=Function.prototype.bind||implementation,bind$1=functionBind,src$1=bind$1.call(Function.call,Object.prototype.hasOwnProperty),undefined$1,$SyntaxError=SyntaxError,$Function=Function,$TypeError$1=TypeError,getEvalledConstructor=function(e){try{return $Function('"use strict"; return ('+e+").constructor;")()}catch(t){}},$gOPD=Object.getOwnPropertyDescriptor;if($gOPD)try{$gOPD({},"")}catch(e){$gOPD=null}var throwTypeError=function(){throw new $TypeError$1},ThrowTypeError=$gOPD?function(){try{return throwTypeError}catch(e){try{return $gOPD(arguments,"callee").get}catch(t){return throwTypeError}}}():throwTypeError,hasSymbols=hasSymbols$1(),getProto=Object.getPrototypeOf||function(e){return e.__proto__},needsEval={},TypedArray="undefined"==typeof Uint8Array?undefined$1:getProto(Uint8Array),INTRINSICS={"%AggregateError%":"undefined"==typeof AggregateError?undefined$1:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?undefined$1:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols?getProto([][Symbol.iterator]()):undefined$1,"%AsyncFromSyncIteratorPrototype%":undefined$1,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":"undefined"==typeof Atomics?undefined$1:Atomics,"%BigInt%":"undefined"==typeof BigInt?undefined$1:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?undefined$1:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?undefined$1:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?undefined$1:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?undefined$1:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?undefined$1:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?undefined$1:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":"undefined"==typeof Int8Array?undefined$1:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?undefined$1:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?undefined$1:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols?getProto(getProto([][Symbol.iterator]())):undefined$1,"%JSON%":"object"==typeof JSON?JSON:undefined$1,"%Map%":"undefined"==typeof Map?undefined$1:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&hasSymbols?getProto((new Map)[Symbol.iterator]()):undefined$1,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?undefined$1:Promise,"%Proxy%":"undefined"==typeof Proxy?undefined$1:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?undefined$1:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?undefined$1:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&hasSymbols?getProto((new Set)[Symbol.iterator]()):undefined$1,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?undefined$1:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols?getProto(""[Symbol.iterator]()):undefined$1,"%Symbol%":hasSymbols?Symbol:undefined$1,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError$1,"%Uint8Array%":"undefined"==typeof Uint8Array?undefined$1:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?undefined$1:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?undefined$1:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?undefined$1:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?undefined$1:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?undefined$1:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?undefined$1:WeakSet};try{null.error}catch(e){var errorProto=getProto(getProto(e));INTRINSICS["%Error.prototype%"]=errorProto}var doEval=function e(t){var n;if("%AsyncFunction%"===t)n=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===t)n=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===t){var i=e("%AsyncGeneratorFunction%");i&&(n=i.prototype)}else if("%AsyncIteratorPrototype%"===t){var r=e("%AsyncGenerator%");r&&(n=getProto(r.prototype))}return INTRINSICS[t]=n,n},LEGACY_ALIASES={"%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"]},bind=functionBind,hasOwn$1=src$1,$concat$1=bind.call(Function.call,Array.prototype.concat),$spliceApply=bind.call(Function.apply,Array.prototype.splice),$replace$1=bind.call(Function.call,String.prototype.replace),$strSlice=bind.call(Function.call,String.prototype.slice),$exec=bind.call(Function.call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=function(e){var t=$strSlice(e,0,1),n=$strSlice(e,-1);if("%"===t&&"%"!==n)throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var i=[];return $replace$1(e,rePropName,(function(e,t,n,r){i[i.length]=n?$replace$1(r,reEscapeChar,"$1"):t||e})),i},getBaseIntrinsic=function(e,t){var n,i=e;if(hasOwn$1(LEGACY_ALIASES,i)&&(i="%"+(n=LEGACY_ALIASES[i])[0]+"%"),hasOwn$1(INTRINSICS,i)){var r=INTRINSICS[i];if(r===needsEval&&(r=doEval(i)),void 0===r&&!t)throw new $TypeError$1("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:r}}throw new $SyntaxError("intrinsic "+e+" does not exist!")},getIntrinsic=function(e,t){if("string"!=typeof e||0===e.length)throw new $TypeError$1("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new $TypeError$1('"allowMissing" argument must be a boolean');if(null===$exec(/^%?[^%]*%?$/,e))throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=stringToPath(e),i=n.length>0?n[0]:"",r=getBaseIntrinsic("%"+i+"%",t),o=r.name,s=r.value,a=!1,l=r.alias;l&&(i=l[0],$spliceApply(n,$concat$1([0,1],l)));for(var c=1,u=!0;c<n.length;c+=1){var h=n[c],d=$strSlice(h,0,1),p=$strSlice(h,-1);if(('"'===d||"'"===d||"`"===d||'"'===p||"'"===p||"`"===p)&&d!==p)throw new $SyntaxError("property names with quotes must have matching quotes");if("constructor"!==h&&u||(a=!0),hasOwn$1(INTRINSICS,o="%"+(i+="."+h)+"%"))s=INTRINSICS[o];else if(null!=s){if(!(h in s)){if(!t)throw new $TypeError$1("base intrinsic for "+e+" exists, but the property is not available.");return}if($gOPD&&c+1>=n.length){var f=$gOPD(s,h);s=(u=!!f)&&"get"in f&&!("originalValue"in f.get)?f.get:s[h]}else u=hasOwn$1(s,h),s=s[h];u&&!a&&(INTRINSICS[o]=s)}}return s},callBindExports={},callBind$1={get exports(){return callBindExports},set exports(e){callBindExports=e}};!function(t){var n=functionBind,i=getIntrinsic,r=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(o,r),a=i("%Object.getOwnPropertyDescriptor%",!0),l=i("%Object.defineProperty%",!0),c=i("%Math.max%");if(l)try{l({},"a",{value:1})}catch(e){l=null}t.exports=function(e){var t=s(n,o,arguments);a&&l&&(a(t,"length").configurable&&l(t,"length",{value:1+c(0,e.length-(arguments.length-1))}));return t};var u=function(){return s(n,r,arguments)};l?l(t.exports,"apply",{value:u}):t.exports.apply=u}(callBind$1);var GetIntrinsic$1=getIntrinsic,callBind=callBindExports,$indexOf=callBind(GetIntrinsic$1("String.prototype.indexOf")),callBound$1=function(e,t){var n=GetIntrinsic$1(e,!!t);return"function"==typeof n&&$indexOf(e,".prototype.")>-1?callBind(n):n};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0$1=getAugmentedNamespace(__viteBrowserExternal$1);var hasMap="function"==typeof Map&&Map.prototype,mapSizeDescriptor=Object.getOwnPropertyDescriptor&&hasMap?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,mapSize=hasMap&&mapSizeDescriptor&&"function"==typeof mapSizeDescriptor.get?mapSizeDescriptor.get:null,mapForEach=hasMap&&Map.prototype.forEach,hasSet="function"==typeof Set&&Set.prototype,setSizeDescriptor=Object.getOwnPropertyDescriptor&&hasSet?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,setSize=hasSet&&setSizeDescriptor&&"function"==typeof setSizeDescriptor.get?setSizeDescriptor.get:null,setForEach=hasSet&&Set.prototype.forEach,hasWeakMap="function"==typeof WeakMap&&WeakMap.prototype,weakMapHas=hasWeakMap?WeakMap.prototype.has:null,hasWeakSet="function"==typeof WeakSet&&WeakSet.prototype,weakSetHas=hasWeakSet?WeakSet.prototype.has:null,hasWeakRef="function"==typeof WeakRef&&WeakRef.prototype,weakRefDeref=hasWeakRef?WeakRef.prototype.deref:null,booleanValueOf=Boolean.prototype.valueOf,objectToString$2=Object.prototype.toString,functionToString=Function.prototype.toString,$match=String.prototype.match,$slice=String.prototype.slice,$replace=String.prototype.replace,$toUpperCase=String.prototype.toUpperCase,$toLowerCase=String.prototype.toLowerCase,$test=RegExp.prototype.test,$concat=Array.prototype.concat,$join=Array.prototype.join,$arrSlice=Array.prototype.slice,$floor=Math.floor,bigIntValueOf="function"==typeof BigInt?BigInt.prototype.valueOf:null,gOPS=Object.getOwnPropertySymbols,symToString="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,hasShammedSymbols="function"==typeof Symbol&&"object"==typeof Symbol.iterator,toStringTag="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===hasShammedSymbols||"symbol")?Symbol.toStringTag:null,isEnumerable=Object.prototype.propertyIsEnumerable,gPO=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function addNumericSeparator(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||$test.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var i=e<0?-$floor(-e):$floor(e);if(i!==e){var r=String(i),o=$slice.call(t,r.length+1);return $replace.call(r,n,"$&_")+"."+$replace.call($replace.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return $replace.call(t,n,"$&_")}var utilInspect=require$$0$1,inspectCustom=utilInspect.custom,inspectSymbol=isSymbol(inspectCustom)?inspectCustom:null,objectInspect=function e(t,n,i,r){var o=n||{};if(has$3(o,"quoteStyle")&&"single"!==o.quoteStyle&&"double"!==o.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has$3(o,"maxStringLength")&&("number"==typeof o.maxStringLength?o.maxStringLength<0&&o.maxStringLength!==1/0:null!==o.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var s=!has$3(o,"customInspect")||o.customInspect;if("boolean"!=typeof s&&"symbol"!==s)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has$3(o,"indent")&&null!==o.indent&&"\t"!==o.indent&&!(parseInt(o.indent,10)===o.indent&&o.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has$3(o,"numericSeparator")&&"boolean"!=typeof o.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var a=o.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return inspectString(t,o);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var l=String(t);return a?addNumericSeparator(t,l):l}if("bigint"==typeof t){var c=String(t)+"n";return a?addNumericSeparator(t,c):c}var u=void 0===o.depth?5:o.depth;if(void 0===i&&(i=0),i>=u&&u>0&&"object"==typeof t)return isArray$7(t)?"[Array]":"[Object]";var h=getIndent(o,i);if(void 0===r)r=[];else if(indexOf$2(r,t)>=0)return"[Circular]";function d(t,n,s){if(n&&(r=$arrSlice.call(r)).push(n),s){var a={depth:o.depth};return has$3(o,"quoteStyle")&&(a.quoteStyle=o.quoteStyle),e(t,a,i+1,r)}return e(t,o,i+1,r)}if("function"==typeof t&&!isRegExp$1(t)){var p=nameOf(t),f=arrObjKeys(t,d);return"[Function"+(p?": "+p:" (anonymous)")+"]"+(f.length>0?" { "+$join.call(f,", ")+" }":"")}if(isSymbol(t)){var m=hasShammedSymbols?$replace.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):symToString.call(t);return"object"!=typeof t||hasShammedSymbols?m:markBoxed(m)}if(isElement(t)){for(var g="<"+$toLowerCase.call(String(t.nodeName)),v=t.attributes||[],b=0;b<v.length;b++)g+=" "+v[b].name+"="+wrapQuotes(quote(v[b].value),"double",o);return g+=">",t.childNodes&&t.childNodes.length&&(g+="..."),g+="</"+$toLowerCase.call(String(t.nodeName))+">"}if(isArray$7(t)){if(0===t.length)return"[]";var y=arrObjKeys(t,d);return h&&!singleLineValues(y)?"["+indentedJoin(y,h)+"]":"[ "+$join.call(y,", ")+" ]"}if(isError(t)){var A=arrObjKeys(t,d);return"cause"in Error.prototype||!("cause"in t)||isEnumerable.call(t,"cause")?0===A.length?"["+String(t)+"]":"{ ["+String(t)+"] "+$join.call(A,", ")+" }":"{ ["+String(t)+"] "+$join.call($concat.call("[cause]: "+d(t.cause),A),", ")+" }"}if("object"==typeof t&&s){if(inspectSymbol&&"function"==typeof t[inspectSymbol]&&utilInspect)return utilInspect(t,{depth:u-i});if("symbol"!==s&&"function"==typeof t.inspect)return t.inspect()}if(isMap$2(t)){var S=[];return mapForEach&&mapForEach.call(t,(function(e,n){S.push(d(n,t,!0)+" => "+d(e,t))})),collectionOf("Map",mapSize.call(t),S,h)}if(isSet$2(t)){var x=[];return setForEach&&setForEach.call(t,(function(e){x.push(d(e,t))})),collectionOf("Set",setSize.call(t),x,h)}if(isWeakMap(t))return weakCollectionOf("WeakMap");if(isWeakSet(t))return weakCollectionOf("WeakSet");if(isWeakRef(t))return weakCollectionOf("WeakRef");if(isNumber$1(t))return markBoxed(d(Number(t)));if(isBigInt(t))return markBoxed(d(bigIntValueOf.call(t)));if(isBoolean$1(t))return markBoxed(booleanValueOf.call(t));if(isString$1(t))return markBoxed(d(String(t)));if(!isDate$1(t)&&!isRegExp$1(t)){var E=arrObjKeys(t,d),w=gPO?gPO(t)===Object.prototype:t instanceof Object||t.constructor===Object,_=t instanceof Object?"":"null prototype",M=!w&&toStringTag&&Object(t)===t&&toStringTag in t?$slice.call(toStr(t),8,-1):_?"Object":"",P=(w||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(M||_?"["+$join.call($concat.call([],M||[],_||[]),": ")+"] ":"");return 0===E.length?P+"{}":h?P+"{"+indentedJoin(E,h)+"}":P+"{ "+$join.call(E,", ")+" }"}return String(t)};function wrapQuotes(e,t,n){var i="double"===(n.quoteStyle||t)?'"':"'";return i+e+i}function quote(e){return $replace.call(String(e),/"/g,"&quot;")}function isArray$7(e){return!("[object Array]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isDate$1(e){return!("[object Date]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isRegExp$1(e){return!("[object RegExp]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isError(e){return!("[object Error]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isString$1(e){return!("[object String]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isNumber$1(e){return!("[object Number]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isBoolean$1(e){return!("[object Boolean]"!==toStr(e)||toStringTag&&"object"==typeof e&&toStringTag in e)}function isSymbol(t){if(hasShammedSymbols)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!symToString)return!1;try{return symToString.call(t),!0}catch(e){}return!1}function isBigInt(t){if(!t||"object"!=typeof t||!bigIntValueOf)return!1;try{return bigIntValueOf.call(t),!0}catch(e){}return!1}var hasOwn=Object.prototype.hasOwnProperty||function(e){return e in this};function has$3(e,t){return hasOwn.call(e,t)}function toStr(e){return objectToString$2.call(e)}function nameOf(e){if(e.name)return e.name;var t=$match.call(functionToString.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function indexOf$2(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}function isMap$2(t){if(!mapSize||!t||"object"!=typeof t)return!1;try{mapSize.call(t);try{setSize.call(t)}catch(n){return!0}return t instanceof Map}catch(e){}return!1}function isWeakMap(t){if(!weakMapHas||!t||"object"!=typeof t)return!1;try{weakMapHas.call(t,weakMapHas);try{weakSetHas.call(t,weakSetHas)}catch(n){return!0}return t instanceof WeakMap}catch(e){}return!1}function isWeakRef(t){if(!weakRefDeref||!t||"object"!=typeof t)return!1;try{return weakRefDeref.call(t),!0}catch(e){}return!1}function isSet$2(t){if(!setSize||!t||"object"!=typeof t)return!1;try{setSize.call(t);try{mapSize.call(t)}catch(n){return!0}return t instanceof Set}catch(e){}return!1}function isWeakSet(t){if(!weakSetHas||!t||"object"!=typeof t)return!1;try{weakSetHas.call(t,weakSetHas);try{weakMapHas.call(t,weakMapHas)}catch(n){return!0}return t instanceof WeakSet}catch(e){}return!1}function isElement(e){return!(!e||"object"!=typeof e)&&("undefined"!=typeof HTMLElement&&e instanceof HTMLElement||"string"==typeof e.nodeName&&"function"==typeof e.getAttribute)}function inspectString(e,t){if(e.length>t.maxStringLength){var n=e.length-t.maxStringLength,i="... "+n+" more character"+(n>1?"s":"");return inspectString($slice.call(e,0,t.maxStringLength),t)+i}return wrapQuotes($replace.call($replace.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",t)}function lowbyte(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+$toUpperCase.call(t.toString(16))}function markBoxed(e){return"Object("+e+")"}function weakCollectionOf(e){return e+" { ? }"}function collectionOf(e,t,n,i){return e+" ("+t+") {"+(i?indentedJoin(n,i):$join.call(n,", "))+"}"}function singleLineValues(e){for(var t=0;t<e.length;t++)if(indexOf$2(e[t],"\n")>=0)return!1;return!0}function getIndent(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;n=$join.call(Array(e.indent+1)," ")}return{base:n,prev:$join.call(Array(t+1),n)}}function indentedJoin(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+$join.call(e,","+n)+"\n"+t.prev}function arrObjKeys(e,t){var n=isArray$7(e),i=[];if(n){i.length=e.length;for(var r=0;r<e.length;r++)i[r]=has$3(e,r)?t(e[r],e):""}var o,s="function"==typeof gOPS?gOPS(e):[];if(hasShammedSymbols){o={};for(var a=0;a<s.length;a++)o["$"+s[a]]=s[a]}for(var l in e)has$3(e,l)&&(n&&String(Number(l))===l&&l<e.length||hasShammedSymbols&&o["$"+l]instanceof Symbol||($test.call(/[^\w$]/,l)?i.push(t(l,e)+": "+t(e[l],e)):i.push(l+": "+t(e[l],e))));if("function"==typeof gOPS)for(var c=0;c<s.length;c++)isEnumerable.call(e,s[c])&&i.push("["+t(s[c])+"]: "+t(e[s[c]],e));return i}var GetIntrinsic=getIntrinsic,callBound=callBound$1,inspect=objectInspect,$TypeError=GetIntrinsic("%TypeError%"),$WeakMap=GetIntrinsic("%WeakMap%",!0),$Map=GetIntrinsic("%Map%",!0),$weakMapGet=callBound("WeakMap.prototype.get",!0),$weakMapSet=callBound("WeakMap.prototype.set",!0),$weakMapHas=callBound("WeakMap.prototype.has",!0),$mapGet=callBound("Map.prototype.get",!0),$mapSet=callBound("Map.prototype.set",!0),$mapHas=callBound("Map.prototype.has",!0),listGetNode=function(e,t){for(var n,i=e;null!==(n=i.next);i=n)if(n.key===t)return i.next=n.next,n.next=e.next,e.next=n,n},listGet=function(e,t){var n=listGetNode(e,t);return n&&n.value},listSet=function(e,t,n){var i=listGetNode(e,t);i?i.value=n:e.next={key:t,next:e.next,value:n}},listHas=function(e,t){return!!listGetNode(e,t)},sideChannel=function(){var e,t,n,i={assert:function(e){if(!i.has(e))throw new $TypeError("Side channel does not contain "+inspect(e))},get:function(i){if($WeakMap&&i&&("object"==typeof i||"function"==typeof i)){if(e)return $weakMapGet(e,i)}else if($Map){if(t)return $mapGet(t,i)}else if(n)return listGet(n,i)},has:function(i){if($WeakMap&&i&&("object"==typeof i||"function"==typeof i)){if(e)return $weakMapHas(e,i)}else if($Map){if(t)return $mapHas(t,i)}else if(n)return listHas(n,i);return!1},set:function(i,r){$WeakMap&&i&&("object"==typeof i||"function"==typeof i)?(e||(e=new $WeakMap),$weakMapSet(e,i,r)):$Map?(t||(t=new $Map),$mapSet(t,i,r)):(n||(n={key:{},next:null}),listSet(n,i,r))}};return i},replace=String.prototype.replace,percentTwenties=/%20/g,Format={RFC1738:"RFC1738",RFC3986:"RFC3986"},formats$3={default:Format.RFC3986,formatters:{RFC1738:function(e){return replace.call(e,percentTwenties,"+")},RFC3986:function(e){return String(e)}},RFC1738:Format.RFC1738,RFC3986:Format.RFC3986},formats$2=formats$3,has$2=Object.prototype.hasOwnProperty,isArray$6=Array.isArray,hexTable=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),compactQueue=function(e){for(;e.length>1;){var t=e.pop(),n=t.obj[t.prop];if(isArray$6(n)){for(var i=[],r=0;r<n.length;++r)void 0!==n[r]&&i.push(n[r]);t.obj[t.prop]=i}}},arrayToObject=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},i=0;i<e.length;++i)void 0!==e[i]&&(n[i]=e[i]);return n},merge=function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(isArray$6(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(i&&(i.plainObjects||i.allowPrototypes)||!has$2.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var r=t;return isArray$6(t)&&!isArray$6(n)&&(r=arrayToObject(t,i)),isArray$6(t)&&isArray$6(n)?(n.forEach((function(n,r){if(has$2.call(t,r)){var o=t[r];o&&"object"==typeof o&&n&&"object"==typeof n?t[r]=e(o,n,i):t.push(n)}else t[r]=n})),t):Object.keys(n).reduce((function(t,r){var o=n[r];return has$2.call(t,r)?t[r]=e(t[r],o,i):t[r]=o,t}),r)},assign=function(e,t){return Object.keys(t).reduce((function(e,n){return e[n]=t[n],e}),e)},decode$2=function(t,n,i){var r=t.replace(/\+/g," ");if("iso-8859-1"===i)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(e){return r}},encode=function(e,t,n,i,r){if(0===e.length)return e;var o=e;if("symbol"==typeof e?o=Symbol.prototype.toString.call(e):"string"!=typeof e&&(o=String(e)),"iso-8859-1"===n)return escape(o).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var s="",a=0;a<o.length;++a){var l=o.charCodeAt(a);45===l||46===l||95===l||126===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||r===formats$2.RFC1738&&(40===l||41===l)?s+=o.charAt(a):l<128?s+=hexTable[l]:l<2048?s+=hexTable[192|l>>6]+hexTable[128|63&l]:l<55296||l>=57344?s+=hexTable[224|l>>12]+hexTable[128|l>>6&63]+hexTable[128|63&l]:(a+=1,l=65536+((1023&l)<<10|1023&o.charCodeAt(a)),s+=hexTable[240|l>>18]+hexTable[128|l>>12&63]+hexTable[128|l>>6&63]+hexTable[128|63&l])}return s},compact=function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],i=0;i<t.length;++i)for(var r=t[i],o=r.obj[r.prop],s=Object.keys(o),a=0;a<s.length;++a){var l=s[a],c=o[l];"object"==typeof c&&null!==c&&-1===n.indexOf(c)&&(t.push({obj:o,prop:l}),n.push(c))}return compactQueue(t),e},isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},isBuffer$2=function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},combine=function(e,t){return[].concat(e,t)},maybeMap=function(e,t){if(isArray$6(e)){for(var n=[],i=0;i<e.length;i+=1)n.push(t(e[i]));return n}return t(e)},utils$3={arrayToObject:arrayToObject,assign:assign,combine:combine,compact:compact,decode:decode$2,encode:encode,isBuffer:isBuffer$2,isRegExp:isRegExp,maybeMap:maybeMap,merge:merge},getSideChannel=sideChannel,utils$2=utils$3,formats$1=formats$3,has$1=Object.prototype.hasOwnProperty,arrayPrefixGenerators={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},isArray$5=Array.isArray,push=Array.prototype.push,pushToArray=function(e,t){push.apply(e,isArray$5(t)?t:[t])},toISO=Date.prototype.toISOString,defaultFormat=formats$1.default,defaults$1={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:utils$2.encode,encodeValuesOnly:!1,format:defaultFormat,formatter:formats$1.formatters[defaultFormat],indices:!1,serializeDate:function(e){return toISO.call(e)},skipNulls:!1,strictNullHandling:!1},isNonNullishPrimitive=function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||"symbol"==typeof e||"bigint"==typeof e},sentinel={},stringify$1=function e(t,n,i,r,o,s,a,l,c,u,h,d,p,f,m,g){for(var v=t,b=g,y=0,A=!1;void 0!==(b=b.get(sentinel))&&!A;){var S=b.get(t);if(y+=1,void 0!==S){if(S===y)throw new RangeError("Cyclic object value");A=!0}void 0===b.get(sentinel)&&(y=0)}if("function"==typeof l?v=l(n,v):v instanceof Date?v=h(v):"comma"===i&&isArray$5(v)&&(v=utils$2.maybeMap(v,(function(e){return e instanceof Date?h(e):e}))),null===v){if(o)return a&&!f?a(n,defaults$1.encoder,m,"key",d):n;v=""}if(isNonNullishPrimitive(v)||utils$2.isBuffer(v))return a?[p(f?n:a(n,defaults$1.encoder,m,"key",d))+"="+p(a(v,defaults$1.encoder,m,"value",d))]:[p(n)+"="+p(String(v))];var x,E=[];if(void 0===v)return E;if("comma"===i&&isArray$5(v))f&&a&&(v=utils$2.maybeMap(v,a)),x=[{value:v.length>0?v.join(",")||null:void 0}];else if(isArray$5(l))x=l;else{var w=Object.keys(v);x=c?w.sort(c):w}for(var _=r&&isArray$5(v)&&1===v.length?n+"[]":n,M=0;M<x.length;++M){var P=x[M],T="object"==typeof P&&void 0!==P.value?P.value:v[P];if(!s||null!==T){var C=isArray$5(v)?"function"==typeof i?i(_,P):_:_+(u?"."+P:"["+P+"]");g.set(t,y);var I=getSideChannel();I.set(sentinel,g),pushToArray(E,e(T,C,i,r,o,s,"comma"===i&&f&&isArray$5(v)?null:a,l,c,u,h,d,p,f,m,I))}}return E},normalizeStringifyOptions=function(e){if(!e)return defaults$1;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||defaults$1.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=formats$1.default;if(void 0!==e.format){if(!has$1.call(formats$1.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var i=formats$1.formatters[n],r=defaults$1.filter;return("function"==typeof e.filter||isArray$5(e.filter))&&(r=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:defaults$1.addQueryPrefix,allowDots:void 0===e.allowDots?defaults$1.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:defaults$1.charsetSentinel,delimiter:void 0===e.delimiter?defaults$1.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:defaults$1.encode,encoder:"function"==typeof e.encoder?e.encoder:defaults$1.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:defaults$1.encodeValuesOnly,filter:r,format:n,formatter:i,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:defaults$1.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:defaults$1.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:defaults$1.strictNullHandling}},stringify_1=function(e,t){var n,i=e,r=normalizeStringifyOptions(t);"function"==typeof r.filter?i=(0,r.filter)("",i):isArray$5(r.filter)&&(n=r.filter);var o,s=[];if("object"!=typeof i||null===i)return"";o=t&&t.arrayFormat in arrayPrefixGenerators?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var a=arrayPrefixGenerators[o];if(t&&"commaRoundTrip"in t&&"boolean"!=typeof t.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var l="comma"===a&&t&&t.commaRoundTrip;n||(n=Object.keys(i)),r.sort&&n.sort(r.sort);for(var c=getSideChannel(),u=0;u<n.length;++u){var h=n[u];r.skipNulls&&null===i[h]||pushToArray(s,stringify$1(i[h],h,a,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,c))}var d=s.join(r.delimiter),p=!0===r.addQueryPrefix?"?":"";return r.charsetSentinel&&("iso-8859-1"===r.charset?p+="utf8=%26%2310003%3B&":p+="utf8=%E2%9C%93&"),d.length>0?p+d:""},utils$1=utils$3,has=Object.prototype.hasOwnProperty,isArray$4=Array.isArray,defaults={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:utils$1.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},parseArrayValue=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},isoSentinel="utf8=%26%2310003%3B",charsetSentinel="utf8=%E2%9C%93",parseValues=function(e,t){var n,i={},r=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,o=t.parameterLimit===1/0?void 0:t.parameterLimit,s=r.split(t.delimiter,o),a=-1,l=t.charset;if(t.charsetSentinel)for(n=0;n<s.length;++n)0===s[n].indexOf("utf8=")&&(s[n]===charsetSentinel?l="utf-8":s[n]===isoSentinel&&(l="iso-8859-1"),a=n,n=s.length);for(n=0;n<s.length;++n)if(n!==a){var c,u,h=s[n],d=h.indexOf("]="),p=-1===d?h.indexOf("="):d+1;-1===p?(c=t.decoder(h,defaults.decoder,l,"key"),u=t.strictNullHandling?null:""):(c=t.decoder(h.slice(0,p),defaults.decoder,l,"key"),u=utils$1.maybeMap(parseArrayValue(h.slice(p+1),t),(function(e){return t.decoder(e,defaults.decoder,l,"value")}))),u&&t.interpretNumericEntities&&"iso-8859-1"===l&&(u=interpretNumericEntities(u)),h.indexOf("[]=")>-1&&(u=isArray$4(u)?[u]:u),has.call(i,c)?i[c]=utils$1.combine(i[c],u):i[c]=u}return i},parseObject=function(e,t,n,i){for(var r=i?t:parseArrayValue(t,n),o=e.length-1;o>=0;--o){var s,a=e[o];if("[]"===a&&n.parseArrays)s=[].concat(r);else{s=n.plainObjects?Object.create(null):{};var l="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,c=parseInt(l,10);n.parseArrays||""!==l?!isNaN(c)&&a!==l&&String(c)===l&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(s=[])[c]=r:"__proto__"!==l&&(s[l]=r):s={0:r}}r=s}return r},parseKeys=function(e,t,n,i){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,s=n.depth>0&&/(\[[^[\]]*])/.exec(r),a=s?r.slice(0,s.index):r,l=[];if(a){if(!n.plainObjects&&has.call(Object.prototype,a)&&!n.allowPrototypes)return;l.push(a)}for(var c=0;n.depth>0&&null!==(s=o.exec(r))&&c<n.depth;){if(c+=1,!n.plainObjects&&has.call(Object.prototype,s[1].slice(1,-1))&&!n.allowPrototypes)return;l.push(s[1])}return s&&l.push("["+r.slice(s.index)+"]"),parseObject(l,t,n,i)}},normalizeParseOptions=function(e){if(!e)return defaults;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?defaults.charset:e.charset;return{allowDots:void 0===e.allowDots?defaults.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:defaults.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:defaults.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:defaults.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:defaults.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:defaults.comma,decoder:"function"==typeof e.decoder?e.decoder:defaults.decoder,delimiter:"string"==typeof e.delimiter||utils$1.isRegExp(e.delimiter)?e.delimiter:defaults.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:defaults.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:defaults.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:defaults.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:defaults.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:defaults.strictNullHandling}},parse$4=function(e,t){var n=normalizeParseOptions(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var i="string"==typeof e?parseValues(e,n):e,r=n.plainObjects?Object.create(null):{},o=Object.keys(i),s=0;s<o.length;++s){var a=o[s],l=parseKeys(a,i[a],n,"string"==typeof e);r=utils$1.merge(r,l,n)}return!0===n.allowSparse?r:utils$1.compact(r)},stringify=stringify_1,parse$3=parse$4,formats=formats$3,lib$4={formats:formats,parse:parse$3,stringify:stringify},global$1="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==global$1&&global$1,support={searchParams:"URLSearchParams"in global$1,iterable:"Symbol"in global$1&&"iterator"in Symbol,blob:"FileReader"in global$1&&"Blob"in global$1&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in global$1,arrayBuffer:"ArrayBuffer"in global$1};function isDataView(e){return e&&DataView.prototype.isPrototypeOf(e)}if(support.arrayBuffer)var viewClasses=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],isArrayBufferView=ArrayBuffer.isView||function(e){return e&&viewClasses.indexOf(Object.prototype.toString.call(e))>-1};function normalizeName(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function normalizeValue(e){return"string"!=typeof e&&(e=String(e)),e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return support.iterable&&(t[Symbol.iterator]=function(){return t}),t}function Headers(e){this.map={},e instanceof Headers?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function fileReaderReady(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function readBlobAsArrayBuffer(e){var t=new FileReader,n=fileReaderReady(t);return t.readAsArrayBuffer(e),n}function readBlobAsText(e){var t=new FileReader,n=fileReaderReady(t);return t.readAsText(e),n}function readArrayBufferAsText(e){for(var t=new Uint8Array(e),n=new Array(t.length),i=0;i<t.length;i++)n[i]=String.fromCharCode(t[i]);return n.join("")}function bufferClone(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(e){this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:support.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:support.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:support.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():support.arrayBuffer&&support.blob&&isDataView(e)?(this._bodyArrayBuffer=bufferClone(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):support.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||isArrayBufferView(e))?this._bodyArrayBuffer=bufferClone(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):support.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},support.blob&&(this.blob=function(){var e=consumed(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=consumed(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var e=consumed(this);if(e)return e;if(this._bodyBlob)return readBlobAsText(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},support.formData&&(this.formData=function(){return this.text().then(decode$1)}),this.json=function(){return this.text().then(JSON.parse)},this}Headers.prototype.append=function(e,t){e=normalizeName(e),t=normalizeValue(t);var n=this.map[e];this.map[e]=n?n+", "+t:t},Headers.prototype.delete=function(e){delete this.map[normalizeName(e)]},Headers.prototype.get=function(e){return e=normalizeName(e),this.has(e)?this.map[e]:null},Headers.prototype.has=function(e){return this.map.hasOwnProperty(normalizeName(e))},Headers.prototype.set=function(e,t){this.map[normalizeName(e)]=normalizeValue(t)},Headers.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},Headers.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),iteratorFor(e)},Headers.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),iteratorFor(e)},Headers.prototype.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),iteratorFor(e)},support.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);var methods=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function normalizeMethod(e){var t=e.toUpperCase();return methods.indexOf(t)>-1?t:e}function Request(e,t){if(!(this instanceof Request))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var n=(t=t||{}).body;if(e instanceof Request){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new Headers(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new Headers(t.headers)),this.method=normalizeMethod(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function decode$1(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),i=n.shift().replace(/\+/g," "),r=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(r))}})),t}function parseHeaders(e){var t=new Headers;return e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var n=e.split(":"),i=n.shift().trim();if(i){var r=n.join(":").trim();t.append(i,r)}})),t}function Response(e,t){if(!(this instanceof Response))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new Headers(t.headers),this.url=t.url||"",this._initBody(e)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},Body.call(Request.prototype),Body.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var e=new Response(null,{status:0,statusText:""});return e.type="error",e};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(e,t){if(-1===redirectStatuses.indexOf(t))throw new RangeError("Invalid status code");return new Response(null,{status:t,headers:{location:e}})};var DOMException=global$1.DOMException;try{new DOMException}catch(err){DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},DOMException.prototype=Object.create(Error.prototype),DOMException.prototype.constructor=DOMException}function fetch$2(t,n){return new Promise((function(i,r){var o=new Request(t,n);if(o.signal&&o.signal.aborted)return r(new DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function a(){s.abort()}s.onload=function(){var e={status:s.status,statusText:s.statusText,headers:parseHeaders(s.getAllResponseHeaders()||"")};e.url="responseURL"in s?s.responseURL:e.headers.get("X-Request-URL");var t="response"in s?s.response:s.responseText;setTimeout((function(){i(new Response(t,e))}),0)},s.onerror=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)},s.ontimeout=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)},s.onabort=function(){setTimeout((function(){r(new DOMException("Aborted","AbortError"))}),0)},s.open(o.method,function(t){try{return""===t&&global$1.location.href?global$1.location.href:t}catch(e){return t}}(o.url),!0),"include"===o.credentials?s.withCredentials=!0:"omit"===o.credentials&&(s.withCredentials=!1),"responseType"in s&&(support.blob?s.responseType="blob":support.arrayBuffer&&o.headers.get("Content-Type")&&-1!==o.headers.get("Content-Type").indexOf("application/octet-stream")&&(s.responseType="arraybuffer")),!n||"object"!=typeof n.headers||n.headers instanceof Headers?o.headers.forEach((function(e,t){s.setRequestHeader(t,e)})):Object.getOwnPropertyNames(n.headers).forEach((function(e){s.setRequestHeader(e,normalizeValue(n.headers[e]))})),o.signal&&(o.signal.addEventListener("abort",a),s.onreadystatechange=function(){4===s.readyState&&o.signal.removeEventListener("abort",a)}),s.send(void 0===o._bodyInit?null:o._bodyInit)}))}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _construct(e,t,n){return _construct=_isNativeReflectConstruct()?Reflect.construct:function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&_setPrototypeOf(r,n.prototype),r},_construct.apply(null,arguments)}function _isNativeFunction(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _wrapNativeSuper(e){var t="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(e){if(null===e||!_isNativeFunction(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(n,e)},_wrapNativeSuper(e)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var n,i=_getPrototypeOf(e);if(t){var r=_getPrototypeOf(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function compose(e){if(!Array.isArray(e))throw new TypeError("Middlewares must be an array!");for(var t=e.length,n=0;n<t;n++)if("function"!=typeof e[n])throw new TypeError("Middleware must be componsed of function");return function(t,n){var i=-1;return function r(o){if(o<=i)return Promise.reject(new Error("next() should not be called multiple times in one middleware!"));i=o;var s=e[o]||n;if(!s)return Promise.resolve();try{return Promise.resolve(s(t,(function(){return r(o+1)})))}catch(err){return Promise.reject(err)}}(0)}}fetch$2.polyfill=!0,global$1.fetch||(global$1.fetch=fetch$2,global$1.Headers=Headers,global$1.Request=Request,global$1.Response=Response),self.fetch.bind(self);var Onion=function(){function e(t){if(_classCallCheck(this,e),!Array.isArray(t))throw new TypeError("Default middlewares must be an array!");this.defaultMiddlewares=_toConsumableArray(t),this.middlewares=[]}return _createClass(e,[{key:"use",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{global:!1,core:!1,defaultInstance:!1},i=!1,r=!1,o=!1;"number"==typeof n?(process&&process.env,i=!0,r=!1):"object"===_typeof(n)&&n&&(r=n.global||!1,i=n.core||!1,o=n.defaultInstance||!1),r?e.globalMiddlewares.splice(e.globalMiddlewares.length-e.defaultGlobalMiddlewaresLength,0,t):i?e.coreMiddlewares.splice(e.coreMiddlewares.length-e.defaultCoreMiddlewaresLength,0,t):o?this.defaultMiddlewares.push(t):this.middlewares.push(t)}},{key:"execute",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return compose([].concat(_toConsumableArray(this.middlewares),_toConsumableArray(this.defaultMiddlewares),_toConsumableArray(e.globalMiddlewares),_toConsumableArray(e.coreMiddlewares)))(t)}}]),e}();Onion.globalMiddlewares=[],Onion.defaultGlobalMiddlewaresLength=0,Onion.coreMiddlewares=[],Onion.defaultCoreMiddlewaresLength=0;var MapCache$1=function(){function e(t){_classCallCheck(this,e),this.cache=new Map,this.timer={},this.extendOptions(t)}return _createClass(e,[{key:"extendOptions",value:function(e){this.maxCache=e.maxCache||0}},{key:"get",value:function(e){return this.cache.get(JSON.stringify(e))}},{key:"set",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:6e4;if(this.maxCache>0&&this.cache.size>=this.maxCache){var r=_toConsumableArray(this.cache.keys())[0];this.cache.delete(r),this.timer[r]&&clearTimeout(this.timer[r])}var o=JSON.stringify(e);this.cache.set(o,t),i>0&&(this.timer[o]=setTimeout((function(){n.cache.delete(o),delete n.timer[o]}),i))}},{key:"delete",value:function(e){var t=JSON.stringify(e);return delete this.timer[t],this.cache.delete(t)}},{key:"clear",value:function(){return this.timer={},this.cache.clear()}}]),e}(),RequestError=function(e){_inherits(n,e);var t=_createSuper(n);function n(e,i){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"RequestError";return _classCallCheck(this,n),(r=t.call(this,e)).name="RequestError",r.request=i,r.type=o,r}return n}(_wrapNativeSuper(Error)),ResponseError=function(e){_inherits(n,e);var t=_createSuper(n);function n(e,i,r,o){var s,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"ResponseError";return _classCallCheck(this,n),(s=t.call(this,i||e.statusText)).name="ResponseError",s.data=r,s.response=e,s.request=o,s.type=a,s}return n}(_wrapNativeSuper(Error));function readerGBK(e){return new Promise((function(t,n){var i=new FileReader;i.onload=function(){t(i.result)},i.onerror=n,i.readAsText(e,"GBK")}))}function safeJsonParse(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;try{return JSON.parse(t)}catch(e){if(n)throw new ResponseError(i,"JSON.parse fail",t,r,"ParseError")}return t}function timeout2Throw(e,t,n){return new Promise((function(i,r){setTimeout((function(){r(new RequestError(t||"timeout of ".concat(e,"ms exceeded"),n,"Timeout"))}),e)}))}function cancel2Throw(e){return new Promise((function(t,n){e.cancelToken&&e.cancelToken.promise.then((function(e){n(e)}))}))}var toString$2=Object.prototype.toString;function getEnv(){var e;return"undefined"!=typeof process&&"[object process]"===toString$2.call(process)&&(e="NODE"),"undefined"!=typeof XMLHttpRequest&&(e="BROWSER"),e}function isArray$3(e){return"object"===_typeof(e)&&"[object Array]"===Object.prototype.toString.call(e)}function isURLSearchParams(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function isDate(e){return"object"===_typeof(e)&&"[object Date]"===Object.prototype.toString.call(e)}function isObject$1(e){return null!==e&&"object"===_typeof(e)}function forEach2ObjArr(e,t){if(e)if("object"!==_typeof(e)&&(e=[e]),isArray$3(e))for(var n=0;n<e.length;n++)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function getParamObject(e){return isURLSearchParams(e)?lib$4.parse(e.toString(),{strictNullHandling:!0}):"string"==typeof e?[e]:e}function reqStringify(e){return lib$4.stringify(e,{arrayFormat:"repeat",strictNullHandling:!0})}function mergeRequestOptions(e,t){return _objectSpread2(_objectSpread2(_objectSpread2({},e),t),{},{headers:_objectSpread2(_objectSpread2({},e.headers),t.headers),params:_objectSpread2(_objectSpread2({},getParamObject(e.params)),getParamObject(t.params)),method:(t.method||e.method||"get").toLowerCase()})}var addfix=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.prefix,i=t.suffix;return n&&(e="".concat(n).concat(e)),i&&(e="".concat(e).concat(i)),{url:e,options:t}},warnedCoreType=!1;function __defaultValidateCache(e,t){var n=t.method;return"get"===(void 0===n?"get":n).toLowerCase()}function fetchMiddleware(e,t){if(!e)return t();var n=e.req,i=(n=void 0===n?{}:n).options,r=void 0===i?{}:i,o=n.url,s=void 0===o?"":o,a=e.cache,l=e.responseInterceptors,c=r.timeout,u=void 0===c?0:c,h=r.timeoutMessage,d=r.__umiRequestCoreType__,p=void 0===d?"normal":d,f=r.useCache,m=void 0!==f&&f,g=r.method,v=void 0===g?"get":g,b=r.params,y=r.ttl,A=r.validateCache,S=void 0===A?__defaultValidateCache:A;if("normal"!==p)return process&&process.env,t();var x=fetch;if(!x)throw new Error("Global fetch not exist!");var E,w="BROWSER"===getEnv(),_=S(s,r)&&m&&w;if(_){var M=a.get({url:s,params:b,method:v});if(M)return(M=M.clone()).useCache=!0,e.res=M,t()}return E=u>0?Promise.race([cancel2Throw(r),x(s,r),timeout2Throw(u,h,e.req)]):Promise.race([cancel2Throw(r),x(s,r)]),l.forEach((function(e){E=E.then((function(t){var n="function"==typeof t.clone?t.clone():t;return e(n,r)}))})),E.then((function(n){if(_&&200===n.status){var i=n.clone();i.useCache=!0,a.set({url:s,params:b,method:v},i,y)}return e.res=n,t()}))}function parseResponseMiddleware(t,n){var i;return n().then((function(){if(t){var n=t.res,r=void 0===n?{}:n,o=t.req,s=void 0===o?{}:o,a=(s||{}).options,l=(a=void 0===a?{}:a).responseType,c=void 0===l?"json":l,u=a.charset,h=void 0===u?"utf8":u;a.getResponse;var d=a.throwErrIfParseFail,p=void 0!==d&&d,f=a.parseResponse;if((void 0===f||f)&&r&&r.clone){if((i="BROWSER"===getEnv()?r.clone():r).useCache=r.useCache||!1,"gbk"===h)try{return r.blob().then(readerGBK).then((function(e){return safeJsonParse(e,!1,i,s)}))}catch(e){throw new ResponseError(i,e.message,null,s,"ParseError")}else if("json"===c)return r.text().then((function(e){return safeJsonParse(e,p,i,s)}));try{return r[c]()}catch(e){throw new ResponseError(i,"responseType not support",null,s,"ParseError")}}}})).then((function(e){if(t){t.res;var n=t.req,r=void 0===n?{}:n,o=(r||{}).options,s=(o=void 0===o?{}:o).getResponse,a=void 0!==s&&s;if(i){if(i.status>=200&&i.status<300)return a?void(t.res={data:e,response:i}):void(t.res=e);throw new ResponseError(i,"http error",e,r,"HttpError")}}})).catch((function(e){if(e instanceof RequestError||e instanceof ResponseError)throw e;var n=t.req,i=t.res;throw e.request=e.request||n,e.response=e.response||i,e.type=e.type||e.name,e.data=e.data||void 0,e}))}function simplePostMiddleware(e,t){if(!e)return t();var n=e.req,i=(n=void 0===n?{}:n).options,r=void 0===i?{}:i,o=r.method;if(-1===["post","put","patch","delete"].indexOf((void 0===o?"get":o).toLowerCase()))return t();var s=r.requestType,a=void 0===s?"json":s,l=r.data;if(l){var c=Object.prototype.toString.call(l);"[object Object]"===c||"[object Array]"===c?"json"===a?(r.headers=_objectSpread2({Accept:"application/json","Content-Type":"application/json;charset=UTF-8"},r.headers),r.body=JSON.stringify(l)):"form"===a&&(r.headers=_objectSpread2({Accept:"application/json","Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},r.headers),r.body=reqStringify(l)):(r.headers=_objectSpread2({Accept:"application/json"},r.headers),r.body=l)}return e.req.options=r,t()}function paramsSerialize(e,t){var n,i;if(e)if(t)n=t(e);else if(isURLSearchParams(e))n=e.toString();else{if(isArray$3(e))i=[],forEach2ObjArr(e,(function(e){null==e?i.push(e):i.push(isObject$1(e)?JSON.stringify(e):e)})),n=reqStringify(i);else i={},forEach2ObjArr(e,(function(e,t){var n=e;null==e?i[t]=e:isDate(e)?n=e.toISOString():isArray$3(e)?n=e:isObject$1(e)&&(n=JSON.stringify(e)),i[t]=n})),n=reqStringify(i)}return n}function simpleGetMiddleware(e,t){if(!e)return t();var n=e.req,i=(n=void 0===n?{}:n).options,r=void 0===i?{}:i,o=r.paramsSerializer,s=r.params,a=e.req,l=(a=void 0===a?{}:a).url,c=void 0===l?"":l;r.method=r.method?r.method.toUpperCase():"GET",r.credentials=r.credentials||"same-origin";var u=paramsSerialize(s,o);if(e.req.originUrl=c,u){var h=-1!==c.indexOf("?")?"&":"?";e.req.url="".concat(c).concat(h).concat(u)}return e.req.options=r,t()}var globalMiddlewares=[simplePostMiddleware,simpleGetMiddleware,parseResponseMiddleware],coreMiddlewares=[fetchMiddleware];Onion.globalMiddlewares=globalMiddlewares,Onion.defaultGlobalMiddlewaresLength=globalMiddlewares.length,Onion.coreMiddlewares=coreMiddlewares,Onion.defaultCoreMiddlewaresLength=coreMiddlewares.length;var Core=function(){function t(e){_classCallCheck(this,t),this.onion=new Onion([]),this.fetchIndex=0,this.mapCache=new MapCache$1(e),this.initOptions=e,this.instanceRequestInterceptors=[],this.instanceResponseInterceptors=[]}return _createClass(t,[{key:"use",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{global:!1,core:!1};return this.onion.use(e,t),this}},{key:"extendOptions",value:function(e){this.initOptions=mergeRequestOptions(this.initOptions,e),this.mapCache.extendOptions(e)}},{key:"dealRequestInterceptors",value:function(e){return[].concat(_toConsumableArray(t.requestInterceptors),_toConsumableArray(this.instanceRequestInterceptors)).reduce((function(t,n){return t.then((function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.req.url=t.url||e.req.url,e.req.options=t.options||e.req.options,n(e.req.url,e.req.options)}))}),Promise.resolve()).then((function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.req.url=t.url||e.req.url,e.req.options=t.options||e.req.options,Promise.resolve()}))}},{key:"request",value:function(n,i){var r=this,o=this.onion,s={req:{url:n,options:_objectSpread2(_objectSpread2({},i),{},{url:n})},res:null,cache:this.mapCache,responseInterceptors:[].concat(_toConsumableArray(t.responseInterceptors),_toConsumableArray(this.instanceResponseInterceptors))};if("string"!=typeof n)throw new Error("url MUST be a string");return new Promise((function(t,n){r.dealRequestInterceptors(s).then((function(){return o.execute(s)})).then((function(){t(s.res)})).catch((function(i){var r=s.req.options.errorHandler;if(r)try{var o=r(i);t(o)}catch(e){n(e)}else n(i)}))}))}}],[{key:"requestUse",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{global:!0};if("function"!=typeof e)throw new TypeError("Interceptor must be function!");n.global?t.requestInterceptors.push(e):this.instanceRequestInterceptors.push(e)}},{key:"responseUse",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{global:!0};if("function"!=typeof e)throw new TypeError("Interceptor must be function!");n.global?t.responseInterceptors.push(e):this.instanceResponseInterceptors.push(e)}}]),t}();function Cancel(e){this.message=e}function CancelToken(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new Cancel(e),t(n.reason))}))}function isCancel(e){return!(!e||!e.__CANCEL__)}Core.requestInterceptors=[addfix],Core.responseInterceptors=[],Cancel.prototype.toString=function(){return this.message?"Cancel: ".concat(this.message):"Cancel"},Cancel.prototype.__CANCEL__=!0,CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var e;return{token:new CancelToken((function(t){e=t})),cancel:e}};var request$1=function(){var e=new Core(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),t=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=mergeRequestOptions(e.initOptions,n);return e.request(t,i)};t.use=e.use.bind(e),t.fetchIndex=e.fetchIndex,t.interceptors={request:{use:Core.requestUse.bind(e)},response:{use:Core.responseUse.bind(e)}};return["get","post","delete","put","patch","head","options","rpc"].forEach((function(e){t[e]=function(n,i){return t(n,_objectSpread2(_objectSpread2({},i),{},{method:e}))}})),t.Cancel=Cancel,t.CancelToken=CancelToken,t.isCancel=isCancel,t.extendOptions=e.extendOptions.bind(e),t.middlewares={instance:e.onion.middlewares,defaultInstance:e.onion.defaultMiddlewares,global:Onion.globalMiddlewares,core:Onion.coreMiddlewares},t},extend$1=function(e){return request$1(e)};request$1({parseResponse:!1});var request$1$1=exports("_",request$1({})),lodash_isemptyExports={},lodash_isempty={get exports(){return lodash_isemptyExports},set exports(e){lodash_isemptyExports=e}};!function(t,n){var i=9007199254740991,r="[object Arguments]",o="[object Function]",s="[object GeneratorFunction]",a="[object Map]",l="[object Promise]",c="[object Set]",u="[object WeakMap]",h="[object DataView]",d=/^\[object .+?Constructor\]$/,p="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,f="object"==typeof self&&self&&self.Object===Object&&self,m=p||f||Function("return this")(),g=n&&!n.nodeType&&n,v=g&&t&&!t.nodeType&&t,b=v&&v.exports===g;var y=Function.prototype,A=Object.prototype,S=m["__core-js_shared__"],x=function(){var e=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),E=y.toString,w=A.hasOwnProperty,_=A.toString,M=RegExp("^"+E.call(w).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),P=b?m.Buffer:void 0,T=A.propertyIsEnumerable,C=P?P.isBuffer:void 0,I=function(e,t){return function(n){return e(t(n))}}(Object.keys,Object),k=U(m,"DataView"),B=U(m,"Map"),R=U(m,"Promise"),L=U(m,"Set"),D=U(m,"WeakMap"),N=!T.call({valueOf:1},"valueOf"),F=Y(k),O=Y(B),V=Y(R),G=Y(L),z=Y(D);function H(t){if(!q(t)||(n=t,x&&x in n))return!1;var n,i=K(t)||function(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(e){}return n}(t)?M:d;return i.test(Y(t))}function U(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return H(n)?n:void 0}var j=function(e){return _.call(e)};function Y(t){if(null!=t){try{return E.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function W(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&$(e)}(e)&&w.call(e,"callee")&&(!T.call(e,"callee")||_.call(e)==r)}(k&&j(new k(new ArrayBuffer(1)))!=h||B&&j(new B)!=a||R&&j(R.resolve())!=l||L&&j(new L)!=c||D&&j(new D)!=u)&&(j=function(e){var t=_.call(e),n="[object Object]"==t?e.constructor:void 0,i=n?Y(n):void 0;if(i)switch(i){case F:return h;case O:return a;case V:return l;case G:return c;case z:return u}return t});var Q=Array.isArray;function $(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}(e.length)&&!K(e)}var X=C||function(){return!1};function K(e){var t=q(e)?_.call(e):"";return t==o||t==s}function q(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}t.exports=function(e){if($(e)&&(Q(e)||"string"==typeof e||"function"==typeof e.splice||X(e)||W(e)))return!e.length;var t=j(e);if(t==a||t==c)return!e.size;if(N||function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||A)}(e))return!I(e).length;for(var n in e)if(w.call(e,n))return!1;return!0}}(lodash_isempty,lodash_isemptyExports);var objectTag$4="[object Object]";function isHostObject(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(e){}return n}function overArg$1(e,t){return function(n){return e(t(n))}}var funcProto$2=Function.prototype,objectProto$f=Object.prototype,funcToString$2=funcProto$2.toString,hasOwnProperty$c=objectProto$f.hasOwnProperty,objectCtorString=funcToString$2.call(Object),objectToString$1=objectProto$f.toString,getPrototype$2=overArg$1(Object.getPrototypeOf,Object);function isObjectLike$1(e){return!!e&&"object"==typeof e}function isPlainObject$2(e){if(!isObjectLike$1(e)||objectToString$1.call(e)!=objectTag$4||isHostObject(e))return!1;var t=getPrototype$2(e);if(null===t)return!0;var n=hasOwnProperty$c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&funcToString$2.call(n)==objectCtorString}var lodash_isplainobject=isPlainObject$2,lodash_transformExports={},lodash_transform={get exports(){return lodash_transformExports},set exports(e){lodash_transformExports=e}};!function(t,n){var i="__lodash_hash_undefined__",r=1,o=2,s=1/0,a=9007199254740991,l="[object Arguments]",c="[object Array]",u="[object Boolean]",h="[object Date]",d="[object Error]",p="[object Function]",f="[object GeneratorFunction]",m="[object Map]",g="[object Number]",v="[object Object]",b="[object Promise]",y="[object RegExp]",A="[object Set]",S="[object String]",x="[object Symbol]",E="[object WeakMap]",w="[object ArrayBuffer]",_="[object DataView]",M=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,P=/^\w*$/,T=/^\./,C=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,k=/^\[object .+?Constructor\]$/,B=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[l]=R[c]=R[w]=R[u]=R[_]=R[h]=R[d]=R[p]=R[m]=R[g]=R[v]=R[y]=R[A]=R[S]=R[E]=!1;var L="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,D="object"==typeof self&&self&&self.Object===Object&&self,N=L||D||Function("return this")(),F=n&&!n.nodeType&&n,O=F&&t&&!t.nodeType&&t,V=O&&O.exports===F&&L.process,G=function(){try{return V&&V.binding("util")}catch(e){}}(),z=G&&G.isTypedArray;function H(e,t){for(var n=-1,i=e?e.length:0;++n<i&&!1!==t(e[n],n,e););return e}function U(e,t){for(var n=-1,i=e?e.length:0;++n<i;)if(t(e[n],n,e))return!0;return!1}function j(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(e){}return n}function Y(e){var t=-1,n=Array(e.size);return e.forEach((function(e,i){n[++t]=[i,e]})),n}function W(e,t){return function(n){return e(t(n))}}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var $=Array.prototype,X=Function.prototype,K=Object.prototype,q=N["__core-js_shared__"],J=function(){var e=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Z=X.toString,ee=K.hasOwnProperty,te=K.toString,ne=RegExp("^"+Z.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ie=N.Symbol,re=N.Uint8Array,oe=W(Object.getPrototypeOf,Object),se=Object.create,ae=K.propertyIsEnumerable,le=$.splice,ce=W(Object.keys,Object),ue=Ue(N,"DataView"),he=Ue(N,"Map"),de=Ue(N,"Promise"),pe=Ue(N,"Set"),fe=Ue(N,"WeakMap"),me=Ue(Object,"create"),ge=qe(ue),ve=qe(he),be=qe(de),ye=qe(pe),Ae=qe(fe),Se=ie?ie.prototype:void 0,xe=Se?Se.valueOf:void 0,Ee=Se?Se.toString:void 0;function we(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function _e(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function Me(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function Pe(e){var t=-1,n=e?e.length:0;for(this.__data__=new Me;++t<n;)this.add(e[t])}function Te(e){this.__data__=new _e(e)}function Ce(e,t){var n=tt(e)||et(e)?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],i=n.length,r=!!i;for(var o in e)!t&&!ee.call(e,o)||r&&("length"==o||Ye(o,i))||n.push(o);return n}function Ie(e,t){for(var n=e.length;n--;)if(Ze(e[n][0],t))return n;return-1}we.prototype.clear=function(){this.__data__=me?me(null):{}},we.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},we.prototype.get=function(e){var t=this.__data__;if(me){var n=t[e];return n===i?void 0:n}return ee.call(t,e)?t[e]:void 0},we.prototype.has=function(e){var t=this.__data__;return me?void 0!==t[e]:ee.call(t,e)},we.prototype.set=function(e,t){return this.__data__[e]=me&&void 0===t?i:t,this},_e.prototype.clear=function(){this.__data__=[]},_e.prototype.delete=function(e){var t=this.__data__,n=Ie(t,e);return!(n<0)&&(n==t.length-1?t.pop():le.call(t,n,1),!0)},_e.prototype.get=function(e){var t=this.__data__,n=Ie(t,e);return n<0?void 0:t[n][1]},_e.prototype.has=function(e){return Ie(this.__data__,e)>-1},_e.prototype.set=function(e,t){var n=this.__data__,i=Ie(n,e);return i<0?n.push([e,t]):n[i][1]=t,this},Me.prototype.clear=function(){this.__data__={hash:new we,map:new(he||_e),string:new we}},Me.prototype.delete=function(e){return He(this,e).delete(e)},Me.prototype.get=function(e){return He(this,e).get(e)},Me.prototype.has=function(e){return He(this,e).has(e)},Me.prototype.set=function(e,t){return He(this,e).set(e,t),this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,i),this},Pe.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new _e},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var n=this.__data__;if(n instanceof _e){var i=n.__data__;if(!he||i.length<199)return i.push([e,t]),this;n=this.__data__=new Me(i)}return n.set(e,t),this};var ke,Be=function(e,t,n){for(var i=-1,r=Object(e),o=n(e),s=o.length;s--;){var a=o[ke?s:++i];if(!1===t(r[a],a,r))break}return e};function Re(e,t){return e&&Be(e,t,ut)}function Le(e,t){for(var n=0,i=(t=We(t,e)?[t]:Ge(t)).length;null!=e&&n<i;)e=e[Ke(t[n++])];return n&&n==i?e:void 0}function De(e,t){return null!=e&&t in Object(e)}function Ne(e,t,n,i,s){return e===t||(null==e||null==t||!ot(e)&&!st(t)?e!=e&&t!=t:function(e,t,n,i,s,a){var p=tt(e),f=tt(t),b=c,E=c;p||(b=(b=je(e))==l?v:b);f||(E=(E=je(t))==l?v:E);var M=b==v&&!j(e),P=E==v&&!j(t),T=b==E;if(T&&!M)return a||(a=new Te),p||ct(e)?ze(e,t,n,i,s,a):function(e,t,n,i,s,a,l){switch(n){case _:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case w:return!(e.byteLength!=t.byteLength||!i(new re(e),new re(t)));case u:case h:case g:return Ze(+e,+t);case d:return e.name==t.name&&e.message==t.message;case y:case S:return e==t+"";case m:var c=Y;case A:var p=a&o;if(c||(c=Q),e.size!=t.size&&!p)return!1;var f=l.get(e);if(f)return f==t;a|=r,l.set(e,t);var v=ze(c(e),c(t),i,s,a,l);return l.delete(e),v;case x:if(xe)return xe.call(e)==xe.call(t)}return!1}(e,t,b,n,i,s,a);if(!(s&o)){var C=M&&ee.call(e,"__wrapped__"),I=P&&ee.call(t,"__wrapped__");if(C||I){var k=C?e.value():e,B=I?t.value():t;return a||(a=new Te),n(k,B,i,s,a)}}if(!T)return!1;return a||(a=new Te),function(e,t,n,i,r,s){var a=r&o,l=ut(e),c=l.length,u=ut(t),h=u.length;if(c!=h&&!a)return!1;var d=c;for(;d--;){var p=l[d];if(!(a?p in t:ee.call(t,p)))return!1}var f=s.get(e);if(f&&s.get(t))return f==t;var m=!0;s.set(e,t),s.set(t,e);var g=a;for(;++d<c;){var v=e[p=l[d]],b=t[p];if(i)var y=a?i(b,v,p,t,e,s):i(v,b,p,e,t,s);if(!(void 0===y?v===b||n(v,b,i,r,s):y)){m=!1;break}g||(g="constructor"==p)}if(m&&!g){var A=e.constructor,S=t.constructor;A==S||!("constructor"in e)||!("constructor"in t)||"function"==typeof A&&A instanceof A&&"function"==typeof S&&S instanceof S||(m=!1)}return s.delete(e),s.delete(t),m}(e,t,n,i,s,a)}(e,t,Ne,n,i,s))}function Fe(e){return!(!ot(e)||(t=e,J&&J in t))&&(it(e)||j(e)?ne:k).test(qe(e));var t}function Oe(e){return"function"==typeof e?e:null==e?ht:"object"==typeof e?tt(e)?function(e,t){if(We(e)&&Qe(t))return $e(Ke(e),t);return function(n){var i=function(e,t,n){var i=null==e?void 0:Le(e,t);return void 0===i?n:i}(n,e);return void 0===i&&i===t?function(e,t){return null!=e&&function(e,t,n){t=We(t,e)?[t]:Ge(t);var i,r=-1,o=t.length;for(;++r<o;){var s=Ke(t[r]);if(!(i=null!=e&&n(e,s)))break;e=e[s]}if(i)return i;o=e?e.length:0;return!!o&&rt(o)&&Ye(s,o)&&(tt(e)||et(e))}(e,t,De)}(n,e):Ne(t,i,void 0,r|o)}}(e[0],e[1]):function(e){var t=function(e){var t=ut(e),n=t.length;for(;n--;){var i=t[n],r=e[i];t[n]=[i,r,Qe(r)]}return t}(e);if(1==t.length&&t[0][2])return $e(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,i){var s=n.length,a=s,l=!i;if(null==e)return!a;for(e=Object(e);s--;){var c=n[s];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++s<a;){var u=(c=n[s])[0],h=e[u],d=c[1];if(l&&c[2]){if(void 0===h&&!(u in e))return!1}else{var p=new Te;if(i)var f=i(h,d,u,e,t,p);if(!(void 0===f?Ne(d,h,i,r|o,p):f))return!1}}return!0}(n,e,t)}}(e):We(t=e)?(n=Ke(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return Le(t,e)}}(t);var t,n}function Ve(e){if(n=(t=e)&&t.constructor,i="function"==typeof n&&n.prototype||K,t!==i)return ce(e);var t,n,i,r=[];for(var o in Object(e))ee.call(e,o)&&"constructor"!=o&&r.push(o);return r}function Ge(e){return tt(e)?e:Xe(e)}function ze(e,t,n,i,s,a){var l=s&o,c=e.length,u=t.length;if(c!=u&&!(l&&u>c))return!1;var h=a.get(e);if(h&&a.get(t))return h==t;var d=-1,p=!0,f=s&r?new Pe:void 0;for(a.set(e,t),a.set(t,e);++d<c;){var m=e[d],g=t[d];if(i)var v=l?i(g,m,d,t,e,a):i(m,g,d,e,t,a);if(void 0!==v){if(v)continue;p=!1;break}if(f){if(!U(t,(function(e,t){if(!f.has(t)&&(m===e||n(m,e,i,s,a)))return f.add(t)}))){p=!1;break}}else if(m!==g&&!n(m,g,i,s,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function He(e,t){var n,i,r=e.__data__;return("string"==(i=typeof(n=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map}function Ue(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Fe(n)?n:void 0}var je=function(e){return te.call(e)};function Ye(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||B.test(e))&&e>-1&&e%1==0&&e<t}function We(e,t){if(tt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!at(e))||(P.test(e)||!M.test(e)||null!=t&&e in Object(t))}function Qe(e){return e==e&&!ot(e)}function $e(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(ue&&je(new ue(new ArrayBuffer(1)))!=_||he&&je(new he)!=m||de&&je(de.resolve())!=b||pe&&je(new pe)!=A||fe&&je(new fe)!=E)&&(je=function(e){var t=te.call(e),n=t==v?e.constructor:void 0,i=n?qe(n):void 0;if(i)switch(i){case ge:return _;case ve:return m;case be:return b;case ye:return A;case Ae:return E}return t});var Xe=Je((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(at(e))return Ee?Ee.call(e):"";var t=e+"";return"0"==t&&1/e==-s?"-0":t}(t);var n=[];return T.test(e)&&n.push(""),e.replace(C,(function(e,t,i,r){n.push(i?r.replace(I,"$1"):t||e)})),n}));function Ke(e){if("string"==typeof e||at(e))return e;var t=e+"";return"0"==t&&1/e==-s?"-0":t}function qe(t){if(null!=t){try{return Z.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function Je(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s),s};return n.cache=new(Je.Cache||Me),n}function Ze(e,t){return e===t||e!=e&&t!=t}function et(e){return function(e){return st(e)&&nt(e)}(e)&&ee.call(e,"callee")&&(!ae.call(e,"callee")||te.call(e)==l)}Je.Cache=Me;var tt=Array.isArray;function nt(e){return null!=e&&rt(e.length)&&!it(e)}function it(e){var t=ot(e)?te.call(e):"";return t==p||t==f}function rt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function ot(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function st(e){return!!e&&"object"==typeof e}function at(e){return"symbol"==typeof e||st(e)&&te.call(e)==x}var lt,ct=z?(lt=z,function(e){return lt(e)}):function(e){return st(e)&&rt(e.length)&&!!R[te.call(e)]};function ut(e){return nt(e)?Ce(e):Ve(e)}function ht(e){return e}t.exports=function(e,t,n){var i,r=tt(e)||ct(e);if(t=Oe(t),null==n)if(r||ot(e)){var o=e.constructor;n=r?tt(e)?new o:[]:it(o)?ot(i=oe(e))?se(i):{}:{}}else n={};return(r?H:Re)(e,(function(e,i,r){return t(n,e,i,r)})),n}}(lodash_transform,lodash_transformExports);const isEmpty$1=lodash_isemptyExports,isPlainObject$1=lodash_isplainobject,transform=lodash_transformExports;var src=function e(t,{cleanKeys:n=[],cleanValues:i=[],emptyArrays:r=!0,emptyObjects:o=!0,emptyStrings:s=!0,NaNValues:a=!1,nullValues:l=!0,undefinedValues:c=!0}={}){return transform(t,((t,u,h)=>{if(!n.includes(h)&&((Array.isArray(u)||isPlainObject$1(u))&&(u=e(u,{NaNValues:a,cleanKeys:n,cleanValues:i,emptyArrays:r,emptyObjects:o,emptyStrings:s,nullValues:l,undefinedValues:c})),!i.includes(u)&&!(o&&isPlainObject$1(u)&&isEmpty$1(u))&&(!r||!Array.isArray(u)||u.length)&&!(s&&""===u||a&&Number.isNaN(u)||l&&null===u||c&&void 0===u)))return Array.isArray(t)?t.push(u):void(t[h]=u)}))};const whiteUrl=()=>({"/sysMusicScoreCategories/queryTree":"/eduMusicScore/queryTree","/sysMusicScoreAccompaniment/queryPage":queryString.parse(location.search).platform?"/sysMusicScoreAccompaniment/queryPage":"/eduMusicScore/queryPage","/sysMusicScoreAccompaniment/queryPageLimit":"/eduMusicScore/queryPageLimit","/sysMusicScoreAccompaniment/querySubjectIds":"/eduMusicScore/querySubjectIds"});whiteUrl(),browser(),getQuery();const request=exports("r",extend$1({requestType:"form",timeout:1e4}));request.interceptors.request.use(((e,t)=>{t.isContentCenter||storeData.platformApi;storeData.proxy;e=matchProductApiUrl()+e;const n=getToken(),i={};return n&&!t.isContentCenter&&(i.Authorization=n),{url:e,options:{...t,params:src(t.params),data:src(t.data),headers:{...t.headers,...i}}}}),{global:!1}),request.interceptors.response.use((async(e,t)=>{if(e.status>299||e.status<200){showToast(e.statusText+", 状态码"+e.status)}const n=await e.clone().json();if(5e3===n.code)return n;if(200!==n.code&&0!==n.errCode){const e=n.msg||n.message||"处理失败,请重试";throw 403!==n.code&&n.code,new Error(e)}return n}),{global:!1});var dayjs_minExports={},dayjs_min={get exports(){return dayjs_minExports},set exports(e){dayjs_minExports=e}};!function(e,t){e.exports=function(){var e=1e3,t=6e4,n=36e5,i="millisecond",r="second",o="minute",s="hour",a="day",l="week",c="month",u="quarter",h="year",d="date",p="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},v=function(e,t,n){var i=String(e);return!i||i.length>=t?e:""+Array(t+1-i.length).join(n)+e},b={s:v,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),i=Math.floor(n/60),r=n%60;return(t<=0?"+":"-")+v(i,2,"0")+":"+v(r,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var i=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(i,c),o=n-r<0,s=t.clone().add(i+(o?-1:1),c);return+(-(i+(n-r)/(o?r-s:s-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:h,w:l,d:a,D:d,h:s,m:o,s:r,ms:i,Q:u}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",A={};A[y]=g;var S=function(e){return e instanceof _},x=function e(t,n,i){var r;if(!t)return y;if("string"==typeof t){var o=t.toLowerCase();A[o]&&(r=o),n&&(A[o]=n,r=o);var s=t.split("-");if(!r&&s.length>1)return e(s[0])}else{var a=t.name;A[a]=t,r=a}return!i&&r&&(y=r),r||!i&&y},E=function(e,t){if(S(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new _(n)},w=b;w.l=x,w.i=S,w.w=function(e,t){return E(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var _=function(){function g(e){this.$L=x(e.locale,null,!0),this.parse(e)}var v=g.prototype;return v.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(w.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var i=t.match(f);if(i){var r=i[2]-1||0,o=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,o)):new Date(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,o)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return w},v.isValid=function(){return!(this.$d.toString()===p)},v.isSame=function(e,t){var n=E(e);return this.startOf(t)<=n&&n<=this.endOf(t)},v.isAfter=function(e,t){return E(e)<this.startOf(t)},v.isBefore=function(e,t){return this.endOf(t)<E(e)},v.$g=function(e,t,n){return w.u(e)?this[t]:this.set(n,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,t){var n=this,i=!!w.u(t)||t,u=w.p(e),p=function(e,t){var r=w.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return i?r:r.endOf(a)},f=function(e,t){return w.w(n.toDate()[e].apply(n.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},m=this.$W,g=this.$M,v=this.$D,b="set"+(this.$u?"UTC":"");switch(u){case h:return i?p(1,0):p(31,11);case c:return i?p(1,g):p(0,g+1);case l:var y=this.$locale().weekStart||0,A=(m<y?m+7:m)-y;return p(i?v-A:v+(6-A),g);case a:case d:return f(b+"Hours",0);case s:return f(b+"Minutes",1);case o:return f(b+"Seconds",2);case r:return f(b+"Milliseconds",3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,t){var n,l=w.p(e),u="set"+(this.$u?"UTC":""),p=(n={},n[a]=u+"Date",n[d]=u+"Date",n[c]=u+"Month",n[h]=u+"FullYear",n[s]=u+"Hours",n[o]=u+"Minutes",n[r]=u+"Seconds",n[i]=u+"Milliseconds",n)[l],f=l===a?this.$D+(t-this.$W):t;if(l===c||l===h){var m=this.clone().set(d,1);m.$d[p](f),m.init(),this.$d=m.set(d,Math.min(this.$D,m.daysInMonth())).$d}else p&&this.$d[p](f);return this.init(),this},v.set=function(e,t){return this.clone().$set(e,t)},v.get=function(e){return this[w.p(e)]()},v.add=function(i,u){var d,p=this;i=Number(i);var f=w.p(u),m=function(e){var t=E(p);return w.w(t.date(t.date()+Math.round(e*i)),p)};if(f===c)return this.set(c,this.$M+i);if(f===h)return this.set(h,this.$y+i);if(f===a)return m(1);if(f===l)return m(7);var g=(d={},d[o]=t,d[s]=n,d[r]=e,d)[f]||1,v=this.$d.getTime()+i*g;return w.w(v,this)},v.subtract=function(e,t){return this.add(-1*e,t)},v.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var i=e||"YYYY-MM-DDTHH:mm:ssZ",r=w.z(this),o=this.$H,s=this.$m,a=this.$M,l=n.weekdays,c=n.months,u=function(e,n,r,o){return e&&(e[n]||e(t,i))||r[n].slice(0,o)},h=function(e){return w.s(o%12||12,e,"0")},d=n.meridiem||function(e,t,n){var i=e<12?"AM":"PM";return n?i.toLowerCase():i},f={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:w.s(a+1,2,"0"),MMM:u(n.monthsShort,a,c,3),MMMM:u(c,a),D:this.$D,DD:w.s(this.$D,2,"0"),d:String(this.$W),dd:u(n.weekdaysMin,this.$W,l,2),ddd:u(n.weekdaysShort,this.$W,l,3),dddd:l[this.$W],H:String(o),HH:w.s(o,2,"0"),h:h(1),hh:h(2),a:d(o,s,!0),A:d(o,s,!1),m:String(s),mm:w.s(s,2,"0"),s:String(this.$s),ss:w.s(this.$s,2,"0"),SSS:w.s(this.$ms,3,"0"),Z:r};return i.replace(m,(function(e,t){return t||f[e]||r.replace(":","")}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(i,d,p){var f,m=w.p(d),g=E(i),v=(g.utcOffset()-this.utcOffset())*t,b=this-g,y=w.m(this,g);return y=(f={},f[h]=y/12,f[c]=y,f[u]=y/3,f[l]=(b-v)/6048e5,f[a]=(b-v)/864e5,f[s]=b/n,f[o]=b/t,f[r]=b/e,f)[m]||b,p?y:w.a(y)},v.daysInMonth=function(){return this.endOf(c).$D},v.$locale=function(){return A[this.$L]},v.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),i=x(e,t,!0);return i&&(n.$L=i),n},v.clone=function(){return w.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},g}(),M=_.prototype;return E.prototype=M,[["$ms",i],["$s",r],["$m",o],["$H",s],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(e){M[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),E.extend=function(e,t){return e.$i||(e(t,_,E),e.$i=!0),E},E.locale=x,E.isDayjs=S,E.unix=function(e){return E(1e3*e)},E.en=A[y],E.Ls=A,E.p={},E}()}(dayjs_min);const dayjs=dayjs_minExports;var durationExports={},duration$1={get exports(){return durationExports},set exports(e){durationExports=e}};!function(e,t){e.exports=function(){var e,t,n=1e3,i=6e4,r=36e5,o=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,a=31536e6,l=2592e6,c=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,u={years:a,months:l,days:o,hours:r,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},h=function(e){return e instanceof b},d=function(e,t,n){return new b(e,n,t.$l)},p=function(e){return t.p(e)+"s"},f=function(e){return e<0},m=function(e){return f(e)?Math.ceil(e):Math.floor(e)},g=function(e){return Math.abs(e)},v=function(e,t){return e?f(e)?{negative:!0,format:""+g(e)+t}:{negative:!1,format:""+e+t}:{negative:!1,format:""}},b=function(){function f(e,t,n){var i=this;if(this.$d={},this.$l=n,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),t)return d(e*u[p(t)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(t){i.$d[p(t)]=e[t]})),this.calMilliseconds(),this;if("string"==typeof e){var r=e.match(c);if(r){var o=r.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=o[0],this.$d.months=o[1],this.$d.weeks=o[2],this.$d.days=o[3],this.$d.hours=o[4],this.$d.minutes=o[5],this.$d.seconds=o[6],this.calMilliseconds(),this}}return this}var g=f.prototype;return g.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(t,n){return t+(e.$d[n]||0)*u[n]}),0)},g.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=m(e/a),e%=a,this.$d.months=m(e/l),e%=l,this.$d.days=m(e/o),e%=o,this.$d.hours=m(e/r),e%=r,this.$d.minutes=m(e/i),e%=i,this.$d.seconds=m(e/n),e%=n,this.$d.milliseconds=e},g.toISOString=function(){var e=v(this.$d.years,"Y"),t=v(this.$d.months,"M"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,"D"),r=v(this.$d.hours,"H"),o=v(this.$d.minutes,"M"),s=this.$d.seconds||0;this.$d.milliseconds&&(s+=this.$d.milliseconds/1e3);var a=v(s,"S"),l=e.negative||t.negative||i.negative||r.negative||o.negative||a.negative,c=r.format||o.format||a.format?"T":"",u=(l?"-":"")+"P"+e.format+t.format+i.format+c+r.format+o.format+a.format;return"P"===u||"-P"===u?"P0D":u},g.toJSON=function(){return this.toISOString()},g.format=function(e){var n=e||"YYYY-MM-DDTHH:mm:ss",i={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return n.replace(s,(function(e,t){return t||String(i[e])}))},g.as=function(e){return this.$ms/u[p(e)]},g.get=function(e){var t=this.$ms,n=p(e);return"milliseconds"===n?t%=1e3:t="weeks"===n?m(t/u[n]):this.$d[n],0===t?0:t},g.add=function(e,t,n){var i;return i=t?e*u[p(t)]:h(e)?e.$ms:d(e,this).$ms,d(this.$ms+i*(n?-1:1),this)},g.subtract=function(e,t){return this.add(e,t,!0)},g.locale=function(e){var t=this.clone();return t.$l=e,t},g.clone=function(){return d(this.$ms,this)},g.humanize=function(t){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},f}();return function(n,i,r){e=r,t=r().$utils(),r.duration=function(e,t){var n=r.locale();return d(e,{$l:n},t)},r.isDuration=h;var o=i.prototype.add,s=i.prototype.subtract;i.prototype.add=function(e,t){return h(e)&&(e=e.asMilliseconds()),o.bind(this)(e,t)},i.prototype.subtract=function(e,t){return h(e)&&(e=e.asMilliseconds()),s.bind(this)(e,t)}}}()}(duration$1);const duration=durationExports;var howler=exports("bl",{}),exports$1;
  7. /*!
  8. * howler.js v2.2.3
  9. * howlerjs.com
  10. *
  11. * (c) 2013-2020, James Simpson of GoldFire Studios
  12. * goldfirestudios.com
  13. *
  14. * MIT License
  15. */exports$1=howler,function(){var t=function(){this.init()};t.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var t=this||n;if(e=parseFloat(e),t.ctx||u(),void 0!==e&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var i=0;i<t._howls.length;i++)if(!t._howls[i]._webAudio)for(var r=t._howls[i]._getSoundIds(),o=0;o<r.length;o++){var s=t._howls[i]._soundById(r[o]);s&&s._node&&(s._node.volume=s._volume*e)}return t}return t._volume},mute:function(e){var t=this||n;t.ctx||u(),t._muted=e,t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e?0:t._volume,n.ctx.currentTime);for(var i=0;i<t._howls.length;i++)if(!t._howls[i]._webAudio)for(var r=t._howls[i]._getSoundIds(),o=0;o<r.length;o++){var s=t._howls[i]._soundById(r[o]);s&&s._node&&(s._node.muted=!!e||s._muted)}return t},stop:function(){for(var e=this||n,t=0;t<e._howls.length;t++)e._howls[t].stop();return e},unload:function(){for(var e=this||n,t=e._howls.length-1;t>=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,u()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var t=this||n;if(t.state=t.ctx&&t.ctx.state||"suspended",t._autoSuspend(),!t.usingWebAudio)if("undefined"!=typeof Audio)try{void 0===(new Audio).oncanplaythrough&&(t._canPlayEvent="canplay")}catch(e){t.noAudio=!0}else t.noAudio=!0;try{(new Audio).muted&&(t.noAudio=!0)}catch(e){}return t.noAudio||t._setupCodecs(),t},_setupCodecs:function(){var e=this||n,t=null;try{t="undefined"!=typeof Audio?new Audio:null}catch(err){return e}if(!t||"function"!=typeof t.canPlayType)return e;var i=t.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator?e._navigator.userAgent:"",o=r.match(/OPR\/([0-6].)/g),s=o&&parseInt(o[0].split("/")[1],10)<33,a=-1!==r.indexOf("Safari")&&-1===r.indexOf("Chrome"),l=r.match(/Version\/(.*?) /),c=a&&l&&parseInt(l[1],10)<15;return e._codecs={mp3:!(s||!i&&!t.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!i,opus:!!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(t.canPlayType('audio/wav; codecs="1"')||t.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!t.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!t.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/m4a;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(t.canPlayType("audio/x-m4b;")||t.canPlayType("audio/m4b;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(t.canPlayType("audio/x-mp4;")||t.canPlayType("audio/mp4;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!(c||!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!(c||!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(t.canPlayType("audio/x-flac;")||t.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(;e._html5AudioPool.length<e.html5PoolSize;)try{var i=new Audio;i._unlocked=!0,e._releaseHtml5Audio(i)}catch(n){e.noAudio=!0;break}for(var r=0;r<e._howls.length;r++)if(!e._howls[r]._webAudio)for(var o=e._howls[r]._getSoundIds(),s=0;s<o.length;s++){var a=e._howls[r]._soundById(o[s]);a&&a._node&&!a._node._unlocked&&(a._node._unlocked=!0,a._node.load())}e._autoResume();var l=e.ctx.createBufferSource();l.buffer=e._scratchBuffer,l.connect(e.ctx.destination),void 0===l.start?l.noteOn(0):l.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),l.onended=function(){l.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",t,!0),document.removeEventListener("touchend",t,!0),document.removeEventListener("click",t,!0),document.removeEventListener("keydown",t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",t,!0),document.addEventListener("touchend",t,!0),document.addEventListener("click",t,!0),document.addEventListener("keydown",t,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var t=(new Audio).play();return t&&"undefined"!=typeof Promise&&(t instanceof Promise||"function"==typeof t.then)&&t.catch((function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")})),new Audio},_releaseHtml5Audio:function(e){var t=this||n;return e._unlocked&&t._html5AudioPool.push(e),t},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&n.usingWebAudio){for(var t=0;t<e._howls.length;t++)if(e._howls[t]._webAudio)for(var i=0;i<e._howls[t]._sounds.length;i++)if(!e._howls[t]._sounds[i]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout((function(){if(e.autoSuspend){e._suspendTimer=null,e.state="suspending";var t=function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())};e.ctx.suspend().then(t,t)}}),3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&void 0!==e.ctx.resume&&n.usingWebAudio)return"running"===e.state&&"interrupted"!==e.ctx.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state||"running"===e.state&&"interrupted"===e.ctx.state?(e.ctx.resume().then((function(){e.state="running";for(var t=0;t<e._howls.length;t++)e._howls[t]._emit("resume")})),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var n=new t,i=function(e){e.src&&0!==e.src.length?this.init(e):console.error("An array of source files must be passed with any new Howl.")};i.prototype={init:function(e){var t=this;return n.ctx||u(),t._autoplay=e.autoplay||!1,t._format="string"!=typeof e.format?e.format:[e.format],t._html5=e.html5||!1,t._muted=e.mute||!1,t._loop=e.loop||!1,t._pool=e.pool||5,t._preload="boolean"!=typeof e.preload&&"metadata"!==e.preload||e.preload,t._rate=e.rate||1,t._sprite=e.sprite||{},t._src="string"!=typeof e.src?e.src:[e.src],t._volume=void 0!==e.volume?e.volume:1,t._xhr={method:e.xhr&&e.xhr.method?e.xhr.method:"GET",headers:e.xhr&&e.xhr.headers?e.xhr.headers:null,withCredentials:!(!e.xhr||!e.xhr.withCredentials)&&e.xhr.withCredentials},t._duration=0,t._state="unloaded",t._sounds=[],t._endTimers={},t._queue=[],t._playLock=!1,t._onend=e.onend?[{fn:e.onend}]:[],t._onfade=e.onfade?[{fn:e.onfade}]:[],t._onload=e.onload?[{fn:e.onload}]:[],t._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],t._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],t._onpause=e.onpause?[{fn:e.onpause}]:[],t._onplay=e.onplay?[{fn:e.onplay}]:[],t._onstop=e.onstop?[{fn:e.onstop}]:[],t._onmute=e.onmute?[{fn:e.onmute}]:[],t._onvolume=e.onvolume?[{fn:e.onvolume}]:[],t._onrate=e.onrate?[{fn:e.onrate}]:[],t._onseek=e.onseek?[{fn:e.onseek}]:[],t._onunlock=e.onunlock?[{fn:e.onunlock}]:[],t._onresume=[],t._webAudio=n.usingWebAudio&&!t._html5,void 0!==n.ctx&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(t),t._autoplay&&t._queue.push({event:"play",action:function(){t.play()}}),t._preload&&"none"!==t._preload&&t.load(),t},load:function(){var e=this,t=null;if(n.noAudio)e._emit("loaderror",null,"No audio support.");else{"string"==typeof e._src&&(e._src=[e._src]);for(var i=0;i<e._src.length;i++){var o,a;if(e._format&&e._format[i])o=e._format[i];else{if("string"!=typeof(a=e._src[i])){e._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}(o=/^data:audio\/([^;,]+);/i.exec(a))||(o=/\.([^.]+)$/.exec(a.split("?",1)[0])),o&&(o=o[1].toLowerCase())}if(o||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),o&&n.codecs(o)){t=e._src[i];break}}if(t)return e._src=t,e._state="loading","https:"===window.location.protocol&&"http:"===t.slice(0,5)&&(e._html5=!0,e._webAudio=!1),new r(e),e._webAudio&&s(e),e;e._emit("loaderror",null,"No codec support for selected audio sources.")}},play:function(e,t){var i=this,r=null;if("number"==typeof e)r=e,e=null;else{if("string"==typeof e&&"loaded"===i._state&&!i._sprite[e])return null;if(void 0===e&&(e="__default",!i._playLock)){for(var o=0,s=0;s<i._sounds.length;s++)i._sounds[s]._paused&&!i._sounds[s]._ended&&(o++,r=i._sounds[s]._id);1===o?e=null:r=null}}var a=r?i._soundById(r):i._inactiveSound();if(!a)return null;if(r&&!e&&(e=a._sprite||"__default"),"loaded"!==i._state){a._sprite=e,a._ended=!1;var l=a._id;return i._queue.push({event:"play",action:function(){i.play(l)}}),l}if(r&&!a._paused)return t||i._loadQueue("play"),a._id;i._webAudio&&n._autoResume();var c=Math.max(0,a._seek>0?a._seek:i._sprite[e][0]/1e3),u=Math.max(0,(i._sprite[e][0]+i._sprite[e][1])/1e3-c),h=1e3*u/Math.abs(a._rate),d=i._sprite[e][0]/1e3,p=(i._sprite[e][0]+i._sprite[e][1])/1e3;a._sprite=e,a._ended=!1;var f=function(){a._paused=!1,a._seek=c,a._start=d,a._stop=p,a._loop=!(!a._loop&&!i._sprite[e][2])};if(!(c>=p)){var m=a._node;if(i._webAudio){var g=function(){i._playLock=!1,f(),i._refreshBuffer(a);var e=a._muted||i._muted?0:a._volume;m.gain.setValueAtTime(e,n.ctx.currentTime),a._playStart=n.ctx.currentTime,void 0===m.bufferSource.start?a._loop?m.bufferSource.noteGrainOn(0,c,86400):m.bufferSource.noteGrainOn(0,c,u):a._loop?m.bufferSource.start(0,c,86400):m.bufferSource.start(0,c,u),h!==1/0&&(i._endTimers[a._id]=setTimeout(i._ended.bind(i,a),h)),t||setTimeout((function(){i._emit("play",a._id),i._loadQueue()}),0)};"running"===n.state&&"interrupted"!==n.ctx.state?g():(i._playLock=!0,i.once("resume",g),i._clearTimer(a._id))}else{var v=function(){m.currentTime=c,m.muted=a._muted||i._muted||n._muted||m.muted,m.volume=a._volume*n.volume(),m.playbackRate=a._rate;try{var r=m.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(i._playLock=!0,f(),r.then((function(){i._playLock=!1,m._unlocked=!0,t?i._loadQueue():i._emit("play",a._id)})).catch((function(){i._playLock=!1,i._emit("playerror",a._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),a._ended=!0,a._paused=!0}))):t||(i._playLock=!1,f(),i._emit("play",a._id)),m.playbackRate=a._rate,m.paused)return void i._emit("playerror",a._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||a._loop?i._endTimers[a._id]=setTimeout(i._ended.bind(i,a),h):(i._endTimers[a._id]=function(){i._ended(a),m.removeEventListener("ended",i._endTimers[a._id],!1)},m.addEventListener("ended",i._endTimers[a._id],!1))}catch(err){i._emit("playerror",a._id,err)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===m.src&&(m.src=i._src,m.load());var b=window&&window.ejecta||!m.readyState&&n._navigator.isCocoonJS;if(m.readyState>=3||b)v();else{i._playLock=!0,i._state="loading";var y=function(){i._state="loaded",v(),m.removeEventListener(n._canPlayEvent,y,!1)};m.addEventListener(n._canPlayEvent,y,!1),i._clearTimer(a._id)}}return a._id}i._ended(a)},pause:function(e){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),i=0;i<n.length;i++){t._clearTimer(n[i]);var r=t._soundById(n[i]);if(r&&!r._paused&&(r._seek=t.seek(n[i]),r._rateSeek=0,r._paused=!0,t._stopFade(n[i]),r._node))if(t._webAudio){if(!r._node.bufferSource)continue;void 0===r._node.bufferSource.stop?r._node.bufferSource.noteOff(0):r._node.bufferSource.stop(0),t._cleanBuffer(r._node)}else isNaN(r._node.duration)&&r._node.duration!==1/0||r._node.pause();arguments[1]||t._emit("pause",r?r._id:null)}return t},stop:function(e,t){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"stop",action:function(){n.stop(e)}}),n;for(var i=n._getSoundIds(e),r=0;r<i.length;r++){n._clearTimer(i[r]);var o=n._soundById(i[r]);o&&(o._seek=o._start||0,o._rateSeek=0,o._paused=!0,o._ended=!0,n._stopFade(i[r]),o._node&&(n._webAudio?o._node.bufferSource&&(void 0===o._node.bufferSource.stop?o._node.bufferSource.noteOff(0):o._node.bufferSource.stop(0),n._cleanBuffer(o._node)):isNaN(o._node.duration)&&o._node.duration!==1/0||(o._node.currentTime=o._start||0,o._node.pause(),o._node.duration===1/0&&n._clearSound(o._node))),t||n._emit("stop",o._id))}return n},mute:function(e,t){var i=this;if("loaded"!==i._state||i._playLock)return i._queue.push({event:"mute",action:function(){i.mute(e,t)}}),i;if(void 0===t){if("boolean"!=typeof e)return i._muted;i._muted=e}for(var r=i._getSoundIds(t),o=0;o<r.length;o++){var s=i._soundById(r[o]);s&&(s._muted=e,s._interval&&i._stopFade(s._id),i._webAudio&&s._node?s._node.gain.setValueAtTime(e?0:s._volume,n.ctx.currentTime):s._node&&(s._node.muted=!!n._muted||e),i._emit("mute",s._id))}return i},volume:function(){var e,t,i,r=this,o=arguments;if(0===o.length)return r._volume;if(1===o.length||2===o.length&&void 0===o[1]?r._getSoundIds().indexOf(o[0])>=0?t=parseInt(o[0],10):e=parseFloat(o[0]):o.length>=2&&(e=parseFloat(o[0]),t=parseInt(o[1],10)),!(void 0!==e&&e>=0&&e<=1))return(i=t?r._soundById(t):r._sounds[0])?i._volume:0;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"volume",action:function(){r.volume.apply(r,o)}}),r;void 0===t&&(r._volume=e),t=r._getSoundIds(t);for(var s=0;s<t.length;s++)(i=r._soundById(t[s]))&&(i._volume=e,o[2]||r._stopFade(t[s]),r._webAudio&&i._node&&!i._muted?i._node.gain.setValueAtTime(e,n.ctx.currentTime):i._node&&!i._muted&&(i._node.volume=e*n.volume()),r._emit("volume",i._id));return r},fade:function(e,t,i,r){var o=this;if("loaded"!==o._state||o._playLock)return o._queue.push({event:"fade",action:function(){o.fade(e,t,i,r)}}),o;e=Math.min(Math.max(0,parseFloat(e)),1),t=Math.min(Math.max(0,parseFloat(t)),1),i=parseFloat(i),o.volume(e,r);for(var s=o._getSoundIds(r),a=0;a<s.length;a++){var l=o._soundById(s[a]);if(l){if(r||o._stopFade(s[a]),o._webAudio&&!l._muted){var c=n.ctx.currentTime,u=c+i/1e3;l._volume=e,l._node.gain.setValueAtTime(e,c),l._node.gain.linearRampToValueAtTime(t,u)}o._startFadeInterval(l,e,t,i,s[a],void 0===r)}}return o},_startFadeInterval:function(e,t,n,i,r,o){var s=this,a=t,l=n-t,c=Math.abs(l/.01),u=Math.max(4,c>0?i/c:i),h=Date.now();e._fadeTo=n,e._interval=setInterval((function(){var r=(Date.now()-h)/i;h=Date.now(),a+=l*r,a=Math.round(100*a)/100,a=l<0?Math.max(n,a):Math.min(n,a),s._webAudio?e._volume=a:s.volume(a,e._id,!0),o&&(s._volume=a),(n<t&&a<=n||n>t&&a>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,s.volume(n,e._id),s._emit("fade",e._id))}),u)},_stopFade:function(e){var t=this,i=t._soundById(e);return i&&i._interval&&(t._webAudio&&i._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(i._interval),i._interval=null,t.volume(i._fadeTo,e),i._fadeTo=null,t._emit("fade",e)),t},loop:function(){var e,t,n,i=this,r=arguments;if(0===r.length)return i._loop;if(1===r.length){if("boolean"!=typeof r[0])return!!(n=i._soundById(parseInt(r[0],10)))&&n._loop;e=r[0],i._loop=e}else 2===r.length&&(e=r[0],t=parseInt(r[1],10));for(var o=i._getSoundIds(t),s=0;s<o.length;s++)(n=i._soundById(o[s]))&&(n._loop=e,i._webAudio&&n._node&&n._node.bufferSource&&(n._node.bufferSource.loop=e,e&&(n._node.bufferSource.loopStart=n._start||0,n._node.bufferSource.loopEnd=n._stop,i.playing(o[s])&&(i.pause(o[s],!0),i.play(o[s],!0)))));return i},rate:function(){var e,t,i,r=this,o=arguments;if(0===o.length?t=r._sounds[0]._id:1===o.length?r._getSoundIds().indexOf(o[0])>=0?t=parseInt(o[0],10):e=parseFloat(o[0]):2===o.length&&(e=parseFloat(o[0]),t=parseInt(o[1],10)),"number"!=typeof e)return(i=r._soundById(t))?i._rate:r._rate;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"rate",action:function(){r.rate.apply(r,o)}}),r;void 0===t&&(r._rate=e),t=r._getSoundIds(t);for(var s=0;s<t.length;s++)if(i=r._soundById(t[s])){r.playing(t[s])&&(i._rateSeek=r.seek(t[s]),i._playStart=r._webAudio?n.ctx.currentTime:i._playStart),i._rate=e,r._webAudio&&i._node&&i._node.bufferSource?i._node.bufferSource.playbackRate.setValueAtTime(e,n.ctx.currentTime):i._node&&(i._node.playbackRate=e);var a=r.seek(t[s]),l=1e3*((r._sprite[i._sprite][0]+r._sprite[i._sprite][1])/1e3-a)/Math.abs(i._rate);!r._endTimers[t[s]]&&i._paused||(r._clearTimer(t[s]),r._endTimers[t[s]]=setTimeout(r._ended.bind(r,i),l)),r._emit("rate",i._id)}return r},seek:function(){var e,t,i=this,r=arguments;if(0===r.length?i._sounds.length&&(t=i._sounds[0]._id):1===r.length?i._getSoundIds().indexOf(r[0])>=0?t=parseInt(r[0],10):i._sounds.length&&(t=i._sounds[0]._id,e=parseFloat(r[0])):2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10)),void 0===t)return 0;if("number"==typeof e&&("loaded"!==i._state||i._playLock))return i._queue.push({event:"seek",action:function(){i.seek.apply(i,r)}}),i;var o=i._soundById(t);if(o){if(!("number"==typeof e&&e>=0)){if(i._webAudio){var s=i.playing(t)?n.ctx.currentTime-o._playStart:0,a=o._rateSeek?o._rateSeek-o._seek:0;return o._seek+(a+s*Math.abs(o._rate))}return o._node.currentTime}var l=i.playing(t);l&&i.pause(t,!0),o._seek=e,o._ended=!1,i._clearTimer(t),i._webAudio||!o._node||isNaN(o._node.duration)||(o._node.currentTime=e);var c=function(){l&&i.play(t,!0),i._emit("seek",t)};if(l&&!i._webAudio){var u=function(){i._playLock?setTimeout(u,0):c()};setTimeout(u,0)}else c()}return i},playing:function(e){var t=this;if("number"==typeof e){var n=t._soundById(e);return!!n&&!n._paused}for(var i=0;i<t._sounds.length;i++)if(!t._sounds[i]._paused)return!0;return!1},duration:function(e){var t=this,n=t._duration,i=t._soundById(e);return i&&(n=t._sprite[i._sprite][1]/1e3),n},state:function(){return this._state},unload:function(){for(var e=this,t=e._sounds,i=0;i<t.length;i++)t[i]._paused||e.stop(t[i]._id),e._webAudio||(e._clearSound(t[i]._node),t[i]._node.removeEventListener("error",t[i]._errorFn,!1),t[i]._node.removeEventListener(n._canPlayEvent,t[i]._loadFn,!1),t[i]._node.removeEventListener("ended",t[i]._endFn,!1),n._releaseHtml5Audio(t[i]._node)),delete t[i]._node,e._clearTimer(t[i]._id);var r=n._howls.indexOf(e);r>=0&&n._howls.splice(r,1);var s=!0;for(i=0;i<n._howls.length;i++)if(n._howls[i]._src===e._src||e._src.indexOf(n._howls[i]._src)>=0){s=!1;break}return o&&s&&delete o[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,t,n,i){var r=this["_on"+e];return"function"==typeof t&&r.push(i?{id:n,fn:t,once:i}:{id:n,fn:t}),this},off:function(e,t,n){var i=this,r=i["_on"+e],o=0;if("number"==typeof t&&(n=t,t=null),t||n)for(o=0;o<r.length;o++){var s=n===r[o].id;if(t===r[o].fn&&s||!t&&s){r.splice(o,1);break}}else if(e)i["_on"+e]=[];else{var a=Object.keys(i);for(o=0;o<a.length;o++)0===a[o].indexOf("_on")&&Array.isArray(i[a[o]])&&(i[a[o]]=[])}return i},once:function(e,t,n){return this.on(e,t,n,1),this},_emit:function(e,t,n){for(var i=this,r=i["_on"+e],o=r.length-1;o>=0;o--)r[o].id&&r[o].id!==t&&"load"!==e||(setTimeout(function(e){e.call(this,t,n)}.bind(i,r[o].fn),0),r[o].once&&i.off(e,r[o].fn,r[o].id));return i._loadQueue(e),i},_loadQueue:function(e){var t=this;if(t._queue.length>0){var n=t._queue[0];n.event===e&&(t._queue.shift(),t._loadQueue()),e||n.action()}return t},_ended:function(e){var t=this,i=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(t._ended.bind(t,e),100),t;var r=!(!e._loop&&!t._sprite[i][2]);if(t._emit("end",e._id),!t._webAudio&&r&&t.stop(e._id,!0).play(e._id),t._webAudio&&r){t._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var o=1e3*(e._stop-e._start)/Math.abs(e._rate);t._endTimers[e._id]=setTimeout(t._ended.bind(t,e),o)}return t._webAudio&&!r&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,t._clearTimer(e._id),t._cleanBuffer(e._node),n._autoSuspend()),t._webAudio||r||t.stop(e._id,!0),t},_clearTimer:function(e){var t=this;if(t._endTimers[e]){if("function"!=typeof t._endTimers[e])clearTimeout(t._endTimers[e]);else{var n=t._soundById(e);n&&n._node&&n._node.removeEventListener("ended",t._endTimers[e],!1)}delete t._endTimers[e]}return t},_soundById:function(e){for(var t=this,n=0;n<t._sounds.length;n++)if(e===t._sounds[n]._id)return t._sounds[n];return null},_inactiveSound:function(){var e=this;e._drain();for(var t=0;t<e._sounds.length;t++)if(e._sounds[t]._ended)return e._sounds[t].reset();return new r(e)},_drain:function(){var e=this,t=e._pool,n=0,i=0;if(!(e._sounds.length<t)){for(i=0;i<e._sounds.length;i++)e._sounds[i]._ended&&n++;for(i=e._sounds.length-1;i>=0;i--){if(n<=t)return;e._sounds[i]._ended&&(e._webAudio&&e._sounds[i]._node&&e._sounds[i]._node.disconnect(0),e._sounds.splice(i,1),n--)}}},_getSoundIds:function(e){if(void 0===e){for(var t=[],n=0;n<this._sounds.length;n++)t.push(this._sounds[n]._id);return t}return[e]},_refreshBuffer:function(e){return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=o[this._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),this},_cleanBuffer:function(t){var i=n._navigator&&n._navigator.vendor.indexOf("Apple")>=0;if(n._scratchBuffer&&t.bufferSource&&(t.bufferSource.onended=null,t.bufferSource.disconnect(0),i))try{t.bufferSource.buffer=n._scratchBuffer}catch(e){}return t.bufferSource=null,this},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var r=function(e){this._parent=e,this.init()};r.prototype={init:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,t._sounds.push(e),e.create(),e},create:function(){var e=this,t=e._parent,i=n._muted||e._muted||e._parent._muted?0:e._volume;return t._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(i,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener("ended",e._endFn,!1),e._node.src=t._src,e._node.preload=!0===t._preload?"auto":t._preload,e._node.volume=i*n.volume(),e._node.load()),e},reset:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,t=e._parent;t._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(t._sprite).length&&(t._sprite={__default:[0,1e3*t._duration]}),"loaded"!==t._state&&(t._state="loaded",t._emit("load"),t._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,t=e._parent;t._duration===1/0&&(t._duration=Math.ceil(10*e._node.duration)/10,t._sprite.__default[1]===1/0&&(t._sprite.__default[1]=1e3*t._duration),t._ended(e)),e._node.removeEventListener("ended",e._endFn,!1)}};var o={},s=function(e){var t=e._src;if(o[t])return e._duration=o[t].duration,void c(e);if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(",")[1]),i=new Uint8Array(n.length),r=0;r<n.length;++r)i[r]=n.charCodeAt(r);l(i.buffer,e)}else{var s=new XMLHttpRequest;s.open(e._xhr.method,t,!0),s.withCredentials=e._xhr.withCredentials,s.responseType="arraybuffer",e._xhr.headers&&Object.keys(e._xhr.headers).forEach((function(t){s.setRequestHeader(t,e._xhr.headers[t])})),s.onload=function(){var t=(s.status+"")[0];"0"===t||"2"===t||"3"===t?l(s.response,e):e._emit("loaderror",null,"Failed loading audio file with status: "+s.status+".")},s.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete o[t],e.load())},a(s)}},a=function(t){try{t.send()}catch(e){t.onerror()}},l=function(e,t){var i=function(){t._emit("loaderror",null,"Decoding audio data failed.")},r=function(e){e&&t._sounds.length>0?(o[t._src]=e,c(t,e)):i()};"undefined"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(r).catch(i):n.ctx.decodeAudioData(e,r,i)},c=function(e,t){t&&!e._duration&&(e._duration=t.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},u=function(){if(n.usingWebAudio){try{"undefined"!=typeof AudioContext?n.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var t=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),i=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),r=i?parseInt(i[1],10):null;if(t&&r&&r<9){var o=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!o&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};exports$1.Howler=n,exports$1.Howl=i,void 0!==commonjsGlobal?(commonjsGlobal.HowlerGlobal=t,commonjsGlobal.Howler=n,commonjsGlobal.Howl=i,commonjsGlobal.Sound=r):"undefined"!=typeof window&&(window.HowlerGlobal=t,window.Howler=n,window.Howl=i,window.Sound=r)}(),
  16. /*!
  17. * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
  18. *
  19. * howler.js v2.2.3
  20. * howlerjs.com
  21. *
  22. * (c) 2013-2020, James Simpson of GoldFire Studios
  23. * goldfirestudios.com
  24. *
  25. * MIT License
  26. */
  27. function(){var e;HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,n){var i=this;return i.ctx&&i.ctx.listener?(t="number"!=typeof t?i._pos[1]:t,n="number"!=typeof n?i._pos[2]:n,"number"!=typeof e?i._pos:(i._pos=[e,t,n],void 0!==i.ctx.listener.positionX?(i.ctx.listener.positionX.setTargetAtTime(i._pos[0],Howler.ctx.currentTime,.1),i.ctx.listener.positionY.setTargetAtTime(i._pos[1],Howler.ctx.currentTime,.1),i.ctx.listener.positionZ.setTargetAtTime(i._pos[2],Howler.ctx.currentTime,.1)):i.ctx.listener.setPosition(i._pos[0],i._pos[1],i._pos[2]),i)):i},HowlerGlobal.prototype.orientation=function(e,t,n,i,r,o){var s=this;if(!s.ctx||!s.ctx.listener)return s;var a=s._orientation;return t="number"!=typeof t?a[1]:t,n="number"!=typeof n?a[2]:n,i="number"!=typeof i?a[3]:i,r="number"!=typeof r?a[4]:r,o="number"!=typeof o?a[5]:o,"number"!=typeof e?a:(s._orientation=[e,t,n,i,r,o],void 0!==s.ctx.listener.forwardX?(s.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),s.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),s.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1),s.ctx.listener.upX.setTargetAtTime(i,Howler.ctx.currentTime,.1),s.ctx.listener.upY.setTargetAtTime(r,Howler.ctx.currentTime,.1),s.ctx.listener.upZ.setTargetAtTime(o,Howler.ctx.currentTime,.1)):s.ctx.listener.setOrientation(e,t,n,i,r,o),s)},Howl.prototype.init=(e=Howl.prototype.init,function(t){var n=this;return n._orientation=t.orientation||[1,0,0],n._stereo=t.stereo||null,n._pos=t.pos||null,n._pannerAttr={coneInnerAngle:void 0!==t.coneInnerAngle?t.coneInnerAngle:360,coneOuterAngle:void 0!==t.coneOuterAngle?t.coneOuterAngle:360,coneOuterGain:void 0!==t.coneOuterGain?t.coneOuterGain:0,distanceModel:void 0!==t.distanceModel?t.distanceModel:"inverse",maxDistance:void 0!==t.maxDistance?t.maxDistance:1e4,panningModel:void 0!==t.panningModel?t.panningModel:"HRTF",refDistance:void 0!==t.refDistance?t.refDistance:1,rolloffFactor:void 0!==t.rolloffFactor?t.rolloffFactor:1},n._onstereo=t.onstereo?[{fn:t.onstereo}]:[],n._onpos=t.onpos?[{fn:t.onpos}]:[],n._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}),Howl.prototype.stereo=function(e,n){var i=this;if(!i._webAudio)return i;if("loaded"!==i._state)return i._queue.push({event:"stereo",action:function(){i.stereo(e,n)}}),i;var r=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===n){if("number"!=typeof e)return i._stereo;i._stereo=e,i._pos=[e,0,0]}for(var o=i._getSoundIds(n),s=0;s<o.length;s++){var a=i._soundById(o[s]);if(a){if("number"!=typeof e)return a._stereo;a._stereo=e,a._pos=[e,0,0],a._node&&(a._pannerAttr.panningModel="equalpower",a._panner&&a._panner.pan||t(a,r),"spatial"===r?void 0!==a._panner.positionX?(a._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),a._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),a._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):a._panner.setPosition(e,0,0):a._panner.pan.setValueAtTime(e,Howler.ctx.currentTime)),i._emit("stereo",a._id)}}return i},Howl.prototype.pos=function(e,n,i,r){var o=this;if(!o._webAudio)return o;if("loaded"!==o._state)return o._queue.push({event:"pos",action:function(){o.pos(e,n,i,r)}}),o;if(n="number"!=typeof n?0:n,i="number"!=typeof i?-.5:i,void 0===r){if("number"!=typeof e)return o._pos;o._pos=[e,n,i]}for(var s=o._getSoundIds(r),a=0;a<s.length;a++){var l=o._soundById(s[a]);if(l){if("number"!=typeof e)return l._pos;l._pos=[e,n,i],l._node&&(l._panner&&!l._panner.pan||t(l,"spatial"),void 0!==l._panner.positionX?(l._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),l._panner.positionY.setValueAtTime(n,Howler.ctx.currentTime),l._panner.positionZ.setValueAtTime(i,Howler.ctx.currentTime)):l._panner.setPosition(e,n,i)),o._emit("pos",l._id)}}return o},Howl.prototype.orientation=function(e,n,i,r){var o=this;if(!o._webAudio)return o;if("loaded"!==o._state)return o._queue.push({event:"orientation",action:function(){o.orientation(e,n,i,r)}}),o;if(n="number"!=typeof n?o._orientation[1]:n,i="number"!=typeof i?o._orientation[2]:i,void 0===r){if("number"!=typeof e)return o._orientation;o._orientation=[e,n,i]}for(var s=o._getSoundIds(r),a=0;a<s.length;a++){var l=o._soundById(s[a]);if(l){if("number"!=typeof e)return l._orientation;l._orientation=[e,n,i],l._node&&(l._panner||(l._pos||(l._pos=o._pos||[0,0,-.5]),t(l,"spatial")),void 0!==l._panner.orientationX?(l._panner.orientationX.setValueAtTime(e,Howler.ctx.currentTime),l._panner.orientationY.setValueAtTime(n,Howler.ctx.currentTime),l._panner.orientationZ.setValueAtTime(i,Howler.ctx.currentTime)):l._panner.setOrientation(e,n,i)),o._emit("orientation",l._id)}}return o},Howl.prototype.pannerAttr=function(){var e,n,i,r=this,o=arguments;if(!r._webAudio)return r;if(0===o.length)return r._pannerAttr;if(1===o.length){if("object"!=typeof o[0])return(i=r._soundById(parseInt(o[0],10)))?i._pannerAttr:r._pannerAttr;e=o[0],void 0===n&&(e.pannerAttr||(e.pannerAttr={coneInnerAngle:e.coneInnerAngle,coneOuterAngle:e.coneOuterAngle,coneOuterGain:e.coneOuterGain,distanceModel:e.distanceModel,maxDistance:e.maxDistance,refDistance:e.refDistance,rolloffFactor:e.rolloffFactor,panningModel:e.panningModel}),r._pannerAttr={coneInnerAngle:void 0!==e.pannerAttr.coneInnerAngle?e.pannerAttr.coneInnerAngle:r._coneInnerAngle,coneOuterAngle:void 0!==e.pannerAttr.coneOuterAngle?e.pannerAttr.coneOuterAngle:r._coneOuterAngle,coneOuterGain:void 0!==e.pannerAttr.coneOuterGain?e.pannerAttr.coneOuterGain:r._coneOuterGain,distanceModel:void 0!==e.pannerAttr.distanceModel?e.pannerAttr.distanceModel:r._distanceModel,maxDistance:void 0!==e.pannerAttr.maxDistance?e.pannerAttr.maxDistance:r._maxDistance,refDistance:void 0!==e.pannerAttr.refDistance?e.pannerAttr.refDistance:r._refDistance,rolloffFactor:void 0!==e.pannerAttr.rolloffFactor?e.pannerAttr.rolloffFactor:r._rolloffFactor,panningModel:void 0!==e.pannerAttr.panningModel?e.pannerAttr.panningModel:r._panningModel})}else 2===o.length&&(e=o[0],n=parseInt(o[1],10));for(var s=r._getSoundIds(n),a=0;a<s.length;a++)if(i=r._soundById(s[a])){var l=i._pannerAttr;l={coneInnerAngle:void 0!==e.coneInnerAngle?e.coneInnerAngle:l.coneInnerAngle,coneOuterAngle:void 0!==e.coneOuterAngle?e.coneOuterAngle:l.coneOuterAngle,coneOuterGain:void 0!==e.coneOuterGain?e.coneOuterGain:l.coneOuterGain,distanceModel:void 0!==e.distanceModel?e.distanceModel:l.distanceModel,maxDistance:void 0!==e.maxDistance?e.maxDistance:l.maxDistance,refDistance:void 0!==e.refDistance?e.refDistance:l.refDistance,rolloffFactor:void 0!==e.rolloffFactor?e.rolloffFactor:l.rolloffFactor,panningModel:void 0!==e.panningModel?e.panningModel:l.panningModel};var c=i._panner;c?(c.coneInnerAngle=l.coneInnerAngle,c.coneOuterAngle=l.coneOuterAngle,c.coneOuterGain=l.coneOuterGain,c.distanceModel=l.distanceModel,c.maxDistance=l.maxDistance,c.refDistance=l.refDistance,c.rolloffFactor=l.rolloffFactor,c.panningModel=l.panningModel):(i._pos||(i._pos=r._pos||[0,0,-.5]),t(i,"spatial"))}return r},Sound.prototype.init=function(e){return function(){var t=this,n=t._parent;t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,e.call(this),t._stereo?n.stereo(t._stereo):t._pos&&n.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var t=this,n=t._parent;return t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,t._stereo?n.stereo(t._stereo):t._pos?n.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,n._refreshBuffer(t)),e.call(this)}}(Sound.prototype.reset);var t=function(e,t){"spatial"===(t=t||"spatial")?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,void 0!==e._panner.positionX?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),void 0!==e._panner.orientationX?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}}();const tick="data:audio/mpeg;base64,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8ADvAPEA8QDsAOsA1gDYALkAtwCSAJUAYwBfADEANAD6//n/x//H/5P/kv9n/2j/Qf9B/yf/J/8W/xf/EP8O/xn/G/8o/yb/R/9K/27/av+X/5z/z//L//7/AAA3ADYAZQBlAJMAlAC5ALgA0wDUAOUA5ADsAOwA4wDkANYA1AC2ALkAlQCTAGYAZwA3ADcAAwABAM3/0P+h/57/bf9x/1L/Tf8r/zD/I/8e/xX/Gv8f/xv/LP8v/0j/Rv9r/2z/l/+X/8X/xf/6//v/LAApAFsAYACKAIUArQCwAMoAyQDcANwA5ADlAN4A3QDSANMAtwC0AJIAlwBuAGkAOQA9AAwACgDW/9f/qf+o/3r/e/9Z/1n/Of83/yf/K/8h/x3/If8k/zL/MP9J/0r/af9p/5X/lP+//8H/8//x/yQAJgBRAFAAgQCAAKAAowDEAMAA0QDVAN0A2gDZANsAzQDNALcAtQCTAJYAcABtAD8AQQASABEA3//g/7P/sf+D/4b/ZP9g/0H/Rf8x/y//Kf8n/yX/Kv83/zL/Sf9N/2r/aP+S/5D/uv++/+z/6v8cABsASABLAHgAcwCWAJsAugC3AMgAygDYANUA0QDVAMwAxwCwALYAmgCVAGwAbwBKAEgAEwAVAOr/6f+6/7n/jv+R/2z/Z/9M/1L/Ov81/y3/MP8v/y3/N/86/0//Sv9o/23/jv+K/7j/u//k/+P/FgAVAD8AQABtAGwAjwCRAK8ArADAAMQA0ADMAMwAzwDHAMYAsACvAJcAmgByAG4ASgBNABwAHADx/+//wf/D/5n/mP91/3P/U/9Z/0X/Pv8z/zn/Nf8x/z3/P/9O/0z/av9s/4v/iv+1/7X/3v/f/w4ADAA4ADkAYwBjAIYAhgClAKQAuQC7AMgAxQDGAMoAwwC/AK4AsQCWAJQAdQB3AEwASgAlACYA9f/0/8r/zP+j/6L/e/96/2L/Y/9I/0b/Pf9A/zr/Of9B/0D/Uf9S/2n/af+M/4v/rv+w/9z/2v8EAAYAMQAxAFsAWQB8AH8AngCaALAAtADAAL0AwQDDAL8AvQCqAKwAmQCXAHMAdABSAFMAKQAmAPv////U/9D/qP+s/4f/hP9p/2r/T/9R/0j/RP87/0D/S/9F/03/U/9w/2z/hP+H/7H/r//U/9P//v8BACsAKQBPAFAAeAB4AJIAkACpAKwAuAC3AL0AuwC3ALsArQCoAJIAlwB4AHUAVABUACwALwAEAAAA2v/d/7D/sP+R/47/bv9y/1z/Wf9K/0v/Rv9H/0r/SP9W/1f/a/9s/4j/hv+r/6z/0P/P//n/+/8jACAASABMAG4AaQCLAJAAoACdALIAtAC2ALMAswC2AKkApwCTAJQAdwB4AFgAVwAwAC8ACQAMAOL/3v+4/7z/mf+W/3f/ef9j/2H/Uv9U/0z/Sv9O/1D/Wv9Y/2v/bf+I/4f/qP+o/8v/y//1//b/GgAYAEMARgBkAGAAggCHAJsAlgCoAKwAswCvAK0AsQClAKMAlACTAHYAeABcAFoAMgA1ABIADgDk/+j/xP+//5z/o/+E/3z/Z/9v/1z/VP9P/1b/Vf9Q/1v/Xf9v/2//hf+G/6f/pv/H/8f/8P/w/xUAFAA4ADsAYABdAHcAegCWAJMAoACiAKwAqwCqAKoAogCiAJAAkQB7AHkAWABbADwAOQAQABIA8f/w/8b/x/+o/6f/h/+K/3L/bf9h/2X/Vf9U/1v/Wf9b/2H/dP9s/4P/i/+n/5//wf/I/+3/5/8MABIANQAxAFUAWAB0AG8AiQCPAJ0AmACkAKgApQCkAKEAnwCMAI4AfQB7AFkAXAA+ADwAGAAZAPP/8v/R/9H/rP+u/5H/j/95/3r/Z/9l/13/YP9d/1r/Yf9k/3P/cv+G/4P/ov+n/8L/vP/k/+r/CgAGACwALgBPAE4AawBrAIMAgwCWAJcAngCcAKIApQCaAJYAjgCSAHkAdQBeAGIAQAA8ABoAHwD9//j/0v/X/7r/s/+S/5r/hf9+/2n/b/9n/2T/X/9e/2j/av9x/3H/iv+H/53/ov/B/73/4f/i/wIABAApACUARQBJAGYAYwB7AH0AkACPAJYAmACgAJwAlACaAI4AiAB4AH0AXgBbAEMARAAhACEA/P/9/+H/3v+3/7v/ov+e/4X/iP91/3P/af9p/2f/aP9o/2j/dv92/4j/hv+e/6H/v/+7/9r/3/8BAP3/HgAgAEIAQgBdAFsAdgB5AIcAhACUAJcAlgCUAJYAlwCIAIYAeAB8AGAAXABGAEkAIgAgAAcABwDe/+D/xv/E/6P/pP+P/4//ev95/2//cf9s/2r/bP9t/3j/eP+I/4j/nv+e/7z/vP/X/9f//P/8/xgAGQA9ADsAVABWAHEAcACAAIAAjgCPAJMAkQCQAJIAhwCHAHcAdQBhAGQARwBDACcALAAJAAUA5//p/8r/yP+q/6z/lv+W/4D/fv92/3n/b/9s/3H/cv95/3v/i/+H/5z/of+7/7b/0//X//f/9f8VABUAMwA0AFIAUABnAGkAewB6AIgAiQCOAI0AjACNAIcAhAByAHcAZQBhAEYASQAsACoADQANAOz/7v/Q/83/sf+1/5z/mP+G/4n/fP97/3T/cv90/3f/fv97/4f/i/+i/57/tP+2/9T/0//w//D/EAASAC8ALABKAEwAYgBhAHMAdQCFAIIAhwCJAIoAiQCBAIMAdgB0AGAAYgBNAEkAKgAvABUAEADu//T/1//Q/7f/vv+j/5v/jP+T/4L/ff92/3v/e/92/37/gv+M/4j/nv+h/7T/s//R/9L/7P/r/wwADgApACUAQgBHAF4AWABtAHMAfgB5AIQAiACFAIEAfwCDAHQAcABhAGUATABHADEANgAUABAA9//6/9n/1//A/8D/pf+n/5b/k/+E/4f/fv97/33/f/+A/4D/kP+O/5v/nv+2/7P/zP/P/+r/6P8HAAgAIwAiAD4APwBWAFUAaQBqAHcAdwCBAIAAfwCAAIAAfgBuAHEAZQBhAEsATgAzADIAGgAZAPj/+v/j/9//wf/G/6//q/+Y/5v/jP+J/4L/hP+A/4D/hf+E/43/j/+g/57/sf+z/83/y//l/+b/AwACAB0AIAA5ADYAUQBTAGIAYABzAHUAewB5AHsAfwB/AHgAagBzAGYAXgBKAFAAOAA0ABkAGwABAAAA4//k/8r/yf+z/7T/n/+d/4//kv+J/4b/gv+F/4r/h/+O/4//of+h/6//sP/M/8v/4f/h//////8bABoAMAAyAE4ATABbAFwAbgBuAHYAdQB5AHsAeAB2AG4AbwBhAGAATQBPADgANgAeACAABAABAOj/6//P/87/uf+4/6P/pf+Y/5X/if+M/4r/iP+J/4r/k/+T/5//nv+x/7P/yP/G/+D/4f/6//r/FgAVACsALQBIAEgAVwBVAGgAagByAHAAdAB2AHUAdQBtAGwAXwBgAFAATgA3ADoAIwAgAAQACQDy/+v/z//W/8L/vP+m/6r/nf+c/5D/jv+L/47/j/+M/5H/lP+j/6H/sP+w/8b/xv/e/97/9f/2/xIAEgAoACcAQQBBAFIAVABkAGAAawBxAHQAbgBvAHMAbQBrAFwAXQBSAFEAOAA6ACUAIwAKAAsA8f/x/9r/2f/C/8P/rv+v/6L/nv+S/5f/k/+N/43/k/+Y/5X/of+g/7H/sv/E/8T/2//a//P/9v8NAAkAJAAnADsAOgBOAE4AXQBeAGkAaABtAG8AcABtAGYAaQBgAF4ATQBOAD4APgAkACQAEAAOAPP/9//g/9r/xv/L/7T/sv+m/6X/l/+b/5f/kP+R/5j/mf+U/6L/pf+w/7D/xf/C/9j/2//w/+//CQAJAB8AIAA3ADUASQBKAFkAWABjAGUAbABqAGgAaQBqAGkAWgBbAFEAUAA7AD0AKQAnABEAEQD4//r/5P/h/8r/zf+6/7j/qf+q/57/nv+X/5b/l/+Z/5v/l/+i/6b/s/+w/8D/wv/Y/9j/7v/s/wQABQAcABwAMgAxAEMARgBVAFIAYABhAGYAZQBoAGkAZABlAFsAWgBRAFEAPAA7ACoALAAVABIA+v///+r/4//N/9T/wP+6/63/sf+j/6D/mv+d/5v/mf+b/5v/p/+o/6//rf/C/8b/1v/R/+j/7v8GAP7/EgAbADEAKQA9AEQAUgBMAFkAXgBkAGAAZABmAGIAYQBbAF0ATgBLAD8AQgArACkAFgAXAAAAAgDs/+f/0v/Y/8b/wP+v/7T/qP+m/6H/n/8=",tock="data:audio/mpeg;base64,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",tockAndTick={tick:tick,tock:tock},tickWav=""+new URL("../wav/tick-7706b760.wav",module.meta.url).href,tockWav=""+new URL("../wav/tock-32d5f74b.wav",module.meta.url).href,browserInfo$3=browser();let tipsTimer=null;const audioData$2=reactive({tick:null,tock:null}),metronomeData=exports("a5",reactive({disable:!0,initPlayerState:!1,lineShow:!1,isClick:!1,metro:null,metroList:[],activeList:[],metroMeasure:[],activeIndex:null,activeMetro:{},cursorMode:1,cursorTips:"",followAudioIndex:1,totalNumerator:2}));watch((()=>metronomeData.cursorMode),(()=>{const e=document.querySelector("#cursorImg-0");if(e){switch(metronomeData.cursorMode){case 1:e.classList.remove("lineHide"),e.style.opacity="inherit",metronomeData.cursorTips="您已切换到指针跟随音符播放",e.style.opacity="inherit";break;case 2:e.classList.add("lineHide"),e.style.opacity="inherit",metronomeData.cursorTips="您已切换到指针跟随节拍播放";break;case 3:e.style.opacity="0",metronomeData.cursorTips="您已关闭指针显示"}hideCursorTip()}})),watch((()=>metronomeData.lineShow),(()=>{const e=document.querySelector("#cursorImg-0");e&&(metronomeData.lineShow?e.classList.add("lineHide"):e.classList.remove("lineHide"))}));class Metronome{constructor(e){_defineProperty2(this,"playType","tick"),_defineProperty2(this,"source",null),_defineProperty2(this,"source1",null),_defineProperty2(this,"source2",null),_defineProperty2(this,"createAudio",(e=>new Promise((t=>{const n=new Audio(e);n.load(),n.onloadedmetadata=()=>{t(n)},n.onerror=()=>{t(null)}})))),_defineProperty2(this,"sound",(e=>{state$1.sectionStatus||(e=setCurrentTime(e));let t=-1,n=-1;for(let i=0;i<metronomeData.metroList.length;i++){const r=metronomeData.metroList[i];if(!(e>=r))break;t=i,n=r}if(t>-1&&metronomeData.activeIndex!==t)return metronomeData.activeIndex=t,metronomeData.activeMetro=this.getStep(n),this.playAudio(),void(metronomeData.isClick=!1);metronomeData.isClick=!1})),_defineProperty2(this,"playAudio",(()=>{var e;if(!metronomeData.initPlayerState||"paused"===state$1.playState)return;const t=state$1.setting.beatVolume/100;this.source=0===(null===(e=metronomeData.activeMetro)||void 0===e?void 0:e.index)?audioData$2.tick:audioData$2.tock,this.source.volume=metronomeData.disable?0:t,this.source.volume<=0?this.source.muted=!0:this.source.muted=!1,this.source.play()})),_defineProperty2(this,"simulatePlayAudio",(()=>{if(!metronomeData.initPlayerState)return;const e=state$1.setting.beatVolume/100;this.source=1===metronomeData.followAudioIndex?audioData$2.tick:audioData$2.tock,this.source.volume=metronomeData.disable?0:e,this.source.volume<=0?this.source.muted=!0:this.source.muted=!1,console.log("音量",this.source,this.source.volume),this.source.play(),metronomeData.followAudioIndex+=1,metronomeData.followAudioIndex=metronomeData.followAudioIndex>metronomeData.totalNumerator?1:metronomeData.followAudioIndex})),_defineProperty2(this,"loadAudio1",(()=>new howler.Howl({src:tockAndTick.tick}))),_defineProperty2(this,"loadAudio2",(()=>new howler.Howl({src:tockAndTick.tock})))}init(e){this.calculation(e),metronomeData.activeList=[]}initPlayer(){Promise.all([this.createAudio(tickWav),this.createAudio(tockWav)]).then((([e,t])=>{e&&(audioData$2.tick=e),t&&(audioData$2.tock=t),metronomeData.initPlayerState=!0}))}selectPlay(){}getStep(e){for(let t=0;t<metronomeData.metroMeasure.length;t++){const n=metronomeData.metroMeasure[t].find((t=>t.time===e));if(n)return n}return{}}calculation(e){var t;const n=[];let i=-1;for(let S=0;S<e.length;S++){var r,o,s,a;const t=e[S],v=null==t||null===(r=t.noteElement)||void 0===r||null===(o=r.sourceMeasure)||void 0===o?void 0:o.MeasureNumberXML,b=null==t||null===(s=t.noteElement)||void 0===s||null===(a=s.sourceMeasure)||void 0===a?void 0:a.measureListIndex;if(v>-1&&v!=i){var l,c,u,h,d,p,f,m,g;const r={measureNumberXML:v,measureNumberIndex:b,numerator:(null==t||null===(l=t.noteElement)||void 0===l||null===(c=l.sourceMeasure)||void 0===c||null===(u=c.ActiveTimeSignature)||void 0===u?void 0:u.numerator)||0,start:t.measures[0].time,end:t.measures[t.measures.length-1].endtime,time:t.measures[t.measures.length-1].endtime-t.measures[0].time,stave_x:(null==t||null===(h=t.noteElement)||void 0===h||null===(d=h.sourceMeasure)||void 0===d||null===(p=d.verticalMeasureList)||void 0===p||null===(f=p[0])||void 0===f||null===(m=f.stave)||void 0===m?void 0:m.x)||0,end_x:(null==t||null===(g=t.stave)||void 0===g?void 0:g.end_x)||0,stepList:[],svgs:[],isRestFlag:t.isRestFlag};if([121].includes(state$1.subjectId)){const n=e.filter((e=>{var t,n;return(null==e||null===(t=e.noteElement)||void 0===t||null===(n=t.sourceMeasure)||void 0===n?void 0:n.measureListIndex)==b}));t.measures=n,r.start=t.measures[0].time,r.end=t.measures[t.measures.length-1].endtime,r.time=t.measures[t.measures.length-1].endtime-t.measures[0].time;try{const e=t.noteElement.sourceMeasure.verticalMeasureList.reduce(((e,t)=>(e.push(...t.vfVoices[1].tickables),e)),[]),n=[];r.svgs=e.map((e=>{const t=e.getBoundingBox().x;if(!n.includes(t)&&"w"!==e.duration)return n.push(t),e._start_x=t,e})).filter(Boolean).sort(((e,t)=>e._start_x-t._start_x))}catch(A){console.log(A)}r.stepList=calculateMutilpleMetroStep(t.measures,r)}else{let e=t.measures;state$1.isCombineRender&&(e=e.filter((e=>e.MeasureNumberXML===r.measureNumberXML))),r.stepList=calculateMetroStep(e,r)}n.push(r),i=v}}console.log(n,n.length,"小节汇总");let v=[];const b=[];try{for(let e=0;e<n.length;e++){const t=n[e],i=t.time/t.numerator,r=([121].includes(state$1.subjectId)?95:100)/(t.numerator+1);b[e]=[];for(let n=0;n<t.numerator;n++){var y;const o=i*n+t.start;v.push(o);let s="";if(t.stepList[n])s=t.stepList[n]+"px";else{const e=t.stepList[n-1];s=e?e.toString().indexOf("%")>-1?`${e} + ${r}%`:`${e}px + ${r}%`:`${r}%`,t.stepList[n]=s}b[e].push({index:n,time:o,left:(null===(y=s)||void 0===y?void 0:y.indexOf("%"))>-1?`calc(${s})`:s,measureNumberXML:t.measureNumberXML,isRestFlag:t.isRestFlag})}}}catch(A){console.log(A)}metronomeData.metroList=v,metronomeData.metroMeasure=b,metronomeData.activeMetro=(null===(t=b[0])||void 0===t?void 0:t[0])||{}}}function calculateMetroStep(e,t){const n=e.reduce(((e,t)=>e+=t._noteLength),0)/t.numerator;if(1===e.length){const n=e[0].svgElement;if(n&&!n.isRest()){var i,r,o,s,a,l,c,u;const e=(null==n||null===(i=n.attrs)||void 0===i||null===(r=i.el)||void 0===r||null===(o=r.parentElement)||void 0===o||null===(s=o.parentElement)||void 0===s||null===(a=s.getBoundingClientRect)||void 0===a?void 0:a.call(s))||{x:0,right:0};let h=(null==n||null===(l=n.attrs)||void 0===l||null===(c=l.el)||void 0===c||null===(u=c.getBoundingClientRect)||void 0===u?void 0:u.call(c))||{x:0},d=Math.abs(e.right-h.x)/t.numerator,p=[];for(let n=0;n<t.numerator;n++)p.push(h.x-e.x+n*d);return p}try{if(1===t.measureNumberXML&&n&&n.isRest()){var h,d,p,f,m,g,v,b;const e=(null==n||null===(h=n.attrs)||void 0===h||null===(d=h.el)||void 0===d||null===(p=d.parentElement)||void 0===p||null===(f=p.parentElement)||void 0===f||null===(m=f.getBoundingClientRect)||void 0===m?void 0:m.call(f))||{x:0,right:0};let i=(null==n||null===(g=n.attrs)||void 0===g||null===(v=g.el)||void 0===v||null===(b=v.getBoundingClientRect)||void 0===b?void 0:b.call(v))||{x:0},r=(Math.abs(e.right-i.x),t.numerator,[]);t.numerator;return r}}catch(Te){console.log("🚀 ~ error:",Te)}return[]}let y=0,A=[],S=[];for(let Ce=0;Ce<e.length;Ce++){const t=e[Ce];t.index=Ce;y+=t._noteLength;const i=Math.floor(y/n);if(i>=1){var x,E,w,_,M,P,T,C,I,k,B,R;y-=n;let r=(null==t||null===(x=t.svgElement)||void 0===x||null===(E=x.attrs)||void 0===E||null===(w=E.el)||void 0===w||null===(_=w.parentElement)||void 0===_||null===(M=_.parentElement)||void 0===M||null===(P=(T=M).getBoundingClientRect)||void 0===P?void 0:P.call(T))||{x:0};var L,D,N,F,O,V,G,z,H,U,j,Y,W,Q,$,X,K,q,J,Z,ee,te,ne,ie,re;if("staff"!==state$1.musicRenderType)r=(null==t||null===(L=t.svgElement)||void 0===L||null===(D=L.attrs)||void 0===D||null===(N=D.el)||void 0===N||null===(F=N.parentElement)||void 0===F||null===(O=F.parentElement)||void 0===O||null===(V=O.querySelector(".vf-stave"))||void 0===V||null===(G=(z=V).getBoundingClientRect)||void 0===G?void 0:G.call(z))||{x:0};if(!r.width&&A.length>0)r="staff"!==state$1.musicRenderType?(null===(H=A[0])||void 0===H||null===(U=H.svgElement)||void 0===U||null===(j=U.attrs)||void 0===j||null===(Y=j.el)||void 0===Y||null===(W=Y.parentElement)||void 0===W||null===(Q=W.parentElement)||void 0===Q||null===($=Q.querySelector(".vf-stave"))||void 0===$||null===(X=(K=$).getBoundingClientRect)||void 0===X?void 0:X.call(K))||{x:0}:(null===(q=A[0])||void 0===q||null===(J=q.svgElement)||void 0===J||null===(Z=J.attrs)||void 0===Z||null===(ee=Z.el)||void 0===ee||null===(te=ee.parentElement)||void 0===te||null===(ne=te.parentElement)||void 0===ne||null===(ie=(re=ne).getBoundingClientRect)||void 0===ie?void 0:ie.call(re))||{x:0};if(A.length>0){var oe,se,ae,le,ce,ue;let t=(null===(oe=A[0])||void 0===oe||null===(se=oe.svgElement)||void 0===se||null===(ae=se.attrs)||void 0===ae||null===(le=ae.el)||void 0===le||null===(ce=(ue=le).getBoundingClientRect)||void 0===ce?void 0:ce.call(ue))||{x:0},i=t.x-r.x;if(A[0]._noteLength/n>=1){var he,de,pe,fe,me,ge;const n=(null===(he=e[A[0].index+1])||void 0===he||null===(de=he.svgElement)||void 0===de||null===(pe=de.attrs)||void 0===pe||null===(fe=pe.el)||void 0===fe||null===(me=(ge=fe).getBoundingClientRect)||void 0===me?void 0:me.call(ge))||{x:r.right},o=Math.abs(t.x-n.x)/2;i=t.x-r.x+o}S.push(i)}else{var ve,be,ye,Ae,Se;let e=((null==t||null===(ve=t.svgElement)||void 0===ve||null===(be=ve.attrs)||void 0===be||null===(ye=be.el)||void 0===ye||null===(Ae=(Se=ye).getBoundingClientRect)||void 0===Ae?void 0:Ae.call(Se))||{x:0}).x-r.x;S.push(e)}A=[];let o=(null==t||null===(C=t.svgElement)||void 0===C||null===(I=C.attrs)||void 0===I||null===(k=I.el)||void 0===k||null===(B=(R=k).getBoundingClientRect)||void 0===B?void 0:B.call(R))||{x:0},s=o.x-r.x,a=0;if(i>1){var xe,Ee,we,_e,Me,Pe;const t=(null===(xe=e[Ce+1])||void 0===xe||null===(Ee=xe.svgElement)||void 0===Ee||null===(we=Ee.attrs)||void 0===we||null===(_e=we.el)||void 0===_e||null===(Me=(Pe=_e).getBoundingClientRect)||void 0===Me?void 0:Me.call(Pe))||{x:r.right};a=Math.abs(o.x-t.x)/i}for(let e=1;e<i;e++)y-=n,S.push(s+a*e)}y>Number.EPSILON&&y>0&&A.push(t)}return S=S.reduce(((e,t)=>(e.includes(t)?e.push(void 0):e.push(t),e)),[]),S}function calculateMutilpleMetroStep(e,t){var n,i,r,o,s,a,l;const c=t.time/t.numerator,u=(null===(n=e[0])||void 0===n||null===(i=n.svgElement)||void 0===i||null===(r=i.attrs)||void 0===r||null===(o=r.el)||void 0===o||null===(s=o.parentElement)||void 0===s||null===(a=s.parentElement)||void 0===a||null===(l=a.getBoundingClientRect)||void 0===l?void 0:l.call(a))||{x:0};if(1===e.length){var h,d,p;const e=t.svgs[0];let n=(null==e||null===(h=e.attrs)||void 0===h||null===(d=h.el)||void 0===d||null===(p=d.getBoundingClientRect)||void 0===p?void 0:p.call(d))||{x:0};return e&&!e.isRest()?[n.x-u.x]:[]}let f=0,m=[],g=[];for(let B=0;B<e.length;B++){var v,b,y,A,S;const n=e[B];n._index=B;const i=n.endtime-n.time;f+=i;let r=null===(v=t.svgs[B])||void 0===v||null===(b=v.attrs)||void 0===b?void 0:b.el,o=(null===(y=r)||void 0===y||null===(A=(S=y).getBoundingClientRect)||void 0===A?void 0:A.call(S))||{x:0};if(i>c){f-=c;let e=o.x-u.x;var x,E,w,_,M;if(m.length>0)r=null===(x=t.svgs[m[0]._index])||void 0===x||null===(E=x.attrs)||void 0===E?void 0:E.el,o=(null===(w=r)||void 0===w||null===(_=(M=w).getBoundingClientRect)||void 0===_?void 0:_.call(M))||{x:0},e=o.x-u.x;g.push(e),m=[]}else m.push(n);if(Math.abs(f-c)<.001){let e=o.x-u.x;var P,T,C,I,k;if(m.length>0)r=null===(P=t.svgs[m[0]._index])||void 0===P||null===(T=P.attrs)||void 0===T?void 0:T.el,o=(null===(C=r)||void 0===C||null===(I=(k=C).getBoundingClientRect)||void 0===I?void 0:I.call(k))||{x:0},e=o.x-u.x;g.push(e),f=0,m=[]}}return g=g.reduce(((e,t)=>(e.includes(t)?e.push(void 0):e.push(t),e)),[]),g}function setCurrentTime(e){return browserInfo$3.huawei||browserInfo$3.xiaomi?e+=.125:browserInfo$3.android?e+=.11:browserInfo$3.ios&&(e+=.01),e}function hideCursorTip(){tipsTimer?(clearTimeout(tipsTimer),tipsTimer=setTimeout((()=>{metronomeData.cursorTips="",clearTimeout(tipsTimer),tipsTimer=null}),2e3)):tipsTimer=setTimeout((()=>{metronomeData.cursorTips="",clearTimeout(tipsTimer),tipsTimer=null}),2e3)}exports("aq",Metronome);var GradualVersion=(e=>(e[e.BASE=0]="BASE",e[e.ENSEMBLE=1]="ENSEMBLE",e))(GradualVersion||{});const scoreMode="_scoreMode_6lpfe_1",tipBox="_tipBox_6lpfe_5",tipContent="_tipContent_6lpfe_15",tipBtn="_tipBtn_6lpfe_18",hiddenPop="_hiddenPop_6lpfe_28",styles$6={scoreMode:scoreMode,tipBox:tipBox,tipContent:tipContent,tipBtn:tipBtn,hiddenPop:hiddenPop};var context={locks:{},zIndex:2e3,enableRipple:!0};reactive(context);const Context=reactive(context),isString=e=>"string"==typeof e,isBoolean=e=>"boolean"==typeof e,isNumber=e=>"number"==typeof e,isPlainObject=e=>"[object Object]"===Object.prototype.toString.call(e),isFunction$2=e=>"function"==typeof e,isArray$2=e=>Array.isArray(e),isURL=e=>!!e&&/^(http)|(\.*\/)/.test(e),toNumber=e=>null==e?0:isString(e)?(e=parseFloat(e),e=Number.isNaN(e)?0:e):isBoolean(e)?Number(e):e,removeItem=(e,t)=>{if(e.length){const n=e.indexOf(t);if(n>-1)return e.splice(n,1)}},inBrowser=()=>"undefined"!=typeof window,camelize=e=>e.replace(/-(\w)/g,((e,t)=>t.toUpperCase()));function getViewportSize(){var{innerWidth:e,innerHeight:t}=window;return e>t?{vMin:t,vMax:e}:{vMin:e,vMax:t}}var isRem=e=>isString(e)&&e.endsWith("rem"),isPx=e=>isString(e)&&e.endsWith("px")||isNumber(e),isPercent=e=>isString(e)&&e.endsWith("%"),isVw=e=>isString(e)&&e.endsWith("vw"),isVh=e=>isString(e)&&e.endsWith("vh"),isVMin=e=>isString(e)&&e.endsWith("vmin"),isVMax=e=>isString(e)&&e.endsWith("vmax"),isCalc=e=>isString(e)&&e.startsWith("calc("),isVar=e=>isString(e)&&e.startsWith("var("),toPxNum=e=>{if(isNumber(e))return e;if(isPx(e))return+e.replace("px","");if(isVw(e))return+e.replace("vw","")*window.innerWidth/100;if(isVh(e))return+e.replace("vh","")*window.innerHeight/100;if(isRem(e)){var t=+e.replace("rem",""),n=window.getComputedStyle(document.documentElement).fontSize;return t*parseFloat(n)}return isVMin(e)?getViewportSize().vMin:isVMax(e)?getViewportSize().vMax:isString(e)?toNumber(e):0},toSizeUnit=e=>{if(null!=e)return isPercent(e)||isVw(e)||isVh(e)||isRem(e)||isCalc(e)||isVar(e)||isVMin(e)||isVMax(e)?e:toPxNum(e)+"px"},multiplySizeUnit=function(e,t){if(void 0===t&&(t=1),null!=e){var n=toSizeUnit(e),i=n.match(/(vh|%|rem|px|vw)$/)[0];return""+parseFloat(n)*t+i}};function supportTouch(){return"undefined"!=typeof window&&"ontouchstart"in window}function useMounted(e){let t=!1;onMounted((()=>{e(),nextTick((()=>{t=!0}))})),onActivated((()=>{t&&e()}))}function useEventListener(e,t,n,i={}){if(!inBrowser())return;const{passive:r=!1,capture:o=!1}=i;let s=!1,a=!1;const l=e=>{if(s||a)return;const i=unref(e);i&&(i.addEventListener(t,n,{passive:r,capture:o}),s=!0)},c=e=>{if(!s||a)return;const i=unref(e);i&&(i.removeEventListener(t,n,{capture:o}),s=!1)};let u;isRef(e)&&(u=watch((()=>e.value),((e,t)=>{c(t),l(e)})));return useMounted((()=>{l(e)})),onBeforeUnmount((()=>{c(e)})),onDeactivated((()=>{c(e)})),()=>{null==u||u(),c(e),a=!0}}var __rest=globalThis&&globalThis.__rest||function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n};function keyInProvides(e){return e in getCurrentInstance().provides}function useParent(e){if(!keyInProvides(e))return{index:null,parentProvider:null,bindParent:null};const t=inject(e),{childInstances:n,collect:i,clear:r}=t,o=__rest(t,["childInstances","collect","clear"]),s=getCurrentInstance();return{index:computed((()=>n.indexOf(s))),parentProvider:o,bindParent:e=>{onMounted((()=>{nextTick().then((()=>{i(s,e)}))})),onBeforeUnmount((()=>{nextTick().then((()=>{r(s,e)}))}))}}}function flatVNodes(e){const t=[],n=e=>{(null==e?void 0:e.component)?n(null==e?void 0:e.component.subTree):Array.isArray(null==e?void 0:e.children)&&e.children.forEach((e=>{isVNode(e)&&(t.push(e),n(e))}))};return n(e),t}function useChildren(e){const t=getCurrentInstance(),n=reactive([]),i=[],r=computed((()=>n.length)),o=(e,r)=>{n.push(e),i.push(r),(()=>{const e=flatVNodes(t.subTree);n.sort(((t,n)=>e.indexOf(t.vnode)-e.indexOf(n.vnode)))})()},s=(e,t)=>{removeItem(n,e),removeItem(i,t)};return{length:r,childProviders:i,bindChildren:t=>{provide(e,Object.assign({childInstances:n,collect:o,clear:s},t))}}}function asyncGeneratorStep$1(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(c){return void n(c)}a.done?t(l):Promise.resolve(l).then(i,r)}function _asyncToGenerator$1(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function s(e){asyncGeneratorStep$1(o,i,r,s,a,"next",e)}function a(e){asyncGeneratorStep$1(o,i,r,s,a,"throw",e)}s(void 0)}))}}function _extends$5(){return _extends$5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_extends$5.apply(this,arguments)}function pickProps(e,t){return Array.isArray(t)?t.reduce(((t,n)=>(t[n]=e[n],t)),{}):e[t]}function mount(e){var t=createApp(e),n=document.createElement("div");return document.body.appendChild(n),{instance:t.mount(n),unmount(){t.unmount(),document.body.removeChild(n)}}}function mountInstance(e,t,n){void 0===t&&(t={}),void 0===n&&(n={});var i={setup:()=>()=>h$1(e,_extends$5({},t,n))},{unmount:r}=mount(i);return{unmountInstance:r}}function useValidation(){var e=ref(""),t=function(){var t=_asyncToGenerator$1((function*(t,n,i){return!isArray$2(t)||!t.length||!(yield Promise.all(t.map((e=>e(n,i))))).some((t=>!0!==t&&(e.value=String(t),!0)))}));return function(e,n,i){return t.apply(this,arguments)}}(),n=function(){var n=_asyncToGenerator$1((function*(n,i,r,o,s){n.includes(i)&&(yield t(r,o,s))&&(e.value="")}));return function(e,t,i,r,o){return n.apply(this,arguments)}}();return{errorMessage:e,validate:t,resetValidation:()=>{e.value=""},validateWithTrigger:n}}function useRouteListener(e){inBrowser()&&(useEventListener(window,"hashchange",e),useEventListener(window,"popstate",e))}function useTeleport(){var e=ref(!1);return onActivated((()=>{e.value=!1})),onDeactivated((()=>{e.value=!0})),{disabled:e}}function createNamespace(e){var t="var-"+e;return{n:e=>e?"$"===e[0]?e.replace("$","var"):e.startsWith("--")?""+t+e:t+"__"+e:t,classes:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.map((e=>{if(isArray$2(e)){var[t,n,i=null]=e;return t?n:i}return e}))}}}function call(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return isArray$2(e)?e.map((e=>e(...n))):e?e(...n):void 0}function defineListenerProp(e){return{type:[Function,Array],default:e}}function formatElevation(e,t){return!1===e?null:(!0===e&&t&&(e=t),"var-elevation--"+e)}function _extends$4(){return _extends$4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_extends$4.apply(this,arguments)}var{n:n$9}=createNamespace("ripple"),ANIMATION_DURATION=250;function setStyles(e){var{zIndex:t,position:n}=window.getComputedStyle(e);e.style.overflow="hidden",e.style.overflowX="hidden",e.style.overflowY="hidden","static"===n&&(e.style.position="relative"),"auto"===t&&(e.style.zIndex="1")}function computeRippleStyles(e,t){var{top:n,left:i}=e.getBoundingClientRect(),{clientWidth:r,clientHeight:o}=e,s=Math.sqrt(Math.pow(r,2)+Math.pow(o,2))/2,a=2*s;return{x:t.touches[0].clientX-i-s,y:t.touches[0].clientY-n-s,centerX:(r-2*s)/2,centerY:(o-2*s)/2,size:a}}function createRipple(e){var t=this._ripple;if(t.removeRipple(),!t.disabled&&!t.tasker&&Context.enableRipple){t.tasker=window.setTimeout((()=>{t.tasker=null;var{x:n,y:i,centerX:r,centerY:o,size:s}=computeRippleStyles(this,e),a=document.createElement("div");a.classList.add(n$9()),a.style.opacity="0",a.style.transform="translate("+n+"px, "+i+"px) scale3d(.3, .3, .3)",a.style.width=s+"px",a.style.height=s+"px",t.color&&(a.style.backgroundColor=t.color),a.dataset.createdAt=String(performance.now()),setStyles(this),this.appendChild(a),window.setTimeout((()=>{a.style.transform="translate("+r+"px, "+o+"px) scale3d(1, 1, 1)",a.style.opacity=".25"}),20)}),30)}}function removeRipple(){var e=()=>{var e=this.querySelectorAll("."+n$9());if(e.length){var t=e[e.length-1],n=ANIMATION_DURATION-performance.now()+Number(t.dataset.createdAt);window.setTimeout((()=>{t.style.opacity="0",window.setTimeout((()=>{var e;return null==(e=t.parentNode)?void 0:e.removeChild(t)}),ANIMATION_DURATION)}),n)}};this._ripple.tasker?window.setTimeout(e,30):e()}function forbidRippleTask(){if(supportTouch()&&Context.enableRipple){var e=this._ripple;e.tasker&&window.clearTimeout(e.tasker),e.tasker=null}}function mounted$1(e,t){var n;e._ripple=_extends$4({tasker:null},null!=(n=t.value)?n:{},{removeRipple:removeRipple.bind(e)}),e.addEventListener("touchstart",createRipple,{passive:!0}),e.addEventListener("touchmove",forbidRippleTask,{passive:!0}),e.addEventListener("dragstart",removeRipple,{passive:!0}),document.addEventListener("touchend",e._ripple.removeRipple,{passive:!0}),document.addEventListener("touchcancel",e._ripple.removeRipple,{passive:!0})}function unmounted$1(e){e.removeEventListener("touchstart",createRipple),e.removeEventListener("touchmove",forbidRippleTask),e.removeEventListener("dragstart",removeRipple),document.removeEventListener("touchend",e._ripple.removeRipple),document.removeEventListener("touchcancel",e._ripple.removeRipple)}function updated$1(e,t){var n,i,r,o,s,a,l={color:null==(n=t.value)?void 0:n.color,disabled:null==(i=t.value)?void 0:i.disabled};l.color===(null==(r=e._ripple)?void 0:r.color)&&l.disabled===(null==(o=e._ripple)?void 0:o.disabled)||(e._ripple=_extends$4({tasker:l.disabled?null:null==(s=e._ripple)?void 0:s.tasker,removeRipple:null==(a=e._ripple)?void 0:a.removeRipple},l))}var Ripple={mounted:mounted$1,unmounted:unmounted$1,updated:updated$1,install(e){e.directive("ripple",this)}};const Ripple$1=Ripple;function resolveLock(){Object.keys(Context.locks).length<=0?document.body.classList.remove("var--lock"):document.body.classList.add("var--lock")}function addLock(e){Context.locks[e]=1,resolveLock()}function releaseLock(e){delete Context.locks[e],resolveLock()}function useLock(e,t){var{uid:n}=getCurrentInstance();t&&watch(t,(t=>{!1===t?releaseLock(n):!0===t&&!0===e()&&addLock(n)})),watch(e,(e=>{t&&!1===t()||(!0===e?addLock(n):releaseLock(n))})),onBeforeMount((()=>{t&&!1===t()||!0===e()&&addLock(n)})),onUnmounted((()=>{t&&!1===t()||!0===e()&&releaseLock(n)})),onActivated((()=>{t&&!1===t()||!0===e()&&addLock(n)})),onDeactivated((()=>{t&&!1===t()||!0===e()&&releaseLock(n)}))}function useZIndex(e,t){var n=ref(Context.zIndex);return watch(e,(e=>{e&&(Context.zIndex+=t,n.value=Context.zIndex)}),{immediate:!0}),{zIndex:n}}var props$8={name:{type:String},size:{type:[Number,String]},color:{type:String},namespace:{type:String,default:"var-icon"},transition:{type:[Number,String],default:0},animationClass:{type:String},onClick:defineListenerProp()};function asyncGeneratorStep(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(c){return void n(c)}a.done?t(l):Promise.resolve(l).then(i,r)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function s(e){asyncGeneratorStep(o,i,r,s,a,"next",e)}function a(e){asyncGeneratorStep(o,i,r,s,a,"throw",e)}s(void 0)}))}}var{n:n$8,classes:classes$6}=createNamespace("icon");function __render__$8(e,t){return openBlock(),createBlock(resolveDynamicComponent(e.isURL(e.name)?"img":"i"),{class:normalizeClass(e.classes(e.n(),[e.namespace!==e.n(),e.namespace],e.namespace+"--set",[e.isURL(e.name),e.n("image"),e.namespace+"-"+e.nextName],[e.animateInProgress,null==e.animationClass?e.n("--shrinking"):e.animationClass])),style:normalizeStyle({color:e.color,"transition-duration":e.toNumber(e.transition)+"ms",width:e.isURL(e.name)?e.toSizeUnit(e.size):null,height:e.isURL(e.name)?e.toSizeUnit(e.size):null,fontSize:e.toSizeUnit(e.size)}),src:e.isURL(e.name)?e.nextName:null,onClick:e.onClick},null,8,["class","style","src","onClick"])}var __sfc__$8=defineComponent({name:"VarIcon",props:props$8,setup(e){var t=ref(""),n=ref(!1),i=function(){var i=_asyncToGenerator((function*(i,r){var{transition:o}=e;null!=r&&0!==toNumber(o)?(n.value=!0,yield nextTick(),setTimeout((()=>{null!=r&&(t.value=i),n.value=!1}),toNumber(o))):t.value=i}));return function(e,t){return i.apply(this,arguments)}}();return watch((()=>e.name),i,{immediate:!0}),{n:n$8,classes:classes$6,nextName:t,animateInProgress:n,isURL:isURL,toNumber:toNumber,toSizeUnit:toSizeUnit}}});__sfc__$8.render=__render__$8;const Icon=__sfc__$8;function typeValidator$3(e){return["circle","wave","cube","rect","disappear"].includes(e)}function sizeValidator$2(e){return["normal","mini","small","large"].includes(e)}Icon.install=function(e){e.component(Icon.name,Icon)};var props$7={type:{type:String,default:"circle",validator:typeValidator$3},radius:{type:[String,Number]},size:{type:String,default:"normal",validator:sizeValidator$2},color:{type:String},description:{type:String},loading:{type:Boolean,default:!1}},{n:n$7,classes:classes$5}=createNamespace("loading"),_withScopeId=e=>(pushScopeId(""),e=e(),popScopeId(),e),_hoisted_1$3=_withScopeId((()=>createBaseVNode("svg",{viewBox:"25 25 50 50"},[createBaseVNode("circle",{cx:"50",cy:"50",r:"20",fill:"none"})],-1))),_hoisted_2$1=[_hoisted_1$3];function __render__$7(e,t){return openBlock(),createElementBlock("div",{class:normalizeClass(e.n())},[e.$slots.default?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.classes(e.n("content"),[e.loading,e.n("content--active")]))},[renderSlot(e.$slots,"default"),e.loading?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.n("content-mask"))},null,2)):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),e.isShow?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(e.classes(e.n("$--box"),e.n("body"),[e.$slots.default,e.n("inside")]))},["circle"===e.type?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.n("circle"))},[createBaseVNode("span",{class:normalizeClass(e.classes(e.n("circle-block"),e.n("circle-block--"+e.size))),style:normalizeStyle({width:e.multiplySizeUnit(e.radius,2),height:e.multiplySizeUnit(e.radius,2),color:e.color})},_hoisted_2$1,6)],2)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(e.loadingTypeDict,((t,n)=>(openBlock(),createElementBlock(Fragment,{key:n},[e.type===n?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.classes(e.n(n),e.n(n+"--"+e.size)))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(t,(t=>(openBlock(),createElementBlock("div",{key:t+n,style:normalizeStyle({backgroundColor:e.color}),class:normalizeClass(e.classes(e.n(n+"-item"),e.n(n+"-item--"+e.size)))},null,6)))),128))],2)):createCommentVNode("v-if",!0)],64)))),128)),e.$slots.description||e.description?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(e.classes(e.n("description"),e.n("description--"+e.size))),style:normalizeStyle({color:e.color})},[renderSlot(e.$slots,"description",{},(()=>[createTextVNode(toDisplayString(e.description),1)]))],6)):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],2)}var __sfc__$7=defineComponent({name:"VarLoading",props:props$7,setup(e,t){var{slots:n}=t,i=computed((()=>!call(n.default)||e.loading));return{n:n$7,classes:classes$5,multiplySizeUnit:multiplySizeUnit,loadingTypeDict:{wave:5,cube:4,rect:8,disappear:3},isShow:i}}});__sfc__$7.render=__render__$7;const Loading=__sfc__$7;Loading.install=function(e){e.component(Loading.name,Loading)};var props$6={hovering:{type:Boolean,default:!0}},{n:n$6,classes:classes$4}=createNamespace("hover-overlay");function __render__$6(e,t){return openBlock(),createElementBlock("div",{class:normalizeClass(e.classes(e.n(),[e.hovering,e.n("--hovering")]))},null,2)}var __sfc__$6=defineComponent({name:"VarHoverOverlay",props:props$6,setup:()=>({n:n$6,classes:classes$4})});__sfc__$6.render=__render__$6;const HoverOverlay=__sfc__$6;function useHoverOverlay(){var e=ref(!1);return{hovering:e,handleHovering:t=>{e.value=t}}}function shouldDisabled(e){if(!e)return!1;var t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);return!("desktop"!==e||!t)||"mobile"===e&&!t}function getStyle(e){var t=e.getAttribute("style");return t?t.split(";").filter(Boolean).reduce(((e,t)=>{var[n,i]=t.split(":").map((e=>e.trim()));return e[camelize(n)]=i,e}),{}):{}}function updateRawStyle(e){var{value:t}=e._hover,n=getStyle(e);Object.keys(t).forEach((i=>{var r=camelize(i);null!=t[r]&&n[r]&&(e._hover.rawStyle[r]=n[r])}))}function updateStyle(e,t){Object.keys(t).forEach((n=>{var i=t[n];null!=i&&(e.style[n]=i)}))}function clearStyle(e){Object.keys(e._hover.value).forEach((t=>{null!=e._hover.value[t]&&(e.style[t]="")}))}function restoreStyle(e){clearStyle(e),updateStyle(e,e._hover.rawStyle)}function createHover(){var{value:e}=this._hover;this._hover.hovering=!0,isFunction$2(e)?e(this._hover.hovering):updateStyle(this,e)}function removeHover(){this._hover.hovering=!1,isFunction$2(this._hover.value)?this._hover.value(this._hover.hovering):restoreStyle(this)}function mounted(e,t){var n,i,{arg:r,value:o}=t;shouldDisabled(r)||(e._hover={value:o,hovering:null!=(n=null==(i=e._hover)?void 0:i.hovering)&&n,rawStyle:{}},updateRawStyle(e),e.addEventListener("mouseenter",createHover),e.addEventListener("mouseleave",removeHover))}function unmounted(e,t){shouldDisabled(t.arg)||(restoreStyle(e),e.removeEventListener("mouseenter",createHover),e.removeEventListener("mouseleave",removeHover))}function beforeUpdate(e,t){e._hover&&unmounted(e,t)}function shouldUpdateStyle(e,t){return!isFunction$2(t.value)&&e._hover.hovering}function updated(e,t){mounted(e,t),shouldUpdateStyle(e,t)&&updateStyle(e,t.value)}HoverOverlay.install=function(e){e.component(HoverOverlay.name,HoverOverlay)};var Hover={mounted:mounted,unmounted:unmounted,beforeUpdate:beforeUpdate,updated:updated,install(e){e.directive("hover",this)}};const Hover$1=Hover;function _extends$3(){return _extends$3=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_extends$3.apply(this,arguments)}function typeValidator$2(e){return["default","primary","info","success","warning","danger"].includes(e)}function sizeValidator$1(e){return["normal","mini","small","large"].includes(e)}function nativeTypeValidator(e){return["button","reset","submit"].includes(e)}var props$5={type:{type:String,validator:typeValidator$2},nativeType:{type:String,default:"button",validator:nativeTypeValidator},size:{type:String,validator:sizeValidator$1},loading:{type:Boolean,default:!1},round:{type:Boolean,default:!1},block:{type:Boolean,default:!1},text:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},ripple:{type:Boolean,default:!0},color:{type:String},textColor:{type:String},elevation:{type:[Boolean,Number,String],default:!0},autoLoading:{type:Boolean,default:!1},loadingRadius:{type:[Number,String]},loadingType:pickProps(props$7,"type"),loadingSize:pickProps(props$7,"size"),loadingColor:_extends$3({},pickProps(props$7,"color"),{default:"currentColor"}),onClick:defineListenerProp(),onTouchstart:defineListenerProp()},BUTTON_GROUP_BIND_BUTTON_KEY=Symbol("BUTTON_GROUP_BIND_BUTTON_KEY");function useButtons(){var{bindChildren:e,childProviders:t,length:n}=useChildren(BUTTON_GROUP_BIND_BUTTON_KEY);return{length:n,buttons:t,bindButtons:e}}function useButtonGroup(){var{bindParent:e,parentProvider:t,index:n}=useParent(BUTTON_GROUP_BIND_BUTTON_KEY);return{index:n,buttonGroup:t,bindButtonGroup:e}}var{n:n$5,classes:classes$3}=createNamespace("button"),_hoisted_1$2=["type","disabled"];function __render__$5(e,t){var n=resolveComponent("var-loading"),i=resolveComponent("var-hover-overlay"),r=resolveDirective("ripple"),o=resolveDirective("hover");return withDirectives((openBlock(),createElementBlock("button",{class:normalizeClass(e.classes(e.n(),e.n("$--box"),e.n("--"+e.states.size),[e.block,e.n("$--flex")+" "+e.n("--block"),e.n("$--inline-flex")],[e.disabled,e.n("--disabled")],[e.states.text,e.n("--text-"+e.states.type)+" "+e.n("--text"),e.n("--"+e.states.type)+" "+e.states.elevation],[e.states.text&&e.disabled,e.n("--text-disabled")],[e.round,e.n("--round")],[e.states.outline,e.n("--outline")])),style:normalizeStyle({color:e.states.textColor,background:e.states.color}),type:e.nativeType,disabled:e.disabled,onClick:t[0]||(t[0]=function(){return e.handleClick&&e.handleClick(...arguments)}),onTouchstart:t[1]||(t[1]=function(){return e.handleTouchstart&&e.handleTouchstart(...arguments)})},[e.loading||e.pending?(openBlock(),createBlock(n,{key:0,class:normalizeClass(e.n("loading")),"var-button-cover":"",color:e.loadingColor,type:e.loadingType,size:e.loadingSize,radius:e.loadingRadius},null,8,["class","color","type","size","radius"])):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(e.classes(e.n("content"),[e.loading||e.pending,e.n("--hidden")]))},[renderSlot(e.$slots,"default")],2),createVNode(i,{hovering:e.hovering},null,8,["hovering"])],46,_hoisted_1$2)),[[r,{disabled:e.disabled||!e.ripple}],[o,e.handleHovering,"desktop"]])}var __sfc__$5=defineComponent({name:"VarButton",components:{VarLoading:Loading,VarHoverOverlay:HoverOverlay},directives:{Ripple:Ripple$1,Hover:Hover$1},props:props$5,setup(e){var t=ref(!1),{buttonGroup:n}=useButtonGroup(),{hovering:i,handleHovering:r}=useHoverOverlay(),o=computed((()=>{if(!n)return{elevation:formatElevation(e.elevation,2),type:null!=e.type?e.type:"default",size:null!=e.size?e.size:"normal",color:e.color,text:e.text,textColor:e.textColor,outline:e.outline};var{type:t,size:i,color:r,textColor:o,mode:s}=n;return{elevation:"",type:null!=e.type?e.type:t.value,size:null!=e.size?e.size:i.value,color:null!=e.color?e.color:r.value,textColor:null!=e.textColor?e.textColor:o.value,text:"normal"!==s.value,outline:"outline"===s.value}})),s=n=>{e.autoLoading&&(t.value=!0,n=isArray$2(n)?n:[n],Promise.all(n).then((()=>{t.value=!1})).catch((()=>{t.value=!1})))};return{n:n$5,classes:classes$3,pending:t,states:o,hovering:i,handleHovering:r,handleClick:n=>{var{loading:i,disabled:r,onClick:o}=e;!o||i||r||t.value||s(call(o,n))},handleTouchstart:n=>{var{loading:i,disabled:r,onTouchstart:o}=e;!o||i||r||t.value||s(call(o,n))}}}});__sfc__$5.render=__render__$5;const Button=__sfc__$5;function typeValidator$1(e){return["default","primary","info","success","warning","danger"].includes(e)}function sizeValidator(e){return["normal","mini","small","large"].includes(e)}function modeValidator(e){return["normal","text","outline"].includes(e)}Button.install=function(e){e.component(Button.name,Button)};var props$4={type:{type:String,default:"default",validator:typeValidator$1},size:{type:String,default:"normal",validator:sizeValidator},color:{type:String},textColor:{type:String},mode:{type:String,default:"normal",validator:modeValidator},elevation:{type:[Boolean,Number,String],default:!0},vertical:{type:Boolean,default:!1}},{n:n$4,classes:classes$2}=createNamespace("button-group");function __render__$4(e,t){return openBlock(),createElementBlock("div",{class:normalizeClass(e.classes(e.n(),e.n("$--box"),[e.mode,""+e.n("--mode-"+e.mode)],[e.vertical,e.n("--vertical"),e.n("--horizontal")],["normal"===e.mode,e.formatElevation(e.elevation,2)]))},[renderSlot(e.$slots,"default")],2)}var __sfc__$4=defineComponent({name:"VarButtonGroup",props:props$4,setup(e){var{bindButtons:t}=useButtons();return t({elevation:computed((()=>e.elevation)),type:computed((()=>e.type)),size:computed((()=>e.size)),color:computed((()=>e.color)),textColor:computed((()=>e.textColor)),mode:computed((()=>e.mode))}),{n:n$4,classes:classes$2,formatElevation:formatElevation}}});__sfc__$4.render=__render__$4;const ButtonGroup=__sfc__$4;ButtonGroup.install=function(e){e.component(ButtonGroup.name,ButtonGroup)};var props$3={errorMessage:{type:String,default:""},extraMessage:{type:String,default:""}},{n:n$3}=createNamespace("form-details"),_hoisted_1$1={key:0},_hoisted_2={key:0};function __render__$3(e,t){return openBlock(),createBlock(Transition,{name:e.n()},{default:withCtx((()=>[e.errorMessage||e.extraMessage?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(e.n())},[createBaseVNode("div",{class:normalizeClass(e.n("error-message"))},[createVNode(Transition,{name:e.n("message")},{default:withCtx((()=>[e.errorMessage?(openBlock(),createElementBlock("div",_hoisted_1$1,toDisplayString(e.errorMessage),1)):createCommentVNode("v-if",!0)])),_:1},8,["name"])],2),createBaseVNode("div",{class:normalizeClass(e.n("extra-message"))},[createVNode(Transition,{name:e.n("message")},{default:withCtx((()=>[e.extraMessage?(openBlock(),createElementBlock("div",_hoisted_2,toDisplayString(e.extraMessage),1)):createCommentVNode("v-if",!0)])),_:1},8,["name"])],2)],2)):createCommentVNode("v-if",!0)])),_:1},8,["name"])}var __sfc__$3=defineComponent({name:"VarFormDetails",props:props$3,setup:()=>({n:n$3})});__sfc__$3.render=__render__$3;const FormDetails=__sfc__$3;function _extends$2(){return _extends$2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_extends$2.apply(this,arguments)}FormDetails.install=function(e){e.component(FormDetails.name,FormDetails)};var FORM_BIND_FORM_ITEM_KEY=Symbol("FORM_BIND_FORM_ITEM_KEY");function useForm(){var{parentProvider:e,index:t,bindParent:n}=useParent(FORM_BIND_FORM_ITEM_KEY),i=getCurrentInstance();return{index:t,form:e,bindForm:n?e=>{n(_extends$2({},e,{instance:i}))}:null}}function _extends$1(){return _extends$1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_extends$1.apply(this,arguments)}function positionValidator(e){return["top","center","bottom"].includes(e)}function typeValidator(e){return SNACKBAR_TYPE.includes(e)}var props$2={type:{type:String,validator:typeValidator},position:{type:String,default:"top",validator:positionValidator},content:{type:String},contentClass:{type:String},duration:{type:Number,default:3e3},vertical:{type:Boolean,default:!1},loadingType:pickProps(props$7,"type"),loadingSize:pickProps(props$7,"size"),loadingRadius:pickProps(props$7,"radius"),loadingColor:_extends$1({},pickProps(props$7,"color"),{default:"currentColor"}),lockScroll:{type:Boolean,default:!1},show:{type:Boolean,default:!1},teleport:{type:String,default:"body"},forbidClick:{type:Boolean,default:!1},onOpen:defineListenerProp(),onOpened:defineListenerProp(),onClose:defineListenerProp(),onClosed:defineListenerProp(),"onUpdate:show":defineListenerProp(),_update:{type:String}},{n:n$2,classes:classes$1}=createNamespace("snackbar"),ICON_TYPE_DICT={success:"checkbox-marked-circle",warning:"warning",info:"information",error:"error",loading:""};function __render__$2(e,t){var n=resolveComponent("var-icon"),i=resolveComponent("var-loading");return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(e.n()),style:normalizeStyle({pointerEvents:e.isForbidClick?"auto":"none",zIndex:e.zIndex})},[createBaseVNode("div",{class:normalizeClass(e.classes(e.n("wrapper"),e.n("wrapper-"+e.position),e.n("$-elevation--4"),[e.vertical,e.n("vertical")],[e.type&&e.SNACKBAR_TYPE.includes(e.type),e.n("wrapper-"+e.type)])),style:normalizeStyle({zIndex:e.zIndex})},[createBaseVNode("div",{class:normalizeClass([e.n("content"),e.contentClass])},[renderSlot(e.$slots,"default",{},(()=>[createTextVNode(toDisplayString(e.content),1)]))],2),createBaseVNode("div",{class:normalizeClass(e.n("action"))},[e.iconName?(openBlock(),createBlock(n,{key:0,name:e.iconName},null,8,["name"])):createCommentVNode("v-if",!0),"loading"===e.type?(openBlock(),createBlock(i,{key:1,type:e.loadingType,size:e.loadingSize,color:e.loadingColor,radius:e.loadingRadius},null,8,["type","size","color","radius"])):createCommentVNode("v-if",!0),renderSlot(e.$slots,"action")],2)],6)],6)),[[vShow,e.show]])}var __sfc__$2=defineComponent({name:"VarSnackbarCore",components:{VarLoading:Loading,VarIcon:Icon},props:props$2,setup(e){var t=ref(null),{zIndex:n}=useZIndex((()=>e.show),1);useLock((()=>e.show),(()=>e.lockScroll));var i=computed((()=>"loading"===e.type||e.forbidClick)),r=computed((()=>e.type?ICON_TYPE_DICT[e.type]:"")),o=()=>{t.value=setTimeout((()=>{"loading"!==e.type&&call(e["onUpdate:show"],!1)}),e.duration)};return watch((()=>e.show),(n=>{n?(call(e.onOpen),o()):!1===n&&(clearTimeout(t.value),call(e.onClose))})),watch((()=>e._update),(()=>{clearTimeout(t.value),o()})),useMounted((()=>{e.show&&(call(e.onOpen),o())})),{SNACKBAR_TYPE:SNACKBAR_TYPE,n:n$2,classes:classes$1,zIndex:n,iconName:r,isForbidClick:i}}});__sfc__$2.render=__render__$2;const VarSnackbarCore=__sfc__$2;var{n:n$1}=createNamespace("snackbar");function __render__$1(e,t){var n=resolveComponent("var-snackbar-core");return openBlock(),createBlock(Teleport,{to:e.teleport,disabled:e.disabled},[createVNode(Transition,{name:e.n()+"-fade",onAfterEnter:e.onOpened,onAfterLeave:e.onClosed},{default:withCtx((()=>[createVNode(n,mergeProps(e.$props,{class:e.n("transition")}),{action:withCtx((()=>[renderSlot(e.$slots,"action")])),default:withCtx((()=>[renderSlot(e.$slots,"default",{},(()=>[createTextVNode(toDisplayString(e.content),1)]))])),_:3},16,["class"])])),_:3},8,["name","onAfterEnter","onAfterLeave"])],8,["to","disabled"])}var __sfc__$1=defineComponent({name:"VarSnackbar",components:{VarSnackbarCore:VarSnackbarCore},props:props$2,setup(){var{disabled:e}=useTeleport();return{n:n$1,disabled:e}}});__sfc__$1.render=__render__$1;const VarSnackbar=__sfc__$1;function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_extends.apply(this,arguments)}function _isSlot(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!isVNode(e)}var SNACKBAR_TYPE=["loading","success","warning","info","error"],sid=0,isMount=!1,unmount,isAllowMultiple=!1,defaultOptionsValue={type:void 0,content:"",position:"top",duration:3e3,vertical:!1,contentClass:void 0,loadingType:"circle",loadingSize:"normal",lockScroll:!1,teleport:"body",forbidClick:!1,onOpen:()=>{},onOpened:()=>{},onClose:()=>{},onClosed:()=>{}},uniqSnackbarOptions=reactive([]),defaultOptions=defaultOptionsValue,transitionGroupProps={name:"var-snackbar-fade",tag:"div",class:"var-transition-group"},TransitionGroupHost={setup:()=>()=>{var e=uniqSnackbarOptions.map((e=>{var{id:t,reactiveSnackOptions:n,_update:i}=e,r=document.querySelector(".var-transition-group");n.forbidClick||"loading"===n.type?r.classList.add("var-pointer-auto"):r.classList.remove("var-pointer-auto"),isAllowMultiple&&(n.position="top");var o=_extends({position:isAllowMultiple?"relative":"absolute"},getTop(n.position));return createVNode(VarSnackbarCore,mergeProps(n,{key:t,style:o,"data-id":t,_update:i,show:n.show,"onUpdate:show":e=>n.show=e}),null)}));return createVNode(TransitionGroup,mergeProps(transitionGroupProps,{style:{zIndex:Context.zIndex},onAfterEnter:opened,onAfterLeave:removeUniqOption}),_isSlot(e)?e:{default:()=>[e]})}},Snackbar=function(e){var t=normalizeOptions(e),n=reactive(_extends({},defaultOptions,t));n.show=!0,isMount||(isMount=!0,unmount=mountInstance(TransitionGroupHost).unmountInstance);var{length:i}=uniqSnackbarOptions,r={id:sid++,reactiveSnackOptions:n};0===i||isAllowMultiple?addUniqOption(r):updateUniqOption(n,"update-"+sid);return{clear(){!isAllowMultiple&&uniqSnackbarOptions.length?uniqSnackbarOptions[0].reactiveSnackOptions.show=!1:n.show=!1}}};function opened(e){var t=e.getAttribute("data-id"),n=uniqSnackbarOptions.find((e=>e.id===toNumber(t)));n&&call(n.reactiveSnackOptions.onOpened)}function removeUniqOption(e){e.parentElement&&e.parentElement.classList.remove("var-pointer-auto");var t=e.getAttribute("data-id"),n=uniqSnackbarOptions.find((e=>e.id===toNumber(t)));n&&(n.animationEnd=!0,call(n.reactiveSnackOptions.onClosed));var i=uniqSnackbarOptions.every((e=>e.animationEnd));i&&(call(unmount),uniqSnackbarOptions=reactive([]),isMount=!1)}function addUniqOption(e){uniqSnackbarOptions.push(e)}function normalizeOptions(e){return void 0===e&&(e={}),isString(e)?{content:e}:e}function updateUniqOption(e,t){var[n]=uniqSnackbarOptions;n.reactiveSnackOptions=_extends({},n.reactiveSnackOptions,e),n._update=t}function getTop(e){return void 0===e&&(e="top"),"bottom"===e?{[e]:"5%"}:{top:"top"===e?"5%":"45%"}}SNACKBAR_TYPE.forEach((e=>{Snackbar[e]=t=>(isPlainObject(t)?t.type=e:t={content:t,type:e},Snackbar(t))})),Snackbar.install=function(e){e.component(VarSnackbar.name,VarSnackbar)},Snackbar.allowMultiple=function(e){void 0===e&&(e=!1),e!==isAllowMultiple&&(uniqSnackbarOptions.forEach((e=>{e.reactiveSnackOptions.show=!1})),isAllowMultiple=e)},Snackbar.clear=function(){uniqSnackbarOptions.forEach((e=>{e.reactiveSnackOptions.show=!1}))},Snackbar.setDefaultOptions=function(e){defaultOptions=e},Snackbar.resetDefaultOptions=function(){defaultOptions=defaultOptionsValue},Snackbar.Component=VarSnackbar,VarSnackbar.install=function(e){e.component(VarSnackbar.name,VarSnackbar)};const Snackbar$1=exports("S",Snackbar);var props$1={modelValue:{default:!1},activeValue:{default:!0},inactiveValue:{default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},color:{type:String},loadingColor:{type:String},closeColor:{type:String},size:{type:[String,Number]},rules:{type:Array},ripple:{type:Boolean,default:!0},onClick:defineListenerProp(),onChange:defineListenerProp(),"onUpdate:modelValue":defineListenerProp()},{n:n,classes:classes}=createNamespace("switch");function __render__(e,t){var n=resolveComponent("var-loading"),i=resolveComponent("var-hover-overlay"),r=resolveComponent("var-form-details"),o=resolveDirective("ripple"),s=resolveDirective("hover");return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(e.n())},[createBaseVNode("div",{class:normalizeClass(e.classes(e.n("block"),[e.disabled||e.formDisabled,e.n("--disabled")])),onClick:t[0]||(t[0]=function(){return e.switchActive&&e.switchActive(...arguments)}),style:normalizeStyle(e.styleComputed.switch)},[createBaseVNode("div",{style:normalizeStyle(e.styleComputed.track),class:normalizeClass(e.classes(e.n("track"),[e.modelValue===e.activeValue,e.n("track--active")],[e.errorMessage,e.n("track--error")]))},null,6),withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(e.classes(e.n("ripple"),[e.modelValue===e.activeValue,e.n("ripple--active")])),style:normalizeStyle(e.styleComputed.ripple)},[createBaseVNode("div",{style:normalizeStyle(e.styleComputed.handle),class:normalizeClass(e.classes(e.n("handle"),e.n("$-elevation--2"),[e.modelValue===e.activeValue,e.n("handle--active")],[e.errorMessage,e.n("handle--error")]))},[e.loading?(openBlock(),createBlock(n,{key:0,radius:e.radius,color:"currentColor"},null,8,["radius"])):createCommentVNode("v-if",!0)],6),createVNode(i,{hovering:e.hovering},null,8,["hovering"])],6)),[[o,{disabled:!e.ripple||e.disabled||e.loading||e.formDisabled}]])],6),createVNode(r,{"error-message":e.errorMessage},null,8,["error-message"])],2)),[[s,e.hover,"desktop"]])}var __sfc__=defineComponent({name:"VarSwitch",components:{VarLoading:Loading,VarFormDetails:FormDetails,VarHoverOverlay:HoverOverlay},directives:{Ripple:Ripple$1,Hover:Hover$1},props:props$1,setup(e){var{bindForm:t,form:i}=useForm(),{errorMessage:r,validateWithTrigger:o,validate:s,resetValidation:a}=useValidation(),{hovering:l,handleHovering:c}=useHoverOverlay(),u=computed((()=>{var{size:t,modelValue:n,color:i,closeColor:o,loadingColor:s,activeValue:a}=e;return{handle:{width:multiplySizeUnit(t),height:multiplySizeUnit(t),backgroundColor:n===a?i:o,color:s},ripple:{left:n===a?multiplySizeUnit(t,.5):"-"+multiplySizeUnit(t,.5),color:n===a?i:o||"#999",width:multiplySizeUnit(t,2),height:multiplySizeUnit(t,2)},track:{height:multiplySizeUnit(t,.72),width:multiplySizeUnit(t,1.9),borderRadius:multiplySizeUnit(t,2/3),filter:n===a||null!=r&&r.value?void 0:"brightness(.6)",backgroundColor:n===a?i:o},switch:{height:multiplySizeUnit(t,1.2),width:multiplySizeUnit(t,2)}}})),h=computed((()=>{var{size:t="5.333vw"}=e;return multiplySizeUnit(t,.4)})),d={reset:()=>{call(e["onUpdate:modelValue"],e.inactiveValue),a()},validate:()=>s(e.rules,e.modelValue),resetValidation:a};return call(t,d),{n:n,classes:classes,switchActive:t=>{var{onClick:n,onChange:r,disabled:s,loading:a,readonly:l,modelValue:c,activeValue:u,inactiveValue:h,"onUpdate:modelValue":d}=e;if(call(n,t),!(s||a||l||null!=i&&i.disabled.value||null!=i&&i.readonly.value)){var p=c===u?h:u;call(r,p),call(d,p),nextTick((()=>o(["onChange"],"onChange",e.rules,e.modelValue)))}},hovering:l,hover:t=>{e.disabled||null!=i&&i.disabled.value||c(t)},radius:h,styleComputed:u,errorMessage:r,formDisabled:null==i?void 0:i.disabled,formReadonly:null==i?void 0:i.readonly}}});__sfc__.render=__render__;const Switch=__sfc__;Switch.install=function(e){e.component(Switch.name,Switch)};const Image1=""+new URL("../png/5-d8bfbf51.png",module.meta.url).href,Image2=""+new URL("../png/4-cfa387c7.png",module.meta.url).href,Image3=""+new URL("../png/3-d02c685a.png",module.meta.url).href,Image4=""+new URL("../png/2-5c4c2ef5.png",module.meta.url).href,Image5=""+new URL("../png/1-a0d5037d.png",module.meta.url).href,clx1=""+new URL("../svg/clx5-b3331931.svg",module.meta.url).href,clx2=""+new URL("../svg/clx4-7a8a1657.svg",module.meta.url).href,clx3=""+new URL("../svg/clx3-82262a8a.svg",module.meta.url).href,clx4=""+new URL("../svg/clx2-99f2ced3.svg",module.meta.url).href,clx5=""+new URL("../svg/clx1-3d063166.svg",module.meta.url).href,good="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAACQCAMAAABOB0IDAAADAFBMVEUAAAADBBoCBhMBChQACBYABhUABhUACBYACBYDDhgABxUCCRcABxYACBYACBYABxUACBYACBYACBcABxbc4ODk5uUABxYACBbT2drKzc4ABxYACBXm6Ofo6ejR1tbP0tTn6OiiqKvN09SIkpcjOUW6wsWLmp/j5eUVIjDQ1dZ9h424vLzj5eUHHCm/x8lodn5NW2Q7TVctQEtTZm9FWGJjbnY7TVeaqqyJkJZugIYAGino6ej/nHUAGiUABxD/mXT/08b/WXMADhcAEx0AR2wBdJX/lnIBHir/jG4BFyEAAgb/oHf/zsUDT3EBsx3/iWsBJDABLj4AKTcBP13/kG8Ed5j/k3EtkqsBrBn/pXoBNEP/fmj/Z2ALe5v/q3wAAjshiqUABkX/jXz/cHD/hWgojqgBbZECoxT/eHP/gmwBFGoBaIv/tor/gHUAFQAYhaQXjbD/bWIyla7/sYMADlwBY4cBXYQARGb/pIH/hnn/cmQTgJ4BOlYACk8BmA8begD/eGb/qIX/nX3/aG4bZHsCWX3/xbb/uJH/lXgAAC8oRkwGPUv/rosBUXqi2KsMtSkAGXcIb40PKTMHjQZbaXPFy8wRggEJf6EUTlv/vaT/k4P/emqssbIAAiMSaoQlvj8+mK82TVkTdJOxzdRNWGMdfpsyboRIZnQKyi6WpKffaXQVWmxHT1YbPEKh0KcBME4wRDcYujNQoLS3v8H/nY4qYG//i3YCGjxnqbuYTmgaKiadankVmANtTz2GtsMvgpouWGQ6vUvnWXECJIp3SGkkNDJse4C0eGF+jJAGKXQBDzIBvyKmfYSVwMsCKGCxUmuFl5wodovMWmz83dRKd4ueq65nxW5xXk5KRTdTw16hbFUNVyO7ZHvp5+Y0jaT/qaNuhpTOfmqFX05cTkKU1J/1poXxf24UYwF8aYjwnHviiHdAI1UHKBQJQAbGjnUgHFUnrD0cji5Qh5x8y4dPPngpLHXdm3ksdTum2q5kL1pUnlNNMz9or2VXMiYZhW5GgkdDJtKYAAAAO3RSTlMAChEbOSsxd34XJCBwZIRJX1mJU/7+a0T9JE4/5vJGicnM56iaz8W0k2+6Fptu4LB8pJ6po2aQk0aQV0CopUEAADC6SURBVHja7NlbaFJxHAfw7AYVUZEj7WKLHmTkQy9R0KIezlpQlpuVXSiksAsVwmIZ6IsxV5gW2gSFsG1tlZnMlIUEzXrYFlSgUM02GrbVQxGjC9RT0Pd3jvrfcXZX6MFvF9bmP8/5nO//fy5OKqeccooXueK3I5kkmVROXlYol/xuFldJJJIyYZ6fau3vZ7FCUiYUR66Eyx8IVk2WlA3/pn+sg5Mnl/2YH9+/P+zgjMmTyx3M86uQ/TpSJlguoRB5bv4G2u6rf55gW4snN4unzCh3cHz/XgbcdSa1zfkzQM6iuZUTrJo1o9xBdv54+Qx+zlhseF9NTc0hUfCNHTv2UZwQHNfBWeUOTsr176F7j8nZ8ySiN5uJakc2kDMjRkSvN57itJoOJljuoGRxrn+1JnXsasxgzALWCAEgCZIfxcl11V6XZQSrZtI6+L/e2ckLRfKLCVlozIqf+GUBA+51tdw16ZNWQNmRUF7q3JqggdKptqxbl53Fq6fNEgRLlhUrsEt/FskKuWKpqnLxj1KpqlLIJYhYW1GlUv54jHJpgTErMKhKAHzmXpcBxDQd7Z+QQaTFYNDpdDxgbYdMAJw+rXTLIO2SSqlUVv5ZlMCrWPvzLKlcKuZQLK1csvYXAbxojHypcvHL7A/71jFA/cDZbI4jDop1d/XOx+DjAem1HgFw6nRhEhfdTlW5BAqlCwwVKyQUFKmqEhC/kYrFcM+OEYszQIMBgGTH56TDcfKk1Up+mwiwoUEMuGAqJnGRL6ixcUrMi5JnsUrQUCgZxS8JlYrJhcYwwAiWOQIkPIoVOX16d/XGTUcfgy8fcA4qOKvIFawqvR57JjJ5hWrJnzVXNWOyfOIYBqjTEaDAtx/ZjWzevHH7tr2PGyYCLuQrWExAuaqYU7dCOj4VEzSWrqksPIZlwuxWKkRjJgLqBqh/gh/pIZjARwsBLp8/ZxFWQWp1se+L/pnOE0in00+fXmN5+jSdTjyjLWcRt93zLJFOf8ofkw5ERfR59ZN5ooFAdz3CJWU91EAGKPhVV6//EeC8hYsyJ+JS+L2UeqLRaCCBXWr6rVzv82TwWs5rTZyJQ9TcuOB7Fnv6srSAuCzaZ7fg5xgkDr6jtbdc9hQ40UijieterfAqhGvtibVSA3MzWPD7CeBczOEiAsqVDK/Ck2i5HjRpsV2/GeDU93nA12fv0kLO5m8XxeVqtDnpVec7AtJ8ikQbkXPOxmMu/MqlsfEUP0bbZU/LKvLGPOywgJzeydZI6YxEWhsaqIFsBsOPALf/CHB+MQHllbkJeLnPawEdbdupRuzGMRfLsQJxUfCso77jcl8d9soWH25tMOjFMSJml43jtHvsIkJZOtRl4pzJ+LDevG9HzYQcs6k5U1eoTzZ+uj+kMepkvLUVakir8EVmCrMZTH4bfwQ4ez7Ow/wiWNTn4rI+fuNs7Z2d+8bFjD/sPj1zp0nJ3G661Kau+lCdlnN+ikXogowyQdHcboOGuyWn8TLaUW8xqZORyDD48B8XyCGwW+raotl5XBFtq9dy6ngkFmF8YkChgEIDSw4ofq77LFRn4po+RVqNhCXYsYwnzHvesU9tsoAiTkuRgU88ea37vtfrvR9sSurxb8HQ5eS09W3RzNsl3Hi7ZCymo7dDavzBoNd7/rzXG7Qdyx0lEJrq3IkKYcxDN47wp1iWDxkejseHCdAgBqxmDdQVAJzHAIu1/kkDeC6k/tQT0e8jG6Td5fc3BWmvCof2Ngg/vR6CnFMfiWA3CK/bHg6nRkdHR0ZGU6lUbyjYmTE0n+JM9e5npCFr0VhMzkhPxGA2A9AftPf2hsNDmdx1e22uGuEgNaLgmodSfoZoukxNsScxnk9Hb4Qx4VQ4bO9OxvUAFPzyAXW60gGy+UuFUMeeRIzw4/fIaw/13u2FwL0f5du3b7fIT2/o9LcbdQ06xHCtLZwa6R976zjL5+TbscF7vV4QkqGxER0MRdGlltouztaDOwgjSuz3hnrDXz9++HCFz+0PHz8Ova9T1whHEkvEHvfDl2ulLeTXk/GL37f3jo4M9o+NfRnrHxxJ2YMDVEDmxwAppQFk5w9ponYPv0NYjva1ow6peyODUDjO7s5ZHA7+RunMuXN33hEfRYcQnz01MuZwHBfnTX8qlBQI2zEjQwHZ9VoLF3+C/mFx9KOwXz8IdCwXPw5pgjX8KtGuxsO8h57rGgvX9OQJpq9Ol2wLD/S/yW0cnhu8HRx0wO93ARcywGJ8LlOB+Uv94+dvkz08OjiGrROw+L8pPl9zc7NP2F4Anjlz7s4JAGb1kPj98AD4KNgZx0kkQ/h2MAVBIvRjFofQJd6iQa/v7BbxXcwGX10aOl8DQKOxnTrYkeufbrg7PAo+Xg+hd8I7vhH5MUCDoVSA7PyR0NRxavTPiJXPGx75gi1zkBKcMnH4tmwQ0nyWrx/vB8BxftfCo2OZYdiTk/QHDT4uMJ4cacML8WrqIPrnJz+DIWkPf31Aejdu3HhEbnDMIW69NOSHH5TV3B7Wv7g91S/YZa+crXxyt8D5gEhJAJe+zPZPU2eyUf+w4NhTxHfcYXX4mrc0+6xnNiNnzoIvmy2+02c2k9+dE0cAmPPrDg++4buJ7D69e/d+R/MWXtyH3UTetcXxKl7QwtliPXTOSYbDHx7wfDzgg8+vKc+vAI9+bz085CdA7L8Jl0kR/pYjaR/4gg1E7XJPDk7zxxp4zI8B8hdV7SUAlGc/V0i4NVoOnyvosdzYR7/wfKcdzULfHNiSzXz9WHynq6vPHbhzAoA5P8P9cD/4YJeNj5ELhF86IIhgTXMacM6GBWYv8Ql+t19cyObzg4tb+ewacgEQDbLhPI9LPhoz8IaWCCvR8aWz+pqxsXS0ocf8GCAyAXAR/0z1XwAlquz1X+26Lu7T1R4d1uv78CO+zVby4wWt1dUO+IkFAUgFPJgDNHSnXlH7UM5MrOIRVJa3A8M6it6MUfC7xk/f2wLfo0fwY3kNQkHQzy8TBr3wTslsz3dnst+3hR0oK/nlARrRYaMIcNnKlatWrVqzZs2/fLIkyRYwal9Xa2q6SgU0+sPkB4Rq33gsXz7glgzgkZu0c8L8JT+ejyqLnBUPaT6Otny5Tle1uXMO8wPf1q3PL4gEn1/kAQ8PdbJ1Ausf+pfjQzIzZdzhzgc0Q1AMKJVlP6dRSP6aUFKVKeB3zu01ps0qjAN4vCb6RU003i9fjDHG78ZACsqlBpACtRPwwkXnAJGIlIuC0s6WpjBloEtLzRR0GkEGaicCQ0FA7NTqgCC3oAVWAdHJYN5v/+c579vT1iLq36mZhrb7vc9zznnPe9oajQJ897L3+MHWLJqD/KKsKlWMVZNQl5wcg7/CAKtQgQDkvDo9hrqln1STZEoOQ69Du61NlnJQf7AI9btzZpngZDafJcC7H/pRXCUeQFvhhzdKwi9OpTXsXRr+DkjZLwGDczX2x/+XIR4MKlPwC4nRidUpKMBdOTnHp39oMLGCACS1ZKvBYLYmU+SntEpAXse8b5894Vb8pGCdk2O1Kj/1GEZ434LgQwa7pR9367MvzkxNzczMTG0qkqhBAnzyD7yHyPHp78ivAS/qbAivc441HLD/XiQiINfPdf/z1OUZN10lqvmV6GhdxfHLXsaaNmdwVvgh4oMR25dardZgNiFYCSarjaICisfWgwNut9tsjoqcpAanGAzuy0yK+hBNrAxm30s/GYVykwVnGPChDTQx55CdCt1kVUoan9QZPrgkJ/0dEJGAkZ4w/HdCDIHK9hCerKbFnbqMn2vZV3F1BYPZqgBabQUFBalaQ4KGKMxUVg3mKAlIgqgL6ReZkF+uAYBrp5RZhxtY+BGTjCAcoipcfpYBj/6RI3Jk4ATGP6eKxfPbjhV4F6UoTgKGC16L2fi/EuIJl/jp1/GyWTQE0qC0dMIEPxGTaFtrS0F2dkEBAINBJCCP0I5FKkCbLeizqwkRdAJQ89EupQCHhrgA2Q9MSgKEQ4chOIT/B0CUIKWkmwpQmjnxwnXoZvxKDoy0fwOMp2wLiFz9P84MnqHOIa/hZavj3nv5XQxMxxdNJjPeVqOMYU7nl+Bz+ed7e3v9mm0AkbbpVbe7pQWAki/BgCQkkKCcU6wEuLrANyT2P9UChBHgnlQDQ0VwWe3ho0f/4CNCTy9V4gqHLBD4UiUkJESZoIg0REUGNAIQ6bQH8srrl8mnXGf9tyKE35kC8OJWAkz5FIClpa/O4uNpDOhWoWDQp8Kvfet0YWHhmAYj9jaAHVSA8FMBmU9PYUINA9JiPPk+AGo+4tmg+5ch6Ud8zUqk4BSmEQVwo4TioAKkwUVZFDjFe4kkmCvR3lF/B9xNIcDQJDa9hqdW6jh4TVguv2knwGvFENiJl8rAJEyAR3ymSqjpA4Ba+PUWcn5dxd1vBMB7EbuPCzDPJv202lQaOSGI8hDDJ+5MrJiGNQmf0N5gx48zAOQGhh/zHRBpRhECkLKpViB6GH6HummISXIG5otKXB1cKryZlt8qSiYyYB9nfX399tvJsOkrtQgvuTo8193Iy5udAN8OBhz0YYtKr1UBEwiwvVAFrMR9UkTAg91uAszLy1P99ODjoTNVj9JAIWqoBDOtTgZcXUA32n9RAAHE9Qe/pygQDAC+uDkkALmHSw4ummiMNiUrJeikz8jvxRdre0A8vSknwNHuwVcRPEjsyAKhPG0UeWTkrt4B8IUmFfCl0pda1yrNBq0ERAe7RgrLOACktWsY4J52THAdA/BjwAA8tb7L344/FvxQH0KQt5owxC5QMf0mAEUBSr+vnzrQ3Ew9zOF7kQBgB4YYagPe2YBfEo0y9F5IQeq2gOBjwMQ++ySenyxgD5L2GNNvuwN/dvXUZcTZWQiesT0gn6+TFdhqM9u0qagajSYA+HNZWU1NDQGaHrsvMyKgY4wLkAHVodPl6j3d2Ojp9wMwFS+ZwCXIgBrNV/j83VMAJD8JCL1vH3nkkW8PMKAMA25gErH7AEizBq+jTRoeK1Dq/vGRrX6flgDlvK/2EAMajQAc7T71FnYj2A977rszbidB+9vb16BY30QEPPO8CICvMSA3g3r9/N+ALxeCv56g/d5IgPEOHxcgYuMfE0NnI2fEQPXIJSgBcXN18E8AYgeVAbmDyW8dfhAEoORjYQBi3OxGFwCQosy+YpobGaas4CKJAVeNuc7pJkAjYonr7J7EA2T4Ydrjg6y7U6JJsPX5fxSMSHhGBMCXAOhnQG4GtRV/zqWUeZdOPPwwSjASYOsaFSADqoULv0KReXq6jWvCPSxaOOG7e+/t+HNqamgIG9DBgMATgmGAXILY0+uGXxLYZIKu1fCwLykqgcdbNXVYxrqz+40MWG8/Jfy4/MSB9HIdDYT2F54PS/D6BoI7AcoK9BHgA6li1SwGmJHc3Jq4cqPxjW0A8UneUAG5h0UHny5UsrUWZdPLHk5iQIybv0xRCYYAfv2ImuZnkbAexg03AeIChQK6/BgrOAPmKDmCU5x0I0qA5eXlKZ1Ufy89mPP+Sv9kG/shlvQ75OJQpvUjJuSZRFkh/ivAI2MMyD2srub8PfxwLF5UYFIkwKW8AKBNAfSfLBMpLMNrGtDDDIgIwPj6AKCchL8NAM5FAtz1/oAANHB4iZkAwPFCTmPjkpmmQK0EtALQWtBPfuX1rW9RAeZ89UFsbGz7ym4lRgiGBr+XIyPVIE6ARAI8KwLg4KxZA8AH1B7mz7p4kPz2M2BmRMAvWhAJSC3cfhIjJ4ZOEC7SzM6ALBiF1/wuPr7+NwXw2UiA337/pgT8WADu2rUwgDmYP5Me4fW+Ro91QhkFgvjftkiA5GfhAizd9VV7LGf+VVUw6447sDyUWb+DZ2cpeCMEiXBHwF2ljkV8IgLUKvMwZW06xbi/w74zIEcZOl0nczkQXIoAuHu3IxwQghJwXQFEeQLwYwFYqgLqRTAq4ABgavYILxMgyICpQYDJEjBFGQHnY5W0K4LxRVnro3bHkafVdHTUR/PIGPhWCdfgzoC4v++sXsUo8gCVoCGwHjCvLk53T+MxDnVwOGA+A+YpgG43SpCHTu2v9+d64+K8ZTU9AwTIYyAL0p1OAHBo5kX0MAMiX0MuLSsNU/EoA8IPCQbEIhB+agwARA/3YpXg9UIwHFCTTBGAFUeoAB88BTp3jDsf//pgRQDG79/fRjsih3JKcvD3IcwxRVkk2BnUxXIq2R4QN/j1Xh8+EZegXt0HSMo0PfbDdz801DFgVCTAJQWwxepssWlE58/27KNvWlm8TbOVNoCqgHRkT/vd7qKMX7BzOjTzzBQDsuDR5kfSLfQz6+tzDMh+DHj06IEDElArotdr6AxvQTtmOWNR+T7PF6YIFciAFkv1q7wEXIFcckyduZgEnxOCfMQn5BBQvFHHa2xV8KpbuAa3B+TNBNzgOzyvaDSiBFGDTAhAeqgLPpqDIwNOrwnALzHn0TxMjep/BX64uo6lNTMBqosLvs2bLyqq/5MKcPOnn4Z4IS0yBz/EMbqB3oasBMQqG/uw02ZMSCogXRQ+xOs/aRQnuRRAQzigxWLZV3+KCnABHdwyEYNnC7a9IISg/EKdDEZ8C61vEgNdfO35Yi7eDrCLtrNwh9/h9YzRHCAFGRCC4GO/iIDdPgFIq4YWW1QmP2v0d6YUFXV0drOfXFtoDKjwfgD+OAPA5Z9+2uRBUBV0GIssjtEfscLmAoQtAO986OiBpwD4fh9+nrcOOFqMqySoXyyK5/wj4AIV4ClMIV9OxNDjrSgIfvCaECRDpA2hf6OpD3boohN1OvUk2Q3nSsFIgFn8UBg3617PlgEl8gAidlJY8D6O3EoQ04sE7PPBD7HSsqsFgI+Rtm+gr2/0C1+lzabXsx+HpuiCEaMx60f4vfjMTz9hvwVM6k7g3HpfX/cGH04QfrSkZsCvsYzp02tstDYVodU5L4v8b6TsDgFUL5YETKmng5+8hrFOWAHINciCTNg2udLfP4+sTFLfHHz6iEOn06WnDV4sAM8+53wMg9sCplecYsA2r8fTTzevQlDdzZMbgZKPAfcIwPQxVCADIm6bAMSSbXX1BP6JpoOfLEDcu75hNKbPwY8Bl6kEmRBaz76JE1pUf+JpkgC8G34C0CcBKTQPU9YG+uodHR1fiPmerzvHSo/EBKCDCrCEhsCYCetj97FgrBBse3VlHrBqVtoYcBCn19PS6l9gpev5SPr2gGkVky+/R7c4GZ7G0/N6PbqsgARBqEZ+KnUT2FalAnYtygrEIwAzAFmQY5a3p+qR0dqT5eXpcwS1DECUIFOxFs7GINKPAbmDv8158HjTbEKCAihLMBOJ8s0uDkwvYrpKFYCa4HXgvn37AIgCLOmPjc2fIEBOMQsKPZkPJgF4ZLA1DX5ZWZ8LwEv5IAgEt5mFqQJLnsCTq0baQdHybh5v5wERv5PblYKPAdHBKuBJ+PEkgmAeCRI0m2kLWsKjQnDr0FVenpX+PaA2CXAZ8wjCT0PUQ0VBfujwZgCul+Qc131hMEhAhCZ3EuR3QgxaAUgJAyzdhU0YBRB4nKpguL1IPq1vPrOgAAEIvwDgFVfKM+kSUO4HxvHBwHsdDk9jY6FnxE+ALpcLhkoAKBnYjwHzGbDa42dAdzLHnVcJPyaUB33k9pIrfwSAaWkbqDM+isBNLAIulS+0AHGffKikTWfXG/QM+AAlSJD9bDYMPhJQvRcmwDjHAu0iYBKumphwqoCZxQE9l4v3FLV7UIIZKQSYBb8A4K2X8igYGZDXgZ++hOnHPttVSDnd7yfA2tpafl1y7F8Lrb9QwH4GbFGe47lbzIpgZqifhv32fgPA+rQ5UL24rJxAUPjUMJ9agE82Uwc/8kTJE7ouHxUgA6qGTIi34dGR/iMDCsEGupwATKlusi/koMUA6J6IAaCad/bszd+zJ5U7jluOAKszOggQCQBedIEcBSO1MABLIdFqmz1ZKAh7x/2uWhcEEb+v/7RHeagk+BDDO8UA3EuAGZ4tv+xhIWhSAMM2iFNd+fnjxwBYkZ61wY+NOFMkKCP9EGpg7HTddu8TAHxDq/gJPpUQH0fhowrEbxlQE9XgbMB+YL2uz36c/AjwSwmYSafR1f3zWgQlmI8Wrq5WAdPSFED6Ys4OgAuYzu3myrGeQhHP1kjvZ+Pj45+NjGxRY/+uMZNGwM9QFQCs8Az73snLq8I0EhDEVIJkhjdwcX7+3p8J0KLLmrv7zrvfRAkexl9cg+F+DIgG5g6+HYDpXd4xCcgRhBylJvUMyFHOxug6n36f/e4KBRRPGNivtvbxxxkQa5uR6mrHYCtaGFEB8bUI6uGdAU2Vvl9rygr/np7FykoJSBdcAqZ4hrf8VVVVPApKwhYMS6F+Vej5/M96jlUAMDEr60k4DR1Gnjl8eHnq+7sfCujJ8EYhbbXqcIuQ0eVtLZB8wYaqKupREZSABw+ViE38AKAsQLr3z4YeQoIudHArKlAAYiXzkQC8GYDn7gCIJwcAhODvPbw7JFOG9I2JMx/Ex348CQtAo2d4uL8KoSZW4+Q9Qjwr5uE8sG7ECHj/sRQAokHmSGjzMIcJQ+QQ/EP4YZ+mnr7w0OP19qto2fwLf4f0MwCloDydJfzaxglwwin42A+jCvk9ikAwmzo4QwCSn06nAuJA5g6AOXhyQIBwmv39WE1ZSGqaBioJUNafnodAAkQy8ERirYpCt3OyCvOCUgVw+oGR3Pt79mF7JIMESWnqcCCb30s+TjP78VZ1BSa5/V1er2e+IJvzAH6Jv6QhdzMADSGAytesjq/QXpYVFUh67IcGTi1gPxasRQHG4ot4GQC0k1/ivwd8733s23ba6OSTtW51tu+OHmyyER2S2zO69AOf2lL8cJG1ooMFYAoAt/zFxRBEDcq4JR/5cQPX3H+sywLAiiykmbIpBZeVexLJBz9+VnK7BYDxGQA83Z4tE0GQSjAUED9JfLxe3pMMQNG/ooELXMR3zz33EOBeWsSIIbCT/BITgwHPwf3w9oCH8IcaBaCTj+Nmzg703RF97FhPT09TU1/34ioOheL9AvWnRQEy4DwBFnlIsPhvgl8KPOYTfuM1ufcfyyhHjLzMOgCkjd+k4PcEF+5HG63prGDxYuf+dLuYMmtDFRkQCS5BNCgDMh/7WScmcNAzE5ENDD6EejiWpxDRwTr4Rf8nQAsAK/nAp5W/HLM2+8U0srToO9GA3RgAqn4AJD8C/Iw3kvYNIyPFCAzdVrWHW7j2JN/ez7BRff/9FvIzZtAqQXeA8sum2sNST/BR+FlnCgPGAxCC8wSIMR+RioJQNjGFb3w+iW9T+KrAN0HlgXADSz8GRAGOO9DBg+hg9pOAF+4MiFvuAKD4egx928HUUEcRT+RkAwcAR/j5lmWYBfcwIYrQKsbAKqEn+ODXW1YDv65yBiyHHwSfIsENJlz+bUPYCT3yU58V377/Lo4FgBDsfVxEQZTVGDwQItTBrk8m55nPbY0hP2uD4IMfGpj9BODjj1IBKlNIJ/n9R8C/SLu7mLbKMA7g8Xt+69YqmVcjY35ciN8xUeZHD3boGvsRNKnWiWiDNgvVSE8M7EaobmATIRiqTjJIJ3GF1IhM0cQZgmRbDEUiVzrdlTNhhmjmxe78P8/7vuc5bSmC/qdxLHvpzq/Pe877Pqc7ZjIEuBuAu7GZ1YQc3Q3EnBA/NYO7z4EPOcGC5460tbWpMsQlmOlYT/EtnocfXULYryNhhyjhn6DEiH8qOdEz0xeJNKs0Wu9yzv38Ksc4aknsm3j7SYgc2pIe4fL7dTfrvf82ZhLnQfHTFUgFCL/IFBUg+P4HIDpSIJSwHwpQnwDVGZAAZ/6Oc1Lgo9Iotpns5R+UVubD9MUVCQU4r/0SHdALhb8I/3QGUEB0Inxn4MdBAarETyjBv2dn4KcV4ahiFIHIIT+woA2NyYtPdr/9jubjZSlWgLiAOIDdugADAByAHwMu/DdANInIsISP/AygKixSmSc+LCEz7+rSKBIXsakfCPNNL7+u/PalGRBD4gHwUYIgNFFybj45A3LS75rMFp91UkJJiGoTj/+w369cfO+YrQBXAjfWXH40gYuRSJeFTkIv/DjBpfUDZhTgwwzIHyN4DoaIWnHKEgZ+DEguswSYQDpUZWDZvVxc7G6VUJkuzqL6wAe/Fov88E8CA+0wBJnwjzPGUPTOGj5eRMcaEx18hz8jK/yV88XFGUeAFSEohkgrXzto6r6DT1XoXQBXAS4vqv4EcGYkEomk0QycaNAZeG89gP5VABHuE/EV37xxsgTUBdi9PA8+BkxBUO9bVs7PLnZ3a73F6fPLwNN+e2z2C1gBAowXvtA56T/7h4N45syZP1B8Ts42Dw0NNWcsK9MYKxGkdery+fPnp1fL95wjtHYGHy3CzJ8feZL6B1hAO36QB2AuEglQO9oBzHk3BvjC52/uFkDEtKOk8LGCkQKc2Tev+JDUCT4mCmGBi9Iioa/YL23ZESsQb8YmsGAAT578yPfozp2PU1hNEupXfphdgU56OkUGr6LDb4sKfxACMbrqZhF1AN/GugUHwtNW75qp/WLqTwBRgnYCgD15cwr85IF/B/T7BRA3eHdTtJpEAFF/UoCzLTbzcTLgE789Toye8UtZdlcwYqV/6cQ94JD2A+BHBhCEgvh4sB93vYfSViQa7rLSh17qRA0aPu134MCBUkEBRA+6+032w1WD71VQ6w987CfB1Kez5XQg3k+CfQqw970NAh7VgPsfqgZ49A3XBF5cabEEEDXIB1Xm55IMqPqzCn5UvdVz6HncQSwQXjkg/IxhXyf5of5C2NoXrPRnr6EGO+b1SYH5VFhQETIjHskCwB9pDbNX/KDHq3DwueuPAPl8mUs1smCUAee86wIMGsCvdn3AXeW3sINAF6UcEHyyMOYzYMu+jAIEjBJUhyXHJdkzn9F+XVhkkeDwofbmxngE9YccEEAX4dnh9mQyqeovjLe6y0odehqdFRQhvwq/zEcURQhDg9gz3E+Evz+CtO7HBCY/8EEPfOwnYcBnaCH4bT/uKQ3rSTxe4wBuqQ4YFMAn97+gARHuRQngY/uPlvkV8cHLVIIClQwv7TK8VhY+ScFKGb8wATo12BgIU/0hxk8Is7Ek0p5hP2Yv4KExT3cOxWLxwD68iuYTQhgCkZLvGR4mQd1E2EWAL4tfKR8BohvIt5RkEtMykFNzBwNeuSpgUAOmAfjiY0d/pSYAnJjQgdQ/k32tmsAt+hrCV4WEWhDOt5gDk0M7WcioEs3g/BciCsTfZaePtUMwDsKPTAGK39k+VB8SD9iRKA3iUVHbSh1ux2Ul1pya/0LB44cQMiLSNaUFPy6q+0ZtdPoTv1JBBnyRJ3GHui/MrzahStBLz4paHXApFAyHDWAIdzQ/fwubWOzF3IbSVHH7LeNPaal9iFUIQ7Axxl9l7JYSv5MFO93BSQfgFzWAXE6j7TH6KEAg6iubwX35GPMN0TVH+3HolTpinUOUeNoqALEMUH+yLqsF4z2zKEI2bP2wWgFCEIDU0S9acQKcCslleG1A9K1t3UyInjj39d7Pf/3AbGjJUSLT19TfnpY4b4UDdtgfLNhWut88biiFRQcFF9uE3qukMuCLRLVfE6UhBIzhxmaMwZIm0hdVwcOLYqr42mOY8vh1jOFBelSXhW/bOMShVmk8oROnNI5yGkd7ekgQhB3WLKpQGRpAN6Fup+KWyMtUgmmuwN4GyoinDPCCckCcXEIGMHSCGgK/md0sx60HPuNXRP1hX4uD57+GRr3HcMRGbQAjNuQKjg/I4LPAByIF2KQT7MKYVFyexUVjcdlVxZegQV0YIugcf4heKgNEGmD+1Wl30kmCTJgIZHNFESQv0dMFyIC76DpiJwhwRG1FBPDiaoAhAKqGKgFSs+hIK6VNINmOozdns2pflmqGT3PGDsGPZhc46MA6VNT6Bvc/UHsWShIQ4ucQFiKWelocRY1D6HSpyaVoTXy+pmCUXotGrpW8Q9gRiIzMFmkqt7IgIuWn/BiQSnAkIIDBfwfEUQkg/JAT56YXSUoURQ9+R6ZX1LXW4rc9YUWCBIj4/aGuyicP2nakqxAOotQRYBCFz0lTQ7ggg1xjIoUQIjXb4Pe5g69DBYxcM3kQ6omcyNiR8UUqQZ7FEuJD0FLEPdFd3JJJbQCwTwMew1sf5naluS1cnGmtDNp6s8t6A9DCp6HGgB1iQA4OK8hQEjp+/LICZAxfw7ivFKNiEK1a+BdpApOfryk31+Ae86jvUYqqSAl9ze8lJ9iXn5oiwv5RehBcvghAupAgZXxUgC+iD9tNgIENAUYB+M03L2HeBF9hPdmqL89OTxeLi0dUFovT08uunUYK56r2IXqmkAF0T7OSKEDjN7DgGYSADlvolDAQIFuSn2/Oc+q4H7+zSnZSzBcuyHD2WyIcBiCeyvQzAPViGmHH7ldZDz1E/lBpKwHaPVO51QAvqgKITcGXh3D96nud2bQfQlb7VlaWVVZWIEd6ys82m4SwA7gKHkE5gGHC8PnxLLua8aoUbnNVi1x/OBLPXNPqcIyHf4yhuxSD0SwEAYjrzGHaGr/sFuxWn8tC+1D97dynGDDy8dTYugGjCG3taVPQQbtZCRebRPgoAfJrT9PGQgOW4bmENCAsgg2+7w6eeoAwfIZA4kKUISD3NcCcsjQhv13kSuMuQY4/mgUgn69/BxduxqOZoAI/CTpw+FoBjo2NlwJef+1agH0RK3PopaEYbdPBJlFcsjqVL60kJYP6I0DjV2nnBqRSdf5+qfd4085VY4bgDIaw33d4ZqNKTU5GVRleCRgM9QXUspF2xmhncUMG4RbWjBuRe1qrAF5NgFdUA2TB9OGXhiipE268KmlJJFX9RTDFjJ/oldWWAgzSb5xAKZks9VZFYEAI+vnyMcfm2n1pfOc6CAWQzwTRvo6hdmwAfwTQLt3UQrrBNZ7N8frGpJiLEOBgJeClVQFZEBuJGK4K+NGcmRe9AzolfFanrj9sbDVgbm6A8cRO4pQTnml8Siwwjb8zuzeJNvDhyJlvYFA92UAID+a+wrD1AmKFT2sh1RY7RhWInrTqqtKEBRclO8LXy+nZb+0IMja4McA+/INtl5Vu1nuAOHoCzFcZtEVHkxTVpFMzuCE46Z0cHPCJXiVgaGTBqSR5qPGqhAzImZg76PBJJhdgiK1z9foVQC5AbA/xnoMQpdaGWyJMyJ/nhZadDrCaZGpwcLB3fYAHswQoVRhIxJIq7fG0Pb9vD7cFBG/e6oAxJUGNFQaE38ACPw1/aW7806+0n8vj0YHe3NwnNZCojGfyeA5jygixvhuYGBlcmPRyxVbG631v6fjc4PiqyVF6ae0tfn2HkyRI6xh9b6SNOtBZcOHB4dQBDARsmx5Ans2PkZ9/fYCeBT2HhTATH0oaRDzJN4VCU7Ey/aPQ4zSmtZ/+DI5HnnB/sDKT79WUQHhrSr6qMqZMvLau4h045ampEk/N5EiDBmS/vlE+ILoMH+Wbc3vhtwi/rsDwxyUZI78R+K0DEPG6BbHwL8AQW9PEKBoiVdI+mlJ9KV2A8MOhbSA1O+68/YENxrvtrs231W7oVQb95gqCRIfpT578C3N474PIUfIbgZ+N1tWYBHpcf03/CnjrA2WCaguFRNXWNBDAFj9RHnSloMd8BnBgY37eujs3b75lh2dDY26vv2Xz5s3bt22E0HO8F6de+DFgPkmhOdz2xBP72/R6pStLejmho/D056wFeL88AZkxBCRIb1sBitaqodZAyW8/viGL2ttAgdRvwMKzYzuPuWbzPds8G2CfzA2EDWA2yaGVYFsbL5hz8IvAL4e/45+TjPcOuDpn1QGvvP9mqUHD4ewq+FvQEsAVhSY/23j9naqpq2cITn2dZ116t4Ocx2zi1NfVrhsR/4uJLPthlinA5488orI4bvwmGpw1tzSK/hXw8isvubfWqXW0VSv4fBJVzvCk5TDFBX7aHA3O3N7qll6vx3P7jrtvEQmy2Fa75hgMqt1Wv92MuYyzadN99Tvqams8a8Qr/EtZ5RfSy4vT2m8kAsA8/EbkaCvSFFwL8NJ7a53nIPeCws3nK48WDJKgJBh26q92++a76m/bVi231d+l64ghrkJYY/vdt+2oNmZH/T083dWYq0zIcBO+0faquau+Rpaa3zJgKBxIasGfZ2YWczav93Deg590yHxlXSHcGa4A5ADwoisuveneOudl5tB1Q1x65Q0SAiwVxE9PG7/bcWVYO9cQnpa44YYbrsa/BoNSbYzRwwgVMwzjqsZ1hq0Z4wIMB9VNvueTycP5rO349fqNnkQaGnMowHJAU4IAvPjaO2pldT83wMUn38wdRzBIMfM9tOCR+pPjrTy2TRyRuE5FMDjVxlyGMRhyvYoZxgVcLdfc45yfTnMBYnbln9cZZj5eL483VO7epa04h0KuMoV5Dl9849Y76lyr29O9QeebrdLgMKdBk3Bu8pSpv7tIjw+3auCg9a7fsmXL1q1bt2wBBiqKZmX1yJit11KcYTSu+tBNjuAn8ONGrj9/TOeHfD6v1ssNDl7ljrBp0Jle95V0Y+QkeNO1W+5wL2lrlga/88k3c0UEHcKJBf3+iB8bVQkcXBI3IsDYajBuWHMMBm3FkJsoGGcMMXD1MOzdWnBS+2FV3HPs2I8mg+TXJHiVh4z6U6m97wanHyiAF16EEvynvfPnbSKIgjhnwCZ2jGM5iS1bFDgBISRCICGIhhZR8rUoI0eioERCSLiio6JJRElDyXdh3h/frL235ACJLFLmEIWlxd4f897tvIviybi/vxemrC3Npi/DNBsSLB82zN9/51libxf4hJ5sN6UNqK/0hpNrrslQGKIqoRprmipZpusGUs+Vsk55tGk1/AYN0JPtGyXneqdmIb2VOC79z/m1tsOJNC0oXXC8sb+3+rVZ+Ma2s4+n4UAPKu8ix8evZ99PiA/3D+XnjSqhgWgsJCYAcV1lMKQqocQiXTP0Ne12u1wm66BBpbRRrk/NE+9f4eeSfLb6JcgbxyG+aCQ0Gy22d3hj3QGuhQBxG7Ei3niwUxkKtkYnbyv0qWTH+weqF/xQnrLdhIBB4IGEgOhAoGEwQGNYZ81VEddd85KOBbZg2L1jtfUNBwz+4tT5fH4qktkb2a3q89fSf49vtta78Tf5FXqSQRGDYBcI68eJONneNHyoNDVYUk2zUQck1iDCAI1fLeKaRqPh69TBrngRuPYG/Z1bdkSz0VSYNILOZ357vTQOm3044fEMu9vuDuzbH8CPAK2IjeD20R8i3Lp9L+AnZknIqrbtJBqmkiGUXqPe0yXyockQC2OxN/TG+1OPqi8q+JEe9HG0FSgsL9hDK5inGBKkB/toGK0j5Krfxnfo7Q/VC3xqloQ60NUFvMJkMEADSqyh9QoXIerKWO5rHNLu+Mc8E4JMqMTnmkUb5/FCDLgRVbAXsXiQBFtHmk1r09u8c1/sZ/zGwk9LLSVwID2ygPB6vTVX9BK5g6vk/hSCT8s08iLiB3z0X2pydKDlheoa8juxqwgOx2i5gvAGsund23vnWxEh/74d/lr6BuPhBPi81NIqHISLFJMivEDknxBqqyMEpwuCZwIwwW+W5Kf+0wI2A/JjkCCqWN0+UIQeTe/tPj44uJvWw0e7Ohkw+yk/sZ/SK9IiCH4OOKqGuKbeOic44cBp9oL8BB/1bjM1xD0s+eEMExgw7oNNabkDi1Ut5vtUxGfobQk/tD/h1xF+v6RAeEskSCO9KK0ivkRCEFn1CT3oACN+owXjUaip9idvT9ieGzB6c38nMWHPXAiGCvFcWU7tevsDP8N33nb/WPX/NToDBOlBEIz4PWdee3RvSdqeUvyowkKdmlARMqeHyZx/licDwCftDwZ3fldyUZn2n5UeBEEC5HnZZ+UHQXF5gWGPXeeX3p41DEPoDAUic3p1xGfIH9rddy0vfrovLeLBPgfv82PoM/RSdTo7+VH6z9mt1tfA+dGAkRYEFwh7QUyvMRm4preP3PiFA6dnU4b8JTGUjg59WM7y8vrqpf3HHuwI4UJlaEGdMT1O+Az5ig//P7nhMwtqFxz33YNpTZWf0GN5+RBtkvYfVUCWq8KcPoTSGd9Cb1Pxuf2yI6jPLVDESYKsX8UXDMv7Xl/YYR1/FN4K1xbRlBE9qWY5ImlkyW9p4GRVnMwbnkdBz0doUM+maDVvjwxI8OFyUG9WXCuDgSK7+uXUuG0E0x7ctHGIB4KxTdAg8cj1oL6gOgwbiXyfGg00ssXHw6C0QXhwq1LTu+DnB5aBdXWffSs+8qt1Kg0DvqjGYCBbfMHcHQRlbLyzcz/Sw90wj3JYbia5Sny1lY7p6clAdu2Pe9GzjBHsIhtYRo2fOm+r/QSfcAsnb4yTtRUn08bStVCON47KNugEfVgSJ9Igj7YVnKrxtwUmdEjK/+YL+cOzTZQEezZvWo8eO3seNXwGztnl3Z/+gZj1F/MmIBStPHWG/ZwfwP1PBfZPVE5LFkGf8kAq+CxvZH5PvBAVJOjP8ZFN7eKjauZRwVdke1e8IHnUL4P+cDWR4ujSyXAckossp9q8yRJqnEgv+dUoY0MYSeNGvnk0E1k0KCOqX+Vj59wTVQZizl+LEmnOeT4jJRPq5Xk5oRoPTy/Txl9TlNfynYZkqBVSl/QuQj8BPazivNDIlckAAAAASUVORK5CYII=",bad="data:image/png;base64,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",perfect="data:image/png;base64,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",great="data:image/png;base64,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",scoreIcon={good:good,bad:bad,perfect:perfect,great:great},leveByScoreMeasureIcons=[{icon:scoreIcon.bad,text:"bad",color:"#EE4C6A"},{icon:scoreIcon.good,text:"good",color:"#FF958B"},{icon:scoreIcon.great,text:"great",color:"#FF8E5A"},{icon:scoreIcon.perfect,text:"perfect",color:"#516AFF"}],icons=[{img:Image1,tips:"你的演奏不太好,再练一练吧~",mome:"敢于尝试",clxImg:clx1,clxtip:"你的演奏不太好,音准和完整性还需加强,再练一练吧~",clxmome:"敢于尝试"},{img:Image2,tips:"你的演奏还不熟练,加紧训练才能有好成绩哦~",mome:"还要加油哦~",clxImg:clx2,clxtip:"你的演奏还不熟练,音准和完整性还需加强,加紧训练才能有好成绩哦~",clxmome:"还要加油哦~"},{img:Image3,tips:"你的演奏还不流畅,科学的练习才能更完美哦~",mome:"突破自我",clxImg:clx3,clxtip:"你的演奏还不流畅,音准和节奏还需加强,科学的练习才能更完美哦~",clxmome:"突破自我"},{img:Image4,tips:"你的演奏还不错,继续加油吧,离完美就差一步啦~",mome:"崭露头角",clxImg:clx4,clxtip:"你的演奏还不错,继续加油吧,加强音准,离完美就差一步啦~",clxmome:"崭露头角"},{img:Image5,tips:"你的演奏完美无缺,继续努力吧~",mome:"你很棒",clxImg:clx5,clxtip:"你的演奏非常不错,音准的把握和节奏稍有瑕疵,完整性把握的很好~",clxmome:"你很棒"}],getLeveByScore=e=>{if(!e&&"number"!=typeof e)return{};let t=0;return e>20&&e<=40?t=1:e>40&&e<=60?t=2:e>60&&e<=80?t=3:e>80&&(t=4),{...icons[t],leve:t}},getLeveByScoreMeasure=e=>{if(!e&&"number"!=typeof e)return{};let t=0;return e>=40&&e<70?t=1:e>=70&&e<90?t=2:e>=90&&(t=3),t},audioList="_audioList_1j0z3_1",styles$5={audioList:audioList};let timer=null;const midiData=reactive({iframeRef:null,playing:!1,index:0,rate:1}),playNote=()=>{var e,t;if(!midiData.playing)return;const n=state$1.times[midiData.index];if(!n)return;midiData.index++;const i=n.endtime-n.time;null===(e=midiData.iframeRef)||void 0===e||null===(t=e.contentWindow)||void 0===t||t.playNote(n.realKey,i),timer=setTimeout((()=>{playNote()}),i/midiData.rate*1e3)},hanldeInitMidiData=e=>{midiData.iframeRef=e},hanldeSetMidiPlaybackRate=e=>{midiData.rate=e},setMidiCurrentTime=e=>{clearTimeout(timer),midiData.index=e,playNote()},initMidi=exports("bq",((e,t)=>{const n=ref(!1);if(t){console.log("曲谱为midi,使用app播放"),n.value=!0,state$1.midiPlayIniting=!0;const i=getDuration(state$1.osmd);api_cloudDestroy(),api_cloudDetail({midi:t,denominator:i.denominator,numerator:i.numerator,originalSpeed:state$1.originSpeed,interval:50,duration:1e3*e},(()=>{state$1.midiPlayIniting=!1,n.value=!1,t&&changeMode("music")})),state$1.durationNum=e}return{initial:n}})),getActiveMidiId=()=>{var e,t,n,i,r,o,s;return null!==(e=null===(t=state$1.osmd)||void 0===t||null===(n=t.sheet)||void 0===n||null===(i=n.instruments)||void 0===i||null===(r=i[0])||void 0===r||null===(o=r.subInstruments)||void 0===o||null===(s=o[0])||void 0===s?void 0:s.midiInstrumentID)&&void 0!==e?e:0},changeMode=async(e,t)=>{const n="background"===e?"music":"background";if(console.log(!state$1.songs[e],e,n),state$1.isAppPlay){const e=new Map;for(const t of state$1.partListNames)e.set(t,60);api_cloudVolume({activeMidiId:getActiveMidiId(),activeMidiVolume:"background"===n?100:0,parts:Array.from(e.keys()).map((t=>({name:t,volume:e.get(t)})))})}var i,r,o,s;(state$1.playSource=e,"all"===t)?(null===(i=state$1.audiosInstance)||void 0===i||i.setMute(!0,state$1.songs[n]),null===(r=state$1.audiosInstance)||void 0===r||r.setMute(!0,state$1.songs[e])):(null===(o=state$1.audiosInstance)||void 0===o||o.setMute(!0,state$1.songs[n]),null===(s=state$1.audiosInstance)||void 0===s||s.setMute(!1,state$1.songs[e]))},cloudToggleState=async e=>{const t=await api_cloudGetMediaStatus(),n=null==t?void 0:t.content.status;if("init"===n)return;if("suspend"===n&&"paused"===e)return;"suspend"===n?(state$1.isSelectMeasureMode&&(audioData$1.progress=state$1.midiSectionStart),await api_cloudPlay({songID:state$1.examSongId,startTime:1e3*audioData$1.progress,originalSpeed:state$1.originSpeed,speed:"evaluating"===state$1.modeType?state$1.originSpeed:state$1.speed,hertz:440}),onPlay()):(await api_cloudSuspend({songID:state$1.examSongId}),"evaluating"===state$1.modeType&&(audioData$1.progress=0));const i=await api_cloudGetMediaStatus();state$1.playState="suspend"===(null==i?void 0:i.content.status)?"paused":"play",console.log(i,"cloudGetMediaStatused")},audioData$1=reactive({songEle:null,backgroundEle:null,midiRender:!1,progress:0,duration:0}),midiRef=ref(),audioListStart=e=>{var t,n;if("play"===e&&0!==state$1.originSpeed&&setAudioPlaybackRate(state$1.speed/state$1.originSpeed),state$1.isAppPlay)cloudToggleState(e);else if("play"===e)null===(t=audioData$1.songEle)||void 0===t||t.play(),null===(n=audioData$1.backgroundEle)||void 0===n||n.play();else if("paused"===e){var i,r;null===(i=audioData$1.songEle)||void 0===i||i.pause(),null===(r=audioData$1.backgroundEle)||void 0===r||r.pause()}},setAudioPlaybackRate=e=>{if(state$1.isAppPlay){if("evaluating"===state$1.modeType)return;hanldeSetMidiPlaybackRate(e)}else audioData$1.songEle&&(audioData$1.songEle.playbackRate=e),audioData$1.backgroundEle&&(audioData$1.backgroundEle.playbackRate=e)},getAudioCurrentTime=exports("aG",(()=>{var e,t,n;return state$1.isAppPlay?audioData$1.progress:"music"===state$1.playSource?(null===(e=audioData$1.songEle)||void 0===e?void 0:e.currentTime)||audioData$1.progress:"background"===state$1.playSource?(null===(t=audioData$1.backgroundEle)||void 0===t?void 0:t.currentTime)||audioData$1.progress:(null===(n=audioData$1.songEle)||void 0===n?void 0:n.currentTime)||audioData$1.progress})),getAudioDuration=exports("b0",(()=>{var e,t;if(state$1.isAppPlay){var n;const e=(null===(n=state$1.times[state$1.times.length-1||0])||void 0===n?void 0:n.endtime)||0;return audioData$1.duration||e}return(null===(e=audioData$1.songEle)||void 0===e?void 0:e.duration)||(null===(t=audioData$1.backgroundEle)||void 0===t?void 0:t.duration)||audioData$1.duration})),setAudioCurrentTime=(e,t=0)=>{state$1.isAppPlay?setMidiCurrentTime(t):(audioData$1.songEle&&(audioData$1.songEle.currentTime=e),audioData$1.backgroundEle&&(audioData$1.backgroundEle.currentTime=e),audioData$1.progress=e)},toggleMutePlayAudio=(e,t)=>{"music"===e?audioData$1.songEle&&(audioData$1.songEle.muted=t):"background"===e&&audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=t)},AudioList=exports("aj",defineComponent({name:"audio-list",setup(){const e=()=>{midiRef.value.contentWindow.handleRendered=()=>{audioData$1.midiRender=!0},hanldeInitMidiData(midiRef.value)};watch((()=>state$1.playSource),(()=>{"evaluating"!==state$1.modeType||state$1.setting.enableAccompaniment?"music"===state$1.playSource?(audioData$1.songEle&&(audioData$1.songEle.muted=!1),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!0)):(audioData$1.songEle&&(audioData$1.songEle.muted=!0),audioData$1.backgroundEle&&(audioData$1.backgroundEle.muted=!1)):console.log("评测模式设置了关闭伴奏,不切换原音伴奏")}));const t=e=>new Promise((t=>{const n=new Audio(e+"?v="+Date.now());n.load(),n.onloadedmetadata=()=>{t(n)},n.onerror=()=>{t(null)}})),n=e=>{var t,n,i;const r=(null==e?void 0:e.currentTime)||(null==e||null===(t=e.content)||void 0===t?void 0:t.currentTime),o=(null==e?void 0:e.totalDuration)||(null==e||null===(n=e.content)||void 0===n?void 0:n.totalDuration),s=r/1e3;if(audioData$1.progress=s,audioData$1.songEle&&(audioData$1.songEle.currentTime=s),audioData$1.backgroundEle&&(audioData$1.backgroundEle.currentTime=s),audioData$1.duration=o/1e3,(null==e||null===(i=e.content)||void 0===i?void 0:i.totalDuration)>1e3&&r>=o){if(evaluatingData.isAudioPlayEnd)return;evaluatingData.isAudioPlayEnd=!0,onEnded()}},i=e=>{var t,n;if(0==audioData$1.duration){var i;const e=(null===(i=state$1.times[state$1.times.length-1||0])||void 0===i?void 0:i.endtime)||0;audioData$1.duration=e}const r=(null==e?void 0:e.currentTime)||(null==e||null===(t=e.content)||void 0===t?void 0:t.currentTime);(null==e?void 0:e.totalDuration)||null==e||null===(n=e.content)||void 0===n||n.totalDuration;const o=r/1e3;audioData$1.progress=o,state$1.sectionStatus&&2==state$1.section.length&&state$1.section},r=e=>{e&&(console.log("midi结束"),audioData$1.progress=0,onEnded())};return onMounted((()=>{if("MIDI"!==state$1.playMode)Promise.all([t(state$1.music),t(state$1.accompany)]).then((([e,t])=>{state$1.audioDone=!0,e&&(audioData$1.songEle=e),t&&(audioData$1.backgroundEle=t),audioData$1.songEle?(audioData$1.songEle.addEventListener("play",onPlay),audioData$1.songEle.addEventListener("ended",onEnded),t&&(t.muted=!0)):audioData$1.backgroundEle&&(audioData$1.backgroundEle.addEventListener("play",onPlay),audioData$1.backgroundEle.addEventListener("ended",onEnded))})),api_playProgress(n);else{var e;const t=(null===(e=state$1.times[state$1.times.length-1||0])||void 0===e?void 0:e.endtime)||0;audioData$1.duration=t,api_cloudTimeUpdae(i),api_cloudplayed(r)}})),onUnmounted((()=>{api_remove_cloudplayed(r),api_remove_cloudTimeUpdae(i)})),()=>createVNode("div",{class:styles$5.audioList},["MIDI"===state$1.playMode&&0!=state$1.speed&&createVNode("iframe",{style:{display:"none"},ref:midiRef,src:"/midi/index.html",onLoad:e},null)])}})),popup="_popup_1838h_1",dots="_dots_1838h_6",dot="_dot_1838h_6",active="_active_1838h_20",one="_one_1838h_23",styles$4={popup:popup,dots:dots,dot:dot,active:active,one:one},browserInfo$2=browser(),tickData=reactive({list:[],len:0,tickEnd:!1,beatLengthInMilliseconds:0,state:"",source1:"",source2:"",index:0,show:!1}),handlePlay=(e,t)=>new Promise((n=>{setTimeout((()=>{if(tickData.tickEnd)n(e);else{if(tickData.index++,t){const e=state$1.setting.beatVolume/100;t.volume=e,t.volume<=0?t.muted=!0:t.muted=!1,t.play()}n(e)}}),tickData.beatLengthInMilliseconds)})),audioData=reactive({tick:null,tock:null}),createAudio=e=>new Promise((t=>{const n=new Audio(e+"?v="+Date.now());n.load(),n.onloadedmetadata=()=>{t(n)},n.onerror=()=>{t(null)}})),handleInitTick=exports("aM",((e,t)=>{tickData.state="",tickData.beatLengthInMilliseconds=e,tickData.len=t})),handleStartTick=async()=>{tickData.show=!0,tickData.tickEnd=!1,"ok"!==tickData.state&&(tickData.source1=new howler.Howl({src:tockAndTick.tick,html5:browserInfo$2.ios}),tickData.source2=new howler.Howl({src:tockAndTick.tock}),tickData.state="ok"),tickData.index=0,tickData.beatLengthInMilliseconds=60/state$1.speed*1e3;for(let e=0;e<=tickData.len;e++){if(tickData.tickEnd)return!1;const t=0===e?audioData.tick:e===tickData.len?null:audioData.tock;await handlePlay(e,t)}return tickData.show=!1,!0},Tick=exports("aK",defineComponent({name:"metronome",setup(){const e=()=>{tickData.tickEnd=!0};return onMounted((()=>{Promise.all([createAudio(tickWav),createAudio(tockWav)]).then((([e,t])=>{e&&(audioData.tick=e),t&&(audioData.tock=t)}))})),()=>createVNode(Popup,{class:[styles$4.popup,"normal-close"],show:tickData.show,"onUpdate:show":e=>tickData.show=e,closeable:!0,onClickCloseIcon:e},{default:()=>[createVNode("div",{class:styles$4.dots},[Array(tickData.len).fill(0).map(((e,t)=>createVNode("div",{class:[styles$4.dot,tickData.index>t&&styles$4.active,tickData.index>t&&0===t&&styles$4.one]},null)))])]})}})),fraction="_fraction_8vx8x_1",close="_close_8vx8x_11",bg="_bg_8vx8x_18",content="_content_8vx8x_21",title="_title_8vx8x_21",desc="_desc_8vx8x_29",btn="_btn_8vx8x_37",loadColumn="_loadColumn_8vx8x_42",loadIcon="_loadIcon_8vx8x_57",successIcon="_successIcon_8vx8x_61",styles$3={fraction:fraction,close:close,bg:bg,content:content,title:title,desc:desc,btn:btn,loadColumn:loadColumn,loadIcon:loadIcon,successIcon:successIcon};var lottieExports={},lottie={get exports(){return lottieExports},set exports(e){lottieExports=e}};(function(module,exports$1){var factory;"undefined"!=typeof navigator&&(factory=function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(e){_useWebWorker=!!e},getWebWorker=function(){return _useWebWorker},setLocationHref=function(e){locationHref=e},getLocationHref=function(){return locationHref};function createTag(e){return document.createElement(e)}function extendPrototype(e,t){var n,i,r=e.length;for(n=0;n<r;n+=1)for(var o in i=e[n].prototype)Object.prototype.hasOwnProperty.call(i,o)&&(t.prototype[o]=i[o])}function getDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)}function createProxyFunction(e){function t(){}return t.prototype=e,t}var audioControllerFactory=function(){function e(e){this.audios=[],this.audioFactory=e,this._volume=1,this._isMuted=!1}return e.prototype={addAudio:function(e){this.audios.push(e)},pause:function(){var e,t=this.audios.length;for(e=0;e<t;e+=1)this.audios[e].pause()},resume:function(){var e,t=this.audios.length;for(e=0;e<t;e+=1)this.audios[e].resume()},setRate:function(e){var t,n=this.audios.length;for(t=0;t<n;t+=1)this.audios[t].setRate(e)},createAudio:function(e){return this.audioFactory?this.audioFactory(e):window.Howl?new window.Howl({src:[e]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(e){this.audioFactory=e},setVolume:function(e){this._volume=e,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var e,t=this.audios.length;for(e=0;e<t;e+=1)this.audios[e].volume(this._volume*(this._isMuted?0:1))}},function(){return new e}}(),createTypedArray=function(){function e(e,t){var n,i=0,r=[];switch(e){case"int16":case"uint8c":n=1;break;default:n=1.1}for(i=0;i<t;i+=1)r.push(n);return r}return"function"==typeof Uint8ClampedArray&&"function"==typeof Float32Array?function(t,n){return"float32"===t?new Float32Array(n):"int16"===t?new Int16Array(n):"uint8c"===t?new Uint8ClampedArray(n):e(t,n)}:e}();function createSizedArray(e){return Array.apply(null,{length:e})}function _typeof$6(e){return _typeof$6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$6(e)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};!function(){var e,t=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],n=t.length;for(e=0;e<n;e+=1)BMMath[t[e]]=Math[t[e]]}(),BMMath.random=Math.random,BMMath.abs=function(e){if("object"===_typeof$6(e)&&e.length){var t,n=createSizedArray(e.length),i=e.length;for(t=0;t<i;t+=1)n[t]=Math.abs(e[t]);return n}return Math.abs(e)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function styleDiv(e){e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.display="block",e.style.transformOrigin="0 0",e.style.webkitTransformOrigin="0 0",e.style.backfaceVisibility="visible",e.style.webkitBackfaceVisibility="visible",e.style.transformStyle="preserve-3d",e.style.webkitTransformStyle="preserve-3d",e.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(e,t,n,i){this.type=e,this.currentTime=t,this.totalTime=n,this.direction=i<0?-1:1}function BMCompleteEvent(e,t){this.type=e,this.direction=t<0?-1:1}function BMCompleteLoopEvent(e,t,n,i){this.type=e,this.currentLoop=n,this.totalLoops=t,this.direction=i<0?-1:1}function BMSegmentStartEvent(e,t,n){this.type=e,this.firstFrame=t,this.totalFrames=n}function BMDestroyEvent(e,t){this.type=e,this.target=t}function BMRenderFrameErrorEvent(e,t){this.type="renderFrameError",this.nativeError=e,this.currentTime=t}function BMConfigErrorEvent(e){this.type="configError",this.nativeError=e}var createElementID=(_count=0,function(){return idPrefix$1+"__lottie_element_"+(_count+=1)}),_count;function HSVtoRGB(e,t,n){var i,r,o,s,a,l,c,u;switch(l=n*(1-t),c=n*(1-(a=6*e-(s=Math.floor(6*e)))*t),u=n*(1-(1-a)*t),s%6){case 0:i=n,r=u,o=l;break;case 1:i=c,r=n,o=l;break;case 2:i=l,r=n,o=u;break;case 3:i=l,r=c,o=n;break;case 4:i=u,r=l,o=n;break;case 5:i=n,r=l,o=c}return[i,r,o]}function RGBtoHSV(e,t,n){var i,r=Math.max(e,t,n),o=Math.min(e,t,n),s=r-o,a=0===r?0:s/r,l=r/255;switch(r){case o:i=0;break;case e:i=t-n+s*(t<n?6:0),i/=6*s;break;case t:i=n-e+2*s,i/=6*s;break;case n:i=e-t+4*s,i/=6*s}return[i,a,l]}function addSaturationToRGB(e,t){var n=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return n[1]+=t,n[1]>1?n[1]=1:n[1]<=0&&(n[1]=0),HSVtoRGB(n[0],n[1],n[2])}function addBrightnessToRGB(e,t){var n=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return n[2]+=t,n[2]>1?n[2]=1:n[2]<0&&(n[2]=0),HSVtoRGB(n[0],n[1],n[2])}function addHueToRGB(e,t){var n=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return n[0]+=t/360,n[0]>1?n[0]-=1:n[0]<0&&(n[0]+=1),HSVtoRGB(n[0],n[1],n[2])}var rgbToHex=function(){var e,t,n=[];for(e=0;e<256;e+=1)t=e.toString(16),n[e]=1===t.length?"0"+t:t;return function(e,t,i){return e<0&&(e=0),t<0&&(t=0),i<0&&(i=0),"#"+n[e]+n[t]+n[i]}}(),setSubframeEnabled=function(e){subframeEnabled=!!e},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(e){expressionsPlugin=e},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(e){expressionsInterfaces=e},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(e){defaultCurveSegments=e},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(e){idPrefix$1=e};function createNS(e){return document.createElementNS(svgNS,e)}function _typeof$5(e){return _typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(e)}var dataManager=function(){var e,t,n=1,i=[],r={onmessage:function(){},postMessage:function(t){e({data:t})}},o={postMessage:function(e){r.onmessage({data:e})}};function s(){t||(t=function(t){if(window.Worker&&window.Blob&&getWebWorker()){var n=new Blob(["var _workerSelf = self; self.onmessage = ",t.toString()],{type:"text/javascript"}),i=URL.createObjectURL(n);return new Worker(i)}return e=t,r}((function(e){if(o.dataManager||(o.dataManager=function(){function e(r,o){var s,a,l,c,u,d,p=r.length;for(a=0;a<p;a+=1)if("ks"in(s=r[a])&&!s.completed){if(s.completed=!0,s.hasMask){var f=s.masksProperties;for(c=f.length,l=0;l<c;l+=1)if(f[l].pt.k.i)i(f[l].pt.k);else for(d=f[l].pt.k.length,u=0;u<d;u+=1)f[l].pt.k[u].s&&i(f[l].pt.k[u].s[0]),f[l].pt.k[u].e&&i(f[l].pt.k[u].e[0])}0===s.ty?(s.layers=t(s.refId,o),e(s.layers,o)):4===s.ty?n(s.shapes):5===s.ty&&h(s)}}function t(e,t){var n=function(e,t){for(var n=0,i=t.length;n<i;){if(t[n].id===e)return t[n];n+=1}return null}(e,t);return n?n.layers.__used?JSON.parse(JSON.stringify(n.layers)):(n.layers.__used=!0,n.layers):null}function n(e){var t,r,o;for(t=e.length-1;t>=0;t-=1)if("sh"===e[t].ty)if(e[t].ks.k.i)i(e[t].ks.k);else for(o=e[t].ks.k.length,r=0;r<o;r+=1)e[t].ks.k[r].s&&i(e[t].ks.k[r].s[0]),e[t].ks.k[r].e&&i(e[t].ks.k[r].e[0]);else"gr"===e[t].ty&&n(e[t].it)}function i(e){var t,n=e.i.length;for(t=0;t<n;t+=1)e.i[t][0]+=e.v[t][0],e.i[t][1]+=e.v[t][1],e.o[t][0]+=e.v[t][0],e.o[t][1]+=e.v[t][1]}function r(e,t){var n=t?t.split("."):[100,100,100];return e[0]>n[0]||!(n[0]>e[0])&&(e[1]>n[1]||!(n[1]>e[1])&&(e[2]>n[2]||!(n[2]>e[2])&&null))}var o,s=function(){var e=[4,4,14];function t(e){var t,n,i,r=e.length;for(t=0;t<r;t+=1)5===e[t].ty&&(i=void 0,i=(n=e[t]).t.d,n.t.d={k:[{s:i,t:0}]})}return function(n){if(r(e,n.v)&&(t(n.layers),n.assets)){var i,o=n.assets.length;for(i=0;i<o;i+=1)n.assets[i].layers&&t(n.assets[i].layers)}}}(),a=(o=[4,7,99],function(e){if(e.chars&&!r(o,e.v)){var t,i=e.chars.length;for(t=0;t<i;t+=1){var s=e.chars[t];s.data&&s.data.shapes&&(n(s.data.shapes),s.data.ip=0,s.data.op=99999,s.data.st=0,s.data.sr=1,s.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},e.chars[t].t||(s.data.shapes.push({ty:"no"}),s.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})))}}}),l=function(){var e=[5,7,15];function t(e){var t,n,i=e.length;for(t=0;t<i;t+=1)5===e[t].ty&&(n=void 0,"number"==typeof(n=e[t].t.p).a&&(n.a={a:0,k:n.a}),"number"==typeof n.p&&(n.p={a:0,k:n.p}),"number"==typeof n.r&&(n.r={a:0,k:n.r}))}return function(n){if(r(e,n.v)&&(t(n.layers),n.assets)){var i,o=n.assets.length;for(i=0;i<o;i+=1)n.assets[i].layers&&t(n.assets[i].layers)}}}(),c=function(){var e=[4,1,9];function t(e){var n,i,r,o=e.length;for(n=0;n<o;n+=1)if("gr"===e[n].ty)t(e[n].it);else if("fl"===e[n].ty||"st"===e[n].ty)if(e[n].c.k&&e[n].c.k[0].i)for(r=e[n].c.k.length,i=0;i<r;i+=1)e[n].c.k[i].s&&(e[n].c.k[i].s[0]/=255,e[n].c.k[i].s[1]/=255,e[n].c.k[i].s[2]/=255,e[n].c.k[i].s[3]/=255),e[n].c.k[i].e&&(e[n].c.k[i].e[0]/=255,e[n].c.k[i].e[1]/=255,e[n].c.k[i].e[2]/=255,e[n].c.k[i].e[3]/=255);else e[n].c.k[0]/=255,e[n].c.k[1]/=255,e[n].c.k[2]/=255,e[n].c.k[3]/=255}function n(e){var n,i=e.length;for(n=0;n<i;n+=1)4===e[n].ty&&t(e[n].shapes)}return function(t){if(r(e,t.v)&&(n(t.layers),t.assets)){var i,o=t.assets.length;for(i=0;i<o;i+=1)t.assets[i].layers&&n(t.assets[i].layers)}}}(),u=function(){var e=[4,4,18];function t(e){var n,i,r;for(n=e.length-1;n>=0;n-=1)if("sh"===e[n].ty)if(e[n].ks.k.i)e[n].ks.k.c=e[n].closed;else for(r=e[n].ks.k.length,i=0;i<r;i+=1)e[n].ks.k[i].s&&(e[n].ks.k[i].s[0].c=e[n].closed),e[n].ks.k[i].e&&(e[n].ks.k[i].e[0].c=e[n].closed);else"gr"===e[n].ty&&t(e[n].it)}function n(e){var n,i,r,o,s,a,l=e.length;for(i=0;i<l;i+=1){if((n=e[i]).hasMask){var c=n.masksProperties;for(o=c.length,r=0;r<o;r+=1)if(c[r].pt.k.i)c[r].pt.k.c=c[r].cl;else for(a=c[r].pt.k.length,s=0;s<a;s+=1)c[r].pt.k[s].s&&(c[r].pt.k[s].s[0].c=c[r].cl),c[r].pt.k[s].e&&(c[r].pt.k[s].e[0].c=c[r].cl)}4===n.ty&&t(n.shapes)}}return function(t){if(r(e,t.v)&&(n(t.layers),t.assets)){var i,o=t.assets.length;for(i=0;i<o;i+=1)t.assets[i].layers&&n(t.assets[i].layers)}}}();function h(e){0===e.t.a.length&&e.t.p}var d={completeData:function(n){n.__complete||(c(n),s(n),a(n),l(n),u(n),e(n.layers,n.assets),function(n,i){if(n){var r=0,o=n.length;for(r=0;r<o;r+=1)1===n[r].t&&(n[r].data.layers=t(n[r].data.refId,i),e(n[r].data.layers,i))}}(n.chars,n.assets),n.__complete=!0)}};return d.checkColors=c,d.checkChars=a,d.checkPathProperties=l,d.checkShapes=u,d.completeLayers=e,d}()),o.assetLoader||(o.assetLoader=function(){function e(e){var t=e.getResponseHeader("content-type");return t&&"json"===e.responseType&&-1!==t.indexOf("json")||e.response&&"object"===_typeof$5(e.response)?e.response:e.response&&"string"==typeof e.response?JSON.parse(e.response):e.responseText?JSON.parse(e.responseText):null}return{load:function(t,n,i,r){var o,s=new XMLHttpRequest;try{s.responseType="json"}catch(err){}s.onreadystatechange=function(){if(4===s.readyState)if(200===s.status)o=e(s),i(o);else try{o=e(s),i(o)}catch(err){r&&r(err)}};try{s.open(["G","E","T"].join(""),t,!0)}catch(a){s.open(["G","E","T"].join(""),n+"/"+t,!0)}s.send()}}}()),"loadAnimation"===e.data.type)o.assetLoader.load(e.data.path,e.data.fullPath,(function(t){o.dataManager.completeData(t),o.postMessage({id:e.data.id,payload:t,status:"success"})}),(function(){o.postMessage({id:e.data.id,status:"error"})}));else if("complete"===e.data.type){var t=e.data.animation;o.dataManager.completeData(t),o.postMessage({id:e.data.id,payload:t,status:"success"})}else"loadData"===e.data.type&&o.assetLoader.load(e.data.path,e.data.fullPath,(function(t){o.postMessage({id:e.data.id,payload:t,status:"success"})}),(function(){o.postMessage({id:e.data.id,status:"error"})}))})),t.onmessage=function(e){var t=e.data,n=t.id,r=i[n];i[n]=null,"success"===t.status?r.onComplete(t.payload):r.onError&&r.onError()})}function a(e,t){var r="processId_"+(n+=1);return i[r]={onComplete:e,onError:t},r}return{loadAnimation:function(e,n,i){s();var r=a(n,i);t.postMessage({type:"loadAnimation",path:e,fullPath:window.location.origin+window.location.pathname,id:r})},loadData:function(e,n,i){s();var r=a(n,i);t.postMessage({type:"loadData",path:e,fullPath:window.location.origin+window.location.pathname,id:r})},completeAnimation:function(e,n,i){s();var r=a(n,i);t.postMessage({type:"complete",animation:e,id:r})}}}(),ImagePreloader=function(){var e=function(){var e=createTag("canvas");e.width=1,e.height=1;var t=e.getContext("2d");return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),e}();function t(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function n(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function i(e,t,n){var i="";if(e.e)i=e.p;else if(t){var r=e.p;-1!==r.indexOf("images/")&&(r=r.split("/")[1]),i=t+r}else i=n,i+=e.u?e.u:"",i+=e.p;return i}function r(e){var t=0,n=setInterval(function(){(e.getBBox().width||t>500)&&(this._imageLoaded(),clearInterval(n)),t+=1}.bind(this),50)}function o(e){var t={assetData:e},n=i(e,this.assetsPath,this.path);return dataManager.loadData(n,function(e){t.img=e,this._footageLoaded()}.bind(this),function(){t.img={},this._footageLoaded()}.bind(this)),t}function s(){this._imageLoaded=t.bind(this),this._footageLoaded=n.bind(this),this.testImageLoaded=r.bind(this),this.createFootageData=o.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return s.prototype={loadAssets:function(e,t){var n;this.imagesLoadedCb=t;var i=e.length;for(n=0;n<i;n+=1)e[n].layers||(e[n].t&&"seq"!==e[n].t?3===e[n].t&&(this.totalFootages+=1,this.images.push(this.createFootageData(e[n]))):(this.totalImages+=1,this.images.push(this._createImageData(e[n]))))},setAssetsPath:function(e){this.assetsPath=e||""},setPath:function(e){this.path=e||""},loadedImages:function(){return this.totalImages===this.loadedAssets},loadedFootages:function(){return this.totalFootages===this.loadedFootagesCount},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getAsset:function(e){for(var t=0,n=this.images.length;t<n;){if(this.images[t].assetData===e)return this.images[t].img;t+=1}return null},createImgData:function(t){var n=i(t,this.assetsPath,this.path),r=createTag("img");r.crossOrigin="anonymous",r.addEventListener("load",this._imageLoaded,!1),r.addEventListener("error",function(){o.img=e,this._imageLoaded()}.bind(this),!1),r.src=n;var o={img:r,assetData:t};return o},createImageData:function(t){var n=i(t,this.assetsPath,this.path),r=createNS("image");isSafari?this.testImageLoaded(r):r.addEventListener("load",this._imageLoaded,!1),r.addEventListener("error",function(){o.img=e,this._imageLoaded()}.bind(this),!1),r.setAttributeNS("http://www.w3.org/1999/xlink","href",n),this._elementHelper.append?this._elementHelper.append(r):this._elementHelper.appendChild(r);var o={img:r,assetData:t};return o},imageLoaded:t,footageLoaded:n,setCacheType:function(e,t){"svg"===e?(this._elementHelper=t,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}},s}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(e,t){if(this._cbs[e])for(var n=this._cbs[e],i=0;i<n.length;i+=1)n[i](t)},addEventListener:function(e,t){return this._cbs[e]||(this._cbs[e]=[]),this._cbs[e].push(t),function(){this.removeEventListener(e,t)}.bind(this)},removeEventListener:function(e,t){if(t){if(this._cbs[e]){for(var n=0,i=this._cbs[e].length;n<i;)this._cbs[e][n]===t&&(this._cbs[e].splice(n,1),n-=1,i-=1),n+=1;this._cbs[e].length||(this._cbs[e]=null)}}else this._cbs[e]=null}};var markerParser=function(){function e(e){for(var t,n=e.split("\r\n"),i={},r=0,o=0;o<n.length;o+=1)2===(t=n[o].split(":")).length&&(i[t[0]]=t[1].trim(),r+=1);if(0===r)throw new Error;return i}return function(t){for(var n=[],i=0;i<t.length;i+=1){var r=t[i],o={time:r.tm,duration:r.dr};try{o.payload=JSON.parse(t[i].cm)}catch(s){try{o.payload=e(t[i].cm)}catch(a){o.payload={name:t[i].cm}}}n.push(o)}return n}}(),ProjectInterface=function(){function e(e){this.compositions.push(e)}return function(){function t(e){for(var t=0,n=this.compositions.length;t<n;){if(this.compositions[t].data&&this.compositions[t].data.nm===e)return this.compositions[t].prepareFrame&&this.compositions[t].data.xt&&this.compositions[t].prepareFrame(this.currentFrame),this.compositions[t].compInterface;t+=1}return null}return t.compositions=[],t.currentFrame=0,t.registerComposition=e,t}}(),renderers={},registerRenderer=function(e,t){renderers[e]=t};function getRenderer(e){return renderers[e]}function getRegisteredRenderer(){if(renderers.canvas)return"canvas";for(var e in renderers)if(renderers[e])return e;return""}function _typeof$4(e){return _typeof$4="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$4(e)}var AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0),this.expressionsPlugin=getExpressionsPlugin()};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(e){(e.wrapper||e.container)&&(this.wrapper=e.wrapper||e.container);var t="svg";e.animType?t=e.animType:e.renderer&&(t=e.renderer);var n=getRenderer(t);this.renderer=new n(this,e.rendererSettings),this.imagePreloader.setCacheType(t,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=t,""===e.loop||null===e.loop||void 0===e.loop||!0===e.loop?this.loop=!0:!1===e.loop?this.loop=!1:this.loop=parseInt(e.loop,10),this.autoplay=!("autoplay"in e)||e.autoplay,this.name=e.name?e.name:"",this.autoloadSegments=!Object.prototype.hasOwnProperty.call(e,"autoloadSegments")||e.autoloadSegments,this.assetsPath=e.assetsPath,this.initialSegment=e.initialSegment,e.audioFactory&&this.audioController.setAudioFactory(e.audioFactory),e.animationData?this.setupAnimation(e.animationData):e.path&&(-1!==e.path.lastIndexOf("\\")?this.path=e.path.substr(0,e.path.lastIndexOf("\\")+1):this.path=e.path.substr(0,e.path.lastIndexOf("/")+1),this.fileName=e.path.substr(e.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(e.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(e){dataManager.completeAnimation(e,this.configAnimation)},AnimationItem.prototype.setData=function(e,t){t&&"object"!==_typeof$4(t)&&(t=JSON.parse(t));var n={wrapper:e,animationData:t},i=e.attributes;n.path=i.getNamedItem("data-animation-path")?i.getNamedItem("data-animation-path").value:i.getNamedItem("data-bm-path")?i.getNamedItem("data-bm-path").value:i.getNamedItem("bm-path")?i.getNamedItem("bm-path").value:"",n.animType=i.getNamedItem("data-anim-type")?i.getNamedItem("data-anim-type").value:i.getNamedItem("data-bm-type")?i.getNamedItem("data-bm-type").value:i.getNamedItem("bm-type")?i.getNamedItem("bm-type").value:i.getNamedItem("data-bm-renderer")?i.getNamedItem("data-bm-renderer").value:i.getNamedItem("bm-renderer")?i.getNamedItem("bm-renderer").value:getRegisteredRenderer()||"canvas";var r=i.getNamedItem("data-anim-loop")?i.getNamedItem("data-anim-loop").value:i.getNamedItem("data-bm-loop")?i.getNamedItem("data-bm-loop").value:i.getNamedItem("bm-loop")?i.getNamedItem("bm-loop").value:"";"false"===r?n.loop=!1:"true"===r?n.loop=!0:""!==r&&(n.loop=parseInt(r,10));var o=i.getNamedItem("data-anim-autoplay")?i.getNamedItem("data-anim-autoplay").value:i.getNamedItem("data-bm-autoplay")?i.getNamedItem("data-bm-autoplay").value:!i.getNamedItem("bm-autoplay")||i.getNamedItem("bm-autoplay").value;n.autoplay="false"!==o,n.name=i.getNamedItem("data-name")?i.getNamedItem("data-name").value:i.getNamedItem("data-bm-name")?i.getNamedItem("data-bm-name").value:i.getNamedItem("bm-name")?i.getNamedItem("bm-name").value:"","false"===(i.getNamedItem("data-anim-prerender")?i.getNamedItem("data-anim-prerender").value:i.getNamedItem("data-bm-prerender")?i.getNamedItem("data-bm-prerender").value:i.getNamedItem("bm-prerender")?i.getNamedItem("bm-prerender").value:"")&&(n.prerender=!1),n.path?this.setParams(n):this.trigger("destroy")},AnimationItem.prototype.includeLayers=function(e){e.op>this.animationData.op&&(this.animationData.op=e.op,this.totalFrames=Math.floor(e.op-this.animationData.ip));var t,n,i=this.animationData.layers,r=i.length,o=e.layers,s=o.length;for(n=0;n<s;n+=1)for(t=0;t<r;){if(i[t].id===o[n].id){i[t]=o[n];break}t+=1}if((e.chars||e.fonts)&&(this.renderer.globalData.fontManager.addChars(e.chars),this.renderer.globalData.fontManager.addFonts(e.fonts,this.renderer.globalData.defs)),e.assets)for(r=e.assets.length,t=0;t<r;t+=1)this.animationData.assets.push(e.assets[t]);this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(e){this.animationData=e;var t=getExpressionsPlugin();t&&t.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var e=this.animationData.segments;if(!e||0===e.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.totalFrames);var t=e.shift();this.timeCompleted=t.time*this.frameRate;var n=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(n,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){this.animationData.segments||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(e){if(this.renderer)try{this.animationData=e,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(e),e.assets||(e.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(e.assets),this.markers=markerParser(e.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(t){this.triggerConfigError(t)}},AnimationItem.prototype.waitForFontsLoaded=function(){this.renderer&&(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||"canvas"!==this.renderer.rendererType)&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var e=getExpressionsPlugin();e&&e.initExpressions(this),this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay&&this.play()}},AnimationItem.prototype.resize=function(e,t){var n="number"==typeof e?e:void 0,i="number"==typeof t?t:void 0;this.renderer.updateContainerSize(n,i)},AnimationItem.prototype.setSubframe=function(e){this.isSubframeEnabled=!!e},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(e){this.triggerRenderFrameError(e)}},AnimationItem.prototype.play=function(e){e&&this.name!==e||!0===this.isPaused&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(e){e&&this.name!==e||!1===this.isPaused&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(e){e&&this.name!==e||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(e){e&&this.name!==e||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(e){for(var t,n=0;n<this.markers.length;n+=1)if((t=this.markers[n]).payload&&t.payload.name===e)return t;return null},AnimationItem.prototype.goToAndStop=function(e,t,n){if(!n||this.name===n){var i=Number(e);if(isNaN(i)){var r=this.getMarkerData(e);r&&this.goToAndStop(r.time,!0)}else t?this.setCurrentRawFrameValue(e):this.setCurrentRawFrameValue(e*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(e,t,n){if(!n||this.name===n){var i=Number(e);if(isNaN(i)){var r=this.getMarkerData(e);r&&(r.duration?this.playSegments([r.time,r.time+r.duration],!0):this.goToAndStop(r.time,!0))}else this.goToAndStop(i,t,n);this.play()}},AnimationItem.prototype.advanceTime=function(e){if(!0!==this.isPaused&&!1!==this.isLoaded){var t=this.currentRawFrame+e*this.frameModifier,n=!1;t>=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?t>=this.totalFrames?(this.playCount+=1,this.checkSegments(t%this.totalFrames)||(this.setCurrentRawFrameValue(t%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(t):this.checkSegments(t>this.totalFrames?t%this.totalFrames:0)||(n=!0,t=this.totalFrames-1):t<0?this.checkSegments(t%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(n=!0,t=0):(this.setCurrentRawFrameValue(this.totalFrames+t%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(t),n&&(this.setCurrentRawFrameValue(t),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(e,t){this.playCount=0,e[1]<e[0]?(this.frameModifier>0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=e[0]-e[1],this.timeCompleted=this.totalFrames,this.firstFrame=e[1],this.setCurrentRawFrameValue(this.totalFrames-.001-t)):e[1]>e[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=e[1]-e[0],this.timeCompleted=this.totalFrames,this.firstFrame=e[0],this.setCurrentRawFrameValue(.001+t)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(e,t){var n=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<e?n=e:this.currentRawFrame+this.firstFrame>t&&(n=t-e)),this.firstFrame=e,this.totalFrames=t-e,this.timeCompleted=this.totalFrames,-1!==n&&this.goToAndStop(n,!0)},AnimationItem.prototype.playSegments=function(e,t){if(t&&(this.segments.length=0),"object"===_typeof$4(e[0])){var n,i=e.length;for(n=0;n<i;n+=1)this.segments.push(e[n])}else this.segments.push(e);this.segments.length&&t&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(e){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),e&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(e){return!!this.segments.length&&(this.adjustSegment(this.segments.shift(),e),!0)},AnimationItem.prototype.destroy=function(e){e&&this.name!==e||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.expressionsPlugin=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(e){this.currentRawFrame=e,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(e){this.playSpeed=e,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(e){this.playDirection=e<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setLoop=function(e){this.loop=e},AnimationItem.prototype.setVolume=function(e,t){t&&this.name!==t||this.audioController.setVolume(e)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(e){e&&this.name!==e||this.audioController.mute()},AnimationItem.prototype.unmute=function(e){e&&this.name!==e||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(e){var t="";if(e.e)t=e.p;else if(this.assetsPath){var n=e.p;-1!==n.indexOf("images/")&&(n=n.split("/")[1]),t=this.assetsPath+n}else t=this.path,t+=e.u?e.u:"",t+=e.p;return t},AnimationItem.prototype.getAssetData=function(e){for(var t=0,n=this.assets.length;t<n;){if(e===this.assets[t].id)return this.assets[t];t+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(e){return e?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(e,t,n){try{this.renderer.getElementByPath(e).updateDocumentData(t,n)}catch(i){}},AnimationItem.prototype.trigger=function(e){if(this._cbs&&this._cbs[e])switch(e){case"enterFrame":this.triggerEvent(e,new BMEnterFrameEvent(e,this.currentFrame,this.totalFrames,this.frameModifier));break;case"drawnFrame":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(e,this.drawnFrameEvent);break;case"loopComplete":this.triggerEvent(e,new BMCompleteLoopEvent(e,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(e,new BMCompleteEvent(e,this.frameMult));break;case"segmentStart":this.triggerEvent(e,new BMSegmentStartEvent(e,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(e,new BMDestroyEvent(e,this));break;default:this.triggerEvent(e)}"enterFrame"===e&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(e,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===e&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(e,this.loop,this.playCount,this.frameMult)),"complete"===e&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(e,this.frameMult)),"segmentStart"===e&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(e,this.firstFrame,this.totalFrames)),"destroy"===e&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(e,this))},AnimationItem.prototype.triggerRenderFrameError=function(e){var t=new BMRenderFrameErrorEvent(e,this.currentFrame);this.triggerEvent("error",t),this.onError&&this.onError.call(this,t)},AnimationItem.prototype.triggerConfigError=function(e){var t=new BMConfigErrorEvent(e,this.currentFrame);this.triggerEvent("error",t),this.onError&&this.onError.call(this,t)};var animationManager=function(){var e={},t=[],n=0,i=0,r=0,o=!0,s=!1;function a(e){for(var n=0,r=e.target;n<i;)t[n].animation===r&&(t.splice(n,1),n-=1,i-=1,r.isPaused||u()),n+=1}function l(e,n){if(!e)return null;for(var r=0;r<i;){if(t[r].elem===e&&null!==t[r].elem)return t[r].animation;r+=1}var o=new AnimationItem;return h(o,e),o.setData(e,n),o}function c(){r+=1,f()}function u(){r-=1}function h(e,n){e.addEventListener("destroy",a),e.addEventListener("_active",c),e.addEventListener("_idle",u),t.push({elem:n,animation:e}),i+=1}function d(e){var a,l=e-n;for(a=0;a<i;a+=1)t[a].animation.advanceTime(l);n=e,r&&!s?window.requestAnimationFrame(d):o=!0}function p(e){n=e,window.requestAnimationFrame(d)}function f(){!s&&r&&o&&(window.requestAnimationFrame(p),o=!1)}return e.registerAnimation=l,e.loadAnimation=function(e){var t=new AnimationItem;return h(t,null),t.setParams(e),t},e.setSpeed=function(e,n){var r;for(r=0;r<i;r+=1)t[r].animation.setSpeed(e,n)},e.setDirection=function(e,n){var r;for(r=0;r<i;r+=1)t[r].animation.setDirection(e,n)},e.play=function(e){var n;for(n=0;n<i;n+=1)t[n].animation.play(e)},e.pause=function(e){var n;for(n=0;n<i;n+=1)t[n].animation.pause(e)},e.stop=function(e){var n;for(n=0;n<i;n+=1)t[n].animation.stop(e)},e.togglePause=function(e){var n;for(n=0;n<i;n+=1)t[n].animation.togglePause(e)},e.searchAnimations=function(e,t,n){var i,r=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),o=r.length;for(i=0;i<o;i+=1)n&&r[i].setAttribute("data-bm-type",n),l(r[i],e);if(t&&0===o){n||(n="svg");var s=document.getElementsByTagName("body")[0];s.innerText="";var a=createTag("div");a.style.width="100%",a.style.height="100%",a.setAttribute("data-bm-type",n),s.appendChild(a),l(a,e)}},e.resize=function(){var e;for(e=0;e<i;e+=1)t[e].animation.resize()},e.goToAndStop=function(e,n,r){var o;for(o=0;o<i;o+=1)t[o].animation.goToAndStop(e,n,r)},e.destroy=function(e){var n;for(n=i-1;n>=0;n-=1)t[n].animation.destroy(e)},e.freeze=function(){s=!0},e.unfreeze=function(){s=!1,f()},e.setVolume=function(e,n){var r;for(r=0;r<i;r+=1)t[r].animation.setVolume(e,n)},e.mute=function(e){var n;for(n=0;n<i;n+=1)t[n].animation.mute(e)},e.unmute=function(e){var n;for(n=0;n<i;n+=1)t[n].animation.unmute(e)},e.getRegisteredAnimations=function(){var e,n=t.length,i=[];for(e=0;e<n;e+=1)i.push(t[e].animation);return i},e}(),BezierFactory=function(){var e={getBezierEasing:function(e,n,i,r,o){var s=o||("bez_"+e+"_"+n+"_"+i+"_"+r).replace(/\./g,"p");if(t[s])return t[s];var a=new u([e,n,i,r]);return t[s]=a,a}},t={},n=11,i=1/(n-1),r="function"==typeof Float32Array;function o(e,t){return 1-3*t+3*e}function s(e,t){return 3*t-6*e}function a(e){return 3*e}function l(e,t,n){return((o(t,n)*e+s(t,n))*e+a(t))*e}function c(e,t,n){return 3*o(t,n)*e*e+2*s(t,n)*e+a(t)}function u(e){this._p=e,this._mSampleValues=r?new Float32Array(n):new Array(n),this._precomputed=!1,this.get=this.get.bind(this)}return u.prototype={get:function(e){var t=this._p[0],n=this._p[1],i=this._p[2],r=this._p[3];return this._precomputed||this._precompute(),t===n&&i===r?e:0===e?0:1===e?1:l(this._getTForX(e),n,r)},_precompute:function(){var e=this._p[0],t=this._p[1],n=this._p[2],i=this._p[3];this._precomputed=!0,e===t&&n===i||this._calcSampleValues()},_calcSampleValues:function(){for(var e=this._p[0],t=this._p[2],r=0;r<n;++r)this._mSampleValues[r]=l(r*i,e,t)},_getTForX:function(e){for(var t=this._p[0],r=this._p[2],o=this._mSampleValues,s=0,a=1,u=n-1;a!==u&&o[a]<=e;++a)s+=i;var h=s+(e-o[--a])/(o[a+1]-o[a])*i,d=c(h,t,r);return d>=.001?function(e,t,n,i){for(var r=0;r<4;++r){var o=c(t,n,i);if(0===o)return t;t-=(l(t,n,i)-e)/o}return t}(e,h,t,r):0===d?h:function(e,t,n,i,r){var o,s,a=0;do{(o=l(s=t+(n-t)/2,i,r)-e)>0?n=s:t=s}while(Math.abs(o)>1e-7&&++a<10);return s}(e,s,s+i,t,r)}},e}(),pooling={double:function(e){return e.concat(createSizedArray(e.length))}},poolFactory=function(e,t,n){var i=0,r=e,o=createSizedArray(r);return{newElement:function(){return i?o[i-=1]:t()},release:function(e){i===r&&(o=pooling.double(o),r*=2),n&&n(e),o[i]=e,i+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(e){var t,n=e.lengths.length;for(t=0;t<n;t+=1)bezierLengthPool.release(e.lengths[t]);e.lengths.length=0}));function bezFunction(){var e=Math;function t(e,t,n,i,r,o){var s=e*i+t*r+n*o-r*i-o*e-n*t;return s>-.001&&s<.001}var n=function(e,t,n,i){var r,o,s,a,l,c,u=getDefaultCurveSegments(),h=0,d=[],p=[],f=bezierLengthPool.newElement();for(s=n.length,r=0;r<u;r+=1){for(l=r/(u-1),c=0,o=0;o<s;o+=1)a=bmPow(1-l,3)*e[o]+3*bmPow(1-l,2)*l*n[o]+3*(1-l)*bmPow(l,2)*i[o]+bmPow(l,3)*t[o],d[o]=a,null!==p[o]&&(c+=bmPow(d[o]-p[o],2)),p[o]=d[o];c&&(h+=c=bmSqrt(c)),f.percents[r]=l,f.lengths[r]=h}return f.addedLength=h,f};function i(e){this.segmentLength=0,this.points=new Array(e)}function r(e,t){this.partialLength=e,this.point=t}var o,s=(o={},function(e,n,s,a){var l=(e[0]+"_"+e[1]+"_"+n[0]+"_"+n[1]+"_"+s[0]+"_"+s[1]+"_"+a[0]+"_"+a[1]).replace(/\./g,"p");if(!o[l]){var c,u,h,d,p,f,m,g=getDefaultCurveSegments(),v=0,b=null;2===e.length&&(e[0]!==n[0]||e[1]!==n[1])&&t(e[0],e[1],n[0],n[1],e[0]+s[0],e[1]+s[1])&&t(e[0],e[1],n[0],n[1],n[0]+a[0],n[1]+a[1])&&(g=2);var y=new i(g);for(h=s.length,c=0;c<g;c+=1){for(m=createSizedArray(h),p=c/(g-1),f=0,u=0;u<h;u+=1)d=bmPow(1-p,3)*e[u]+3*bmPow(1-p,2)*p*(e[u]+s[u])+3*(1-p)*bmPow(p,2)*(n[u]+a[u])+bmPow(p,3)*n[u],m[u]=d,null!==b&&(f+=bmPow(m[u]-b[u],2));v+=f=bmSqrt(f),y.points[c]=new r(f,m),b=m}y.segmentLength=v,o[l]=y}return o[l]});function a(e,t){var n=t.percents,i=t.lengths,r=n.length,o=bmFloor((r-1)*e),s=e*t.addedLength,a=0;if(o===r-1||0===o||s===i[o])return n[o];for(var l=i[o]>s?-1:1,c=!0;c;)if(i[o]<=s&&i[o+1]>s?(a=(s-i[o])/(i[o+1]-i[o]),c=!1):o+=l,o<0||o>=r-1){if(o===r-1)return n[o];c=!1}return n[o]+(n[o+1]-n[o])*a}var l=createTypedArray("float32",8);return{getSegmentsLength:function(e){var t,i=segmentsLengthPool.newElement(),r=e.c,o=e.v,s=e.o,a=e.i,l=e._length,c=i.lengths,u=0;for(t=0;t<l-1;t+=1)c[t]=n(o[t],o[t+1],s[t],a[t+1]),u+=c[t].addedLength;return r&&l&&(c[t]=n(o[t],o[0],s[t],a[0]),u+=c[t].addedLength),i.totalLength=u,i},getNewSegment:function(t,n,i,r,o,s,c){o<0?o=0:o>1&&(o=1);var u,h=a(o,c),d=a(s=s>1?1:s,c),p=t.length,f=1-h,m=1-d,g=f*f*f,v=h*f*f*3,b=h*h*f*3,y=h*h*h,A=f*f*m,S=h*f*m+f*h*m+f*f*d,x=h*h*m+f*h*d+h*f*d,E=h*h*d,w=f*m*m,_=h*m*m+f*d*m+f*m*d,M=h*d*m+f*d*d+h*m*d,P=h*d*d,T=m*m*m,C=d*m*m+m*d*m+m*m*d,I=d*d*m+m*d*d+d*m*d,k=d*d*d;for(u=0;u<p;u+=1)l[4*u]=e.round(1e3*(g*t[u]+v*i[u]+b*r[u]+y*n[u]))/1e3,l[4*u+1]=e.round(1e3*(A*t[u]+S*i[u]+x*r[u]+E*n[u]))/1e3,l[4*u+2]=e.round(1e3*(w*t[u]+_*i[u]+M*r[u]+P*n[u]))/1e3,l[4*u+3]=e.round(1e3*(T*t[u]+C*i[u]+I*r[u]+k*n[u]))/1e3;return l},getPointInSegment:function(t,n,i,r,o,s){var l=a(o,s),c=1-l;return[e.round(1e3*(c*c*c*t[0]+(l*c*c+c*l*c+c*c*l)*i[0]+(l*l*c+c*l*l+l*c*l)*r[0]+l*l*l*n[0]))/1e3,e.round(1e3*(c*c*c*t[1]+(l*c*c+c*l*c+c*c*l)*i[1]+(l*l*c+c*l*l+l*c*l)*r[1]+l*l*l*n[1]))/1e3]},buildBezierData:s,pointOnLine2D:t,pointOnLine3D:function(n,i,r,o,s,a,l,c,u){if(0===r&&0===a&&0===u)return t(n,i,o,s,l,c);var h,d=e.sqrt(e.pow(o-n,2)+e.pow(s-i,2)+e.pow(a-r,2)),p=e.sqrt(e.pow(l-n,2)+e.pow(c-i,2)+e.pow(u-r,2)),f=e.sqrt(e.pow(l-o,2)+e.pow(c-s,2)+e.pow(u-a,2));return(h=d>p?d>f?d-p-f:f-p-d:f>p?f-p-d:p-d-f)>-1e-4&&h<1e-4}}}var bez=bezFunction(),initFrame=initialDefaultFrame,mathAbs=Math.abs;function interpolateValue(e,t){var n,i=this.offsetTime;"multidimensional"===this.propType&&(n=createTypedArray("float32",this.pv.length));for(var r,o,s,a,l,c,u,h,d,p=t.lastIndex,f=p,m=this.keyframes.length-1,g=!0;g;){if(r=this.keyframes[f],o=this.keyframes[f+1],f===m-1&&e>=o.t-i){r.h&&(r=o),p=0;break}if(o.t-i>e){p=f;break}f<m-1?f+=1:(p=0,g=!1)}s=this.keyframesMetadata[f]||{};var v,b=o.t-i,y=r.t-i;if(r.to){s.bezierData||(s.bezierData=bez.buildBezierData(r.s,o.s||r.e,r.to,r.ti));var A=s.bezierData;if(e>=b||e<y){var S=e>=b?A.points.length-1:0;for(l=A.points[S].point.length,a=0;a<l;a+=1)n[a]=A.points[S].point[a]}else{s.__fnct?d=s.__fnct:(d=BezierFactory.getBezierEasing(r.o.x,r.o.y,r.i.x,r.i.y,r.n).get,s.__fnct=d),c=d((e-y)/(b-y));var x,E=A.segmentLength*c,w=t.lastFrame<e&&t._lastKeyframeIndex===f?t._lastAddedLength:0;for(h=t.lastFrame<e&&t._lastKeyframeIndex===f?t._lastPoint:0,g=!0,u=A.points.length;g;){if(w+=A.points[h].partialLength,0===E||0===c||h===A.points.length-1){for(l=A.points[h].point.length,a=0;a<l;a+=1)n[a]=A.points[h].point[a];break}if(E>=w&&E<w+A.points[h+1].partialLength){for(x=(E-w)/A.points[h+1].partialLength,l=A.points[h].point.length,a=0;a<l;a+=1)n[a]=A.points[h].point[a]+(A.points[h+1].point[a]-A.points[h].point[a])*x;break}h<u-1?h+=1:g=!1}t._lastPoint=h,t._lastAddedLength=w-A.points[h].partialLength,t._lastKeyframeIndex=f}}else{var _,M,P,T,C;if(m=r.s.length,v=o.s||r.e,this.sh&&1!==r.h)e>=b?(n[0]=v[0],n[1]=v[1],n[2]=v[2]):e<=y?(n[0]=r.s[0],n[1]=r.s[1],n[2]=r.s[2]):quaternionToEuler(n,slerp(createQuaternion(r.s),createQuaternion(v),(e-y)/(b-y)));else for(f=0;f<m;f+=1)1!==r.h&&(e>=b?c=1:e<y?c=0:(r.o.x.constructor===Array?(s.__fnct||(s.__fnct=[]),s.__fnct[f]?d=s.__fnct[f]:(_=void 0===r.o.x[f]?r.o.x[0]:r.o.x[f],M=void 0===r.o.y[f]?r.o.y[0]:r.o.y[f],P=void 0===r.i.x[f]?r.i.x[0]:r.i.x[f],T=void 0===r.i.y[f]?r.i.y[0]:r.i.y[f],d=BezierFactory.getBezierEasing(_,M,P,T).get,s.__fnct[f]=d)):s.__fnct?d=s.__fnct:(_=r.o.x,M=r.o.y,P=r.i.x,T=r.i.y,d=BezierFactory.getBezierEasing(_,M,P,T).get,r.keyframeMetadata=d),c=d((e-y)/(b-y)))),v=o.s||r.e,C=1===r.h?r.s[f]:r.s[f]+(v[f]-r.s[f])*c,"multidimensional"===this.propType?n[f]=C:n=C}return t.lastIndex=p,n}function slerp(e,t,n){var i,r,o,s,a,l=[],c=e[0],u=e[1],h=e[2],d=e[3],p=t[0],f=t[1],m=t[2],g=t[3];return(r=c*p+u*f+h*m+d*g)<0&&(r=-r,p=-p,f=-f,m=-m,g=-g),1-r>1e-6?(i=Math.acos(r),o=Math.sin(i),s=Math.sin((1-n)*i)/o,a=Math.sin(n*i)/o):(s=1-n,a=n),l[0]=s*c+a*p,l[1]=s*u+a*f,l[2]=s*h+a*m,l[3]=s*d+a*g,l}function quaternionToEuler(e,t){var n=t[0],i=t[1],r=t[2],o=t[3],s=Math.atan2(2*i*o-2*n*r,1-2*i*i-2*r*r),a=Math.asin(2*n*i+2*r*o),l=Math.atan2(2*n*o-2*i*r,1-2*n*n-2*r*r);e[0]=s/degToRads,e[1]=a/degToRads,e[2]=l/degToRads}function createQuaternion(e){var t=e[0]*degToRads,n=e[1]*degToRads,i=e[2]*degToRads,r=Math.cos(t/2),o=Math.cos(n/2),s=Math.cos(i/2),a=Math.sin(t/2),l=Math.sin(n/2),c=Math.sin(i/2);return[a*l*s+r*o*c,a*o*s+r*l*c,r*l*s-a*o*c,r*o*s-a*l*c]}function getValueAtCurrentTime(){var e=this.comp.renderedFrame-this.offsetTime,t=this.keyframes[0].t-this.offsetTime,n=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=n&&e>=n||this._caching.lastFrame<t&&e<t))){this._caching.lastFrame>=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var i=this.interpolateValue(e,this._caching);this.pv=i}return this._caching.lastFrame=e,this.pv}function setVValue(e){var t;if("unidimensional"===this.propType)t=e*this.mult,mathAbs(this.v-t)>1e-5&&(this.v=t,this._mdf=!0);else for(var n=0,i=this.v.length;n<i;)t=e[n]*this.mult,mathAbs(this.v[n]-t)>1e-5&&(this.v[n]=t,this._mdf=!0),n+=1}function processEffectsSequence(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var e;this.lock=!0,this._mdf=this._isFirstFrame;var t=this.effectsSequence.length,n=this.kf?this.pv:this.data.k;for(e=0;e<t;e+=1)n=this.effectsSequence[e](n);this.setVValue(n),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function addEffect(e){this.effectsSequence.push(e),this.container.addDynamicProperty(this)}function ValueProperty(e,t,n,i){this.propType="unidimensional",this.mult=n||1,this.data=t,this.v=n?t.k*n:t.k,this.pv=t.k,this._mdf=!1,this.elem=e,this.container=i,this.comp=e.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function MultiDimensionalProperty(e,t,n,i){var r;this.propType="multidimensional",this.mult=n||1,this.data=t,this._mdf=!1,this.elem=e,this.container=i,this.comp=e.comp,this.k=!1,this.kf=!1,this.frameId=-1;var o=t.k.length;for(this.v=createTypedArray("float32",o),this.pv=createTypedArray("float32",o),this.vel=createTypedArray("float32",o),r=0;r<o;r+=1)this.v[r]=t.k[r]*this.mult,this.pv[r]=t.k[r];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function KeyframedValueProperty(e,t,n,i){this.propType="unidimensional",this.keyframes=t.k,this.keyframesMetadata=[],this.offsetTime=e.data.st,this.frameId=-1,this._caching={lastFrame:initFrame,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=t,this.mult=n||1,this.elem=e,this.container=i,this.comp=e.comp,this.v=initFrame,this.pv=initFrame,this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.addEffect=addEffect}function KeyframedMultidimensionalProperty(e,t,n,i){var r;this.propType="multidimensional";var o,s,a,l,c=t.k.length;for(r=0;r<c-1;r+=1)t.k[r].to&&t.k[r].s&&t.k[r+1]&&t.k[r+1].s&&(o=t.k[r].s,s=t.k[r+1].s,a=t.k[r].to,l=t.k[r].ti,(2===o.length&&(o[0]!==s[0]||o[1]!==s[1])&&bez.pointOnLine2D(o[0],o[1],s[0],s[1],o[0]+a[0],o[1]+a[1])&&bez.pointOnLine2D(o[0],o[1],s[0],s[1],s[0]+l[0],s[1]+l[1])||3===o.length&&(o[0]!==s[0]||o[1]!==s[1]||o[2]!==s[2])&&bez.pointOnLine3D(o[0],o[1],o[2],s[0],s[1],s[2],o[0]+a[0],o[1]+a[1],o[2]+a[2])&&bez.pointOnLine3D(o[0],o[1],o[2],s[0],s[1],s[2],s[0]+l[0],s[1]+l[1],s[2]+l[2]))&&(t.k[r].to=null,t.k[r].ti=null),o[0]===s[0]&&o[1]===s[1]&&0===a[0]&&0===a[1]&&0===l[0]&&0===l[1]&&(2===o.length||o[2]===s[2]&&0===a[2]&&0===l[2])&&(t.k[r].to=null,t.k[r].ti=null));this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.data=t,this.keyframes=t.k,this.keyframesMetadata=[],this.offsetTime=e.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=n||1,this.elem=e,this.container=i,this.comp=e.comp,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.frameId=-1;var u=t.k[0].s.length;for(this.v=createTypedArray("float32",u),this.pv=createTypedArray("float32",u),r=0;r<u;r+=1)this.v[r]=initFrame,this.pv[r]=initFrame;this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray("float32",u)},this.addEffect=addEffect}var PropertyFactory=(ob={getProp:function(e,t,n,i,r){var o;if(t.sid&&(t=e.globalData.slotManager.getProp(t)),t.k.length)if("number"==typeof t.k[0])o=new MultiDimensionalProperty(e,t,i,r);else switch(n){case 0:o=new KeyframedValueProperty(e,t,i,r);break;case 1:o=new KeyframedMultidimensionalProperty(e,t,i,r)}else o=new ValueProperty(e,t,i,r);return o.effectsSequence.length&&r.addDynamicProperty(o),o}},ob),ob;function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(e){-1===this.dynamicProperties.indexOf(e)&&(this.dynamicProperties.push(e),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){var e;this._mdf=!1;var t=this.dynamicProperties.length;for(e=0;e<t;e+=1)this.dynamicProperties[e].getValue(),this.dynamicProperties[e]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(e){this.container=e,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=poolFactory(8,(function(){return createTypedArray("float32",2)}));function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(e,t){this.c=e,this.setLength(t);for(var n=0;n<t;)this.v[n]=pointPool.newElement(),this.o[n]=pointPool.newElement(),this.i[n]=pointPool.newElement(),n+=1},ShapePath.prototype.setLength=function(e){for(;this._maxLength<e;)this.doubleArrayLength();this._length=e},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(e,t,n,i,r){var o;switch(this._length=Math.max(this._length,i+1),this._length>=this._maxLength&&this.doubleArrayLength(),n){case"v":o=this.v;break;case"i":o=this.i;break;case"o":o=this.o;break;default:o=[]}(!o[i]||o[i]&&!r)&&(o[i]=pointPool.newElement()),o[i][0]=e,o[i][1]=t},ShapePath.prototype.setTripleAt=function(e,t,n,i,r,o,s,a){this.setXYAt(e,t,"v",s,a),this.setXYAt(n,i,"o",s,a),this.setXYAt(r,o,"i",s,a)},ShapePath.prototype.reverse=function(){var e=new ShapePath;e.setPathData(this.c,this._length);var t=this.v,n=this.o,i=this.i,r=0;this.c&&(e.setTripleAt(t[0][0],t[0][1],i[0][0],i[0][1],n[0][0],n[0][1],0,!1),r=1);var o,s=this._length-1,a=this._length;for(o=r;o<a;o+=1)e.setTripleAt(t[s][0],t[s][1],i[s][0],i[s][1],n[s][0],n[s][1],o,!1),s-=1;return e},ShapePath.prototype.length=function(){return this._length};var shapePool=(factory=poolFactory(4,(function(){return new ShapePath}),(function(e){var t,n=e._length;for(t=0;t<n;t+=1)pointPool.release(e.v[t]),pointPool.release(e.i[t]),pointPool.release(e.o[t]),e.v[t]=null,e.i[t]=null,e.o[t]=null;e._length=0,e.c=!1})),factory.clone=function(e){var t,n=factory.newElement(),i=void 0===e._length?e.v.length:e._length;for(n.setLength(i),n.c=e.c,t=0;t<i;t+=1)n.setTripleAt(e.v[t][0],e.v[t][1],e.o[t][0],e.o[t][1],e.i[t][0],e.i[t][1],t);return n},factory),factory;function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(e){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=e,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var e;for(e=0;e<this._length;e+=1)shapePool.release(this.shapes[e]);this._length=0};var shapeCollectionPool=function(){var e={newShapeCollection:function(){return t?i[t-=1]:new ShapeCollection},release:function(e){var r,o=e._length;for(r=0;r<o;r+=1)shapePool.release(e.shapes[r]);e._length=0,t===n&&(i=pooling.double(i),n*=2),i[t]=e,t+=1}},t=0,n=4,i=createSizedArray(n);return e}(),ShapePropertyFactory=function(){var e=-999999;function t(e,t,n){var i,r,o,s,a,l,c,u,h,d=n.lastIndex,p=this.keyframes;if(e<p[0].t-this.offsetTime)i=p[0].s[0],o=!0,d=0;else if(e>=p[p.length-1].t-this.offsetTime)i=p[p.length-1].s?p[p.length-1].s[0]:p[p.length-2].e[0],o=!0;else{for(var f,m,g,v=d,b=p.length-1,y=!0;y&&(f=p[v],!((m=p[v+1]).t-this.offsetTime>e));)v<b-1?v+=1:y=!1;if(g=this.keyframesMetadata[v]||{},d=v,!(o=1===f.h)){if(e>=m.t-this.offsetTime)u=1;else if(e<f.t-this.offsetTime)u=0;else{var A;g.__fnct?A=g.__fnct:(A=BezierFactory.getBezierEasing(f.o.x,f.o.y,f.i.x,f.i.y).get,g.__fnct=A),u=A((e-(f.t-this.offsetTime))/(m.t-this.offsetTime-(f.t-this.offsetTime)))}r=m.s?m.s[0]:f.e[0]}i=f.s[0]}for(l=t._length,c=i.i[0].length,n.lastIndex=d,s=0;s<l;s+=1)for(a=0;a<c;a+=1)h=o?i.i[s][a]:i.i[s][a]+(r.i[s][a]-i.i[s][a])*u,t.i[s][a]=h,h=o?i.o[s][a]:i.o[s][a]+(r.o[s][a]-i.o[s][a])*u,t.o[s][a]=h,h=o?i.v[s][a]:i.v[s][a]+(r.v[s][a]-i.v[s][a])*u,t.v[s][a]=h}function n(){var t=this.comp.renderedFrame-this.offsetTime,n=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime,r=this._caching.lastFrame;return r!==e&&(r<n&&t<n||r>i&&t>i)||(this._caching.lastIndex=r<t?this._caching.lastIndex:0,this.interpolateShape(t,this.pv,this._caching)),this._caching.lastFrame=t,this.pv}function i(){this.paths=this.localShapeCollection}function r(e){(function(e,t){if(e._length!==t._length||e.c!==t.c)return!1;var n,i=e._length;for(n=0;n<i;n+=1)if(e.v[n][0]!==t.v[n][0]||e.v[n][1]!==t.v[n][1]||e.o[n][0]!==t.o[n][0]||e.o[n][1]!==t.o[n][1]||e.i[n][0]!==t.i[n][0]||e.i[n][1]!==t.i[n][1])return!1;return!0})(this.v,e)||(this.v=shapePool.clone(e),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function o(){if(this.elem.globalData.frameId!==this.frameId)if(this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var e,t;this.lock=!0,this._mdf=!1,e=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k;var n=this.effectsSequence.length;for(t=0;t<n;t+=1)e=this.effectsSequence[t](e);this.setVValue(e),this.lock=!1,this.frameId=this.elem.globalData.frameId}else this._mdf=!1}function s(e,t,n){this.propType="shape",this.comp=e.comp,this.container=e,this.elem=e,this.data=t,this.k=!1,this.kf=!1,this._mdf=!1;var r=3===n?t.pt.k:t.ks.k;this.v=shapePool.clone(r),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=i,this.effectsSequence=[]}function a(e){this.effectsSequence.push(e),this.container.addDynamicProperty(this)}function l(t,r,o){this.propType="shape",this.comp=t.comp,this.elem=t,this.container=t,this.offsetTime=t.data.st,this.keyframes=3===o?r.pt.k:r.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var s=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,s),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=e,this.reset=i,this._caching={lastFrame:e,lastIndex:0},this.effectsSequence=[n.bind(this)]}s.prototype.interpolateShape=t,s.prototype.getValue=o,s.prototype.setVValue=r,s.prototype.addEffect=a,l.prototype.getValue=o,l.prototype.interpolateShape=t,l.prototype.setVValue=r,l.prototype.addEffect=a;var c=function(){var e=roundCorner;function t(e,t){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=t.d,this.elem=e,this.comp=e.comp,this.frameId=-1,this.initDynamicPropertyContainer(e),this.p=PropertyFactory.getProp(e,t.p,1,0,this),this.s=PropertyFactory.getProp(e,t.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return t.prototype={reset:i,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var t=this.p.v[0],n=this.p.v[1],i=this.s.v[0]/2,r=this.s.v[1]/2,o=3!==this.d,s=this.v;s.v[0][0]=t,s.v[0][1]=n-r,s.v[1][0]=o?t+i:t-i,s.v[1][1]=n,s.v[2][0]=t,s.v[2][1]=n+r,s.v[3][0]=o?t-i:t+i,s.v[3][1]=n,s.i[0][0]=o?t-i*e:t+i*e,s.i[0][1]=n-r,s.i[1][0]=o?t+i:t-i,s.i[1][1]=n-r*e,s.i[2][0]=o?t+i*e:t-i*e,s.i[2][1]=n+r,s.i[3][0]=o?t-i:t+i,s.i[3][1]=n+r*e,s.o[0][0]=o?t+i*e:t-i*e,s.o[0][1]=n-r,s.o[1][0]=o?t+i:t-i,s.o[1][1]=n+r*e,s.o[2][0]=o?t-i*e:t+i*e,s.o[2][1]=n+r,s.o[3][0]=o?t-i:t+i,s.o[3][1]=n-r*e}},extendPrototype([DynamicPropertyContainer],t),t}(),u=function(){function e(e,t){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=e,this.comp=e.comp,this.data=t,this.frameId=-1,this.d=t.d,this.initDynamicPropertyContainer(e),1===t.sy?(this.ir=PropertyFactory.getProp(e,t.ir,0,0,this),this.is=PropertyFactory.getProp(e,t.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(e,t.pt,0,0,this),this.p=PropertyFactory.getProp(e,t.p,1,0,this),this.r=PropertyFactory.getProp(e,t.r,0,degToRads,this),this.or=PropertyFactory.getProp(e,t.or,0,0,this),this.os=PropertyFactory.getProp(e,t.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return e.prototype={reset:i,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var e,t,n,i,r=2*Math.floor(this.pt.v),o=2*Math.PI/r,s=!0,a=this.or.v,l=this.ir.v,c=this.os.v,u=this.is.v,h=2*Math.PI*a/(2*r),d=2*Math.PI*l/(2*r),p=-Math.PI/2;p+=this.r.v;var f=3===this.data.d?-1:1;for(this.v._length=0,e=0;e<r;e+=1){n=s?c:u,i=s?h:d;var m=(t=s?a:l)*Math.cos(p),g=t*Math.sin(p),v=0===m&&0===g?0:g/Math.sqrt(m*m+g*g),b=0===m&&0===g?0:-m/Math.sqrt(m*m+g*g);m+=+this.p.v[0],g+=+this.p.v[1],this.v.setTripleAt(m,g,m-v*i*n*f,g-b*i*n*f,m+v*i*n*f,g+b*i*n*f,e,!0),s=!s,p+=o*f}},convertPolygonToPath:function(){var e,t=Math.floor(this.pt.v),n=2*Math.PI/t,i=this.or.v,r=this.os.v,o=2*Math.PI*i/(4*t),s=.5*-Math.PI,a=3===this.data.d?-1:1;for(s+=this.r.v,this.v._length=0,e=0;e<t;e+=1){var l=i*Math.cos(s),c=i*Math.sin(s),u=0===l&&0===c?0:c/Math.sqrt(l*l+c*c),h=0===l&&0===c?0:-l/Math.sqrt(l*l+c*c);l+=+this.p.v[0],c+=+this.p.v[1],this.v.setTripleAt(l,c,l-u*o*r*a,c-h*o*r*a,l+u*o*r*a,c+h*o*r*a,e,!0),s+=n*a}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],e),e}(),h=function(){function e(e,t){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=e,this.comp=e.comp,this.frameId=-1,this.d=t.d,this.initDynamicPropertyContainer(e),this.p=PropertyFactory.getProp(e,t.p,1,0,this),this.s=PropertyFactory.getProp(e,t.s,1,0,this),this.r=PropertyFactory.getProp(e,t.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return e.prototype={convertRectToPath:function(){var e=this.p.v[0],t=this.p.v[1],n=this.s.v[0]/2,i=this.s.v[1]/2,r=bmMin(n,i,this.r.v),o=r*(1-roundCorner);this.v._length=0,2===this.d||1===this.d?(this.v.setTripleAt(e+n,t-i+r,e+n,t-i+r,e+n,t-i+o,0,!0),this.v.setTripleAt(e+n,t+i-r,e+n,t+i-o,e+n,t+i-r,1,!0),0!==r?(this.v.setTripleAt(e+n-r,t+i,e+n-r,t+i,e+n-o,t+i,2,!0),this.v.setTripleAt(e-n+r,t+i,e-n+o,t+i,e-n+r,t+i,3,!0),this.v.setTripleAt(e-n,t+i-r,e-n,t+i-r,e-n,t+i-o,4,!0),this.v.setTripleAt(e-n,t-i+r,e-n,t-i+o,e-n,t-i+r,5,!0),this.v.setTripleAt(e-n+r,t-i,e-n+r,t-i,e-n+o,t-i,6,!0),this.v.setTripleAt(e+n-r,t-i,e+n-o,t-i,e+n-r,t-i,7,!0)):(this.v.setTripleAt(e-n,t+i,e-n+o,t+i,e-n,t+i,2),this.v.setTripleAt(e-n,t-i,e-n,t-i+o,e-n,t-i,3))):(this.v.setTripleAt(e+n,t-i+r,e+n,t-i+o,e+n,t-i+r,0,!0),0!==r?(this.v.setTripleAt(e+n-r,t-i,e+n-r,t-i,e+n-o,t-i,1,!0),this.v.setTripleAt(e-n+r,t-i,e-n+o,t-i,e-n+r,t-i,2,!0),this.v.setTripleAt(e-n,t-i+r,e-n,t-i+r,e-n,t-i+o,3,!0),this.v.setTripleAt(e-n,t+i-r,e-n,t+i-o,e-n,t+i-r,4,!0),this.v.setTripleAt(e-n+r,t+i,e-n+r,t+i,e-n+o,t+i,5,!0),this.v.setTripleAt(e+n-r,t+i,e+n-o,t+i,e+n-r,t+i,6,!0),this.v.setTripleAt(e+n,t+i-r,e+n,t+i-r,e+n,t+i-o,7,!0)):(this.v.setTripleAt(e-n,t-i,e-n+o,t-i,e-n,t-i,1,!0),this.v.setTripleAt(e-n,t+i,e-n,t+i-o,e-n,t+i,2,!0),this.v.setTripleAt(e+n,t+i,e+n-o,t+i,e+n,t+i,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:i},extendPrototype([DynamicPropertyContainer],e),e}(),d={getShapeProp:function(e,t,n){var i;return 3===n||4===n?i=(3===n?t.pt:t.ks).k.length?new l(e,t,n):new s(e,t,n):5===n?i=new h(e,t):6===n?i=new c(e,t):7===n&&(i=new u(e,t)),i.k&&e.addDynamicProperty(i),i},getConstructorFunction:function(){return s},getKeyframedConstructorFunction:function(){return l}};return d}(),Matrix=function(){var e=Math.cos,t=Math.sin,n=Math.tan,i=Math.round;function r(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function o(n){if(0===n)return this;var i=e(n),r=t(n);return this._t(i,-r,0,0,r,i,0,0,0,0,1,0,0,0,0,1)}function s(n){if(0===n)return this;var i=e(n),r=t(n);return this._t(1,0,0,0,0,i,-r,0,0,r,i,0,0,0,0,1)}function a(n){if(0===n)return this;var i=e(n),r=t(n);return this._t(i,0,r,0,0,1,0,0,-r,0,i,0,0,0,0,1)}function l(n){if(0===n)return this;var i=e(n),r=t(n);return this._t(i,-r,0,0,r,i,0,0,0,0,1,0,0,0,0,1)}function c(e,t){return this._t(1,t,e,1,0,0)}function u(e,t){return this.shear(n(e),n(t))}function h(i,r){var o=e(r),s=t(r);return this._t(o,s,0,0,-s,o,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,n(i),1,0,0,0,0,1,0,0,0,0,1)._t(o,-s,0,0,s,o,0,0,0,0,1,0,0,0,0,1)}function d(e,t,n){return n||0===n||(n=1),1===e&&1===t&&1===n?this:this._t(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1)}function p(e,t,n,i,r,o,s,a,l,c,u,h,d,p,f,m){return this.props[0]=e,this.props[1]=t,this.props[2]=n,this.props[3]=i,this.props[4]=r,this.props[5]=o,this.props[6]=s,this.props[7]=a,this.props[8]=l,this.props[9]=c,this.props[10]=u,this.props[11]=h,this.props[12]=d,this.props[13]=p,this.props[14]=f,this.props[15]=m,this}function f(e,t,n){return n=n||0,0!==e||0!==t||0!==n?this._t(1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1):this}function m(e,t,n,i,r,o,s,a,l,c,u,h,d,p,f,m){var g=this.props;if(1===e&&0===t&&0===n&&0===i&&0===r&&1===o&&0===s&&0===a&&0===l&&0===c&&1===u&&0===h)return g[12]=g[12]*e+g[15]*d,g[13]=g[13]*o+g[15]*p,g[14]=g[14]*u+g[15]*f,g[15]*=m,this._identityCalculated=!1,this;var v=g[0],b=g[1],y=g[2],A=g[3],S=g[4],x=g[5],E=g[6],w=g[7],_=g[8],M=g[9],P=g[10],T=g[11],C=g[12],I=g[13],k=g[14],B=g[15];return g[0]=v*e+b*r+y*l+A*d,g[1]=v*t+b*o+y*c+A*p,g[2]=v*n+b*s+y*u+A*f,g[3]=v*i+b*a+y*h+A*m,g[4]=S*e+x*r+E*l+w*d,g[5]=S*t+x*o+E*c+w*p,g[6]=S*n+x*s+E*u+w*f,g[7]=S*i+x*a+E*h+w*m,g[8]=_*e+M*r+P*l+T*d,g[9]=_*t+M*o+P*c+T*p,g[10]=_*n+M*s+P*u+T*f,g[11]=_*i+M*a+P*h+T*m,g[12]=C*e+I*r+k*l+B*d,g[13]=C*t+I*o+k*c+B*p,g[14]=C*n+I*s+k*u+B*f,g[15]=C*i+I*a+k*h+B*m,this._identityCalculated=!1,this}function g(e){var t=e.props;return this.transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function v(){return this._identityCalculated||(this._identity=!(1!==this.props[0]||0!==this.props[1]||0!==this.props[2]||0!==this.props[3]||0!==this.props[4]||1!==this.props[5]||0!==this.props[6]||0!==this.props[7]||0!==this.props[8]||0!==this.props[9]||1!==this.props[10]||0!==this.props[11]||0!==this.props[12]||0!==this.props[13]||0!==this.props[14]||1!==this.props[15]),this._identityCalculated=!0),this._identity}function b(e){for(var t=0;t<16;){if(e.props[t]!==this.props[t])return!1;t+=1}return!0}function y(e){var t;for(t=0;t<16;t+=1)e.props[t]=this.props[t];return e}function A(e){var t;for(t=0;t<16;t+=1)this.props[t]=e[t]}function S(e,t,n){return{x:e*this.props[0]+t*this.props[4]+n*this.props[8]+this.props[12],y:e*this.props[1]+t*this.props[5]+n*this.props[9]+this.props[13],z:e*this.props[2]+t*this.props[6]+n*this.props[10]+this.props[14]}}function x(e,t,n){return e*this.props[0]+t*this.props[4]+n*this.props[8]+this.props[12]}function E(e,t,n){return e*this.props[1]+t*this.props[5]+n*this.props[9]+this.props[13]}function w(e,t,n){return e*this.props[2]+t*this.props[6]+n*this.props[10]+this.props[14]}function _(){var e=this.props[0]*this.props[5]-this.props[1]*this.props[4],t=this.props[5]/e,n=-this.props[1]/e,i=-this.props[4]/e,r=this.props[0]/e,o=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/e,s=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/e,a=new Matrix;return a.props[0]=t,a.props[1]=n,a.props[4]=i,a.props[5]=r,a.props[12]=o,a.props[13]=s,a}function M(e){return this.getInverseMatrix().applyToPointArray(e[0],e[1],e[2]||0)}function P(e){var t,n=e.length,i=[];for(t=0;t<n;t+=1)i[t]=M(e[t]);return i}function T(e,t,n){var i=createTypedArray("float32",6);if(this.isIdentity())i[0]=e[0],i[1]=e[1],i[2]=t[0],i[3]=t[1],i[4]=n[0],i[5]=n[1];else{var r=this.props[0],o=this.props[1],s=this.props[4],a=this.props[5],l=this.props[12],c=this.props[13];i[0]=e[0]*r+e[1]*s+l,i[1]=e[0]*o+e[1]*a+c,i[2]=t[0]*r+t[1]*s+l,i[3]=t[0]*o+t[1]*a+c,i[4]=n[0]*r+n[1]*s+l,i[5]=n[0]*o+n[1]*a+c}return i}function C(e,t,n){return this.isIdentity()?[e,t,n]:[e*this.props[0]+t*this.props[4]+n*this.props[8]+this.props[12],e*this.props[1]+t*this.props[5]+n*this.props[9]+this.props[13],e*this.props[2]+t*this.props[6]+n*this.props[10]+this.props[14]]}function I(e,t){if(this.isIdentity())return e+","+t;var n=this.props;return Math.round(100*(e*n[0]+t*n[4]+n[12]))/100+","+Math.round(100*(e*n[1]+t*n[5]+n[13]))/100}function k(){for(var e=0,t=this.props,n="matrix3d(";e<16;)n+=i(1e4*t[e])/1e4,n+=15===e?")":",",e+=1;return n}function B(e){return e<1e-6&&e>0||e>-1e-6&&e<0?i(1e4*e)/1e4:e}function R(){var e=this.props;return"matrix("+B(e[0])+","+B(e[1])+","+B(e[4])+","+B(e[5])+","+B(e[12])+","+B(e[13])+")"}return function(){this.reset=r,this.rotate=o,this.rotateX=s,this.rotateY=a,this.rotateZ=l,this.skew=u,this.skewFromAxis=h,this.shear=c,this.scale=d,this.setTransform=p,this.translate=f,this.transform=m,this.multiply=g,this.applyToPoint=S,this.applyToX=x,this.applyToY=E,this.applyToZ=w,this.applyToPointArray=C,this.applyToTriplePoints=T,this.applyToPointStringified=I,this.toCSS=k,this.to2dCSS=R,this.clone=y,this.cloneFromProps=A,this.equals=b,this.inversePoints=P,this.inversePoint=M,this.getInverseMatrix=_,this._t=this.transform,this.isIdentity=v,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(e){return _typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(e)}var lottie={};function setLocation(e){setLocationHref(e)}function searchAnimations(){animationManager.searchAnimations()}function setSubframeRendering(e){setSubframeEnabled(e)}function setPrefix(e){setIdPrefix(e)}function loadAnimation(e){return animationManager.loadAnimation(e)}function setQuality(e){if("string"==typeof e)switch(e){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(e)&&e>1&&setDefaultCurveSegments(e)}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(e,t){"expressions"===e&&setExpressionsPlugin(t)}function getFactory(e){switch(e){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(e){for(var t=queryString.split("&"),n=0;n<t.length;n+=1){var i=t[n].split("=");if(decodeURIComponent(i[0])==e)return decodeURIComponent(i[1])}return null}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";var queryString="",scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",getQueryVariable("renderer");var readyStateCheckInterval=setInterval(checkReady,100);try{"object"!==_typeof$3(exports$1)&&(window.bodymovin=lottie)}catch(err){}var ShapeModifiers=function(){var e={},t={};return e.registerModifier=function(e,n){t[e]||(t[e]=n)},e.getModifier=function(e,n,i){return new t[e](n,i)},e}();function ShapeModifier(){}function TrimModifier(){}function PuckerAndBloatModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(e){if(!this.closed){e.sh.container.addDynamicProperty(e.sh);var t={shape:e.sh,data:e,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(t),this.addShapeToModifier(t),this._isAnimated&&e.setAsAnimated()}},ShapeModifier.prototype.init=function(e,t){this.shapes=[],this.elem=e,this.initDynamicPropertyContainer(e),this.initModifierProperties(e,t),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier),extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(e,t){this.s=PropertyFactory.getProp(e,t.s,0,.01,this),this.e=PropertyFactory.getProp(e,t.e,0,.01,this),this.o=PropertyFactory.getProp(e,t.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=t.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(e){e.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(e,t,n,i,r){var o=[];t<=1?o.push({s:e,e:t}):e>=1?o.push({s:e-1,e:t-1}):(o.push({s:e,e:1}),o.push({s:0,e:t-1}));var s,a,l=[],c=o.length;for(s=0;s<c;s+=1){var u,h;(a=o[s]).e*r<i||a.s*r>i+n||(u=a.s*r<=i?0:(a.s*r-i)/n,h=a.e*r>=i+n?1:(a.e*r-i)/n,l.push([u,h]))}return l.length||l.push([0,0]),l},TrimModifier.prototype.releasePathsData=function(e){var t,n=e.length;for(t=0;t<n;t+=1)segmentsLengthPool.release(e[t]);return e.length=0,e},TrimModifier.prototype.processShapes=function(e){var t,n,i,r;if(this._mdf||e){var o=this.o.v%360/360;if(o<0&&(o+=1),(t=this.s.v>1?1+o:this.s.v<0?0+o:this.s.v+o)>(n=this.e.v>1?1+o:this.e.v<0?0+o:this.e.v+o)){var s=t;t=n,n=s}t=1e-4*Math.round(1e4*t),n=1e-4*Math.round(1e4*n),this.sValue=t,this.eValue=n}else t=this.sValue,n=this.eValue;var a,l,c,u,h,d=this.shapes.length,p=0;if(n===t)for(r=0;r<d;r+=1)this.shapes[r].localShapeCollection.releaseShapes(),this.shapes[r].shape._mdf=!0,this.shapes[r].shape.paths=this.shapes[r].localShapeCollection,this._mdf&&(this.shapes[r].pathsData.length=0);else if(1===n&&0===t||0===n&&1===t){if(this._mdf)for(r=0;r<d;r+=1)this.shapes[r].pathsData.length=0,this.shapes[r].shape._mdf=!0}else{var f,m,g=[];for(r=0;r<d;r+=1)if((f=this.shapes[r]).shape._mdf||this._mdf||e||2===this.m){if(l=(i=f.shape.paths)._length,h=0,!f.shape._mdf&&f.pathsData.length)h=f.totalShapeLength;else{for(c=this.releasePathsData(f.pathsData),a=0;a<l;a+=1)u=bez.getSegmentsLength(i.shapes[a]),c.push(u),h+=u.totalLength;f.totalShapeLength=h,f.pathsData=c}p+=h,f.shape._mdf=!0}else f.shape.paths=f.localShapeCollection;var v,b=t,y=n,A=0;for(r=d-1;r>=0;r-=1)if((f=this.shapes[r]).shape._mdf){for((m=f.localShapeCollection).releaseShapes(),2===this.m&&d>1?(v=this.calculateShapeEdges(t,n,f.totalShapeLength,A,p),A+=f.totalShapeLength):v=[[b,y]],l=v.length,a=0;a<l;a+=1){b=v[a][0],y=v[a][1],g.length=0,y<=1?g.push({s:f.totalShapeLength*b,e:f.totalShapeLength*y}):b>=1?g.push({s:f.totalShapeLength*(b-1),e:f.totalShapeLength*(y-1)}):(g.push({s:f.totalShapeLength*b,e:f.totalShapeLength}),g.push({s:0,e:f.totalShapeLength*(y-1)}));var S=this.addShapes(f,g[0]);if(g[0].s!==g[0].e){if(g.length>1)if(f.shape.paths.shapes[f.shape.paths._length-1].c){var x=S.pop();this.addPaths(S,m),S=this.addShapes(f,g[1],x)}else this.addPaths(S,m),S=this.addShapes(f,g[1]);this.addPaths(S,m)}}f.shape.paths=m}}},TrimModifier.prototype.addPaths=function(e,t){var n,i=e.length;for(n=0;n<i;n+=1)t.addShape(e[n])},TrimModifier.prototype.addSegment=function(e,t,n,i,r,o,s){r.setXYAt(t[0],t[1],"o",o),r.setXYAt(n[0],n[1],"i",o+1),s&&r.setXYAt(e[0],e[1],"v",o),r.setXYAt(i[0],i[1],"v",o+1)},TrimModifier.prototype.addSegmentFromArray=function(e,t,n,i){t.setXYAt(e[1],e[5],"o",n),t.setXYAt(e[2],e[6],"i",n+1),i&&t.setXYAt(e[0],e[4],"v",n),t.setXYAt(e[3],e[7],"v",n+1)},TrimModifier.prototype.addShapes=function(e,t,n){var i,r,o,s,a,l,c,u,h=e.pathsData,d=e.shape.paths.shapes,p=e.shape.paths._length,f=0,m=[],g=!0;for(n?(a=n._length,u=n._length):(n=shapePool.newElement(),a=0,u=0),m.push(n),i=0;i<p;i+=1){for(l=h[i].lengths,n.c=d[i].c,o=d[i].c?l.length:l.length+1,r=1;r<o;r+=1)if(f+(s=l[r-1]).addedLength<t.s)f+=s.addedLength,n.c=!1;else{if(f>t.e){n.c=!1;break}t.s<=f&&t.e>=f+s.addedLength?(this.addSegment(d[i].v[r-1],d[i].o[r-1],d[i].i[r],d[i].v[r],n,a,g),g=!1):(c=bez.getNewSegment(d[i].v[r-1],d[i].v[r],d[i].o[r-1],d[i].i[r],(t.s-f)/s.addedLength,(t.e-f)/s.addedLength,l[r-1]),this.addSegmentFromArray(c,n,a,g),g=!1,n.c=!1),f+=s.addedLength,a+=1}if(d[i].c&&l.length){if(s=l[r-1],f<=t.e){var v=l[r-1].addedLength;t.s<=f&&t.e>=f+v?(this.addSegment(d[i].v[r-1],d[i].o[r-1],d[i].i[0],d[i].v[0],n,a,g),g=!1):(c=bez.getNewSegment(d[i].v[r-1],d[i].v[0],d[i].o[r-1],d[i].i[0],(t.s-f)/v,(t.e-f)/v,l[r-1]),this.addSegmentFromArray(c,n,a,g),g=!1,n.c=!1)}else n.c=!1;f+=s.addedLength,a+=1}if(n._length&&(n.setXYAt(n.v[u][0],n.v[u][1],"i",u),n.setXYAt(n.v[n._length-1][0],n.v[n._length-1][1],"o",n._length-1)),f>t.e)break;i<p-1&&(n=shapePool.newElement(),g=!0,m.push(n),a=0)}return m},extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(e,t.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(e,t){var n=t/100,i=[0,0],r=e._length,o=0;for(o=0;o<r;o+=1)i[0]+=e.v[o][0],i[1]+=e.v[o][1];i[0]/=r,i[1]/=r;var s,a,l,c,u,h,d=shapePool.newElement();for(d.c=e.c,o=0;o<r;o+=1)s=e.v[o][0]+(i[0]-e.v[o][0])*n,a=e.v[o][1]+(i[1]-e.v[o][1])*n,l=e.o[o][0]+(i[0]-e.o[o][0])*-n,c=e.o[o][1]+(i[1]-e.o[o][1])*-n,u=e.i[o][0]+(i[0]-e.i[o][0])*-n,h=e.i[o][1]+(i[1]-e.i[o][1])*-n,d.setTripleAt(s,a,l,c,u,h,o);return d},PuckerAndBloatModifier.prototype.processShapes=function(e){var t,n,i,r,o,s,a=this.shapes.length,l=this.amount.v;if(0!==l)for(n=0;n<a;n+=1){if(s=(o=this.shapes[n]).localShapeCollection,o.shape._mdf||this._mdf||e)for(s.releaseShapes(),o.shape._mdf=!0,t=o.shape.paths.shapes,r=o.shape.paths._length,i=0;i<r;i+=1)s.addShape(this.processPath(t[i],l));o.shape.paths=o.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var TransformPropertyFactory=function(){var e=[0,0];function t(e,t,n){if(this.elem=e,this.frameId=-1,this.propType="transform",this.data=t,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(n||e),t.p&&t.p.s?(this.px=PropertyFactory.getProp(e,t.p.x,0,0,this),this.py=PropertyFactory.getProp(e,t.p.y,0,0,this),t.p.z&&(this.pz=PropertyFactory.getProp(e,t.p.z,0,0,this))):this.p=PropertyFactory.getProp(e,t.p||{k:[0,0,0]},1,0,this),t.rx){if(this.rx=PropertyFactory.getProp(e,t.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(e,t.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(e,t.rz,0,degToRads,this),t.or.k[0].ti){var i,r=t.or.k.length;for(i=0;i<r;i+=1)t.or.k[i].to=null,t.or.k[i].ti=null}this.or=PropertyFactory.getProp(e,t.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(e,t.r||{k:0},0,degToRads,this);t.sk&&(this.sk=PropertyFactory.getProp(e,t.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(e,t.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(e,t.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(e,t.s||{k:[100,100,100]},1,.01,this),t.o?this.o=PropertyFactory.getProp(e,t.o,0,.01,e):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}return t.prototype={applyToMatrix:function(e){var t=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||t,this.a&&e.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&e.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&e.skewFromAxis(-this.sk.v,this.sa.v),this.r?e.rotate(-this.r.v):e.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.data.p.s?this.data.p.z?e.translate(this.px.v,this.py.v,-this.pz.v):e.translate(this.px.v,this.py.v,0):e.translate(this.p.v[0],this.p.v[1],-this.p.v[2])},getValue:function(t){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||t){var n;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.autoOriented){var i,r;if(n=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(i=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/n,0),r=this.p.getValueAtTime(this.p.keyframes[0].t/n,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(i=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/n,0),r=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/n,0)):(i=this.p.pv,r=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/n,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){i=[],r=[];var o=this.px,s=this.py;o._caching.lastFrame+o.offsetTime<=o.keyframes[0].t?(i[0]=o.getValueAtTime((o.keyframes[0].t+.01)/n,0),i[1]=s.getValueAtTime((s.keyframes[0].t+.01)/n,0),r[0]=o.getValueAtTime(o.keyframes[0].t/n,0),r[1]=s.getValueAtTime(s.keyframes[0].t/n,0)):o._caching.lastFrame+o.offsetTime>=o.keyframes[o.keyframes.length-1].t?(i[0]=o.getValueAtTime(o.keyframes[o.keyframes.length-1].t/n,0),i[1]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/n,0),r[0]=o.getValueAtTime((o.keyframes[o.keyframes.length-1].t-.01)/n,0),r[1]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/n,0)):(i=[o.pv,s.pv],r[0]=o.getValueAtTime((o._caching.lastFrame+o.offsetTime-.01)/n,o.offsetTime),r[1]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/n,s.offsetTime))}else i=r=e;this.v.rotate(-Math.atan2(i[1]-r[1],i[0]-r[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],t),t.prototype.addDynamicProperty=function(e){this._addDynamicProperty(e),this.elem.addDynamicProperty(e),this._isDirty=!0},t.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(e,n,i){return new t(e,n,i)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(e,t){return 1e5*Math.abs(e-t)<=Math.min(Math.abs(e),Math.abs(t))}function floatZero(e){return Math.abs(e)<=1e-5}function lerp(e,t,n){return e*(1-n)+t*n}function lerpPoint(e,t,n){return[lerp(e[0],t[0],n),lerp(e[1],t[1],n)]}function quadRoots(e,t,n){if(0===e)return[];var i=t*t-4*e*n;if(i<0)return[];var r=-t/(2*e);if(0===i)return[r];var o=Math.sqrt(i)/(2*e);return[r-o,r+o]}function polynomialCoefficients(e,t,n,i){return[3*t-e-3*n+i,3*e-6*t+3*n,-3*e+3*t,e]}function singlePoint(e){return new PolynomialBezier(e,e,e,e,!1)}function PolynomialBezier(e,t,n,i,r){r&&pointEqual(e,t)&&(t=lerpPoint(e,i,1/3)),r&&pointEqual(n,i)&&(n=lerpPoint(e,i,2/3));var o=polynomialCoefficients(e[0],t[0],n[0],i[0]),s=polynomialCoefficients(e[1],t[1],n[1],i[1]);this.a=[o[0],s[0]],this.b=[o[1],s[1]],this.c=[o[2],s[2]],this.d=[o[3],s[3]],this.points=[e,t,n,i]}function extrema(e,t){var n=e.points[0][t],i=e.points[e.points.length-1][t];if(n>i){var r=i;i=n,n=r}for(var o=quadRoots(3*e.a[t],2*e.b[t],e.c[t]),s=0;s<o.length;s+=1)if(o[s]>0&&o[s]<1){var a=e.point(o[s])[t];a<n?n=a:a>i&&(i=a)}return{min:n,max:i}}function intersectData(e,t,n){var i=e.boundingBox();return{cx:i.cx,cy:i.cy,width:i.width,height:i.height,bez:e,t:(t+n)/2,t1:t,t2:n}}function splitData(e){var t=e.bez.split(.5);return[intersectData(t[0],e.t1,e.t),intersectData(t[1],e.t,e.t2)]}function boxIntersect(e,t){return 2*Math.abs(e.cx-t.cx)<e.width+t.width&&2*Math.abs(e.cy-t.cy)<e.height+t.height}function intersectsImpl(e,t,n,i,r,o){if(boxIntersect(e,t))if(n>=o||e.width<=i&&e.height<=i&&t.width<=i&&t.height<=i)r.push([e.t,t.t]);else{var s=splitData(e),a=splitData(t);intersectsImpl(s[0],a[0],n+1,i,r,o),intersectsImpl(s[0],a[1],n+1,i,r,o),intersectsImpl(s[1],a[0],n+1,i,r,o),intersectsImpl(s[1],a[1],n+1,i,r,o)}}function crossProduct(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function lineIntersection(e,t,n,i){var r=[e[0],e[1],1],o=[t[0],t[1],1],s=[n[0],n[1],1],a=[i[0],i[1],1],l=crossProduct(crossProduct(r,o),crossProduct(s,a));return floatZero(l[2])?null:[l[0]/l[2],l[1]/l[2]]}function polarOffset(e,t,n){return[e[0]+Math.cos(t)*n,e[1]-Math.sin(t)*n]}function pointDistance(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1])}function pointEqual(e,t){return floatEqual(e[0],t[0])&&floatEqual(e[1],t[1])}function ZigZagModifier(){}function setPoint(e,t,n,i,r,o,s){var a=n-Math.PI/2,l=n+Math.PI/2,c=t[0]+Math.cos(n)*i*r,u=t[1]-Math.sin(n)*i*r;e.setTripleAt(c,u,c+Math.cos(a)*o,u-Math.sin(a)*o,c+Math.cos(l)*s,u-Math.sin(l)*s,e.length())}function getPerpendicularVector(e,t){var n=[t[0]-e[0],t[1]-e[1]],i=.5*-Math.PI;return[Math.cos(i)*n[0]-Math.sin(i)*n[1],Math.sin(i)*n[0]+Math.cos(i)*n[1]]}function getProjectingAngle(e,t){var n=0===t?e.length()-1:t-1,i=(t+1)%e.length(),r=getPerpendicularVector(e.v[n],e.v[i]);return Math.atan2(0,1)-Math.atan2(r[1],r[0])}function zigZagCorner(e,t,n,i,r,o,s){var a=getProjectingAngle(t,n),l=t.v[n%t._length],c=t.v[0===n?t._length-1:n-1],u=t.v[(n+1)%t._length],h=2===o?Math.sqrt(Math.pow(l[0]-c[0],2)+Math.pow(l[1]-c[1],2)):0,d=2===o?Math.sqrt(Math.pow(l[0]-u[0],2)+Math.pow(l[1]-u[1],2)):0;setPoint(e,t.v[n%t._length],a,s,i,d/(2*(r+1)),h/(2*(r+1)))}function zigZagSegment(e,t,n,i,r,o){for(var s=0;s<i;s+=1){var a=(s+1)/(i+1),l=2===r?Math.sqrt(Math.pow(t.points[3][0]-t.points[0][0],2)+Math.pow(t.points[3][1]-t.points[0][1],2)):0,c=t.normalAngle(a);setPoint(e,t.point(a),c,o,n,l/(2*(i+1)),l/(2*(i+1))),o=-o}return o}function linearOffset(e,t,n){var i=Math.atan2(t[0]-e[0],t[1]-e[1]);return[polarOffset(e,i,n),polarOffset(t,i,n)]}function offsetSegment(e,t){var n,i,r,o,s,a,l;n=(l=linearOffset(e.points[0],e.points[1],t))[0],i=l[1],r=(l=linearOffset(e.points[1],e.points[2],t))[0],o=l[1],s=(l=linearOffset(e.points[2],e.points[3],t))[0],a=l[1];var c=lineIntersection(n,i,r,o);null===c&&(c=i);var u=lineIntersection(s,a,r,o);return null===u&&(u=s),new PolynomialBezier(n,c,u,a)}function joinLines(e,t,n,i,r){var o=t.points[3],s=n.points[0];if(3===i)return o;if(pointEqual(o,s))return o;if(2===i){var a=-t.tangentAngle(1),l=-n.tangentAngle(0)+Math.PI,c=lineIntersection(o,polarOffset(o,a+Math.PI/2,100),s,polarOffset(s,a+Math.PI/2,100)),u=c?pointDistance(c,o):pointDistance(o,s)/2,h=polarOffset(o,a,2*u*roundCorner);return e.setXYAt(h[0],h[1],"o",e.length()-1),h=polarOffset(s,l,2*u*roundCorner),e.setTripleAt(s[0],s[1],s[0],s[1],h[0],h[1],e.length()),s}var d=lineIntersection(pointEqual(o,t.points[2])?t.points[0]:t.points[2],o,s,pointEqual(s,n.points[1])?n.points[3]:n.points[1]);return d&&pointDistance(d,o)<r?(e.setTripleAt(d[0],d[1],d[0],d[1],d[0],d[1],e.length()),d):o}function getIntersection(e,t){var n=e.intersections(t);return n.length&&floatEqual(n[0][0],1)&&n.shift(),n.length?n[0]:null}function pruneSegmentIntersection(e,t){var n=e.slice(),i=t.slice(),r=getIntersection(e[e.length-1],t[0]);return r&&(n[e.length-1]=e[e.length-1].split(r[0])[0],i[0]=t[0].split(r[1])[1]),e.length>1&&t.length>1&&(r=getIntersection(e[0],t[t.length-1]))?[[e[0].split(r[0])[0]],[t[t.length-1].split(r[1])[1]]]:[n,i]}function pruneIntersections(e){for(var t,n=1;n<e.length;n+=1)t=pruneSegmentIntersection(e[n-1],e[n]),e[n-1]=t[0],e[n]=t[1];return e.length>1&&(t=pruneSegmentIntersection(e[e.length-1],e[0]),e[e.length-1]=t[0],e[0]=t[1]),e}function offsetSegmentSplit(e,t){var n,i,r,o,s=e.inflectionPoints();if(0===s.length)return[offsetSegment(e,t)];if(1===s.length||floatEqual(s[1],1))return n=(r=e.split(s[0]))[0],i=r[1],[offsetSegment(n,t),offsetSegment(i,t)];n=(r=e.split(s[0]))[0];var a=(s[1]-s[0])/(1-s[0]);return o=(r=r[1].split(a))[0],i=r[1],[offsetSegment(n,t),offsetSegment(o,t),offsetSegment(i,t)]}function OffsetPathModifier(){}function getFontProperties(e){for(var t=e.fStyle?e.fStyle.split(" "):[],n="normal",i="normal",r=t.length,o=0;o<r;o+=1)switch(t[o].toLowerCase()){case"italic":i="italic";break;case"bold":n="700";break;case"black":n="900";break;case"medium":n="500";break;case"regular":case"normal":n="400";break;case"light":case"thin":n="200"}return{style:i,weight:e.fWeight||n}}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(e,t.c,0,null,this),this.o=PropertyFactory.getProp(e,t.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(e,t.tr,this),this.so=PropertyFactory.getProp(e,t.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(e,t.tr.eo,0,.01,this),this.data=t,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(e,t,n,i,r,o){var s=o?-1:1,a=i.s.v[0]+(1-i.s.v[0])*(1-r),l=i.s.v[1]+(1-i.s.v[1])*(1-r);e.translate(i.p.v[0]*s*r,i.p.v[1]*s*r,i.p.v[2]),t.translate(-i.a.v[0],-i.a.v[1],i.a.v[2]),t.rotate(-i.r.v*s*r),t.translate(i.a.v[0],i.a.v[1],i.a.v[2]),n.translate(-i.a.v[0],-i.a.v[1],i.a.v[2]),n.scale(o?1/a:a,o?1/l:l),n.translate(i.a.v[0],i.a.v[1],i.a.v[2])},RepeaterModifier.prototype.init=function(e,t,n,i){for(this.elem=e,this.arr=t,this.pos=n,this.elemsData=i,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(e),this.initModifierProperties(e,t[n]);n>0;)n-=1,this._elements.unshift(t[n]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(e){var t,n=e.length;for(t=0;t<n;t+=1)e[t]._processed=!1,"gr"===e[t].ty&&this.resetElements(e[t].it)},RepeaterModifier.prototype.cloneElements=function(e){var t=JSON.parse(JSON.stringify(e));return this.resetElements(t),t},RepeaterModifier.prototype.changeGroupRender=function(e,t){var n,i=e.length;for(n=0;n<i;n+=1)e[n]._render=t,"gr"===e[n].ty&&this.changeGroupRender(e[n].it,t)},RepeaterModifier.prototype.processShapes=function(e){var t,n,i,r,o,s=!1;if(this._mdf||e){var a,l=Math.ceil(this.c.v);if(this._groups.length<l){for(;this._groups.length<l;){var c={it:this.cloneElements(this._elements),ty:"gr"};c.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,c),this._groups.splice(0,0,c),this._currentCopies+=1}this.elem.reloadShapes(),s=!0}for(o=0,i=0;i<=this._groups.length-1;i+=1){if(a=o<l,this._groups[i]._render=a,this.changeGroupRender(this._groups[i].it,a),!a){var u=this.elemsData[i].it,h=u[u.length-1];0!==h.transform.op.v?(h.transform.op._mdf=!0,h.transform.op.v=0):h.transform.op._mdf=!1}o+=1}this._currentCopies=l;var d=this.o.v,p=d%1,f=d>0?Math.floor(d):Math.ceil(d),m=this.pMatrix.props,g=this.rMatrix.props,v=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var b,y,A=0;if(d>0){for(;A<f;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),A+=1;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,p,!1),A+=p)}else if(d<0){for(;A>f;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),A-=1;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-p,!0),A-=p)}for(i=1===this.data.m?0:this._currentCopies-1,r=1===this.data.m?1:-1,o=this._currentCopies;o;){if(y=(n=(t=this.elemsData[i].it)[t.length-1].transform.mProps.v.props).length,t[t.length-1].transform.mProps._mdf=!0,t[t.length-1].transform.op._mdf=!0,t[t.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i/(this._currentCopies-1)),0!==A){for((0!==i&&1===r||i!==this._currentCopies-1&&-1===r)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15]),this.matrix.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),b=0;b<y;b+=1)n[b]=this.matrix.props[b];this.matrix.reset()}else for(this.matrix.reset(),b=0;b<y;b+=1)n[b]=this.matrix.props[b];A+=1,o-=1,i+=r}}else for(o=this._currentCopies,i=0,r=1;o;)n=(t=this.elemsData[i].it)[t.length-1].transform.mProps.v.props,t[t.length-1].transform.mProps._mdf=!1,t[t.length-1].transform.op._mdf=!1,o-=1,i+=r;return s},RepeaterModifier.prototype.addShape=function(){},extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(e,t.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(e,t){var n,i=shapePool.newElement();i.c=e.c;var r,o,s,a,l,c,u,h,d,p,f,m,g=e._length,v=0;for(n=0;n<g;n+=1)r=e.v[n],s=e.o[n],o=e.i[n],r[0]===s[0]&&r[1]===s[1]&&r[0]===o[0]&&r[1]===o[1]?0!==n&&n!==g-1||e.c?(a=0===n?e.v[g-1]:e.v[n-1],c=(l=Math.sqrt(Math.pow(r[0]-a[0],2)+Math.pow(r[1]-a[1],2)))?Math.min(l/2,t)/l:0,u=f=r[0]+(a[0]-r[0])*c,h=m=r[1]-(r[1]-a[1])*c,d=u-(u-r[0])*roundCorner,p=h-(h-r[1])*roundCorner,i.setTripleAt(u,h,d,p,f,m,v),v+=1,a=n===g-1?e.v[0]:e.v[n+1],c=(l=Math.sqrt(Math.pow(r[0]-a[0],2)+Math.pow(r[1]-a[1],2)))?Math.min(l/2,t)/l:0,u=d=r[0]+(a[0]-r[0])*c,h=p=r[1]+(a[1]-r[1])*c,f=u-(u-r[0])*roundCorner,m=h-(h-r[1])*roundCorner,i.setTripleAt(u,h,d,p,f,m,v),v+=1):(i.setTripleAt(r[0],r[1],s[0],s[1],o[0],o[1],v),v+=1):(i.setTripleAt(e.v[n][0],e.v[n][1],e.o[n][0],e.o[n][1],e.i[n][0],e.i[n][1],v),v+=1);return i},RoundCornersModifier.prototype.processShapes=function(e){var t,n,i,r,o,s,a=this.shapes.length,l=this.rd.v;if(0!==l)for(n=0;n<a;n+=1){if(s=(o=this.shapes[n]).localShapeCollection,o.shape._mdf||this._mdf||e)for(s.releaseShapes(),o.shape._mdf=!0,t=o.shape.paths.shapes,r=o.shape.paths._length,i=0;i<r;i+=1)s.addShape(this.processPath(t[i],l));o.shape.paths=o.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},PolynomialBezier.prototype.point=function(e){return[((this.a[0]*e+this.b[0])*e+this.c[0])*e+this.d[0],((this.a[1]*e+this.b[1])*e+this.c[1])*e+this.d[1]]},PolynomialBezier.prototype.derivative=function(e){return[(3*e*this.a[0]+2*this.b[0])*e+this.c[0],(3*e*this.a[1]+2*this.b[1])*e+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(e){var t=this.derivative(e);return Math.atan2(t[1],t[0])},PolynomialBezier.prototype.normalAngle=function(e){var t=this.derivative(e);return Math.atan2(t[0],t[1])},PolynomialBezier.prototype.inflectionPoints=function(){var e=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(e))return[];var t=-.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/e,n=t*t-1/3*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/e;if(n<0)return[];var i=Math.sqrt(n);return floatZero(i)?i>0&&i<1?[t]:[]:[t-i,t+i].filter((function(e){return e>0&&e<1}))},PolynomialBezier.prototype.split=function(e){if(e<=0)return[singlePoint(this.points[0]),this];if(e>=1)return[this,singlePoint(this.points[this.points.length-1])];var t=lerpPoint(this.points[0],this.points[1],e),n=lerpPoint(this.points[1],this.points[2],e),i=lerpPoint(this.points[2],this.points[3],e),r=lerpPoint(t,n,e),o=lerpPoint(n,i,e),s=lerpPoint(r,o,e);return[new PolynomialBezier(this.points[0],t,r,s,!0),new PolynomialBezier(s,o,i,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var e=this.bounds();return{left:e.x.min,right:e.x.max,top:e.y.min,bottom:e.y.max,width:e.x.max-e.x.min,height:e.y.max-e.y.min,cx:(e.x.max+e.x.min)/2,cy:(e.y.max+e.y.min)/2}},PolynomialBezier.prototype.intersections=function(e,t,n){void 0===t&&(t=2),void 0===n&&(n=7);var i=[];return intersectsImpl(intersectData(this,0,1),intersectData(e,0,1),0,t,i,n),i},PolynomialBezier.shapeSegment=function(e,t){var n=(t+1)%e.length();return new PolynomialBezier(e.v[t],e.o[t],e.i[n],e.v[n],!0)},PolynomialBezier.shapeSegmentInverted=function(e,t){var n=(t+1)%e.length();return new PolynomialBezier(e.v[n],e.i[n],e.o[t],e.v[t],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(e,t.s,0,null,this),this.frequency=PropertyFactory.getProp(e,t.r,0,null,this),this.pointsType=PropertyFactory.getProp(e,t.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(e,t,n,i){var r=e._length,o=shapePool.newElement();if(o.c=e.c,e.c||(r-=1),0===r)return o;var s=-1,a=PolynomialBezier.shapeSegment(e,0);zigZagCorner(o,e,0,t,n,i,s);for(var l=0;l<r;l+=1)s=zigZagSegment(o,a,t,n,i,-s),a=l!==r-1||e.c?PolynomialBezier.shapeSegment(e,(l+1)%r):null,zigZagCorner(o,e,l+1,t,n,i,s);return o},ZigZagModifier.prototype.processShapes=function(e){var t,n,i,r,o,s,a=this.shapes.length,l=this.amplitude.v,c=Math.max(0,Math.round(this.frequency.v)),u=this.pointsType.v;if(0!==l)for(n=0;n<a;n+=1){if(s=(o=this.shapes[n]).localShapeCollection,o.shape._mdf||this._mdf||e)for(s.releaseShapes(),o.shape._mdf=!0,t=o.shape.paths.shapes,r=o.shape.paths._length,i=0;i<r;i+=1)s.addShape(this.processPath(t[i],l,c,u));o.shape.paths=o.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(e,t.a,0,null,this),this.miterLimit=PropertyFactory.getProp(e,t.ml,0,null,this),this.lineJoin=t.lj,this._isAnimated=0!==this.amount.effectsSequence.length},OffsetPathModifier.prototype.processPath=function(e,t,n,i){var r=shapePool.newElement();r.c=e.c;var o,s,a,l=e.length();e.c||(l-=1);var c=[];for(o=0;o<l;o+=1)a=PolynomialBezier.shapeSegment(e,o),c.push(offsetSegmentSplit(a,t));if(!e.c)for(o=l-1;o>=0;o-=1)a=PolynomialBezier.shapeSegmentInverted(e,o),c.push(offsetSegmentSplit(a,t));c=pruneIntersections(c);var u=null,h=null;for(o=0;o<c.length;o+=1){var d=c[o];for(h&&(u=joinLines(r,h,d[0],n,i)),h=d[d.length-1],s=0;s<d.length;s+=1)a=d[s],u&&pointEqual(a.points[0],u)?r.setXYAt(a.points[1][0],a.points[1][1],"o",r.length()-1):r.setTripleAt(a.points[0][0],a.points[0][1],a.points[1][0],a.points[1][1],a.points[0][0],a.points[0][1],r.length()),r.setTripleAt(a.points[3][0],a.points[3][1],a.points[3][0],a.points[3][1],a.points[2][0],a.points[2][1],r.length()),u=a.points[3]}return c.length&&joinLines(r,h,c[0][0],n,i),r},OffsetPathModifier.prototype.processShapes=function(e){var t,n,i,r,o,s,a=this.shapes.length,l=this.amount.v,c=this.miterLimit.v,u=this.lineJoin;if(0!==l)for(n=0;n<a;n+=1){if(s=(o=this.shapes[n]).localShapeCollection,o.shape._mdf||this._mdf||e)for(s.releaseShapes(),o.shape._mdf=!0,t=o.shape.paths.shapes,r=o.shape.paths._length,i=0;i<r;i+=1)s.addShape(this.processPath(t[i],l,u,c));o.shape.paths=o.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var FontManager=function(){var e={w:0,size:0,shapes:[],data:{shapes:[]}},t=[];t=t.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var n=127988,i=127462,r=127487,o=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function s(e,t){var n=createTag("span");n.setAttribute("aria-hidden",!0),n.style.fontFamily=t;var i=createTag("span");i.innerText="giItT1WQy@!-/#",n.style.position="absolute",n.style.left="-10000px",n.style.top="-10000px",n.style.fontSize="300px",n.style.fontVariant="normal",n.style.fontStyle="normal",n.style.fontWeight="normal",n.style.letterSpacing="0",n.appendChild(i),document.body.appendChild(n);var r=i.offsetWidth;return i.style.fontFamily=function(e){var t,n=e.split(","),i=n.length,r=[];for(t=0;t<i;t+=1)"sans-serif"!==n[t]&&"monospace"!==n[t]&&r.push(n[t]);return r.join(",")}(e)+", "+t,{node:i,w:r,parent:n}}function a(e,t){var n,i=document.body&&t?"svg":"canvas",r=getFontProperties(e);if("svg"===i){var o=createNS("text");o.style.fontSize="100px",o.setAttribute("font-family",e.fFamily),o.setAttribute("font-style",r.style),o.setAttribute("font-weight",r.weight),o.textContent="1",e.fClass?(o.style.fontFamily="inherit",o.setAttribute("class",e.fClass)):o.style.fontFamily=e.fFamily,t.appendChild(o),n=o}else{var s=new OffscreenCanvas(500,500).getContext("2d");s.font=r.style+" "+r.weight+" 100px "+e.fFamily,n=s}return{measureText:function(e){return"svg"===i?(n.textContent=e,n.getComputedTextLength()):n.measureText(e).width}}}function l(e){var t=0,n=e.charCodeAt(0);if(n>=55296&&n<=56319){var i=e.charCodeAt(1);i>=56320&&i<=57343&&(t=1024*(n-55296)+i-56320+65536)}return t}function c(e){var t=l(e);return t>=i&&t<=r}var u=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};u.isModifier=function(e,t){var n=e.toString(16)+t.toString(16);return-1!==o.indexOf(n)},u.isZeroWidthJoiner=function(e){return 8205===e},u.isFlagEmoji=function(e){return c(e.substr(0,2))&&c(e.substr(2,2))},u.isRegionalCode=c,u.isCombinedCharacter=function(e){return-1!==t.indexOf(e)},u.isRegionalFlag=function(e,t){var i=l(e.substr(t,2));if(i!==n)return!1;var r=0;for(t+=2;r<5;){if((i=l(e.substr(t,2)))<917601||i>917626)return!1;r+=1,t+=2}return 917631===l(e.substr(t,2))},u.isVariationSelector=function(e){return 65039===e},u.BLACK_FLAG_CODE_POINT=n;var h={addChars:function(e){if(e){var t;this.chars||(this.chars=[]);var n,i,r=e.length,o=this.chars.length;for(t=0;t<r;t+=1){for(n=0,i=!1;n<o;)this.chars[n].style===e[t].style&&this.chars[n].fFamily===e[t].fFamily&&this.chars[n].ch===e[t].ch&&(i=!0),n+=1;i||(this.chars.push(e[t]),o+=1)}}},addFonts:function(e,t){if(e){if(this.chars)return this.isLoaded=!0,void(this.fonts=e.list);if(!document.body)return this.isLoaded=!0,e.list.forEach((function(e){e.helper=a(e),e.cache={}})),void(this.fonts=e.list);var n,i=e.list,r=i.length,o=r;for(n=0;n<r;n+=1){var l,c,u=!0;if(i[n].loaded=!1,i[n].monoCase=s(i[n].fFamily,"monospace"),i[n].sansCase=s(i[n].fFamily,"sans-serif"),i[n].fPath){if("p"===i[n].fOrigin||3===i[n].origin){if((l=document.querySelectorAll('style[f-forigin="p"][f-family="'+i[n].fFamily+'"], style[f-origin="3"][f-family="'+i[n].fFamily+'"]')).length>0&&(u=!1),u){var h=createTag("style");h.setAttribute("f-forigin",i[n].fOrigin),h.setAttribute("f-origin",i[n].origin),h.setAttribute("f-family",i[n].fFamily),h.type="text/css",h.innerText="@font-face {font-family: "+i[n].fFamily+"; font-style: normal; src: url('"+i[n].fPath+"');}",t.appendChild(h)}}else if("g"===i[n].fOrigin||1===i[n].origin){for(l=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),c=0;c<l.length;c+=1)-1!==l[c].href.indexOf(i[n].fPath)&&(u=!1);if(u){var d=createTag("link");d.setAttribute("f-forigin",i[n].fOrigin),d.setAttribute("f-origin",i[n].origin),d.type="text/css",d.rel="stylesheet",d.href=i[n].fPath,document.body.appendChild(d)}}else if("t"===i[n].fOrigin||2===i[n].origin){for(l=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),c=0;c<l.length;c+=1)i[n].fPath===l[c].src&&(u=!1);if(u){var p=createTag("link");p.setAttribute("f-forigin",i[n].fOrigin),p.setAttribute("f-origin",i[n].origin),p.setAttribute("rel","stylesheet"),p.setAttribute("href",i[n].fPath),t.appendChild(p)}}}else i[n].loaded=!0,o-=1;i[n].helper=a(i[n],t),i[n].cache={},this.fonts.push(i[n])}0===o?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}else this.isLoaded=!0},getCharData:function(t,n,i){for(var r=0,o=this.chars.length;r<o;){if(this.chars[r].ch===t&&this.chars[r].style===n&&this.chars[r].fFamily===i)return this.chars[r];r+=1}return("string"==typeof t&&13!==t.charCodeAt(0)||!t)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",t,n,i)),e},getFontByName:function(e){for(var t=0,n=this.fonts.length;t<n;){if(this.fonts[t].fName===e)return this.fonts[t];t+=1}return this.fonts[0]},measureText:function(e,t,n){var i=this.getFontByName(t),r=e;if(!i.cache[r]){var o=i.helper;if(" "===e){var s=o.measureText("|"+e+"|"),a=o.measureText("||");i.cache[r]=(s-a)/100}else i.cache[r]=o.measureText(e)/100}return i.cache[r]*n},checkLoadedFonts:function(){var e,t,n,i=this.fonts.length,r=i;for(e=0;e<i;e+=1)this.fonts[e].loaded?r-=1:"n"===this.fonts[e].fOrigin||0===this.fonts[e].origin?this.fonts[e].loaded=!0:(t=this.fonts[e].monoCase.node,n=this.fonts[e].monoCase.w,t.offsetWidth!==n?(r-=1,this.fonts[e].loaded=!0):(t=this.fonts[e].sansCase.node,n=this.fonts[e].sansCase.w,t.offsetWidth!==n&&(r-=1,this.fonts[e].loaded=!0)),this.fonts[e].loaded&&(this.fonts[e].sansCase.parent.parentNode.removeChild(this.fonts[e].sansCase.parent),this.fonts[e].monoCase.parent.parentNode.removeChild(this.fonts[e].monoCase.parent)));0!==r&&Date.now()-this.initTime<5e3?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)},setIsLoaded:function(){this.isLoaded=!0}};return u.prototype=h,u}();function SlotManager(e){this.animationData=e}function slotFactory(e){return new SlotManager(e)}function RenderableElement(){}SlotManager.prototype.getProp=function(e){return this.animationData.slots&&this.animationData.slots[e.sid]?Object.assign(e,this.animationData.slots[e.sid].p):e},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){-1===this.renderableComponents.indexOf(e)&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){-1!==this.renderableComponents.indexOf(e)&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,t=this.renderableComponents.length;for(e=0;e<t;e+=1)this.renderableComponents[e].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return 5===this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}};var getBlendMode=(blendModeEnums={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"},function(e){return blendModeEnums[e]||""}),blendModeEnums;function SliderEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function AngleEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function ColorEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,1,0,n)}function PointEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,1,0,n)}function LayerIndexEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function MaskIndexEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function CheckboxEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function NoValueEffect(){this.p={}}function EffectsManager(e,t){var n,i=e.ef||[];this.effectElements=[];var r,o=i.length;for(n=0;n<o;n+=1)r=new GroupEffect(i[n],t),this.effectElements.push(r)}function GroupEffect(e,t){this.init(e,t)}function BaseElement(){}function FrameElement(){}function FootageElement(e,t,n){this.initFrame(),this.initRenderable(),this.assetData=t.getAssetData(e.refId),this.footageData=t.imageLoader.getAsset(this.assetData),this.initBaseData(e,t,n)}function AudioElement(e,t,n){this.initFrame(),this.initRenderable(),this.assetData=t.getAssetData(e.refId),this.initBaseData(e,t,n),this._isPlaying=!1,this._canPlay=!1;var i=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(i),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,e.au&&e.au.lv?e.au.lv:{k:[100]},1,.01,this)}function BaseRenderer(){}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(e,t){var n;this.data=e,this.effectElements=[],this.initDynamicPropertyContainer(t);var i,r=this.data.ef.length,o=this.data.ef;for(n=0;n<r;n+=1){switch(i=null,o[n].ty){case 0:i=new SliderEffect(o[n],t,this);break;case 1:i=new AngleEffect(o[n],t,this);break;case 2:i=new ColorEffect(o[n],t,this);break;case 3:i=new PointEffect(o[n],t,this);break;case 4:case 7:i=new CheckboxEffect(o[n],t,this);break;case 10:i=new LayerIndexEffect(o[n],t,this);break;case 11:i=new MaskIndexEffect(o[n],t,this);break;case 5:i=new EffectsManager(o[n],t);break;default:i=new NoValueEffect(o[n])}i&&this.effectElements.push(i)}},BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var e=0,t=this.data.masksProperties.length;e<t;){if("n"!==this.data.masksProperties[e].mode&&!1!==this.data.masksProperties[e].cl)return!0;e+=1}return!1},initExpressions:function(){var e=getExpressionInterfaces();if(e){var t=e("layer"),n=e("effects"),i=e("shape"),r=e("text"),o=e("comp");this.layerInterface=t(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var s=n.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(s),0===this.data.ty||this.data.xt?this.compInterface=o(this):4===this.data.ty?(this.layerInterface.shapeInterface=i(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):5===this.data.ty&&(this.layerInterface.textInterface=r(this),this.layerInterface.text=this.layerInterface.textInterface)}},setBlendMode:function(){var e=getBlendMode(this.data.bm);(this.baseElement||this.layerElement).style["mix-blend-mode"]=e},initBaseData:function(e,t,n){this.globalData=t,this.comp=n,this.data=e,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}},FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(e,t){var n,i=this.dynamicProperties.length;for(n=0;n<i;n+=1)(t||this._isParent&&"transform"===this.dynamicProperties[n].propType)&&(this.dynamicProperties[n].getValue(),this.dynamicProperties[n]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(e){-1===this.dynamicProperties.indexOf(e)&&this.dynamicProperties.push(e)}},FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var e=getExpressionInterfaces();if(e){var t=e("footage");this.layerInterface=t(this)}},FootageElement.prototype.getFootageData=function(){return this.footageData},AudioElement.prototype.prepareFrame=function(e){if(this.prepareRenderableFrame(e,!0),this.prepareProperties(e,!0),this.tm._placeholder)this._currentTime=e/this.data.sr;else{var t=this.tm.v;this._currentTime=t}this._volume=this.lv.v[0];var n=this._volume*this._volumeMultiplier;this._previousVolume!==n&&(this._previousVolume=n,this.audio.volume(n))},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(e){this.audio.rate(e)},AudioElement.prototype.volume=function(e){this._volumeMultiplier=e,this._previousVolume=e*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(e){var t,n,i=this.layers.length;for(this.completeLayers=!0,t=i-1;t>=0;t-=1)this.elements[t]||(n=this.layers[t]).ip-n.st<=e-this.layers[t].st&&n.op-n.st>e-this.layers[t].st&&this.buildItem(t),this.completeLayers=!!this.elements[t]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(e){switch(e.ty){case 2:return this.createImage(e);case 0:return this.createComp(e);case 1:return this.createSolid(e);case 3:default:return this.createNull(e);case 4:return this.createShape(e);case 5:return this.createText(e);case 6:return this.createAudio(e);case 13:return this.createCamera(e);case 15:return this.createFootage(e)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(e){return new AudioElement(e,this.globalData,this)},BaseRenderer.prototype.createFootage=function(e){return new FootageElement(e,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var e,t=this.layers.length;for(e=0;e<t;e+=1)this.buildItem(e);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(e){var t;this.completeLayers=!1;var n,i=e.length,r=this.layers.length;for(t=0;t<i;t+=1)for(n=0;n<r;){if(this.layers[n].id===e[t].id){this.layers[n]=e[t];break}n+=1}},BaseRenderer.prototype.setProjectInterface=function(e){this.globalData.projectInterface=e},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(e,t,n){for(var i=this.elements,r=this.layers,o=0,s=r.length;o<s;)r[o].ind==t&&(i[o]&&!0!==i[o]?(n.push(i[o]),i[o].setAsParent(),void 0!==r[o].parent?this.buildElementParenting(e,r[o].parent,n):e.setHierarchy(n)):(this.buildItem(o),this.addPendingElement(e))),o+=1},BaseRenderer.prototype.addPendingElement=function(e){this.pendingElements.push(e)},BaseRenderer.prototype.searchExtraCompositions=function(e){var t,n=e.length;for(t=0;t<n;t+=1)if(e[t].xt){var i=this.createComp(e[t]);i.initExpressions(),this.globalData.projectInterface.registerComposition(i)}},BaseRenderer.prototype.getElementById=function(e){var t,n=this.elements.length;for(t=0;t<n;t+=1)if(this.elements[t].data.ind===e)return this.elements[t];return null},BaseRenderer.prototype.getElementByPath=function(e){var t,n=e.shift();if("number"==typeof n)t=this.elements[n];else{var i,r=this.elements.length;for(i=0;i<r;i+=1)if(this.elements[i].data.nm===n){t=this.elements[i];break}}return 0===e.length?t:t.getElementByPath(e)},BaseRenderer.prototype.setupGlobalData=function(e,t){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(e),this.globalData.fontManager.addChars(e.chars),this.globalData.fontManager.addFonts(e.fonts,t),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=e.fr,this.globalData.nm=e.nm,this.globalData.compSize={w:e.w,h:e.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}function MaskElement(e,t,n){this.data=e,this.element=t,this.globalData=n,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var i,r,o=this.globalData.defs,s=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(s),this.solidPath="";var a,l,c,u,h,d,p=this.masksProperties,f=0,m=[],g=createElementID(),v="clipPath",b="clip-path";for(i=0;i<s;i+=1)if(("a"!==p[i].mode&&"n"!==p[i].mode||p[i].inv||100!==p[i].o.k||p[i].o.x)&&(v="mask",b="mask"),"s"!==p[i].mode&&"i"!==p[i].mode||0!==f?c=null:((c=createNS("rect")).setAttribute("fill","#ffffff"),c.setAttribute("width",this.element.comp.data.w||0),c.setAttribute("height",this.element.comp.data.h||0),m.push(c)),r=createNS("path"),"n"===p[i].mode)this.viewData[i]={op:PropertyFactory.getProp(this.element,p[i].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,p[i],3),elem:r,lastPath:""},o.appendChild(r);else{var y;if(f+=1,r.setAttribute("fill","s"===p[i].mode?"#000000":"#ffffff"),r.setAttribute("clip-rule","nonzero"),0!==p[i].x.k?(v="mask",b="mask",d=PropertyFactory.getProp(this.element,p[i].x,0,null,this.element),y=createElementID(),(u=createNS("filter")).setAttribute("id",y),(h=createNS("feMorphology")).setAttribute("operator","erode"),h.setAttribute("in","SourceGraphic"),h.setAttribute("radius","0"),u.appendChild(h),o.appendChild(u),r.setAttribute("stroke","s"===p[i].mode?"#000000":"#ffffff")):(h=null,d=null),this.storedData[i]={elem:r,x:d,expan:h,lastPath:"",lastOperator:"",filterId:y,lastRadius:0},"i"===p[i].mode){l=m.length;var A=createNS("g");for(a=0;a<l;a+=1)A.appendChild(m[a]);var S=createNS("mask");S.setAttribute("mask-type","alpha"),S.setAttribute("id",g+"_"+f),S.appendChild(r),o.appendChild(S),A.setAttribute("mask","url("+getLocationHref()+"#"+g+"_"+f+")"),m.length=0,m.push(A)}else m.push(r);p[i].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[i]={elem:r,lastPath:"",op:PropertyFactory.getProp(this.element,p[i].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,p[i],3),invRect:c},this.viewData[i].prop.k||this.drawPath(p[i],this.viewData[i].prop.v,this.viewData[i])}for(this.maskElement=createNS(v),s=m.length,i=0;i<s;i+=1)this.maskElement.appendChild(m[i]);f>0&&(this.maskElement.setAttribute("id",g),this.element.maskedElement.setAttribute(b,"url("+getLocationHref()+"#"+g+")"),o.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}TransformElement.prototype={initTransform:function(){var e=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:e,localMat:e,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var e,t=this.finalTransform.mat,n=0,i=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;n<i;){if(this.hierarchy[n].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}n+=1}if(this.finalTransform._matMdf)for(e=this.finalTransform.mProp.v.props,t.cloneFromProps(e),n=0;n<i;n+=1)t.multiply(this.hierarchy[n].finalTransform.mProp.v)}this.finalTransform._matMdf&&(this.finalTransform._localMatMdf=this.finalTransform._matMdf),this.finalTransform._opMdf&&(this.finalTransform.localOpacity=this.finalTransform.mProp.o.v)},renderLocalTransform:function(){if(this.localTransforms){var e=0,t=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)for(;e<t;)this.localTransforms[e]._mdf&&(this.finalTransform._localMatMdf=!0),this.localTransforms[e]._opMdf&&!this.finalTransform._opMdf&&(this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0),e+=1;if(this.finalTransform._localMatMdf){var n=this.finalTransform.localMat;for(this.localTransforms[0].matrix.clone(n),e=1;e<t;e+=1){var i=this.localTransforms[e].matrix;n.multiply(i)}n.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var r=this.finalTransform.localOpacity;for(e=0;e<t;e+=1)r*=.01*this.localTransforms[e].opacity;this.finalTransform.localOpacity=r}}},searchEffectTransforms:function(){if(this.renderableEffectsManager){var e=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(e.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var t=0,n=e.length;for(t=0;t<n;t+=1)this.localTransforms.push(e[t])}}},globalToLocal:function(e){var t=[];t.push(this.finalTransform);for(var n,i=!0,r=this.comp;i;)r.finalTransform?(r.data.hasMask&&t.splice(0,0,r.finalTransform),r=r.comp):i=!1;var o,s=t.length;for(n=0;n<s;n+=1)o=t[n].mat.applyToPointArray(0,0,0),e=[e[0]-o[0],e[1]-o[1],0];return e},mHelper:new Matrix},MaskElement.prototype.getMaskProperty=function(e){return this.viewData[e].prop},MaskElement.prototype.renderFrame=function(e){var t,n=this.element.finalTransform.mat,i=this.masksProperties.length;for(t=0;t<i;t+=1)if((this.viewData[t].prop._mdf||e)&&this.drawPath(this.masksProperties[t],this.viewData[t].prop.v,this.viewData[t]),(this.viewData[t].op._mdf||e)&&this.viewData[t].elem.setAttribute("fill-opacity",this.viewData[t].op.v),"n"!==this.masksProperties[t].mode&&(this.viewData[t].invRect&&(this.element.finalTransform.mProp._mdf||e)&&this.viewData[t].invRect.setAttribute("transform",n.getInverseMatrix().to2dCSS()),this.storedData[t].x&&(this.storedData[t].x._mdf||e))){var r=this.storedData[t].expan;this.storedData[t].x.v<0?("erode"!==this.storedData[t].lastOperator&&(this.storedData[t].lastOperator="erode",this.storedData[t].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[t].filterId+")")),r.setAttribute("radius",-this.storedData[t].x.v)):("dilate"!==this.storedData[t].lastOperator&&(this.storedData[t].lastOperator="dilate",this.storedData[t].elem.setAttribute("filter",null)),this.storedData[t].elem.setAttribute("stroke-width",2*this.storedData[t].x.v))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var e="M0,0 ";return e+=" h"+this.globalData.compSize.w,e+=" v"+this.globalData.compSize.h,e+=" h-"+this.globalData.compSize.w,e+=" v-"+this.globalData.compSize.h+" "},MaskElement.prototype.drawPath=function(e,t,n){var i,r,o=" M"+t.v[0][0]+","+t.v[0][1];for(r=t._length,i=1;i<r;i+=1)o+=" C"+t.o[i-1][0]+","+t.o[i-1][1]+" "+t.i[i][0]+","+t.i[i][1]+" "+t.v[i][0]+","+t.v[i][1];if(t.c&&r>1&&(o+=" C"+t.o[i-1][0]+","+t.o[i-1][1]+" "+t.i[0][0]+","+t.i[0][1]+" "+t.v[0][0]+","+t.v[0][1]),n.lastPath!==o){var s="";n.elem&&(t.c&&(s=e.inv?this.solidPath+o:o),n.elem.setAttribute("d",s)),n.lastPath=o}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var e={createFilter:function(e,t){var n=createNS("filter");return n.setAttribute("id",e),!0!==t&&(n.setAttribute("filterUnits","objectBoundingBox"),n.setAttribute("x","0%"),n.setAttribute("y","0%"),n.setAttribute("width","100%"),n.setAttribute("height","100%")),n},createAlphaToLuminanceFilter:function(){var e=createNS("feColorMatrix");return e.setAttribute("type","matrix"),e.setAttribute("color-interpolation-filters","sRGB"),e.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),e}};return e}(),featureSupport=function(){var e={maskType:!0,svgLumaHidden:!0,offscreenCanvas:"undefined"!=typeof OffscreenCanvas};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(e.maskType=!1),/firefox/i.test(navigator.userAgent)&&(e.svgLumaHidden=!1),e}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(e){var t,n,i="SourceGraphic",r=e.data.ef?e.data.ef.length:0,o=createElementID(),s=filtersFactory.createFilter(o,!0),a=0;for(this.filters=[],t=0;t<r;t+=1){n=null;var l=e.data.ef[t].ty;registeredEffects$1[l]&&(n=new(0,registeredEffects$1[l].effect)(s,e.effectsManager.effectElements[t],e,idPrefix+a,i),i=idPrefix+a,registeredEffects$1[l].countsAsEffect&&(a+=1)),n&&this.filters.push(n)}a&&(e.globalData.defs.appendChild(s),e.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+o+")")),this.filters.length&&e.addRenderableComponent(this)}function registerEffect$1(e,t,n){registeredEffects$1[e]={effect:t,countsAsEffect:n}}function SVGBaseElement(){}function HierarchyElement(){}function RenderableDOMElement(){}function IImageElement(e,t,n){this.assetData=t.getAssetData(e.refId),this.assetData&&this.assetData.sid&&(this.assetData=t.slotManager.getProp(this.assetData)),this.initElement(e,t,n),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}function ProcessedElement(e,t){this.elem=e,this.pos=t}function IShapeElement(){}SVGEffects.prototype.renderFrame=function(e){var t,n=this.filters.length;for(t=0;t<n;t+=1)this.filters[t].renderFrame(e)},SVGEffects.prototype.getEffects=function(e){var t,n=this.filters.length,i=[];for(t=0;t<n;t+=1)this.filters[t].type===e&&i.push(this.filters[t]);return i},SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS("g")},createContainerElements:function(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var e=null;if(this.data.td){this.matteMasks={};var t=createNS("g");t.setAttribute("id",this.layerId),t.appendChild(this.layerElement),e=t,this.globalData.defs.appendChild(t)}else this.data.tt?(this.matteElement.appendChild(this.layerElement),e=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0===this.data.ty&&!this.data.hd){var n=createNS("clipPath"),i=createNS("path");i.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var r=createElementID();if(n.setAttribute("id",r),n.appendChild(i),this.globalData.defs.appendChild(n),this.checkMasks()){var o=createNS("g");o.setAttribute("clip-path","url("+getLocationHref()+"#"+r+")"),o.appendChild(this.layerElement),this.transformedElement=o,e?e.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+r+")")}0!==this.data.bm&&this.setBlendMode()},renderElement:function(){this.finalTransform._localMatMdf&&this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function(e){if(this.matteMasks||(this.matteMasks={}),!this.matteMasks[e]){var t,n,i,r,o=this.layerId+"_"+e;if(1===e||3===e){var s=createNS("mask");s.setAttribute("id",o),s.setAttribute("mask-type",3===e?"luminance":"alpha"),(i=createNS("use")).setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),s.appendChild(i),this.globalData.defs.appendChild(s),featureSupport.maskType||1!==e||(s.setAttribute("mask-type","luminance"),t=createElementID(),n=filtersFactory.createFilter(t),this.globalData.defs.appendChild(n),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),(r=createNS("g")).appendChild(i),s.appendChild(r),r.setAttribute("filter","url("+getLocationHref()+"#"+t+")"))}else if(2===e){var a=createNS("mask");a.setAttribute("id",o),a.setAttribute("mask-type","alpha");var l=createNS("g");a.appendChild(l),t=createElementID(),n=filtersFactory.createFilter(t);var c=createNS("feComponentTransfer");c.setAttribute("in","SourceGraphic"),n.appendChild(c);var u=createNS("feFuncA");u.setAttribute("type","table"),u.setAttribute("tableValues","1.0 0.0"),c.appendChild(u),this.globalData.defs.appendChild(n);var h=createNS("rect");h.setAttribute("width",this.comp.data.w),h.setAttribute("height",this.comp.data.h),h.setAttribute("x","0"),h.setAttribute("y","0"),h.setAttribute("fill","#ffffff"),h.setAttribute("opacity","0"),l.setAttribute("filter","url("+getLocationHref()+"#"+t+")"),l.appendChild(h),(i=createNS("use")).setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),l.appendChild(i),featureSupport.maskType||(a.setAttribute("mask-type","luminance"),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),r=createNS("g"),l.appendChild(h),r.appendChild(this.layerElement),l.appendChild(r)),this.globalData.defs.appendChild(a)}this.matteMasks[e]=o}return this.matteMasks[e]},setMatte:function(e){this.matteElement&&this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+e+")")}},HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(e){this.hierarchy=e},setAsParent:function(){this._isParent=!0},checkParenting:function(){void 0!==this.data.parent&&this.comp.buildElementParenting(this,this.data.parent,[])}},extendPrototype([RenderableElement,createProxyFunction({initElement:function(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initTransform(e,t,n),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){this.hidden||this.isInRange&&!this.isTransparent||((this.baseElement||this.layerElement).style.display="none",this.hidden=!0)},show:function(){this.isInRange&&!this.isTransparent&&(this.data.hd||((this.baseElement||this.layerElement).style.display="block"),this.hidden=!1,this._isFirstFrame=!0)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(e){this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}})],RenderableDOMElement),extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var e=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",e),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect},IShapeElement.prototype={addShapeToModifiers:function(e){var t,n=this.shapeModifiers.length;for(t=0;t<n;t+=1)this.shapeModifiers[t].addShape(e)},isShapeInAnimatedModifiers:function(e){for(var t=this.shapeModifiers.length;0<t;)if(this.shapeModifiers[0].isAnimatedWithShape(e))return!0;return!1},renderModifiers:function(){if(this.shapeModifiers.length){var e,t=this.shapes.length;for(e=0;e<t;e+=1)this.shapes[e].sh.reset();for(e=(t=this.shapeModifiers.length)-1;e>=0&&!this.shapeModifiers[e].processShapes(this._isFirstFrame);e-=1);}},searchProcessedElement:function(e){for(var t=this.processedElements,n=0,i=t.length;n<i;){if(t[n].elem===e)return t[n].pos;n+=1}return 0},addProcessedElement:function(e,t){for(var n=this.processedElements,i=n.length;i;)if(n[i-=1].elem===e)return void(n[i].pos=t);n.push(new ProcessedElement(e,t))},prepareFrame:function(e){this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(e,t,n){this.caches=[],this.styles=[],this.transformers=e,this.lStr="",this.sh=n,this.lvl=t,this._isAnimated=!!n.k;for(var i=0,r=e.length;i<r;){if(e[i].mProps.dynamicProperties.length){this._isAnimated=!0;break}i+=1}}function SVGStyleData(e,t){this.data=e,this.type=e.ty,this.d="",this.lvl=t,this._mdf=!1,this.closed=!0===e.hd,this.pElem=createNS("path"),this.msElem=null}function DashProperty(e,t,n,i){var r;this.elem=e,this.frameId=-1,this.dataProps=createSizedArray(t.length),this.renderer=n,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",t.length?t.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(i);var o,s=t.length||0;for(r=0;r<s;r+=1)o=PropertyFactory.getProp(e,t[r].v,0,0,this),this.k=o.k||this.k,this.dataProps[r]={n:t[r].n,p:o};this.k||this.getValue(!0),this._isAnimated=this.k}function SVGStrokeStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(e,t.o,0,.01,this),this.w=PropertyFactory.getProp(e,t.w,0,null,this),this.d=new DashProperty(e,t.d||{},"svg",this),this.c=PropertyFactory.getProp(e,t.c,1,255,this),this.style=n,this._isAnimated=!!this._isAnimated}function SVGFillStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(e,t.o,0,.01,this),this.c=PropertyFactory.getProp(e,t.c,1,255,this),this.style=n}function SVGNoStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.style=n}function GradientProperty(e,t,n){this.data=t,this.c=createTypedArray("uint8c",4*t.p);var i=t.k.k[0].s?t.k.k[0].s.length-4*t.p:t.k.k.length-4*t.p;this.o=createTypedArray("float32",i),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=i,this.initDynamicPropertyContainer(n),this.prop=PropertyFactory.getProp(e,t.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}function SVGGradientFillStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.initGradientData(e,t,n)}function SVGGradientStrokeStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(e,t.w,0,null,this),this.d=new DashProperty(e,t.d||{},"svg",this),this.initGradientData(e,t,n),this._isAnimated=!!this._isAnimated}function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(e,t,n){this.transform={mProps:e,op:t,container:n},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0},SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1},DashProperty.prototype.getValue=function(e){if((this.elem.globalData.frameId!==this.frameId||e)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||e,this._mdf)){var t=0,n=this.dataProps.length;for("svg"===this.renderer&&(this.dashStr=""),t=0;t<n;t+=1)"o"!==this.dataProps[t].n?"svg"===this.renderer?this.dashStr+=" "+this.dataProps[t].p.v:this.dashArray[t]=this.dataProps[t].p.v:this.dashoffset[0]=this.dataProps[t].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty),extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData),extendPrototype([DynamicPropertyContainer],SVGFillStyleData),extendPrototype([DynamicPropertyContainer],SVGNoStyleData),GradientProperty.prototype.comparePoints=function(e,t){for(var n=0,i=this.o.length/2;n<i;){if(Math.abs(e[4*n]-e[4*t+2*n])>.01)return!1;n+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var e=0,t=this.data.k.k.length;e<t;){if(!this.comparePoints(this.data.k.k[e].s,this.data.p))return!1;e+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(e){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||e){var t,n,i,r=4*this.data.p;for(t=0;t<r;t+=1)n=t%4==0?100:255,i=Math.round(this.prop.v[t]*n),this.c[t]!==i&&(this.c[t]=i,this._cmdf=!e);if(this.o.length)for(r=this.prop.v.length,t=4*this.data.p;t<r;t+=1)n=t%2==0?100:1,i=t%2==0?Math.round(100*this.prop.v[t]):this.prop.v[t],this.o[t-4*this.data.p]!==i&&(this.o[t-4*this.data.p]=i,this._omdf=!e);this._mdf=!e}},extendPrototype([DynamicPropertyContainer],GradientProperty),SVGGradientFillStyleData.prototype.initGradientData=function(e,t,n){this.o=PropertyFactory.getProp(e,t.o,0,.01,this),this.s=PropertyFactory.getProp(e,t.s,1,null,this),this.e=PropertyFactory.getProp(e,t.e,1,null,this),this.h=PropertyFactory.getProp(e,t.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(e,t.a||{k:0},0,degToRads,this),this.g=new GradientProperty(e,t.g,this),this.style=n,this.stops=[],this.setGradientData(n.pElem,t),this.setGradientOpacity(t,n),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(e,t){var n=createElementID(),i=createNS(1===t.t?"linearGradient":"radialGradient");i.setAttribute("id",n),i.setAttribute("spreadMethod","pad"),i.setAttribute("gradientUnits","userSpaceOnUse");var r,o,s,a=[];for(s=4*t.g.p,o=0;o<s;o+=4)r=createNS("stop"),i.appendChild(r),a.push(r);e.setAttribute("gf"===t.ty?"fill":"stroke","url("+getLocationHref()+"#"+n+")"),this.gf=i,this.cst=a},SVGGradientFillStyleData.prototype.setGradientOpacity=function(e,t){if(this.g._hasOpacity&&!this.g._collapsable){var n,i,r,o=createNS("mask"),s=createNS("path");o.appendChild(s);var a=createElementID(),l=createElementID();o.setAttribute("id",l);var c=createNS(1===e.t?"linearGradient":"radialGradient");c.setAttribute("id",a),c.setAttribute("spreadMethod","pad"),c.setAttribute("gradientUnits","userSpaceOnUse"),r=e.g.k.k[0].s?e.g.k.k[0].s.length:e.g.k.k.length;var u=this.stops;for(i=4*e.g.p;i<r;i+=2)(n=createNS("stop")).setAttribute("stop-color","rgb(255,255,255)"),c.appendChild(n),u.push(n);s.setAttribute("gf"===e.ty?"fill":"stroke","url("+getLocationHref()+"#"+a+")"),"gs"===e.ty&&(s.setAttribute("stroke-linecap",lineCapEnum[e.lc||2]),s.setAttribute("stroke-linejoin",lineJoinEnum[e.lj||2]),1===e.lj&&s.setAttribute("stroke-miterlimit",e.ml)),this.of=c,this.ms=o,this.ost=u,this.maskId=l,t.msElem=s}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData),extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);var buildShapeString=function(e,t,n,i){if(0===t)return"";var r,o=e.o,s=e.i,a=e.v,l=" M"+i.applyToPointStringified(a[0][0],a[0][1]);for(r=1;r<t;r+=1)l+=" C"+i.applyToPointStringified(o[r-1][0],o[r-1][1])+" "+i.applyToPointStringified(s[r][0],s[r][1])+" "+i.applyToPointStringified(a[r][0],a[r][1]);return n&&t&&(l+=" C"+i.applyToPointStringified(o[r-1][0],o[r-1][1])+" "+i.applyToPointStringified(s[0][0],s[0][1])+" "+i.applyToPointStringified(a[0][0],a[0][1]),l+="z"),l},SVGElementsRenderer=function(){var e=new Matrix,t=new Matrix;function n(e,t,n){(n||t.transform.op._mdf)&&t.transform.container.setAttribute("opacity",t.transform.op.v),(n||t.transform.mProps._mdf)&&t.transform.container.setAttribute("transform",t.transform.mProps.v.to2dCSS())}function i(){}function r(n,i,r){var o,s,a,l,c,u,h,d,p,f,m=i.styles.length,g=i.lvl;for(u=0;u<m;u+=1){if(l=i.sh._mdf||r,i.styles[u].lvl<g){for(d=t.reset(),p=g-i.styles[u].lvl,f=i.transformers.length-1;!l&&p>0;)l=i.transformers[f].mProps._mdf||l,p-=1,f-=1;if(l)for(p=g-i.styles[u].lvl,f=i.transformers.length-1;p>0;)d.multiply(i.transformers[f].mProps.v),p-=1,f-=1}else d=e;if(s=(h=i.sh.paths)._length,l){for(a="",o=0;o<s;o+=1)(c=h.shapes[o])&&c._length&&(a+=buildShapeString(c,c._length,c.c,d));i.caches[u]=a}else a=i.caches[u];i.styles[u].d+=!0===n.hd?"":a,i.styles[u]._mdf=l||i.styles[u]._mdf}}function o(e,t,n){var i=t.style;(t.c._mdf||n)&&i.pElem.setAttribute("fill","rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n)&&i.pElem.setAttribute("fill-opacity",t.o.v)}function s(e,t,n){a(e,t,n),l(0,t,n)}function a(e,t,n){var i,r,o,s,a,l=t.gf,c=t.g._hasOpacity,u=t.s.v,h=t.e.v;if(t.o._mdf||n){var d="gf"===e.ty?"fill-opacity":"stroke-opacity";t.style.pElem.setAttribute(d,t.o.v)}if(t.s._mdf||n){var p=1===e.t?"x1":"cx",f="x1"===p?"y1":"cy";l.setAttribute(p,u[0]),l.setAttribute(f,u[1]),c&&!t.g._collapsable&&(t.of.setAttribute(p,u[0]),t.of.setAttribute(f,u[1]))}if(t.g._cmdf||n){i=t.cst;var m=t.g.c;for(o=i.length,r=0;r<o;r+=1)(s=i[r]).setAttribute("offset",m[4*r]+"%"),s.setAttribute("stop-color","rgb("+m[4*r+1]+","+m[4*r+2]+","+m[4*r+3]+")")}if(c&&(t.g._omdf||n)){var g=t.g.o;for(o=(i=t.g._collapsable?t.cst:t.ost).length,r=0;r<o;r+=1)s=i[r],t.g._collapsable||s.setAttribute("offset",g[2*r]+"%"),s.setAttribute("stop-opacity",g[2*r+1])}if(1===e.t)(t.e._mdf||n)&&(l.setAttribute("x2",h[0]),l.setAttribute("y2",h[1]),c&&!t.g._collapsable&&(t.of.setAttribute("x2",h[0]),t.of.setAttribute("y2",h[1])));else if((t.s._mdf||t.e._mdf||n)&&(a=Math.sqrt(Math.pow(u[0]-h[0],2)+Math.pow(u[1]-h[1],2)),l.setAttribute("r",a),c&&!t.g._collapsable&&t.of.setAttribute("r",a)),t.e._mdf||t.h._mdf||t.a._mdf||n){a||(a=Math.sqrt(Math.pow(u[0]-h[0],2)+Math.pow(u[1]-h[1],2)));var v=Math.atan2(h[1]-u[1],h[0]-u[0]),b=t.h.v;b>=1?b=.99:b<=-1&&(b=-.99);var y=a*b,A=Math.cos(v+t.a.v)*y+u[0],S=Math.sin(v+t.a.v)*y+u[1];l.setAttribute("fx",A),l.setAttribute("fy",S),c&&!t.g._collapsable&&(t.of.setAttribute("fx",A),t.of.setAttribute("fy",S))}}function l(e,t,n){var i=t.style,r=t.d;r&&(r._mdf||n)&&r.dashStr&&(i.pElem.setAttribute("stroke-dasharray",r.dashStr),i.pElem.setAttribute("stroke-dashoffset",r.dashoffset[0])),t.c&&(t.c._mdf||n)&&i.pElem.setAttribute("stroke","rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n)&&i.pElem.setAttribute("stroke-opacity",t.o.v),(t.w._mdf||n)&&(i.pElem.setAttribute("stroke-width",t.w.v),i.msElem&&i.msElem.setAttribute("stroke-width",t.w.v))}return{createRenderFunction:function(e){switch(e.ty){case"fl":return o;case"gf":return a;case"gs":return s;case"st":return l;case"sh":case"el":case"rc":case"sr":return r;case"tr":return n;case"no":return i;default:return null}}}}();function SVGShapeElement(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(e,t,n),this.prevViewData=[]}function LetterProps(e,t,n,i,r,o){this.o=e,this.sw=t,this.sc=n,this.fc=i,this.m=r,this.p=o,this._mdf={o:!0,sw:!!t,sc:!!n,fc:!!i,m:!0,p:!0}}function TextProperty(e,t){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,t.d&&t.d.sid&&(t.d=e.globalData.slotManager.getProp(t.d)),this.data=t,this.elem=e,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var e,t,n,i,r=this.shapes.length,o=this.stylesList.length,s=[],a=!1;for(n=0;n<o;n+=1){for(i=this.stylesList[n],a=!1,s.length=0,e=0;e<r;e+=1)-1!==(t=this.shapes[e]).styles.indexOf(i)&&(s.push(t),a=t._isAnimated||a);s.length>1&&a&&this.setShapesAsAnimated(s)}},SVGShapeElement.prototype.setShapesAsAnimated=function(e){var t,n=e.length;for(t=0;t<n;t+=1)e[t].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(e,t){var n,i=new SVGStyleData(e,t),r=i.pElem;return"st"===e.ty?n=new SVGStrokeStyleData(this,e,i):"fl"===e.ty?n=new SVGFillStyleData(this,e,i):"gf"===e.ty||"gs"===e.ty?(n=new("gf"===e.ty?SVGGradientFillStyleData:SVGGradientStrokeStyleData)(this,e,i),this.globalData.defs.appendChild(n.gf),n.maskId&&(this.globalData.defs.appendChild(n.ms),this.globalData.defs.appendChild(n.of),r.setAttribute("mask","url("+getLocationHref()+"#"+n.maskId+")"))):"no"===e.ty&&(n=new SVGNoStyleData(this,e,i)),"st"!==e.ty&&"gs"!==e.ty||(r.setAttribute("stroke-linecap",lineCapEnum[e.lc||2]),r.setAttribute("stroke-linejoin",lineJoinEnum[e.lj||2]),r.setAttribute("fill-opacity","0"),1===e.lj&&r.setAttribute("stroke-miterlimit",e.ml)),2===e.r&&r.setAttribute("fill-rule","evenodd"),e.ln&&r.setAttribute("id",e.ln),e.cl&&r.setAttribute("class",e.cl),e.bm&&(r.style["mix-blend-mode"]=getBlendMode(e.bm)),this.stylesList.push(i),this.addToAnimatedContents(e,n),n},SVGShapeElement.prototype.createGroupElement=function(e){var t=new ShapeGroupData;return e.ln&&t.gr.setAttribute("id",e.ln),e.cl&&t.gr.setAttribute("class",e.cl),e.bm&&(t.gr.style["mix-blend-mode"]=getBlendMode(e.bm)),t},SVGShapeElement.prototype.createTransformElement=function(e,t){var n=TransformPropertyFactory.getTransformProperty(this,e,this),i=new SVGTransformData(n,n.o,t);return this.addToAnimatedContents(e,i),i},SVGShapeElement.prototype.createShapeElement=function(e,t,n){var i=4;"rc"===e.ty?i=5:"el"===e.ty?i=6:"sr"===e.ty&&(i=7);var r=new SVGShapeData(t,n,ShapePropertyFactory.getShapeProp(this,e,i,this));return this.shapes.push(r),this.addShapeToModifiers(r),this.addToAnimatedContents(e,r),r},SVGShapeElement.prototype.addToAnimatedContents=function(e,t){for(var n=0,i=this.animatedContents.length;n<i;){if(this.animatedContents[n].element===t)return;n+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(e),element:t,data:e})},SVGShapeElement.prototype.setElementStyles=function(e){var t,n=e.styles,i=this.stylesList.length;for(t=0;t<i;t+=1)this.stylesList[t].closed||n.push(this.stylesList[t])},SVGShapeElement.prototype.reloadShapes=function(){var e;this._isFirstFrame=!0;var t=this.itemsData.length;for(e=0;e<t;e+=1)this.prevViewData[e]=this.itemsData[e];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),t=this.dynamicProperties.length,e=0;e<t;e+=1)this.dynamicProperties[e].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(e,t,n,i,r,o,s){var a,l,c,u,h,d,p=[].concat(o),f=e.length-1,m=[],g=[];for(a=f;a>=0;a-=1){if((d=this.searchProcessedElement(e[a]))?t[a]=n[d-1]:e[a]._render=s,"fl"===e[a].ty||"st"===e[a].ty||"gf"===e[a].ty||"gs"===e[a].ty||"no"===e[a].ty)d?t[a].style.closed=!1:t[a]=this.createStyleElement(e[a],r),e[a]._render&&t[a].style.pElem.parentNode!==i&&i.appendChild(t[a].style.pElem),m.push(t[a].style);else if("gr"===e[a].ty){if(d)for(c=t[a].it.length,l=0;l<c;l+=1)t[a].prevViewData[l]=t[a].it[l];else t[a]=this.createGroupElement(e[a]);this.searchShapes(e[a].it,t[a].it,t[a].prevViewData,t[a].gr,r+1,p,s),e[a]._render&&t[a].gr.parentNode!==i&&i.appendChild(t[a].gr)}else"tr"===e[a].ty?(d||(t[a]=this.createTransformElement(e[a],i)),u=t[a].transform,p.push(u)):"sh"===e[a].ty||"rc"===e[a].ty||"el"===e[a].ty||"sr"===e[a].ty?(d||(t[a]=this.createShapeElement(e[a],p,r)),this.setElementStyles(t[a])):"tm"===e[a].ty||"rd"===e[a].ty||"ms"===e[a].ty||"pb"===e[a].ty||"zz"===e[a].ty||"op"===e[a].ty?(d?(h=t[a]).closed=!1:((h=ShapeModifiers.getModifier(e[a].ty)).init(this,e[a]),t[a]=h,this.shapeModifiers.push(h)),g.push(h)):"rp"===e[a].ty&&(d?(h=t[a]).closed=!0:(h=ShapeModifiers.getModifier(e[a].ty),t[a]=h,h.init(this,e,a,t),this.shapeModifiers.push(h),s=!1),g.push(h));this.addProcessedElement(e[a],a+1)}for(f=m.length,a=0;a<f;a+=1)m[a].closed=!0;for(f=g.length,a=0;a<f;a+=1)g[a].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){var e;this.renderModifiers();var t=this.stylesList.length;for(e=0;e<t;e+=1)this.stylesList[e].reset();for(this.renderShape(),e=0;e<t;e+=1)(this.stylesList[e]._mdf||this._isFirstFrame)&&(this.stylesList[e].msElem&&(this.stylesList[e].msElem.setAttribute("d",this.stylesList[e].d),this.stylesList[e].d="M0 0"+this.stylesList[e].d),this.stylesList[e].pElem.setAttribute("d",this.stylesList[e].d||"M0 0"))},SVGShapeElement.prototype.renderShape=function(){var e,t,n=this.animatedContents.length;for(e=0;e<n;e+=1)t=this.animatedContents[e],(this._isFirstFrame||t.element._isAnimated)&&!0!==t.data&&t.fn(t.data,t.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null},LetterProps.prototype.update=function(e,t,n,i,r,o){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var s=!1;return this.o!==e&&(this.o=e,this._mdf.o=!0,s=!0),this.sw!==t&&(this.sw=t,this._mdf.sw=!0,s=!0),this.sc!==n&&(this.sc=n,this._mdf.sc=!0,s=!0),this.fc!==i&&(this.fc=i,this._mdf.fc=!0,s=!0),this.m!==r&&(this.m=r,this._mdf.m=!0,s=!0),!o.length||this.p[0]===o[0]&&this.p[1]===o[1]&&this.p[4]===o[4]&&this.p[5]===o[5]&&this.p[12]===o[12]&&this.p[13]===o[13]||(this.p=o,this._mdf.p=!0,s=!0),s},TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},TextProperty.prototype.setCurrentData=function(e){e.__complete||this.completeTextData(e),this.currentData=e,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=this.data.d.k.length>1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(e){this.effectsSequence.push(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(e){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||e){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var t=this.currentData,n=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var i;this.lock=!0,this._mdf=!1;var r=this.effectsSequence.length,o=e||this.data.d.k[this.keysIndex].s;for(i=0;i<r;i+=1)o=n!==this.keysIndex?this.effectsSequence[i](o,o.t):this.effectsSequence[i](this.currentData,o.t);t!==o&&this.setCurrentData(o),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}}},TextProperty.prototype.getKeyframeValue=function(){for(var e=this.data.d.k,t=this.elem.comp.renderedFrame,n=0,i=e.length;n<=i-1&&!(n===i-1||e[n+1].t>t);)n+=1;return this.keysIndex!==n&&(this.keysIndex=n),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(e){for(var t,n,i=[],r=0,o=e.length,s=!1,a=!1,l="";r<o;)s=a,a=!1,t=e.charCodeAt(r),l=e.charAt(r),FontManager.isCombinedCharacter(t)?s=!0:t>=55296&&t<=56319?FontManager.isRegionalFlag(e,r)?l=e.substr(r,14):(n=e.charCodeAt(r+1))>=56320&&n<=57343&&(FontManager.isModifier(t,n)?(l=e.substr(r,2),s=!0):l=FontManager.isFlagEmoji(e.substr(r,4))?e.substr(r,4):e.substr(r,2)):t>56319?(n=e.charCodeAt(r+1),FontManager.isVariationSelector(t)&&(s=!0)):FontManager.isZeroWidthJoiner(t)&&(s=!0,a=!0),s?(i[i.length-1]+=l,s=!1):i.push(l),r+=l.length;return i},TextProperty.prototype.completeTextData=function(e){e.__complete=!0;var t,n,i,r,o,s,a,l=this.elem.globalData.fontManager,c=this.data,u=[],h=0,d=c.m.g,p=0,f=0,m=0,g=[],v=0,b=0,y=l.getFontByName(e.f),A=0,S=getFontProperties(y);e.fWeight=S.weight,e.fStyle=S.style,e.finalSize=e.s,e.finalText=this.buildFinalText(e.t),n=e.finalText.length,e.finalLineHeight=e.lh;var x,E=e.tr/1e3*e.finalSize;if(e.sz)for(var w,_,M=!0,P=e.sz[0],T=e.sz[1];M;){w=0,v=0,n=(_=this.buildFinalText(e.t)).length,E=e.tr/1e3*e.finalSize;var C=-1;for(t=0;t<n;t+=1)x=_[t].charCodeAt(0),i=!1," "===_[t]?C=t:13!==x&&3!==x||(v=0,i=!0,w+=e.finalLineHeight||1.2*e.finalSize),l.chars?(a=l.getCharData(_[t],y.fStyle,y.fFamily),A=i?0:a.w*e.finalSize/100):A=l.measureText(_[t],e.f,e.finalSize),v+A>P&&" "!==_[t]?(-1===C?n+=1:t=C,w+=e.finalLineHeight||1.2*e.finalSize,_.splice(t,C===t?1:0,"\r"),C=-1,v=0):(v+=A,v+=E);w+=y.ascent*e.finalSize/100,this.canResize&&e.finalSize>this.minimumFontSize&&T<w?(e.finalSize-=1,e.finalLineHeight=e.finalSize*e.lh/e.s):(e.finalText=_,n=e.finalText.length,M=!1)}v=-E,A=0;var I,k=0;for(t=0;t<n;t+=1)if(i=!1,13===(x=(I=e.finalText[t]).charCodeAt(0))||3===x?(k=0,g.push(v),b=v>b?v:b,v=-2*E,r="",i=!0,m+=1):r=I,l.chars?(a=l.getCharData(I,y.fStyle,l.getFontByName(e.f).fFamily),A=i?0:a.w*e.finalSize/100):A=l.measureText(r,e.f,e.finalSize)," "===I?k+=A+E:(v+=A+E+k,k=0),u.push({l:A,an:A,add:p,n:i,anIndexes:[],val:r,line:m,animatorJustifyOffset:0}),2==d){if(p+=A,""===r||" "===r||t===n-1){for(""!==r&&" "!==r||(p-=A);f<=t;)u[f].an=p,u[f].ind=h,u[f].extra=A,f+=1;h+=1,p=0}}else if(3==d){if(p+=A,""===r||t===n-1){for(""===r&&(p-=A);f<=t;)u[f].an=p,u[f].ind=h,u[f].extra=A,f+=1;p=0,h+=1}}else u[h].ind=h,u[h].extra=0,h+=1;if(e.l=u,b=v>b?v:b,g.push(v),e.sz)e.boxWidth=e.sz[0],e.justifyOffset=0;else switch(e.boxWidth=b,e.j){case 1:e.justifyOffset=-e.boxWidth;break;case 2:e.justifyOffset=-e.boxWidth/2;break;default:e.justifyOffset=0}e.lineWidths=g;var B,R,L,D,N=c.a;s=N.length;var F=[];for(o=0;o<s;o+=1){for((B=N[o]).a.sc&&(e.strokeColorAnim=!0),B.a.sw&&(e.strokeWidthAnim=!0),(B.a.fc||B.a.fh||B.a.fs||B.a.fb)&&(e.fillColorAnim=!0),D=0,L=B.s.b,t=0;t<n;t+=1)(R=u[t]).anIndexes[o]=D,(1==L&&""!==R.val||2==L&&""!==R.val&&" "!==R.val||3==L&&(R.n||" "==R.val||t==n-1)||4==L&&(R.n||t==n-1))&&(1===B.s.rn&&F.push(D),D+=1);c.a[o].s.totalChars=D;var O,V=-1;if(1===B.s.rn)for(t=0;t<n;t+=1)V!=(R=u[t]).anIndexes[o]&&(V=R.anIndexes[o],O=F.splice(Math.floor(Math.random()*F.length),1)[0]),R.anIndexes[o]=O}e.yOffset=e.finalLineHeight||1.2*e.finalSize,e.ls=e.ls||0,e.ascent=y.ascent*e.finalSize/100},TextProperty.prototype.updateDocumentData=function(e,t){t=void 0===t?this.keysIndex:t;var n=this.copyData({},this.data.d.k[t].s);n=this.copyData(n,e),this.data.d.k[t].s=n,this.recalculate(t),this.setCurrentData(n),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(e){var t=this.data.d.k[e].s;t.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(t)},TextProperty.prototype.canResizeFont=function(e){this.canResize=e,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(e){this.minimumFontSize=Math.floor(e)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var e=Math.max,t=Math.min,n=Math.floor;function i(e,t){this._currentTextLength=-1,this.k=!1,this.data=t,this.elem=e,this.comp=e.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(e),this.s=PropertyFactory.getProp(e,t.s||{k:0},0,0,this),this.e="e"in t?PropertyFactory.getProp(e,t.e,0,0,this):{v:100},this.o=PropertyFactory.getProp(e,t.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(e,t.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(e,t.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(e,t.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(e,t.a,0,.01,this),this.dynamicProperties.length||this.getValue()}return i.prototype={getMult:function(i){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var r=0,o=0,s=1,a=1;this.ne.v>0?r=this.ne.v/100:o=-this.ne.v/100,this.xe.v>0?s=1-this.xe.v/100:a=1+this.xe.v/100;var l=BezierFactory.getBezierEasing(r,o,s,a).get,c=0,u=this.finalS,h=this.finalE,d=this.data.sh;if(2===d)c=l(c=h===u?i>=h?1:0:e(0,t(.5/(h-u)+(i-u)/(h-u),1)));else if(3===d)c=l(c=h===u?i>=h?0:1:1-e(0,t(.5/(h-u)+(i-u)/(h-u),1)));else if(4===d)h===u?c=0:(c=e(0,t(.5/(h-u)+(i-u)/(h-u),1)))<.5?c*=2:c=1-2*(c-.5),c=l(c);else if(5===d){if(h===u)c=0;else{var p=h-u,f=-p/2+(i=t(e(0,i+.5-u),h-u)),m=p/2;c=Math.sqrt(1-f*f/(m*m))}c=l(c)}else 6===d?(h===u?c=0:(i=t(e(0,i+.5-u),h-u),c=(1+Math.cos(Math.PI+2*Math.PI*i/(h-u)))/2),c=l(c)):(i>=n(u)&&(c=e(0,t(i-u<0?t(h,1)-(u-i):h-i,1))),c=l(c));if(100!==this.sm.v){var g=.01*this.sm.v;0===g&&(g=1e-8);var v=.5-.5*g;c<v?c=0:(c=(c-v)/g)>1&&(c=1)}return c*this.a.v},getValue:function(e){this.iterateDynamicProperties(),this._mdf=e||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,e&&2===this.data.r&&(this.e.v=this._currentTextLength);var t=2===this.data.r?1:100/this.data.totalChars,n=this.o.v/t,i=this.s.v/t+n,r=this.e.v/t+n;if(i>r){var o=i;i=r,r=o}this.finalS=i,this.finalE=r}},extendPrototype([DynamicPropertyContainer],i),{getTextSelectorProp:function(e,t,n){return new i(e,t)}}}();function TextAnimatorDataProperty(e,t,n){var i={propType:!1},r=PropertyFactory.getProp,o=t.a;this.a={r:o.r?r(e,o.r,0,degToRads,n):i,rx:o.rx?r(e,o.rx,0,degToRads,n):i,ry:o.ry?r(e,o.ry,0,degToRads,n):i,sk:o.sk?r(e,o.sk,0,degToRads,n):i,sa:o.sa?r(e,o.sa,0,degToRads,n):i,s:o.s?r(e,o.s,1,.01,n):i,a:o.a?r(e,o.a,1,0,n):i,o:o.o?r(e,o.o,0,.01,n):i,p:o.p?r(e,o.p,1,0,n):i,sw:o.sw?r(e,o.sw,0,0,n):i,sc:o.sc?r(e,o.sc,1,0,n):i,fc:o.fc?r(e,o.fc,1,0,n):i,fh:o.fh?r(e,o.fh,0,0,n):i,fs:o.fs?r(e,o.fs,0,.01,n):i,fb:o.fb?r(e,o.fb,0,.01,n):i,t:o.t?r(e,o.t,0,0,n):i},this.s=TextSelectorProp.getTextSelectorProp(e,t.s,n),this.s.t=t.s.t}function TextAnimatorProperty(e,t,n){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=e,this._renderType=t,this._elem=n,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(n)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var e,t,n=this._textData.a.length,i=PropertyFactory.getProp;for(e=0;e<n;e+=1)t=this._textData.a[e],this._animatorsData[e]=new TextAnimatorDataProperty(this._elem,t,this);this._textData.p&&"m"in this._textData.p?(this._pathData={a:i(this._elem,this._textData.p.a,0,0,this),f:i(this._elem,this._textData.p.f,0,0,this),l:i(this._elem,this._textData.p.l,0,0,this),r:i(this._elem,this._textData.p.r,0,0,this),p:i(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=i(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(e,t){if(this.lettersChangedFlag=t,this._mdf||this._isFirstFrame||t||this._hasMaskedPath&&this._pathData.m._mdf){this._isFirstFrame=!1;var n,i,r,o,s,a,l,c,u,h,d,p,f,m,g,v,b,y,A,S=this._moreOptions.alignment.v,x=this._animatorsData,E=this._textData,w=this.mHelper,_=this._renderType,M=this.renderedLetters.length,P=e.l;if(this._hasMaskedPath){if(A=this._pathData.m,!this._pathData.n||this._pathData._mdf){var T,C=A.v;for(this._pathData.r.v&&(C=C.reverse()),s={tLength:0,segments:[]},o=C._length-1,v=0,r=0;r<o;r+=1)T=bez.buildBezierData(C.v[r],C.v[r+1],[C.o[r][0]-C.v[r][0],C.o[r][1]-C.v[r][1]],[C.i[r+1][0]-C.v[r+1][0],C.i[r+1][1]-C.v[r+1][1]]),s.tLength+=T.segmentLength,s.segments.push(T),v+=T.segmentLength;r=o,A.v.c&&(T=bez.buildBezierData(C.v[r],C.v[0],[C.o[r][0]-C.v[r][0],C.o[r][1]-C.v[r][1]],[C.i[0][0]-C.v[0][0],C.i[0][1]-C.v[0][1]]),s.tLength+=T.segmentLength,s.segments.push(T),v+=T.segmentLength),this._pathData.pi=s}if(s=this._pathData.pi,a=this._pathData.f.v,d=0,h=1,c=0,u=!0,m=s.segments,a<0&&A.v.c)for(s.tLength<Math.abs(a)&&(a=-Math.abs(a)%s.tLength),h=(f=m[d=m.length-1].points).length-1;a<0;)a+=f[h].partialLength,(h-=1)<0&&(h=(f=m[d-=1].points).length-1);p=(f=m[d].points)[h-1],g=(l=f[h]).partialLength}o=P.length,n=0,i=0;var I,k,B,R,L,D=1.2*e.finalSize*.714,N=!0;B=x.length;var F,O,V,G,z,H,U,j,Y,W,Q,$,X=-1,K=a,q=d,J=h,Z=-1,ee="",te=this.defaultPropsArray;if(2===e.j||1===e.j){var ne=0,ie=0,re=2===e.j?-.5:-1,oe=0,se=!0;for(r=0;r<o;r+=1)if(P[r].n){for(ne&&(ne+=ie);oe<r;)P[oe].animatorJustifyOffset=ne,oe+=1;ne=0,se=!0}else{for(k=0;k<B;k+=1)(I=x[k].a).t.propType&&(se&&2===e.j&&(ie+=I.t.v*re),(L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars)).length?ne+=I.t.v*L[0]*re:ne+=I.t.v*L*re);se=!1}for(ne&&(ne+=ie);oe<r;)P[oe].animatorJustifyOffset=ne,oe+=1}for(r=0;r<o;r+=1){if(w.reset(),G=1,P[r].n)n=0,i+=e.yOffset,i+=N?1:0,a=K,N=!1,this._hasMaskedPath&&(h=J,p=(f=m[d=q].points)[h-1],g=(l=f[h]).partialLength,c=0),ee="",Q="",Y="",$="",te=this.defaultPropsArray;else{if(this._hasMaskedPath){if(Z!==P[r].line){switch(e.j){case 1:a+=v-e.lineWidths[P[r].line];break;case 2:a+=(v-e.lineWidths[P[r].line])/2}Z=P[r].line}X!==P[r].ind&&(P[X]&&(a+=P[X].extra),a+=P[r].an/2,X=P[r].ind),a+=S[0]*P[r].an*.005;var ae=0;for(k=0;k<B;k+=1)(I=x[k].a).p.propType&&((L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars)).length?ae+=I.p.v[0]*L[0]:ae+=I.p.v[0]*L),I.a.propType&&((L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars)).length?ae+=I.a.v[0]*L[0]:ae+=I.a.v[0]*L);for(u=!0,this._pathData.a.v&&(a=.5*P[0].an+(v-this._pathData.f.v-.5*P[0].an-.5*P[P.length-1].an)*X/(o-1),a+=this._pathData.f.v);u;)c+g>=a+ae||!f?(b=(a+ae-c)/l.partialLength,O=p.point[0]+(l.point[0]-p.point[0])*b,V=p.point[1]+(l.point[1]-p.point[1])*b,w.translate(-S[0]*P[r].an*.005,-S[1]*D*.01),u=!1):f&&(c+=l.partialLength,(h+=1)>=f.length&&(h=0,m[d+=1]?f=m[d].points:A.v.c?(h=0,f=m[d=0].points):(c-=l.partialLength,f=null)),f&&(p=l,g=(l=f[h]).partialLength));F=P[r].an/2-P[r].add,w.translate(-F,0,0)}else F=P[r].an/2-P[r].add,w.translate(-F,0,0),w.translate(-S[0]*P[r].an*.005,-S[1]*D*.01,0);for(k=0;k<B;k+=1)(I=x[k].a).t.propType&&(L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars),0===n&&0===e.j||(this._hasMaskedPath?L.length?a+=I.t.v*L[0]:a+=I.t.v*L:L.length?n+=I.t.v*L[0]:n+=I.t.v*L));for(e.strokeWidthAnim&&(H=e.sw||0),e.strokeColorAnim&&(z=e.sc?[e.sc[0],e.sc[1],e.sc[2]]:[0,0,0]),e.fillColorAnim&&e.fc&&(U=[e.fc[0],e.fc[1],e.fc[2]]),k=0;k<B;k+=1)(I=x[k].a).a.propType&&((L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars)).length?w.translate(-I.a.v[0]*L[0],-I.a.v[1]*L[1],I.a.v[2]*L[2]):w.translate(-I.a.v[0]*L,-I.a.v[1]*L,I.a.v[2]*L));for(k=0;k<B;k+=1)(I=x[k].a).s.propType&&((L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars)).length?w.scale(1+(I.s.v[0]-1)*L[0],1+(I.s.v[1]-1)*L[1],1):w.scale(1+(I.s.v[0]-1)*L,1+(I.s.v[1]-1)*L,1));for(k=0;k<B;k+=1){if(I=x[k].a,L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars),I.sk.propType&&(L.length?w.skewFromAxis(-I.sk.v*L[0],I.sa.v*L[1]):w.skewFromAxis(-I.sk.v*L,I.sa.v*L)),I.r.propType&&(L.length?w.rotateZ(-I.r.v*L[2]):w.rotateZ(-I.r.v*L)),I.ry.propType&&(L.length?w.rotateY(I.ry.v*L[1]):w.rotateY(I.ry.v*L)),I.rx.propType&&(L.length?w.rotateX(I.rx.v*L[0]):w.rotateX(I.rx.v*L)),I.o.propType&&(L.length?G+=(I.o.v*L[0]-G)*L[0]:G+=(I.o.v*L-G)*L),e.strokeWidthAnim&&I.sw.propType&&(L.length?H+=I.sw.v*L[0]:H+=I.sw.v*L),e.strokeColorAnim&&I.sc.propType)for(j=0;j<3;j+=1)L.length?z[j]+=(I.sc.v[j]-z[j])*L[0]:z[j]+=(I.sc.v[j]-z[j])*L;if(e.fillColorAnim&&e.fc){if(I.fc.propType)for(j=0;j<3;j+=1)L.length?U[j]+=(I.fc.v[j]-U[j])*L[0]:U[j]+=(I.fc.v[j]-U[j])*L;I.fh.propType&&(U=L.length?addHueToRGB(U,I.fh.v*L[0]):addHueToRGB(U,I.fh.v*L)),I.fs.propType&&(U=L.length?addSaturationToRGB(U,I.fs.v*L[0]):addSaturationToRGB(U,I.fs.v*L)),I.fb.propType&&(U=L.length?addBrightnessToRGB(U,I.fb.v*L[0]):addBrightnessToRGB(U,I.fb.v*L))}}for(k=0;k<B;k+=1)(I=x[k].a).p.propType&&(L=x[k].s.getMult(P[r].anIndexes[k],E.a[k].s.totalChars),this._hasMaskedPath?L.length?w.translate(0,I.p.v[1]*L[0],-I.p.v[2]*L[1]):w.translate(0,I.p.v[1]*L,-I.p.v[2]*L):L.length?w.translate(I.p.v[0]*L[0],I.p.v[1]*L[1],-I.p.v[2]*L[2]):w.translate(I.p.v[0]*L,I.p.v[1]*L,-I.p.v[2]*L));if(e.strokeWidthAnim&&(Y=H<0?0:H),e.strokeColorAnim&&(W="rgb("+Math.round(255*z[0])+","+Math.round(255*z[1])+","+Math.round(255*z[2])+")"),e.fillColorAnim&&e.fc&&(Q="rgb("+Math.round(255*U[0])+","+Math.round(255*U[1])+","+Math.round(255*U[2])+")"),this._hasMaskedPath){if(w.translate(0,-e.ls),w.translate(0,S[1]*D*.01+i,0),this._pathData.p.v){y=(l.point[1]-p.point[1])/(l.point[0]-p.point[0]);var le=180*Math.atan(y)/Math.PI;l.point[0]<p.point[0]&&(le+=180),w.rotate(-le*Math.PI/180)}w.translate(O,V,0),a-=S[0]*P[r].an*.005,P[r+1]&&X!==P[r+1].ind&&(a+=P[r].an/2,a+=.001*e.tr*e.finalSize)}else{switch(w.translate(n,i,0),e.ps&&w.translate(e.ps[0],e.ps[1]+e.ascent,0),e.j){case 1:w.translate(P[r].animatorJustifyOffset+e.justifyOffset+(e.boxWidth-e.lineWidths[P[r].line]),0,0);break;case 2:w.translate(P[r].animatorJustifyOffset+e.justifyOffset+(e.boxWidth-e.lineWidths[P[r].line])/2,0,0)}w.translate(0,-e.ls),w.translate(F,0,0),w.translate(S[0]*P[r].an*.005,S[1]*D*.01,0),n+=P[r].l+.001*e.tr*e.finalSize}"html"===_?ee=w.toCSS():"svg"===_?ee=w.to2dCSS():te=[w.props[0],w.props[1],w.props[2],w.props[3],w.props[4],w.props[5],w.props[6],w.props[7],w.props[8],w.props[9],w.props[10],w.props[11],w.props[12],w.props[13],w.props[14],w.props[15]],$=G}M<=r?(R=new LetterProps($,Y,W,Q,ee,te),this.renderedLetters.push(R),M+=1,this.lettersChangedFlag=!0):(R=this.renderedLetters[r],this.lettersChangedFlag=R.update($,Y,W,Q,ee,te)||this.lettersChangedFlag)}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty),ITextElement.prototype.initElement=function(e,t,n){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(e,t,n),this.textProperty=new TextProperty(this,e.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(e.t,this.renderType,this),this.initTransform(e,t,n),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(e){this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange)},ITextElement.prototype.createPathShape=function(e,t){var n,i,r=t.length,o="";for(n=0;n<r;n+=1)"sh"===t[n].ty&&(i=t[n].ks.k,o+=buildShapeString(i,i.i.length,!0,e));return o},ITextElement.prototype.updateDocumentData=function(e,t){this.textProperty.updateDocumentData(e,t)},ITextElement.prototype.canResizeFont=function(e){this.textProperty.canResizeFont(e)},ITextElement.prototype.setMinimumFontSize=function(e){this.textProperty.setMinimumFontSize(e)},ITextElement.prototype.applyTextPropertiesToMatrix=function(e,t,n,i,r){switch(e.ps&&t.translate(e.ps[0],e.ps[1]+e.ascent,0),t.translate(0,-e.ls,0),e.j){case 1:t.translate(e.justifyOffset+(e.boxWidth-e.lineWidths[n]),0,0);break;case 2:t.translate(e.justifyOffset+(e.boxWidth-e.lineWidths[n])/2,0,0)}t.translate(i,r,0)},ITextElement.prototype.buildColor=function(e){return"rgb("+Math.round(255*e[0])+","+Math.round(255*e[1])+","+Math.round(255*e[2])+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)};var emptyShapeData={shapes:[]};function SVGTextLottieElement(e,t,n){this.textSpans=[],this.renderType="svg",this.initElement(e,t,n)}function ISolidElement(e,t,n){this.initElement(e,t,n)}function NullElement(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initFrame(),this.initTransform(e,t,n),this.initHierarchy()}function SVGRendererBase(){}function ICompElement(){}function SVGCompElement(e,t,n){this.layers=e.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(e,t,n),this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0}}function SVGRenderer(e,t){this.animationItem=e,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var n="";if(t&&t.title){var i=createNS("title"),r=createElementID();i.setAttribute("id",r),i.textContent=t.title,this.svgElement.appendChild(i),n+=r}if(t&&t.description){var o=createNS("desc"),s=createElementID();o.setAttribute("id",s),o.textContent=t.description,this.svgElement.appendChild(o),n+=" "+s}n&&this.svgElement.setAttribute("aria-labelledby",n);var a=createNS("defs");this.svgElement.appendChild(a);var l=createNS("g");this.svgElement.appendChild(l),this.layerElement=l,this.renderConfig={preserveAspectRatio:t&&t.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:t&&t.contentVisibility||"visible",progressiveLoad:t&&t.progressiveLoad||!1,hideOnTransparent:!(t&&!1===t.hideOnTransparent),viewBoxOnly:t&&t.viewBoxOnly||!1,viewBoxSize:t&&t.viewBoxSize||!1,className:t&&t.className||"",id:t&&t.id||"",focusable:t&&t.focusable,filterSize:{width:t&&t.filterSize&&t.filterSize.width||"100%",height:t&&t.filterSize&&t.filterSize.height||"100%",x:t&&t.filterSize&&t.filterSize.x||"0%",y:t&&t.filterSize&&t.filterSize.y||"0%"},width:t&&t.width,height:t&&t.height,runExpressions:!t||void 0===t.runExpressions||t.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:a,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS("text"))},SVGTextLottieElement.prototype.buildTextContents=function(e){for(var t=0,n=e.length,i=[],r="";t<n;)e[t]===String.fromCharCode(13)||e[t]===String.fromCharCode(3)?(i.push(r),r=""):r+=e[t],t+=1;return i.push(r),i},SVGTextLottieElement.prototype.buildShapeData=function(e,t){if(e.shapes&&e.shapes.length){var n=e.shapes[0];if(n.it){var i=n.it[n.it.length-1];i.s&&(i.s.k[0]=t,i.s.k[1]=t)}}return e},SVGTextLottieElement.prototype.buildNewText=function(){var e,t;this.addDynamicProperty(this);var n=this.textProperty.currentData;this.renderedLetters=createSizedArray(n?n.l.length:0),n.fc?this.layerElement.setAttribute("fill",this.buildColor(n.fc)):this.layerElement.setAttribute("fill","rgba(0,0,0,0)"),n.sc&&(this.layerElement.setAttribute("stroke",this.buildColor(n.sc)),this.layerElement.setAttribute("stroke-width",n.sw)),this.layerElement.setAttribute("font-size",n.finalSize);var i=this.globalData.fontManager.getFontByName(n.f);if(i.fClass)this.layerElement.setAttribute("class",i.fClass);else{this.layerElement.setAttribute("font-family",i.fFamily);var r=n.fWeight,o=n.fStyle;this.layerElement.setAttribute("font-style",o),this.layerElement.setAttribute("font-weight",r)}this.layerElement.setAttribute("aria-label",n.t);var s,a=n.l||[],l=!!this.globalData.fontManager.chars;t=a.length;var c=this.mHelper,u=this.data.singleShape,h=0,d=0,p=!0,f=.001*n.tr*n.finalSize;if(!u||l||n.sz){var m,g=this.textSpans.length;for(e=0;e<t;e+=1){if(this.textSpans[e]||(this.textSpans[e]={span:null,childSpan:null,glyph:null}),!l||!u||0===e){if(s=g>e?this.textSpans[e].span:createNS(l?"g":"text"),g<=e){if(s.setAttribute("stroke-linecap","butt"),s.setAttribute("stroke-linejoin","round"),s.setAttribute("stroke-miterlimit","4"),this.textSpans[e].span=s,l){var v=createNS("g");s.appendChild(v),this.textSpans[e].childSpan=v}this.textSpans[e].span=s,this.layerElement.appendChild(s)}s.style.display="inherit"}if(c.reset(),u&&(a[e].n&&(h=-f,d+=n.yOffset,d+=p?1:0,p=!1),this.applyTextPropertiesToMatrix(n,c,a[e].line,h,d),h+=a[e].l||0,h+=f),l){var b;if(1===(m=this.globalData.fontManager.getCharData(n.finalText[e],i.fStyle,this.globalData.fontManager.getFontByName(n.f).fFamily)).t)b=new SVGCompElement(m.data,this.globalData,this);else{var y=emptyShapeData;m.data&&m.data.shapes&&(y=this.buildShapeData(m.data,n.finalSize)),b=new SVGShapeElement(y,this.globalData,this)}if(this.textSpans[e].glyph){var A=this.textSpans[e].glyph;this.textSpans[e].childSpan.removeChild(A.layerElement),A.destroy()}this.textSpans[e].glyph=b,b._debug=!0,b.prepareFrame(0),b.renderFrame(),this.textSpans[e].childSpan.appendChild(b.layerElement),1===m.t&&this.textSpans[e].childSpan.setAttribute("transform","scale("+n.finalSize/100+","+n.finalSize/100+")")}else u&&s.setAttribute("transform","translate("+c.props[12]+","+c.props[13]+")"),s.textContent=a[e].val,s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}u&&s&&s.setAttribute("d","")}else{var S=this.textContainer,x="start";switch(n.j){case 1:x="end";break;case 2:x="middle";break;default:x="start"}S.setAttribute("text-anchor",x),S.setAttribute("letter-spacing",f);var E=this.buildTextContents(n.finalText);for(t=E.length,d=n.ps?n.ps[1]+n.ascent:0,e=0;e<t;e+=1)(s=this.textSpans[e].span||createNS("tspan")).textContent=E[e],s.setAttribute("x",0),s.setAttribute("y",d),s.style.display="inherit",S.appendChild(s),this.textSpans[e]||(this.textSpans[e]={span:null,glyph:null}),this.textSpans[e].span=s,d+=n.finalLineHeight;this.layerElement.appendChild(S)}for(;e<this.textSpans.length;)this.textSpans[e].span.style.display="none",e+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var e=this.layerElement.getBBox();this.bbox={top:e.y,left:e.x,width:e.width,height:e.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var e,t,n=this.textSpans.length;for(this.renderedFrame=this.comp.renderedFrame,e=0;e<n;e+=1)(t=this.textSpans[e].glyph)&&(t.prepareFrame(this.comp.renderedFrame-this.data.st),t._mdf&&(this._mdf=!0))},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),(!this.data.singleShape||this._mdf)&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){var e,t;this._sizeChanged=!0;var n,i,r,o=this.textAnimator.renderedLetters,s=this.textProperty.currentData.l;for(t=s.length,e=0;e<t;e+=1)s[e].n||(n=o[e],i=this.textSpans[e].span,(r=this.textSpans[e].glyph)&&r.renderFrame(),n._mdf.m&&i.setAttribute("transform",n.m),n._mdf.o&&i.setAttribute("opacity",n.o),n._mdf.sw&&i.setAttribute("stroke-width",n.sw),n._mdf.sc&&i.setAttribute("stroke",n.sc),n._mdf.fc&&i.setAttribute("fill",n.fc))}},extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var e=createNS("rect");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),e.setAttribute("fill",this.data.sc),this.layerElement.appendChild(e)},NullElement.prototype.prepareFrame=function(e){this.prepareProperties(e,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement),extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(e){return new NullElement(e,this.globalData,this)},SVGRendererBase.prototype.createShape=function(e){return new SVGShapeElement(e,this.globalData,this)},SVGRendererBase.prototype.createText=function(e){return new SVGTextLottieElement(e,this.globalData,this)},SVGRendererBase.prototype.createImage=function(e){return new IImageElement(e,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(e){return new ISolidElement(e,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(e){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+e.w+" "+e.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",e.w),this.svgElement.setAttribute("height",e.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility),this.renderConfig.width&&this.svgElement.setAttribute("width",this.renderConfig.width),this.renderConfig.height&&this.svgElement.setAttribute("height",this.renderConfig.height),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),void 0!==this.renderConfig.focusable&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var t=this.globalData.defs;this.setupGlobalData(e,t),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=e;var n=createNS("clipPath"),i=createNS("rect");i.setAttribute("width",e.w),i.setAttribute("height",e.h),i.setAttribute("x",0),i.setAttribute("y",0);var r=createElementID();n.setAttribute("id",r),n.appendChild(i),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+r+")"),t.appendChild(n),this.layers=e.layers,this.elements=createSizedArray(e.layers.length)},SVGRendererBase.prototype.destroy=function(){var e;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var t=this.layers?this.layers.length:0;for(e=0;e<t;e+=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(e){var t=0,n=this.layers.length;for(t=0;t<n;t+=1)if(this.layers[t].ind===e)return t;return-1},SVGRendererBase.prototype.buildItem=function(e){var t=this.elements;if(!t[e]&&99!==this.layers[e].ty){t[e]=!0;var n=this.createItem(this.layers[e]);if(t[e]=n,getExpressionsPlugin()&&(0===this.layers[e].ty&&this.globalData.projectInterface.registerComposition(n),n.initExpressions()),this.appendElementInPos(n,e),this.layers[e].tt){var i="tp"in this.layers[e]?this.findIndexByInd(this.layers[e].tp):e-1;if(-1===i)return;if(this.elements[i]&&!0!==this.elements[i]){var r=t[i].getMatte(this.layers[e].tt);n.setMatte(r)}else this.buildItem(i),this.addPendingElement(n)}}},SVGRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var e=this.pendingElements.pop();if(e.checkParenting(),e.data.tt)for(var t=0,n=this.elements.length;t<n;){if(this.elements[t]===e){var i="tp"in e.data?this.findIndexByInd(e.data.tp):t-1,r=this.elements[i].getMatte(this.layers[t].tt);e.setMatte(r);break}t+=1}}},SVGRendererBase.prototype.renderFrame=function(e){if(this.renderedFrame!==e&&!this.destroyed){var t;null===e?e=this.renderedFrame:this.renderedFrame=e,this.globalData.frameNum=e,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=e,this.globalData._mdf=!1;var n=this.layers.length;for(this.completeLayers||this.checkLayers(e),t=n-1;t>=0;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].prepareFrame(e-this.layers[t].st);if(this.globalData._mdf)for(t=0;t<n;t+=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(e,t){var n=e.getBaseElement();if(n){for(var i,r=0;r<t;)this.elements[r]&&!0!==this.elements[r]&&this.elements[r].getBaseElement()&&(i=this.elements[r].getBaseElement()),r+=1;i?this.layerElement.insertBefore(n,i):this.layerElement.appendChild(n)}},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initTransform(e,t,n),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),!this.data.xt&&t.progressiveLoad||this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(e){if(this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange),this.isInRange||this.data.xt){if(this.tm._placeholder)this.renderedFrame=e/this.data.sr;else{var t=this.tm.v;t===this.data.op&&(t=this.data.op-1),this.renderedFrame=t}var n,i=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),n=i-1;n>=0;n-=1)(this.completeLayers||this.elements[n])&&(this.elements[n].prepareFrame(this.renderedFrame-this.layers[n].st),this.elements[n]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var e,t=this.layers.length;for(e=0;e<t;e+=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},ICompElement.prototype.setElements=function(e){this.elements=e},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var e,t=this.layers.length;for(e=0;e<t;e+=1)this.elements[e]&&this.elements[e].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()},extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(e){return new SVGCompElement(e,this.globalData,this)},extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(e){return new SVGCompElement(e,this.globalData,this)},ShapeTransformManager.prototype={addTransformSequence:function(e){var t,n=e.length,i="_";for(t=0;t<n;t+=1)i+=e[t].transform.key+"_";var r=this.sequences[i];return r||(r={transforms:[].concat(e),finalTransform:new Matrix,_mdf:!1},this.sequences[i]=r,this.sequenceList.push(r)),r},processSequence:function(e,t){for(var n=0,i=e.transforms.length,r=t;n<i&&!t;){if(e.transforms[n].transform.mProps._mdf){r=!0;break}n+=1}if(r)for(e.finalTransform.reset(),n=i-1;n>=0;n-=1)e.finalTransform.multiply(e.transforms[n].transform.mProps.v);e._mdf=r},processSequences:function(e){var t,n=this.sequenceList.length;for(t=0;t<n;t+=1)this.processSequence(this.sequenceList[t],e)},getNewKey:function(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function(){var e="__lottie_element_luma_buffer",t=null,n=null,i=null;function r(){var r,o,s;t||(r=createNS("svg"),o=createNS("filter"),s=createNS("feColorMatrix"),o.setAttribute("id",e),s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),o.appendChild(s),r.appendChild(o),r.setAttribute("id",e+"_svg"),featureSupport.svgLumaHidden&&(r.style.display="none"),i=r,document.body.appendChild(i),t=createTag("canvas"),(n=t.getContext("2d")).filter="url(#"+e+")",n.fillStyle="rgba(0,0,0,0)",n.fillRect(0,0,1,1))}return{load:r,get:function(i){return t||r(),t.width=i.width,t.height=i.height,n.filter="url(#"+e+")",t}}};function createCanvas(e,t){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(e,t);var n=createTag("canvas");return n.width=e,n.height=t,n}var assetLoader={loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas:createCanvas},registeredEffects={};function CVEffects(e){var t,n,i=e.data.ef?e.data.ef.length:0;for(this.filters=[],t=0;t<i;t+=1){n=null;var r=e.data.ef[t].ty;registeredEffects[r]&&(n=new(0,registeredEffects[r].effect)(e.effectsManager.effectElements[t],e)),n&&this.filters.push(n)}this.filters.length&&e.addRenderableComponent(this)}function registerEffect(e,t){registeredEffects[e]={effect:t}}function CVMaskElement(e,t){var n;this.data=e,this.element=t,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var i=this.masksProperties.length,r=!1;for(n=0;n<i;n+=1)"n"!==this.masksProperties[n].mode&&(r=!0),this.viewData[n]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[n],3);this.hasMasks=r,r&&this.element.addRenderableComponent(this)}function CVBaseElement(){}CVEffects.prototype.renderFrame=function(e){var t,n=this.filters.length;for(t=0;t<n;t+=1)this.filters[t].renderFrame(e)},CVEffects.prototype.getEffects=function(e){var t,n=this.filters.length,i=[];for(t=0;t<n;t+=1)this.filters[t].type===e&&i.push(this.filters[t]);return i},CVMaskElement.prototype.renderFrame=function(){if(this.hasMasks){var e,t,n,i,r=this.element.finalTransform.mat,o=this.element.canvasContext,s=this.masksProperties.length;for(o.beginPath(),e=0;e<s;e+=1)if("n"!==this.masksProperties[e].mode){var a;this.masksProperties[e].inv&&(o.moveTo(0,0),o.lineTo(this.element.globalData.compSize.w,0),o.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),o.lineTo(0,this.element.globalData.compSize.h),o.lineTo(0,0)),i=this.viewData[e].v,t=r.applyToPointArray(i.v[0][0],i.v[0][1],0),o.moveTo(t[0],t[1]);var l=i._length;for(a=1;a<l;a+=1)n=r.applyToTriplePoints(i.o[a-1],i.i[a],i.v[a]),o.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);n=r.applyToTriplePoints(i.o[a-1],i.i[0],i.v[0]),o.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}this.element.globalData.renderer.save(!0),o.clip()}},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};function CVShapeData(e,t,n,i){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var r,o=4;"rc"===t.ty?o=5:"el"===t.ty?o=6:"sr"===t.ty&&(o=7),this.sh=ShapePropertyFactory.getShapeProp(e,t,o,e);var s,a=n.length;for(r=0;r<a;r+=1)n[r].closed||(s={transforms:i.addTransformSequence(n[r].transforms),trNodes:[]},this.styledShapes.push(s),n[r].elements.push(s))}function CVShapeElement(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(e,t,n)}function CVTextElement(e,t,n){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(e,t,n)}function CVImageElement(e,t,n){this.assetData=t.getAssetData(e.refId),this.img=t.imageLoader.getAsset(this.assetData),this.initElement(e,t,n)}function CVSolidElement(e,t,n){this.initElement(e,t,n)}function CanvasRendererBase(){}function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){var e;for(this.stack=[],this.cArrPos=0,this.cTr=new Matrix,e=0;e<15;e+=1){var t=new CanvasContext;this.stack[e]=t}this._length=15,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}function CVCompElement(e,t,n){this.completeLayers=!1,this.layers=e.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(e,t,n),this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0}}function CanvasRenderer(e,t){this.animationItem=e,this.renderConfig={clearCanvas:!t||void 0===t.clearCanvas||t.clearCanvas,context:t&&t.context||null,progressiveLoad:t&&t.progressiveLoad||!1,preserveAspectRatio:t&&t.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:t&&t.contentVisibility||"visible",className:t&&t.className||"",id:t&&t.id||"",runExpressions:!t||void 0===t.runExpressions||t.runExpressions},this.renderConfig.dpr=t&&t.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=t&&t.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}function HBaseElement(){}function HSolidElement(e,t,n){this.initElement(e,t,n)}function HShapeElement(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(e,t,n),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}function HTextElement(e,t,n){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(e,t,n)}function HCameraElement(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initHierarchy();var i=PropertyFactory.getProp;if(this.pe=i(this,e.pe,0,0,this),e.ks.p.s?(this.px=i(this,e.ks.p.x,1,0,this),this.py=i(this,e.ks.p.y,1,0,this),this.pz=i(this,e.ks.p.z,1,0,this)):this.p=i(this,e.ks.p,1,0,this),e.ks.a&&(this.a=i(this,e.ks.a,1,0,this)),e.ks.or.k.length&&e.ks.or.k[0].to){var r,o=e.ks.or.k.length;for(r=0;r<o;r+=1)e.ks.or.k[r].to=null,e.ks.or.k[r].ti=null}this.or=i(this,e.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=i(this,e.ks.rx,0,degToRads,this),this.ry=i(this,e.ks.ry,0,degToRads,this),this.rz=i(this,e.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}function HImageElement(e,t,n){this.assetData=t.getAssetData(e.refId),this.initElement(e,t,n)}function HybridRendererBase(e,t){this.animationItem=e,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:t&&t.className||"",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(t&&!1===t.hideOnTransparent),filterSize:{width:t&&t.filterSize&&t.filterSize.width||"400%",height:t&&t.filterSize&&t.filterSize.height||"400%",x:t&&t.filterSize&&t.filterSize.x||"-100%",y:t&&t.filterSize&&t.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}function HCompElement(e,t,n){this.layers=e.layers,this.supports3d=!e.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(e,t,n),this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0}}function HybridRenderer(e,t){this.animationItem=e,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:t&&t.className||"",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(t&&!1===t.hideOnTransparent),filterSize:{width:t&&t.filterSize&&t.filterSize.width||"400%",height:t&&t.filterSize&&t.filterSize.height||"400%",x:t&&t.filterSize&&t.filterSize.x||"-100%",y:t&&t.filterSize&&t.filterSize.y||"-100%"},runExpressions:!t||void 0===t.runExpressions||t.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}CVBaseElement.prototype={createElements:function(){},initRendererElement:function(){},createContainerElements:function(){if(this.data.tt>=1){this.buffers=[];var e=this.globalData.canvasContext,t=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(t);var n=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(n),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var t=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=t}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0].getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],t=e.getContext("2d");if(this.clearCanvas(t),t.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=assetLoader.getLumaCanvas(this.canvasContext.canvas);n.getContext("2d").drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(e){if(!this.hidden&&!this.data.hd&&(1!==this.data.td||e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var t=0===this.data.ty;this.prepareLayer(),this.globalData.renderer.save(t),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(t),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(e,t){var n={data:e,type:e.ty,preTransforms:this.transformsManager.addTransformSequence(t),transforms:[],elements:[],closed:!0===e.hd},i={};if("fl"===e.ty||"st"===e.ty?(i.c=PropertyFactory.getProp(this,e.c,1,255,this),i.c.k||(n.co="rgb("+bmFloor(i.c.v[0])+","+bmFloor(i.c.v[1])+","+bmFloor(i.c.v[2])+")")):"gf"!==e.ty&&"gs"!==e.ty||(i.s=PropertyFactory.getProp(this,e.s,1,null,this),i.e=PropertyFactory.getProp(this,e.e,1,null,this),i.h=PropertyFactory.getProp(this,e.h||{k:0},0,.01,this),i.a=PropertyFactory.getProp(this,e.a||{k:0},0,degToRads,this),i.g=new GradientProperty(this,e.g,this)),i.o=PropertyFactory.getProp(this,e.o,0,.01,this),"st"===e.ty||"gs"===e.ty){if(n.lc=lineCapEnum[e.lc||2],n.lj=lineJoinEnum[e.lj||2],1==e.lj&&(n.ml=e.ml),i.w=PropertyFactory.getProp(this,e.w,0,null,this),i.w.k||(n.wi=i.w.v),e.d){var r=new DashProperty(this,e.d,"canvas",this);i.d=r,i.d.k||(n.da=i.d.dashArray,n.do=i.d.dashoffset[0])}}else n.r=2===e.r?"evenodd":"nonzero";return this.stylesList.push(n),i.style=n,i},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(e){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,e.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,e,this)}}},CVShapeElement.prototype.createShapeElement=function(e){var t=new CVShapeData(this,e,this.stylesList,this.transformsManager);return this.shapes.push(t),this.addShapeToModifiers(t),t},CVShapeElement.prototype.reloadShapes=function(){var e;this._isFirstFrame=!0;var t=this.itemsData.length;for(e=0;e<t;e+=1)this.prevViewData[e]=this.itemsData[e];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),t=this.dynamicProperties.length,e=0;e<t;e+=1)this.dynamicProperties[e].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(e){var t,n=this.stylesList.length;for(t=0;t<n;t+=1)this.stylesList[t].closed||this.stylesList[t].transforms.push(e)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var e,t=this.stylesList.length;for(e=0;e<t;e+=1)this.stylesList[e].closed||this.stylesList[e].transforms.pop()},CVShapeElement.prototype.closeStyles=function(e){var t,n=e.length;for(t=0;t<n;t+=1)e[t].closed=!0},CVShapeElement.prototype.searchShapes=function(e,t,n,i,r){var o,s,a,l,c,u,h=e.length-1,d=[],p=[],f=[].concat(r);for(o=h;o>=0;o-=1){if((l=this.searchProcessedElement(e[o]))?t[o]=n[l-1]:e[o]._shouldRender=i,"fl"===e[o].ty||"st"===e[o].ty||"gf"===e[o].ty||"gs"===e[o].ty)l?t[o].style.closed=!1:t[o]=this.createStyleElement(e[o],f),d.push(t[o].style);else if("gr"===e[o].ty){if(l)for(a=t[o].it.length,s=0;s<a;s+=1)t[o].prevViewData[s]=t[o].it[s];else t[o]=this.createGroupElement(e[o]);this.searchShapes(e[o].it,t[o].it,t[o].prevViewData,i,f)}else"tr"===e[o].ty?(l||(u=this.createTransformElement(e[o]),t[o]=u),f.push(t[o]),this.addTransformToStyleList(t[o])):"sh"===e[o].ty||"rc"===e[o].ty||"el"===e[o].ty||"sr"===e[o].ty?l||(t[o]=this.createShapeElement(e[o])):"tm"===e[o].ty||"rd"===e[o].ty||"pb"===e[o].ty||"zz"===e[o].ty||"op"===e[o].ty?(l?(c=t[o]).closed=!1:((c=ShapeModifiers.getModifier(e[o].ty)).init(this,e[o]),t[o]=c,this.shapeModifiers.push(c)),p.push(c)):"rp"===e[o].ty&&(l?(c=t[o]).closed=!0:(c=ShapeModifiers.getModifier(e[o].ty),t[o]=c,c.init(this,e,o,t),this.shapeModifiers.push(c),i=!1),p.push(c));this.addProcessedElement(e[o],o+1)}for(this.removeTransformFromStyleList(),this.closeStyles(d),h=p.length,o=0;o<h;o+=1)p[o].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(e,t){(e._opMdf||t.op._mdf||this._isFirstFrame)&&(t.opacity=e.opacity,t.opacity*=t.op.v,t._opMdf=!0)},CVShapeElement.prototype.drawLayer=function(){var e,t,n,i,r,o,s,a,l,c=this.stylesList.length,u=this.globalData.renderer,h=this.globalData.canvasContext;for(e=0;e<c;e+=1)if(("st"!==(a=(l=this.stylesList[e]).type)&&"gs"!==a||0!==l.wi)&&l.data._shouldRender&&0!==l.coOp&&0!==this.globalData.currentGlobalAlpha){for(u.save(),o=l.elements,"st"===a||"gs"===a?(u.ctxStrokeStyle("st"===a?l.co:l.grd),u.ctxLineWidth(l.wi),u.ctxLineCap(l.lc),u.ctxLineJoin(l.lj),u.ctxMiterLimit(l.ml||0)):u.ctxFillStyle("fl"===a?l.co:l.grd),u.ctxOpacity(l.coOp),"st"!==a&&"gs"!==a&&h.beginPath(),u.ctxTransform(l.preTransforms.finalTransform.props),n=o.length,t=0;t<n;t+=1){for("st"!==a&&"gs"!==a||(h.beginPath(),l.da&&(h.setLineDash(l.da),h.lineDashOffset=l.do)),r=(s=o[t].trNodes).length,i=0;i<r;i+=1)"m"===s[i].t?h.moveTo(s[i].p[0],s[i].p[1]):"c"===s[i].t?h.bezierCurveTo(s[i].pts[0],s[i].pts[1],s[i].pts[2],s[i].pts[3],s[i].pts[4],s[i].pts[5]):h.closePath();"st"!==a&&"gs"!==a||(u.ctxStroke(),l.da&&h.setLineDash(this.dashResetter))}"st"!==a&&"gs"!==a&&this.globalData.renderer.ctxFill(l.r),u.restore()}},CVShapeElement.prototype.renderShape=function(e,t,n,i){var r,o;for(o=e,r=t.length-1;r>=0;r-=1)"tr"===t[r].ty?(o=n[r].transform,this.renderShapeTransform(e,o)):"sh"===t[r].ty||"el"===t[r].ty||"rc"===t[r].ty||"sr"===t[r].ty?this.renderPath(t[r],n[r]):"fl"===t[r].ty?this.renderFill(t[r],n[r],o):"st"===t[r].ty?this.renderStroke(t[r],n[r],o):"gf"===t[r].ty||"gs"===t[r].ty?this.renderGradientFill(t[r],n[r],o):"gr"===t[r].ty?this.renderShape(o,t[r].it,n[r].it):t[r].ty;i&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(e,t){if(this._isFirstFrame||t._mdf||e.transforms._mdf){var n,i,r,o=e.trNodes,s=t.paths,a=s._length;o.length=0;var l=e.transforms.finalTransform;for(r=0;r<a;r+=1){var c=s.shapes[r];if(c&&c.v){for(i=c._length,n=1;n<i;n+=1)1===n&&o.push({t:"m",p:l.applyToPointArray(c.v[0][0],c.v[0][1],0)}),o.push({t:"c",pts:l.applyToTriplePoints(c.o[n-1],c.i[n],c.v[n])});1===i&&o.push({t:"m",p:l.applyToPointArray(c.v[0][0],c.v[0][1],0)}),c.c&&i&&(o.push({t:"c",pts:l.applyToTriplePoints(c.o[n-1],c.i[0],c.v[0])}),o.push({t:"z"}))}}e.trNodes=o}},CVShapeElement.prototype.renderPath=function(e,t){if(!0!==e.hd&&e._shouldRender){var n,i=t.styledShapes.length;for(n=0;n<i;n+=1)this.renderStyledShape(t.styledShapes[n],t.sh)}},CVShapeElement.prototype.renderFill=function(e,t,n){var i=t.style;(t.c._mdf||this._isFirstFrame)&&(i.co="rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n._opMdf||this._isFirstFrame)&&(i.coOp=t.o.v*n.opacity)},CVShapeElement.prototype.renderGradientFill=function(e,t,n){var i,r=t.style;if(!r.grd||t.g._mdf||t.s._mdf||t.e._mdf||1!==e.t&&(t.h._mdf||t.a._mdf)){var o,s=this.globalData.canvasContext,a=t.s.v,l=t.e.v;if(1===e.t)i=s.createLinearGradient(a[0],a[1],l[0],l[1]);else{var c=Math.sqrt(Math.pow(a[0]-l[0],2)+Math.pow(a[1]-l[1],2)),u=Math.atan2(l[1]-a[1],l[0]-a[0]),h=t.h.v;h>=1?h=.99:h<=-1&&(h=-.99);var d=c*h,p=Math.cos(u+t.a.v)*d+a[0],f=Math.sin(u+t.a.v)*d+a[1];i=s.createRadialGradient(p,f,0,a[0],a[1],c)}var m=e.g.p,g=t.g.c,v=1;for(o=0;o<m;o+=1)t.g._hasOpacity&&t.g._collapsable&&(v=t.g.o[2*o+1]),i.addColorStop(g[4*o]/100,"rgba("+g[4*o+1]+","+g[4*o+2]+","+g[4*o+3]+","+v+")");r.grd=i}r.coOp=t.o.v*n.opacity},CVShapeElement.prototype.renderStroke=function(e,t,n){var i=t.style,r=t.d;r&&(r._mdf||this._isFirstFrame)&&(i.da=r.dashArray,i.do=r.dashoffset[0]),(t.c._mdf||this._isFirstFrame)&&(i.co="rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n._opMdf||this._isFirstFrame)&&(i.coOp=t.o.v*n.opacity),(t.w._mdf||this._isFirstFrame)&&(i.wi=t.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var e=this.textProperty.currentData;this.renderedLetters=createSizedArray(e.l?e.l.length:0);var t=!1;e.fc?(t=!0,this.values.fill=this.buildColor(e.fc)):this.values.fill="rgba(0,0,0,0)",this.fill=t;var n=!1;e.sc&&(n=!0,this.values.stroke=this.buildColor(e.sc),this.values.sWidth=e.sw);var i,r,o,s,a,l,c,u,h,d,p,f,m=this.globalData.fontManager.getFontByName(e.f),g=e.l,v=this.mHelper;this.stroke=n,this.values.fValue=e.finalSize+"px "+this.globalData.fontManager.getFontByName(e.f).fFamily,r=e.finalText.length;var b=this.data.singleShape,y=.001*e.tr*e.finalSize,A=0,S=0,x=!0,E=0;for(i=0;i<r;i+=1){s=(o=this.globalData.fontManager.getCharData(e.finalText[i],m.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily))&&o.data||{},v.reset(),b&&g[i].n&&(A=-y,S+=e.yOffset,S+=x?1:0,x=!1),h=(c=s.shapes?s.shapes[0].it:[]).length,v.scale(e.finalSize/100,e.finalSize/100),b&&this.applyTextPropertiesToMatrix(e,v,g[i].line,A,S),p=createSizedArray(h-1);var w=0;for(u=0;u<h;u+=1)if("sh"===c[u].ty){for(l=c[u].ks.k.i.length,d=c[u].ks.k,f=[],a=1;a<l;a+=1)1===a&&f.push(v.applyToX(d.v[0][0],d.v[0][1],0),v.applyToY(d.v[0][0],d.v[0][1],0)),f.push(v.applyToX(d.o[a-1][0],d.o[a-1][1],0),v.applyToY(d.o[a-1][0],d.o[a-1][1],0),v.applyToX(d.i[a][0],d.i[a][1],0),v.applyToY(d.i[a][0],d.i[a][1],0),v.applyToX(d.v[a][0],d.v[a][1],0),v.applyToY(d.v[a][0],d.v[a][1],0));f.push(v.applyToX(d.o[a-1][0],d.o[a-1][1],0),v.applyToY(d.o[a-1][0],d.o[a-1][1],0),v.applyToX(d.i[0][0],d.i[0][1],0),v.applyToY(d.i[0][0],d.i[0][1],0),v.applyToX(d.v[0][0],d.v[0][1],0),v.applyToY(d.v[0][0],d.v[0][1],0)),p[w]=f,w+=1}b&&(A+=g[i].l,A+=y),this.textSpans[E]?this.textSpans[E].elem=p:this.textSpans[E]={elem:p},E+=1}},CVTextElement.prototype.renderInnerContent=function(){var e,t,n,i,r,o;this.validateText(),this.canvasContext.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),this.data.singleShape||this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var s,a=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;t=l.length;var c,u,h=null,d=null,p=null,f=this.globalData.renderer;for(e=0;e<t;e+=1)if(!l[e].n){if((s=a[e])&&(f.save(),f.ctxTransform(s.p),f.ctxOpacity(s.o)),this.fill){for(s&&s.fc?h!==s.fc&&(f.ctxFillStyle(s.fc),h=s.fc):h!==this.values.fill&&(h=this.values.fill,f.ctxFillStyle(this.values.fill)),i=(c=this.textSpans[e].elem).length,this.globalData.canvasContext.beginPath(),n=0;n<i;n+=1)for(o=(u=c[n]).length,this.globalData.canvasContext.moveTo(u[0],u[1]),r=2;r<o;r+=6)this.globalData.canvasContext.bezierCurveTo(u[r],u[r+1],u[r+2],u[r+3],u[r+4],u[r+5]);this.globalData.canvasContext.closePath(),f.ctxFill()}if(this.stroke){for(s&&s.sw?p!==s.sw&&(p=s.sw,f.ctxLineWidth(s.sw)):p!==this.values.sWidth&&(p=this.values.sWidth,f.ctxLineWidth(this.values.sWidth)),s&&s.sc?d!==s.sc&&(d=s.sc,f.ctxStrokeStyle(s.sc)):d!==this.values.stroke&&(d=this.values.stroke,f.ctxStrokeStyle(this.values.stroke)),i=(c=this.textSpans[e].elem).length,this.globalData.canvasContext.beginPath(),n=0;n<i;n+=1)for(o=(u=c[n]).length,this.globalData.canvasContext.moveTo(u[0],u[1]),r=2;r<o;r+=6)this.globalData.canvasContext.bezierCurveTo(u[r],u[r+1],u[r+2],u[r+3],u[r+4],u[r+5]);this.globalData.canvasContext.closePath(),f.ctxStroke()}s&&this.globalData.renderer.restore()}},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var e=createTag("canvas");e.width=this.assetData.w,e.height=this.assetData.h;var t,n,i=e.getContext("2d"),r=this.img.width,o=this.img.height,s=r/o,a=this.assetData.w/this.assetData.h,l=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;s>a&&"xMidYMid slice"===l||s<a&&"xMidYMid slice"!==l?t=(n=o)*a:n=(t=r)/a,i.drawImage(this.img,(r-t)/2,(o-n)/2,t,n,0,0,this.assetData.w,this.assetData.h),this.img=e}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)},extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(e){return new CVShapeElement(e,this.globalData,this)},CanvasRendererBase.prototype.createText=function(e){return new CVTextElement(e,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(e){return new CVImageElement(e,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(e){return new CVSolidElement(e,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(e){1===e[0]&&0===e[1]&&0===e[4]&&1===e[5]&&0===e[12]&&0===e[13]||this.canvasContext.transform(e[0],e[1],e[4],e[5],e[12],e[13])},CanvasRendererBase.prototype.ctxOpacity=function(e){this.canvasContext.globalAlpha*=e<0?0:e},CanvasRendererBase.prototype.ctxFillStyle=function(e){this.canvasContext.fillStyle=e},CanvasRendererBase.prototype.ctxStrokeStyle=function(e){this.canvasContext.strokeStyle=e},CanvasRendererBase.prototype.ctxLineWidth=function(e){this.canvasContext.lineWidth=e},CanvasRendererBase.prototype.ctxLineCap=function(e){this.canvasContext.lineCap=e},CanvasRendererBase.prototype.ctxLineJoin=function(e){this.canvasContext.lineJoin=e},CanvasRendererBase.prototype.ctxMiterLimit=function(e){this.canvasContext.miterLimit=e},CanvasRendererBase.prototype.ctxFill=function(e){this.canvasContext.fill(e)},CanvasRendererBase.prototype.ctxFillRect=function(e,t,n,i){this.canvasContext.fillRect(e,t,n,i)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){this.renderConfig.clearCanvas?this.contextData.reset():this.canvasContext.restore()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(e){this.renderConfig.clearCanvas?(e&&(this.globalData.blendMode="source-over"),this.contextData.restore(e)):this.canvasContext.restore()},CanvasRendererBase.prototype.configAnimation=function(e){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var t=this.animationItem.container.style;t.width="100%",t.height="100%";var n="0px 0px 0px";t.transformOrigin=n,t.mozTransformOrigin=n,t.webkitTransformOrigin=n,t["-webkit-transform"]=n,t.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className&&this.animationItem.container.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=e,this.layers=e.layers,this.transformCanvas={w:e.w,h:e.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(e,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(e.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(e,t){var n,i,r,o;if(this.reset(),e?(n=e,i=t,this.canvasContext.canvas.width=n,this.canvasContext.canvas.height=i):(this.animationItem.wrapper&&this.animationItem.container?(n=this.animationItem.wrapper.offsetWidth,i=this.animationItem.wrapper.offsetHeight):(n=this.canvasContext.canvas.width,i=this.canvasContext.canvas.height),this.canvasContext.canvas.width=n*this.renderConfig.dpr,this.canvasContext.canvas.height=i*this.renderConfig.dpr),-1!==this.renderConfig.preserveAspectRatio.indexOf("meet")||-1!==this.renderConfig.preserveAspectRatio.indexOf("slice")){var s=this.renderConfig.preserveAspectRatio.split(" "),a=s[1]||"meet",l=s[0]||"xMidYMid",c=l.substr(0,4),u=l.substr(4);r=n/i,(o=this.transformCanvas.w/this.transformCanvas.h)>r&&"meet"===a||o<r&&"slice"===a?(this.transformCanvas.sx=n/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=n/(this.transformCanvas.w/this.renderConfig.dpr)):(this.transformCanvas.sx=i/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=i/(this.transformCanvas.h/this.renderConfig.dpr)),this.transformCanvas.tx="xMid"===c&&(o<r&&"meet"===a||o>r&&"slice"===a)?(n-this.transformCanvas.w*(i/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===c&&(o<r&&"meet"===a||o>r&&"slice"===a)?(n-this.transformCanvas.w*(i/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===u&&(o>r&&"meet"===a||o<r&&"slice"===a)?(i-this.transformCanvas.h*(n/this.transformCanvas.w))/2*this.renderConfig.dpr:"YMax"===u&&(o>r&&"meet"===a||o<r&&"slice"===a)?(i-this.transformCanvas.h*(n/this.transformCanvas.w))*this.renderConfig.dpr:0}else"none"===this.renderConfig.preserveAspectRatio?(this.transformCanvas.sx=n/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=i/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0):(this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0);this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){var e;for(this.renderConfig.clearCanvas&&this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),e=(this.layers?this.layers.length:0)-1;e>=0;e-=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(e,t){if((this.renderedFrame!==e||!0!==this.renderConfig.clearCanvas||t)&&!this.destroyed&&-1!==e){var n;this.renderedFrame=e,this.globalData.frameNum=e-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||t,this.globalData.projectInterface.currentFrame=e;var i=this.layers.length;for(this.completeLayers||this.checkLayers(e),n=i-1;n>=0;n-=1)(this.completeLayers||this.elements[n])&&this.elements[n].prepareFrame(e-this.layers[n].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),n=i-1;n>=0;n-=1)(this.completeLayers||this.elements[n])&&this.elements[n].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(e){var t=this.elements;if(!t[e]&&99!==this.layers[e].ty){var n=this.createItem(this.layers[e],this,this.globalData);t[e]=n,n.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},CVContextData.prototype.duplicate=function(){var e=2*this._length,t=0;for(t=this._length;t<e;t+=1)this.stack[t]=new CanvasContext;this._length=e},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(e){this.cArrPos-=1;var t,n=this.stack[this.cArrPos],i=n.transform,r=this.cTr.props;for(t=0;t<16;t+=1)r[t]=i[t];if(e){this.nativeContext.restore();var o=this.stack[this.cArrPos+1];this.appliedFillStyle=o.fillStyle,this.appliedStrokeStyle=o.strokeStyle,this.appliedLineWidth=o.lineWidth,this.appliedLineCap=o.lineCap,this.appliedLineJoin=o.lineJoin,this.appliedMiterLimit=o.miterLimit}this.nativeContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13]),(e||-1!==n.opacity&&this.currentOpacity!==n.opacity)&&(this.nativeContext.globalAlpha=n.opacity,this.currentOpacity=n.opacity),this.currentFillStyle=n.fillStyle,this.currentStrokeStyle=n.strokeStyle,this.currentLineWidth=n.lineWidth,this.currentLineCap=n.lineCap,this.currentLineJoin=n.lineJoin,this.currentMiterLimit=n.miterLimit},CVContextData.prototype.save=function(e){e&&this.nativeContext.save();var t=this.cTr.props;this._length<=this.cArrPos&&this.duplicate();var n,i=this.stack[this.cArrPos];for(n=0;n<16;n+=1)i.transform[n]=t[n];this.cArrPos+=1;var r=this.stack[this.cArrPos];r.opacity=i.opacity,r.fillStyle=i.fillStyle,r.strokeStyle=i.strokeStyle,r.lineWidth=i.lineWidth,r.lineCap=i.lineCap,r.lineJoin=i.lineJoin,r.miterLimit=i.miterLimit},CVContextData.prototype.setOpacity=function(e){this.stack[this.cArrPos].opacity=e},CVContextData.prototype.setContext=function(e){this.nativeContext=e},CVContextData.prototype.fillStyle=function(e){this.stack[this.cArrPos].fillStyle!==e&&(this.currentFillStyle=e,this.stack[this.cArrPos].fillStyle=e)},CVContextData.prototype.strokeStyle=function(e){this.stack[this.cArrPos].strokeStyle!==e&&(this.currentStrokeStyle=e,this.stack[this.cArrPos].strokeStyle=e)},CVContextData.prototype.lineWidth=function(e){this.stack[this.cArrPos].lineWidth!==e&&(this.currentLineWidth=e,this.stack[this.cArrPos].lineWidth=e)},CVContextData.prototype.lineCap=function(e){this.stack[this.cArrPos].lineCap!==e&&(this.currentLineCap=e,this.stack[this.cArrPos].lineCap=e)},CVContextData.prototype.lineJoin=function(e){this.stack[this.cArrPos].lineJoin!==e&&(this.currentLineJoin=e,this.stack[this.cArrPos].lineJoin=e)},CVContextData.prototype.miterLimit=function(e){this.stack[this.cArrPos].miterLimit!==e&&(this.currentMiterLimit=e,this.stack[this.cArrPos].miterLimit=e)},CVContextData.prototype.transform=function(e){this.transformMat.cloneFromProps(e);var t=this.cTr;this.transformMat.multiply(t),t.cloneFromProps(this.transformMat.props);var n=t.props;this.nativeContext.setTransform(n[0],n[1],n[4],n[5],n[12],n[13])},CVContextData.prototype.opacity=function(e){var t=this.stack[this.cArrPos].opacity;t*=e<0?0:e,this.stack[this.cArrPos].opacity!==t&&(this.currentOpacity!==e&&(this.nativeContext.globalAlpha=e,this.currentOpacity=e),this.stack[this.cArrPos].opacity=t)},CVContextData.prototype.fill=function(e){this.appliedFillStyle!==this.currentFillStyle&&(this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle),this.nativeContext.fill(e)},CVContextData.prototype.fillRect=function(e,t,n,i){this.appliedFillStyle!==this.currentFillStyle&&(this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle),this.nativeContext.fillRect(e,t,n,i)},CVContextData.prototype.stroke=function(){this.appliedStrokeStyle!==this.currentStrokeStyle&&(this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle),this.appliedLineWidth!==this.currentLineWidth&&(this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth),this.appliedLineCap!==this.currentLineCap&&(this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap),this.appliedLineJoin!==this.currentLineJoin&&(this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin),this.appliedMiterLimit!==this.currentMiterLimit&&(this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit),this.nativeContext.stroke()},extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var e,t=this.canvasContext;for(t.beginPath(),t.moveTo(0,0),t.lineTo(this.data.w,0),t.lineTo(this.data.w,this.data.h),t.lineTo(0,this.data.h),t.lineTo(0,0),t.clip(),e=this.layers.length-1;e>=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var e;for(e=this.layers.length-1;e>=0;e-=1)this.elements[e]&&this.elements[e].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(e){return new CVCompElement(e,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(e){return new CVCompElement(e,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var t=this.finalTransform.mat.toCSS();e.transform=t,e.webkitTransform=t}this.finalTransform._opMdf&&(e.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var e;this.data.hasMask?((e=createNS("rect")).setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),e.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((e=createTag("div")).style.width=this.data.sw+"px",e.style.height=this.data.sh+"px",e.style.backgroundColor=this.data.sc),this.layerElement.appendChild(e)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var e;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),e=this.svgElement;else{e=createNS("svg");var t=this.comp.data?this.comp.data:this.globalData.compSize;e.setAttribute("width",t.w),e.setAttribute("height",t.h),e.appendChild(this.shapesContainer),this.layerElement.appendChild(e)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=e},HShapeElement.prototype.getTransformedPoint=function(e,t){var n,i=e.length;for(n=0;n<i;n+=1)t=e[n].mProps.v.applyToPointArray(t[0],t[1],0);return t},HShapeElement.prototype.calculateShapeBoundingBox=function(e,t){var n,i,r,o,s,a=e.sh.v,l=e.transformers,c=a._length;if(!(c<=1)){for(n=0;n<c-1;n+=1)i=this.getTransformedPoint(l,a.v[n]),r=this.getTransformedPoint(l,a.o[n]),o=this.getTransformedPoint(l,a.i[n+1]),s=this.getTransformedPoint(l,a.v[n+1]),this.checkBounds(i,r,o,s,t);a.c&&(i=this.getTransformedPoint(l,a.v[n]),r=this.getTransformedPoint(l,a.o[n]),o=this.getTransformedPoint(l,a.i[0]),s=this.getTransformedPoint(l,a.v[0]),this.checkBounds(i,r,o,s,t))}},HShapeElement.prototype.checkBounds=function(e,t,n,i,r){this.getBoundsOfCurve(e,t,n,i);var o=this.shapeBoundingBox;r.x=bmMin(o.left,r.x),r.xMax=bmMax(o.right,r.xMax),r.y=bmMin(o.top,r.y),r.yMax=bmMax(o.bottom,r.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(e,t,n,i){for(var r,o,s,a,l,c,u,h=[[e[0],i[0]],[e[1],i[1]]],d=0;d<2;++d)o=6*e[d]-12*t[d]+6*n[d],r=-3*e[d]+9*t[d]-9*n[d]+3*i[d],s=3*t[d]-3*e[d],o|=0,s|=0,0==(r|=0)&&0===o||(0===r?(a=-s/o)>0&&a<1&&h[d].push(this.calculateF(a,e,t,n,i,d)):(l=o*o-4*s*r)>=0&&((c=(-o+bmSqrt(l))/(2*r))>0&&c<1&&h[d].push(this.calculateF(c,e,t,n,i,d)),(u=(-o-bmSqrt(l))/(2*r))>0&&u<1&&h[d].push(this.calculateF(u,e,t,n,i,d))));this.shapeBoundingBox.left=bmMin.apply(null,h[0]),this.shapeBoundingBox.top=bmMin.apply(null,h[1]),this.shapeBoundingBox.right=bmMax.apply(null,h[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,h[1])},HShapeElement.prototype.calculateF=function(e,t,n,i,r,o){return bmPow(1-e,3)*t[o]+3*bmPow(1-e,2)*e*n[o]+3*(1-e)*bmPow(e,2)*i[o]+bmPow(e,3)*r[o]},HShapeElement.prototype.calculateBoundingBox=function(e,t){var n,i=e.length;for(n=0;n<i;n+=1)e[n]&&e[n].sh?this.calculateShapeBoundingBox(e[n],t):e[n]&&e[n].it?this.calculateBoundingBox(e[n].it,t):e[n]&&e[n].style&&e[n].w&&this.expandStrokeBoundingBox(e[n].w,t)},HShapeElement.prototype.expandStrokeBoundingBox=function(e,t){var n=0;if(e.keyframes){for(var i=0;i<e.keyframes.length;i+=1){var r=e.keyframes[i].s;r>n&&(n=r)}n*=e.mult}else n=e.v*e.mult;t.x-=n,t.xMax+=n,t.y-=n,t.yMax+=n},HShapeElement.prototype.currentBoxContains=function(e){return this.currentBBox.x<=e.x&&this.currentBBox.y<=e.y&&this.currentBBox.width+this.currentBBox.x>=e.x+e.width&&this.currentBBox.height+this.currentBBox.y>=e.y+e.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var e=this.tempBoundingBox,t=999999;if(e.x=t,e.xMax=-t,e.y=t,e.yMax=-t,this.calculateBoundingBox(this.itemsData,e),e.width=e.xMax<e.x?0:e.xMax-e.x,e.height=e.yMax<e.y?0:e.yMax-e.y,this.currentBoxContains(e))return;var n=!1;if(this.currentBBox.w!==e.width&&(this.currentBBox.w=e.width,this.shapeCont.setAttribute("width",e.width),n=!0),this.currentBBox.h!==e.height&&(this.currentBBox.h=e.height,this.shapeCont.setAttribute("height",e.height),n=!0),n||this.currentBBox.x!==e.x||this.currentBBox.y!==e.y){this.currentBBox.w=e.width,this.currentBBox.h=e.height,this.currentBBox.x=e.x,this.currentBBox.y=e.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var i=this.shapeCont.style,r="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";i.transform=r,i.webkitTransform=r}}},extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var e=createNS("g");this.maskedElement.appendChild(e),this.innerElem=e}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var e=this.textProperty.currentData;this.renderedLetters=createSizedArray(e.l?e.l.length:0);var t=this.innerElem.style,n=e.fc?this.buildColor(e.fc):"rgba(0,0,0,0)";t.fill=n,t.color=n,e.sc&&(t.stroke=this.buildColor(e.sc),t.strokeWidth=e.sw+"px");var i,r,o=this.globalData.fontManager.getFontByName(e.f);if(!this.globalData.fontManager.chars)if(t.fontSize=e.finalSize+"px",t.lineHeight=e.finalSize+"px",o.fClass)this.innerElem.className=o.fClass;else{t.fontFamily=o.fFamily;var s=e.fWeight,a=e.fStyle;t.fontStyle=a,t.fontWeight=s}var l,c,u,h=e.l;r=h.length;var d,p=this.mHelper,f="",m=0;for(i=0;i<r;i+=1){if(this.globalData.fontManager.chars?(this.textPaths[m]?l=this.textPaths[m]:((l=createNS("path")).setAttribute("stroke-linecap",lineCapEnum[1]),l.setAttribute("stroke-linejoin",lineJoinEnum[2]),l.setAttribute("stroke-miterlimit","4")),this.isMasked||(this.textSpans[m]?u=(c=this.textSpans[m]).children[0]:((c=createTag("div")).style.lineHeight=0,(u=createNS("svg")).appendChild(l),styleDiv(c)))):this.isMasked?l=this.textPaths[m]?this.textPaths[m]:createNS("text"):this.textSpans[m]?(c=this.textSpans[m],l=this.textPaths[m]):(styleDiv(c=createTag("span")),styleDiv(l=createTag("span")),c.appendChild(l)),this.globalData.fontManager.chars){var g,v=this.globalData.fontManager.getCharData(e.finalText[i],o.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily);if(g=v?v.data:null,p.reset(),g&&g.shapes&&g.shapes.length&&(d=g.shapes[0].it,p.scale(e.finalSize/100,e.finalSize/100),f=this.createPathShape(p,d),l.setAttribute("d",f)),this.isMasked)this.innerElem.appendChild(l);else{if(this.innerElem.appendChild(c),g&&g.shapes){document.body.appendChild(u);var b=u.getBBox();u.setAttribute("width",b.width+2),u.setAttribute("height",b.height+2),u.setAttribute("viewBox",b.x-1+" "+(b.y-1)+" "+(b.width+2)+" "+(b.height+2));var y=u.style,A="translate("+(b.x-1)+"px,"+(b.y-1)+"px)";y.transform=A,y.webkitTransform=A,h[i].yOffset=b.y-1}else u.setAttribute("width",1),u.setAttribute("height",1);c.appendChild(u)}}else if(l.textContent=h[i].val,l.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked)this.innerElem.appendChild(l);else{this.innerElem.appendChild(c);var S=l.style,x="translate3d(0,"+-e.finalSize/1.2+"px,0)";S.transform=x,S.webkitTransform=x}this.isMasked?this.textSpans[m]=l:this.textSpans[m]=c,this.textSpans[m].style.display="block",this.textPaths[m]=l,m+=1}for(;m<this.textSpans.length;)this.textSpans[m].style.display="none",m+=1},HTextElement.prototype.renderInnerContent=function(){var e;if(this.validateText(),this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),e=this.svgElement.style;var t="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";e.transform=t,e.webkitTransform=t}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){var n,i,r,o,s,a=0,l=this.textAnimator.renderedLetters,c=this.textProperty.currentData.l;for(i=c.length,n=0;n<i;n+=1)c[n].n?a+=1:(o=this.textSpans[n],s=this.textPaths[n],r=l[a],a+=1,r._mdf.m&&(this.isMasked?o.setAttribute("transform",r.m):(o.style.webkitTransform=r.m,o.style.transform=r.m)),o.style.opacity=r.o,r.sw&&r._mdf.sw&&s.setAttribute("stroke-width",r.sw),r.sc&&r._mdf.sc&&s.setAttribute("stroke",r.sc),r.fc&&r._mdf.fc&&(s.setAttribute("fill",r.fc),s.style.color=r.fc));if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var u=this.innerElem.getBBox();if(this.currentBBox.w!==u.width&&(this.currentBBox.w=u.width,this.svgElement.setAttribute("width",u.width)),this.currentBBox.h!==u.height&&(this.currentBBox.h=u.height,this.svgElement.setAttribute("height",u.height)),this.currentBBox.w!==u.width+2||this.currentBBox.h!==u.height+2||this.currentBBox.x!==u.x-1||this.currentBBox.y!==u.y-1){this.currentBBox.w=u.width+2,this.currentBBox.h=u.height+2,this.currentBBox.x=u.x-1,this.currentBBox.y=u.y-1,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),e=this.svgElement.style;var h="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";e.transform=h,e.webkitTransform=h}}}},extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var e,t,n,i,r=this.comp.threeDElements.length;for(e=0;e<r;e+=1)if("3d"===(t=this.comp.threeDElements[e]).type){n=t.perspectiveElem.style,i=t.container.style;var o=this.pe.v+"px",s="0px 0px 0px",a="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";n.perspective=o,n.webkitPerspective=o,i.transformOrigin=s,i.mozTransformOrigin=s,i.webkitTransformOrigin=s,n.transform=a,n.webkitTransform=a}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var e,t,n=this._isFirstFrame;if(this.hierarchy)for(t=this.hierarchy.length,e=0;e<t;e+=1)n=this.hierarchy[e].finalTransform.mProp._mdf||n;if(n||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy)for(e=t=this.hierarchy.length-1;e>=0;e-=1){var i=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-i.p.v[0],-i.p.v[1],i.p.v[2]),this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]),this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v),this.mat.scale(1/i.s.v[0],1/i.s.v[1],1/i.s.v[2]),this.mat.translate(i.a.v[0],i.a.v[1],i.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var r;r=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var o=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)),s=[r[0]/o,r[1]/o,r[2]/o],a=Math.sqrt(s[2]*s[2]+s[0]*s[0]),l=Math.atan2(s[1],a),c=Math.atan2(s[0],-s[2]);this.mat.rotateY(c).rotateX(-l)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var u=!this._prevMat.equals(this.mat);if((u||this.pe._mdf)&&this.comp.threeDElements){var h,d,p;for(t=this.comp.threeDElements.length,e=0;e<t;e+=1)if("3d"===(h=this.comp.threeDElements[e]).type){if(u){var f=this.mat.toCSS();(p=h.container.style).transform=f,p.webkitTransform=f}this.pe._mdf&&((d=h.perspectiveElem.style).perspective=this.pe.v+"px",d.webkitPerspective=this.pe.v+"px")}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(e){this.prepareProperties(e,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null},extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var e=this.globalData.getAssetsPath(this.assetData),t=new Image;this.data.hasMask?(this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",e),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h)):this.layerElement.appendChild(t),t.crossOrigin="anonymous",t.src=e,this.data.ln&&this.baseElement.setAttribute("id",this.data.ln)},extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},HybridRendererBase.prototype.appendElementInPos=function(e,t){var n=e.getBaseElement();if(n){var i=this.layers[t];if(i.ddd&&this.supports3d)this.addTo3dContainer(n,t);else if(this.threeDElements)this.addTo3dContainer(n,t);else{for(var r,o,s=0;s<t;)this.elements[s]&&!0!==this.elements[s]&&this.elements[s].getBaseElement&&(o=this.elements[s],r=(this.layers[s].ddd?this.getThreeDContainerByPos(s):o.getBaseElement())||r),s+=1;r?i.ddd&&this.supports3d||this.layerElement.insertBefore(n,r):i.ddd&&this.supports3d||this.layerElement.appendChild(n)}}},HybridRendererBase.prototype.createShape=function(e){return this.supports3d?new HShapeElement(e,this.globalData,this):new SVGShapeElement(e,this.globalData,this)},HybridRendererBase.prototype.createText=function(e){return this.supports3d?new HTextElement(e,this.globalData,this):new SVGTextLottieElement(e,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(e){return this.camera=new HCameraElement(e,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(e){return this.supports3d?new HImageElement(e,this.globalData,this):new IImageElement(e,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(e){return this.supports3d?new HSolidElement(e,this.globalData,this):new ISolidElement(e,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(e){for(var t=0,n=this.threeDElements.length;t<n;){if(this.threeDElements[t].startPos<=e&&this.threeDElements[t].endPos>=e)return this.threeDElements[t].perspectiveElem;t+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(e,t){var n,i,r=createTag("div");styleDiv(r);var o=createTag("div");if(styleDiv(o),"3d"===t){(n=r.style).width=this.globalData.compSize.w+"px",n.height=this.globalData.compSize.h+"px";var s="50% 50%";n.webkitTransformOrigin=s,n.mozTransformOrigin=s,n.transformOrigin=s;var a="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(i=o.style).transform=a,i.webkitTransform=a}r.appendChild(o);var l={container:o,perspectiveElem:r,startPos:e,endPos:e,type:t};return this.threeDElements.push(l),l},HybridRendererBase.prototype.build3dContainers=function(){var e,t,n=this.layers.length,i="";for(e=0;e<n;e+=1)this.layers[e].ddd&&3!==this.layers[e].ty?("3d"!==i&&(i="3d",t=this.createThreeDContainer(e,"3d")),t.endPos=Math.max(t.endPos,e)):("2d"!==i&&(i="2d",t=this.createThreeDContainer(e,"2d")),t.endPos=Math.max(t.endPos,e));for(e=(n=this.threeDElements.length)-1;e>=0;e-=1)this.resizerElem.appendChild(this.threeDElements[e].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(e,t){for(var n=0,i=this.threeDElements.length;n<i;){if(t<=this.threeDElements[n].endPos){for(var r,o=this.threeDElements[n].startPos;o<t;)this.elements[o]&&this.elements[o].getBaseElement&&(r=this.elements[o].getBaseElement()),o+=1;r?this.threeDElements[n].container.insertBefore(e,r):this.threeDElements[n].container.appendChild(e);break}n+=1}},HybridRendererBase.prototype.configAnimation=function(e){var t=createTag("div"),n=this.animationItem.wrapper,i=t.style;i.width=e.w+"px",i.height=e.h+"px",this.resizerElem=t,styleDiv(t),i.transformStyle="flat",i.mozTransformStyle="flat",i.webkitTransformStyle="flat",this.renderConfig.className&&t.setAttribute("class",this.renderConfig.className),n.appendChild(t),i.overflow="hidden";var r=createNS("svg");r.setAttribute("width","1"),r.setAttribute("height","1"),styleDiv(r),this.resizerElem.appendChild(r);var o=createNS("defs");r.appendChild(o),this.data=e,this.setupGlobalData(e,r),this.globalData.defs=o,this.layers=e.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){var e;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.animationItem.container=null,this.globalData.defs=null;var t=this.layers?this.layers.length:0;for(e=0;e<t;e+=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var e,t,n,i,r=this.animationItem.wrapper.offsetWidth,o=this.animationItem.wrapper.offsetHeight,s=r/o;this.globalData.compSize.w/this.globalData.compSize.h>s?(e=r/this.globalData.compSize.w,t=r/this.globalData.compSize.w,n=0,i=(o-this.globalData.compSize.h*(r/this.globalData.compSize.w))/2):(e=o/this.globalData.compSize.h,t=o/this.globalData.compSize.h,n=(r-this.globalData.compSize.w*(o/this.globalData.compSize.h))/2,i=0);var a=this.resizerElem.style;a.webkitTransform="matrix3d("+e+",0,0,0,0,"+t+",0,0,0,0,1,0,"+n+","+i+",0,1)",a.transform=a.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var e,t=this.globalData.compSize.w,n=this.globalData.compSize.h,i=this.threeDElements.length;for(e=0;e<i;e+=1){var r=this.threeDElements[e].perspectiveElem.style;r.webkitPerspective=Math.sqrt(Math.pow(t,2)+Math.pow(n,2))+"px",r.perspective=r.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(e){var t,n=e.length,i=createTag("div");for(t=0;t<n;t+=1)if(e[t].xt){var r=this.createComp(e[t],i,this.globalData.comp,null);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}},extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements(),this.data.hasMask?(this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement):this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(e,t){for(var n,i=0;i<t;)this.elements[i]&&this.elements[i].getBaseElement&&(n=this.elements[i].getBaseElement()),i+=1;n?this.layerElement.insertBefore(e,n):this.layerElement.appendChild(e)},HCompElement.prototype.createComp=function(e){return this.supports3d?new HCompElement(e,this.globalData,this):new SVGCompElement(e,this.globalData,this)},extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(e){return this.supports3d?new HCompElement(e,this.globalData,this):new SVGCompElement(e,this.globalData,this)};var CompExpressionInterface=function(e){function t(t){for(var n=0,i=e.layers.length;n<i;){if(e.layers[n].nm===t||e.layers[n].ind===t)return e.elements[n].layerInterface;n+=1}return null}return Object.defineProperty(t,"_name",{value:e.data.nm}),t.layer=t,t.pixelAspect=1,t.height=e.data.h||e.globalData.compSize.h,t.width=e.data.w||e.globalData.compSize.w,t.pixelAspect=1,t.frameDuration=1/e.globalData.frameRate,t.displayStartTime=0,t.numLayers=e.layers.length,t};function _typeof$2(e){return _typeof$2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$2(e)}function seedRandom(t,n){var i=this,r=256,o="random",s=n.pow(r,6),a=n.pow(2,52),l=2*a,c=r-1;function u(e){var t,n=e.length,i=this,o=0,s=i.i=i.j=0,a=i.S=[];for(n||(e=[n++]);o<r;)a[o]=o++;for(o=0;o<r;o++)a[o]=a[s=c&s+e[o%n]+(t=a[o])],a[s]=t;i.g=function(e){for(var t,n=0,o=i.i,s=i.j,a=i.S;e--;)t=a[o=c&o+1],n=n*r+a[c&(a[o]=a[s=c&s+t])+(a[s]=t)];return i.i=o,i.j=s,n}}function h(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function d(t,n){var i,r=[],o=_typeof$2(t);if(n&&"object"==o)for(i in t)try{r.push(d(t[i],n-1))}catch(e){}return r.length?r:"string"==o?t:t+"\0"}function p(e,t){for(var n,i=e+"",r=0;r<i.length;)t[c&r]=c&(n^=19*t[c&r])+i.charCodeAt(r++);return f(t)}function f(e){return String.fromCharCode.apply(0,e)}n["seed"+o]=function(c,m,g){var v=[],b=p(d((m=!0===m?{entropy:!0}:m||{}).entropy?[c,f(t)]:null===c?function(){try{var n=new Uint8Array(r);return(i.crypto||i.msCrypto).getRandomValues(n),f(n)}catch(e){var o=i.navigator,s=o&&o.plugins;return[+new Date,i,s,i.screen,f(t)]}}():c,3),v),y=new u(v),A=function(){for(var e=y.g(6),t=s,n=0;e<a;)e=(e+n)*r,t*=r,n=y.g(1);for(;e>=l;)e/=2,t/=2,n>>>=1;return(e+n)/t};return A.int32=function(){return 0|y.g(4)},A.quick=function(){return y.g(4)/4294967296},A.double=A,p(f(y.S),t),(m.pass||g||function(e,t,i,r){return r&&(r.S&&h(r,y),e.state=function(){return h(y,{})}),i?(n[o]=e,t):e})(A,b,"global"in m?m.global:this==n,m.state)},p(n.random(),t)}function initialize$2(e){seedRandom([],e)}var propTypes={SHAPE:"shape"};function _typeof$1(e){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(e){return e.constructor===Array||e.constructor===Float32Array}function isNumerable(e,t){return"number"===e||t instanceof Number||"boolean"===e||"string"===e}function $bm_neg(e){var t=_typeof$1(e);if("number"===t||e instanceof Number||"boolean"===t)return-e;if($bm_isInstanceOfArray(e)){var n,i=e.length,r=[];for(n=0;n<i;n+=1)r[n]=-e[n];return r}return e.propType?e.v:-e}initialize$2(BMMath);var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,"easeInOut").get;function sum(e,t){var n=_typeof$1(e),i=_typeof$1(t);if(isNumerable(n,e)&&isNumerable(i,t)||"string"===n||"string"===i)return e+t;if($bm_isInstanceOfArray(e)&&isNumerable(i,t))return(e=e.slice(0))[0]+=t,e;if(isNumerable(n,e)&&$bm_isInstanceOfArray(t))return(t=t.slice(0))[0]=e+t[0],t;if($bm_isInstanceOfArray(e)&&$bm_isInstanceOfArray(t)){for(var r=0,o=e.length,s=t.length,a=[];r<o||r<s;)("number"==typeof e[r]||e[r]instanceof Number)&&("number"==typeof t[r]||t[r]instanceof Number)?a[r]=e[r]+t[r]:a[r]=void 0===t[r]?e[r]:e[r]||t[r],r+=1;return a}return 0}var add=sum;function sub(e,t){var n=_typeof$1(e),i=_typeof$1(t);if(isNumerable(n,e)&&isNumerable(i,t))return"string"===n&&(e=parseInt(e,10)),"string"===i&&(t=parseInt(t,10)),e-t;if($bm_isInstanceOfArray(e)&&isNumerable(i,t))return(e=e.slice(0))[0]-=t,e;if(isNumerable(n,e)&&$bm_isInstanceOfArray(t))return(t=t.slice(0))[0]=e-t[0],t;if($bm_isInstanceOfArray(e)&&$bm_isInstanceOfArray(t)){for(var r=0,o=e.length,s=t.length,a=[];r<o||r<s;)("number"==typeof e[r]||e[r]instanceof Number)&&("number"==typeof t[r]||t[r]instanceof Number)?a[r]=e[r]-t[r]:a[r]=void 0===t[r]?e[r]:e[r]||t[r],r+=1;return a}return 0}function mul(e,t){var n,i,r,o=_typeof$1(e),s=_typeof$1(t);if(isNumerable(o,e)&&isNumerable(s,t))return e*t;if($bm_isInstanceOfArray(e)&&isNumerable(s,t)){for(r=e.length,n=createTypedArray("float32",r),i=0;i<r;i+=1)n[i]=e[i]*t;return n}if(isNumerable(o,e)&&$bm_isInstanceOfArray(t)){for(r=t.length,n=createTypedArray("float32",r),i=0;i<r;i+=1)n[i]=e*t[i];return n}return 0}function div(e,t){var n,i,r,o=_typeof$1(e),s=_typeof$1(t);if(isNumerable(o,e)&&isNumerable(s,t))return e/t;if($bm_isInstanceOfArray(e)&&isNumerable(s,t)){for(r=e.length,n=createTypedArray("float32",r),i=0;i<r;i+=1)n[i]=e[i]/t;return n}if(isNumerable(o,e)&&$bm_isInstanceOfArray(t)){for(r=t.length,n=createTypedArray("float32",r),i=0;i<r;i+=1)n[i]=e/t[i];return n}return 0}function mod(e,t){return"string"==typeof e&&(e=parseInt(e,10)),"string"==typeof t&&(t=parseInt(t,10)),e%t}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(e,t,n){if(t>n){var i=n;n=t,t=i}return Math.min(Math.max(e,t),n)}function radiansToDegrees(e){return e/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(e){return e*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(e,t){if("number"==typeof e||e instanceof Number)return t=t||0,Math.abs(e-t);var n;t||(t=helperLengthArray);var i=Math.min(e.length,t.length),r=0;for(n=0;n<i;n+=1)r+=Math.pow(t[n]-e[n],2);return Math.sqrt(r)}function normalize(e){return div(e,length(e))}function rgbToHsl(e){var t,n,i=e[0],r=e[1],o=e[2],s=Math.max(i,r,o),a=Math.min(i,r,o),l=(s+a)/2;if(s===a)t=0,n=0;else{var c=s-a;switch(n=l>.5?c/(2-s-a):c/(s+a),s){case i:t=(r-o)/c+(r<o?6:0);break;case r:t=(o-i)/c+2;break;case o:t=(i-r)/c+4}t/=6}return[t,n,l,e[3]]}function hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function hslToRgb(e){var t,n,i,r=e[0],o=e[1],s=e[2];if(0===o)t=s,i=s,n=s;else{var a=s<.5?s*(1+o):s+o-s*o,l=2*s-a;t=hue2rgb(l,a,r+1/3),n=hue2rgb(l,a,r),i=hue2rgb(l,a,r-1/3)}return[t,n,i,e[3]]}function linear(e,t,n,i,r){if(void 0!==i&&void 0!==r||(i=t,r=n,t=0,n=1),n<t){var o=n;n=t,t=o}if(e<=t)return i;if(e>=n)return r;var s,a=n===t?0:(e-t)/(n-t);if(!i.length)return i+(r-i)*a;var l=i.length,c=createTypedArray("float32",l);for(s=0;s<l;s+=1)c[s]=i[s]+(r[s]-i[s])*a;return c}function random(e,t){if(void 0===t&&(void 0===e?(e=0,t=1):(t=e,e=void 0)),t.length){var n,i=t.length;e||(e=createTypedArray("float32",i));var r=createTypedArray("float32",i),o=BMMath.random();for(n=0;n<i;n+=1)r[n]=e[n]+o*(t[n]-e[n]);return r}return void 0===e&&(e=0),e+BMMath.random()*(t-e)}function createPath(e,t,n,i){var r,o=e.length,s=shapePool.newElement();s.setPathData(!!i,o);var a,l,c=[0,0];for(r=0;r<o;r+=1)a=t&&t[r]?t[r]:c,l=n&&n[r]?n[r]:c,s.setTripleAt(e[r][0],e[r][1],l[0]+e[r][0],l[1]+e[r][1],a[0]+e[r][0],a[1]+e[r][1],r,!0);return s}function initiateExpression(elem,data,property){function noOp(e){return e}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=-1!==val.indexOf("random"),elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||!0!==this.data.hd,wiggle=function(e,t){var n,i,r=this.pv.length?this.pv.length:1,o=createTypedArray("float32",r),s=Math.floor(5*time);for(n=0,i=0;n<s;){for(i=0;i<r;i+=1)o[i]+=-t+2*t*BMMath.random();n+=1}var a=5*time,l=a-Math.floor(a),c=createTypedArray("float32",r);if(r>1){for(i=0;i<r;i+=1)c[i]=this.pv[i]+o[i]+(-t+2*t*BMMath.random())*l;return c}return this.pv+o[0]+(-t+2*t*BMMath.random())*l}.bind(this);function loopInDuration(e,t){return loopIn(e,t,!0)}function loopOutDuration(e,t){return loopOut(e,t,!0)}thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty)),this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),time,velocity,value,text,textIndex,textTotal,selectorValue;function lookAt(e,t){var n=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],i=Math.atan2(n[0],Math.sqrt(n[1]*n[1]+n[2]*n[2]))/degToRads;return[-Math.atan2(n[1],n[2])/degToRads,i,0]}function easeOut(e,t,n,i,r){return applyEase(easeOutBez,e,t,n,i,r)}function easeIn(e,t,n,i,r){return applyEase(easeInBez,e,t,n,i,r)}function ease(e,t,n,i,r){return applyEase(easeInOutBez,e,t,n,i,r)}function applyEase(e,t,n,i,r,o){void 0===r?(r=n,o=i):t=(t-n)/(i-n),t>1?t=1:t<0&&(t=0);var s=e(t);if($bm_isInstanceOfArray(r)){var a,l=r.length,c=createTypedArray("float32",l);for(a=0;a<l;a+=1)c[a]=(o[a]-r[a])*s+r[a];return c}return(o-r)*s+r}function nearestKey(e){var t,n,i,r=data.k.length;if(data.k.length&&"number"!=typeof data.k[0])if(n=-1,(e*=elem.comp.globalData.frameRate)<data.k[0].t)n=1,i=data.k[0].t;else{for(t=0;t<r-1;t+=1){if(e===data.k[t].t){n=t+1,i=data.k[t].t;break}if(e>data.k[t].t&&e<data.k[t+1].t){e-data.k[t].t>data.k[t+1].t-e?(n=t+2,i=data.k[t+1].t):(n=t+1,i=data.k[t].t);break}}-1===n&&(n=t+1,i=data.k[t].t)}else n=0,i=0;var o={};return o.index=n,o.time=i/elem.comp.globalData.frameRate,o}function key(e){var t,n,i;if(!data.k.length||"number"==typeof data.k[0])throw new Error("The property has no keyframe at index "+e);e-=1,t={time:data.k[e].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[e],"s")?data.k[e].s:data.k[e-1].e;for(i=r.length,n=0;n<i;n+=1)t[n]=r[n],t.value[n]=r[n];return t}function framesToTime(e,t){return t||(t=elem.comp.globalData.frameRate),e/t}function timeToFrames(e,t){return e||0===e||(e=time),t||(t=elem.comp.globalData.frameRate),e*t}function seedRandom(e){BMMath.seedrandom(randSeed+e)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(e,t){return"string"==typeof value?void 0===t?value.substring(e):value.substring(e,t):""}function substr(e,t){return"string"==typeof value?void 0===t?value.substr(e):value.substr(e,t):""}function posterizeTime(e){time=0===e?0:Math.floor(time*e)/e,value=valueAtTime(time)}var index=elem.data.ind,hasParent=!(!elem.hierarchy||!elem.hierarchy.length),parent,randSeed=Math.floor(1e6*Math.random()),globalData=elem.globalData;function executeExpression(e){return value=e,this.frameExpressionId===elem.globalData.frameId&&"textSelector"!==this.propType?value:("textSelector"===this.propType&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform&&(anchorPoint=transform.anchorPoint)),4!==elemType||content||(content=thisLayer("ADBE Root Vectors Group")),effect||(effect=thisLayer(4)),(hasParent=!(!elem.hierarchy||!elem.hierarchy.length))&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom&&seedRandom(randSeed+time),needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt)}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var e={initExpressions:function(e){var t=0,n=[];e.renderer.compInterface=CompExpressionInterface(e.renderer),e.renderer.globalData.projectInterface.registerComposition(e.renderer),e.renderer.globalData.pushExpression=function(){t+=1},e.renderer.globalData.popExpression=function(){0==(t-=1)&&function(){var e,t=n.length;for(e=0;e<t;e+=1)n[e].release();n.length=0}()},e.renderer.globalData.registerExpressionProperty=function(e){-1===n.indexOf(e)&&n.push(e)}}};return e.resetFrame=ExpressionManager.resetFrame,e}(),MaskManagerInterface=function(){function e(e,t){this._mask=e,this._data=t}return Object.defineProperty(e.prototype,"maskPath",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(e.prototype,"maskOpacity",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),100*this._mask.op.v}}),function(t){var n,i=createSizedArray(t.viewData.length),r=t.viewData.length;for(n=0;n<r;n+=1)i[n]=new e(t.viewData[n],t.masksProperties[n]);return function(e){for(n=0;n<r;){if(t.masksProperties[n].nm===e)return i[n];n+=1}return null}}}(),ExpressionPropertyInterface=function(){var e={pv:0,v:0,mult:1},t={pv:[0,0,0],v:[0,0,0],mult:1};function n(e,t,n){Object.defineProperty(e,"velocity",{get:function(){return t.getVelocityAtTime(t.comp.currentFrame)}}),e.numKeys=t.keyframes?t.keyframes.length:0,e.key=function(i){if(!e.numKeys)return 0;var r="";r="s"in t.keyframes[i-1]?t.keyframes[i-1].s:"e"in t.keyframes[i-2]?t.keyframes[i-2].e:t.keyframes[i-2].s;var o="unidimensional"===n?new Number(r):Object.assign({},r);return o.time=t.keyframes[i-1].t/t.elem.comp.globalData.frameRate,o.value="unidimensional"===n?r[0]:r,o},e.valueAtTime=t.getValueAtTime,e.speedAtTime=t.getSpeedAtTime,e.velocityAtTime=t.getVelocityAtTime,e.propertyGroup=t.propertyGroup}function i(){return e}return function(r){return r?"unidimensional"===r.propType?function(t){t&&"pv"in t||(t=e);var i=1/t.mult,r=t.pv*i,o=new Number(r);return o.value=r,n(o,t,"unidimensional"),function(){return t.k&&t.getValue(),r=t.v*i,o.value!==r&&((o=new Number(r)).value=r,n(o,t,"unidimensional")),o}}(r):function(e){e&&"pv"in e||(e=t);var i=1/e.mult,r=e.data&&e.data.l||e.pv.length,o=createTypedArray("float32",r),s=createTypedArray("float32",r);return o.value=s,n(o,e,"multidimensional"),function(){e.k&&e.getValue();for(var t=0;t<r;t+=1)s[t]=e.v[t]*i,o[t]=s[t];return o}}(r):i}}(),TransformExpressionInterface=function(e){function t(e){switch(e){case"scale":case"Scale":case"ADBE Scale":case 6:return t.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return t.rotation;case"ADBE Rotate X":return t.xRotation;case"ADBE Rotate Y":return t.yRotation;case"position":case"Position":case"ADBE Position":case 2:return t.position;case"ADBE Position_0":return t.xPosition;case"ADBE Position_1":return t.yPosition;case"ADBE Position_2":return t.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return t.anchorPoint;case"opacity":case"Opacity":case 11:return t.opacity;default:return null}}var n,i,r,o;return Object.defineProperty(t,"rotation",{get:ExpressionPropertyInterface(e.r||e.rz)}),Object.defineProperty(t,"zRotation",{get:ExpressionPropertyInterface(e.rz||e.r)}),Object.defineProperty(t,"xRotation",{get:ExpressionPropertyInterface(e.rx)}),Object.defineProperty(t,"yRotation",{get:ExpressionPropertyInterface(e.ry)}),Object.defineProperty(t,"scale",{get:ExpressionPropertyInterface(e.s)}),e.p?o=ExpressionPropertyInterface(e.p):(n=ExpressionPropertyInterface(e.px),i=ExpressionPropertyInterface(e.py),e.pz&&(r=ExpressionPropertyInterface(e.pz))),Object.defineProperty(t,"position",{get:function(){return e.p?o():[n(),i(),r?r():0]}}),Object.defineProperty(t,"xPosition",{get:ExpressionPropertyInterface(e.px)}),Object.defineProperty(t,"yPosition",{get:ExpressionPropertyInterface(e.py)}),Object.defineProperty(t,"zPosition",{get:ExpressionPropertyInterface(e.pz)}),Object.defineProperty(t,"anchorPoint",{get:ExpressionPropertyInterface(e.a)}),Object.defineProperty(t,"opacity",{get:ExpressionPropertyInterface(e.o)}),Object.defineProperty(t,"skew",{get:ExpressionPropertyInterface(e.sk)}),Object.defineProperty(t,"skewAxis",{get:ExpressionPropertyInterface(e.sa)}),Object.defineProperty(t,"orientation",{get:ExpressionPropertyInterface(e.or)}),t},LayerExpressionInterface=function(){function e(e){var t=new Matrix;return void 0!==e?this._elem.finalTransform.mProp.getValueAtTime(e).clone(t):this._elem.finalTransform.mProp.applyToMatrix(t),t}function t(e,t){var n=this.getMatrix(t);return n.props[12]=0,n.props[13]=0,n.props[14]=0,this.applyPoint(n,e)}function n(e,t){var n=this.getMatrix(t);return this.applyPoint(n,e)}function i(e,t){var n=this.getMatrix(t);return n.props[12]=0,n.props[13]=0,n.props[14]=0,this.invertPoint(n,e)}function r(e,t){var n=this.getMatrix(t);return this.invertPoint(n,e)}function o(e,t){if(this._elem.hierarchy&&this._elem.hierarchy.length){var n,i=this._elem.hierarchy.length;for(n=0;n<i;n+=1)this._elem.hierarchy[n].finalTransform.mProp.applyToMatrix(e)}return e.applyToPointArray(t[0],t[1],t[2]||0)}function s(e,t){if(this._elem.hierarchy&&this._elem.hierarchy.length){var n,i=this._elem.hierarchy.length;for(n=0;n<i;n+=1)this._elem.hierarchy[n].finalTransform.mProp.applyToMatrix(e)}return e.inversePoint(t)}function a(e){var t=new Matrix;if(t.reset(),this._elem.finalTransform.mProp.applyToMatrix(t),this._elem.hierarchy&&this._elem.hierarchy.length){var n,i=this._elem.hierarchy.length;for(n=0;n<i;n+=1)this._elem.hierarchy[n].finalTransform.mProp.applyToMatrix(t);return t.inversePoint(e)}return t.inversePoint(e)}function l(){return[1,1,1,1]}return function(c){var u;function h(e){switch(e){case"ADBE Root Vectors Group":case"Contents":case 2:return h.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return u;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return h.effect;case"ADBE Text Properties":return h.textInterface;default:return null}}h.getMatrix=e,h.invertPoint=s,h.applyPoint=o,h.toWorld=n,h.toWorldVec=t,h.fromWorld=r,h.fromWorldVec=i,h.toComp=n,h.fromComp=a,h.sampleImage=l,h.sourceRectAtTime=c.sourceRectAtTime.bind(c),h._elem=c;var d=getDescriptor(u=TransformExpressionInterface(c.finalTransform.mProp),"anchorPoint");return Object.defineProperties(h,{hasParent:{get:function(){return c.hierarchy.length}},parent:{get:function(){return c.hierarchy[0].layerInterface}},rotation:getDescriptor(u,"rotation"),scale:getDescriptor(u,"scale"),position:getDescriptor(u,"position"),opacity:getDescriptor(u,"opacity"),anchorPoint:d,anchor_point:d,transform:{get:function(){return u}},active:{get:function(){return c.isInRange}}}),h.startTime=c.data.st,h.index=c.data.ind,h.source=c.data.refId,h.height=0===c.data.ty?c.data.h:100,h.width=0===c.data.ty?c.data.w:100,h.inPoint=c.data.ip/c.comp.globalData.frameRate,h.outPoint=c.data.op/c.comp.globalData.frameRate,h._name=c.data.nm,h.registerMaskInterface=function(e){h.mask=new MaskManagerInterface(e,c)},h.registerEffectsInterface=function(e){h.effect=e},h}}(),propertyGroupFactory=function(e,t){return function(n){return(n=void 0===n?1:n)<=0?e:t(n-1)}},PropertyInterface=function(e,t){var n={_name:e};return function(e){return(e=void 0===e?1:e)<=0?n:t(e-1)}},EffectsExpressionInterface=function(){var e={createEffectsInterface:function(e,n){if(e.effectsManager){var i,r=[],o=e.data.ef,s=e.effectsManager.effectElements.length;for(i=0;i<s;i+=1)r.push(t(o[i],e.effectsManager.effectElements[i],n,e));var a=e.data.ef||[],l=function(e){for(i=0,s=a.length;i<s;){if(e===a[i].nm||e===a[i].mn||e===a[i].ix)return r[i];i+=1}return null};return Object.defineProperty(l,"numProperties",{get:function(){return a.length}}),l}return null}};function t(e,i,r,o){function s(t){for(var n=e.ef,i=0,r=n.length;i<r;){if(t===n[i].nm||t===n[i].mn||t===n[i].ix)return 5===n[i].ty?c[i]:c[i]();i+=1}throw new Error}var a,l=propertyGroupFactory(s,r),c=[],u=e.ef.length;for(a=0;a<u;a+=1)5===e.ef[a].ty?c.push(t(e.ef[a],i.effectElements[a],i.effectElements[a].propertyGroup,o)):c.push(n(i.effectElements[a],e.ef[a].ty,o,l));return"ADBE Color Control"===e.mn&&Object.defineProperty(s,"color",{get:function(){return c[0]()}}),Object.defineProperties(s,{numProperties:{get:function(){return e.np}},_name:{value:e.nm},propertyGroup:{value:l}}),s.enabled=0!==e.en,s.active=s.enabled,s}function n(e,t,n,i){var r=ExpressionPropertyInterface(e.p);return e.p.setGroupProperty&&e.p.setGroupProperty(PropertyInterface("",i)),function(){return 10===t?n.comp.compInterface(e.p.v):r()}}return e}(),ShapePathInterface=function(e,t,n){var i=t.sh;function r(e){return"Shape"===e||"shape"===e||"Path"===e||"path"===e||"ADBE Vector Shape"===e||2===e?r.path:null}var o=propertyGroupFactory(r,n);return i.setGroupProperty(PropertyInterface("Path",o)),Object.defineProperties(r,{path:{get:function(){return i.k&&i.getValue(),i}},shape:{get:function(){return i.k&&i.getValue(),i}},_name:{value:e.nm},ix:{value:e.ix},propertyIndex:{value:e.ix},mn:{value:e.mn},propertyGroup:{value:n}}),r},ShapeExpressionInterface=function(){function e(e,s,d){var p,f=[],m=e?e.length:0;for(p=0;p<m;p+=1)"gr"===e[p].ty?f.push(t(e[p],s[p],d)):"fl"===e[p].ty?f.push(n(e[p],s[p],d)):"st"===e[p].ty?f.push(r(e[p],s[p],d)):"tm"===e[p].ty?f.push(o(e[p],s[p],d)):"tr"===e[p].ty||("el"===e[p].ty?f.push(a(e[p],s[p],d)):"sr"===e[p].ty?f.push(l(e[p],s[p],d)):"sh"===e[p].ty?f.push(ShapePathInterface(e[p],s[p],d)):"rc"===e[p].ty?f.push(c(e[p],s[p],d)):"rd"===e[p].ty?f.push(u(e[p],s[p],d)):"rp"===e[p].ty?f.push(h(e[p],s[p],d)):"gf"===e[p].ty?f.push(i(e[p],s[p],d)):f.push((e[p],s[p],function(){return null})));return f}function t(t,n,i){var r=function(e){switch(e){case"ADBE Vectors Group":case"Contents":case 2:return r.content;default:return r.transform}};r.propertyGroup=propertyGroupFactory(r,i);var o=function(t,n,i){var r,o=function(e){for(var t=0,n=r.length;t<n;){if(r[t]._name===e||r[t].mn===e||r[t].propertyIndex===e||r[t].ix===e||r[t].ind===e)return r[t];t+=1}return"number"==typeof e?r[e-1]:null};o.propertyGroup=propertyGroupFactory(o,i),r=e(t.it,n.it,o.propertyGroup),o.numProperties=r.length;var a=s(t.it[t.it.length-1],n.it[n.it.length-1],o.propertyGroup);return o.transform=a,o.propertyIndex=t.cix,o._name=t.nm,o}(t,n,r.propertyGroup),a=s(t.it[t.it.length-1],n.it[n.it.length-1],r.propertyGroup);return r.content=o,r.transform=a,Object.defineProperty(r,"_name",{get:function(){return t.nm}}),r.numProperties=t.np,r.propertyIndex=t.ix,r.nm=t.nm,r.mn=t.mn,r}function n(e,t,n){function i(e){return"Color"===e||"color"===e?i.color:"Opacity"===e||"opacity"===e?i.opacity:null}return Object.defineProperties(i,{color:{get:ExpressionPropertyInterface(t.c)},opacity:{get:ExpressionPropertyInterface(t.o)},_name:{value:e.nm},mn:{value:e.mn}}),t.c.setGroupProperty(PropertyInterface("Color",n)),t.o.setGroupProperty(PropertyInterface("Opacity",n)),i}function i(e,t,n){function i(e){return"Start Point"===e||"start point"===e?i.startPoint:"End Point"===e||"end point"===e?i.endPoint:"Opacity"===e||"opacity"===e?i.opacity:null}return Object.defineProperties(i,{startPoint:{get:ExpressionPropertyInterface(t.s)},endPoint:{get:ExpressionPropertyInterface(t.e)},opacity:{get:ExpressionPropertyInterface(t.o)},type:{get:function(){return"a"}},_name:{value:e.nm},mn:{value:e.mn}}),t.s.setGroupProperty(PropertyInterface("Start Point",n)),t.e.setGroupProperty(PropertyInterface("End Point",n)),t.o.setGroupProperty(PropertyInterface("Opacity",n)),i}function r(e,t,n){var i,r=propertyGroupFactory(c,n),o=propertyGroupFactory(l,r);function s(n){Object.defineProperty(l,e.d[n].nm,{get:ExpressionPropertyInterface(t.d.dataProps[n].p)})}var a=e.d?e.d.length:0,l={};for(i=0;i<a;i+=1)s(i),t.d.dataProps[i].p.setGroupProperty(o);function c(e){return"Color"===e||"color"===e?c.color:"Opacity"===e||"opacity"===e?c.opacity:"Stroke Width"===e||"stroke width"===e?c.strokeWidth:null}return Object.defineProperties(c,{color:{get:ExpressionPropertyInterface(t.c)},opacity:{get:ExpressionPropertyInterface(t.o)},strokeWidth:{get:ExpressionPropertyInterface(t.w)},dash:{get:function(){return l}},_name:{value:e.nm},mn:{value:e.mn}}),t.c.setGroupProperty(PropertyInterface("Color",r)),t.o.setGroupProperty(PropertyInterface("Opacity",r)),t.w.setGroupProperty(PropertyInterface("Stroke Width",r)),c}function o(e,t,n){function i(t){return t===e.e.ix||"End"===t||"end"===t?i.end:t===e.s.ix?i.start:t===e.o.ix?i.offset:null}var r=propertyGroupFactory(i,n);return i.propertyIndex=e.ix,t.s.setGroupProperty(PropertyInterface("Start",r)),t.e.setGroupProperty(PropertyInterface("End",r)),t.o.setGroupProperty(PropertyInterface("Offset",r)),i.propertyIndex=e.ix,i.propertyGroup=n,Object.defineProperties(i,{start:{get:ExpressionPropertyInterface(t.s)},end:{get:ExpressionPropertyInterface(t.e)},offset:{get:ExpressionPropertyInterface(t.o)},_name:{value:e.nm}}),i.mn=e.mn,i}function s(e,t,n){function i(t){return e.a.ix===t||"Anchor Point"===t?i.anchorPoint:e.o.ix===t||"Opacity"===t?i.opacity:e.p.ix===t||"Position"===t?i.position:e.r.ix===t||"Rotation"===t||"ADBE Vector Rotation"===t?i.rotation:e.s.ix===t||"Scale"===t?i.scale:e.sk&&e.sk.ix===t||"Skew"===t?i.skew:e.sa&&e.sa.ix===t||"Skew Axis"===t?i.skewAxis:null}var r=propertyGroupFactory(i,n);return t.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",r)),t.transform.mProps.p.setGroupProperty(PropertyInterface("Position",r)),t.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",r)),t.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",r)),t.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",r)),t.transform.mProps.sk&&(t.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",r)),t.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",r))),t.transform.op.setGroupProperty(PropertyInterface("Opacity",r)),Object.defineProperties(i,{opacity:{get:ExpressionPropertyInterface(t.transform.mProps.o)},position:{get:ExpressionPropertyInterface(t.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(t.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(t.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(t.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(t.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(t.transform.mProps.sa)},_name:{value:e.nm}}),i.ty="tr",i.mn=e.mn,i.propertyGroup=n,i}function a(e,t,n){function i(t){return e.p.ix===t?i.position:e.s.ix===t?i.size:null}var r=propertyGroupFactory(i,n);i.propertyIndex=e.ix;var o="tm"===t.sh.ty?t.sh.prop:t.sh;return o.s.setGroupProperty(PropertyInterface("Size",r)),o.p.setGroupProperty(PropertyInterface("Position",r)),Object.defineProperties(i,{size:{get:ExpressionPropertyInterface(o.s)},position:{get:ExpressionPropertyInterface(o.p)},_name:{value:e.nm}}),i.mn=e.mn,i}function l(e,t,n){function i(t){return e.p.ix===t?i.position:e.r.ix===t?i.rotation:e.pt.ix===t?i.points:e.or.ix===t||"ADBE Vector Star Outer Radius"===t?i.outerRadius:e.os.ix===t?i.outerRoundness:!e.ir||e.ir.ix!==t&&"ADBE Vector Star Inner Radius"!==t?e.is&&e.is.ix===t?i.innerRoundness:null:i.innerRadius}var r=propertyGroupFactory(i,n),o="tm"===t.sh.ty?t.sh.prop:t.sh;return i.propertyIndex=e.ix,o.or.setGroupProperty(PropertyInterface("Outer Radius",r)),o.os.setGroupProperty(PropertyInterface("Outer Roundness",r)),o.pt.setGroupProperty(PropertyInterface("Points",r)),o.p.setGroupProperty(PropertyInterface("Position",r)),o.r.setGroupProperty(PropertyInterface("Rotation",r)),e.ir&&(o.ir.setGroupProperty(PropertyInterface("Inner Radius",r)),o.is.setGroupProperty(PropertyInterface("Inner Roundness",r))),Object.defineProperties(i,{position:{get:ExpressionPropertyInterface(o.p)},rotation:{get:ExpressionPropertyInterface(o.r)},points:{get:ExpressionPropertyInterface(o.pt)},outerRadius:{get:ExpressionPropertyInterface(o.or)},outerRoundness:{get:ExpressionPropertyInterface(o.os)},innerRadius:{get:ExpressionPropertyInterface(o.ir)},innerRoundness:{get:ExpressionPropertyInterface(o.is)},_name:{value:e.nm}}),i.mn=e.mn,i}function c(e,t,n){function i(t){return e.p.ix===t?i.position:e.r.ix===t?i.roundness:e.s.ix===t||"Size"===t||"ADBE Vector Rect Size"===t?i.size:null}var r=propertyGroupFactory(i,n),o="tm"===t.sh.ty?t.sh.prop:t.sh;return i.propertyIndex=e.ix,o.p.setGroupProperty(PropertyInterface("Position",r)),o.s.setGroupProperty(PropertyInterface("Size",r)),o.r.setGroupProperty(PropertyInterface("Rotation",r)),Object.defineProperties(i,{position:{get:ExpressionPropertyInterface(o.p)},roundness:{get:ExpressionPropertyInterface(o.r)},size:{get:ExpressionPropertyInterface(o.s)},_name:{value:e.nm}}),i.mn=e.mn,i}function u(e,t,n){function i(t){return e.r.ix===t||"Round Corners 1"===t?i.radius:null}var r=propertyGroupFactory(i,n),o=t;return i.propertyIndex=e.ix,o.rd.setGroupProperty(PropertyInterface("Radius",r)),Object.defineProperties(i,{radius:{get:ExpressionPropertyInterface(o.rd)},_name:{value:e.nm}}),i.mn=e.mn,i}function h(e,t,n){function i(t){return e.c.ix===t||"Copies"===t?i.copies:e.o.ix===t||"Offset"===t?i.offset:null}var r=propertyGroupFactory(i,n),o=t;return i.propertyIndex=e.ix,o.c.setGroupProperty(PropertyInterface("Copies",r)),o.o.setGroupProperty(PropertyInterface("Offset",r)),Object.defineProperties(i,{copies:{get:ExpressionPropertyInterface(o.c)},offset:{get:ExpressionPropertyInterface(o.o)},_name:{value:e.nm}}),i.mn=e.mn,i}return function(t,n,i){var r;function o(e){if("number"==typeof e)return 0===(e=void 0===e?1:e)?i:r[e-1];for(var t=0,n=r.length;t<n;){if(r[t]._name===e)return r[t];t+=1}return null}return o.propertyGroup=propertyGroupFactory(o,(function(){return i})),r=e(t,n,o.propertyGroup),o.numProperties=r.length,o._name="Contents",o}}(),TextExpressionInterface=function(e){var t;function n(e){return"ADBE Text Document"===e?n.sourceText:null}return Object.defineProperty(n,"sourceText",{get:function(){e.textProperty.getValue();var n=e.textProperty.currentData.t;return t&&n===t.value||((t=new String(n)).value=n||new String(n),Object.defineProperty(t,"style",{get:function(){return{fillColor:e.textProperty.currentData.fc}}})),t}}),n};function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}var FootageInterface=(dataInterfaceFactory=function(e){function t(e){return"Outline"===e?t.outlineInterface():null}return t._name="Outline",t.outlineInterface=function(e){var t="",n=e.getFootageData();function i(e){if(n[e])return t=e,"object"===_typeof(n=n[e])?i:n;var r=e.indexOf(t);if(-1!==r){var o=parseInt(e.substr(r+t.length),10);return"object"===_typeof(n=n[o])?i:n}return""}return function(){return t="",n=e.getFootageData(),i}}(e),t},function(e){function t(e){return"Data"===e?t.dataInterface:null}return t._name="Data",t.dataInterface=dataInterfaceFactory(e),t}),dataInterfaceFactory,interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(e){return interfaces[e]||null}var expressionHelpers={searchExpressions:function(e,t,n){t.x&&(n.k=!0,n.x=!0,n.initiateExpression=ExpressionManager.initiateExpression,n.effectsSequence.push(n.initiateExpression(e,t,n).bind(n)))},getSpeedAtTime:function(e){var t=this.getValueAtTime(e),n=this.getValueAtTime(e+-.01),i=0;if(t.length){var r;for(r=0;r<t.length;r+=1)i+=Math.pow(n[r]-t[r],2);i=100*Math.sqrt(i)}else i=0;return i},getVelocityAtTime:function(e){if(void 0!==this.vel)return this.vel;var t,n,i=-.001,r=this.getValueAtTime(e),o=this.getValueAtTime(e+i);if(r.length)for(t=createTypedArray("float32",r.length),n=0;n<r.length;n+=1)t[n]=(o[n]-r[n])/i;else t=(o-r)/i;return t},getValueAtTime:function(e){return e*=this.elem.globalData.frameRate,(e-=this.offsetTime)!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<e?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(e,this._cachingAtTime),this._cachingAtTime.lastFrame=e),this._cachingAtTime.value},getStaticValueAtTime:function(){return this.pv},setGroupProperty:function(e){this.propertyGroup=e}};function addPropertyDecorator(){function e(e,t,n){if(!this.k||!this.keyframes)return this.pv;e=e?e.toLowerCase():"";var i,r,o,s,a,l=this.comp.renderedFrame,c=this.keyframes,u=c[c.length-1].t;if(l<=u)return this.pv;if(n?r=u-(i=t?Math.abs(u-this.elem.comp.globalData.frameRate*t):Math.max(0,u-this.elem.data.ip)):((!t||t>c.length-1)&&(t=c.length-1),i=u-(r=c[c.length-1-t].t)),"pingpong"===e){if(Math.floor((l-r)/i)%2!=0)return this.getValueAtTime((i-(l-r)%i+r)/this.comp.globalData.frameRate,0)}else{if("offset"===e){var h=this.getValueAtTime(r/this.comp.globalData.frameRate,0),d=this.getValueAtTime(u/this.comp.globalData.frameRate,0),p=this.getValueAtTime(((l-r)%i+r)/this.comp.globalData.frameRate,0),f=Math.floor((l-r)/i);if(this.pv.length){for(s=(a=new Array(h.length)).length,o=0;o<s;o+=1)a[o]=(d[o]-h[o])*f+p[o];return a}return(d-h)*f+p}if("continue"===e){var m=this.getValueAtTime(u/this.comp.globalData.frameRate,0),g=this.getValueAtTime((u-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(s=(a=new Array(m.length)).length,o=0;o<s;o+=1)a[o]=m[o]+(m[o]-g[o])*((l-u)/this.comp.globalData.frameRate)/5e-4;return a}return m+(l-u)/.001*(m-g)}}return this.getValueAtTime(((l-r)%i+r)/this.comp.globalData.frameRate,0)}function t(e,t,n){if(!this.k)return this.pv;e=e?e.toLowerCase():"";var i,r,o,s,a,l=this.comp.renderedFrame,c=this.keyframes,u=c[0].t;if(l>=u)return this.pv;if(n?r=u+(i=t?Math.abs(this.elem.comp.globalData.frameRate*t):Math.max(0,this.elem.data.op-u)):((!t||t>c.length-1)&&(t=c.length-1),i=(r=c[t].t)-u),"pingpong"===e){if(Math.floor((u-l)/i)%2==0)return this.getValueAtTime(((u-l)%i+u)/this.comp.globalData.frameRate,0)}else{if("offset"===e){var h=this.getValueAtTime(u/this.comp.globalData.frameRate,0),d=this.getValueAtTime(r/this.comp.globalData.frameRate,0),p=this.getValueAtTime((i-(u-l)%i+u)/this.comp.globalData.frameRate,0),f=Math.floor((u-l)/i)+1;if(this.pv.length){for(s=(a=new Array(h.length)).length,o=0;o<s;o+=1)a[o]=p[o]-(d[o]-h[o])*f;return a}return p-(d-h)*f}if("continue"===e){var m=this.getValueAtTime(u/this.comp.globalData.frameRate,0),g=this.getValueAtTime((u+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(s=(a=new Array(m.length)).length,o=0;o<s;o+=1)a[o]=m[o]+(m[o]-g[o])*(u-l)/.001;return a}return m+(m-g)*(u-l)/.001}}return this.getValueAtTime((i-((u-l)%i+u))/this.comp.globalData.frameRate,0)}function n(e,t){if(!this.k)return this.pv;if(e=.5*(e||.4),(t=Math.floor(t||5))<=1)return this.pv;var n,i,r=this.comp.renderedFrame/this.comp.globalData.frameRate,o=r-e,s=t>1?(r+e-o)/(t-1):1,a=0,l=0;for(n=this.pv.length?createTypedArray("float32",this.pv.length):0;a<t;){if(i=this.getValueAtTime(o+a*s),this.pv.length)for(l=0;l<this.pv.length;l+=1)n[l]+=i[l];else n+=i;a+=1}if(this.pv.length)for(l=0;l<this.pv.length;l+=1)n[l]/=t;else n/=t;return n}function i(e){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var t=this._transformCachingAtTime.v;if(t.cloneFromProps(this.pre.props),this.appliedTransformations<1){var n=this.a.getValueAtTime(e);t.translate(-n[0]*this.a.mult,-n[1]*this.a.mult,n[2]*this.a.mult)}if(this.appliedTransformations<2){var i=this.s.getValueAtTime(e);t.scale(i[0]*this.s.mult,i[1]*this.s.mult,i[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var r=this.sk.getValueAtTime(e),o=this.sa.getValueAtTime(e);t.skewFromAxis(-r*this.sk.mult,o*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var s=this.r.getValueAtTime(e);t.rotate(-s*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var a=this.rz.getValueAtTime(e),l=this.ry.getValueAtTime(e),c=this.rx.getValueAtTime(e),u=this.or.getValueAtTime(e);t.rotateZ(-a*this.rz.mult).rotateY(l*this.ry.mult).rotateX(c*this.rx.mult).rotateZ(-u[2]*this.or.mult).rotateY(u[1]*this.or.mult).rotateX(u[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var h=this.px.getValueAtTime(e),d=this.py.getValueAtTime(e);if(this.data.p.z){var p=this.pz.getValueAtTime(e);t.translate(h*this.px.mult,d*this.py.mult,-p*this.pz.mult)}else t.translate(h*this.px.mult,d*this.py.mult,0)}else{var f=this.p.getValueAtTime(e);t.translate(f[0]*this.p.mult,f[1]*this.p.mult,-f[2]*this.p.mult)}return t}function r(){return this.v.clone(new Matrix)}var o=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(e,t,n){var s=o(e,t,n);return s.dynamicProperties.length?s.getValueAtTime=i.bind(s):s.getValueAtTime=r.bind(s),s.setGroupProperty=expressionHelpers.setGroupProperty,s};var s=PropertyFactory.getProp;PropertyFactory.getProp=function(i,r,o,a,l){var c=s(i,r,o,a,l);c.kf?c.getValueAtTime=expressionHelpers.getValueAtTime.bind(c):c.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(c),c.setGroupProperty=expressionHelpers.setGroupProperty,c.loopOut=e,c.loopIn=t,c.smooth=n,c.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(c),c.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(c),c.numKeys=1===r.a?r.k.length:0,c.propertyIndex=r.ix;var u=0;return 0!==o&&(u=createTypedArray("float32",1===r.a?r.k[0].s.length:r.k.length)),c._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:u},expressionHelpers.searchExpressions(i,r,c),c.k&&l.addDynamicProperty(c),c};var a=ShapePropertyFactory.getConstructorFunction(),l=ShapePropertyFactory.getKeyframedConstructorFunction();function c(){}c.prototype={vertices:function(e,t){this.k&&this.getValue();var n,i=this.v;void 0!==t&&(i=this.getValueAtTime(t,0));var r=i._length,o=i[e],s=i.v,a=createSizedArray(r);for(n=0;n<r;n+=1)a[n]="i"===e||"o"===e?[o[n][0]-s[n][0],o[n][1]-s[n][1]]:[o[n][0],o[n][1]];return a},points:function(e){return this.vertices("v",e)},inTangents:function(e){return this.vertices("i",e)},outTangents:function(e){return this.vertices("o",e)},isClosed:function(){return this.v.c},pointOnPath:function(e,t){var n=this.v;void 0!==t&&(n=this.getValueAtTime(t,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(n));for(var i,r=this._segmentsLength,o=r.lengths,s=r.totalLength*e,a=0,l=o.length,c=0;a<l;){if(c+o[a].addedLength>s){var u=a,h=n.c&&a===l-1?0:a+1,d=(s-c)/o[a].addedLength;i=bez.getPointInSegment(n.v[u],n.v[h],n.o[u],n.i[h],d,o[a]);break}c+=o[a].addedLength,a+=1}return i||(i=n.c?[n.v[0][0],n.v[0][1]]:[n.v[n._length-1][0],n.v[n._length-1][1]]),i},vectorOnPath:function(e,t,n){1==e?e=this.v.c:0==e&&(e=.999);var i=this.pointOnPath(e,t),r=this.pointOnPath(e+.001,t),o=r[0]-i[0],s=r[1]-i[1],a=Math.sqrt(Math.pow(o,2)+Math.pow(s,2));return 0===a?[0,0]:"tangent"===n?[o/a,s/a]:[-s/a,o/a]},tangentOnPath:function(e,t){return this.vectorOnPath(e,t,"tangent")},normalOnPath:function(e,t){return this.vectorOnPath(e,t,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([c],a),extendPrototype([c],l),l.prototype.getValueAtTime=function(e){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),e*=this.elem.globalData.frameRate,(e-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<e?this._caching.lastIndex:0,this._cachingAtTime.lastTime=e,this.interpolateShape(e,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue},l.prototype.initiateExpression=ExpressionManager.initiateExpression;var u=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(e,t,n,i,r){var o=u(e,t,n,i,r);return o.propertyIndex=t.ix,o.lock=!1,3===n?expressionHelpers.searchExpressions(e,t.pt,o):4===n&&expressionHelpers.searchExpressions(e,t.ks,o),o.k&&e.addDynamicProperty(o),o}}function initialize$1(){addPropertyDecorator()}function addDecorator(){TextProperty.prototype.getExpressionValue=function(e,t){var n=this.calculateExpression(t);if(e.t!==n){var i={};return this.copyData(i,e),i.t=n.toString(),i.__complete=!1,i}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),t=this.searchExpressions();return this.kf=e||t,this.kf},TextProperty.prototype.searchExpressions=function(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function(e,t){var n,i,r=createNS("feMerge");for(r.setAttribute("result",e),i=0;i<t.length;i+=1)(n=createNS("feMergeNode")).setAttribute("in",t[i]),r.appendChild(n),r.appendChild(n);return r}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(e,t,n,i,r){this.filterManager=t;var o=createNS("feColorMatrix");o.setAttribute("type","matrix"),o.setAttribute("color-interpolation-filters","linearRGB"),o.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=o,o.setAttribute("result",i+"_tint_1"),e.appendChild(o),(o=createNS("feColorMatrix")).setAttribute("type","matrix"),o.setAttribute("color-interpolation-filters","sRGB"),o.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),o.setAttribute("result",i+"_tint_2"),e.appendChild(o),this.matrixFilter=o;var s=this.createMergeNode(i,[r,i+"_tint_1",i+"_tint_2"]);e.appendChild(s)}function SVGFillFilter(e,t,n,i){this.filterManager=t;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),r.setAttribute("result",i),e.appendChild(r),this.matrixFilter=r}function SVGStrokeEffect(e,t,n){this.initialized=!1,this.filterManager=t,this.elem=n,this.paths=[]}function SVGTritoneFilter(e,t,n,i){this.filterManager=t;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","linearRGB"),r.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),e.appendChild(r);var o=createNS("feComponentTransfer");o.setAttribute("color-interpolation-filters","sRGB"),o.setAttribute("result",i),this.matrixFilter=o;var s=createNS("feFuncR");s.setAttribute("type","table"),o.appendChild(s),this.feFuncR=s;var a=createNS("feFuncG");a.setAttribute("type","table"),o.appendChild(a),this.feFuncG=a;var l=createNS("feFuncB");l.setAttribute("type","table"),o.appendChild(l),this.feFuncB=l,e.appendChild(o)}function SVGProLevelsFilter(e,t,n,i){this.filterManager=t;var r=this.filterManager.effectElements,o=createNS("feComponentTransfer");(r[10].p.k||0!==r[10].p.v||r[11].p.k||1!==r[11].p.v||r[12].p.k||1!==r[12].p.v||r[13].p.k||0!==r[13].p.v||r[14].p.k||1!==r[14].p.v)&&(this.feFuncR=this.createFeFunc("feFuncR",o)),(r[17].p.k||0!==r[17].p.v||r[18].p.k||1!==r[18].p.v||r[19].p.k||1!==r[19].p.v||r[20].p.k||0!==r[20].p.v||r[21].p.k||1!==r[21].p.v)&&(this.feFuncG=this.createFeFunc("feFuncG",o)),(r[24].p.k||0!==r[24].p.v||r[25].p.k||1!==r[25].p.v||r[26].p.k||1!==r[26].p.v||r[27].p.k||0!==r[27].p.v||r[28].p.k||1!==r[28].p.v)&&(this.feFuncB=this.createFeFunc("feFuncB",o)),(r[31].p.k||0!==r[31].p.v||r[32].p.k||1!==r[32].p.v||r[33].p.k||1!==r[33].p.v||r[34].p.k||0!==r[34].p.v||r[35].p.k||1!==r[35].p.v)&&(this.feFuncA=this.createFeFunc("feFuncA",o)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(o.setAttribute("color-interpolation-filters","sRGB"),e.appendChild(o)),(r[3].p.k||0!==r[3].p.v||r[4].p.k||1!==r[4].p.v||r[5].p.k||1!==r[5].p.v||r[6].p.k||0!==r[6].p.v||r[7].p.k||1!==r[7].p.v)&&((o=createNS("feComponentTransfer")).setAttribute("color-interpolation-filters","sRGB"),o.setAttribute("result",i),e.appendChild(o),this.feFuncRComposed=this.createFeFunc("feFuncR",o),this.feFuncGComposed=this.createFeFunc("feFuncG",o),this.feFuncBComposed=this.createFeFunc("feFuncB",o))}function SVGDropShadowEffect(e,t,n,i,r){var o=t.container.globalData.renderConfig.filterSize,s=t.data.fs||o;e.setAttribute("x",s.x||o.x),e.setAttribute("y",s.y||o.y),e.setAttribute("width",s.width||o.width),e.setAttribute("height",s.height||o.height),this.filterManager=t;var a=createNS("feGaussianBlur");a.setAttribute("in","SourceAlpha"),a.setAttribute("result",i+"_drop_shadow_1"),a.setAttribute("stdDeviation","0"),this.feGaussianBlur=a,e.appendChild(a);var l=createNS("feOffset");l.setAttribute("dx","25"),l.setAttribute("dy","0"),l.setAttribute("in",i+"_drop_shadow_1"),l.setAttribute("result",i+"_drop_shadow_2"),this.feOffset=l,e.appendChild(l);var c=createNS("feFlood");c.setAttribute("flood-color","#00ff00"),c.setAttribute("flood-opacity","1"),c.setAttribute("result",i+"_drop_shadow_3"),this.feFlood=c,e.appendChild(c);var u=createNS("feComposite");u.setAttribute("in",i+"_drop_shadow_3"),u.setAttribute("in2",i+"_drop_shadow_2"),u.setAttribute("operator","in"),u.setAttribute("result",i+"_drop_shadow_4"),e.appendChild(u);var h=this.createMergeNode(i,[i+"_drop_shadow_4",r]);e.appendChild(h)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=this.filterManager.effectElements[0].p.v,n=this.filterManager.effectElements[1].p.v,i=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+i+" 0"),this.matrixFilter.setAttribute("values",n[0]-t[0]+" 0 0 0 "+t[0]+" "+(n[1]-t[1])+" 0 0 0 "+t[1]+" "+(n[2]-t[2])+" 0 0 0 "+t[2]+" 0 0 0 1 0")}},SVGFillFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=this.filterManager.effectElements[2].p.v,n=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+t[0]+" 0 0 0 0 "+t[1]+" 0 0 0 0 "+t[2]+" 0 0 0 "+n+" 0")}},SVGStrokeEffect.prototype.initialize=function(){var e,t,n,i,r=this.elem.layerElement.children||this.elem.layerElement.childNodes;for(1===this.filterManager.effectElements[1].p.v?(i=this.elem.maskManager.masksProperties.length,n=0):i=1+(n=this.filterManager.effectElements[0].p.v-1),(t=createNS("g")).setAttribute("fill","none"),t.setAttribute("stroke-linecap","round"),t.setAttribute("stroke-dashoffset",1);n<i;n+=1)e=createNS("path"),t.appendChild(e),this.paths.push({p:e,m:n});if(3===this.filterManager.effectElements[10].p.v){var o=createNS("mask"),s=createElementID();o.setAttribute("id",s),o.setAttribute("mask-type","alpha"),o.appendChild(t),this.elem.globalData.defs.appendChild(o);var a=createNS("g");for(a.setAttribute("mask","url("+getLocationHref()+"#"+s+")");r[0];)a.appendChild(r[0]);this.elem.layerElement.appendChild(a),this.masker=o,t.setAttribute("stroke","#fff")}else if(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v){if(2===this.filterManager.effectElements[10].p.v)for(r=this.elem.layerElement.children||this.elem.layerElement.childNodes;r.length;)this.elem.layerElement.removeChild(r[0]);this.elem.layerElement.appendChild(t),this.elem.layerElement.removeAttribute("mask"),t.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=t},SVGStrokeEffect.prototype.renderFrame=function(e){var t;this.initialized||this.initialize();var n,i,r=this.paths.length;for(t=0;t<r;t+=1)if(-1!==this.paths[t].m&&(n=this.elem.maskManager.viewData[this.paths[t].m],i=this.paths[t].p,(e||this.filterManager._mdf||n.prop._mdf)&&i.setAttribute("d",n.lastPath),e||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||n.prop._mdf)){var o;if(0!==this.filterManager.effectElements[7].p.v||100!==this.filterManager.effectElements[8].p.v){var s=.01*Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),a=.01*Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),l=i.getTotalLength();o="0 0 0 "+l*s+" ";var c,u=l*(a-s),h=1+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01,d=Math.floor(u/h);for(c=0;c<d;c+=1)o+="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01+" ";o+="0 "+10*l+" 0 0"}else o="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01;i.setAttribute("stroke-dasharray",o)}if((e||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute("stroke-width",2*this.filterManager.effectElements[4].p.v),(e||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v),(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v)&&(e||this.filterManager.effectElements[3].p._mdf)){var p=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(255*p[0])+","+bmFloor(255*p[1])+","+bmFloor(255*p[2])+")")}},SVGTritoneFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=this.filterManager.effectElements[0].p.v,n=this.filterManager.effectElements[1].p.v,i=this.filterManager.effectElements[2].p.v,r=i[0]+" "+n[0]+" "+t[0],o=i[1]+" "+n[1]+" "+t[1],s=i[2]+" "+n[2]+" "+t[2];this.feFuncR.setAttribute("tableValues",r),this.feFuncG.setAttribute("tableValues",o),this.feFuncB.setAttribute("tableValues",s)}},SVGProLevelsFilter.prototype.createFeFunc=function(e,t){var n=createNS(e);return n.setAttribute("type","table"),t.appendChild(n),n},SVGProLevelsFilter.prototype.getTableValue=function(e,t,n,i,r){for(var o,s,a=0,l=Math.min(e,t),c=Math.max(e,t),u=Array.call(null,{length:256}),h=0,d=r-i,p=t-e;a<=256;)s=(o=a/256)<=l?p<0?r:i:o>=c?p<0?i:r:i+d*Math.pow((o-e)/p,1/n),u[h]=s,h+=1,a+=256/255;return u.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t,n=this.filterManager.effectElements;this.feFuncRComposed&&(e||n[3].p._mdf||n[4].p._mdf||n[5].p._mdf||n[6].p._mdf||n[7].p._mdf)&&(t=this.getTableValue(n[3].p.v,n[4].p.v,n[5].p.v,n[6].p.v,n[7].p.v),this.feFuncRComposed.setAttribute("tableValues",t),this.feFuncGComposed.setAttribute("tableValues",t),this.feFuncBComposed.setAttribute("tableValues",t)),this.feFuncR&&(e||n[10].p._mdf||n[11].p._mdf||n[12].p._mdf||n[13].p._mdf||n[14].p._mdf)&&(t=this.getTableValue(n[10].p.v,n[11].p.v,n[12].p.v,n[13].p.v,n[14].p.v),this.feFuncR.setAttribute("tableValues",t)),this.feFuncG&&(e||n[17].p._mdf||n[18].p._mdf||n[19].p._mdf||n[20].p._mdf||n[21].p._mdf)&&(t=this.getTableValue(n[17].p.v,n[18].p.v,n[19].p.v,n[20].p.v,n[21].p.v),this.feFuncG.setAttribute("tableValues",t)),this.feFuncB&&(e||n[24].p._mdf||n[25].p._mdf||n[26].p._mdf||n[27].p._mdf||n[28].p._mdf)&&(t=this.getTableValue(n[24].p.v,n[25].p.v,n[26].p.v,n[27].p.v,n[28].p.v),this.feFuncB.setAttribute("tableValues",t)),this.feFuncA&&(e||n[31].p._mdf||n[32].p._mdf||n[33].p._mdf||n[34].p._mdf||n[35].p._mdf)&&(t=this.getTableValue(n[31].p.v,n[32].p.v,n[33].p.v,n[34].p.v,n[35].p.v),this.feFuncA.setAttribute("tableValues",t))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){if((e||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),e||this.filterManager.effectElements[0].p._mdf){var t=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*t[0]),Math.round(255*t[1]),Math.round(255*t[2])))}if((e||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),e||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var n=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,r=n*Math.cos(i),o=n*Math.sin(i);this.feOffset.setAttribute("dx",r),this.feOffset.setAttribute("dy",o)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(e,t,n){this.initialized=!1,this.filterManager=t,this.filterElem=e,this.elem=n,n.matteElement=createNS("g"),n.matteElement.appendChild(n.layerElement),n.matteElement.appendChild(n.transformedElement),n.baseElement=n.matteElement}function SVGGaussianBlurEffect(e,t,n,i){e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width","300%"),e.setAttribute("height","300%"),this.filterManager=t;var r=createNS("feGaussianBlur");r.setAttribute("result",i),e.appendChild(r),this.feGaussianBlur=r}function TransformEffect(){}function SVGTransformEffect(e,t){this.init(t)}function CVTransformEffect(e){this.init(e)}return SVGMatte3Effect.prototype.findSymbol=function(e){for(var t=0,n=_svgMatteSymbols.length;t<n;){if(_svgMatteSymbols[t]===e)return _svgMatteSymbols[t];t+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(e,t){var n=e.layerElement.parentNode;if(n){for(var i,r=n.children,o=0,s=r.length;o<s&&r[o]!==e.layerElement;)o+=1;o<=s-2&&(i=r[o+1]);var a=createNS("use");a.setAttribute("href","#"+t),i?n.insertBefore(a,i):n.appendChild(a)}},SVGMatte3Effect.prototype.setElementAsMask=function(e,t){if(!this.findSymbol(t)){var n=createElementID(),i=createNS("mask");i.setAttribute("id",t.layerId),i.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(t);var r=e.globalData.defs;r.appendChild(i);var o=createNS("symbol");o.setAttribute("id",n),this.replaceInParent(t,n),o.appendChild(t.layerElement),r.appendChild(o);var s=createNS("use");s.setAttribute("href","#"+n),i.appendChild(s),t.data.hd=!1,t.show()}e.setMatte(t.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var e=this.filterManager.effectElements[0].p.v,t=this.elem.comp.elements,n=0,i=t.length;n<i;)t[n]&&t[n].data.ind===e&&this.setElementAsMask(this.elem,t[n]),n+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()},SVGGaussianBlurEffect.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=.3*this.filterManager.effectElements[0].p.v,n=this.filterManager.effectElements[1].p.v,i=3==n?0:t,r=2==n?0:t;this.feGaussianBlur.setAttribute("stdDeviation",i+" "+r);var o=1==this.filterManager.effectElements[2].p.v?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",o)}},TransformEffect.prototype.init=function(e){this.effectsManager=e,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(e){if(this._opMdf=!1,this._mdf=!1,e||this.effectsManager._mdf){var t=this.effectsManager.effectElements,n=t[0].p.v,i=t[1].p.v,r=1===t[2].p.v,o=t[3].p.v,s=r?o:t[4].p.v,a=t[5].p.v,l=t[6].p.v,c=t[7].p.v;this.matrix.reset(),this.matrix.translate(-n[0],-n[1],n[2]),this.matrix.scale(.01*s,.01*o,1),this.matrix.rotate(-c*degToRads),this.matrix.skewFromAxis(-a*degToRads,(l+90)*degToRads),this.matrix.translate(i[0],i[1],0),this._mdf=!0,this.opacity!==t[8].p.v&&(this.opacity=t[8].p.v,this._opMdf=!0)}},extendPrototype([TransformEffect],SVGTransformEffect),extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie},module.exports=factory())})(lottie,lottieExports);const Lottie=lottieExports;var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeGlobal$1=freeGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal$1||freeSelf||Function("return this")(),root$1=root,Symbol$1=root$1.Symbol,Symbol$2=Symbol$1,objectProto$e=Object.prototype,hasOwnProperty$b=objectProto$e.hasOwnProperty,nativeObjectToString$1=objectProto$e.toString,symToStringTag$1=Symbol$2?Symbol$2.toStringTag:void 0;function getRawTag(t){var n=hasOwnProperty$b.call(t,symToStringTag$1),i=t[symToStringTag$1];try{t[symToStringTag$1]=void 0;var r=!0}catch(e){}var o=nativeObjectToString$1.call(t);return r&&(n?t[symToStringTag$1]=i:delete t[symToStringTag$1]),o}var objectProto$d=Object.prototype,nativeObjectToString=objectProto$d.toString;function objectToString(e){return nativeObjectToString.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$2?Symbol$2.toStringTag:void 0;function baseGetTag(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return null!=e&&"object"==typeof e}var isArray$1=Array.isArray,isArray$1$1=isArray$1;function isObject(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$1(e){if(!isObject(e))return!1;var t=baseGetTag(e);return t==funcTag$2||t==genTag$1||t==asyncTag||t==proxyTag}var coreJsData=root$1["__core-js_shared__"],coreJsData$1=coreJsData,maskSrcKey=function(){var e=/[^.]+$/.exec(coreJsData$1&&coreJsData$1.keys&&coreJsData$1.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function isMasked(e){return!!maskSrcKey&&maskSrcKey in e}var funcProto$1=Function.prototype,funcToString$1=funcProto$1.toString;function toSource(t){if(null!=t){try{return funcToString$1.call(t)}catch(e){}try{return t+""}catch(e){}}return""}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto=Function.prototype,objectProto$c=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$a=objectProto$c.hasOwnProperty,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty$a).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(e){return!(!isObject(e)||isMasked(e))&&(isFunction$1(e)?reIsNative:reIsHostCtor).test(toSource(e))}function getValue$1(e,t){return null==e?void 0:e[t]}function getNative(e,t){var n=getValue$1(e,t);return baseIsNative(n)?n:void 0}var WeakMap$1=getNative(root$1,"WeakMap"),WeakMap$1$1=WeakMap$1,objectCreate=Object.create,baseCreate=function(){function e(){}return function(t){if(!isObject(t))return{};if(objectCreate)return objectCreate(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),baseCreate$1=baseCreate;function copyArray(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}var defineProperty=function(){try{var t=getNative(Object,"defineProperty");return t({},"",{}),t}catch(e){}}(),defineProperty$1=defineProperty;function arrayEach(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e}var MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,t){var n=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$1:t)&&("number"==n||"symbol"!=n&&reIsUint.test(e))&&e>-1&&e%1==0&&e<t}function baseAssignValue(e,t,n){"__proto__"==t&&defineProperty$1?defineProperty$1(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function eq(e,t){return e===t||e!=e&&t!=t}var objectProto$b=Object.prototype,hasOwnProperty$9=objectProto$b.hasOwnProperty;function assignValue(e,t,n){var i=e[t];hasOwnProperty$9.call(e,t)&&eq(i,n)&&(void 0!==n||t in e)||baseAssignValue(e,t,n)}function copyObject(e,t,n,i){var r=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var a=t[o],l=i?i(n[a],e[a],a,n,e):void 0;void 0===l&&(l=e[a]),r?baseAssignValue(n,a,l):assignValue(n,a,l)}return n}var MAX_SAFE_INTEGER=9007199254740991;function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction$1(e)}var objectProto$a=Object.prototype;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||objectProto$a)}function baseTimes(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}var argsTag$3="[object Arguments]";function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==argsTag$3}var objectProto$9=Object.prototype,hasOwnProperty$8=objectProto$9.hasOwnProperty,propertyIsEnumerable$1=objectProto$9.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&hasOwnProperty$8.call(e,"callee")&&!propertyIsEnumerable$1.call(e,"callee")},isArguments$1=isArguments;function stubFalse(){return!1}var freeExports$2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$1=moduleExports$2?root$1.Buffer:void 0,nativeIsBuffer=Buffer$1?Buffer$1.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse,isBuffer$1=isBuffer,argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$1="[object Function]",mapTag$5="[object Map]",numberTag$3="[object Number]",objectTag$3="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$3="[object String]",weakMapTag$2="[object WeakMap]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};function baseIsTypedArray(e){return isObjectLike(e)&&isLength(e.length)&&!!typedArrayTags[baseGetTag(e)]}function baseUnary(e){return function(t){return e(t)}}typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0,typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$3]=typedArrayTags[objectTag$3]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$3]=typedArrayTags[weakMapTag$2]=!1;var freeExports$1="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal$1.process,nodeUtil=function(){try{var t=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return t||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeUtil$1=nodeUtil,nodeIsTypedArray=nodeUtil$1&&nodeUtil$1.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,isTypedArray$1=isTypedArray,objectProto$8=Object.prototype,hasOwnProperty$7=objectProto$8.hasOwnProperty;function arrayLikeKeys(e,t){var n=isArray$1$1(e),i=!n&&isArguments$1(e),r=!n&&!i&&isBuffer$1(e),o=!n&&!i&&!r&&isTypedArray$1(e),s=n||i||r||o,a=s?baseTimes(e.length,String):[],l=a.length;for(var c in e)!t&&!hasOwnProperty$7.call(e,c)||s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||isIndex(c,l))||a.push(c);return a}function overArg(e,t){return function(n){return e(t(n))}}var nativeKeys=overArg(Object.keys,Object),nativeKeys$1=nativeKeys,objectProto$7=Object.prototype,hasOwnProperty$6=objectProto$7.hasOwnProperty;function baseKeys(e){if(!isPrototype(e))return nativeKeys$1(e);var t=[];for(var n in Object(e))hasOwnProperty$6.call(e,n)&&"constructor"!=n&&t.push(n);return t}function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}function nativeKeysIn(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}var objectProto$6=Object.prototype,hasOwnProperty$5=objectProto$6.hasOwnProperty;function baseKeysIn(e){if(!isObject(e))return nativeKeysIn(e);var t=isPrototype(e),n=[];for(var i in e)("constructor"!=i||!t&&hasOwnProperty$5.call(e,i))&&n.push(i);return n}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}var nativeCreate=getNative(Object,"create"),nativeCreate$1=nativeCreate;function hashClear(){this.__data__=nativeCreate$1?nativeCreate$1(null):{},this.size=0}function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$5=Object.prototype,hasOwnProperty$4=objectProto$5.hasOwnProperty;function hashGet(e){var t=this.__data__;if(nativeCreate$1){var n=t[e];return n===HASH_UNDEFINED$2?void 0:n}return hasOwnProperty$4.call(t,e)?t[e]:void 0}var objectProto$4=Object.prototype,hasOwnProperty$3=objectProto$4.hasOwnProperty;function hashHas(e){var t=this.__data__;return nativeCreate$1?void 0!==t[e]:hasOwnProperty$3.call(t,e)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=nativeCreate$1&&void 0===t?HASH_UNDEFINED$1:t,this}function Hash(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function listCacheClear(){this.__data__=[],this.size=0}function assocIndexOf(e,t){for(var n=e.length;n--;)if(eq(e[n][0],t))return n;return-1}Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet;var arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(e){var t=this.__data__,n=assocIndexOf(t,e);return!(n<0)&&(n==t.length-1?t.pop():splice.call(t,n,1),--this.size,!0)}function listCacheGet(e){var t=this.__data__,n=assocIndexOf(t,e);return n<0?void 0:t[n][1]}function listCacheHas(e){return assocIndexOf(this.__data__,e)>-1}function listCacheSet(e,t){var n=this.__data__,i=assocIndexOf(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}function ListCache(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet;var Map$1=getNative(root$1,"Map"),Map$1$1=Map$1;function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1$1||ListCache),string:new Hash}}function isKeyable(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function getMapData(e,t){var n=e.__data__;return isKeyable(t)?n["string"==typeof t?"string":"hash"]:n.map}function mapCacheDelete(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t}function mapCacheGet(e){return getMapData(this,e).get(e)}function mapCacheHas(e){return getMapData(this,e).has(e)}function mapCacheSet(e,t){var n=getMapData(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}function MapCache(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function arrayPush(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet;var getPrototype=overArg(Object.getPrototypeOf,Object),getPrototype$1=getPrototype;function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function stackGet(e){return this.__data__.get(e)}function stackHas(e){return this.__data__.has(e)}var LARGE_ARRAY_SIZE=200;function stackSet(e,t){var n=this.__data__;if(n instanceof ListCache){var i=n.__data__;if(!Map$1$1||i.length<LARGE_ARRAY_SIZE-1)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new MapCache(i)}return n.set(e,t),this.size=n.size,this}function Stack$2(e){var t=this.__data__=new ListCache(e);this.size=t.size}function baseAssign(e,t){return e&&copyObject(t,keys(t),e)}function baseAssignIn(e,t){return e&&copyObject(t,keysIn(t),e)}Stack$2.prototype.clear=stackClear,Stack$2.prototype.delete=stackDelete,Stack$2.prototype.get=stackGet,Stack$2.prototype.has=stackHas,Stack$2.prototype.set=stackSet;var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer$2=moduleExports?root$1.Buffer:void 0,allocUnsafe=Buffer$2?Buffer$2.allocUnsafe:void 0;function cloneBuffer(e,t){if(t)return e.slice();var n=e.length,i=allocUnsafe?allocUnsafe(n):new e.constructor(n);return e.copy(i),i}function arrayFilter(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var s=e[n];t(s,n,e)&&(o[r++]=s)}return o}function stubArray(){return[]}var objectProto$3=Object.prototype,propertyIsEnumerable=objectProto$3.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(e){return null==e?[]:(e=Object(e),arrayFilter(nativeGetSymbols$1(e),(function(t){return propertyIsEnumerable.call(e,t)})))}:stubArray,getSymbols$1=getSymbols;function copySymbols(e,t){return copyObject(e,getSymbols$1(e),t)}var nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(e){for(var t=[];e;)arrayPush(t,getSymbols$1(e)),e=getPrototype$1(e);return t}:stubArray,getSymbolsIn$1=getSymbolsIn;function copySymbolsIn(e,t){return copyObject(e,getSymbolsIn$1(e),t)}function baseGetAllKeys(e,t,n){var i=t(e);return isArray$1$1(e)?i:arrayPush(i,n(e))}function getAllKeys(e){return baseGetAllKeys(e,keys,getSymbols$1)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,getSymbolsIn$1)}var DataView$1=getNative(root$1,"DataView"),DataView$1$1=DataView$1,Promise$1=getNative(root$1,"Promise"),Promise$2=Promise$1,Set$2=getNative(root$1,"Set"),Set$1$1=Set$2,mapTag$4="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$4="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView$1$1),mapCtorString=toSource(Map$1$1),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$1$1),weakMapCtorString=toSource(WeakMap$1$1),getTag=baseGetTag;(DataView$1$1&&getTag(new DataView$1$1(new ArrayBuffer(1)))!=dataViewTag$3||Map$1$1&&getTag(new Map$1$1)!=mapTag$4||Promise$2&&getTag(Promise$2.resolve())!=promiseTag||Set$1$1&&getTag(new Set$1$1)!=setTag$4||WeakMap$1$1&&getTag(new WeakMap$1$1)!=weakMapTag$1)&&(getTag=function(e){var t=baseGetTag(e),n=t==objectTag$2?e.constructor:void 0,i=n?toSource(n):"";if(i)switch(i){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$4;case promiseCtorString:return promiseTag;case setCtorString:return setTag$4;case weakMapCtorString:return weakMapTag$1}return t});var getTag$1=getTag,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function initCloneArray(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&hasOwnProperty$2.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var Uint8Array$1=root$1.Uint8Array,Uint8Array$1$1=Uint8Array$1;function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new Uint8Array$1$1(t).set(new Uint8Array$1$1(e)),t}function cloneDataView(e,t){var n=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var reFlags=/\w*$/;function cloneRegExp(e){var t=new e.constructor(e.source,reFlags.exec(e));return t.lastIndex=e.lastIndex,t}var symbolProto$1=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf$1=symbolProto$1?symbolProto$1.valueOf:void 0;function cloneSymbol(e){return symbolValueOf$1?Object(symbolValueOf$1.call(e)):{}}function cloneTypedArray(e,t){var n=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var boolTag$2="[object Boolean]",dateTag$2="[object Date]",mapTag$3="[object Map]",numberTag$2="[object Number]",regexpTag$2="[object RegExp]",setTag$3="[object Set]",stringTag$2="[object String]",symbolTag$2="[object Symbol]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(e,t,n){var i=e.constructor;switch(t){case arrayBufferTag$2:return cloneArrayBuffer(e);case boolTag$2:case dateTag$2:return new i(+e);case dataViewTag$2:return cloneDataView(e,n);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(e,n);case mapTag$3:return new i;case numberTag$2:case stringTag$2:return new i(e);case regexpTag$2:return cloneRegExp(e);case setTag$3:return new i;case symbolTag$2:return cloneSymbol(e)}}function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:baseCreate$1(getPrototype$1(e))}var mapTag$2="[object Map]";function baseIsMap(e){return isObjectLike(e)&&getTag$1(e)==mapTag$2}var nodeIsMap=nodeUtil$1&&nodeUtil$1.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,isMap$1=isMap,setTag$2="[object Set]";function baseIsSet(e){return isObjectLike(e)&&getTag$1(e)==setTag$2}var nodeIsSet=nodeUtil$1&&nodeUtil$1.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,isSet$1=isSet,CLONE_DEEP_FLAG$1=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$1=4,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$1="[object Map]",numberTag$1="[object Number]",objectTag$1="[object Object]",regexpTag$1="[object RegExp]",setTag$1="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};function baseClone(e,t,n,i,r,o){var s,a=t&CLONE_DEEP_FLAG$1,l=t&CLONE_FLAT_FLAG,c=t&CLONE_SYMBOLS_FLAG$1;if(n&&(s=r?n(e,i,r,o):n(e)),void 0!==s)return s;if(!isObject(e))return e;var u=isArray$1$1(e);if(u){if(s=initCloneArray(e),!a)return copyArray(e,s)}else{var h=getTag$1(e),d=h==funcTag||h==genTag;if(isBuffer$1(e))return cloneBuffer(e,a);if(h==objectTag$1||h==argsTag$1||d&&!r){if(s=l||d?{}:initCloneObject(e),!a)return l?copySymbolsIn(e,baseAssignIn(s,e)):copySymbols(e,baseAssign(s,e))}else{if(!cloneableTags[h])return r?e:{};s=initCloneByTag(e,h,a)}}o||(o=new Stack$2);var p=o.get(e);if(p)return p;o.set(e,s),isSet$1(e)?e.forEach((function(i){s.add(baseClone(i,t,n,i,e,o))})):isMap$1(e)&&e.forEach((function(i,r){s.set(r,baseClone(i,t,n,r,e,o))}));var f=u?void 0:(c?l?getAllKeysIn:getAllKeys:l?keysIn:keys)(e);return arrayEach(f||e,(function(i,r){f&&(i=e[r=i]),assignValue(s,r,baseClone(i,t,n,r,e,o))})),s}cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$1]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$1]=cloneableTags[dateTag$1]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$1]=cloneableTags[numberTag$1]=cloneableTags[objectTag$1]=cloneableTags[regexpTag$1]=cloneableTags[setTag$1]=cloneableTags[stringTag$1]=cloneableTags[symbolTag$1]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep(e){return baseClone(e,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(e){return this.__data__.set(e,HASH_UNDEFINED),this}function setCacheHas(e){return this.__data__.has(e)}function SetCache(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new MapCache;++t<n;)this.add(e[t])}function arraySome(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}function cacheHas(e,t){return e.has(t)}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas;var COMPARE_PARTIAL_FLAG$3=1,COMPARE_UNORDERED_FLAG$1=2;function equalArrays(e,t,n,i,r,o){var s=n&COMPARE_PARTIAL_FLAG$3,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=o.get(e),u=o.get(t);if(c&&u)return c==t&&u==e;var h=-1,d=!0,p=n&COMPARE_UNORDERED_FLAG$1?new SetCache:void 0;for(o.set(e,t),o.set(t,e);++h<a;){var f=e[h],m=t[h];if(i)var g=s?i(m,f,h,t,e,o):i(f,m,h,e,t,o);if(void 0!==g){if(g)continue;d=!1;break}if(p){if(!arraySome(t,(function(e,t){if(!cacheHas(p,t)&&(f===e||r(f,e,n,i,o)))return p.push(t)}))){d=!1;break}}else if(f!==m&&!r(f,m,n,i,o)){d=!1;break}}return o.delete(e),o.delete(t),d}function mapToArray(e){var t=-1,n=Array(e.size);return e.forEach((function(e,i){n[++t]=[i,e]})),n}function setToArray(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var COMPARE_PARTIAL_FLAG$2=1,COMPARE_UNORDERED_FLAG=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(e,t,n,i,r,o,s){switch(n){case dataViewTag:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case arrayBufferTag:return!(e.byteLength!=t.byteLength||!o(new Uint8Array$1$1(e),new Uint8Array$1$1(t)));case boolTag:case dateTag:case numberTag:return eq(+e,+t);case errorTag:return e.name==t.name&&e.message==t.message;case regexpTag:case stringTag:return e==t+"";case mapTag:var a=mapToArray;case setTag:var l=i&COMPARE_PARTIAL_FLAG$2;if(a||(a=setToArray),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;i|=COMPARE_UNORDERED_FLAG,s.set(e,t);var u=equalArrays(a(e),a(t),i,r,o,s);return s.delete(e),u;case symbolTag:if(symbolValueOf)return symbolValueOf.call(e)==symbolValueOf.call(t)}return!1}var COMPARE_PARTIAL_FLAG$1=1,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function equalObjects(e,t,n,i,r,o){var s=n&COMPARE_PARTIAL_FLAG$1,a=getAllKeys(e),l=a.length;if(l!=getAllKeys(t).length&&!s)return!1;for(var c=l;c--;){var u=a[c];if(!(s?u in t:hasOwnProperty$1.call(t,u)))return!1}var h=o.get(e),d=o.get(t);if(h&&d)return h==t&&d==e;var p=!0;o.set(e,t),o.set(t,e);for(var f=s;++c<l;){var m=e[u=a[c]],g=t[u];if(i)var v=s?i(g,m,u,t,e,o):i(m,g,u,e,t,o);if(!(void 0===v?m===g||r(m,g,n,i,o):v)){p=!1;break}f||(f="constructor"==u)}if(p&&!f){var b=e.constructor,y=t.constructor;b==y||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y||(p=!1)}return o.delete(e),o.delete(t),p}var COMPARE_PARTIAL_FLAG=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep(e,t,n,i,r,o){var s=isArray$1$1(e),a=isArray$1$1(t),l=s?arrayTag:getTag$1(e),c=a?arrayTag:getTag$1(t),u=(l=l==argsTag?objectTag:l)==objectTag,h=(c=c==argsTag?objectTag:c)==objectTag,d=l==c;if(d&&isBuffer$1(e)){if(!isBuffer$1(t))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Stack$2),s||isTypedArray$1(e)?equalArrays(e,t,n,i,r,o):equalByTag(e,t,l,n,i,r,o);if(!(n&COMPARE_PARTIAL_FLAG)){var p=u&&hasOwnProperty.call(e,"__wrapped__"),f=h&&hasOwnProperty.call(t,"__wrapped__");if(p||f){var m=p?e.value():e,g=f?t.value():t;return o||(o=new Stack$2),r(m,g,n,i,o)}}return!!d&&(o||(o=new Stack$2),equalObjects(e,t,n,i,r,o))}function baseIsEqual(e,t,n,i,r){return e===t||(null==e||null==t||!isObjectLike(e)&&!isObjectLike(t)?e!=e&&t!=t:baseIsEqualDeep(e,t,n,i,baseIsEqual,r))}function isEqual(e,t){return baseIsEqual(e,t)}var _export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n};const _sfc_main=defineComponent({props:{animationData:{type:Object,default:()=>({})},animationLink:{type:String,default:""},loop:{type:[Boolean,Number],default:!0},autoPlay:{type:Boolean,default:!0},width:{type:[Number,String],default:"100%"},height:{type:[Number,String],default:"100%"},speed:{type:Number,default:1},delay:{type:Number,default:0},direction:{type:String,default:"forward"},pauseOnHover:{type:Boolean,default:!1},playOnHover:{type:Boolean,default:!1},backgroundColor:{type:String,default:"transparent"},pauseAnimation:{type:Boolean,default:!1},renderer:{type:String,default:"svg"},rendererSettings:{type:Object,default:()=>({})},assetsPath:{type:String,default:""}},emits:{onComplete:null,onLoopComplete:null,onEnterFrame:null,onSegmentStart:null,onAnimationLoaded:null},setup(e,{emit:t}){let n=ref(null);const i=ref("");let r=1;const o=computed((()=>{let t=e.width,n=e.height;return"number"==typeof e.width&&(t=`${e.width}px`),"number"==typeof e.height&&(n=`${e.height}px`),{"--lottie-animation-container-width":t,"--lottie-animation-container-height":n,"--lottie-animation-container-background-color":e.backgroundColor}}));watch((()=>e.pauseAnimation),(()=>{(e.pauseOnHover||e.playOnHover)&&e.pauseAnimation?console.error("If you are using pauseAnimation prop for Vue3-Lottie, please remove the props pauseOnHover and playOnHover"):n&&(e.pauseAnimation?n.pause():n.play())}));const s=i=>{if(e.pauseOnHover&&e.playOnHover)throw new Error("You cannot set pauseOnHover and playOnHover for Vue3-Lottie at the same time.");if(""===e.animationLink&&isEqual(e.animationData,{}))throw new Error("You must provide either animationLink or animationData");const o=setInterval((()=>{if((e=>null!==document.querySelector(`[data-id="${e}"]`))(i)){clearInterval(o);const s=document.querySelector(`[data-id="${i}" ]`);s&&(async i=>{let o=e.autoPlay;e.playOnHover&&(o=!1);let s={};if(!1===isEqual(e.animationData,{})&&(s=cloneDeep(e.animationData)),""!=e.animationLink)try{const t=await fetch(e.animationLink);s=await t.json()}catch(c){return void console.error(c)}let a=e.loop;"number"==typeof a&&a>0&&(a-=1),e.delay>0&&(o=!1);const l={container:i,renderer:e.renderer,loop:a,autoplay:o,animationData:s,assetsPath:e.assetsPath};!1===isEqual(e.rendererSettings,{})&&(l.rendererSettings=e.rendererSettings),n=Lottie.loadAnimation(l),setTimeout((()=>{o=e.autoPlay,e.playOnHover?n.pause():o?n.play():n.pause(),t("onAnimationLoaded")}),e.delay),n.setSpeed(e.speed),"reverse"===e.direction&&n.setDirection(-1),"normal"===e.direction&&n.setDirection(1),(e.pauseAnimation||e.playOnHover)&&n.pause(),n.addEventListener("loopComplete",(()=>{"alternate"===e.direction&&(n.stop(),r*=-1,n.setDirection(r),n.play()),t("onLoopComplete")})),n.addEventListener("complete",(()=>{t("onComplete")})),n.addEventListener("enterFrame",(()=>{t("onEnterFrame")})),n.addEventListener("segmentStart",(()=>{t("onSegmentStart")}))})(s)}}),0)};return onMounted((async()=>{i.value=(e=>{for(var t="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=n.length,r=0;r<e;r++)t+=n.charAt(Math.floor(Math.random()*i));return t})(20),s(i.value)})),{elementid:i,hoverEnded:()=>{n&&e.pauseOnHover&&n.play(),n&&e.playOnHover&&n.pause()},hoverStarted:()=>{n&&e.pauseOnHover&&n.pause(),n&&e.playOnHover&&n.play()},getCurrentStyle:o,play:()=>{n&&n.play()},pause:()=>{n&&n.pause()},stop:()=>{n&&n.stop()},destroy:()=>{n&&n.destroy()},setSpeed:(e=1)=>{if(e<=0)throw new Error("Speed must be greater than 0");n&&n.setSpeed(e)},setDirection:e=>{n&&("forward"===e?n.setDirection(1):"reverse"===e&&n.setDirection(-1))},goToAndStop:(e,t=!0)=>{n&&n.goToAndStop(e,t)},goToAndPlay:(e,t=!0)=>{n&&n.goToAndPlay(e,t)},playSegments:(e,t=!1)=>{n&&n.playSegments(e,t)},setSubFrame:(e=!0)=>{n&&n.setSubframe(e)},getDuration:(e=!0)=>{if(n)return n.getDuration(e)},updateDocumentData:(e,t=0)=>{n&&n.renderer.elements[t].updateDocumentData(e)}}}}),_hoisted_1=["data-id"];function _sfc_render(e,t,n,i,r,o){return openBlock(),createElementBlock("div",{"data-id":e.elementid,class:"lottie-animation-container",style:normalizeStyle(e.getCurrentStyle),onMouseenter:t[0]||(t[0]=(...t)=>e.hoverStarted&&e.hoverStarted(...t)),onMouseleave:t[1]||(t[1]=(...t)=>e.hoverEnded&&e.hoverEnded(...t))},null,44,_hoisted_1)}var Vue3Lottie=exports("aA",_export_sfc(_sfc_main,[["render",_sfc_render]]));const v="5.7.1",fr=25,ip=0,op=50,w=120,h=120,nm="转动",ddd=0,assets=[],layers=[{ddd:0,ind:1,ty:4,nm:"转动",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[60,60,0],ix:2},a:{a:0,k:[-16,-36,0],ix:1},s:{a:0,k:[23.737,23.737,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{d:1,ty:"el",s:{a:0,k:[447.14,447.14],ix:2},p:{a:0,k:[0,0],ix:3},nm:"椭圆路径 1",mn:"ADBE Vector Shape - Ellipse",hd:!1},{ty:"st",c:{a:0,k:[.125490196078,.741176470588,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:46,ix:5},lc:2,lj:1,ml:4,bm:0,nm:"描边 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[-16,-36],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"椭圆 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1},{ty:"tm",s:{a:0,k:0,ix:1},e:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[0],e:[50]},{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:25,s:[50],e:[0]},{t:50}],ix:2},o:{a:1,k:[{i:{x:[.833],y:[.833]},o:{x:[.167],y:[.167]},t:0,s:[0],e:[720]},{t:50}],ix:3},m:1,ix:2,nm:"修剪路径 1",mn:"ADBE Vector Filter - Trim",hd:!1}],ip:0,op:50,st:0,bm:0},{ddd:0,ind:2,ty:4,nm:"底",sr:1,ks:{o:{a:0,k:30,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[60,60,0],ix:2},a:{a:0,k:[-16,-36,0],ix:1},s:{a:0,k:[23.737,23.737,100],ix:6}},ao:0,shapes:[{ty:"gr",it:[{d:1,ty:"el",s:{a:0,k:[447.14,447.14],ix:2},p:{a:0,k:[0,0],ix:3},nm:"椭圆路径 1",mn:"ADBE Vector Shape - Ellipse",hd:!1},{ty:"st",c:{a:0,k:[1,1,1,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:46,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"描边 1",mn:"ADBE Vector Graphic - Stroke",hd:!1},{ty:"tr",p:{a:0,k:[-16,-36],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"变换"}],nm:"椭圆 1",np:3,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:!1}],ip:0,op:50,st:0,bm:0}],markers=[],loading={v:v,fr:fr,ip:ip,op:op,w:w,h:h,nm:nm,ddd:ddd,assets:assets,layers:layers,markers:markers},AbnormalPop=defineComponent({name:"abnormal-pop",props:{},emits:["close","confirm"],setup:(e,{emit:t})=>()=>createVNode(Fragment,null,[0===evaluatingData.socketErrorStatus&&createVNode("div",{class:styles$3.fraction},[createVNode("img",{class:styles$3.close,src:popImgs.icon_close,onClick:()=>t("close")},null),createVNode("img",{class:styles$3.bg,src:popImgs.icon_bg},null),createVNode("div",{class:styles$3.content},[createVNode("div",{class:styles$3.title},[createTextVNode("您的网络连接异常")]),createVNode("div",{class:styles$3.desc},[createTextVNode("请确保网络正常后重新连接")])]),createVNode("div",null,[createVNode("img",{src:popImgs.icon_btn,class:styles$3.btn,onClick:()=>t("confirm",!0)},null)])]),1===evaluatingData.socketErrorStatus&&createVNode("div",{class:styles$3.loadColumn},[createVNode(Vue3Lottie,{class:styles$3.loadIcon,animationData:loading,loop:!0},null),createVNode("img",{class:styles$3.close,src:popImgs.icon_close,onClick:()=>t("close")},null),createVNode("p",null,[createTextVNode("正在连接服务器,请稍后…")])]),2===evaluatingData.socketErrorStatus&&createVNode("div",{class:styles$3.loadColumn},[createVNode("img",{class:styles$3.successIcon,src:popImgs.icon_success},null),createVNode("p",null,[createTextVNode("连接成功")])])])}),icon_bg=""+new URL("../svg/icon_bg-026faf73.svg",module.meta.url).href,icon_close=""+new URL("../svg/icon_close-0f82fcc9.svg",module.meta.url).href,icon_btn=""+new URL("../svg/icon_btn-f3b09ea8.svg",module.meta.url).href,icon_success=""+new URL("../svg/icon_success-6e9ec0d6.svg",module.meta.url).href,browserInfo$1=browser();let socketStartTime=0;const popImgs={icon_bg:icon_bg,icon_close:icon_close,icon_btn:icon_btn,icon_success:icon_success},evaluatingData=exports("p",reactive({contentData:{},rendered:!1,earphone:!1,soundEffect:!1,soundEffectFrequency:0,checkStep:0,checkEnd:!1,earphoneMode:!1,soundEffectMode:!1,websocketState:!1,startBegin:!1,backtime:0,evaluatings:{},resultData:{},resulstMode:!1,isComplete:!1,isDisabledPlayMusic:!1,socketErrorPop:!1,errorContents:"",socketErrorStatus:0,delayCheckSocketError:!1,isErrorState:!1,accompanyErrorType:"",isAudioPlayEnd:!1,preloadJson:!0,jsonLoading:!1,jsonLoadDone:!1})),sendOffsetTime=async e=>{var t;const n=await api_getDeviceDelay();api_midiMicDelay({header:{commond:"audioPlayStart",type:"SOUND_COMPARE"},body:{offsetTime:e,micDelay:null==n||null===(t=n.content)||void 0===t?void 0:t.value}})},handleStartEvaluat=exports("C",(async()=>{if("evaluating"===state$1.modeType)handleCancelEvaluat();else if("PC"!==state$1.platform){var e;const t=await api_checkSocketStatus();"connected"===(null==t||null===(e=t.content)||void 0===e?void 0:e.status)&&handleStopPlay()}else handleStopPlay();state$1.modeType="evaluating"===state$1.modeType?"practise":"evaluating","evaluating"!==state$1.modeType&&(evaluatingData.rendered=!1)})),startCheckDelay=exports("bg",(async()=>{var e;const t=await api_checkSocketStatus();return"connected"===(null==t||null===(e=t.content)||void 0===e?void 0:e.status)?new Promise((e=>{e({checked:!0})})):(socketStartTime=+new Date,evaluatingData.socketErrorPop=!0,evaluatingData.socketErrorStatus=1,new Promise((e=>{e({checked:!1})})))})),check_currentTime=()=>{let e=0;state$1.isSelectMeasureMode&&(e=1e3*state$1.section[0].time);1e3*getAudioCurrentTime()-e>=500?sendEvaluatingOffsetTime(500):setTimeout((()=>{check_currentTime()}),10)},sendEvaluatingOffsetTime=async e=>{if(!evaluatingData.backtime)return;const t=Date.now()-evaluatingData.backtime-e;console.error("真正播放延迟",t,"currentTime:",e),await api_proxyServiceMessage({header:{commond:"audioPlayStart",type:"SOUND_COMPARE"},body:{offsetTime:t<0?0:t,micDelay:0}})},checkUseEarphone=exports("bd",(async()=>{var e;const t=await getEarphone();return(null==t||null===(e=t.content)||void 0===e?void 0:e.checkIsWired)||!1})),handleEndSoundCheck=exports("A",(()=>{endSoundCheck()})),connectWebsocket=exports("G",(async e=>{evaluatingData.contentData=e,evaluatingData.websocketState=!0})),handlePerformDetection=exports("x",(async()=>{if(!evaluatingData.checkEnd){if(0===evaluatingData.checkStep){if(evaluatingData.checkStep=5,state$1.setting.soundEffect)return void(evaluatingData.soundEffectMode=!0);const e=await api_getDeviceDelay();return console.log("🚀 ~ delayTime:",e),e?void handlePerformDetection():void(evaluatingData.soundEffectMode=!0)}if(evaluatingData.checkStep=5){evaluatingData.checkStep=10;return await checkUseEarphone()?void handlePerformDetection():void(evaluatingData.earphoneMode=!0)}10===evaluatingData.checkStep&&(evaluatingData.checkEnd=!0)}})),addMeasureScore=exports("au",((e,t=!0)=>{for(let n in evaluatingData.evaluatings)evaluatingData.evaluatings[n].show=!1;evaluatingData.evaluatings[e.measureRenderIndex]={...e,leve:getLeveByScoreMeasure(e.score),show:t}})),handleScoreResult=e=>{if(console.log("返回",e),null!=e&&e.content){const{header:t,body:n}=e.content;"checking"===t.commond&&(evaluatingData.soundEffectFrequency=n.frequency),"measureScore"===(null==t?void 0:t.commond)&&(console.log("🚀 ~ 评测返回:",e),addMeasureScore(n)),"overall"===(null==t?void 0:t.commond)&&(console.log("🚀 ~ 评测返回:",e),state$1.isHideEvaluatReportSaveBtn=!1,setTimeout((()=>{evaluatingData.resulstMode=!evaluatingData.isErrorState}),200),evaluatingData.resultData={...n,...getLeveByScore(n.score)},closeToast())}},handleStartBegin=exports("y",(async e=>{var t;state$1.isAppPlay&&await api_cloudSetCurrentTime({currentTime:0,songID:state$1.examSongId}),evaluatingData.isComplete=!1,evaluatingData.evaluatings={},evaluatingData.resultData={},evaluatingData.backtime=0,resetPlaybackToStart(),evaluatingData.isAudioPlayEnd=!1;const n=await startEvaluating(evaluatingData.contentData);if("startEvaluating"!==(null==n?void 0:n.api))return Snackbar$1.error("请在APP端进行评测"),void(evaluatingData.startBegin=!1);var i;if(null!=n&&null!==(t=n.content)&&void 0!==t&&t.reson)return showToast(null===(i=n.content)||void 0===i?void 0:i.des),void(evaluatingData.startBegin=!1);if(evaluatingData.startBegin=!0,evaluatingData.isDisabledPlayMusic){if(state$1.playState="paused"===state$1.playState?"play":"paused","play"===state$1.playState&&state$1.needTick){const e=await handleStartTick();if(console.log("🚀 ~ tickend:",e),!e)return state$1.playState="paused",void(evaluatingData.startBegin=!1)}onPlay()}evaluatingData.isErrorState||(await api_startRecordingCb({accompanimentState:state$1.setting.enableAccompaniment?1:0,firstNoteTime:e||0},(()=>{state$1.isAppPlay&&setTimeout((()=>{sendOffsetTime(0)}),300)})),state$1.setting.camera&&(console.log("开始录制视频"),await api_startCapture()),state$1.isAppPlay&&(await api_cloudChangeSpeed({speed:state$1.originSpeed,originalSpeed:state$1.originSpeed,songID:state$1.examSongId}),audioData$1.progress=0,audioListStart(state$1.playState)))})),playMusic=async()=>{if(!(await togglePlay("play")))return evaluatingData.startBegin=!1,void handleCancelEvaluat();check_currentTime(),state$1.setting.camera&&(console.log("开始录制视频"),api_startCapture())},recordStartTimePoint=async e=>{var t;if(console.error("开始录音"),!evaluatingData.startBegin)return;let n=(null==e||null===(t=e.content)||void 0===t?void 0:t.inteveral)||0;browserInfo$1.ios&&(n*=1e3),evaluatingData.backtime=n||Date.now(),console.log("🚀 ~ 开始时间点:",evaluatingData.backtime,"已经录的时间:",Date.now()-n,"记录时间点:",Date.now()),evaluatingData.isDisabledPlayMusic||playMusic()},handleEndEvaluat=(e=!1)=>{evaluatingData.startBegin&&"evaluating"===state$1.modeType&&(console.log("评测结束1"),endEvaluating({musicScoreId:state$1.examSongId}),showLoadingToast({message:"评分中",duration:0,overlay:!0,overlayClass:styles$6.scoreMode}),setTimeout((()=>{evaluatingData.startBegin=!1}),500),evaluatingData.isComplete=e,state$1.setting.camera&&(console.log("结束录制视频"),api_endCapture()))},handleEndBegin=exports("z",(()=>{handleEndEvaluat(),handleStopPlay()})),handleCancelEvaluat=e=>{evaluatingData.evaluatings={},evaluatingData.startBegin=!1,closeToast(),api_proxyServiceMessage({header:{commond:"recordCancel",type:"SOUND_COMPARE",status:200}}),cancelEvaluating(),handleStopPlay(),console.log("评测结束2"),endEvaluating({musicScoreId:state$1.examSongId}),state$1.setting.camera&&(console.log("结束录制视频"),api_endCapture())},handleViewReport=exports("B",((e,t)=>{var n;const i=(null===(n=evaluatingData.resultData)||void 0===n?void 0:n[e])||"";let r="";switch(t){case"gym":r=location.origin+location.pathname+"#/report/"+i;break;case"orchestra":default:r=location.origin+location.pathname+"report-share.html?id="+i;break;case"instrument":r=location.origin+location.pathname+"#/evaluat-report?id="+i+"&musicRenderType="+state$1.musicRenderType}api_openWebView({url:r,orientation:0,isHideTitle:!0,statusBarTextColor:!1,isOpenLight:!0,c_orientation:0})})),handleComplexButton=e=>{console.log("监听是否隐藏保存按钮",e),null!=e&&e.content&&(e.content,state$1.isHideEvaluatReportSaveBtn=!0)},handleAccompanyError=e=>{if(console.log("异常信息返回",e),null!=e&&e.content){const{type:t,reson:n}=e.content;switch(t){case"enterBackground":case"playError":case"socketError":if(evaluatingData.soundEffectMode)return evaluatingData.socketErrorStatus=0,evaluatingData.delayCheckSocketError=!0,evaluatingData.socketErrorPop="socketError"===t,void(evaluatingData.accompanyErrorType=t);"evaluating"===state$1.modeType&&evaluatingData.startBegin&&handleCancelEvaluat(),tickData.show&&(tickData.tickEnd=!0,tickData.show=!1),evaluatingData.socketErrorStatus=0,evaluatingData.socketErrorPop="socketError"===t,evaluatingData.isErrorState=!0,evaluatingData.accompanyErrorType=t,resetPlaybackToStart()}}},handleSocketStatus=e=>{var t;if("connected"===(null==e||null===(t=e.content)||void 0===t?void 0:t.status)){const e=+new Date;evaluatingData.delayCheckSocketError=!1;const t=e-socketStartTime;if(t<1e3){const e=1e3-t;console.log(e,99999),setTimeout((()=>{evaluatingData.socketErrorStatus=2}),e)}}},hanldeConfirmPop=async()=>{api_checkSocketStatus(),evaluatingData.socketErrorStatus=1,socketStartTime=+new Date},hanldeClosePop=()=>{evaluatingData.socketErrorPop=!1,evaluatingData.socketErrorStatus=0},Evaluating=exports("ak",defineComponent({name:"evaluating",setup(){const e=usePageVisibility(),t=reactive({finger:!1,play_mode:"",enableAccompaniment:!0});return watch(e,(e=>{"hidden"==e&&evaluatingData.startBegin})),watch((()=>evaluatingData.socketErrorStatus),(()=>{2===evaluatingData.socketErrorStatus&&setTimeout((()=>{evaluatingData.socketErrorPop=!1}),1e3)})),onMounted((()=>{resetPlaybackToStart(),t.finger=state$1.setting.displayFingering,state$1.setting.displayFingering=!1,t.play_mode=state$1.playSource,t.enableAccompaniment=state$1.setting.enableAccompaniment,t.enableAccompaniment||(console.log("关闭伴奏"),toggleMutePlayAudio("music"===t.play_mode?"music":"background",!0)),evaluatingData.resultData={},evaluatingData.evaluatings={},evaluatingData.soundEffectFrequency=0,evaluatingData.checkStep=0,evaluatingData.rendered=!0,sendResult(handleScoreResult),hideComplexButton(handleComplexButton,!0),api_recordStartTime(recordStartTimePoint),addAccompanyError(handleAccompanyError),addSocketStatus(handleSocketStatus),state$1.isSelectMeasureMode||clearSelection(),console.log("加载评测模块成功")})),onUnmounted((()=>{evaluatingData.checkEnd=!1,evaluatingData.rendered=!1,resetPlaybackToStart(),removeResult(handleScoreResult),hideComplexButton((()=>{}),!1),api_remove_recordStartTime(recordStartTimePoint),state$1.setting.displayFingering=t.finger,state$1.playSource=t.play_mode,t.enableAccompaniment||toggleMutePlayAudio("music"===t.play_mode?"music":"background",!1),removeAccompanyError(handleAccompanyError),removeSocketStatus(handleSocketStatus),api_disconnectSocket(),console.log("卸载评测模块成功")})),()=>createVNode("div",null,[createVNode("div",{class:styles$6.hiddenPop},[createVNode("img",{src:popImgs.icon_bg},null),createVNode("img",{src:popImgs.icon_btn},null),createVNode("img",{src:popImgs.icon_success},null),createVNode("img",{src:popImgs.icon_close},null)]),createVNode(Popup,{teleport:"body",closeOnClickOverlay:!1,class:["popup-custom","van-scale"],transition:"van-scale",show:evaluatingData.socketErrorPop,"onUpdate:show":e=>evaluatingData.socketErrorPop=e},{default:()=>[createVNode(AbnormalPop,{onConfirm:hanldeConfirmPop,onClose:hanldeClosePop},null)]})])}})),scriptRel="modulepreload",assetsURL=function(e,t){return new URL(e,t).href},seen={},__vitePreload=exports("bb",(function(e,t,n){return e()})),relationships={flute:{59:[27,26,25,15,24,22,17,20],60:[27,26,25,15,24,22,17,20],61:[27,26,25,15,24,22,17,21],62:[27,26,25,15,24,22,17],63:[27,26,25,15,24,22,17,19],64:[27,26,25,15,24,22,19],65:[27,26,25,15,24,19],66:[27,26,25,15,17,19],67:[27,26,25,15,19],68:[27,26,25,15,18,19],69:[27,26,15,19],70:[[27,14,19],[27,24,15,19]],71:[27,15,19],72:[27,19],73:[19],74:[26,25,24,22,17,15],75:[26,25,24,22,17,19,15],76:[27,26,25,15,24,22,19],77:[27,26,25,15,24,19],78:[27,26,25,15,17,19],79:[27,26,25,15,19],80:[27,26,25,15,18,19],81:[27,26,15,19],82:[[27,14,19],[27,24,15,19]],83:[27,15,19],84:[27,19],85:[19],86:[26,25,15,19],87:[27,26,25,15,24,22,17,18,19],88:[27,26,15,24,22,19],89:[27,25,24,15,19],90:[27,25,17,15,19],91:[27,26,25,19],92:[26,25,18,19],93:[26,24,15,19],94:[23,24,15,19],95:[27,25,15,16],96:[27,26,25,18,24,19]},clarinet:{52:[[3,4,6,8,9,11,14,18,20],[3,4,6,8,9,11,14,20]],53:[[3,4,6,8,9,11,12,20],[3,4,6,8,9,11,18,20]],54:[[3,4,6,8,9,11,13,18,20],[3,4,6,8,9,11,13,20],[3,4,6,8,9,11,15]],55:[3,4,6,8,9,11,20],56:[3,4,6,8,9,11,16,20],57:[3,4,6,8,9,20],58:[3,4,6,8,20],59:[[3,4,6,9,20],[3,4,6,8,10,20]],60:[3,4,6,20],61:[3,4,6,7,20],62:[3,4,20],63:[[3,4,20,24],[3,4,5,20],[3,8,20]],64:[3,20],65:[20],66:[[3],[20,23,24]],67:[],68:[2],69:[1],70:[1,19],71:[[3,4,6,8,9,11,14,18,19,20],[3,4,6,8,9,11,14,19,20]],72:[[3,4,6,8,9,11,12,19,20],[3,4,6,8,9,11,18,19,20]],73:[[3,4,6,8,9,11,13,19,20],[3,4,6,8,9,11,13,18,19,20],[3,4,6,8,9,11,15,19,20]],74:[3,4,6,8,9,11,19,20],75:[3,4,6,8,9,11,16,19,20],76:[3,4,6,8,9,19,20],77:[3,4,6,8,19,20],78:[[3,4,6,9,19,20],[3,4,6,8,10,19,20]],79:[3,4,6,19,20],80:[3,4,6,7,19,20],81:[3,4,19,20],82:[[3,4,19,20,24],[3,4,5,19,20],[3,4,8,19,20]],83:[3,19,20],84:[19,20],85:[4,6,8,9,19,20],86:[4,6,8,16,19,20],87:[[4,6,8,10,16,19,20],[4,6,9,16,19,20]],88:[4,6,16,19,20],89:[4,6,7,16,19,20]},trumpet:{0:[1,2,3],54:[4,5,6],55:[4,2,6],56:[1,5,6],57:[4,5,3],58:[4,2,3],59:[1,5,3],60:[1,2,3],61:[4,5,6],62:[4,2,6],63:[1,5,6],64:[4,5,3],65:[4,2,3],66:[1,5,3],67:[1,2,3],68:[1,5,6],69:[4,5,3],70:[4,2,3],71:[1,5,3],72:[1,2,3],73:[4,5,3],74:[4,2,3],75:[1,5,3],76:[1,2,3],77:[4,2,3],78:[1,4,3],79:[1,2,3],80:[1,5,6],81:[4,5,3],82:[4,2,3],83:[1,5,3],84:[1,2,3]},horn:{53:[1],54:[2],55:[],56:[2,3],57:[1,2],58:[1],59:[2],60:[],61:[1,2],62:[1],63:[2],64:[],65:[1],66:[2],67:[],68:[0,2,3],69:[0,1,2],70:[0,1],71:[0,2],72:[0],73:[0,2,3],74:[0,1,2],75:[0,1],76:[0,2],77:[0],78:[0,2],79:[0],80:[0,2,3],81:[0,1,2],82:[0,1],83:[0,2],84:[0]},"up-bass-horn":{0:[1,2,3],40:[4,5,6],41:[4,2,6],42:[1,5,6],43:[4,5,3],44:[4,2,3],45:[1,5,3],46:[1,2,3],47:[4,5,6],48:[4,2,6],49:[1,5,6],50:[4,5,3],51:[4,2,3],52:[1,5,3],53:[1,2,3],54:[1,5,6],55:[4,5,3],56:[4,2,3],57:[1,5,3],58:[1,2,3],59:[4,5,3],60:[4,2,3],61:[1,5,3],62:[1,2,3],63:[4,2,3],64:[1,5,3],65:[1,2,3],66:[1,5,6],67:[4,5,3],68:[4,2,3],69:[1,5,3],70:[1,2,3]},trombone:{0:[1],40:[22],41:[11],42:[5],43:[4],44:[3],45:[2],46:[1],47:[22],48:[11],49:[5],50:[4],51:[3],52:[2],53:[1],54:[5],55:[4],56:[3],57:[2],58:[1],59:[4],60:[3],61:[2],62:[1],63:[3],64:[2],65:[1],66:[5],67:[4],68:[3],69:[2],70:[1]},saxophone:{58:[2,4,5,13,17,18,19,23],59:[2,4,5,11,17,18,19,23],60:[2,4,5,17,18,19,23],61:[2,4,5,12,17,18,19,23],62:[2,4,5,17,18,19],63:[2,4,5,17,18,19,22],64:[2,4,5,17,18],65:[2,4,5,17],66:[[2,4,5,18],[2,4,5,17,21]],67:[2,4,5],68:[2,4,5,10],69:[2,4],70:[[2,4,16],[2,17],[2,3]],71:[2],72:[[4],[2,15]],73:[],74:[2,4,5,6,17,18,19],75:[2,4,5,6,17,18,19,22],76:[2,4,5,6,17,18],77:[2,4,5,6,17],78:[[2,4,5,6,18],[2,4,5,6,17,21]],79:[2,4,5,6],80:[2,4,5,6,10],81:[2,4,6],82:[[2,4,6,16],[2,6,17],[2,3,6]],83:[2,6],84:[[4,6],[2,6,15]],85:[6],86:[6,9],87:[6,7,8],88:[6,8,9,14],89:[[6,7,8,9,14],[1,4,6]]},tuba:{0:[1,2,3],28:[4,5,6],29:[4,2,6],30:[1,5,6],31:[4,5,3],32:[4,2,3],33:[4,2,6],34:[1,2,3],35:[4,5,6],36:[4,2,6],37:[1,5,6],38:[4,5,3],39:[4,2,3],40:[1,5,3],41:[1,2,3],42:[1,5,6],43:[4,5,3],44:[4,2,3],45:[1,5,3],46:[1,2,3],47:[4,5,3],48:[4,2,3],49:[1,5,3],50:[1,2,3],51:[4,2,3],52:[1,5,3],53:[1,2,3],54:[1,5,6],55:[4,5,3],56:[4,2,3],57:[1,5,3],58:[1,2,3]},piccolo:{60:[11,2,33,4,5,6,7,8],61:[11,2,33,4,5,6,7,88],62:[11,2,33,4,5,6,7],63:[11,2,33,4,5,6,77],64:[11,2,33,4,5,6],65:[11,2,33,4,5],66:[11,2,33,4,6,7],67:[11,2,33,4],68:[11,2,33,5,6,77],69:[11,2,33],70:[[11,2,4,5],[1,11,2,4,6,7]],71:[[11,2],[11,33,4]],72:[11,33],73:[[2,33],[11]],74:[33],75:[33,4,5,6,7],76:[1,2,33,4,5,6],77:[1,2,33,4,5],78:[1,2,33,4,6,8],79:[1,2,33,4],80:[1,2,33,4,6,7,8],81:[1,2,33],82:[1,2,33,5,6,7],83:[1,2,33,5,6],84:[1,2,5,6],85:[1,2,4,5,7,8,100],86:[1,2,4,5,7,8]},"small-drum":{0:["active","active-left","active-right"],64:["left","right"]},hulusi:{64:[7,6,5,4,3,2,11,91],65:[7,6,5,4,3,2,1,91],66:[7,6,5,4,3,2,91],67:[7,6,5,4,3,2,11,92],68:[7,6,5,4,3,2,1,92],69:[7,6,5,4,3,2,93],70:[7,6,5,4,3,11,93],71:[7,6,5,4,3,93],72:[7,6,5,4,95],73:[7,6,5,3,2,95],74:[7,6,5,95],75:[7,6,4,3,95],76:[7,6,95],77:[7,5,4,3,2,94],78:[7,5,4,94],79:[7,94],80:[6,94],81:[96]},pan:{55:[21],57:[20],59:[19],60:[18],62:[17],64:[16],65:[15],67:[14],69:[13],71:[12],72:[11],74:[10],76:[9],77:[8],79:[7],81:[6],83:[5],84:[4],86:[3],88:[2],89:[1]},ocarina:{57:[1,2,3,4,5,6,7,8,9,10,11,12],58:[1,2,3,4,5,6,8,9,10,11,12],59:[1,2,4,5,6,7,8,9,10,11,12],60:[1,2,4,5,6,8,9,10,11,12],61:[1,2,4,5,6,7,8,9,11,12],62:[1,2,4,5,6,8,9,11,12],63:[1,2,4,5,6,9,11,12],64:[1,2,4,5,6,8,11,12],65:[1,2,4,5,6,11,12],66:[1,2,4,6,9,11,12],67:[1,2,4,6,11,12],68:[1,2,6,9,11,12],69:[1,2,6,11,12],70:[1,6,9,11,12],71:[1,6,11,12],72:[6,11,12],73:[6,9,12],74:[6,12],75:[6,9],76:[6],77:[]},melodica:{53:[1],54:[101],55:[2],56:[102],57:[3],58:[103],59:[4],60:[5],61:[104],62:[6],63:[105],64:[7],65:[8],66:[106],67:[9],68:[107],69:[10],70:[108],71:[11],72:[12],73:[109],74:[13],75:[110],76:[14],77:[15],78:[111],79:[16],80:[112],81:[17],82:[113],83:[18],84:[19]},baroqueRecorder:{60:[11,2,33,4,5,6,7,8],61:[11,2,33,4,5,6,7,88],62:[11,2,33,4,5,6,7],63:[11,2,33,4,5,6,77],64:[11,2,33,4,5,6],65:[11,2,33,4,5,7,8],66:[11,2,33,4,6,7],67:[11,2,33,4],68:[11,2,33,5,6,77],69:[11,2,33],70:[11,2,4,5],71:[11,2],72:[11,33],73:[2,33],74:[33],75:[33,4,5,6,7],76:[1,2,33,4,5,6],77:[1,2,33,4,5,7],78:[1,2,33,4,6],79:[1,2,33,4],80:[1,2,33,5],81:[1,2,33],82:[1,2,33,5,6,7],83:[1,2,33,5,6],84:[1,2,5,6],85:[1,2,4,5,7,8,100],86:[1,2,4,5,7,8],87:[1,2,4],88:[1,2,33,4,5,6],89:[1,2,33,4,5,7],90:[1,2,33,4,6],91:[1,2,33,4],92:[1,2,33,5],93:[1,2,33],94:[1,2,33,5,6,7],95:[1,2,33,5,6],96:[1,2,5,6],97:[1,2,4,5,7,8],98:[1,2,4]}},mappingVoicePart=exports("am",((e,t)=>{if("GYM"===t)return Number(e);if("COLEXIU"===t){return{Flute:2,Clarinet:4,Trombone:14,Tuba:17,Trumpet:12,Horn:13,AltoSaxophone:6,TenorSaxophone:6,Saxophone:6,UpBassHorn:15,Melodica:137,HulusiFlute:136,PanFlute:135,Ocarina:134,Recorder:120,Ukulele:130,Mouthorgan:140,Piano:150}[e]}if("ORCHESTRA"===t){return{1:23,2:2,3:5,4:4,5:12,6:14,7:13,8:15,9:17}[e]}if("INSTRUMENT"===t){let t=e;"string"==typeof t&&(t=t.toLocaleLowerCase().replace(/ /g,""));return{flute:2,clarinet:4,trombone:14,tuba:17,trumpet:12,horn:13,altosaxophone:6,tenorsaxophone:6,saxophone:6,upbasshorn:15,melodica:137,hulusiFlute:136,panflute:135,recorder:120,ukulele:130,mouthorgan:140,piano:150,baroquerecorder:"baroque-recorder",4:"piccolo",3:"hulusi-flute",1:"pan-flute",2:"ocarina",5:"melodica",23:2,24:6,25:4,26:12,27:14,28:13,29:15,30:17,tenorrecorder:"piccolo",woodwind:"hulusi-flute",panpipes:"pan-flute",ocarina:"ocarina",whistling:"whistling",nai:"melodica",15:"baroque-recorder",16:"baroque-recorder"}[t]||0}if("ENSEMBLE"===t){let t=e;const n={Piccolo:"piccolo",Flute:2,"Flute 1":2,"Flute 2":2,Oboe:1,"Clarinet in Bb 1":4,"Clarinet in Bb 2":4,"Alto Clarinet in Eb":4,"Bass Clarinet in Bb":4,Bassoon:1,"Alto Saxophone":5,"Tenor Saxophone":5,"Baritone Saxophone":5,"Trumpet in Bb 1":12,"Trumpet in Bb 2":12,"Horn in F":13,"Horn in F 1":13,"Horn in F 2":13,"Trombone 1":14,"Trombone 2":14,"Trombone 3":14,Euphonium:15,Tuba:17,Chimes:1,Bells:1,Xylophone:1,"Snare Drum":1,"Bass Drum":1,Triangle:1,"Suspended Cymbal":1,"Crash Cymbals":1,"Concert Toms":1,Timpani:1,flute:2,oboe:4,clarinet:4,trombone:14,tuba:17,trumpet:12,horn:13,altosaxophone:6,tenorsaxophone:6,saxophone:6,upbasshorn:15,melodica:137,hulusiFlute:136,panflute:135,recorder:120,ukulele:130,mouthorgan:140,piano:150,4:"piccolo",3:"hulusi-flute",1:"pan-flute",2:"ocarina",5:"melodica",26:12,tenorrecorder:"piccolo",woodwind:"hulusi-flute",panpipes:"pan-flute",ocarina:"ocarina",nai:"melodica",BaroqueRecorder:"baroque-recorder"};let i;if("string"==typeof t){for(let e in n)if(e===t){i=n[e];break}}else i=n.code;return i}return 0})),matchVoicePart=(e,t)=>{if("SINGLE"===t){return{33:"pan-flute",34:"ocarina",35:"hulusi-flute",37:"piccolo",36:"melodica",38:"baroque-recorder",39:"whistling",1:2,5:5,3:4,11:12,13:14,12:13,14:15,16:17}[e]}{let t=e;const n={Piccolo:"piccolo",Flute:2,"Flute 1":2,"Flute 2":2,Oboe:1,"Clarinet in Bb":4,"Clarinet in Bb 1":4,"Clarinet in Bb 2":4,"Alto Clarinet in Eb":4,"Bass Clarinet in Bb":4,Bassoon:1,"Alto Saxophone":5,"Tenor Saxophone":5,"Baritone Saxophone":5,"Trumpet in Bb 1":12,"Trumpet in Bb 2":12,"Horn in F":13,"Horn in F 1":13,"Horn in F 2":13,"Trombone 1":14,"Trombone 2":14,"Trombone 3":14,Euphonium:15,Tuba:17,Chimes:1,Bells:1,Xylophone:1,"Snare Drum":1,"Bass Drum":1,Triangle:1,"Suspended Cymbal":1,"Crash Cymbals":1,"Concert Toms":1,Timpani:1,flute:2,oboe:4,clarinet:4,trombone:14,tuba:17,trumpet:12,horn:13,altosaxophone:6,tenorsaxophone:6,saxophone:6,upbasshorn:15,melodica:137,hulusiFlute:136,panflute:135,recorder:120,ukulele:130,mouthorgan:140,piano:150,4:"piccolo",3:"hulusi-flute",1:"pan-flute",2:"ocarina",5:"melodica",26:12,tenorrecorder:"piccolo",woodwind:"hulusi-flute",panpipes:"pan-flute",ocarina:"ocarina",whistling:"whistling",nai:"melodica",BaroqueRecorder:"baroque-recorder","Drum Set":24,Marimba:26,Vibraphone:27,"Tubular Bells":30,Mallets:32};let i;if("string"==typeof t){t=t.toLocaleLowerCase().replace(/ /g,"");for(let e in n){let r=e;if("string"==typeof e&&(r=r.toLocaleLowerCase().replace(/ /g,"")),r===t){i=n[e];break}}}else i=n.code;return i}},subjectFingering=exports("ao",(e=>{switch(e){case 2:return{name:"flute",direction:"transverse",height:"1.6rem",hasTizhi:!0,id:1};case 4:return{name:"clarinet",direction:"vertical",width:"3rem",hasTizhi:!0,id:3};case 5:case 6:return{name:"saxophone",direction:"vertical",width:"4.34rem",hasTizhi:!0,id:5};case 12:return{name:"trumpet",direction:"transverse",height:"1.6rem",hasTizhi:!1,id:11};case 13:return{name:"horn",direction:"vertical",width:"4.98rem",hasTizhi:!1,id:12};case 14:return{name:"trombone",direction:"transverse",height:"1.6rem",hasTizhi:!1,id:13};case 15:return{name:"up-bass-horn",direction:"vertical",width:"4.34rem",hasTizhi:!1,id:14};case 17:return{name:"tuba",direction:"vertical",width:"4.34rem",hasTizhi:!1,id:16};case 120:return{name:"piccolo",direction:"vertical",width:"3rem",orientation:0,hasTizhi:!0,id:2};case"piccolo":return{name:"piccolo",direction:"vertical",width:"3rem",orientation:0,code:"竖笛",hasTizhi:!0,id:37};case"hulusi-flute":return{name:"hulusi-flute",direction:"vertical",width:"3rem",orientation:0,code:"葫芦丝",hasTizhi:!1,id:35};case"pan-flute":return{name:"pan-flute",direction:"transverse",height:"2rem",disabledFinger:!0,orientation:0,code:"排箫",hasTizhi:!1,id:33};case"ocarina":return{name:"ocarina",direction:"vertical",width:"3rem",disabledFinger:!0,orientation:0,code:"陶笛",hasTizhi:!1,id:34};case"whistling":return{name:"whistling",direction:"vertical",width:"3rem",disabledFinger:!0,orientation:0,code:"陶笛",hasTizhi:!1,id:39};case"melodica":return{name:"melodica",direction:"transverse",height:"2rem",orientation:0,code:"口风琴",hasTizhi:!1,id:36};case"baroque-recorder":return{name:"baroque-recorder",direction:"vertical",width:"3rem",orientation:0,code:"竖笛",hasTizhi:!0,id:38};default:return"number"==typeof e?{id:e}:{}}})),getFingeringConfig=exports("bj",(async e=>{switch(e){case"flute":return{json:(await __vitePreload((()=>module.import("./index-legacy-0f6cde19.js")),void 0,module.meta.url)).default,relationship:relationships.flute,height:"60px",styles:{}};case"clarinet":return{json:(await __vitePreload((()=>module.import("./index-legacy-d7f2e64d.js")),void 0,module.meta.url)).default,relationship:relationships.clarinet,styles:{marginLeft:".4rem",marginRight:".7rem"}};case"trumpet":return{json:(await __vitePreload((()=>module.import("./index-legacy-ac9e06ec.js")),void 0,module.meta.url)).default,relationship:relationships.trumpet};case"horn":return{json:(await __vitePreload((()=>module.import("./index-legacy-d942ef39.js")),void 0,module.meta.url)).default,relationship:relationships.horn,height:"212px",width:"252px"};case"tuba":return{json:(await __vitePreload((()=>module.import("./index-legacy-3851c136.js")),void 0,module.meta.url)).default,relationship:relationships.tuba};case"piccolo":return{json:(await __vitePreload((()=>module.import("./index-legacy-c5167bc3.js")),void 0,module.meta.url)).default,relationship:relationships.piccolo};case"piccolo1":return{json:(await __vitePreload((()=>module.import("./index-legacy-a35707f4.js")),void 0,module.meta.url)).default,relationship:relationships.piccolo};case"piccolo2":return{json:(await __vitePreload((()=>module.import("./index-legacy-36e7f78a.js")),void 0,module.meta.url)).default,relationship:relationships.piccolo};case"up-bass-horn":return{json:(await __vitePreload((()=>module.import("./index-legacy-6888bad9.js")),void 0,module.meta.url)).default,relationship:relationships["up-bass-horn"]};case"trombone":return{json:(await __vitePreload((()=>module.import("./index-legacy-9b4d7da4.js")),void 0,module.meta.url)).default,relationship:relationships.trombone};case"saxophone":return{json:(await __vitePreload((()=>module.import("./index-legacy-fbabd463.js")),void 0,module.meta.url)).default,relationship:relationships.saxophone,styles:{marginLeft:".2rem",marginRight:".3rem"}};case"small-drum":return{json:(await __vitePreload((()=>module.import("./index-legacy-4514d1bb.js")),void 0,module.meta.url)).default,relationship:relationships["up-bass-horn"],width:"180px"};case"hulusi-flute":return{json:(await __vitePreload((()=>module.import("./index-legacy-f02b4e94.js")),void 0,module.meta.url)).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"hulusi-flute1":return{json:(await __vitePreload((()=>module.import("./index-legacy-5fc4ec32.js")),void 0,module.meta.url)).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"hulusi-flute2":return{json:(await __vitePreload((()=>module.import("./index-legacy-eb6058b4.js")),void 0,module.meta.url)).default,relationship:relationships.hulusi,styles:{marginLeft:".6rem",marginRight:".7rem"}};case"pan-flute":return{json:(await __vitePreload((()=>module.import("./index-legacy-6f3062f5.js")),void 0,module.meta.url)).default,relationship:relationships.pan};case"pan-flute1":return{json:(await __vitePreload((()=>module.import("./index-legacy-0bdee5e3.js")),void 0,module.meta.url)).default,relationship:relationships.pan};case"pan-flute2":return{json:(await __vitePreload((()=>module.import("./index-legacy-4af22c3b.js")),void 0,module.meta.url)).default,relationship:relationships.pan};case"pan-flute3":return{json:(await __vitePreload((()=>module.import("./index-legacy-7bd82439.js")),void 0,module.meta.url)).default,relationship:relationships.pan};case"ocarina":return{json:(await __vitePreload((()=>module.import("./index-legacy-a023bcf5.js")),void 0,module.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"ocarina1":return{json:(await __vitePreload((()=>module.import("./index-legacy-34e08e3e.js")),void 0,module.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"ocarina2":return{json:(await __vitePreload((()=>module.import("./index-legacy-31794bdf.js")),void 0,module.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"whistling":return{json:(await __vitePreload((()=>module.import("./index-legacy-97b30ab0.js")),void 0,module.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"whistling1":return{json:(await __vitePreload((()=>module.import("./index-legacy-cb5028d7.js")),void 0,module.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"whistling2":return{json:(await __vitePreload((()=>module.import("./index-legacy-18f4a1c4.js")),void 0,module.meta.url)).default,relationship:relationships.ocarina,width:"180px",styles:{marginTop:"auto"}};case"melodica":return{json:(await __vitePreload((()=>module.import("./index-legacy-6edc0aac.js")),void 0,module.meta.url)).default,relationship:relationships.melodica,height:"80px",styles:{marginTop:"auto"}};case"melodica1":return{json:(await __vitePreload((()=>module.import("./index-legacy-7c757ef3.js")),void 0,module.meta.url)).default,relationship:relationships.melodica,height:"80px",styles:{marginTop:"auto"}};case"baroque-recorder":return{json:(await __vitePreload((()=>module.import("./index-legacy-1f414bc0.js")),void 0,module.meta.url)).default,relationship:relationships.baroqueRecorder};case"baroque-recorder1":return{json:(await __vitePreload((()=>module.import("./index-legacy-3a02f1ea.js")),void 0,module.meta.url)).default,relationship:relationships.baroqueRecorder};case"baroque-recorder2":return{json:(await __vitePreload((()=>module.import("./index-legacy-f7c0163b.js")),void 0,module.meta.url)).default,relationship:relationships.baroqueRecorder};default:return null}}));function autoCorrelate(e,t){for(var n=e.length,i=0,r=0;r<n;r++){var o=e[r];i+=o*o}if((i=Math.sqrt(i/n))<.01)return-1;var s=0,a=n-1;for(r=0;r<n/2;r++)if(Math.abs(e[r])<.2){s=r;break}for(r=1;r<n/2;r++)if(Math.abs(e[n-r])<.2){a=n-r;break}n=(e=e.slice(s,a)).length;var l=new Array(n).fill(0);for(r=0;r<n;r++)for(var c=0;c<n-r;c++)l[r]=l[r]+e[c]*e[c+r];for(var u=0;l[u]>l[u+1];)u++;var h=-1,d=-1;for(r=u;r<n;r++)l[r]>h&&(h=l[r],d=r);var p=d,f=l[p-1],m=l[p],g=l[p+1];let v=(f+g-2*m)/2;return v&&(p-=(g-f)/2/(2*v)),t/p}const audioRecorder={audioContext:null,mediaRecorder:null,recordeState:!1,progress:e=>{},init(){this.audioContext=new(window.AudioContext||window.webkitAudioContext)},toggleRecord(e){return new Promise(((t,n)=>{e?navigator.mediaDevices.getUserMedia({audio:!0}).then((e=>{audioRecorder.mediaRecorder=e.getAudioTracks()[0],audioRecorder.recordeState=!0;const n=this.audioContext.createMediaStreamSource(e),i=this.audioContext.createAnalyser();i.fftSize=2048,n.connect(i);var r=new Float32Array(i.fftSize);const o=this.audioContext.sampleRate;!function e(){if(!audioRecorder.recordeState)return;i.getFloatTimeDomainData(r);const t=autoCorrelate(r,o);audioRecorder.progress(t),setTimeout((()=>{e()}),10)}(),t(!0)})).catch((e=>{t(!1),console.error("Error accessing media devices:",e)})):audioRecorder.mediaRecorder.stop()}))},checkSupport:()=>new Promise(((e,t)=>{if(navigator.mediaDevices.getUserMedia){const t={audio:!0};navigator.mediaDevices.getUserMedia(t).then((t=>{e(!0),console.log("授权成功!")}),(()=>{e(!1),console.error("授权失败!")}))}else e(!1),console.error("浏览器不支持 getUserMedia")}))},studentQueryUserInfo=exports("a_",(async()=>await request.get("/user/getUserInfo"))),api_musicPracticeRecordSave=exports("b1",(e=>request.post("/musicPracticeRecord/save",{requestType:"json",data:e}))),api_lessonTrainingSubmitTraining=exports("b7",(e=>request.post("/lessonTraining/submitTraining",{requestType:"json",data:e}))),api_lessonTrainingTrainingStudentDetail=exports("b8",(e=>request.get(`/lessonTraining/trainingContentStudentDetail?id=${e}`))),api_musicPracticeRecordVideoUpload=exports("bh",(e=>request.post("/musicPracticeRecord/videoUpload",{data:e,requestType:"json"}))),sysSuggestionAdd=exports("b3",(e=>request.post("/sysSuggestion/save",{data:e,requestType:"json"}))),api_musicPracticeRecordDetail=exports("cS",(e=>request.get("/musicPracticeRecord/detail/"+e))),api_musicalInstrumentList=exports("bk",(e=>request.post("/musicalInstrument/list",{data:e,requestType:"json"}))),api_musicSheetPage=exports("bi",(e=>request.post("/musicSheet/page",{data:e,requestType:"json"}))),getSuggestionList=exports("b2",(e=>request.post("/sysSuggestionType/page",{data:e,requestType:"json"}))),query$2=getQuery(),followData=exports("aR",reactive({list:[],index:0,start:!1,rendered:!1,earphone:!1})),handleRecord=e=>{if(query$2.isCbs)return;e<0&&(e=0);const t=e/1e3,n={clientType:storeData.user.clientType,musicSheetId:state$1.examSongId,sysMusicScoreId:state$1.examSongId,feature:"FOLLOW_UP_TRAINING",practiceSource:"FOLLOW_UP_TRAINING",playTime:t,deviceType:browser().android?"ANDROID":"IOS",behaviorId:getBehaviorId()};api_musicPracticeRecordSave(n)},toggleFollow=exports("aF",((e=!0)=>{state$1.modeType="follow"===state$1.modeType?"practise":"follow",e||(followData.start=!1,openToggleRecord(!1))})),noteFrequency=ref(0),audioFrequency=ref(0),followTime=ref(0),openToggleRecord=async(e=!0)=>{if(e||api_cloudToggleFollow(e?"start":"end"),e)followTime.value=Date.now();else{const e=Date.now()-followTime.value;0!==followTime.value&&e>0&&(handleRecord(e),followTime.value=0)}if(!storeData.isApp){!(await(null==audioRecorder?void 0:audioRecorder.toggleRecord(e)))&&followData.start&&(followData.earphone=!0,followData.start=!1)}},onClear=()=>{state$1.times.forEach((e=>{const t=document.querySelector(`div[data-vf=vf${e.id}]`);t&&t.classList.remove("follow-up","follow-down","follow-error","follow-success");const n=document.getElementById(`vf-${e.id}`);n&&n.classList.remove("follow-up","follow-down")}))},handleFollowStart=exports("aH",(async()=>{var e;const t=await api_cloudToggleFollow("start");if(null!=t&&null!==(e=t.content)&&void 0!==e&&e.reson);else{followData.start=!0;if(!(await handleStartTick()))return followData.start=!1,!1;onClear(),followData.start=!0,followData.index=0,followData.list=[],resetPlaybackToStart(),openToggleRecord(!0),getNoteIndex();const e=getDuration(state$1.osmd);metronomeData.totalNumerator=e.numerator||2,metronomeData.followAudioIndex=1,state$1.beatStartTime=0,followBeatPaly()}})),handleFollowEnd=exports("aI",(()=>{onClear(),followData.start=!1,openToggleRecord(!1),followData.index=0,console.log("结束")})),next=()=>{gotoNext(state$1.times[followData.index])},getNoteIndex=()=>{const e=state$1.times[followData.index];return e.frequency<=0?(followData.index=followData.index+1,next(),getNoteIndex()):(noteFrequency.value=e.frequency,{id:e.id,min:e.frequency-.5*(e.frequency-e.prevFrequency),max:e.frequency+.5*(e.nextFrequency-e.frequency),duration:e.duration,baseFrequency:e.frequency})};let checking=!1;const onFollowTime=e=>{var t;const n=null==e||null===(t=e.content)||void 0===t?void 0:t.frequency;followData.start&&n>0&&(audioFrequency.value=n,checked())};let startTime=0;const checked=()=>{if(checking)return;checking=!0;const e=getNoteIndex();if(audioFrequency.value<.5*e.baseFrequency)checking=!1;else{if(audioFrequency.value>=e.min&&audioFrequency.value<=e.max)if(0===startTime)startTime=Date.now();else{if((Date.now()-startTime)/1e3>=.6*e.duration)return startTime=0,followData.index=followData.index+1,setColor(e,"",!0),next(),void(checking=!1)}setColor(e,audioFrequency.value>e.baseFrequency?"follow-up":"follow-down"),checking=!1}},setColor=(e,t,n=!1)=>{const i=document.querySelector(`div[data-vf=vf${e.id}]`);i&&(i.classList.remove("follow-up","follow-down","follow-error","follow-success"),n?i.classList.add("follow-success"):i.classList.add("follow-error",t));const r=document.getElementById(`vf-${e.id}`);r&&(r.classList.remove("follow-up","follow-down"),t&&r.classList.add(t))},FollowPractice=exports("aL",defineComponent({name:"follow",setup:()=>(onMounted((async()=>{if(storeData.isApp)api_cloudFollowTime(onFollowTime);else{await audioRecorder.checkSupport()?(audioRecorder.init(),audioRecorder.progress=e=>{onFollowTime({api:"",content:{frequency:e}})}):followData.earphone=!0}console.log("进入跟练模式")})),onUnmounted((()=>{api_cloudFollowTime(onFollowTime,!1),resetPlaybackToStart(),onClear(),openToggleRecord(!1),console.log("退出跟练模式")})),()=>createVNode("div",null,null))})),getMusicSheetDetail=e=>request.get("/musicSheet/cbsDetail/"+e),query$1=getQuery();var EnumMusicRenderType=exports("cR",(e=>(e.staff="staff",e.firstTone="firstTone",e.fixedTone="fixedTone",e))(EnumMusicRenderType||{}));const musicscoresettingKey=exports("aU","musicscoresetting");var IPlatform=exports("b9",(e=>(e.APP="APP",e.PC="PC",e))(IPlatform||{}));const classids=[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,30,31,35,36,38,108,150,151,152,153,154,155,156,157,158,178,179,180,181,182],musicalInstrumentCodeInfo=[{name:"长笛",code:"Flute",id:1},{name:"短笛",code:"Piccolo",id:2},{name:"单簧管",code:"Clarinet",id:3},{name:"低音单簧管",code:"Bass Clarinet",id:4},{name:"中音萨克斯",code:"Alto Saxophone",id:5},{name:"次中音萨克斯",code:"Tenor Saxophone",id:6},{name:"高音萨克斯",code:"Soprano Saxophone",id:7},{name:"上低音萨克斯",code:"Baritone Saxophone",id:8},{name:"双簧管",code:"Oboe",id:9},{name:"大管",code:"Bassoon",id:10},{name:"小号",code:"Trumpet",id:11},{name:"圆号",code:"Horn",id:12},{name:"长号",code:"Trombone",id:13},{name:"上低音号",code:"Baritone",id:14},{name:"次中音号",code:"Euphonium",id:15},{name:"大号",code:"Tuba",id:16},{name:"钢琴",code:"Piano",id:17},{name:"电钢琴",code:"Electronical Piano",id:18},{name:"钢片琴",code:"Glockenspiel",id:19},{name:"小提琴",code:"Violin",id:20},{name:"中提琴",code:"Viola",id:21},{name:"大提琴",code:"Violoncello",id:22},{name:"低音提琴",code:"Contrabass",id:23},{name:"架子鼓",code:"Drum Set",id:24},{name:"小鼓",code:"Snare Drum",id:25},{name:"马林巴",code:"Marimba",id:26},{name:"颤音琴",code:"Vibraphone",id:27},{name:"钟琴",code:"Chimes",id:28},{name:"木琴",code:"Xylophone",id:29},{name:"管钟",code:"Tubular Bells",id:30},{name:"定音鼓",code:"Timpani",id:31},{name:"键盘",code:"Mallets",id:32},{name:"排箫",code:"Panpipes",id:33},{name:"陶笛",code:"Ocarina",id:34},{name:"葫芦丝",code:"Woodwind",id:35},{name:"口风琴",code:"Nai",id:36},{name:"德式竖笛",code:"Tenor Recorder",id:37},{name:"英式竖笛",code:"Baroque Recorder",id:38},{name:"高音陶笛",code:"Whistling",id:39}],state=reactive({platform:"",appName:"",musicRenderType:"staff",musicRendered:!1,detailId:"",xmlUrl:"",subjectId:0,trackId:0,categoriesId:0,categoriesName:"",enableEvaluation:!0,enableNotation:!1,examSongId:"",cbsExamSongId:"",examSongName:"",coverImg:"",extConfigJson:{},extStyleConfigJson:{},isOpenMetronome:!1,isShowFingering:!1,music:"",accompany:"",midiUrl:"",parentCategoriesId:0,musicSheetCategoriesId:0,bizMusicCategoryId:0,playMode:"MP3",speed:0,originSpeed:0,playIngSpeed:0,track:"",partIndex:0,needTick:!1,osmd:null,isSpecialBookCategory:!1,playState:"paused",playEnd:!1,playSource:"music",playProgress:0,activeNoteIndex:0,activeMeasureIndex:0,sectionStatus:!1,section:[],sectionBoundingBoxs:[],isOpenPrepare:!1,sectionFirst:null,times:[],modeType:"practise",setting:{soundEffect:!0,eyeProtection:!1,camera:!1,cameraOpacity:70,repeatAutoPlay:!0,displayFingering:!0,displayCursor:!0,frequency:0,evaluationDifficulty:"BEGINNER",saveToAlbum:!0,enableAccompaniment:!0,reactionTimeMs:0,beatVolume:50},baseFrequency:440,fixtime:0,fingeringInfo:{},scrollContainer:"musicAndSelection",isPercussion:!1,evaluationStandard:"",repeatedBeats:0,partListNames:[],gradual:[],gradualVersion:GradualVersion.BASE,gradualTimes:null,multitrack:0,zoom:.8,musicZoom:1,isSelectMeasureMode:!1,isReport:!1,isHideEvaluatReportSaveBtn:!1,isConcert:!1,userChooseEndIndex:0,repeatInfo:[],canSelectTracks:[],subjectCodeId:0,musicalCodeId:0,musicalCode:"",isCombineRender:!1,measureTime:0,beatStartTime:0,isPreView:!1,isEvaluatReport:!1,midiPlayIniting:!1,songs:{},isAppPlay:!1,audiosInstance:null,durationNum:0,midiSectionStart:0,audioDone:!1,osmdSvgDom:null});browser();const customData=exports("ab",reactive({customNoteRealValue:[],customNoteCurrentTime:!1})),setStep=()=>{if("play"!==state.playState)return void console.log("暂停播放");let e=Date.now();requestAnimationFrame((()=>{Date.now()-e<16.7?(handlePlaying(),setStep()):setTimeout((()=>{handlePlaying(),setStep()}),16.7)}))},onPlay=()=>{console.log("开始播放"),state.playEnd=!1,setStep()},autoResetPlay=()=>{"practise"===state.modeType&&(skipNotePlay(0,!0),state.setting.repeatAutoPlay&&(scrollViewNote(),setTimeout((()=>{togglePlay("play")}),1e3)))},onEnded=()=>{console.log("音频播放结束"),state.playEnd=!0,state.playState="paused",audioListStart(state.playState),handleEndEvaluat(!0),autoResetPlay()},handlePlaying=()=>{var e;const t=getAudioCurrentTime(),n=getAudioDuration();state.playProgress=t/n*100;let i=getNote(t);if(i&&"practise"===state.modeType&&"play"===state.playState&&i.measureSpeed&&i.measureSpeed!==state.playIngSpeed){const e=state.speed/state.originSpeed;state.playIngSpeed=Math.ceil(e*i.measureSpeed)||state.speed}else"practise"===state.modeType&&"play"===state.playState&&i&&!i.measureSpeed&&(state.playIngSpeed=state.speed);if(i){if(state.sectionStatus&&2===state.section.length){const e=state.sectionFirst?state.sectionFirst:state.section[0],n=state.section[1];if(state.repeatInfo.length){const e=verifyCanRepeat(state.section[0].MeasureNumberXML,state.section[1].MeasureNumberXML),t=-1==e.repeatIdx?0:e.repeatIdx;if("practise"===state.modeType&&!e.canRepeat&&state.section[1].MeasureNumberXML>state.repeatInfo[t].end){const e=state.times[i.i-1];if(e&&e.MeasureNumberXML>i.MeasureNumberXML){const t=state.times.find((t=>t.MeasureNumberXML===e.MeasureNumberXML+1));if(t)return setAudioCurrentTime(t.time,t.i),void gotoNext(t)}}}if(t-n.endtime>=0){if(console.log("选段播放结束",state.setting.repeatAutoPlay),"evaluating"===state.modeType&&state.isSelectMeasureMode)return void onEnded();if("practise"===state.modeType&&state.sectionStatus)return onEnded(),void resetPlaybackToStart();i=e,setAudioCurrentTime(e.time,e.i)}}gotoNext(i)}null===(e=metronomeData.metro)||void 0===e||e.sound(t)},skipNotePlay=async(e,t=!1)=>{const n=state.times[e];let i=n.time;var r;(t&&(i=0),n)&&(setAudioCurrentTime(i,e),gotoNext(n),null===(r=metronomeData.metro)||void 0===r||r.sound(i),state.isAppPlay&&(await api_cloudSetCurrentTime({currentTime:1e3*i,songID:state.examSongId}),audioData$1.progress=i,state.midiSectionStart=i))},togglePlay=exports("a4",(async e=>{if(state.isAppPlay||state.audioDone){if(state.isAppPlay){if("paused"===e)return await api_cloudSuspend({songID:state.examSongId}),void(state.playState="paused");skipNotePlay(state.activeNoteIndex,!1),await api_cloudChangeSpeed({speed:"evaluating"===state.modeType?state.originSpeed:state.speed,originalSpeed:state.originSpeed,songID:state.examSongId});const t=await api_cloudGetMediaStatus(),n="suspend"===(null==t?void 0:t.content.status)?"play":"paused";state.playState=n}else state.playState=e||("paused"===state.playState?"play":"paused");if("play"===state.playState&&state.sectionStatus&&2==state.section.length&&0===state.playProgress&&resetPlaybackToStart(),"play"===state.playState&&state.needTick){if(!(await handleStartTick()))return state.playState="paused",!1}return"play"==state.playState&&state.sectionStatus&&state.section.length<2&&clearSelection(),audioListStart(state.playState),!0}showToast("音频资源加载中,请稍后")})),handleStopPlay=()=>{state.playState="paused",audioListStart(state.playState)},resetPlaybackToStart=exports("be",(()=>{var e;state.sectionStatus&&2===state.section.length?state.section=formateSelectMearure(state.section):(metronomeData.activeMetro=(null===(e=metronomeData.metroMeasure[0])||void 0===e?void 0:e[0])||{},skipNotePlay(0,!0))})),gotoCustomNote=e=>{try{state.osmd.cursor.reset()}catch(t){}for(let n=0;n<e;n++)state.osmd.cursor.next()},setCursorPosition=(e,t)=>{if("firstTone"===state.musicRenderType||"fixedTone"===state.musicRenderType){var n;if(state.sectionStatus&&"paused"===state.playState&&state.sectionFirst&&(e.multipleRestMeasures||e.MeasureNumberXML!==(null===(n=state.sectionFirst)||void 0===n?void 0:n.MeasureNumberXML)))return;nextTick((()=>{let n=e.bbox;if(!n){var i,r,o;const t=((null===(i=document.getElementById("musicAndSelection"))||void 0===i?void 0:i.getBoundingClientRect())||{x:0,y:0}).x||0,a=document.querySelector(`#vf-${null===(r=e.svgElement)||void 0===r||null===(o=r.attrs)||void 0===o?void 0:o.id}`);if(a){var s;const i=a.querySelector(".vf-numbered-note-head"),r=null==i||null===(s=i.getBoundingClientRect)||void 0===s?void 0:s.call(i);r&&(e.bbox={left:r.x-t-r.width/4,width:1.5*r.width},n=e.bbox)}}if(!n)return;const a="PC"===state.platform?29:18,l=(n.width-a)/3;t.cursorElement.style.left=n.left+"px",t.cursorElement.style.transform=`translateX(${l}px)`}))}},gotoNext=e=>{const t=e.i;if(state.activeNoteIndex===e.i){try{setCursorPosition(e,state.osmd.cursor)}catch(r){console.log(r)}return}const n=state.osmd;let i=state.activeNoteIndex;if(state.activeNoteIndex=t,state.activeMeasureIndex=e.MeasureNumberXML,i&&t-i==1)n.cursor.next();else if(i&&t-i>0)for(;t-i>0;)i++,n.cursor.next();else gotoCustomNote(t);try{setCursorPosition(e,state.osmd.cursor)}catch(r){console.log(r)}scrollViewNote()},getNote=e=>{const t=state.times,n=state.times.length;if(e>t[n-1].endtime+2&&!state.isAppPlay)return void onEnded();let i=null;for(let r=state.activeNoteIndex;r<n;r++){const n=t[r],o=t[r-1];if(!(e>=n.time))break;o&&n.time==o.time||(i=n)}return i},handleResetPlay=exports("a6",(()=>{state.isAppPlay&&(audioData$1.progress=0),resetPlaybackToStart(),togglePlay("play")})),handleSetSpeed=exports("L",(e=>{setStorageSpeed(state.examSongId,e),state.speed=e})),clearSelection=()=>{state.sectionStatus=!1,state.section=[],closeToast()},handleChangeSection=exports("a3",(()=>{if(state.sectionStatus)return togglePlay("paused"),clearSelection(),skipNotePlay(0,!0),void(state.sectionFirst=null);state.sectionStatus=!0,state.sectionStatus&&togglePlay("paused"),showToast({message:"请选择开始小节",duration:0,position:"top",className:"selectionToast"})})),formateSelectMearure=e=>{var t,n;if(!e.length)return[];const i=e.sort(((e,t)=>e.time-t.time)),r=null===(t=i[0])||void 0===t?void 0:t.measureOpenIndex,o=null===(n=i.last())||void 0===n?void 0:n.measureOpenIndex,s=state.times.filter((e=>r===e.measureOpenIndex))||[],a=state.times.filter((e=>o===e.measureOpenIndex))||[];if(!s.length||!a.length)return clearSelection(),[];i[0]=s[0],i[1]=a.last();let l=i[0].i;if(state.isOpenPrepare){const e=i[0].MeasureNumberXML;state.sectionFirst=state.times.find((t=>e-t.MeasureNumberXML==1)),l=state.sectionFirst?state.sectionFirst.i:l}return skipNotePlay(l,0===l),i},handleSelection=e=>{!state.sectionStatus||state.section.length>1||(2!==state.section.length&&e&&(state.section.push(e),2===state.section.length&&(setSection(state.section[0].MeasureNumberXML,state.section[1].MeasureNumberXML),closeToast())),1===state.section.length&&showToast({message:"请选择结束小节",duration:0,position:"top",className:"selectionToast"}))},setSection=exports("b6",((e,t,n)=>{var i;const r=state.times.filter((t=>t.noteElement.sourceMeasure.MeasureNumberXML==e)),o=state.times.filter((e=>e.noteElement.sourceMeasure.MeasureNumberXML==t));state.userChooseEndIndex=t;const s=o[o.length-1].noteId;let a=o.filter((e=>e.noteId===s));const l=verifyCanRepeat(e,t);console.log("能否重播",l);const c=l.canRepeat;let u=!1;var h,d,p;1===a.length&&(u=null===(h=a[0])||void 0===h||null===(d=h.stave)||void 0===d||null===(p=d.modifiers)||void 0===p?void 0:p.some((e=>"Volta"===e.getAttribute("type"))));let f=t;const m=(null===(i=state.repeatInfo[l.repeatIdx])||void 0===i?void 0:i.end)||0;for(;c&&1===a.length&&a[0].MeasureNumberXML<=m&&!u;){f-=1;const e=state.times.filter((e=>e.noteElement.sourceMeasure.MeasureNumberXML==f)),t=e[e.length-1].noteId;a=e.filter((e=>e.noteId===t))}const g=c&&l.repeatIdx==state.repeatInfo.length-1?a.length-1:0,v=r[0],b=a[g];v&&b&&(state.isSelectMeasureMode=!0,hanldeDirectSelection([v,b]),n&&handleSetSpeed(n))})),hanldeDirectSelection=exports("aS",(e=>{Array.isArray(e)&&2===e.length&&(state.sectionStatus=!0,setTimeout((()=>{state.section=formateSelectMearure(e),console.log("选段小节",state.section)}),500))}));let offsetTop=0;const scrollViewNote=()=>{const e=document.getElementById("cursorImg-0"),t=document.getElementById(state.scrollContainer);e&&t&&offsetTop!==e.offsetTop&&(offsetTop=e.offsetTop,offsetTop>50?t.scrollTo({top:(offsetTop-50)*state.musicZoom,behavior:"smooth"}):t.scrollTo({top:0,behavior:"smooth"}))},isRhythmicExercises=exports("an",(()=>state.examSongName.indexOf("节奏练习")>-1)),handleRessetState=exports("aE",(()=>{clearSelection(),skipNotePlay(0,!0),state.isAppPlay&&(audioData$1.progress=0),"evaluating"===state.modeType?handleStartEvaluat():"practise"===state.modeType?togglePlay("paused"):"follow"===state.modeType&&toggleFollow(!1)})),state$1=exports("m",state),evaluatCreateMusicPlayer=exports("br",(()=>api_createMusicPlayer({musicSrc:state.accompany||state.music,tuneSrc:"https://oss.dayaedu.com/cloud-coach/1686725501654check_music1_(1).mp3"}))),getMusicDetail=exports("bn",(async e=>{const t=await getMusicSheetDetail(e);200===(null==t?void 0:t.code)&&getMusicInfo(t)})),getMusicInfo=e=>{var t,n;const i=query$1["part-index"]?parseInt(query$1["part-index"]):0,r=(null===(t=e.data.musicSheetSoundList)||void 0===t?void 0:t[i])||{},o=(null===(n=e.data.musicSheetAccompanimentList)||void 0===n?void 0:n[0])||{},s={...e.data,music:r.audioFileUrl||"",accompany:o.audioFileUrl||"",musicSheetId:r.musicSheetId||e.data.bizId,track:r.track||""};console.log("🚀 ~ musicInfo:",s),setState(s,i)},setState=(e,t)=>{var n,i,r,o,s,a,l,c,u,h,d,p;state.appName="COLEXIU",state.detailId=e.bizId,state.xmlUrl=e.xmlFileUrl,state.partIndex=t,state.trackId=e.track,state.subjectId=e.subjectIds?null===(n=e.subjectIds.split(","))||void 0===n?void 0:n[0]:0;const f=e.subjectCodes?null===(i=e.subjectCodes.split(","))||void 0===i?void 0:i[0]:"";let m=e.musicalInstrumentIdCodes?null===(r=e.musicalInstrumentIdCodes.split(","))||void 0===r?void 0:r[0]:"";const g=musicalInstrumentCodeInfo.find((e=>e.code.toLocaleLowerCase()===f.toLocaleLowerCase())),v=musicalInstrumentCodeInfo.find((e=>e.code.toLocaleLowerCase()===m.toLocaleLowerCase()));if(state.subjectCodeId=g?g.id:0,state.musicalCodeId=v?v.id:0,state.categoriesId=e.musicCategoryId,state.categoriesName=e.musicTagNames,state.examSongId=e.bizId+"",state.cbsExamSongId=e.id+"",state.examSongName=e.name,state.coverImg=null!==(o=e.musicCover)&&void 0!==o?o:"",state.isCombineRender="SINGLE"===e.musicSheetType&&(null===(s=e.musicSheetSoundList)||void 0===s?void 0:s.length)>1,setCustom(state.isCombineRender?null===(a=e.musicSheetSoundList)||void 0===a?void 0:a.length:0),e.extConfigJson)try{state.extConfigJson=JSON.parse(e.extConfigJson)}catch(T){console.error("解析扩展字段错误:",T)}state.gradualTimes=state.extConfigJson.gradualTimes,state.repeatedBeats=state.extConfigJson.repeatedBeats||0,state.needTick=!(!e.isUseSystemBeat||!e.isPlayBeat),state.isOpenMetronome=!(!e.isPlayBeat||e.isUseSystemBeat),state.isShowFingering=!!e.isShowFingering,state.isAppPlay="MIDI"===e.playMode,state.music=e.music,state.accompany=e.accompany,state.midiUrl=e.midiFileUrl,state.parentCategoriesId=e.musicTag,state.musicSheetCategoriesId=e.musicCategoryId,state.bizMusicCategoryId=e.bizMusicCategoryId,state.playMode="MP3"===e.playMode?"MP3":"MIDI",state.originSpeed=state.speed=e.playSpeed;const b=e.code||e.track;state.track=b?b.replace(/ /g,"").toLocaleLowerCase():"",state.isAppPlay?state.enableEvaluation=!!state.midiUrl:state.enableEvaluation=!!state.accompany,state.isConcert="CONCERT"===e.musicSheetType,state.canSelectTracks="null"===e.multiTracksSelection||""===e.multiTracksSelection||null===e.multiTracksSelection?[]:null===(l=e.multiTracksSelection)||void 0===l?void 0:l.split(","),state.isOpenPrepare=!0,state.extStyleConfigJson=e.extStyleConfigJson||{},state.isPercussion="AMPLITUDE"===e.evaluationStandard||"DECIBELS"===e.evaluationStandard,state.evaluationStandard=(null===(c=e.evaluationStandard)||void 0===c?void 0:c.toLocaleLowerCase())||"",state.isSpecialBookCategory=!classids.includes(Number(e.musicCategoryId));const y=state.isConcert?matchVoicePart(state.trackId,"CONCERT"):matchVoicePart(state.musicalCodeId,"SINGLE");state.fingeringInfo=subjectFingering(y),console.log("🚀 ~ state.fingeringInfo:",y,state.fingeringInfo,state.trackId,state.track),state.musicalCodeId=(null===(u=state.fingeringInfo)||void 0===u?void 0:u.id)||0,state.musicalCode=(null===(h=musicalInstrumentCodeInfo.find((e=>e.id===state.musicalCodeId)))||void 0===h?void 0:h.code)||state.trackId,window.DYSubjectId=state.musicalCodeId,window.customSectionAmount=!0,!state.fingeringInfo.name&&state.setting.displayFingering&&(state.setting.displayFingering=!1),state.music&&state.accompany||(state.playSource=state.music?"music":"background"),state.platform=(null===(d=query$1.platform)||void 0===d?void 0:d.toLocaleUpperCase())||"","PC"===state.platform&&(state.zoom=query$1.zoom||1.5);let A=null;var S,x,E;state.isConcert?(m=null===(S=musicalInstrumentCodeInfo.find((e=>e.id===state.musicalCodeId)))||void 0===S?void 0:S.code,A=null===(x=e.musicalInstruments)||void 0===x?void 0:x.find((e=>e.code===m))):A=null===(E=e.musicalInstruments)||void 0===E?void 0:E.find((e=>e.code===m));let w="";var _,M,P;null!==(p=A)&&void 0!==p&&p.defaultScore&&(w="STAVE"===(null===(_=A)||void 0===_?void 0:_.defaultScore)?"staff":"JIAN"===(null===(M=A)||void 0===M?void 0:M.defaultScore)?"fixedTone":"FIRST"===(null===(P=A)||void 0===P?void 0:P.defaultScore)?"firstTone":"");state.musicRenderType=query$1.musicRenderType||w||"firstTone",state.enableNotation=A?e.isConvertibleScore&&A.transferFlag:e.isConvertibleScore,console.log("state对象1",state),state.baseFrequency=e.evaluationFrequency?e.evaluationFrequency.split(",")[0]:440,state.baseFrequency=Number(state.baseFrequency),Math.abs(state.setting.frequency-state.baseFrequency)>10?state.setting.frequency=state.baseFrequency>=0?state.baseFrequency:440:state.setting.frequency=state.setting.frequency||state.baseFrequency},setCustom=e=>{(e||state.extConfigJson.multitrack)&&(state.multitrack=e||0,setGlobalData("multitrack",e||state.extConfigJson.multitrack))},followBeatPaly=()=>{let e=null;if(!followData.start)return clearTimeout(e),void(e=null);const t=1e3*state.measureTime/metronomeData.totalNumerator;requestAnimationFrame((()=>{var e;Date.now()-state.beatStartTime<t?followBeatPaly():(null===(e=metronomeData.metro)||void 0===e||e.simulatePlayAudio(),state.beatStartTime=Date.now(),followBeatPaly())}))};class AJAX{static ajax(e,t=9e3){let n;const i=e.indexOf(".mxl")>-1?"text/plain; charset=x-user-defined":"application/xml";if(XMLHttpRequest)n=new XMLHttpRequest;else{if(!ActiveXObject)return Promise.reject(new Error("XMLHttp not supported."));n=new ActiveXObject("Microsoft.XMLHTTP")}return n.timeout=t,new Promise(((t,r)=>{n.onreadystatechange=()=>{n.readyState===XMLHttpRequest.DONE&&(200===n.status||0===n.status&&n.responseText?t(n.responseText):r(new Error("Could not retrieve requested URL "+n.status)))},n.ontimeout=e=>{r(new Error("Server request Timeout"))},n.overrideMimeType(i),n.open("GET",e,!0),n.send()}))}}const _Fraction=class{constructor(e=0,t=1,n=0,i=!0){this.numerator=0,this.denominator=1,this.wholeValue=0,this.numerator=e,this.denominator=t,this.wholeValue=n,i&&this.simplify(),this.setRealValue()}static max(e,t){return e.RealValue>t.RealValue?e:t}static Equal(e,t){return e.wholeValue===t.wholeValue&&e.Denominator===t.Denominator&&e.Numerator===t.Numerator}static createFromFraction(e){return new _Fraction(e.numerator,e.denominator,e.wholeValue,!1)}static plus(e,t){const n=e.clone();return n.Add(t),n}static minus(e,t){const n=e.clone();return n.Sub(t),n}static multiply(e,t){return new _Fraction((e.wholeValue*e.denominator+e.numerator)*(t.wholeValue*t.denominator+t.numerator),e.denominator*t.denominator)}static greatestCommonDenominator(e,t){if(0===e)return t;if(1===t)return 1;for(;Math.abs(t)>=1&&Math.abs(e)>=1;)e>t?e-=t:t-=e;const n=Math.round(e);return Math.max(n,1)}toString(){let e=this.numerator+"/"+this.denominator;return 0!==this.wholeValue&&(e=this.wholeValue+" "+e),e}clone(){return new _Fraction(this.numerator,this.denominator,this.wholeValue,!1)}get Numerator(){return this.numerator}set Numerator(e){this.numerator!==e&&(this.numerator=e,this.simplify(),this.setRealValue())}get Denominator(){return this.denominator}set Denominator(e){this.denominator!==e&&(this.denominator=e,0!==this.numerator&&this.simplify(),this.setRealValue())}get WholeValue(){return this.wholeValue}set WholeValue(e){this.wholeValue!==e&&(this.wholeValue=e,this.setRealValue())}GetExpandedNumerator(){return this.wholeValue*this.denominator+this.numerator}calculateNumberOfNeededDots(){let e=1,t=2;const n=this.GetExpandedNumerator();for(;t<n;)e++,t=Math.pow(2,e);return Math.min(3,e-1)}IsNegative(){return this.realValue<0}get RealValue(){return this.realValue}expand(e){this.numerator*=e,this.denominator*=e,0!==this.wholeValue&&(this.numerator+=this.wholeValue*this.denominator,this.wholeValue=0)}Add(e){return this.numerator=(this.wholeValue*this.denominator+this.numerator)*e.denominator+(e.wholeValue*e.denominator+e.numerator)*this.denominator,this.denominator=this.denominator*e.denominator,this.wholeValue=0,this.simplify(),this.setRealValue(),this}Sub(e){return this.numerator=(this.wholeValue*this.denominator+this.numerator)*e.denominator-(e.wholeValue*e.denominator+e.numerator)*this.denominator,this.denominator=this.denominator*e.denominator,this.wholeValue=0,this.simplify(),this.setRealValue(),this}getHalfLength(){return new _Fraction(this.WholeValue,2).Add(new _Fraction(this.Numerator,2*this.Denominator))}Quantize(e){if(this.denominator<=e)return this;const t=new _Fraction(this.numerator+1,this.denominator,this.wholeValue);for(;t.Denominator>e;)t.Numerator++;if(this.numerator>this.denominator){const n=new _Fraction(this.numerator-1,this.denominator,this.wholeValue);for(;n.Denominator>e;)n.Numerator--;if(n.Denominator<t.Denominator)return n}return t}Equals(e){return this.realValue===(null==e?void 0:e.realValue)}CompareTo(e){const t=this.realValue-e.realValue;return t?t<0?-1:1:0}lt(e){return this.realValue<e.realValue}lte(e){return this.realValue<=e.realValue}gt(e){return!this.lte(e)}gte(e){return!this.lt(e)}setRealValue(){this.realValue=this.wholeValue+this.numerator/this.denominator}simplify(){if(0===this.numerator)return void(this.denominator=1);const e=_Fraction.greatestCommonDenominator(Math.abs(this.numerator),Math.abs(this.denominator));this.numerator/=e,this.denominator/=e;const t=Math.floor(this.numerator/this.denominator);if(0!==t&&(this.wholeValue+=t,this.numerator-=t*this.denominator,0===this.numerator&&(this.denominator=1)),this.denominator>_Fraction.maximumAllowedNumber){const e=this.denominator/_Fraction.maximumAllowedNumber;this.numerator=Math.round(this.numerator/e),this.denominator=Math.round(this.denominator/e)}if(this.numerator>_Fraction.maximumAllowedNumber){const e=this.numerator/_Fraction.maximumAllowedNumber;this.numerator=Math.round(this.numerator/e),this.denominator=Math.round(this.denominator/e)}}isOnBeat(e){const t=this.distanceFromBeat(e);return Math.abs(t)<_Fraction.FloatInaccuracyTolerance}distanceFromBeat(e){const t=new _Fraction(1,e.Denominator);return this.RealValue%t.RealValue}};let Fraction$1=_Fraction;Fraction$1.maximumAllowedNumber=46340,Fraction$1.FloatInaccuracyTolerance=1e-4;class AbstractExpression{constructor(e){this.placement=e}static isStringInStringList(e,t){for(let n=0,i=e.length;n<i;++n){const i=e[n];if(t.toLowerCase()===i.toLowerCase().trim())return!0}return!1}get Placement(){return this.placement}static PlacementEnumFromString(e){switch(e.toLowerCase()){case"above":return 0;case"below":return 1;case"aboveorbelow":case"abovebelow":return 5;case"left":return 2;case"right":return 3;default:return 4}}}var PlacementEnum=(e=>(e[e.Above=0]="Above",e[e.Below=1]="Below",e[e.Left=2]="Left",e[e.Right=3]="Right",e[e.NotYetDefined=4]="NotYetDefined",e[e.AboveOrBelow=5]="AboveOrBelow",e))(PlacementEnum||{});const _ContinuousDynamicExpression=class extends AbstractExpression{constructor(e,t,n,i,r,o,s=""){super(t),super.parentMeasure=i,this.NumberXml=o,this.dynamicType=e,this.label=s,this.staffNumber=n,this.activeInstantaneousDynamic=r,this.startVolume=1,this.endVolume=1,this.setStartAndEndVolume(),""!==s&&this.setType()}setStartAndEndVolume(){this.activeInstantaneousDynamic&&(0===this.dynamicType&&(this.startVolume=this.activeInstantaneousDynamic.Volume,this.endVolume=1.2*this.activeInstantaneousDynamic.Volume),1===this.dynamicType&&(this.startVolume=this.activeInstantaneousDynamic.Volume,this.endVolume=.8*this.activeInstantaneousDynamic.Volume))}get DynamicType(){return this.dynamicType}set DynamicType(e){this.dynamicType=e}get StartMultiExpression(){return this.startMultiExpression}set StartMultiExpression(e){this.startMultiExpression=e}get EndMultiExpression(){return this.endMultiExpression}set EndMultiExpression(e){this.endMultiExpression=e}get Placement(){return this.placement}set Placement(e){this.placement=e}get StartVolume(){return this.startVolume}set StartVolume(e){this.startVolume=e}get EndVolume(){return this.endVolume}set EndVolume(e){this.endVolume=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get Label(){return this.label}set Label(e){this.label=e,this.setType()}static isInputStringContinuousDynamic(e){return!!e&&(_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicIncreasing,e)||_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicDecreasing,e))}getInterpolatedDynamic(e){const t=this.StartMultiExpression.AbsoluteTimestamp;let n;if(n=this.EndMultiExpression?this.EndMultiExpression.AbsoluteTimestamp:Fraction$1.plus(this.startMultiExpression.SourceMeasureParent.AbsoluteTimestamp,this.startMultiExpression.SourceMeasureParent.Duration),e.lt(t))return-1;if(n.lt(e))return-2;const i=Fraction$1.minus(e,t).RealValue/Fraction$1.minus(n,t).RealValue;return Math.max(0,Math.min(99.9,this.startVolume+(this.endVolume-this.startVolume)*i))}isWedge(){return!this.label}setType(){_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicIncreasing,this.label)?this.dynamicType=0:_ContinuousDynamicExpression.isStringInStringList(_ContinuousDynamicExpression.listContinuousDynamicDecreasing,this.label)&&(this.dynamicType=1)}};let ContinuousDynamicExpression=_ContinuousDynamicExpression;ContinuousDynamicExpression.listContinuousDynamicIncreasing=["crescendo","cresc","cresc.","cres."],ContinuousDynamicExpression.listContinuousDynamicDecreasing=["decrescendo","decresc","decr.","diminuendo","dim.","dim"];var ContDynamicEnum=(e=>(e[e.crescendo=0]="crescendo",e[e.diminuendo=1]="diminuendo",e))(ContDynamicEnum||{}),DynamicExpressionSymbolEnum=(e=>(e[e.p=0]="p",e[e.f=1]="f",e[e.s=2]="s",e[e.z=3]="z",e[e.m=4]="m",e[e.r=5]="r",e))(DynamicExpressionSymbolEnum||{});class MusicSheetReadingException{constructor(e,t){this.message=e,t&&(this.message+=" "+t.toString())}}class ArgumentOutOfRangeException{constructor(e){this.message=e}}class InvalidEnumArgumentException{constructor(e){this.message=e}}var loglevelExports={},loglevel={get exports(){return loglevelExports},set exports(e){loglevelExports=e}};!function(t){!function(e,n){t.exports?t.exports=n():e.log=n()}(commonjsGlobal,(function(){var t=function(){},n="undefined",i=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"];function o(t,n){var i=t[n];if("function"==typeof i.bind)return i.bind(t);try{return Function.prototype.bind.call(i,t)}catch(e){return function(){return Function.prototype.apply.apply(i,[t,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 a(e,n){for(var i=0;i<r.length;i++){var o=r[i];this[o]=i<e?t:this.methodFactory(o,e,n)}this.log=this.debug}function l(e,t,i){return function(){typeof console!==n&&(a.call(this,t,i),this[e].apply(this,arguments))}}function c(e,r,a){return function(e){return"debug"===e&&(e="log"),typeof console!==n&&("trace"===e&&i?s:void 0!==console[e]?o(console,e):void 0!==console.log?o(console,"log"):t)}(e)||l.apply(this,arguments)}function u(e,t,i){var o,s=this;t=null==t?"WARN":t;var l="loglevel";function u(){var e;if(typeof window!==n&&l){try{e=window.localStorage[l]}catch(r){}if(typeof e===n)try{var t=window.document.cookie,i=t.indexOf(encodeURIComponent(l)+"=");-1!==i&&(e=/^([^;]+)/.exec(t.slice(i))[1])}catch(r){}return void 0===s.levels[e]&&(e=void 0),e}}"string"==typeof e?l+=":"+e:"symbol"==typeof e&&(l=void 0),s.name=e,s.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},s.methodFactory=i||c,s.getLevel=function(){return o},s.setLevel=function(t,i){if("string"==typeof t&&void 0!==s.levels[t.toUpperCase()]&&(t=s.levels[t.toUpperCase()]),!("number"==typeof t&&t>=0&&t<=s.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(o=t,!1!==i&&function(e){var t=(r[e]||"silent").toUpperCase();if(typeof window!==n&&l){try{return void(window.localStorage[l]=t)}catch(i){}try{window.document.cookie=encodeURIComponent(l)+"="+t+";"}catch(i){}}}(t),a.call(s,t,e),typeof console===n&&t<s.levels.SILENT)return"No console available for logging"},s.setDefaultLevel=function(e){t=e,u()||s.setLevel(e,!1)},s.resetLevel=function(){s.setLevel(t,!1),function(){if(typeof window!==n&&l){try{return void window.localStorage.removeItem(l)}catch(e){}try{window.document.cookie=encodeURIComponent(l)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},s.enableAll=function(e){s.setLevel(s.levels.TRACE,e)},s.disableAll=function(e){s.setLevel(s.levels.SILENT,e)};var h=u();null==h&&(h=t),s.setLevel(h,!1)}var h=new u,d={};h.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=d[e];return t||(t=d[e]=new u(e,h.getLevel(),h.methodFactory)),t};var p=typeof window!==n?window.log:void 0;return h.noConflict=function(){return typeof window!==n&&window.log===h&&(window.log=p),h},h.getLoggers=function(){return d},h.default=h,h}))}(loglevel);var lib$3={},arrays$4={},util$b={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Object.prototype.hasOwnProperty;function n(e){return"function"==typeof e}function i(e){return void 0===e}function r(e){return"[object String]"===Object.prototype.toString.call(e)}e.has=function(e,n){return t.call(e,n)},e.defaultCompare=function(e,t){return e<t?-1:e===t?0:1},e.defaultEquals=function(e,t){return e===t},e.defaultToString=function(e){return null===e?"COLLECTION_NULL":i(e)?"COLLECTION_UNDEFINED":r(e)?"$s"+e:"$o"+e.toString()},e.makeString=function(t,n){if(void 0===n&&(n=","),null===t)return"COLLECTION_NULL";if(i(t))return"COLLECTION_UNDEFINED";if(r(t))return t.toString();var o="{",s=!0;for(var a in t)e.has(t,a)&&(s?s=!1:o+=n,o=o+a+":"+t[a]);return o+"}"},e.isFunction=n,e.isUndefined=i,e.isString=r,e.reverseCompareFunction=function(e){return i(e)||!n(e)?function(e,t){return e<t?1:e===t?0:-1}:function(t,n){return-1*e(t,n)}},e.compareToEquals=function(e){return function(t,n){return 0===e(t,n)}}}(util$b),Object.defineProperty(arrays$4,"__esModule",{value:!0});var util$a=util$b;function indexOf$1(e,t,n){for(var i=n||util$a.defaultEquals,r=e.length,o=0;o<r;o++)if(i(e[o],t))return o;return-1}function lastIndexOf(e,t,n){for(var i=n||util$a.defaultEquals,r=e.length-1;r>=0;r--)if(i(e[r],t))return r;return-1}function contains(e,t,n){return indexOf$1(e,t,n)>=0}function remove(e,t,n){var i=indexOf$1(e,t,n);return!(i<0)&&(e.splice(i,1),!0)}function frequency(e,t,n){for(var i=n||util$a.defaultEquals,r=e.length,o=0,s=0;s<r;s++)i(e[s],t)&&o++;return o}function equals(e,t,n){var i=n||util$a.defaultEquals;if(e.length!==t.length)return!1;for(var r=e.length,o=0;o<r;o++)if(!i(e[o],t[o]))return!1;return!0}function copy(e){return e.concat()}function swap(e,t,n){if(t<0||t>=e.length||n<0||n>=e.length)return!1;var i=e[t];return e[t]=e[n],e[n]=i,!0}function toString$1(e){return"["+e.toString()+"]"}function forEach(e,t){for(var n=0,i=e;n<i.length;n++){if(!1===t(i[n]))return}}arrays$4.indexOf=indexOf$1,arrays$4.lastIndexOf=lastIndexOf,arrays$4.contains=contains,arrays$4.remove=remove,arrays$4.frequency=frequency,arrays$4.equals=equals,arrays$4.copy=copy,arrays$4.swap=swap,arrays$4.toString=toString$1,arrays$4.forEach=forEach;var Bag$1={},Dictionary$2={};Object.defineProperty(Dictionary$2,"__esModule",{value:!0});var util$9=util$b,Dictionary$1=function(){function e(e){this.table={},this.nElements=0,this.toStr=e||util$9.defaultToString}return e.prototype.getValue=function(e){var t=this.table["$"+this.toStr(e)];if(!util$9.isUndefined(t))return t.value},e.prototype.setValue=function(e,t){if(!util$9.isUndefined(e)&&!util$9.isUndefined(t)){var n,i="$"+this.toStr(e),r=this.table[i];return util$9.isUndefined(r)?(this.nElements++,n=void 0):n=r.value,this.table[i]={key:e,value:t},n}},e.prototype.remove=function(e){var t="$"+this.toStr(e),n=this.table[t];if(!util$9.isUndefined(n))return delete this.table[t],this.nElements--,n.value},e.prototype.keys=function(){var e=[];for(var t in this.table)if(util$9.has(this.table,t)){var n=this.table[t];e.push(n.key)}return e},e.prototype.values=function(){var e=[];for(var t in this.table)if(util$9.has(this.table,t)){var n=this.table[t];e.push(n.value)}return e},e.prototype.forEach=function(e){for(var t in this.table)if(util$9.has(this.table,t)){var n=this.table[t];if(!1===e(n.key,n.value))return}},e.prototype.containsKey=function(e){return!util$9.isUndefined(this.getValue(e))},e.prototype.clear=function(){this.table={},this.nElements=0},e.prototype.size=function(){return this.nElements},e.prototype.isEmpty=function(){return this.nElements<=0},e.prototype.toString=function(){var e="{";return this.forEach((function(t,n){e+="\n\t"+t+" : "+n})),e+"\n}"},e}(),_default=Dictionary$2.default=Dictionary$1,_Set={};Object.defineProperty(_Set,"__esModule",{value:!0});var util$8=util$b,arrays$3=arrays$4,Dictionary_1$5=Dictionary$2,Set$1=function(){function e(e){this.dictionary=new Dictionary_1$5.default(e)}return e.prototype.contains=function(e){return this.dictionary.containsKey(e)},e.prototype.add=function(e){return!this.contains(e)&&!util$8.isUndefined(e)&&(this.dictionary.setValue(e,e),!0)},e.prototype.intersection=function(e){var t=this;this.forEach((function(n){return e.contains(n)||t.remove(n),!0}))},e.prototype.union=function(e){var t=this;e.forEach((function(e){return t.add(e),!0}))},e.prototype.difference=function(e){var t=this;e.forEach((function(e){return t.remove(e),!0}))},e.prototype.isSubsetOf=function(e){if(this.size()>e.size())return!1;var t=!0;return this.forEach((function(n){return!!e.contains(n)||(t=!1,!1)})),t},e.prototype.remove=function(e){return!!this.contains(e)&&(this.dictionary.remove(e),!0)},e.prototype.forEach=function(e){this.dictionary.forEach((function(t,n){return e(n)}))},e.prototype.toArray=function(){return this.dictionary.values()},e.prototype.isEmpty=function(){return this.dictionary.isEmpty()},e.prototype.size=function(){return this.dictionary.size()},e.prototype.clear=function(){this.dictionary.clear()},e.prototype.toString=function(){return arrays$3.toString(this.toArray())},e}();_Set.default=Set$1,Object.defineProperty(Bag$1,"__esModule",{value:!0});var util$7=util$b,Dictionary_1$4=Dictionary$2,Set_1$1=_Set,Bag=function(){function e(e){this.toStrF=e||util$7.defaultToString,this.dictionary=new Dictionary_1$4.default(this.toStrF),this.nElements=0}return e.prototype.add=function(e,t){if(void 0===t&&(t=1),util$7.isUndefined(e)||t<=0)return!1;if(this.contains(e))this.dictionary.getValue(e).copies+=t;else{var n={value:e,copies:t};this.dictionary.setValue(e,n)}return this.nElements+=t,!0},e.prototype.count=function(e){return this.contains(e)?this.dictionary.getValue(e).copies:0},e.prototype.contains=function(e){return this.dictionary.containsKey(e)},e.prototype.remove=function(e,t){if(void 0===t&&(t=1),util$7.isUndefined(e)||t<=0)return!1;if(this.contains(e)){var n=this.dictionary.getValue(e);return t>n.copies?this.nElements-=n.copies:this.nElements-=t,n.copies-=t,n.copies<=0&&this.dictionary.remove(e),!0}return!1},e.prototype.toArray=function(){for(var e=[],t=0,n=this.dictionary.values();t<n.length;t++)for(var i=n[t],r=i.value,o=i.copies,s=0;s<o;s++)e.push(r);return e},e.prototype.toSet=function(){for(var e=new Set_1$1.default(this.toStrF),t=0,n=this.dictionary.values();t<n.length;t++){var i=n[t].value;e.add(i)}return e},e.prototype.forEach=function(e){this.dictionary.forEach((function(t,n){for(var i=n.value,r=n.copies,o=0;o<r;o++)if(!1===e(i))return!1;return!0}))},e.prototype.size=function(){return this.nElements},e.prototype.isEmpty=function(){return 0===this.nElements},e.prototype.clear=function(){this.nElements=0,this.dictionary.clear()},e}();Bag$1.default=Bag;var BSTree$1={},BSTreeKV$1={},Queue$1={},LinkedList$1={};Object.defineProperty(LinkedList$1,"__esModule",{value:!0});var util$6=util$b,arrays$2=arrays$4,LinkedList=function(){function e(){this.firstNode=null,this.lastNode=null,this.nElements=0}return e.prototype.add=function(e,t){if(util$6.isUndefined(t)&&(t=this.nElements),t<0||t>this.nElements||util$6.isUndefined(e))return!1;var n=this.createNode(e);if(0===this.nElements||null===this.lastNode)this.firstNode=n,this.lastNode=n;else if(t===this.nElements)this.lastNode.next=n,this.lastNode=n;else if(0===t)n.next=this.firstNode,this.firstNode=n;else{var i=this.nodeAtIndex(t-1);if(null===i)return!1;n.next=i.next,i.next=n}return this.nElements++,!0},e.prototype.first=function(){if(null!==this.firstNode)return this.firstNode.element},e.prototype.last=function(){if(null!==this.lastNode)return this.lastNode.element},e.prototype.elementAtIndex=function(e){var t=this.nodeAtIndex(e);if(null!==t)return t.element},e.prototype.indexOf=function(e,t){var n=t||util$6.defaultEquals;if(util$6.isUndefined(e))return-1;for(var i=this.firstNode,r=0;null!==i;){if(n(i.element,e))return r;r++,i=i.next}return-1},e.prototype.contains=function(e,t){return this.indexOf(e,t)>=0},e.prototype.remove=function(e,t){var n=t||util$6.defaultEquals;if(this.nElements<1||util$6.isUndefined(e))return!1;for(var i=null,r=this.firstNode;null!==r;){if(n(r.element,e))return null===i?(this.firstNode=r.next,r===this.lastNode&&(this.lastNode=null)):r===this.lastNode?(this.lastNode=i,i.next=r.next,r.next=null):(i.next=r.next,r.next=null),this.nElements--,!0;i=r,r=r.next}return!1},e.prototype.clear=function(){this.firstNode=null,this.lastNode=null,this.nElements=0},e.prototype.equals=function(t,n){var i=n||util$6.defaultEquals;return t instanceof e&&(this.size()===t.size()&&this.equalsAux(this.firstNode,t.firstNode,i))},e.prototype.equalsAux=function(e,t,n){for(;null!==e&&null!==t;){if(!n(e.element,t.element))return!1;e=e.next,t=t.next}return!0},e.prototype.removeElementAtIndex=function(e){if(!(e<0||e>=this.nElements||null===this.firstNode||null===this.lastNode)){var t;if(1===this.nElements)t=this.firstNode.element,this.firstNode=null,this.lastNode=null;else{var n=this.nodeAtIndex(e-1);null===n?(t=this.firstNode.element,this.firstNode=this.firstNode.next):n.next===this.lastNode&&(t=this.lastNode.element,this.lastNode=n),null!==n&&null!==n.next&&(t=n.next.element,n.next=n.next.next)}return this.nElements--,t}},e.prototype.forEach=function(e){for(var t=this.firstNode;null!==t&&!1!==e(t.element);)t=t.next},e.prototype.reverse=function(){for(var e=null,t=this.firstNode,n=null;null!==t;)n=t.next,t.next=e,e=t,t=n;n=this.firstNode,this.firstNode=this.lastNode,this.lastNode=n},e.prototype.toArray=function(){for(var e=[],t=this.firstNode;null!==t;)e.push(t.element),t=t.next;return e},e.prototype.size=function(){return this.nElements},e.prototype.isEmpty=function(){return this.nElements<=0},e.prototype.toString=function(){return arrays$2.toString(this.toArray())},e.prototype.nodeAtIndex=function(e){if(e<0||e>=this.nElements)return null;if(e===this.nElements-1)return this.lastNode;for(var t=this.firstNode,n=0;n<e&&null!==t;n++)t=t.next;return t},e.prototype.createNode=function(e){return{element:e,next:null}},e}();LinkedList$1.default=LinkedList,Object.defineProperty(Queue$1,"__esModule",{value:!0});var LinkedList_1$2=LinkedList$1,Queue=function(){function e(){this.list=new LinkedList_1$2.default}return e.prototype.enqueue=function(e){return this.list.add(e)},e.prototype.add=function(e){return this.list.add(e)},e.prototype.dequeue=function(){if(0!==this.list.size()){var e=this.list.first();return this.list.removeElementAtIndex(0),e}},e.prototype.peek=function(){if(0!==this.list.size())return this.list.first()},e.prototype.size=function(){return this.list.size()},e.prototype.contains=function(e,t){return this.list.contains(e,t)},e.prototype.isEmpty=function(){return this.list.size()<=0},e.prototype.clear=function(){this.list.clear()},e.prototype.forEach=function(e){this.list.forEach(e)},e}();Queue$1.default=Queue,Object.defineProperty(BSTreeKV$1,"__esModule",{value:!0});var util$5=util$b,Queue_1$1=Queue$1,BSTreeKV=function(){function e(e){this.root=null,this.compare=e||util$5.defaultCompare,this.nElements=0}return e.prototype.add=function(e){return!util$5.isUndefined(e)&&(null!==this.insertNode(this.createNode(e))&&(this.nElements++,!0))},e.prototype.clear=function(){this.root=null,this.nElements=0},e.prototype.isEmpty=function(){return 0===this.nElements},e.prototype.size=function(){return this.nElements},e.prototype.contains=function(e){return!util$5.isUndefined(e)&&null!==this.searchNode(this.root,e)},e.prototype.search=function(e){var t=this.searchNode(this.root,e);if(null!==t)return t.element},e.prototype.remove=function(e){var t=this.searchNode(this.root,e);return null!==t&&(this.removeNode(t),this.nElements--,!0)},e.prototype.inorderTraversal=function(e){this.inorderTraversalAux(this.root,e,{stop:!1})},e.prototype.preorderTraversal=function(e){this.preorderTraversalAux(this.root,e,{stop:!1})},e.prototype.postorderTraversal=function(e){this.postorderTraversalAux(this.root,e,{stop:!1})},e.prototype.levelTraversal=function(e){this.levelTraversalAux(this.root,e)},e.prototype.minimum=function(){if(!this.isEmpty()&&null!==this.root)return this.minimumAux(this.root).element},e.prototype.maximum=function(){if(!this.isEmpty()&&null!==this.root)return this.maximumAux(this.root).element},e.prototype.forEach=function(e){this.inorderTraversal(e)},e.prototype.toArray=function(){var e=[];return this.inorderTraversal((function(t){return e.push(t),!0})),e},e.prototype.height=function(){return this.heightAux(this.root)},e.prototype.searchNode=function(e,t){for(var n=1;null!==e&&0!==n;)(n=this.compare(t,e.element))<0?e=e.leftCh:n>0&&(e=e.rightCh);return e},e.prototype.transplant=function(e,t){null===e.parent?this.root=t:e===e.parent.leftCh?e.parent.leftCh=t:e.parent.rightCh=t,null!==t&&(t.parent=e.parent)},e.prototype.removeNode=function(e){if(null===e.leftCh)this.transplant(e,e.rightCh);else if(null===e.rightCh)this.transplant(e,e.leftCh);else{var t=this.minimumAux(e.rightCh);t.parent!==e&&(this.transplant(t,t.rightCh),t.rightCh=e.rightCh,t.rightCh.parent=t),this.transplant(e,t),t.leftCh=e.leftCh,t.leftCh.parent=t}},e.prototype.inorderTraversalAux=function(e,t,n){null===e||n.stop||(this.inorderTraversalAux(e.leftCh,t,n),n.stop||(n.stop=!1===t(e.element),n.stop||this.inorderTraversalAux(e.rightCh,t,n)))},e.prototype.levelTraversalAux=function(e,t){var n=new Queue_1$1.default;for(null!==e&&n.enqueue(e),e=n.dequeue()||null;null!=e;){if(!1===t(e.element))return;null!==e.leftCh&&n.enqueue(e.leftCh),null!==e.rightCh&&n.enqueue(e.rightCh),e=n.dequeue()||null}},e.prototype.preorderTraversalAux=function(e,t,n){null===e||n.stop||(n.stop=!1===t(e.element),n.stop||(this.preorderTraversalAux(e.leftCh,t,n),n.stop||this.preorderTraversalAux(e.rightCh,t,n)))},e.prototype.postorderTraversalAux=function(e,t,n){null===e||n.stop||(this.postorderTraversalAux(e.leftCh,t,n),n.stop||(this.postorderTraversalAux(e.rightCh,t,n),n.stop||(n.stop=!1===t(e.element))))},e.prototype.minimumAux=function(e){for(;null!=e&&null!==e.leftCh;)e=e.leftCh;return e},e.prototype.maximumAux=function(e){for(;null!=e&&null!==e.rightCh;)e=e.rightCh;return e},e.prototype.heightAux=function(e){return null===e?-1:Math.max(this.heightAux(e.leftCh),this.heightAux(e.rightCh))+1},e.prototype.insertNode=function(e){for(var t=null,n=this.root;null!==n;){var i=this.compare(e.element,n.element);if(0===i)return null;i<0?(t=n,n=n.leftCh):(t=n,n=n.rightCh)}return e.parent=t,null===t?this.root=e:this.compare(e.element,t.element)<0?t.leftCh=e:t.rightCh=e,e},e.prototype.createNode=function(e){return{element:e,leftCh:null,rightCh:null,parent:null}},e}();BSTreeKV$1.default=BSTreeKV;var __extends$2=commonjsGlobal&&commonjsGlobal.__extends||(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),extendStatics;Object.defineProperty(BSTree$1,"__esModule",{value:!0});var BSTreeKV_1$1=BSTreeKV$1,BSTree=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends$2(t,e),t}(BSTreeKV_1$1.default);BSTree$1.default=BSTree;var Heap$1={};Object.defineProperty(Heap$1,"__esModule",{value:!0});var collections=util$b,arrays$1=arrays$4,Heap=function(){function e(e){this.data=[],this.compare=e||collections.defaultCompare}return e.prototype.leftChildIndex=function(e){return 2*e+1},e.prototype.rightChildIndex=function(e){return 2*e+2},e.prototype.parentIndex=function(e){return Math.floor((e-1)/2)},e.prototype.minIndex=function(e,t){return t>=this.data.length?e>=this.data.length?-1:e:this.compare(this.data[e],this.data[t])<=0?e:t},e.prototype.siftUp=function(e){for(var t=this.parentIndex(e);e>0&&this.compare(this.data[t],this.data[e])>0;)arrays$1.swap(this.data,t,e),e=t,t=this.parentIndex(e)},e.prototype.siftDown=function(e){for(var t=this.minIndex(this.leftChildIndex(e),this.rightChildIndex(e));t>=0&&this.compare(this.data[e],this.data[t])>0;)arrays$1.swap(this.data,t,e),e=t,t=this.minIndex(this.leftChildIndex(e),this.rightChildIndex(e))},e.prototype.peek=function(){return this.data.length>0?this.data[0]:void 0},e.prototype.add=function(e){return!collections.isUndefined(e)&&(this.data.push(e),this.siftUp(this.data.length-1),!0)},e.prototype.removeRoot=function(){if(this.data.length>0){var e=this.data[0];return this.data[0]=this.data[this.data.length-1],this.data.splice(this.data.length-1,1),this.data.length>0&&this.siftDown(0),e}},e.prototype.contains=function(e){var t=collections.compareToEquals(this.compare);return arrays$1.contains(this.data,e,t)},e.prototype.size=function(){return this.data.length},e.prototype.isEmpty=function(){return this.data.length<=0},e.prototype.clear=function(){this.data.length=0},e.prototype.forEach=function(e){arrays$1.forEach(this.data,e)},e}();Heap$1.default=Heap;var LinkedDictionary$1={},__extends$1=commonjsGlobal&&commonjsGlobal.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(LinkedDictionary$1,"__esModule",{value:!0});var Dictionary_1$3=Dictionary$2,util$4=util$b,LinkedDictionaryPair=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.unlink=function(){this.prev.next=this.next,this.next.prev=this.prev},e}(),HeadOrTailLinkedDictionaryPair=function(){function e(){this.key=null,this.value=null}return e.prototype.unlink=function(){this.prev.next=this.next,this.next.prev=this.prev},e}();function isHeadOrTailLinkedDictionaryPair(e){return!e.next}var LinkedDictionary=function(e){function t(t){var n=e.call(this,t)||this;return n.head=new HeadOrTailLinkedDictionaryPair,n.tail=new HeadOrTailLinkedDictionaryPair,n.head.next=n.tail,n.tail.prev=n.head,n}return __extends$1(t,e),t.prototype.appendToTail=function(e){var t=this.tail.prev;t.next=e,e.prev=t,e.next=this.tail,this.tail.prev=e},t.prototype.getLinkedDictionaryPair=function(e){if(!util$4.isUndefined(e)){var t="$"+this.toStr(e);return this.table[t]}},t.prototype.getValue=function(e){var t=this.getLinkedDictionaryPair(e);if(!util$4.isUndefined(t))return t.value},t.prototype.remove=function(t){var n=this.getLinkedDictionaryPair(t);if(!util$4.isUndefined(n))return e.prototype.remove.call(this,t),n.unlink(),n.value},t.prototype.clear=function(){e.prototype.clear.call(this),this.head.next=this.tail,this.tail.prev=this.head},t.prototype.replace=function(e,t){var n="$"+this.toStr(t.key);t.next=e.next,t.prev=e.prev,this.remove(e.key),t.prev.next=t,t.next.prev=t,this.table[n]=t,++this.nElements},t.prototype.setValue=function(e,t){if(!util$4.isUndefined(e)&&!util$4.isUndefined(t)){var n=this.getLinkedDictionaryPair(e),i=new LinkedDictionaryPair(e,t),r="$"+this.toStr(e);return util$4.isUndefined(n)?(this.appendToTail(i),this.table[r]=i,void++this.nElements):(this.replace(n,i),n.value)}},t.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(t)})),e},t.prototype.values=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),e},t.prototype.forEach=function(e){for(var t=this.head.next;!isHeadOrTailLinkedDictionaryPair(t);){if(!1===e(t.key,t.value))return;t=t.next}},t}(Dictionary_1$3.default);LinkedDictionary$1.default=LinkedDictionary;var MultiDictionary$1={};Object.defineProperty(MultiDictionary$1,"__esModule",{value:!0});var util$3=util$b,Dictionary_1$2=Dictionary$2,arrays=arrays$4,MultiDictionary=function(){function e(e,t,n){void 0===n&&(n=!1),this.dict=new Dictionary_1$2.default(e),this.equalsF=t||util$3.defaultEquals,this.allowDuplicate=n}return e.prototype.getValue=function(e){var t=this.dict.getValue(e);return util$3.isUndefined(t)?[]:arrays.copy(t)},e.prototype.setValue=function(e,t){if(util$3.isUndefined(e)||util$3.isUndefined(t))return!1;var n=this.dict.getValue(e);return util$3.isUndefined(n)?(this.dict.setValue(e,[t]),!0):!(!this.allowDuplicate&&arrays.contains(n,t,this.equalsF))&&(n.push(t),!0)},e.prototype.remove=function(e,t){if(util$3.isUndefined(t)){var n=this.dict.remove(e);return!util$3.isUndefined(n)}var i=this.dict.getValue(e);return!(util$3.isUndefined(i)||!arrays.remove(i,t,this.equalsF))&&(0===i.length&&this.dict.remove(e),!0)},e.prototype.keys=function(){return this.dict.keys()},e.prototype.values=function(){for(var e=[],t=0,n=this.dict.values();t<n.length;t++)for(var i=0,r=n[t];i<r.length;i++){var o=r[i];e.push(o)}return e},e.prototype.containsKey=function(e){return this.dict.containsKey(e)},e.prototype.clear=function(){this.dict.clear()},e.prototype.size=function(){return this.dict.size()},e.prototype.isEmpty=function(){return this.dict.isEmpty()},e}();MultiDictionary$1.default=MultiDictionary;var FactoryDictionary$1={},__extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(FactoryDictionary$1,"__esModule",{value:!0});var Dictionary_1$1=Dictionary$2,util$2=util$b,FactoryDictionary=function(e){function t(t,n){var i=e.call(this,n)||this;return i.defaultFactoryFunction=t,i}return __extends(t,e),t.prototype.setDefault=function(t,n){var i=e.prototype.getValue.call(this,t);return util$2.isUndefined(i)?(this.setValue(t,n),n):i},t.prototype.getValue=function(e){return this.setDefault(e,this.defaultFactoryFunction())},t}(Dictionary_1$1.default);FactoryDictionary$1.default=FactoryDictionary;var PriorityQueue$1={};Object.defineProperty(PriorityQueue$1,"__esModule",{value:!0});var util$1=util$b,Heap_1$1=Heap$1,PriorityQueue=function(){function e(e){this.heap=new Heap_1$1.default(util$1.reverseCompareFunction(e))}return e.prototype.enqueue=function(e){return this.heap.add(e)},e.prototype.add=function(e){return this.heap.add(e)},e.prototype.dequeue=function(){if(0!==this.heap.size()){var e=this.heap.peek();return this.heap.removeRoot(),e}},e.prototype.peek=function(){return this.heap.peek()},e.prototype.contains=function(e){return this.heap.contains(e)},e.prototype.isEmpty=function(){return this.heap.isEmpty()},e.prototype.size=function(){return this.heap.size()},e.prototype.clear=function(){this.heap.clear()},e.prototype.forEach=function(e){this.heap.forEach(e)},e}();PriorityQueue$1.default=PriorityQueue;var Stack$1={};Object.defineProperty(Stack$1,"__esModule",{value:!0});var LinkedList_1$1=LinkedList$1,Stack=function(){function e(){this.list=new LinkedList_1$1.default}return e.prototype.push=function(e){return this.list.add(e,0)},e.prototype.add=function(e){return this.list.add(e,0)},e.prototype.pop=function(){return this.list.removeElementAtIndex(0)},e.prototype.peek=function(){return this.list.first()},e.prototype.size=function(){return this.list.size()},e.prototype.contains=function(e,t){return this.list.contains(e,t)},e.prototype.isEmpty=function(){return this.list.isEmpty()},e.prototype.clear=function(){this.list.clear()},e.prototype.forEach=function(e){this.list.forEach(e)},e}();Stack$1.default=Stack;var MultiRootTree$1={},Direction;Object.defineProperty(MultiRootTree$1,"__esModule",{value:!0}),function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER",e[e.INSIDE_AT_END=2]="INSIDE_AT_END",e[e.INSIDE_AT_START=3]="INSIDE_AT_START"}(Direction||(Direction={}));var MultiRootTree=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t={}),this.rootIds=e,this.nodes=t,this.initRootIds(),this.initNodes()}return e.prototype.initRootIds=function(){for(var e=0,t=this.rootIds;e<t.length;e++){var n=t[e];this.createEmptyNodeIfNotExist(n)}},e.prototype.initNodes=function(){for(var e in this.nodes)if(this.nodes.hasOwnProperty(e))for(var t=0,n=this.nodes[e];t<n.length;t++){var i=n[t];this.createEmptyNodeIfNotExist(i)}},e.prototype.createEmptyNodeIfNotExist=function(e){this.nodes[e]||(this.nodes[e]=[])},e.prototype.getRootIds=function(){return this.rootIds.slice()},e.prototype.getNodes=function(){var e={};for(var t in this.nodes)this.nodes.hasOwnProperty(t)&&(e[t]=this.nodes[t].slice());return e},e.prototype.getObject=function(){return{rootIds:this.getRootIds(),nodes:this.getNodes()}},e.prototype.toObject=function(){return this.getObject()},e.prototype.flatten=function(){for(var e=this,t=[],n=0;n<this.rootIds.length;n++){var i=this.rootIds[n];t.push({id:i,level:0,hasParent:!1,childrenCount:0}),l(i,this.nodes,t,0)}for(var r=0,o=t;r<o.length;r++){var s=o[r];s.childrenCount=a(s.id)}return t;function a(t){return e.nodes[t]?e.nodes[t].length:0}function l(e,t,n,i){if(void 0===i&&(i=0),e&&t&&n&&t[e]){i++;for(var r=t[e],o=0;o<r.length;o++){var s=r[o];n.push({id:s,level:i,hasParent:!0}),l(s,t,n,i)}i--}}},e.prototype.moveIdBeforeId=function(e,t){return this.moveId(e,t,Direction.BEFORE)},e.prototype.moveIdAfterId=function(e,t){return this.moveId(e,t,Direction.AFTER)},e.prototype.moveIdIntoId=function(e,t,n){return void 0===n&&(n=!0),n?this.moveId(e,t,Direction.INSIDE_AT_START):this.moveId(e,t,Direction.INSIDE_AT_END)},e.prototype.swapRootIdWithRootId=function(e,t){var n=this.findRootId(e),i=this.findRootId(t);this.swapRootPositionWithRootPosition(n,i)},e.prototype.swapRootPositionWithRootPosition=function(e,t){var n=this.rootIds[t];this.rootIds[t]=this.rootIds[e],this.rootIds[e]=n},e.prototype.deleteId=function(e){this.rootDeleteId(e),this.nodeAndSubNodesDelete(e),this.nodeRefrencesDelete(e)},e.prototype.insertIdBeforeId=function(e,t){var n=this.findRootId(e);for(var i in n>-1&&this.insertIdIntoRoot(t,n),this.nodes)if(this.nodes.hasOwnProperty(i)){var r=this.findNodeId(i,e);r>-1&&this.insertIdIntoNode(i,t,r)}},e.prototype.insertIdAfterId=function(e,t){var n=this.findRootId(e);for(var i in n>-1&&this.insertIdIntoRoot(t,n+1),this.nodes)if(this.nodes.hasOwnProperty(i)){var r=this.findNodeId(i,e);r>-1&&this.insertIdIntoNode(i,t,r+1)}},e.prototype.insertIdIntoId=function(e,t){this.nodeInsertAtEnd(e,t),this.nodes[t]=[]},e.prototype.insertIdIntoRoot=function(e,t){if(void 0===t)this.rootInsertAtEnd(e);else if(t<0){var n=this.rootIds.length;this.rootIds.splice(t+n+1,0,e)}else this.rootIds.splice(t,0,e);this.nodes[e]=this.nodes[e]||[]},e.prototype.insertIdIntoNode=function(e,t,n){if(this.nodes[e]=this.nodes[e]||[],this.nodes[t]=this.nodes[t]||[],void 0===n)this.nodeInsertAtEnd(e,t);else if(n<0){var i=this.nodes[e].length;this.nodes[e].splice(n+i+1,0,t)}else this.nodes[e].splice(n,0,t)},e.prototype.moveId=function(e,t,n){var i=e,r=this.findRootId(i);for(var o in this.nodes[t],this.nodes)if(this.nodes.hasOwnProperty(o)){this.findNodeId(o,t);break}var s=t,a=this.findRootId(s);for(var o in this.nodes[t],this.nodes)if(this.nodes.hasOwnProperty(o)){this.findNodeId(o,t);break}if(r>-1)if(a>-1)switch(this.rootDelete(r),a>r&&a--,n){case Direction.BEFORE:this.insertIdIntoRoot(i,a);break;case Direction.AFTER:this.insertIdIntoRoot(i,a+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(s,i);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(s,i)}else for(var o in this.rootDelete(r),this.nodes){if(this.nodes.hasOwnProperty(o))if((l=this.findNodeId(o,s))>-1){switch(n){case Direction.BEFORE:this.insertIdIntoNode(o,i,l);break;case Direction.AFTER:this.insertIdIntoNode(o,i,l+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(s,i);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(s,i)}break}}else if(a>-1){for(var o in this.nodes){if(this.nodes.hasOwnProperty(o))if((l=this.findNodeId(o,i))>-1){this.nodeDeleteAtIndex(o,l);break}}switch(n){case Direction.BEFORE:this.insertIdIntoRoot(i,a);break;case Direction.AFTER:this.insertIdIntoRoot(i,a+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(s,i);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(s,i)}}else{for(var o in this.nodes){if(this.nodes.hasOwnProperty(o))if((l=this.findNodeId(o,i))>-1){this.nodeDeleteAtIndex(o,l);break}}for(var o in this.nodes){var l;if(this.nodes.hasOwnProperty(o))if((l=this.findNodeId(o,s))>-1){switch(n){case Direction.BEFORE:this.insertIdIntoNode(o,i,l);break;case Direction.AFTER:this.insertIdIntoNode(o,i,l+1);break;case Direction.INSIDE_AT_START:this.nodeInsertAtStart(s,i);break;case Direction.INSIDE_AT_END:this.nodeInsertAtEnd(s,i)}break}}}},e.prototype.swapArrayElements=function(e,t,n){var i=e[t];return e[t]=e[n],e[n]=i,e},e.prototype.rootDeleteId=function(e){var t=this.findRootId(e);t>-1&&this.rootDelete(t)},e.prototype.nodeAndSubNodesDelete=function(e){for(var t=[],n=0;n<this.nodes[e].length;n++){var i=this.nodes[e][n];this.nodeAndSubNodesDelete(i),t.push(e)}this.nodeDelete(e);for(n=0;n<t.length;n++)this.nodeDelete(t[n])},e.prototype.nodeRefrencesDelete=function(e){for(var t in this.nodes)if(this.nodes.hasOwnProperty(t))for(var n=0;n<this.nodes[t].length;n++){this.nodes[t][n]===e&&this.nodeDeleteAtIndex(t,n)}},e.prototype.nodeDelete=function(e){delete this.nodes[e]},e.prototype.findRootId=function(e){return this.rootIds.indexOf(e)},e.prototype.findNodeId=function(e,t){return this.nodes[e].indexOf(t)},e.prototype.findNode=function(e){return this.nodes[e]},e.prototype.nodeInsertAtStart=function(e,t){this.nodes[e].unshift(t)},e.prototype.nodeInsertAtEnd=function(e,t){this.nodes[e].push(t)},e.prototype.rootDelete=function(e){this.rootIds.splice(e,1)},e.prototype.nodeDeleteAtIndex=function(e,t){this.nodes[e].splice(t,1)},e.prototype.rootInsertAtStart=function(e){this.rootIds.unshift(e)},e.prototype.rootInsertAtEnd=function(e){this.rootIds.push(e)},e}();MultiRootTree$1.default=MultiRootTree,Object.defineProperty(lib$3,"__esModule",{value:!0});var _arrays=arrays$4;lib$3.arrays=_arrays;var Bag_1=Bag$1;lib$3.Bag=Bag_1.default;var BSTree_1=BSTree$1;lib$3.BSTree=BSTree_1.default;var BSTreeKV_1=BSTreeKV$1;lib$3.BSTreeKV=BSTreeKV_1.default;var Dictionary_1=Dictionary$2,Dictionary=lib$3.Dictionary=Dictionary_1.default,Heap_1=Heap$1;lib$3.Heap=Heap_1.default;var LinkedDictionary_1=LinkedDictionary$1;lib$3.LinkedDictionary=LinkedDictionary_1.default;var LinkedList_1=LinkedList$1;lib$3.LinkedList=LinkedList_1.default;var MultiDictionary_1=MultiDictionary$1;lib$3.MultiDictionary=MultiDictionary_1.default;var FactoryDictionary_1=FactoryDictionary$1;lib$3.FactoryDictionary=FactoryDictionary_1.default;var FactoryDictionary_2=FactoryDictionary$1;lib$3.DefaultDictionary=FactoryDictionary_2.default;var Queue_1=Queue$1;lib$3.Queue=Queue_1.default;var PriorityQueue_1=PriorityQueue$1;lib$3.PriorityQueue=PriorityQueue_1.default;var Set_1=_Set;lib$3.Set=Set_1.default;var Stack_1=Stack$1;lib$3.Stack=Stack_1.default;var MultiRootTree_1=MultiRootTree$1;lib$3.MultiRootTree=MultiRootTree_1.default;var _util=util$b;lib$3.util=_util;const _InstantaneousDynamicExpression=class extends AbstractExpression{constructor(e,t,n,i,r){super(n),super.parentMeasure=r,this.dynamicEnum=DynamicEnum[e.toLowerCase()],this.soundDynamic=t,this.staffNumber=i}static staticConstructor(){_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(13,1),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(12,126/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(11,125/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(10,124/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(9,122/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(8,108/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(7,76/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(14,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(16,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(17,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(18,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(19,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(20,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(21,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(22,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(23,.5),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(6,60/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(5,28/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(4,12/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(3,10/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(2,7/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(1,5/127),_InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.setValue(0,4/127)}get ParentMultiExpression(){return this.multiExpression}set ParentMultiExpression(e){this.multiExpression=e}get DynEnum(){return this.dynamicEnum}set DynEnum(e){this.dynamicEnum=e}get SoundDynamic(){return this.soundDynamic}set SoundDynamic(e){this.soundDynamic=e}get Placement(){return this.placement}set Placement(e){this.placement=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get Length(){return Math.abs(this.length)<1e-4&&(this.length=this.calculateLength()),this.length}get MidiVolume(){return 127*this.Volume}get Volume(){return _InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.getValue(this.dynamicEnum)}static isInputStringInstantaneousDynamic(e){return!!e&&_InstantaneousDynamicExpression.isStringInStringList(_InstantaneousDynamicExpression.listInstantaneousDynamics,e)}getDynamicExpressionSymbol(e){switch(e){case"p":return DynamicExpressionSymbolEnum.p;case"f":return DynamicExpressionSymbolEnum.f;case"s":return DynamicExpressionSymbolEnum.s;case"z":return DynamicExpressionSymbolEnum.z;case"m":return DynamicExpressionSymbolEnum.m;case"r":return DynamicExpressionSymbolEnum.r;default:throw new InvalidEnumArgumentException("unknown DynamicExpressionSymbolEnum: "+e)}}calculateLength(){return loglevelExports.debug("[Andrea] instantaneousDynamicExpression: not implemented: calculateLength!"),0}};let InstantaneousDynamicExpression=_InstantaneousDynamicExpression;InstantaneousDynamicExpression.dynamicToRelativeVolumeDict=new Dictionary,InstantaneousDynamicExpression.listInstantaneousDynamics=["pppppp","ppppp","pppp","ppp","pp","p","ffffff","fffff","ffff","fff","ff","f","mf","mp","sf","sff","sp","spp","fp","rf","rfz","sfz","sffz","fz"];var DynamicEnum=(e=>(e[e.pppppp=0]="pppppp",e[e.ppppp=1]="ppppp",e[e.pppp=2]="pppp",e[e.ppp=3]="ppp",e[e.pp=4]="pp",e[e.p=5]="p",e[e.mp=6]="mp",e[e.mf=7]="mf",e[e.f=8]="f",e[e.ff=9]="ff",e[e.fff=10]="fff",e[e.ffff=11]="ffff",e[e.fffff=12]="fffff",e[e.ffffff=13]="ffffff",e[e.sf=14]="sf",e[e.sff=15]="sff",e[e.sfp=16]="sfp",e[e.sfpp=17]="sfpp",e[e.fp=18]="fp",e[e.rf=19]="rf",e[e.rfz=20]="rfz",e[e.sfz=21]="sfz",e[e.sffz=22]="sffz",e[e.fz=23]="fz",e[e.other=24]="other",e))(DynamicEnum||{});InstantaneousDynamicExpression.staticConstructor();class DynamicsContainer{constructor(e,t){e instanceof ContinuousDynamicExpression?this.continuousDynamicExpression=e:e instanceof InstantaneousDynamicExpression&&(this.instantaneousDynamicExpression=e),this.staffNumber=t}static Compare(e,t){return e.parMultiExpression().AbsoluteTimestamp.CompareTo(t.parMultiExpression().AbsoluteTimestamp)}parMultiExpression(){return this.continuousDynamicExpression?this.continuousDynamicExpression.StartMultiExpression:this.instantaneousDynamicExpression?this.instantaneousDynamicExpression.ParentMultiExpression:void 0}}class AbstractNotationInstruction{constructor(e){this.printObject=!0,this.parent=e}get Parent(){return this.parent}set Parent(e){this.parent=e}get PrintObject(){return this.printObject}set PrintObject(e){this.printObject=e}}class RhythmInstruction extends AbstractNotationInstruction{constructor(e,t){super(void 0),this.rhythm=e,this.numerator=e.Numerator,this.denominator=e.Denominator,this.symbolEnum=t}get Rhythm(){return this.rhythm}set Rhythm(e){this.rhythm=e}get SymbolEnum(){return this.symbolEnum}set SymbolEnum(e){this.symbolEnum=e}clone(){return new RhythmInstruction(this.rhythm.clone(),this.symbolEnum)}OperatorEquals(e){const t=this;return t===e||!(!t||!e)&&(t.numerator===e.numerator&&t.denominator===e.denominator)}OperatorNotEqual(e){return!(this===e)}ToString(){return"Rhythm: "+this.rhythm.toString()}}var RhythmSymbolEnum=(e=>(e[e.NONE=0]="NONE",e[e.COMMON=1]="COMMON",e[e.CUT=2]="CUT",e))(RhythmSymbolEnum||{});class MusicPartManagerIterator{constructor(e,t,n){this.currentMeasureIndex=0,this.currentPartIndex=0,this.currentVoiceEntryIndex=-1,this.currentDynamicEntryIndex=0,this.currentTempoEntryIndex=0,this.currentDynamicChangingExpressions=[],this.repetitionIterationCountDictKeys=[],this.repetitionIterationCountDictValues=[],this.currentRepetition=void 0,this.endReached=!1,this.frontReached=!1,this.currentTimeStamp=new Fraction$1(0,1),this.currentEnrolledMeasureTimestamp=new Fraction$1(0,1),this.currentRelativeInMeasureTimestamp=new Fraction$1(0,1),this.currentVerticalContainerInMeasureTimestamp=new Fraction$1(0,1),this.jumpResponsibleRepetition=void 0,this.activeDynamicExpressions=[],this.SkipInvisibleNotes=!0;try{this.frontReached=!0,this.musicSheet=e,this.currentBpm=e.userStartTempoInBPM,this.currentVoiceEntries=void 0,this.frontReached=!1;for(const e of this.musicSheet.Repetitions)this.setRepetitionIterationCount(e,1);for(let t=0;t<e.getCompleteNumberOfStaves();t++)this.ActiveDynamicExpressions.push(void 0);this.currentMeasure=this.musicSheet.SourceMeasures[0],t||(t=new Fraction$1);do{this.moveToNext()}while((!this.currentVoiceEntries||this.currentTimeStamp.lt(t))&&!this.endReached);for(let e=0;e<this.activeDynamicExpressions.length;e++)if(this.activeDynamicExpressions[e])if(this.activeDynamicExpressions[e]instanceof ContinuousDynamicExpression){const t=this.activeDynamicExpressions[e];this.currentDynamicChangingExpressions.push(new DynamicsContainer(t,e))}else{const t=this.activeDynamicExpressions[e];this.currentDynamicChangingExpressions.push(new DynamicsContainer(t,e))}this.currentTempoChangingExpression=this.activeTempoExpression}catch(err){loglevelExports.info("MusicPartManagerIterator: "+err)}}get EndReached(){return this.endReached}get FrontReached(){return this.frontReached}get CurrentMeasure(){return this.currentMeasure}get CurrentRepetition(){return this.currentRepetition}get CurrentRepetitionIteration(){return this.CurrentRepetition?this.getRepetitionIterationCount(this.CurrentRepetition):0}get CurrentJumpResponsibleRepetitionIterationBeforeJump(){return this.jumpResponsibleRepetition?this.getRepetitionIterationCount(this.jumpResponsibleRepetition)-1:0}get CurrentBpm(){return this.currentBpm}get CurrentVoiceEntries(){return this.currentVoiceEntries}get CurrentMeasureIndex(){return this.currentMeasureIndex}get CurrentEnrolledTimestamp(){return Fraction$1.plus(this.currentEnrolledMeasureTimestamp,this.currentVerticalContainerInMeasureTimestamp)}get CurrentSourceTimestamp(){return this.currentTimeStamp}get CurrentRelativeInMeasureTimestamp(){return this.currentRelativeInMeasureTimestamp}get JumpOccurred(){return this.backJumpOccurred||this.forwardJumpOccurred}get ActiveTempoExpression(){return this.activeTempoExpression}get ActiveDynamicExpressions(){return this.activeDynamicExpressions}get CurrentTempoChangingExpression(){return this.currentTempoChangingExpression}get JumpResponsibleRepetition(){return this.jumpResponsibleRepetition}clone(e=undefined,t=undefined){const n=new MusicPartManagerIterator(this.musicSheet,null!=e?e:this.currentTimeStamp,t);return n.currentVoiceEntryIndex=this.currentVoiceEntryIndex,n.currentMappingPart=this.currentMappingPart,n.currentPartIndex=this.currentPartIndex,n.currentVoiceEntries=this.currentVoiceEntries,n.endReached=this.endReached,n.frontReached=this.frontReached,n}CurrentVisibleVoiceEntries(e){const t=[];if(!this.currentVoiceEntries)return t;if(e){for(const n of this.currentVoiceEntries)if(n.ParentVoice.Parent.IdString===e.IdString)return this.getVisibleEntries(n,t),t}else for(const n of this.currentVoiceEntries)this.getVisibleEntries(n,t);return t}CurrentAudibleVoiceEntries(e){const t=[];if(this.currentVoiceEntries)if(e){for(const n of this.currentVoiceEntries)if(n.ParentVoice.Parent.IdString===e.IdString)return this.getAudibleEntries(n,t),t}else for(const n of this.currentVoiceEntries)this.getAudibleEntries(n,t);return t}getCurrentDynamicChangingExpressions(){return this.currentDynamicChangingExpressions}CurrentScoreFollowingVoiceEntries(e){const t=[];if(!this.currentVoiceEntries)return t;if(e){for(const n of this.currentVoiceEntries)if(n.ParentVoice.Parent.IdString===e.IdString)return this.getScoreFollowingEntries(n,t),t}else for(const n of this.currentVoiceEntries)this.getScoreFollowingEntries(n,t);return t}currentPlaybackSettings(){return this.musicSheet.SheetPlaybackSetting}moveToPrevious(){this.frontReached||(this.currentVoiceEntries&&(this.currentVoiceEntries=[]),this.recursiveMoveBack())}moveToPreviousVisibleVoiceEntry(e){for(;!this.frontReached;)if(this.moveToPrevious(),this.checkEntries(e))return}moveToNext(){this.forwardJumpOccurred=this.backJumpOccurred=!1,this.endReached||(this.frontReached&&(this.frontReached=!1,this.currentVoiceEntryIndex=-1),this.currentVoiceEntries&&(this.currentVoiceEntries.length=0),this.recursiveMove(),this.currentMeasure||(this.currentTimeStamp=new Fraction$1(99999,1),this.currentMeasure=this.musicSheet.SourceMeasures.last()),void 0!==this.CurrentTempoChangingExpression&&(void 0!==this.CurrentTempoChangingExpression.ContinuousTempo?this.currentBpm=this.CurrentTempoChangingExpression.ContinuousTempo.getInterpolatedTempo(this.CurrentSourceTimestamp):this.currentBpm=this.CurrentTempoChangingExpression.InstantaneousTempo.TempoInBpm))}moveToNextVisibleVoiceEntry(e){for(;!this.endReached;)if(this.moveToNext(),this.checkEntries(e))return}resetRepetitionIterationCount(e){return this.setRepetitionIterationCount(e,1),1}incrementRepetitionIterationCount(e){return-1===this.repetitionIterationCountDictKeys.indexOf(e)?this.setRepetitionIterationCount(e,1):this.setRepetitionIterationCount(e,this.getRepetitionIterationCount(e)+1)}setRepetitionIterationCount(e,t){const n=this.repetitionIterationCountDictKeys.indexOf(e);return-1===n?(this.repetitionIterationCountDictKeys.push(e),this.repetitionIterationCountDictValues.push(t)):this.repetitionIterationCountDictValues[n]=t,t}getRepetitionIterationCount(e){const t=this.repetitionIterationCountDictKeys.indexOf(e);if(-1!==t)return this.repetitionIterationCountDictValues[t]}handleRepetitionsAtMeasureBegin(){for(let e=0,t=this.currentMeasure.FirstRepetitionInstructions.length;e<t;++e){const t=this.currentMeasure.FirstRepetitionInstructions[e];if(!t.parentRepetition)continue;const n=t.parentRepetition;this.currentRepetition=n,n.StartIndex===this.currentMeasureIndex&&void 0!==this.JumpResponsibleRepetition&&n!==this.JumpResponsibleRepetition&&n.StartIndex>=this.JumpResponsibleRepetition.StartIndex&&n.EndIndex<=this.JumpResponsibleRepetition.EndIndex&&this.resetRepetitionIterationCount(n)}}handleRepetitionsAtMeasureEnd(){for(let e=0,t=this.currentMeasure.LastRepetitionInstructions.length;e<t;++e){const t=this.currentMeasure.LastRepetitionInstructions[e],n=t.parentRepetition;if(n){if(n.BackwardJumpInstructions.indexOf(t)>-1&&this.getRepetitionIterationCount(n)<n.UserNumberOfRepetitions)return void this.doBackJump(n);if(t===n.forwardJumpInstruction&&(void 0!==this.JumpResponsibleRepetition&&n!==this.JumpResponsibleRepetition&&n.StartIndex>=this.JumpResponsibleRepetition.StartIndex&&n.EndIndex<=this.JumpResponsibleRepetition.EndIndex&&this.resetRepetitionIterationCount(n),this.repetitionIterationCountDictKeys.contains(n))){const e=n.getForwardJumpTargetForIteration(this.getRepetitionIterationCount(n));if(e>=0)return this.currentMeasureIndex=e,this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentVoiceEntryIndex=-1,this.jumpResponsibleRepetition=n,void(this.forwardJumpOccurred=!0);-2===e&&(this.endReached=!0)}}}this.currentMeasureIndex++,void 0!==this.JumpResponsibleRepetition&&this.currentMeasureIndex>this.JumpResponsibleRepetition.EndIndex&&(this.jumpResponsibleRepetition=void 0)}doBackJump(e){this.currentMeasureIndex=e.getBackwardJumpTarget(),this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentVoiceEntryIndex=-1,this.incrementRepetitionIterationCount(e),this.jumpResponsibleRepetition=e,this.backJumpOccurred=!0}activateCurrentRhythmInstructions(){if(void 0!==this.currentMeasure&&this.currentMeasure.FirstInstructionsStaffEntries.length>0&&void 0!==this.currentMeasure.FirstInstructionsStaffEntries[0]){const e=this.currentMeasure.FirstInstructionsStaffEntries[0].Instructions;for(let t=0,n=e.length;t<n;++t){const n=e[t];n instanceof RhythmInstruction&&(this.musicSheet.SheetPlaybackSetting.rhythm=n.Rhythm)}}}activateCurrentDynamicOrTempoInstructions(){const e=this.musicSheet.TimestampSortedDynamicExpressionsList;for(;this.currentDynamicEntryIndex>0&&(this.currentDynamicEntryIndex>=e.length||e[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.gte(this.CurrentSourceTimestamp));)this.currentDynamicEntryIndex--;for(;this.currentDynamicEntryIndex<e.length&&e[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.lt(this.CurrentSourceTimestamp);)this.currentDynamicEntryIndex++;for(;this.currentDynamicEntryIndex<e.length&&e[this.currentDynamicEntryIndex].parMultiExpression().AbsoluteTimestamp.Equals(this.CurrentSourceTimestamp);){const t=e[this.currentDynamicEntryIndex],n=t.staffNumber;this.CurrentSourceTimestamp.Equals(t.parMultiExpression().AbsoluteTimestamp)&&(t.continuousDynamicExpression?this.activeDynamicExpressions[n]=t.continuousDynamicExpression:t.instantaneousDynamicExpression&&(this.activeDynamicExpressions[n]=t.instantaneousDynamicExpression)),this.currentDynamicEntryIndex++}this.currentDynamicChangingExpressions.length=0;for(let n=0;n<this.activeDynamicExpressions.length;n++)if(this.activeDynamicExpressions[n]){let e,t;if(this.activeDynamicExpressions[n]instanceof ContinuousDynamicExpression){const i=this.activeDynamicExpressions[n];e=i.StartMultiExpression.AbsoluteTimestamp,t=i.EndMultiExpression.AbsoluteTimestamp,this.CurrentSourceTimestamp.gte(e)&&this.CurrentSourceTimestamp.lte(t)&&this.currentDynamicChangingExpressions.push(new DynamicsContainer(i,n))}else{const e=this.activeDynamicExpressions[n];this.CurrentSourceTimestamp.Equals(e.ParentMultiExpression.AbsoluteTimestamp)&&this.currentDynamicChangingExpressions.push(new DynamicsContainer(e,n))}}const t=this.musicSheet.TimestampSortedTempoExpressionsList;for(;this.currentTempoEntryIndex>0&&(this.currentTempoEntryIndex>=t.length||t[this.currentTempoEntryIndex].AbsoluteTimestamp.gte(this.CurrentSourceTimestamp));)this.currentTempoEntryIndex--;for(;this.currentTempoEntryIndex<t.length&&t[this.currentTempoEntryIndex].AbsoluteTimestamp.lt(this.CurrentSourceTimestamp);)this.currentTempoEntryIndex++;for(;this.currentTempoEntryIndex<t.length&&t[this.currentTempoEntryIndex].AbsoluteTimestamp.Equals(this.CurrentSourceTimestamp);)this.activeTempoExpression=t[this.currentTempoEntryIndex],this.currentTempoEntryIndex++;if(this.currentTempoChangingExpression=void 0,this.activeTempoExpression){let e=this.activeTempoExpression.AbsoluteTimestamp;this.activeTempoExpression.ContinuousTempo&&(e=this.activeTempoExpression.ContinuousTempo.AbsoluteEndTimestamp),(this.CurrentSourceTimestamp.gte(this.activeTempoExpression.AbsoluteTimestamp)||this.CurrentSourceTimestamp.lte(e))&&(this.currentTempoChangingExpression=this.activeTempoExpression)}}recursiveMoveBack(){if(this.currentVoiceEntryIndex>0){this.currentVoiceEntryIndex--;const e=this.currentMeasure.VerticalSourceStaffEntryContainers[this.currentVoiceEntryIndex];this.currentVoiceEntries=this.getVoiceEntries(e),this.currentVerticalContainerInMeasureTimestamp=e.Timestamp,this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,this.currentVerticalContainerInMeasureTimestamp),this.activateCurrentDynamicOrTempoInstructions();const t=this.musicSheet.SelectionEnd;return t&&this.currentTimeStamp.lt(t)&&(this.endReached=!1),void(this.currentMeasureIndex=this.musicSheet.SourceMeasures.indexOf(this.CurrentMeasure))}if(0!==this.currentVoiceEntryIndex||0===this.currentMeasureIndex)this.frontReached=!0,this.currentTimeStamp=new Fraction$1(-1,1);else{const e=this.musicSheet.SourceMeasures[this.currentMeasureIndex-1];this.currentMeasureIndex--,this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex];const t=e.VerticalSourceStaffEntryContainers[e.VerticalSourceStaffEntryContainers.length-1];this.currentVoiceEntries=this.getVoiceEntries(t),this.currentVerticalContainerInMeasureTimestamp=t.Timestamp,this.currentVoiceEntryIndex=e.VerticalSourceStaffEntryContainers.length-1,this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,t.Timestamp),this.activateCurrentDynamicOrTempoInstructions();const n=this.musicSheet.SelectionEnd;n&&this.currentTimeStamp.lt(n)&&(this.endReached=!1)}}recursiveMove(){if(this.currentVoiceEntryIndex++,0===this.currentVoiceEntryIndex&&(this.handleRepetitionsAtMeasureBegin(),this.activateCurrentRhythmInstructions()),this.currentVoiceEntryIndex>=0&&this.currentVoiceEntryIndex<this.currentMeasure.VerticalSourceStaffEntryContainers.length){const e=this.currentMeasure.VerticalSourceStaffEntryContainers[this.currentVoiceEntryIndex];this.currentVoiceEntries=this.getVoiceEntries(e),this.currentVerticalContainerInMeasureTimestamp=e.Timestamp,this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,this.currentVerticalContainerInMeasureTimestamp);const t=this.musicSheet.SelectionEnd;return t&&this.currentTimeStamp.gte(t)&&(this.endReached=!0),void this.activateCurrentDynamicOrTempoInstructions()}if(this.currentEnrolledMeasureTimestamp.Add(this.currentMeasure.Duration),this.handleRepetitionsAtMeasureEnd(),this.currentMeasureIndex>=0&&this.currentMeasureIndex<this.musicSheet.SourceMeasures.length)return this.currentMeasure=this.musicSheet.SourceMeasures[this.currentMeasureIndex],this.currentTimeStamp=Fraction$1.plus(this.currentMeasure.AbsoluteTimestamp,this.currentVerticalContainerInMeasureTimestamp),this.currentVoiceEntryIndex=-1,void this.recursiveMove();this.currentVerticalContainerInMeasureTimestamp=new Fraction$1,this.currentMeasure=void 0,this.currentVoiceEntries=void 0,this.endReached=!0}checkEntries(e){const t=this.CurrentVisibleVoiceEntries();if(t.length>0){if(!e)return!0;for(let e=0,n=t.length;e<n;++e){if(t[e].Notes[0].Pitch)return!0}}return!1}getVisibleEntries(e,t){if(e.ParentVoice.Visible){let n=!1;for(const t of e.Notes)if(t.PrintObject){n=!0;break}if(!n&&this.SkipInvisibleNotes)return;t.push(e)}}getAudibleEntries(e,t){if(e.hasTie()){const t=e.Notes[0];if(void 0!==t.NoteTie&&t.NoteTie.StartNote!==t)return}e.ParentVoice.Audible&&t.push(e)}getScoreFollowingEntries(e,t){e.ParentVoice.Following&&e.ParentVoice.Parent.Following&&t.push(e)}getVoiceEntries(e){const t=[];for(const r of e.StaffEntries){var n,i;null!=r&&null!==(n=r.ParentStaff)&&void 0!==n&&null!==(i=n.ParentInstrument)&&void 0!==i&&i.Visible&&r.VoiceEntries[0]&&t.push(...r.VoiceEntries)}return t}}class Cursor{constructor(e,t,n){this.hidden=!1,this.currentPageNumber=1,this.skipInvisibleNotes=!0,this.ScrollPosition="center",this.container=e,this.openSheetMusicDisplay=t,this.rules=this.openSheetMusicDisplay.EngravingRules,this.cursorOptions=n;let i=0;for(this.cursorElementId="cursorImg-0";document.getElementById(this.cursorElementId);)i++,this.cursorElementId=`cursorImg-${i}`;const r=document.createElement("img");r.id=this.cursorElementId,r.style.position="absolute",!0===this.cursorOptions.follow?(this.wantedZIndex="-1",r.style.zIndex=this.wantedZIndex):(this.wantedZIndex="-2",r.style.zIndex=this.wantedZIndex),this.cursorElement=r,this.container.appendChild(r)}cursorPositionChanged(e,t){for(;this.iterator.currentTimeStamp.lt(e)&&!this.iterator.EndReached;)this.iterator.moveToNext();this.iterator.CurrentEnrolledTimestamp.gt(e)&&(this.iterator=new MusicPartManagerIterator(this.manager.MusicSheet,e)),this.updateWithTimestamp(t.PredictedPosition)}pauseOccurred(e){}selectionEndReached(e){}resetOccurred(e){this.reset()}notesPlaybackEventOccurred(e){}adjustToBackgroundColor(){let e;e=this.rules.PageBackgroundColor?"1":this.wantedZIndex,this.cursorElement.style.zIndex=e}init(e,t){this.manager=e,this.graphic=t,this.reset(),this.hidden=!1}show(){this.hidden=!1,this.update(),this.adjustToBackgroundColor()}resetIterator(){if(!this.openSheetMusicDisplay.Sheet||!this.openSheetMusicDisplay.Sheet.SourceMeasures)return void console.log("OSMD.Cursor.resetIterator(): sheet or measures were null/undefined.");const e=this.openSheetMusicDisplay.Sheet.SourceMeasures.length-1;let t=this.rules.MinMeasureToDrawIndex;t=Math.min(t,e);let n=this.rules.MaxMeasureToDrawIndex;if(n=Math.min(n,e),this.openSheetMusicDisplay.Sheet&&(!this.openSheetMusicDisplay.Sheet.SelectionStart||this.openSheetMusicDisplay.Sheet.SelectionStart.WholeValue<t)&&this.openSheetMusicDisplay.Sheet.SourceMeasures.length,this.openSheetMusicDisplay.Sheet.SelectionStart=this.openSheetMusicDisplay.Sheet.SourceMeasures[t].AbsoluteTimestamp,this.openSheetMusicDisplay.Sheet&&this.openSheetMusicDisplay.Sheet.SourceMeasures.length>n){const e=this.openSheetMusicDisplay.Sheet.SourceMeasures[n];this.openSheetMusicDisplay.Sheet.SelectionEnd=Fraction$1.plus(e.AbsoluteTimestamp,e.Duration)}this.iterator=this.manager.getIterator(),this.iterator.SkipInvisibleNotes=this.skipInvisibleNotes}getStaffEntryFromVoiceEntry(e){const t=e.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure.measureListIndex,n=e.ParentSourceStaffEntry.ParentStaff.idInMusicSheet;return this.graphic.findGraphicalStaffEntryFromMeasureList(n,t,e.ParentSourceStaffEntry)}updateWithTimestamp(e){const t=this.manager.absoluteEnrolledToSheetTimestamp(e),n=this.graphic.calculateXPositionFromTimestamp(t),i=n[0],r=n[1];this.updateCurrentPageFromSystem(r);const o=n[2];if(!o)return;const s=Math.max(o.parentMeasure.MeasureNumber,1);let a;for(const h of this.graphic.MeasureList[s-1])if(h){a=h;break}const l=this.graphic.calculateCursorPoints(i,r),c=l[0].y,u=l[1].y-c;if(a){if(this.updateWidthAndStyle(a.PositionAndShape,i,c,u),this.openSheetMusicDisplay.FollowCursor){const e=this.cursorElement.getBoundingClientRect().top;this.cursorElement.scrollIntoView({behavior:e<1e3?"smooth":"auto",block:this.ScrollPosition})}this.cursorElement.style.display=""}}update(){if(this.hidden||void 0===this.hidden||null===this.hidden)return;this.updateCurrentPage();const e=this.Iterator;let t,n=e.CurrentVisibleVoiceEntries(),i=e.CurrentMeasureIndex,r=0,o=0,s=0;if(0!==n.length||e.FrontReached||e.EndReached||(e.moveToPrevious(),n=e.CurrentVisibleVoiceEntries(),e.moveToNext()),e.FrontReached&&0===n.length){e.moveToNext(),n=e.CurrentVisibleVoiceEntries();const i=this.findVisibleGraphicalMeasure(e.CurrentMeasureIndex);r=i.PositionAndShape.AbsolutePosition.x,t=i.ParentMusicSystem,e.moveToPrevious()}else if(e.EndReached||!e.CurrentVoiceEntries||0===n.length){e.moveToPrevious(),n=e.CurrentVisibleVoiceEntries(),i=e.CurrentMeasureIndex;const o=this.findVisibleGraphicalMeasure(e.CurrentMeasureIndex);r=o.PositionAndShape.AbsolutePosition.x+o.PositionAndShape.Size.width,t=o.ParentMusicSystem,e.moveToNext()}else if(e.CurrentMeasure.isReducedToMultiRest){const n=this.findVisibleGraphicalMeasure(e.CurrentMeasureIndex),i=n.parentSourceMeasure.multipleRestMeasures,o=e.CurrentMeasure.multipleRestMeasureNumber/(i+1),s=n.PositionAndShape.Size.width-n.beginInstructionsWidth;r=n.PositionAndShape.AbsolutePosition.x+n.beginInstructionsWidth+o*s,t=n.ParentMusicSystem}else{const e=n.map((e=>this.getStaffEntryFromVoiceEntry(e))).sort(((e,t)=>{var n,i,r,o;return(null==e||null===(n=e.PositionAndShape)||void 0===n||null===(i=n.AbsolutePosition)||void 0===i?void 0:i.x)<=(null==t||null===(r=t.PositionAndShape)||void 0===r||null===(o=r.AbsolutePosition)||void 0===o?void 0:o.x)?-1:1}))[0];e&&(r=e.PositionAndShape.AbsolutePosition.x,t=e.parentMeasure.ParentMusicSystem)}if(!t)return;o=t.PositionAndShape.AbsolutePosition.y+t.StaffLines[0].PositionAndShape.RelativePosition.y;let a=t.PositionAndShape.AbsolutePosition.y;const l=t.StaffLines[t.StaffLines.length-1];l&&(a+=l.PositionAndShape.RelativePosition.y+l.StaffHeight),s=a-o;const c=this.findVisibleGraphicalMeasure(i);if(!c)return;const u=c.PositionAndShape;if(this.updateWidthAndStyle(u,r,o,s),this.openSheetMusicDisplay.FollowCursor&&this.cursorOptions.follow)if(this.openSheetMusicDisplay.EngravingRules.RenderSingleHorizontalStaffline)this.cursorElement.scrollIntoView({behavior:"smooth",inline:"center"});else{const e=this.cursorElement.getBoundingClientRect().top;this.cursorElement.scrollIntoView({behavior:e<1e3?"smooth":"auto",block:"center"})}this.cursorElement.style.display=""}findVisibleGraphicalMeasure(e){for(let t=0;t<this.graphic.NumberOfStaves;t++){const e=this.graphic.findGraphicalMeasure(this.iterator.CurrentMeasureIndex,t);if(null!=e&&e.ParentStaff.ParentInstrument.Visible)return e}}updateWidthAndStyle(e,t,n,i){var r;const o=this.cursorElement;let s=0,a=i;switch(this.cursorOptions.type){case 1:o.style.top=10*n*this.openSheetMusicDisplay.zoom+"px",o.style.left=10*(t-1.5)*this.openSheetMusicDisplay.zoom+"px",a=10*i*this.openSheetMusicDisplay.zoom,o.height=a,o.style.height=a+"px",s=5*this.openSheetMusicDisplay.zoom;break;case 2:o.style.top=10*(n-2.5)*this.openSheetMusicDisplay.zoom+"px",o.style.left=10*t*this.openSheetMusicDisplay.zoom+"px",a=15*this.openSheetMusicDisplay.zoom,o.height=a,o.style.height=a+"px",s=5*this.openSheetMusicDisplay.zoom;break;case 3:o.style.top=10*e.AbsolutePosition.y*this.openSheetMusicDisplay.zoom+"px",o.style.left=10*e.AbsolutePosition.x*this.openSheetMusicDisplay.zoom+"px",a=10*i*this.openSheetMusicDisplay.zoom,o.height=a,o.style.height=a+"px",s=10*e.Size.width*this.openSheetMusicDisplay.zoom;break;case 4:o.style.top=10*e.AbsolutePosition.y*this.openSheetMusicDisplay.zoom+"px",o.style.left=10*e.AbsolutePosition.x*this.openSheetMusicDisplay.zoom+"px",a=10*i*this.openSheetMusicDisplay.zoom,o.height=a,o.style.height=a+"px",s=10*(t-e.AbsolutePosition.x)*this.openSheetMusicDisplay.zoom;break;default:o.style.top=10*n*this.openSheetMusicDisplay.zoom+"px",o.style.left=10*(t-1.5)*this.openSheetMusicDisplay.zoom+"px",a=10*i*this.openSheetMusicDisplay.zoom,o.height=a,o.style.height=a+"px",s=30*this.openSheetMusicDisplay.zoom}null!==(r=window.GYM)&&void 0!==r&&r.multitrack&&(o.height=a+24,o.style.height=a+24+"px"),o.width=s,this.cursorOptionsRendered!==this.cursorOptions&&this.updateStyle(s,this.cursorOptions)}hide(){this.cursorElement.style.display="none",this.hidden=!0}previous(){this.iterator.moveToPreviousVisibleVoiceEntry(!1),this.update()}next(){this.Iterator.moveToNextVisibleVoiceEntry(!1),this.update()}reset(){this.resetIterator();const e=this.manager.getIterator(this.graphic.ParentMusicSheet.SelectionStart);this.updateWithTimestamp(e.CurrentEnrolledTimestamp)}updateStyle(e,t=undefined){void 0!==t&&(this.cursorOptions=t);const n=document.createElement("canvas");n.width=this.cursorElement.width,n.height=1;const i=n.getContext("2d");i.globalAlpha=this.cursorOptions.alpha;const r=i.createLinearGradient(0,0,this.cursorElement.width,0);switch(this.cursorOptions.type){case 1:case 2:case 3:case 4:r.addColorStop(1,this.cursorOptions.color);break;default:r.addColorStop(0,"white"),r.addColorStop(.2,this.cursorOptions.color),r.addColorStop(.8,this.cursorOptions.color),r.addColorStop(1,"white")}i.fillStyle=r,i.fillRect(0,0,e,1),this.cursorOptionsRendered={...this.cursorOptions},this.cursorElement.src=n.toDataURL("image/png")}get Iterator(){return this.iterator}get Hidden(){return this.hidden}VoicesUnderCursor(e){return this.Iterator.CurrentVisibleVoiceEntries(e)}NotesUnderCursor(e){const t=this.VoicesUnderCursor(e),n=[];return t.forEach((e=>{n.push.apply(n,e.Notes)})),n}GNotesUnderCursor(e){const t=this.VoicesUnderCursor(e),n=[];return t.forEach((e=>{n.push(...e.Notes.map((e=>this.rules.GNote(e))))})),n}updateCurrentPage(){let e=this.iterator.currentTimeStamp;e.RealValue<0&&(e=new Fraction$1(0,0));for(const t of this.graphic.MusicPages){if(t.MusicSystems.last().GetSystemsLastTimeStamp().gt(e)){const e=t.PageNumber;return e!==this.currentPageNumber&&(this.container.removeChild(this.cursorElement),this.container=document.getElementById(this.rules.DYContainerId+e),this.container.appendChild(this.cursorElement)),this.currentPageNumber=e}}return 1}get SkipInvisibleNotes(){return this.skipInvisibleNotes}set SkipInvisibleNotes(e){this.skipInvisibleNotes=e,this.iterator.SkipInvisibleNotes=e}get CursorOptions(){return this.cursorOptions}set CursorOptions(e){this.cursorOptions=e}updateCurrentPageFromSystem(e){if(null!=e&&e.Parent){const t=e.Parent.PageNumber;return t!==this.currentPageNumber&&(this.container.removeChild(this.cursorElement),this.container=document.getElementById(this.rules.DYContainerId+t),this.container.appendChild(this.cursorElement)),this.currentPageNumber=t}return 1}Dispose(){this.rules=void 0,this.openSheetMusicDisplay=void 0,this.cursorOptions=void 0}}var DrawingParametersEnum=(e=>(e.allon="allon",e.compact="compact",e.compacttight="compacttight",e.default="default",e.leadsheet="leadsheet",e.preview="preview",e.thumbnail="thumbnail",e))(DrawingParametersEnum||{}),CursorType=(e=>(e[e.Standard=0]="Standard",e[e.ThinLeft=1]="ThinLeft",e[e.ShortThinTopLeft=2]="ShortThinTopLeft",e[e.CurrentArea=3]="CurrentArea",e[e.CurrentAreaLeft=4]="CurrentAreaLeft",e))(CursorType||{}),AlignRestOption=(e=>(e[e.Never=0]="Never",e[e.Always=1]="Always",e[e.Auto=2]="Auto",e))(AlignRestOption||{}),FillEmptyMeasuresWithWholeRests=(e=>(e[e.No=0]="No",e[e.YesVisible=1]="YesVisible",e[e.YesInvisible=2]="YesInvisible",e))(FillEmptyMeasuresWithWholeRests||{}),BackendType=(e=>(e[e.SVG=0]="SVG",e[e.Canvas=1]="Canvas",e))(BackendType||{}),SkyBottomLineBatchCalculatorBackendType=(e=>(e[e.Plain=0]="Plain",e[e.WebGL=1]="WebGL",e))(SkyBottomLineBatchCalculatorBackendType||{});class OSMDOptions{static OSMDOptionsStandard(){return{autoResize:!0,backend:"svg",drawingParameters:DrawingParametersEnum.default}}static BackendTypeFromString(e){return e&&"canvas"===e.toLowerCase()?1:0}}class IXmlElement{constructor(e){if(this.hasAttributes=!1,!e)throw new Error("IXmlElement: expected Element, got undefined");this.elem=e,this.name=e.nodeName.toLowerCase(),e.hasAttributes()&&(this.hasAttributes=!0,this.firstAttribute=e.attributes[0]),this.hasElements=e.hasChildNodes(),1===e.childNodes.length&&e.childNodes[0].nodeType===Node.TEXT_NODE?this.value=e.childNodes[0].nodeValue:this.value=""}attribute(e){return this.elem.attributes.getNamedItem(e)}attributes(){if(!this.attrs){const e=this.elem.attributes,t=[];for(let n=0;n<e.length;n+=1)t.push(e[n]);this.attrs=t}return this.attrs}element(e){const t=this.elem.childNodes;for(let n=0,i=t.length;n<i;n+=1){const i=t[n];if(i.nodeType===Node.ELEMENT_NODE&&i.nodeName.toLowerCase()===e)return new IXmlElement(i)}}elements(e){const t=this.elem.childNodes,n=[],i=!e;i||(e=e.toLowerCase());for(let r=0;r<t.length;r+=1){const o=t[r];o.nodeType!==Node.ELEMENT_NODE||!i&&o.nodeName.toLowerCase()!==e||n.push(new IXmlElement(o))}return n}combinedElement(e){const t=this.elem.childNodes;if(t.length>0){let n;for(let i=0,r=t.length;i<r;i+=1){const r=t[i];if(r.nodeType===Node.ELEMENT_NODE&&r.nodeName.toLowerCase()===e)if(n){const e=r.childNodes;for(let t=0,i=e.length;t<i;t+=1){const i=e[t];n.appendChild(i.cloneNode(!0))}}else n=r}if(n)return new IXmlElement(n)}}}class VerticalGraphicalStaffEntryContainer{constructor(e,t){this.staffEntries=[],this.absoluteTimestamp=t,this.staffEntries=new Array(e)}get Index(){return this.index}set Index(e){this.index=e}get AbsoluteTimestamp(){return this.absoluteTimestamp}get StaffEntries(){return this.staffEntries}set StaffEntries(e){this.staffEntries=e}static compareByTimestamp(e,t){const n=e.absoluteTimestamp.RealValue,i=t.absoluteTimestamp.RealValue;return n<i?-1:n>i?1:0}getFirstNonNullStaffEntry(){for(let e=0,t=this.staffEntries.length;e<t;++e){const t=this.staffEntries[e];if(t)return t}}}var OutlineAndFillStyleEnum=(e=>(e[e.BaseWritingColor=0]="BaseWritingColor",e[e.FollowingCursor=1]="FollowingCursor",e[e.AlternativeFollowingCursor=2]="AlternativeFollowingCursor",e[e.PlaybackCursor=3]="PlaybackCursor",e[e.Highlighted=4]="Highlighted",e[e.ErrorUnderlay=5]="ErrorUnderlay",e[e.Selected=6]="Selected",e[e.SelectionSymbol=7]="SelectionSymbol",e[e.DebugColor1=8]="DebugColor1",e[e.DebugColor2=9]="DebugColor2",e[e.DebugColor3=10]="DebugColor3",e[e.SplitScreenDivision=11]="SplitScreenDivision",e[e.GreyTransparentOverlay=12]="GreyTransparentOverlay",e[e.MarkedArea1=13]="MarkedArea1",e[e.MarkedArea2=14]="MarkedArea2",e[e.MarkedArea3=15]="MarkedArea3",e[e.MarkedArea4=16]="MarkedArea4",e[e.MarkedArea5=17]="MarkedArea5",e[e.MarkedArea6=18]="MarkedArea6",e[e.MarkedArea7=19]="MarkedArea7",e[e.MarkedArea8=20]="MarkedArea8",e[e.MarkedArea9=21]="MarkedArea9",e[e.MarkedArea10=22]="MarkedArea10",e[e.Comment1=23]="Comment1",e[e.Comment2=24]="Comment2",e[e.Comment3=25]="Comment3",e[e.Comment4=26]="Comment4",e[e.Comment5=27]="Comment5",e[e.Comment6=28]="Comment6",e[e.Comment7=29]="Comment7",e[e.Comment8=30]="Comment8",e[e.Comment9=31]="Comment9",e[e.Comment10=32]="Comment10",e))(OutlineAndFillStyleEnum||{});const OUTLINE_AND_FILL_STYLE_DICT=new Dictionary;OUTLINE_AND_FILL_STYLE_DICT.setValue(0,"Thistle"),OUTLINE_AND_FILL_STYLE_DICT.setValue(1,"Aqua"),OUTLINE_AND_FILL_STYLE_DICT.setValue(2,"Azure"),OUTLINE_AND_FILL_STYLE_DICT.setValue(3,"Bisque"),OUTLINE_AND_FILL_STYLE_DICT.setValue(4,"CadetBlue"),OUTLINE_AND_FILL_STYLE_DICT.setValue(5,"DarkBlue"),OUTLINE_AND_FILL_STYLE_DICT.setValue(6,"DarkGoldenRod"),OUTLINE_AND_FILL_STYLE_DICT.setValue(7,"BlanchedAlmond"),OUTLINE_AND_FILL_STYLE_DICT.setValue(8,"Chartreuse"),OUTLINE_AND_FILL_STYLE_DICT.setValue(9,"DarkGreen"),OUTLINE_AND_FILL_STYLE_DICT.setValue(10,"DarkOrange"),OUTLINE_AND_FILL_STYLE_DICT.setValue(11,"FireBrick"),OUTLINE_AND_FILL_STYLE_DICT.setValue(12,"DarkSalmon"),OUTLINE_AND_FILL_STYLE_DICT.setValue(13,"DarkSeaGreen"),OUTLINE_AND_FILL_STYLE_DICT.setValue(14,"DarkOrchid"),OUTLINE_AND_FILL_STYLE_DICT.setValue(15,"Aquamarine"),OUTLINE_AND_FILL_STYLE_DICT.setValue(16,"DarkKhaki"),OUTLINE_AND_FILL_STYLE_DICT.setValue(17,"ForestGreen"),OUTLINE_AND_FILL_STYLE_DICT.setValue(18,"AliceBlue"),OUTLINE_AND_FILL_STYLE_DICT.setValue(19,"DeepPink"),OUTLINE_AND_FILL_STYLE_DICT.setValue(20,"Coral"),OUTLINE_AND_FILL_STYLE_DICT.setValue(21,"DarkOliveGreen"),OUTLINE_AND_FILL_STYLE_DICT.setValue(22,"Chocolate"),OUTLINE_AND_FILL_STYLE_DICT.setValue(23,"DodgerBlue"),OUTLINE_AND_FILL_STYLE_DICT.setValue(24,"Blue"),OUTLINE_AND_FILL_STYLE_DICT.setValue(25,"Beige"),OUTLINE_AND_FILL_STYLE_DICT.setValue(26,"Crimson"),OUTLINE_AND_FILL_STYLE_DICT.setValue(27,"Fuchsia"),OUTLINE_AND_FILL_STYLE_DICT.setValue(28,"Brown"),OUTLINE_AND_FILL_STYLE_DICT.setValue(29,"BlanchedAlmond"),OUTLINE_AND_FILL_STYLE_DICT.setValue(30,"CornflowerBlue"),OUTLINE_AND_FILL_STYLE_DICT.setValue(31,"Cornsilk"),OUTLINE_AND_FILL_STYLE_DICT.setValue(32,"DarkGrey");var GraphicalLayers=(e=>(e[e.Background=0]="Background",e[e.Highlight=1]="Highlight",e[e.MeasureError=2]="MeasureError",e[e.SelectionSymbol=3]="SelectionSymbol",e[e.Cursor=4]="Cursor",e[e.PSI_Debug=5]="PSI_Debug",e[e.Notes=6]="Notes",e[e.Comment=7]="Comment",e[e.Debug_above=8]="Debug_above",e))(GraphicalLayers||{}),NoteState=(e=>(e[e.Normal=0]="Normal",e[e.Selected=1]="Selected",e[e.Follow_Confirmed=2]="Follow_Confirmed",e[e.QFeedback_NotFound=3]="QFeedback_NotFound",e[e.QFeedback_OK=4]="QFeedback_OK",e[e.QFeedback_Perfect=5]="QFeedback_Perfect",e[e.Debug1=6]="Debug1",e[e.Debug2=7]="Debug2",e[e.Debug3=8]="Debug3",e))(NoteState||{}),AutoColorSet=(e=>(e.C="#d82c6b",e.D="#F89D15",e.E="#FFE21A",e.F="#4dbd5c",e.G="#009D96",e.A="#43469d",e.B="#76429c",e.Rest="#000000",e))(AutoColorSet||{});class GraphicalLine{constructor(e,t,n=0,i=OutlineAndFillStyleEnum.BaseWritingColor,r=undefined){this.start=e,this.end=t,this.width=n,this.styleId=i,this.colorHex=r}get Start(){return this.start}set Start(e){this.start=e}get End(){return this.end}set End(e){this.end=e}get Width(){return this.width}set Width(e){this.width=e}}class PointF2D{constructor(e=0,t=0){this.x=0,this.y=0,this.x=e,this.y=t}static get Empty(){return new PointF2D}static pointsAreEqual(e,t){return e.x===t.x&&e.y===t.y}ToString(){return"["+this.x+", "+this.y+"]"}}const Additional={"-2":[11,3],"-7":[12],"-9":[5],12:[33,34,35,37,38,2],24:[39]};var NoteEnum=(e=>(e[e.C=0]="C",e[e.D=2]="D",e[e.E=4]="E",e[e.F=5]="F",e[e.G=7]="G",e[e.A=9]="A",e[e.B=11]="B",e))(NoteEnum||{}),AccidentalEnum=(e=>(e[e.SHARP=0]="SHARP",e[e.FLAT=1]="FLAT",e[e.NONE=2]="NONE",e[e.NATURAL=3]="NATURAL",e[e.DOUBLESHARP=4]="DOUBLESHARP",e[e.DOUBLEFLAT=5]="DOUBLEFLAT",e[e.TRIPLESHARP=6]="TRIPLESHARP",e[e.TRIPLEFLAT=7]="TRIPLEFLAT",e[e.QUARTERTONESHARP=8]="QUARTERTONESHARP",e[e.QUARTERTONEFLAT=9]="QUARTERTONEFLAT",e[e.SLASHFLAT=10]="SLASHFLAT",e[e.THREEQUARTERSSHARP=11]="THREEQUARTERSSHARP",e[e.THREEQUARTERSFLAT=12]="THREEQUARTERSFLAT",e[e.SLASHQUARTERSHARP=13]="SLASHQUARTERSHARP",e[e.SLASHSHARP=14]="SLASHSHARP",e[e.DOUBLESLASHFLAT=15]="DOUBLESLASHFLAT",e[e.SORI=16]="SORI",e[e.KORON=17]="KORON",e))(AccidentalEnum||{});const _Pitch=class{constructor(e,t,n,i=undefined,r=!1){this.accidental=2,this.fundamentalNote=e,this.octave=t,this.accidental=n,this.accidentalXml=i,this.halfTone=e+12*(t+_Pitch.octXmlDiff)+_Pitch.HalfTonesFromAccidental(n),r||(this.frequency=_Pitch.calcFrequency(this),this.nextFrequency=_Pitch.calcFrequency(this,"next"),this.prevFrequency=_Pitch.calcFrequency(this,"prev"))}static getNoteEnumString(e){switch(e){case 0:return"C";case 2:return"D";case 4:return"E";case 5:return"F";case 7:return"G";case 9:return"A";case 11:return"B";default:return""}}static lineShiftFromNoteEnum(e,t){if(0===t)return[e,0];const n=_Pitch.pitchEnumValues,i=n.indexOf(e);let r=0,o=(i+t)%n.length;return i+t>n.length-1&&(r=1),o<0&&(o=n.length+o,r=-1),[n[o],r]}static CalculateTransposedHalfTone(e,t){const n=e.fundamentalNote+e.AccidentalHalfTones+t;return _Pitch.WrapAroundCheck(n,12)}static WrapAroundCheck(e,t){let n=0;for(;e<0;)e+=t,n--;for(;e>=t;)e-=t,n++;return{overflow:n,halftone:e}}static calcFrequency(e,t){let n,i=0;if(e instanceof _Pitch){const t=e;i=t.octave-1,n=t.fundamentalNote-9+t.AccidentalHalfTones}else if("number"==typeof e){n=e-57}const r=window.DYSubjectId;let o=0;if("COLEXIU"===window.DYEnvironment&&(Additional[12]=[120]),window.xmlNeedAdjustVoice)for(const a in Additional)if(Object.prototype.hasOwnProperty.call(Additional,a)){if(Additional[a].includes(r)){o=parseFloat(a);break}}let s=n+o;"next"===t&&s++,"prev"===t&&s--;return 442*Math.pow(2,i)*Math.pow(2,s/12)}static calcFractionalKey(e){return Math.log(e/440)/Math.LN10*_Pitch.halftoneFactor+57}static fromFrequency(e){const t=_Pitch.calcFractionalKey(e)+.5,n=Math.floor(t/12)-_Pitch.octXmlDiff,i=Math.floor(t)%12;let r=i,o=2;return-1===this.pitchEnumValues.indexOf(r)&&(r=i-1,o=0),new _Pitch(r,n,o)}static fromHalftone(e){const t=Math.floor(e/12)-_Pitch.octXmlDiff,n=e%12;let i=n,r=2;return-1===this.pitchEnumValues.indexOf(i)&&(i=n-1,r=0),new _Pitch(i,t,r)}static ceiling(e){let t=e%=12;return-1===this.pitchEnumValues.indexOf(t)&&(t=e+1),t}static floor(e){let t=e%=12;return-1===this.pitchEnumValues.indexOf(t)&&(t=e-1),t}static HalfTonesFromAccidental(e){switch(e){case 2:case 3:return 0;case 0:return 1;case 1:return-1;case 4:return 2;case 5:return-2;case 6:return 3;case 7:return-3;case 8:return.5;case 9:return-.5;case 10:return-.51;case 11:return 1.5;case 12:return-1.5;case 13:return.0013;case 14:return.0014;case 15:return-.0015;case 16:return.0016;case 17:return.0017;default:throw new Error("Unhandled AccidentalEnum value")}}static AccidentalFromHalfTones(e){switch(e){case 0:return 2;case 1:return 0;case-1:return 1;case 2:return 4;case-2:return 5;case 3:return 6;case-3:return 7;case.5:return 8;case-.5:return 9;case 1.5:return 11;case-1.5:return 12;default:return e>0&&e<1?8:e<0&&e>-1?9:8}}static accidentalVexflow(e){let t;switch(e){case 3:t="n";break;case 1:t="b";break;case 0:t="#";break;case 4:t="##";break;case 6:t="###";break;case 5:t="bb";break;case 7:t="bbs";break;case 8:t="+";break;case 9:t="d";break;case 10:t="bs";break;case 11:t="++";break;case 12:t="db";break;case 13:t="+-";break;case 14:t="++-";break;case 15:t="bss";break;case 16:t="o";break;case 17:t="k"}return t}get AccidentalHalfTones(){return _Pitch.HalfTonesFromAccidental(this.accidental)}get Octave(){return this.octave}get FundamentalNote(){return this.fundamentalNote}get Accidental(){return this.accidental}get AccidentalXml(){return this.accidentalXml}get Frequency(){return this.frequency}static get OctaveXmlDifference(){return _Pitch.octXmlDiff}getHalfTone(){return this.halfTone}getTransposedPitch(e){if(e>12)throw new Error("rewrite this method to handle bigger octave changes or don't use is with bigger octave changes!");return e>0?this.getHigherPitchByTransposeFactor(e):e<0?this.getLowerPitchByTransposeFactor(-e):this}DoEnharmonicChange(){switch(this.accidental){case 1:case 5:this.fundamentalNote=this.getPreviousFundamentalNote(this.fundamentalNote),this.accidental=_Pitch.AccidentalFromHalfTones(this.halfTone-(this.fundamentalNote+12*(this.octave+_Pitch.octXmlDiff)));break;case 0:case 4:this.fundamentalNote=this.getNextFundamentalNote(this.fundamentalNote),this.accidental=_Pitch.AccidentalFromHalfTones(this.halfTone-(this.fundamentalNote+12*(this.octave+_Pitch.octXmlDiff)));break;default:return}}ToString(){let e=_Pitch.accidentalVexflow(this.accidental);return e||(e=""),"Key: "+_Pitch.getNoteEnumString(this.fundamentalNote)+e+", Note: "+this.fundamentalNote+", octave: "+this.octave.toString()}ToStringShort(e=0){let t=_Pitch.accidentalVexflow(this.accidental);t||(t="");const n=this.octave+e;return _Pitch.getNoteEnumString(this.fundamentalNote)+t+n}get ToStringShortGet(){return this.ToStringShort(0)}OperatorEquals(e){const t=this;return!(!t||!e)&&(t.FundamentalNote===e.FundamentalNote&&t.Octave===e.Octave&&t.Accidental===e.Accidental)}OperatorNotEqual(e){return!(this===e)}OperatorFundamentalGreaterThan(e){const t=this;return t.Octave===e.Octave?t.FundamentalNote>e.FundamentalNote:t.Octave>e.Octave}OperatorFundamentalLessThan(e){const t=this;return t.Octave===e.Octave?t.FundamentalNote<e.FundamentalNote:t.Octave<e.Octave}getHigherPitchByTransposeFactor(e){const t=_Pitch.pitchEnumValues.indexOf(this.fundamentalNote);let n,i=this.octave;return t+e>_Pitch.pitchEnumValues.length-1?(n=_Pitch.pitchEnumValues[t+e-_Pitch.pitchEnumValues.length],i++):n=_Pitch.pitchEnumValues[t+e],new _Pitch(n,i,2)}getLowerPitchByTransposeFactor(e){const t=_Pitch.pitchEnumValues.indexOf(this.fundamentalNote);let n,i=this.octave;return t-e<0?(n=_Pitch.pitchEnumValues[_Pitch.pitchEnumValues.length+t-e],i--):n=_Pitch.pitchEnumValues[t-e],new _Pitch(n,i,2)}getNextFundamentalNote(e){let t=_Pitch.pitchEnumValues.indexOf(e);return t=(t+1)%_Pitch.pitchEnumValues.length,_Pitch.pitchEnumValues[t]}getPreviousFundamentalNote(e){const t=_Pitch.pitchEnumValues.indexOf(e);return t>0?_Pitch.pitchEnumValues[t-1]:_Pitch.pitchEnumValues[_Pitch.pitchEnumValues.length-1]}};let Pitch=_Pitch;Pitch.pitchEnumValues=[0,2,4,5,7,9,11],Pitch.halftoneFactor=12/(Math.LN2/Math.LN10),Pitch.octXmlDiff=3;class ClefInstruction extends AbstractNotationInstruction{constructor(e=0,t=0,n=2){super(void 0),this.clefType=0,this.line=2,this.octaveOffset=0,this.line=n,this.clefType=e,this.octaveOffset=t,this.calcParameters()}static getDefaultClefFromMidiInstrument(e){switch(e){case 0:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 43:return new ClefInstruction(1,0,4);default:return new ClefInstruction(0,0,2)}}static getAllPossibleClefs(){const e=[];for(let t=0;t<=2;t++){const n=new ClefInstruction(0,t,2);e.push(n)}for(let t=-2;t<=0;t++){const n=new ClefInstruction(1,t,4);e.push(n)}return e}static isSupportedClef(e){switch(e){case 0:case 1:case 2:case 3:case 4:return!0;default:return!1}}get ClefType(){return this.clefType}set ClefType(e){this.clefType=e}get Line(){return this.line}set Line(e){this.line=e}get OctaveOffset(){return this.octaveOffset}set OctaveOffset(e){this.octaveOffset=e}get ClefPitch(){return this.clefPitch}set ClefPitch(e){this.clefPitch=e}get ReferenceCyPosition(){return this.referenceCyPosition}set ReferenceCyPosition(e){this.referenceCyPosition=e}Equals(e){return this===e||!(!this||!e)&&(this.clefPitch===e.clefPitch&&this.Line===e.Line)}NotEqual(e){return!this.Equals(e)}ToString(){return"ClefType: "+this.clefType}calcParameters(){switch(this.clefType){case 0:this.clefPitch=new Pitch(NoteEnum.G,1+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line+2;break;case 1:this.clefPitch=new Pitch(NoteEnum.F,0+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line+1.5;break;case 2:this.clefPitch=new Pitch(NoteEnum.C,1+this.octaveOffset,AccidentalEnum.NONE),this.referenceCyPosition=5-this.line;break;case 3:this.clefPitch=new Pitch(NoteEnum.C,2,AccidentalEnum.NONE),this.referenceCyPosition=2;break;case 4:this.clefPitch=new Pitch(NoteEnum.G,0,AccidentalEnum.NONE),this.referenceCyPosition=0;break;default:throw new ArgumentOutOfRangeException("clefType")}}}var ClefEnum=(e=>(e[e.G=0]="G",e[e.F=1]="F",e[e.C=2]="C",e[e.percussion=3]="percussion",e[e.TAB=4]="TAB",e))(ClefEnum||{}),MidiInstrument=(e=>(e[e.None=-1]="None",e[e.Acoustic_Grand_Piano=0]="Acoustic_Grand_Piano",e[e.Bright_Acoustic_Piano=1]="Bright_Acoustic_Piano",e[e.Electric_Grand_Piano=2]="Electric_Grand_Piano",e[e.Honky_tonk_Piano=3]="Honky_tonk_Piano",e[e.Electric_Piano_1=4]="Electric_Piano_1",e[e.Electric_Piano_2=5]="Electric_Piano_2",e[e.Harpsichord=6]="Harpsichord",e[e.Clavinet=7]="Clavinet",e[e.Celesta=8]="Celesta",e[e.Glockenspiel=9]="Glockenspiel",e[e.Music_Box=10]="Music_Box",e[e.Vibraphone=11]="Vibraphone",e[e.Marimba=12]="Marimba",e[e.Xylophone=13]="Xylophone",e[e.Tubular_Bells=14]="Tubular_Bells",e[e.Dulcimer=15]="Dulcimer",e[e.Drawbar_Organ=16]="Drawbar_Organ",e[e.Percussive_Organ=17]="Percussive_Organ",e[e.Rock_Organ=18]="Rock_Organ",e[e.Church_Organ=19]="Church_Organ",e[e.Reed_Organ=20]="Reed_Organ",e[e.Accordion=21]="Accordion",e[e.Harmonica=22]="Harmonica",e[e.Tango_Accordion=23]="Tango_Accordion",e[e.Acoustic_Guitar_nylon=24]="Acoustic_Guitar_nylon",e[e.Acoustic_Guitar_steel=25]="Acoustic_Guitar_steel",e[e.Electric_Guitar_jazz=26]="Electric_Guitar_jazz",e[e.Electric_Guitar_clean=27]="Electric_Guitar_clean",e[e.Electric_Guitar_muted=28]="Electric_Guitar_muted",e[e.Overdriven_Guitar=29]="Overdriven_Guitar",e[e.Distortion_Guitar=30]="Distortion_Guitar",e[e.Guitar_harmonics=31]="Guitar_harmonics",e[e.Acoustic_Bass=32]="Acoustic_Bass",e[e.Electric_Bass_finger=33]="Electric_Bass_finger",e[e.Electric_Bass_pick=34]="Electric_Bass_pick",e[e.Fretless_Bass=35]="Fretless_Bass",e[e.Slap_Bass_1=36]="Slap_Bass_1",e[e.Slap_Bass_2=37]="Slap_Bass_2",e[e.Synth_Bass_1=38]="Synth_Bass_1",e[e.Synth_Bass_2=39]="Synth_Bass_2",e[e.Violin=40]="Violin",e[e.Viola=41]="Viola",e[e.Cello=42]="Cello",e[e.Contrabass=43]="Contrabass",e[e.Tremolo_Strings=44]="Tremolo_Strings",e[e.Pizzicato_Strings=45]="Pizzicato_Strings",e[e.Orchestral_Harp=46]="Orchestral_Harp",e[e.Timpani=47]="Timpani",e[e.String_Ensemble_1=48]="String_Ensemble_1",e[e.String_Ensemble_2=49]="String_Ensemble_2",e[e.Synth_Strings_1=50]="Synth_Strings_1",e[e.Synth_Strings_2=51]="Synth_Strings_2",e[e.Choir_Aahs=52]="Choir_Aahs",e[e.Voice_Oohs=53]="Voice_Oohs",e[e.Synth_Voice=54]="Synth_Voice",e[e.Orchestra_Hit=55]="Orchestra_Hit",e[e.Trumpet=56]="Trumpet",e[e.Trombone=57]="Trombone",e[e.Tuba=58]="Tuba",e[e.Muted_Trumpet=59]="Muted_Trumpet",e[e.French_Horn=60]="French_Horn",e[e.Brass_Section=61]="Brass_Section",e[e.Synth_Brass_1=62]="Synth_Brass_1",e[e.Synth_Brass_2=63]="Synth_Brass_2",e[e.Soprano_Sax=64]="Soprano_Sax",e[e.Alto_Sax=65]="Alto_Sax",e[e.Tenor_Sax=66]="Tenor_Sax",e[e.Baritone_Sax=67]="Baritone_Sax",e[e.Oboe=68]="Oboe",e[e.English_Horn=69]="English_Horn",e[e.Bassoon=70]="Bassoon",e[e.Clarinet=71]="Clarinet",e[e.Piccolo=72]="Piccolo",e[e.Flute=73]="Flute",e[e.Recorder=74]="Recorder",e[e.Pan_Flute=75]="Pan_Flute",e[e.Blown_Bottle=76]="Blown_Bottle",e[e.Shakuhachi=77]="Shakuhachi",e[e.Whistle=78]="Whistle",e[e.Ocarina=79]="Ocarina",e[e.Lead_1_square=80]="Lead_1_square",e[e.Lead_2_sawtooth=81]="Lead_2_sawtooth",e[e.Lead_3_calliope=82]="Lead_3_calliope",e[e.Lead_4_chiff=83]="Lead_4_chiff",e[e.Lead_5_charang=84]="Lead_5_charang",e[e.Lead_6_voice=85]="Lead_6_voice",e[e.Lead_7_fifths=86]="Lead_7_fifths",e[e.Lead_8_bass_lead=87]="Lead_8_bass_lead",e[e.Pad_1_new_age=88]="Pad_1_new_age",e[e.Pad_2_warm=89]="Pad_2_warm",e[e.Pad_3_polysynth=90]="Pad_3_polysynth",e[e.Pad_4_choir=91]="Pad_4_choir",e[e.Pad_5_bowed=92]="Pad_5_bowed",e[e.Pad_6_metallic=93]="Pad_6_metallic",e[e.Pad_7_halo=94]="Pad_7_halo",e[e.Pad_8_sweep=95]="Pad_8_sweep",e[e.FX_1_rain=96]="FX_1_rain",e[e.FX_2_soundtrack=97]="FX_2_soundtrack",e[e.FX_3_crystal=98]="FX_3_crystal",e[e.FX_4_atmosphere=99]="FX_4_atmosphere",e[e.FX_5_brightness=100]="FX_5_brightness",e[e.FX_6_goblins=101]="FX_6_goblins",e[e.FX_7_echoes=102]="FX_7_echoes",e[e.FX_8_scifi=103]="FX_8_scifi",e[e.Sitar=104]="Sitar",e[e.Banjo=105]="Banjo",e[e.Shamisen=106]="Shamisen",e[e.Koto=107]="Koto",e[e.Kalimba=108]="Kalimba",e[e.Bag_pipe=109]="Bag_pipe",e[e.Fiddle=110]="Fiddle",e[e.Shanai=111]="Shanai",e[e.Tinkle_Bell=112]="Tinkle_Bell",e[e.Agogo=113]="Agogo",e[e.Steel_Drums=114]="Steel_Drums",e[e.Woodblock=115]="Woodblock",e[e.Taiko_Drum=116]="Taiko_Drum",e[e.Melodic_Tom=117]="Melodic_Tom",e[e.Synth_Drum=118]="Synth_Drum",e[e.Reverse_Cymbal=119]="Reverse_Cymbal",e[e.Guitar_Fret_Noise=120]="Guitar_Fret_Noise",e[e.Breath_Noise=121]="Breath_Noise",e[e.Seashore=122]="Seashore",e[e.Bird_Tweet=123]="Bird_Tweet",e[e.Telephone_Ring=124]="Telephone_Ring",e[e.Helicopter=125]="Helicopter",e[e.Applause=126]="Applause",e[e.Gunshot=127]="Gunshot",e[e.Percussion=128]="Percussion",e))(MidiInstrument||{});const _KeyInstruction=class extends AbstractNotationInstruction{constructor(e=undefined,t=0,n=0){super(e),this.isTransposedBy=0,this.Key=t,this.keyTypeOriginal=t,this.mode=n,this.alteratedNotes=this.calcAlteratedNotes()}static copy(e){const t=new _KeyInstruction(e.parent,e.Key,e.Mode);return t.keyTypeOriginal=e.keyTypeOriginal,t}static getAllPossibleMajorKeyInstructions(){const e=[];for(let t=-7;t<7;t++){const n=new _KeyInstruction(void 0,t,0);e.push(n)}return e}get Key(){return this.keyType}set Key(e){this.keyType=e,this.alteratedNotes=this.calcAlteratedNotes()}get Mode(){return this.mode}set Mode(e){this.mode=e}get AlteratedNotes(){return this.alteratedNotes}calcAlteratedNotes(){const e=[];if(this.keyType>0)for(let t=0;t<this.keyType;t++)e.push(_KeyInstruction.sharpPositionList[t]);else if(this.keyType<0)for(let t=0;t<-this.keyType;t++)e.push(_KeyInstruction.flatPositionList[t]);return e}willAlterateNote(e){return this.alteratedNotes.indexOf(e)>=0}getAlterationForPitch(e){return this.keyType>0&&this.alteratedNotes.indexOf(e.FundamentalNote)<=this.keyType?AccidentalEnum.SHARP:this.keyType<0&&this.alteratedNotes.indexOf(e.FundamentalNote)<=Math.abs(this.keyType)?AccidentalEnum.FLAT:AccidentalEnum.NONE}ToString(){return"Key: "+this.keyType+this.mode}OperatorEquals(e){const t=this;return t===e||!(!t||!e)&&(t.Key===e.Key&&t.Mode===e.Mode)}OperatorNotEqual(e){return!this.OperatorEquals(e)}};let KeyInstruction=_KeyInstruction;KeyInstruction.sharpPositionList=[NoteEnum.F,NoteEnum.C,NoteEnum.G,NoteEnum.D,NoteEnum.A,NoteEnum.E,NoteEnum.B],KeyInstruction.flatPositionList=[NoteEnum.B,NoteEnum.E,NoteEnum.A,NoteEnum.D,NoteEnum.G,NoteEnum.C,NoteEnum.F];var KeyEnum=(e=>(e[e.major=0]="major",e[e.minor=1]="minor",e[e.none=2]="none",e[e.dorian=3]="dorian",e[e.phrygian=4]="phrygian",e[e.lydian=5]="lydian",e[e.mixolydian=6]="mixolydian",e[e.aeolian=7]="aeolian",e[e.ionian=8]="ionian",e[e.locrian=9]="locrian",e))(KeyEnum||{});class SizeF2D{constructor(e=0,t=0){this.width=e,this.height=t}}class RectangleF2D{constructor(e,t,n,i){this.x=0,this.y=0,this.width=0,this.height=0,this.x=e,this.y=t,this.width=n,this.height=i}static createFromLocationAndSize(e,t){return new RectangleF2D(e.x,e.y,t.width,t.height)}get Location(){return new PointF2D(this.x,this.y)}get Size(){return new SizeF2D(this.width,this.height)}}class AClassHierarchyTrackable{isInstanceOfClass(e){let t=this.constructor.prototype;for(;t;){if(e===t.constructor.name)return!0;t=t.__proto__}return!1}}class GraphicalObject extends AClassHierarchyTrackable{get PositionAndShape(){return this.boundingBox}set PositionAndShape(e){this.boundingBox=e}}class Clickable extends GraphicalObject{}let BoundingBox$1=class{constructor(e=undefined,t=undefined,n=!1){this.isSymbol=!1,this.relativePositionHasBeenSet=!1,this.xBordersHaveBeenSet=!1,this.yBordersHaveBeenSet=!1,this.absolutePosition=new PointF2D,this.relativePosition=new PointF2D,this.size=new SizeF2D,this.marginSize=new SizeF2D,this.upperLeftCorner=new PointF2D,this.upperLeftMarginCorner=new PointF2D,this.borderLeft=0,this.borderRight=0,this.borderTop=0,this.borderBottom=0,this.borderMarginLeft=0,this.borderMarginRight=0,this.borderMarginTop=0,this.borderMarginBottom=0,this.childElements=[],this.parent=t,this.dataObject=e,this.isSymbol=n,this.xBordersHaveBeenSet=!1,this.yBordersHaveBeenSet=!1,t&&(this.Parent=t)}get RelativePositionHasBeenSet(){return this.relativePositionHasBeenSet}get XBordersHaveBeenSet(){return this.xBordersHaveBeenSet}set XBordersHaveBeenSet(e){this.xBordersHaveBeenSet=e}get YBordersHaveBeenSet(){return this.yBordersHaveBeenSet}set YBordersHaveBeenSet(e){this.yBordersHaveBeenSet=e}get AbsolutePosition(){return this.absolutePosition}set AbsolutePosition(e){this.absolutePosition=e}get RelativePosition(){return this.relativePosition}set RelativePosition(e){this.relativePosition=e,this.relativePositionHasBeenSet=!0}get Size(){return this.size}set Size(e){this.size=e}get MarginSize(){return this.marginSize}get UpperLeftCorner(){return this.upperLeftCorner}get UpperLeftMarginCorner(){return this.upperLeftMarginCorner}get BorderLeft(){return this.borderLeft}set BorderLeft(e){this.borderLeft=e,this.calculateRectangle()}get BorderRight(){return this.borderRight}set BorderRight(e){this.borderRight=e,this.calculateRectangle()}get BorderTop(){return this.borderTop}set BorderTop(e){this.borderTop=e,this.calculateRectangle()}get BorderBottom(){return this.borderBottom}set BorderBottom(e){this.borderBottom=e,this.calculateRectangle()}get BorderMarginLeft(){return this.borderMarginLeft>this.borderLeft?this.borderLeft:this.borderMarginLeft}set BorderMarginLeft(e){this.borderMarginLeft=e,this.calculateMarginRectangle()}get BorderMarginRight(){return this.borderMarginRight<this.borderRight?this.borderRight:this.borderMarginRight}set BorderMarginRight(e){this.borderMarginRight=e,this.calculateMarginRectangle()}get BorderMarginTop(){return this.borderMarginTop>this.borderTop?this.borderTop:this.borderMarginTop}set BorderMarginTop(e){this.borderMarginTop=e,this.calculateMarginRectangle()}get BorderMarginBottom(){return this.borderMarginBottom<this.borderBottom?this.borderBottom:this.borderMarginBottom}set BorderMarginBottom(e){this.borderMarginBottom=e,this.calculateMarginRectangle()}get BoundingRectangle(){return this.boundingRectangle}get BoundingMarginRectangle(){return this.boundingMarginRectangle}get ChildElements(){return this.childElements}set ChildElements(e){this.childElements=e}get Parent(){return this.parent}set Parent(e){var t,n,i,r;if(this.parent){const e=this.parent.ChildElements.indexOf(this,0);e>-1&&this.parent.ChildElements.splice(e,1)}(this.parent=e,(null===(t=this.parent)||void 0===t||null===(n=t.ChildElements)||void 0===n?void 0:n.indexOf(this))>-1)?loglevelExports.error("BoundingBox of "+this.dataObject.constructor.name+" already in children list of "+this.parent.dataObject.constructor.name+"'s BoundingBox"):null===(i=this.parent)||void 0===i||null===(r=i.ChildElements)||void 0===r||r.push(this)}get DataObject(){return this.dataObject}get Center(){return new PointF2D(this.RelativePosition.x+(this.BorderMarginRight+this.BorderMarginLeft),this.RelativePosition.y+(this.BorderMarginBottom+this.BorderMarginTop))}setAbsolutePositionFromParent(){this.parent?(this.absolutePosition.x=this.parent.AbsolutePosition.x+this.relativePosition.x,this.absolutePosition.y=this.parent.AbsolutePosition.y+this.relativePosition.y):this.absolutePosition=this.relativePosition}calculateAbsolutePosition(){this.absolutePosition.x=this.relativePosition.x,this.absolutePosition.y=this.relativePosition.y;let e=this.parent;for(;e;)this.absolutePosition.x+=e.relativePosition.x,this.absolutePosition.y+=e.relativePosition.y,e=e.parent}calculateAbsolutePositionsRecursiveWithoutTopelement(){this.absolutePosition.x=0,this.absolutePosition.y=0;for(let e=0,t=this.ChildElements.length;e<t;++e){this.ChildElements[e].calculateAbsolutePositionsRecursive(this.absolutePosition.x,this.absolutePosition.y)}}calculateAbsolutePositionsRecursive(e,t){this.absolutePosition.x=this.relativePosition.x+e,this.absolutePosition.y=this.relativePosition.y+t;for(let n=0,i=this.ChildElements.length;n<i;++n){this.ChildElements[n].calculateAbsolutePositionsRecursive(this.absolutePosition.x,this.absolutePosition.y)}}calculateAbsolutePositionsOfChildren(){for(let e=0,t=this.ChildElements.length;e<t;++e){this.ChildElements[e].calculateAbsolutePositionsRecursive(this.absolutePosition.x,this.absolutePosition.y)}}calculateBoundingBox(){if(0===this.childElements.length)return;for(let l=0,c=this.ChildElements.length;l<c;++l){this.ChildElements[l].calculateBoundingBox()}let e=Number.MAX_VALUE,t=Number.MIN_VALUE,n=Number.MAX_VALUE,i=Number.MIN_VALUE,r=Number.MAX_VALUE,o=Number.MIN_VALUE,s=Number.MAX_VALUE,a=Number.MIN_VALUE;this.isSymbol&&(e=this.borderLeft,t=this.borderRight,n=this.borderTop,i=this.borderBottom,r=this.borderMarginLeft,o=this.borderMarginRight,s=this.borderMarginTop,a=this.borderMarginBottom);for(let l=0,c=this.ChildElements.length;l<c;++l){const c=this.ChildElements[l];e=Math.min(e,c.relativePosition.x+c.borderLeft),t=Math.max(t,c.relativePosition.x+c.borderRight),n=Math.min(n,c.relativePosition.y+c.borderTop),i=Math.max(i,c.relativePosition.y+c.borderBottom),r=Math.min(r,c.relativePosition.x+c.borderMarginLeft),o=Math.max(o,c.relativePosition.x+c.borderMarginRight),s=Math.min(s,c.relativePosition.y+c.borderMarginTop),a=Math.max(a,c.relativePosition.y+c.borderMarginBottom)}this.borderLeft=e,this.borderRight=t,this.borderTop=n,this.borderBottom=i,this.borderMarginLeft=r,this.borderMarginRight=o,this.borderMarginTop=s,this.borderMarginBottom=a,this.calculateRectangle(),this.calculateMarginRectangle(),this.xBordersHaveBeenSet=!0,this.yBordersHaveBeenSet=!0}calculateTopBottomBorders(){if(0===this.childElements.length)return;for(let r=0,o=this.ChildElements.length;r<o;++r){this.ChildElements[r].calculateTopBottomBorders()}let e=Number.MAX_VALUE,t=Number.MIN_VALUE,n=Number.MAX_VALUE,i=Number.MIN_VALUE;this.yBordersHaveBeenSet&&(e=this.borderTop,t=this.borderBottom,n=this.borderMarginTop,i=this.borderMarginBottom);for(let r=0,o=this.ChildElements.length;r<o;++r){const o=this.ChildElements[r];e=Math.min(e,o.relativePosition.y+o.borderTop),t=Math.max(t,o.relativePosition.y+o.borderBottom),n=Math.min(n,o.relativePosition.y+o.borderMarginTop),i=Math.max(i,o.relativePosition.y+o.borderMarginBottom)}this.borderTop=e,this.borderBottom=t,this.borderMarginTop=n,this.borderMarginBottom=i,this.calculateRectangle(),this.calculateMarginRectangle()}computeNonOverlappingPositionWithMargin(e,t,n){this.RelativePosition=new PointF2D(n.x,n.y),this.setAbsolutePositionFromParent();let i=0,r=!1;do{switch(t){case 0:case 1:i=this.relativePosition.x,e.calculateMarginPositionAlongDirection(this,t),r=Math.abs(i-this.relativePosition.x)>.001;break;case 2:case 3:i=this.relativePosition.y,e.calculateMarginPositionAlongDirection(this,t),r=Math.abs(i-this.relativePosition.y)>.001;break;default:throw new ArgumentOutOfRangeException("direction")}}while(r)}collisionDetection(e){const t=Math.min(this.AbsolutePosition.x+this.borderRight,e.absolutePosition.x+e.borderRight)-Math.max(this.AbsolutePosition.x+this.borderLeft,e.absolutePosition.x+e.borderLeft),n=Math.min(this.AbsolutePosition.y+this.borderBottom,e.absolutePosition.y+e.borderBottom)-Math.max(this.AbsolutePosition.y+this.borderTop,e.absolutePosition.y+e.borderTop);return t>0&&n>0}liesInsideBorders(e){const t=this.AbsolutePosition.x+this.borderLeft<=e.absolutePosition.x+e.borderLeft&&e.absolutePosition.x+e.borderLeft<=this.AbsolutePosition.x+this.borderRight,n=this.AbsolutePosition.x+this.borderLeft<=e.absolutePosition.x+e.borderRight&&e.absolutePosition.x+e.borderRight<=this.AbsolutePosition.x+this.borderRight;if(t&&n){const t=this.AbsolutePosition.y+this.borderTop<=e.absolutePosition.y+e.borderTop&&e.absolutePosition.y+e.borderTop<=this.AbsolutePosition.y+this.borderBottom,n=this.AbsolutePosition.y+this.borderTop<=e.absolutePosition.y+e.borderBottom&&e.absolutePosition.y+e.borderBottom<=this.AbsolutePosition.y+this.borderBottom;if(t&&n)return!0}return!1}pointLiesInsideBorders(e){if(this.AbsolutePosition.x+this.borderLeft<=e.x&&e.x<=this.AbsolutePosition.x+this.borderRight){if(this.AbsolutePosition.y+this.borderTop<=e.y&&e.y<=this.AbsolutePosition.y+this.borderBottom)return!0}return!1}marginCollisionDetection(e){const t=Math.min(this.AbsolutePosition.x+this.borderMarginRight,e.absolutePosition.x+e.borderMarginRight)-Math.max(this.AbsolutePosition.x+this.borderMarginLeft,e.absolutePosition.x+e.borderMarginLeft),n=Math.min(this.AbsolutePosition.y+this.borderMarginBottom,e.absolutePosition.y+e.borderMarginBottom)-Math.max(this.AbsolutePosition.y+this.borderMarginTop,e.absolutePosition.y+e.borderMarginTop);return t>0&&n>0}liesInsideMargins(e){const t=this.AbsolutePosition.x+this.borderMarginLeft<=e.absolutePosition.x+e.borderMarginLeft&&e.absolutePosition.x+e.borderMarginLeft<=this.AbsolutePosition.x+this.borderMarginRight,n=this.AbsolutePosition.x+this.borderMarginLeft<=e.absolutePosition.x+e.borderMarginRight&&e.absolutePosition.x+e.borderMarginRight<=this.AbsolutePosition.x+this.borderMarginRight;if(t&&n){const t=this.AbsolutePosition.y+this.borderMarginTop<=e.absolutePosition.y+e.borderMarginTop&&e.absolutePosition.y+e.borderMarginTop<=this.AbsolutePosition.y+this.borderMarginBottom,n=this.AbsolutePosition.y+this.borderMarginTop<=e.absolutePosition.y+e.borderMarginBottom&&e.absolutePosition.y+e.borderMarginBottom<=this.AbsolutePosition.y+this.borderMarginBottom;if(t&&n)return!0}return!1}pointLiesInsideMargins(e){if(this.AbsolutePosition.x+this.borderMarginLeft<=e.x&&e.x<=this.AbsolutePosition.x+this.borderMarginRight){if(this.AbsolutePosition.y+this.borderMarginTop<=e.y&&e.y<=this.AbsolutePosition.y+this.borderMarginBottom)return!0}return!1}computeNonOverlappingPosition(e,t,n){this.RelativePosition=new PointF2D(n.x,n.y),this.setAbsolutePositionFromParent();let i=0,r=!1;do{switch(t){case 0:case 1:i=this.relativePosition.x,e.calculatePositionAlongDirection(this,t),r=Math.abs(i-this.relativePosition.x)>1e-4;break;case 2:case 3:i=this.relativePosition.y,e.calculatePositionAlongDirection(this,t),r=Math.abs(i-this.relativePosition.y)>1e-4;break;default:throw new ArgumentOutOfRangeException("direction")}}while(r)}getClickedObjectOfType(e){const t=this.dataObject;if(this.pointLiesInsideBorders(e)&&t)return t;for(let n=0,i=this.childElements.length;n<i;++n){const t=this.childElements[n].getClickedObjectOfType(e);if(t)return t}}getClickedClickable(e){const t=this.dataObject;if(this.pointLiesInsideBorders(e)&&t&&t instanceof Clickable)return t;for(let n=0,i=this.childElements.length;n<i;++n){const t=this.childElements[n].getClickedClickable(e);if(t&&t instanceof Clickable)return t}}getObjectsInRegion(e,t=!0,n=GraphicalObject.name){let i=[];for(const r of this.childElements)i=i.concat(r.getObjectsInRegion(e,t,n));return this.dataObject&&this.dataObject.isInstanceOfClass(n)&&(t?e.liesInsideBorders(this)&&i.push(this.dataObject):e.collisionDetection(this)&&i.push(this.dataObject)),i}calculateRectangle(){this.upperLeftCorner=new PointF2D(this.BorderLeft,this.BorderTop),this.size=new SizeF2D(this.BorderRight-this.BorderLeft,this.BorderBottom-this.BorderTop),this.boundingRectangle=RectangleF2D.createFromLocationAndSize(this.upperLeftCorner,this.size)}calculateMarginRectangle(){this.upperLeftMarginCorner=new PointF2D(this.BorderMarginLeft,this.BorderMarginTop),this.marginSize=new SizeF2D(this.BorderMarginRight-this.BorderMarginLeft,this.BorderMarginBottom-this.BorderMarginTop),this.boundingMarginRectangle=RectangleF2D.createFromLocationAndSize(this.upperLeftMarginCorner,this.marginSize)}calculateMarginPositionAlongDirection(e,t){if(this!==e){if(this.isSymbol&&this.marginCollisionDetection(e)){let n=0;switch(t){case 0:return n=this.absolutePosition.x+this.borderMarginLeft-(e.absolutePosition.x+e.borderMarginRight),e.relativePosition.x+=n,void(e.absolutePosition.x+=n);case 1:return n=this.absolutePosition.x+this.borderMarginRight-(e.absolutePosition.x+e.borderMarginLeft),e.relativePosition.x+=n,void(e.absolutePosition.x+=n);case 2:return n=this.absolutePosition.y+this.borderMarginTop-(e.absolutePosition.y+e.borderMarginBottom),e.relativePosition.y+=n,void(e.absolutePosition.y+=n);case 3:return n=this.absolutePosition.y+this.borderMarginBottom-(e.absolutePosition.y+e.borderMarginTop),e.relativePosition.y+=n,void(e.absolutePosition.y+=n);default:throw new ArgumentOutOfRangeException("direction")}}for(let n=0,i=this.ChildElements.length;n<i;++n){this.ChildElements[n].calculateMarginPositionAlongDirection(e,t)}}}calculatePositionAlongDirection(e,t){if(this!==e){if(this.isSymbol&&this.collisionDetection(e)){let n;switch(t){case 0:return n=this.absolutePosition.x+this.borderLeft-(e.absolutePosition.x+e.borderRight),e.relativePosition.x+=n,void(e.absolutePosition.x+=n);case 1:return n=this.absolutePosition.x+this.borderRight-(e.absolutePosition.x+e.borderLeft),e.relativePosition.x+=n,void(e.absolutePosition.x+=n);case 2:return n=this.absolutePosition.y+this.borderTop-(e.absolutePosition.y+e.borderBottom),e.relativePosition.y+=n,void(e.absolutePosition.y+=n);case 3:return n=this.absolutePosition.y+this.borderBottom-(e.absolutePosition.y+e.borderTop),e.relativePosition.y+=n,void(e.absolutePosition.y+=n);default:throw new ArgumentOutOfRangeException("direction")}}for(let n=0,i=this.ChildElements.length;n<i;++n){this.ChildElements[n].calculatePositionAlongDirection(e,t)}}}};var ColDirEnum=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.Up=2]="Up",e[e.Down=3]="Down",e[e.NotYetDefined=4]="NotYetDefined",e))(ColDirEnum||{});Array.prototype.last||Object.defineProperty(Array.prototype,"last",{enumerable:!1,writable:!0,value:function(){return this[this.length-1]}}),Array.prototype.clear||Object.defineProperty(Array.prototype,"clear",{enumerable:!1,writable:!0,value:function(){this.length=0}}),Array.prototype.contains||Object.defineProperty(Array.prototype,"contains",{enumerable:!1,writable:!0,value:function(e){return-1!==this.indexOf(e)}});class CollectionUtil{static contains2(e,t){for(let n=0;n<e.length;n++)if(e[n]===t)return!0;return!1}static last(e){return e[e.length-1]}static flat(e){return[].concat(...e)}static removeDictElementIfTrue(e,t,n){const i=[];t.forEach((function(t,r){n(e,t,r)&&i.push(t)}));for(let r=0;r<i.length;r++)t.remove(i[r])}static getLastElement(e){return e[e.length-1]}static binarySearch(e,t,n,i=0,r=e.length-1){let o=1,s=-1;for(;i<=r&&(o=Math.floor((i+r)/2),o!==s);){const a=n(e[o],t);if(0===a)return o;a<0&&(i=o+1),0<a&&(r=o),s=o}return-o}}class GraphicalMusicPage extends GraphicalObject{constructor(e){super(),this.musicSystems=[],this.labels=[],this.parent=e,this.boundingBox=new BoundingBox$1(this,void 0)}get MusicSystems(){return this.musicSystems}set MusicSystems(e){this.musicSystems=e}get Labels(){return this.labels}set Labels(e){this.labels=e}get Parent(){return this.parent}set Parent(e){this.parent=e}get PageNumber(){return this.pageNumber}set PageNumber(e){this.pageNumber=e}setMusicPageAbsolutePosition(e,t){return new PointF2D(0,0)}}var PagePlacementEnum=(e=>(e[e.Down=0]="Down",e[e.Right=1]="Right",e[e.RightDown=2]="RightDown",e))(PagePlacementEnum||{}),TextAlignmentEnum=(e=>(e[e.LeftTop=0]="LeftTop",e[e.LeftCenter=1]="LeftCenter",e[e.LeftBottom=2]="LeftBottom",e[e.CenterTop=3]="CenterTop",e[e.CenterCenter=4]="CenterCenter",e[e.CenterBottom=5]="CenterBottom",e[e.RightTop=6]="RightTop",e[e.RightCenter=7]="RightCenter",e[e.RightBottom=8]="RightBottom",e))(TextAlignmentEnum||{});class TextAlignment{static IsLeft(e){return 0===e||1===e||2===e}static IsCenterAligned(e){return 3===e||4===e||5===e}static IsRight(e){return 6===e||7===e||8===e}}var ColoringModes=(e=>(e[e.XML=0]="XML",e[e.AutoColoring=1]="AutoColoring",e[e.CustomColorSet=2]="CustomColorSet",e))(ColoringModes||{}),FontStyles=(e=>(e[e.Regular=0]="Regular",e[e.Bold=1]="Bold",e[e.Italic=2]="Italic",e[e.BoldItalic=3]="BoldItalic",e[e.Underlined=4]="Underlined",e))(FontStyles||{}),Fonts=(e=>(e[e.TimesNewRoman=0]="TimesNewRoman",e[e.Kokila=1]="Kokila",e[e.Gonville=2]="Gonville",e))(Fonts||{});const FontStringNames={0:"Times New Roman",1:"Kokila",2:"Gonville"};var TieTypes=(e=>(e.SIMPLE="",e.HAMMERON="H",e.PULLOFF="P",e.SLIDE="S",e.TAPPING="T",e))(TieTypes||{});class ChordSymbolContainer{constructor(e,t,n,i,r){this.rootPitch=e,this.chordKind=t,this.bassPitch=n,this.degrees=i,this.rules=r}get RootPitch(){return this.rootPitch}get ChordKind(){return this.chordKind}get BassPitch(){return this.bassPitch}get ChordDegrees(){return this.degrees}static calculateChordText(e,t,n){let i=e.RootPitch;if(MusicSheetCalculator.transposeCalculator&&(i=MusicSheetCalculator.transposeCalculator.transposePitch(e.RootPitch,n,t)),31===e.ChordKind)return e.getTextFromChordKindEnum(e.ChordKind);let r=Pitch.getNoteEnumString(i.FundamentalNote);i.Accidental!==AccidentalEnum.NONE&&(r+=e.getTextForAccidental(i.Accidental));const o={adds:[],alts:[],subs:[]};for(const c of e.ChordDegrees)if(c){let t="";switch(c.alteration!==AccidentalEnum.NONE&&(t+=e.getTextForAccidental(c.alteration)),t+=c.value,c.text){case 0:o.adds.push(t);break;case 1:o.alts.push(t);break;case 2:o.subs.push(t)}}let s=e.getTextFromChordKindEnum(e.ChordKind);const a=["adds","alts","subs"],l=e.rules.CustomChords;for(const c of l){if(c.chordKind!==e.chordKind)continue;let t=!0;for(const e of a){for(const n of c.degrees[e]||[])if(o[e].indexOf(n)<0){t=!1;break}if(!t)break}if(t){for(const e of a)for(const t of c.degrees[e]||[])o[e].splice(o[e].indexOf(t),1);s=c.alternateName}}if(r+=s,o.adds.length>0&&(r+="("+o.adds.join(",")+")"),o.alts.length>0&&(r+="(alt "+o.alts.join(",")+")"),o.subs.length>0&&(r+="(omit "+o.subs.join(",")+")"),e.BassPitch){let i=e.BassPitch;MusicSheetCalculator.transposeCalculator&&(i=MusicSheetCalculator.transposeCalculator.transposePitch(e.BassPitch,n,t)),r+="/",r+=Pitch.getNoteEnumString(i.FundamentalNote),r+=e.getTextForAccidental(i.Accidental)}return r}getTextForAccidental(e){const t=this.rules.ChordAccidentalTexts.getValue(e);return void 0!==t?t:""}getTextFromChordKindEnum(e){var t;return null!==(t=this.rules.ChordSymbolLabelTexts.getValue(e))&&void 0!==t?t:""}}class Degree{constructor(e,t,n){this.value=e,this.alteration=t,this.text=n}}class CustomChord{constructor(e,t,n){this.alternateName=e,this.chordKind=t,this.degrees=n}static createCustomChord(e,t,n){return new CustomChord(e,t,n)}static renameCustomChord(e,t,n){for(const i of n)i.alternateName===e&&(i.alternateName=t)}}var ChordDegreeText=(e=>(e[e.add=0]="add",e[e.alter=1]="alter",e[e.subtract=2]="subtract",e))(ChordDegreeText||{}),ChordSymbolEnum=(e=>(e[e.major=0]="major",e[e.minor=1]="minor",e[e.augmented=2]="augmented",e[e.diminished=3]="diminished",e[e.dominant=4]="dominant",e[e.majorseventh=5]="majorseventh",e[e.minorseventh=6]="minorseventh",e[e.diminishedseventh=7]="diminishedseventh",e[e.augmentedseventh=8]="augmentedseventh",e[e.halfdiminished=9]="halfdiminished",e[e.majorminor=10]="majorminor",e[e.majorsixth=11]="majorsixth",e[e.minorsixth=12]="minorsixth",e[e.dominantninth=13]="dominantninth",e[e.majorninth=14]="majorninth",e[e.minorninth=15]="minorninth",e[e.dominant11th=16]="dominant11th",e[e.major11th=17]="major11th",e[e.minor11th=18]="minor11th",e[e.dominant13th=19]="dominant13th",e[e.major13th=20]="major13th",e[e.minor13th=21]="minor13th",e[e.suspendedsecond=22]="suspendedsecond",e[e.suspendedfourth=23]="suspendedfourth",e[e.Neapolitan=24]="Neapolitan",e[e.Italian=25]="Italian",e[e.French=26]="French",e[e.German=27]="German",e[e.pedal=28]="pedal",e[e.power=29]="power",e[e.Tristan=30]="Tristan",e[e.none=31]="none",e))(ChordSymbolEnum||{});class GraphicalNote extends GraphicalObject{constructor(e,t,n,i=undefined){super(),this.DrawnAccidental=AccidentalEnum.NONE,this.lineShift=0,this.sourceNote=e,this.parentVoiceEntry=t,this.PositionAndShape=new BoundingBox$1(this,t.PositionAndShape),this.graphicalNoteLength=i||e.Length,this.numberOfDots=this.calculateNumberOfNeededDots(this.graphicalNoteLength),this.rules=n,this.rules.addGraphicalNoteToNoteMap(e,this)}Transpose(e,t,n,i){let r=this.sourceNote.Pitch;return MusicSheetCalculator.transposeCalculator&&(r=MusicSheetCalculator.transposeCalculator.transposePitch(this.sourceNote.Pitch,e,n)),r}calculateNumberOfNeededDots(e){return this.sourceNote&&this.sourceNote.NoteTuplet?0:e.calculateNumberOfNeededDots()}get ParentMusicPage(){return this.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentMusicSystem.Parent}static FromNote(e,t){return t.NoteToGraphicalNoteMap.getValue(e.NoteToGraphicalNoteObjectId)}ToStringShort(e=0){var t;return null===(t=this.sourceNote)||void 0===t?void 0:t.ToStringShort(e)}get ToStringShortGet(){return this.ToStringShort(0)}}const _EngravingRules=class{constructor(){this.DYSlursStartingAtSameStaffEntryYOffset=0,this.DYMinNoteWidth=0,this.DYWorkId=0,this.DYWorkSpecial=!1,this.DYContainerId="osmdCanvasPage",this.DYSVGContainerId="osmdSvgPage",this.DYMusicScoreType="staff",this.DYMusicScoreId="",this.DYMusicClientType="",this.NoteDistances=[1,1,1.3,1.6,2,2.5,3,4],this.NoteDistancesScalingFactors=[1,2,4,8,16,32,64,128],this.DurationDistanceDict={},this.DurationScalingDistanceDict={},this.NoteToGraphicalNoteMapObjectCount=0,this.RenderCount=0,this.PlayAlreadyStartedNotesFromCursorPosition=!1,this.PlaybackSkipNotesSafetyInterval=.02,this.UseDefaultVoiceInteractionListener=!0,this.LimitCursorPositionToCurrentMeasure=!0,this.loadDefaultValues()}loadDefaultValues(){this.SamplingUnit=3*_EngravingRules.unit,this.MpatMode=!0,this.SheetTitleHeight=4,this.SheetSubtitleHeight=2,this.SheetMinimumDistanceBetweenTitleAndSubtitle=1,this.SheetComposerHeight=2,this.SheetAuthorHeight=2,this.SheetCopyrightHeight=1.5,this.SheetCopyrightMargin=2,this.SheetComposerSubtitleUseLegacyParsing=!1,this.CompactMode=!1,this.PagePlacementEnum=PagePlacementEnum.Down,this.PageHeight=100001,this.PageTopMargin=5,this.PageTopMarginNarrow=0,this.PageBottomMargin=5,this.PageLeftMargin=5,this.PageRightMargin=5,this.TitleTopDistance=5,this.TitleBottomDistance=1,this.StaffDistance=7,this.BetweenStaffDistance=5,this.MinimumStaffLineDistance=4,this.MinSkyBottomDistBetweenStaves=1,this.StaffHeight=4,this.TabStaffInterlineHeight=1.1111,this.BetweenStaffLinesDistance=_EngravingRules.unit,this.SystemLeftMargin=0,this.SystemRightMargin=0,this.SystemLabelsRightMargin=2,this.SystemComposerDistance=2,this.SystemLyricistDistance=2,this.InstrumentLabelTextHeight=2,this.MinimumDistanceBetweenSystems=7,this.MinSkyBottomDistBetweenSystems=5,this.LastSystemMaxScalingFactor=1.4,this.AutoBeamNotes=!1,this.AutoBeamOptions={beam_middle_rests_only:!1,beam_rests:!1,maintain_stem_directions:!1},this.AutoBeamTabs=!1,this.BeamWidth=_EngravingRules.unit/2,this.BeamSpaceWidth=_EngravingRules.unit/3,this.BeamForwardLength=1.25*_EngravingRules.unit,this.FlatBeams=!1,this.FlatBeamOffset=20,this.FlatBeamOffsetPerBeam=10,this.ClefLeftMargin=.5,this.ClefRightMargin=.75,this.PercussionOneLineCutoff=3,this.PercussionForceVoicesOneLineCutoff=1,this.PercussionUseXMLDisplayStep=!0,this.PercussionXMLDisplayStepNoteValueShift=0,this.PercussionOneLineXMLDisplayStepOctaveOffset=0,this.PercussionUseCajon2NoteSystem=!1,this.BetweenKeySymbolsDistance=.2,this.KeyRightMargin=.75,this.RhythmRightMargin=1.25,this.ShowRhythmAgainAfterPartEndOrFinalBarline=!0,this.NewPartAndSystemAfterFinalBarline=!1,this.InStaffClefScalingFactor=.8,this.DistanceBetweenNaturalAndSymbolWhenCancelling=.4,this.NoteHelperLinesOffset=.25,this.MeasureLeftMargin=.7,this.MeasureRightMargin=0,this.DistanceBetweenLastInstructionAndRepetitionBarline=1,this.ArpeggioDistance=.6,this.StaccatoShorteningFactor=2,this.IdealStemLength=3,this.StemNoteHeadBorderYOffset=.2,this.StemMargin=.2,this.StemMinLength=2.5,this.StemMaxLength=4.5,this.BeamSlopeMaxAngle=10,this.StemMinAllowedDistanceBetweenNoteHeadAndBeamLine=1,this.SetWantedStemDirectionByXml=!0,this.GraceNoteScalingFactor=.6,this.GraceNoteXOffset=.2,this.GraceNoteGroupXMargin=0,this.WedgeOpeningLength=1.2,this.WedgeMeasureEndOpeningLength=.75,this.WedgeMeasureBeginOpeningLength=.75,this.WedgePlacementAboveY=-1.5,this.WedgePlacementBelowY=1.5,this.WedgeHorizontalMargin=.6,this.WedgeVerticalMargin=.5,this.DistanceOffsetBetweenTwoHorizontallyCrossedWedges=.3,this.WedgeMinLength=2,this.WedgeEndDistanceBetweenTimestampsFactor=1.75,this.SoftAccentWedgePadding=.4,this.SoftAccentSizeFactor=.6,this.DistanceBetweenAdjacentDynamics=.75,this.TempoChangeMeasureValidity=4,this.TempoContinousFactor=.7,this.StaccatoScalingFactor=.8,this.BetweenDotsDistance=.8,this.OrnamentAccidentalScalingFactor=.65,this.ChordSymbolTextHeight=2,this.ChordSymbolTextAlignment=TextAlignmentEnum.LeftBottom,this.ChordSymbolRelativeXOffset=-1,this.ChordSymbolExtraXShiftForShortChordSymbols=.3,this.ChordSymbolExtraXShiftWidthThreshold=2,this.ChordSymbolXSpacing=1,this.ChordOverlapAllowedIntoNextMeasure=0,this.ChordSymbolYOffset=.1,this.ChordSymbolYPadding=0,this.ChordSymbolYAlignment=!0,this.ChordSymbolYAlignmentScope="staffline",this.ChordSymbolWholeMeasureRestXOffset=0,this.ChordSymbolWholeMeasureRestXOffsetMeasure1=-2,this.ChordAccidentalTexts=new Dictionary,this.resetChordAccidentalTexts(this.ChordAccidentalTexts,!1),this.ChordSymbolLabelTexts=new Dictionary,this.resetChordSymbolLabelTexts(this.ChordSymbolLabelTexts),this.CustomChords=[],this.resetChordNames(),this.RepetitionSymbolsYOffset=0,this.RepetitionEndInstructionXShiftAsPercentOfStaveWidth=.4,this.RehearsalMarkXOffsetDefault=10,this.RehearsalMarkXOffset=0,this.RehearsalMarkXOffsetSystemStartMeasure=-20,this.RehearsalMarkYOffsetDefault=-15,this.RehearsalMarkYOffset=0,this.RehearsalMarkFontSize=10,this.MeasureNumberLabelHeight=1.5*_EngravingRules.unit,this.MeasureNumberLabelOffset=2,this.MeasureNumberLabelXOffset=-.5,this.TupletsRatioed=!1,this.TupletsBracketed=!1,this.TripletsBracketed=!1,this.TupletsBracketedUseXMLValue=!0,this.TupletNumberLabelHeight=1.5*_EngravingRules.unit,this.TupletNumberYOffset=.5,this.TupletNumberLimitConsecutiveRepetitions=!0,this.TupletNumberMaxConsecutiveRepetitions=2,this.TupletNumberAlwaysDisableAfterFirstMax=!0,this.TupletNumberUseShowNoneXMLValue=!0,this.LabelMarginBorderFactor=.1,this.TupletVerticalLineLength=.5,this.TupletNumbersInTabs=!0,this.TabTupletYOffsetBottom=1,this.TabTupletYOffsetTop=-3.5,this.TabTupletYOffsetEffects=1.5,this.TabTupletsBracketed=!0,this.TabBeamsRendered=!0,this.TabKeySignatureRendered=!1,this.TabKeySignatureSpacingAdded=!0,this.TabTimeSignatureRendered=!1,this.TabTimeSignatureSpacingAdded=!0,this.TabFingeringsRendered=!1,this.SlurPlacementFromXML=!0,this.SlurPlacementAtStems=!1,this.SlurPlacementUseSkyBottomLine=!1,this.BezierCurveStepSize=1e3,this.calculateCurveParametersArrays(),this.TieGhostObjectWidth=.75,this.TieYPositionOffsetFactor=.3,this.MinimumNeededXspaceForTieGhostObject=1,this.TieHeightMinimum=.28,this.TieHeightMaximum=1.2,this.TieHeightInterpolationK=.0288,this.TieHeightInterpolationD=.136,this.SlurNoteHeadYOffset=.5,this.SlurEndArticulationYOffset=.8,this.SlurStartArticulationYOffsetOfArticulation=.5,this.SlurStemXOffset=.3,this.SlurSlopeMaxAngle=15,this.SlurTangentMinAngle=30,this.SlurTangentMaxAngle=80,this.SlurHeightFactor=1,this.SlurHeightFlattenLongSlursFactorByWidth=.24,this.SlurHeightFlattenLongSlursFactorByAngle=.36,this.SlurHeightFlattenLongSlursCutoffAngle=47,this.SlurHeightFlattenLongSlursCutoffWidth=16,this.SlursStartingAtSameStaffEntryYOffset=.8,this.SlurMaximumYControlPointDistance=void 0,this.GlissandoNoteOffset=.5,this.GlissandoStafflineStartMinimumWidth=1,this.GlissandoStafflineStartYDistanceToNote=.8,this.GlissandoStafflineEndOffset=1,this.GlissandoDefaultWidth=.1,this.RepetitionAllowFirstMeasureBeginningRepeatBarline=!1,this.RepetitionEndingLabelHeight=2,this.RepetitionEndingLabelXOffset=.5,this.RepetitionEndingLabelYOffset=.3,this.RepetitionEndingLineYLowerOffset=.5,this.RepetitionEndingLineYUpperOffset=.3,this.VoltaOffset=2.5,this.LyricsAlignmentStandard=TextAlignmentEnum.LeftBottom,this.LyricsHeight=2,this.LyricsYOffsetToStaffHeight=0,this.LyricsYMarginToBottomLine=.2,this.LyricsExtraXShiftForShortLyrics=.5,this.LyricsExtraXShiftForShortLyricsWidthThreshold=1.4,this.LyricsUseXPaddingForLongLyrics=!0,this.LyricsXPaddingFactorForLongLyrics=1,this.LyricsXPaddingWidthThreshold=1.7,this.LyricsXPaddingReductionForLongNotes=.7,this.LyricsXPaddingReductionForLastNoteInMeasure=1.2,this.LyricsXPaddingForLastNoteInMeasure=!0,this.VerticalBetweenLyricsDistance=.5,this.HorizontalBetweenLyricsDistance=.2,this.BetweenSyllableMaximumDistance=10,this.BetweenSyllableMinimumDistance=.5,this.LyricOverlapAllowedIntoNextMeasure=3.4,this.MinimumDistanceBetweenDashes=10,this.MaximumLyricsElongationFactor=2.5,this.TempoYSpacing=.5,this.InstantaneousTempoTextHeight=2.3,this.ContinuousDynamicTextHeight=2.3,this.MoodTextHeight=2.3,this.UnknownTextHeight=2,this.ContinuousTempoTextHeight=2.3,this.DynamicExpressionMaxDistance=2,this.DynamicExpressionSpacer=.5,this.IgnoreRepeatedDynamics=!1,this.ExpressionsUseXMLColor=!0,this.VexFlowDefaultNotationFontScale=39,this.VexFlowDefaultTabFontScale=39,this.TremoloStrokeScale=1,this.TremoloYSpacingScale=1,this.TremoloBuzzRollThickness=.25,this.StemWidth=.15,this.StaffLineWidth=.1,this.StaffLineColor=void 0,this.LedgerLineWidth=1,this.LedgerLineStrokeStyle=void 0,this.LedgerLineColorDefault="#000000",this.WedgeLineWidth=.12,this.TupletLineWidth=.12,this.LyricUnderscoreLineWidth=.12,this.SystemThinLineWidth=.12,this.SystemBoldLineWidth=_EngravingRules.unit/2,this.SystemRepetitionEndingLineWidth=.12,this.SystemDotWidth=_EngravingRules.unit/2,this.DistanceBetweenVerticalSystemLines=.35,this.DistanceBetweenDotAndLine=.7,this.RepeatEndStartPadding=2,this.OctaveShiftLineWidth=.12,this.OctaveShiftVerticalLineLength=_EngravingRules.unit,this.OctaveShiftOnWholeMeasureNoteUntilEndOfMeasure=!1,this.GraceLineWidth=this.StaffLineWidth*this.GraceNoteScalingFactor,this.MultipleRestMeasureDefaultWidth=4,this.MultipleRestMeasureAddKeySignature=!0,this.FixedMeasureWidth=!1,this.FixedMeasureWidthFixedValue=void 0,this.FixedMeasureWidthUseForPickupMeasures=!1,this.MinimumCrossedBeamDifferenceMargin=1e-4,this.SheetMaximumWidth=32767,this.VoiceSpacingMultiplierVexflow=.85,this.VoiceSpacingAddendVexflow=3,this.PickupMeasureWidthMultiplier=1,this.PickupMeasureRepetitionSpacing=.8,this.PickupMeasureSpacingSingleNoteAddend=1.6,this.DisplacedNoteMargin=.1,this.MinNoteDistance=2,this.SubMeasureXSpacingThreshold=35,this.MeasureDynamicsMaxScalingFactor=2.5,this.WholeRestXShiftVexflow=-1.5,this.MetronomeMarksDrawn=!0,this.MetronomeMarkXShift=-6,this.MetronomeMarkYShift=-1,this.SoftmaxFactorVexFlow=15,this.StaggerSameWholeNotes=!0,this.AlignRests=AlignRestOption.Never,this.RestCollisionYPadding=0,this.FillEmptyMeasuresWithWholeRest=FillEmptyMeasuresWithWholeRests.No,this.ArpeggiosGoAcrossVoices=!1,this.RenderArpeggios=!0,this.RenderSlurs=!0,this.RenderGlissandi=!0,this.ColoringMode=ColoringModes.XML,this.ColoringEnabled=!0,this.ColorStemsLikeNoteheads=!1,this.ColorBeams=!0,this.ColorFlags=!0,this.applyDefaultColorMusic("#000000"),this.DefaultColorCursor="#33e02f",this.DefaultFontFamily="Times New Roman",this.DefaultFontStyle=FontStyles.Regular,this.DefaultVexFlowNoteFont="gonville",this.MaxMeasureToDrawIndex=Number.MAX_VALUE,this.MinMeasureToDrawIndex=0,this.MaxSystemToDrawNumber=Number.MAX_VALUE,this.MaxPageToDrawNumber=Number.MAX_VALUE,this.RenderComposer=!0,this.RenderTitle=!0,this.RenderSubtitle=!0,this.RenderLyricist=!0,this.RenderCopyright=!1,this.RenderPartNames=!0,this.RenderPartAbbreviations=!0,this.RenderSystemLabelsAfterFirstPage=!0,this.RenderFingerings=!0,this.RenderMeasureNumbers=!0,this.RenderMeasureNumbersOnlyAtSystemStart=!1,this.UseXMLMeasureNumbers=!0,this.RenderLyrics=!0,this.RenderChordSymbols=!0,this.RenderMultipleRestMeasures=!0,this.AutoGenerateMultipleRestMeasuresFromRestMeasures=!0,this.RenderRehearsalMarks=!0,this.RenderClefsAtBeginningOfStaffline=!0,this.RenderKeySignatures=!0,this.RenderTimeSignatures=!0,this.RenderPedals=!0,this.RenderWavyLines=!0,this.ArticulationPlacementFromXML=!0,this.BreathMarkDistance=.8,this.FingeringPosition=PlacementEnum.AboveOrBelow,this.FingeringPositionFromXML=!0,this.FingeringPositionGrace=PlacementEnum.Left,this.FingeringInsideStafflines=!1,this.FingeringLabelFontHeight=1.7,this.FingeringOffsetX=0,this.FingeringOffsetY=0,this.FingeringPaddingY=-.2,this.FingeringTextSize=1.5,this.RenderStringNumbersClassical=!0,this.StringNumberOffsetY=0,this.NewSystemAtXMLNewSystemAttribute=!1,this.NewPageAtXMLNewPageAttribute=!1,this.NewSystemAtXMLNewPageAttribute=!1,this.RestoreCursorAfterRerender=!0,this.StretchLastSystemLine=!1,this.IgnoreBracketsWords=!0,this.PlaceWordsInsideStafflineFromXml=!1,this.PlaceWordsInsideStafflineYOffset=.9,this.UseJustifiedBuilder=!0,this.PageFormat=PageFormat.UndefinedPageFormat,this.PageBackgroundColor=void 0,this.PerformanceMode=!1,this.RenderSingleHorizontalStaffline=!1,this.SpacingBetweenTextLines=0,this.NoteToGraphicalNoteMap=new Dictionary,this.NoteToGraphicalNoteMapObjectCount=0,this.SkyBottomLineBatchMinMeasures=5,this.SkyBottomLineWebGLMinMeasures=80,this.AlwaysSetPreferredSkyBottomLineBackendAutomatically=!0,this.DisableWebGLInFirefox=!0,this.DisableWebGLInSafariAndIOS=!0,this.setPreferredSkyBottomLineBackendAutomatically();try{this.MaxInstructionsConstValue=this.ClefLeftMargin+this.ClefRightMargin+this.KeyRightMargin+this.RhythmRightMargin+11}catch(e){loglevelExports.info("EngravingRules()",e)}this.MpatMode&&(this.NewPartAndSystemAfterFinalBarline=!0)}setPreferredSkyBottomLineBackendAutomatically(e=-1){let t="",n="";var i,r,o,s;"object"==typeof globalThis&&(t=null!==(i=null===(r=globalThis.navigator)||void 0===r?void 0:r.vendor)&&void 0!==i?i:"",n=null!==(o=null===(s=globalThis.navigator)||void 0===s?void 0:s.userAgent)&&void 0!==o?o:"");let a=!1;(this.DisableWebGLInSafariAndIOS&&/apple/i.test(t)||this.DisableWebGLInFirefox&&n.includes("Firefox"))&&(a=!0),this.PreferredSkyBottomLineBatchCalculatorBackend=SkyBottomLineBatchCalculatorBackendType.Plain,a||e>=this.SkyBottomLineWebGLMinMeasures&&(this.PreferredSkyBottomLineBatchCalculatorBackend=SkyBottomLineBatchCalculatorBackendType.WebGL)}applyDefaultColorMusic(e){this.DefaultColorMusic=e,this.DefaultColorNotehead=e,this.DefaultColorRest=e,this.DefaultColorStem=e,this.DefaultColorLabel=e,this.DefaultColorLyrics=e,this.DefaultColorTitle=e,this.LedgerLineColorDefault=e}addGraphicalNoteToNoteMap(e,t){e.NoteToGraphicalNoteObjectId=this.NoteToGraphicalNoteMapObjectCount,this.NoteToGraphicalNoteMap.setValue(e.NoteToGraphicalNoteObjectId,t),this.NoteToGraphicalNoteMapObjectCount++}GNote(e){return GraphicalNote.FromNote(e,this)}clearMusicSheetObjects(){this.NoteToGraphicalNoteMap=new Dictionary,this.NoteToGraphicalNoteMapObjectCount=0}resetChordAccidentalTexts(e,t){e.setValue(AccidentalEnum.SHARP,t?"♯":"#"),e.setValue(AccidentalEnum.FLAT,t?"♭":"b"),e.setValue(AccidentalEnum.DOUBLEFLAT,t?"𝄫":"bb"),e.setValue(AccidentalEnum.DOUBLESHARP,t?"𝄪":"x")}setChordSymbolLabelText(e,t){this.ChordSymbolLabelTexts.setValue(e,t)}resetChordSymbolLabelTexts(e){return e.setValue(ChordSymbolEnum.minor,"m"),e.setValue(ChordSymbolEnum.augmented,"aug"),e.setValue(ChordSymbolEnum.diminished,"dim"),e.setValue(ChordSymbolEnum.dominant,"7"),e.setValue(ChordSymbolEnum.majorseventh,"maj7"),e.setValue(ChordSymbolEnum.minorseventh,"m7"),e.setValue(ChordSymbolEnum.diminishedseventh,"dim7"),e.setValue(ChordSymbolEnum.augmentedseventh,"aug7"),e.setValue(ChordSymbolEnum.halfdiminished,`m7${this.ChordAccidentalTexts.getValue(AccidentalEnum.FLAT)}5`),e.setValue(ChordSymbolEnum.majorminor,"m(maj7)"),e.setValue(ChordSymbolEnum.majorsixth,"maj6"),e.setValue(ChordSymbolEnum.minorsixth,"m6"),e.setValue(ChordSymbolEnum.dominantninth,"9"),e.setValue(ChordSymbolEnum.majorninth,"maj9"),e.setValue(ChordSymbolEnum.minorninth,"m9"),e.setValue(ChordSymbolEnum.dominant11th,"11"),e.setValue(ChordSymbolEnum.major11th,"maj11"),e.setValue(ChordSymbolEnum.minor11th,"m11"),e.setValue(ChordSymbolEnum.dominant13th,"13"),e.setValue(ChordSymbolEnum.major13th,"maj13"),e.setValue(ChordSymbolEnum.minor13th,"m13"),e.setValue(ChordSymbolEnum.suspendedsecond,"sus2"),e.setValue(ChordSymbolEnum.suspendedfourth,"sus4"),e.setValue(ChordSymbolEnum.power,"5"),e.setValue(ChordSymbolEnum.none,"N.C."),e}addChordName(e,t,n,i,r){if(void 0!==ChordSymbolEnum[t]){const o={adds:n,alts:i,subs:r};this.CustomChords.push(CustomChord.createCustomChord(e,ChordSymbolEnum[t],o))}}renameChord(e,t){CustomChord.renameCustomChord(e,t,this.CustomChords)}resetChordNames(){const e=this.ChordAccidentalTexts.getValue(AccidentalEnum.SHARP),t=this.ChordAccidentalTexts.getValue(AccidentalEnum.FLAT);this.addChordName("alt","major",[`${e}5`,`${t}9`,`${e}9`],[`${t}5`],[]),this.addChordName("7alt","dominant",[`${e}5`,`${t}9`,`${e}9`],[`${t}5`],[]),this.addChordName("7sus4","dominant",["4"],[],["3"]),this.addChordName("7sus4","suspendedfourth",["7"],[],[]),this.addChordName("9sus4","dominantninth",["4"],[],["3"]),this.addChordName("9sus4","suspendedfourth",["9"],[],[]),this.addChordName("11sus4","dominant11th",["4"],[],["3"]),this.addChordName("11sus4","suspendedfourth",["11"],[],[]),this.addChordName("13sus4","dominant13th",["4"],[],["3"]),this.addChordName("13sus4","suspendedfourth",["13"],[],[]),this.addChordName("7sus2","dominant",["2"],[],["3"]),this.addChordName("7sus2","suspendedsecond",["7"],[],[]),this.addChordName(`m7${t}5`,"minorseventh",[],[`${t}5`],[]),this.addChordName("9sus2","dominantninth",["2"],[],["3"]),this.addChordName("9sus2","suspendedsecond",["9"],[],[]),this.addChordName("11sus2","dominant11th",["2"],[],["3"]),this.addChordName("11sus2","suspendedsecond",["11"],[],[]),this.addChordName("13sus2","dominant13th",["2"],[],["3"]),this.addChordName("13sus2","suspendedsecond",["13"],[],[]),this.addChordName("m(maj9)","majorminor",["9"],[],[]),this.addChordName("m(maj11)","majorminor",["11"],[],[]),this.addChordName("m(maj13)","majorminor",["13"],[],[]),this.addChordName("69","majorsixth",["9"],[],[]),this.addChordName("mi69","minorsixth",["9"],[],[])}calculateCurveParametersArrays(){this.TPower3=new Array(this.BezierCurveStepSize),this.OneMinusTPower3=new Array(this.BezierCurveStepSize),this.FactorOne=new Array(this.BezierCurveStepSize),this.FactorTwo=new Array(this.BezierCurveStepSize);for(let e=0;e<this.BezierCurveStepSize;e++){const t=e/this.BezierCurveStepSize;this.TPower3[e]=Math.pow(t,3),this.OneMinusTPower3[e]=Math.pow(1-t,3),this.FactorOne[e]=3*Math.pow(1-t,2)*t,this.FactorTwo[e]=3*(1-t)*Math.pow(t,2)}}};let EngravingRules=_EngravingRules;EngravingRules.unit=1;class PageFormat{constructor(e,t,n="noIdStringGiven"){this.width=e,this.height=t,this.idString=n}get aspectRatio(){return this.IsUndefined?0:this.width/this.height}get IsUndefined(){return void 0===this.width||void 0===this.height||0===this.height||0===this.width}static get UndefinedPageFormat(){return new PageFormat(0,0)}Equals(e){return!!e&&(e.width===this.width&&e.height===this.height)}}class GraphicalVoiceEntry extends GraphicalObject{constructor(e,t,n){super(),this.parentVoiceEntry=e,this.parentStaffEntry=t,this.PositionAndShape=new BoundingBox$1(this,t?t.PositionAndShape:void 0,!0),this.notes=[],this.rules=n||(t?t.parentMeasure.parentSourceMeasure.Rules:new EngravingRules)}sort(){return this.notes.sort(((e,t)=>{var n,i,r,o;return(null!==(n=null===(i=t.sourceNote.Pitch)||void 0===i?void 0:i.getHalfTone())&&void 0!==n?n:0)-(null!==(r=null===(o=e.sourceNote.Pitch)||void 0===o?void 0:o.getHalfTone())&&void 0!==r?r:0)})),this.notes}sortForVexflow(){return this.notes.sort(((e,t)=>{var n,i,r;return(null!==(n=null===(i=e.sourceNote.Pitch)||void 0===i?void 0:i.getHalfTone())&&void 0!==n?n:0)-(null!==(r=t.sourceNote.Pitch.getHalfTone())&&void 0!==r?r:0)})),this.notes}color(){}}class GraphicalMusicSheet{constructor(e,t){this.musicPages=[],this.measureList=[],this.verticalGraphicalStaffEntryContainers=[],this.cursors=[],this.leadSheet=!1,this.musicSheet=e,this.numberOfStaves=this.musicSheet.Staves.length,this.calculator=t,this.calculator.initialize(this)}get ParentMusicSheet(){return this.musicSheet}get GetCalculator(){return this.calculator}get JianpuKeySignature(){return this.jianpuKeySignature}set JianpuKeySignature(e){this.jianpuKeySignature=e}get MusicPages(){return this.musicPages}set MusicPages(e){this.musicPages=e}get MeasureList(){return this.measureList}set MeasureList(e){this.measureList=e}get VerticalGraphicalStaffEntryContainers(){return this.verticalGraphicalStaffEntryContainers}set VerticalGraphicalStaffEntryContainers(e){this.verticalGraphicalStaffEntryContainers=e}get Title(){return this.title}set Title(e){this.title=e}get Subtitle(){return this.subtitle}set Subtitle(e){this.subtitle=e}get Composer(){return this.composer}set Composer(e){this.composer=e}get Lyricist(){return this.lyricist}set Lyricist(e){this.lyricist=e}get Copyright(){return this.copyright}set Copyright(e){this.copyright=e}get Cursors(){return this.cursors}get SelectionStartSymbol(){return this.selectionStartSymbol}get SelectionEndSymbol(){return this.selectionEndSymbol}get MinAllowedSystemWidth(){return this.minAllowedSystemWidth}set MinAllowedSystemWidth(e){this.minAllowedSystemWidth=e}get NumberOfStaves(){return this.numberOfStaves}get LeadSheet(){return this.leadSheet}set LeadSheet(e){this.leadSheet=e}static transformRelativeToAbsolutePosition(e){for(let t=0;t<e.MusicPages.length;t++){const n=e.MusicPages[t].setMusicPageAbsolutePosition(t,e.ParentMusicSheet.Rules);e.MusicPages[t].PositionAndShape.calculateAbsolutePositionsRecursive(n.x,n.y)}}Initialize(){this.verticalGraphicalStaffEntryContainers=[],this.musicPages=[],this.measureList=[]}reCalculate(){this.calculator.calculate()}EnforceRedrawOfMusicSystems(){for(let e=0,t=this.musicPages.length;e<t;++e){const t=this.musicPages[e];for(let e=0,n=t.MusicSystems.length;e<n;++e){t.MusicSystems[e].needsToBeRedrawn=!0}}}getClickedObject(e){for(let t=0,n=this.MusicPages.length;t<n;++t){return this.MusicPages[t].PositionAndShape.getClickedObjectOfType(e)}}findGraphicalMeasure(e,t){for(let i=e;i>=0;i--){var n;const e=null===(n=this.measureList[i])||void 0===n?void 0:n[t];if(e)return e}}findGraphicalStaffEntryFromMeasureList(e,t,n){for(let i=t;i<this.measureList.length;i++){const t=this.measureList[i][e];if(t)for(let e=0,i=t.staffEntries.length;e<i;++e){const i=t.staffEntries[e];if(i.sourceStaffEntry===n)return i}}}findNextGraphicalStaffEntry(e,t,n){const i=n.parentMeasure,r=i.staffEntries.indexOf(n);if(r<i.staffEntries.length-1)return i.staffEntries[r+1];if(t<this.measureList.length-1){const n=this.measureList[t+1][e];if(n.staffEntries.length>0)return n.staffEntries[0]}}getFirstVisibleMeasuresListFromIndices(e,t){const n=[],i=this.measureList[0].length;for(let r=e;r<=t;r++)for(let e=0;e<i;e++)if(this.measureList[r][e].isVisible()){n.push(this.measureList[r][e]);break}return n}orderMeasuresByStaffLine(e){const t=[];let n=[];t.push(n);for(let i=0;i<e.length;i++)0===i?n.push(e[0]):(e[i].ParentStaffLine===e[i-1].ParentStaffLine||(-1===t.indexOf(n)&&t.push(n),n=[],t.push(n)),n.push(e[i]));return t}initializeActiveClefs(){const e=[],t=this.musicSheet.getFirstSourceMeasure();if(t)for(let n=0;n<t.CompleteNumberOfStaves;n++){let i=new ClefInstruction;if(t.FirstInstructionsStaffEntries[n])for(let e=0,r=t.FirstInstructionsStaffEntries[n].Instructions.length;e<r;++e){const r=t.FirstInstructionsStaffEntries[n].Instructions[e];r instanceof ClefInstruction&&(i=r)}e.push(i)}return e}GetMainKey(){const e=this.musicSheet.getFirstSourceMeasure();if(e)for(let t=0;t<e.CompleteNumberOfStaves;t++)for(let n=0,i=e.FirstInstructionsStaffEntries[t].Instructions.length;n<i;++n){const i=e.FirstInstructionsStaffEntries[t].Instructions[n];if(i instanceof KeyInstruction)return i}}getOrCreateVerticalContainer(e){if(0===this.verticalGraphicalStaffEntryContainers.length||CollectionUtil.getLastElement(this.verticalGraphicalStaffEntryContainers).AbsoluteTimestamp.lt(e)){const t=new VerticalGraphicalStaffEntryContainer(this.numberOfStaves,e);return this.verticalGraphicalStaffEntryContainers.push(t),t}for(let t=this.verticalGraphicalStaffEntryContainers.length-1;t>=0;t--){if(this.verticalGraphicalStaffEntryContainers[t].AbsoluteTimestamp.lt(e)){const n=new VerticalGraphicalStaffEntryContainer(this.numberOfStaves,e);return this.verticalGraphicalStaffEntryContainers.splice(t+1,0,n),n}if(this.verticalGraphicalStaffEntryContainers[t].AbsoluteTimestamp.Equals(e))return this.verticalGraphicalStaffEntryContainers[t]}}GetVerticalContainerFromTimestamp(e,t=0){const n=CollectionUtil.binarySearch(this.verticalGraphicalStaffEntryContainers,new VerticalGraphicalStaffEntryContainer(0,e),VerticalGraphicalStaffEntryContainer.compareByTimestamp,t);if(n>=0)return this.verticalGraphicalStaffEntryContainers[n]}GetInterpolatedIndexInVerticalContainers(e){const t=this.verticalGraphicalStaffEntryContainers;if(1===t.length)return 0;let n,i,r=0,o=t.length-1;if(e.lte(t[t.length-1].AbsoluteTimestamp)){for(;o-r>1;){const n=Math.floor((o+r)/2);if(t[r].AbsoluteTimestamp.Equals(e)){o=r;break}if(t[o].AbsoluteTimestamp.Equals(e)){r=o;break}if(t[n].AbsoluteTimestamp.Equals(e))return this.verticalGraphicalStaffEntryContainers.indexOf(t[n]);e.lt(t[n].AbsoluteTimestamp)?o=n:r=n}if(r===o)return this.verticalGraphicalStaffEntryContainers.indexOf(t[r]);n=t[r].AbsoluteTimestamp,i=t[o].AbsoluteTimestamp}else n=t[t.length-1].AbsoluteTimestamp,i=Fraction$1.plus(this.getLongestStaffEntryDuration(t.length-1),n),o=t.length;const s=i.RealValue-n.RealValue,a=o-(i.RealValue-e.RealValue)/s;return Math.min(a,this.verticalGraphicalStaffEntryContainers.length-1)}getVisibleStavesIndicesFromSourceMeasure(e){const t=[],n=[];for(let i=0,r=e.length;i<r;++i){const n=e[i].ParentStaff.ParentInstrument;-1===t.indexOf(n)&&t.push(n)}for(let i=0,r=t.length;i<r;++i){const e=t[i],r=this.musicSheet.getGlobalStaffIndexOfFirstStaff(e);for(let t=0;t<e.Staves.length;t++)n.push(r+t)}return n}getGraphicalMeasureFromSourceMeasureAndIndex(e,t){for(let i=0;i<this.measureList.length;i++){var n;if((null===(n=this.measureList[i][0])||void 0===n?void 0:n.parentSourceMeasure)===e)return this.measureList[i][t]}}getLastGraphicalMeasureFromIndex(e,t=!0){let n=this.measureList.length-1;t&&(n=Math.min(n,this.musicSheet.Rules.MaxMeasureToDrawIndex));let i=this.measureList[n][e];for(;!i&&n>=0;)i=this.measureList[--n][e];return this.measureList[n][e]}getMeasureIndex(e,t,n){for(t=0;t<this.measureList.length;t++)for(let n=0,i=this.measureList[t].length;n<i;++n){if(this.measureList[t][n]===e)return!0}return!1}GetNearestGraphicalObject(e,t=GraphicalObject.name,n=5,i=20,r=5,o=undefined){const s=[];for(;0===s.length&&n<=i;){const i=new BoundingBox$1(void 0);i.BorderLeft=e.x-n,i.BorderTop=e.y-n,i.BorderRight=e.x+n,i.BorderBottom=e.y+n,i.AbsolutePosition=new PointF2D(e.x,e.y),i.calculateAbsolutePosition();for(let e=0,n=this.MusicPages.length;e<n;++e){const n=this.MusicPages[e].PositionAndShape.getObjectsInRegion(i,!1,t);if(n&&0!==n.length)for(let e=0,t=n.length;e<t;++e)o?o(n[e])&&s.push(n[e]):s.push(n[e])}n+=r}let a;for(let l=0,c=s.length;l<c;++l){const t=s[l];if(void 0===a)a=t;else{this.CalculateDistance(t.PositionAndShape.AbsolutePosition,e)<this.CalculateDistance(a.PositionAndShape.AbsolutePosition,e)&&(a=t)}}if(a)return a}GetNearestVoiceEntry(e){return this.GetNearestGraphicalObject(e,GraphicalVoiceEntry.name,5,20,5,(e=>{var t;return void 0!==(null===(t=e.parentStaffEntry)||void 0===t?void 0:t.relInMeasureTimestamp)}))}GetNearestNote(e,t){const n=this.GetNearestVoiceEntry(e);if(!n)return;let i,r=Number.MAX_SAFE_INTEGER;for(const o of n.notes){const t=o.PositionAndShape.AbsolutePosition.y,n=Math.abs(o.PositionAndShape.AbsolutePosition.x-e.x),s=Math.abs(t-e.y);n+s<r&&(i=o,r=n+s)}return i}domToSvg(e){return this.domToSvgTransform(e,!0)}svgToDom(e){return this.domToSvgTransform(e,!1)}svgToOsmd(e){const t=new PointF2D(e.x,e.y);return t.x/=10,t.y/=10,t}domToSvgTransform(e,t){const n=this.drawer.Backends[0].getSvgElement(),i=n.createSVGPoint();i.x=e.x,i.y=e.y;let r=n.getScreenCTM();t&&(r=r.inverse());const o=i.matrixTransform(r);return new PointF2D(o.x,o.y)}GetClickableLabel(e){const t=new BoundingBox$1;t.BorderLeft=e.x-4,t.BorderTop=e.y-4,t.BorderRight=e.x+4,t.BorderBottom=e.y+4,t.AbsolutePosition=new PointF2D(0,0);for(let n=0,i=this.MusicPages.length;n<i;++n){const e=this.MusicPages[n].PositionAndShape.getObjectsInRegion(t);if(1===e.length)for(let t=0,n=e.length;t<n;++t){return e[t]}}}GetPossibleCommentAnchor(e){const t=this.GetNearestVoiceEntry(e);if(t)return t.parentStaffEntry.sourceStaffEntry}GetClickedObjectOfType(e){for(let t=0,n=this.musicPages.length;t<n;++t){const n=this.musicPages[t].PositionAndShape.getClickedObjectOfType(e);if(n)return n}}GetClickedClickable(e){for(let t=0,n=this.musicPages.length;t<n;++t){const n=this.musicPages[t].PositionAndShape.getClickedClickable(e);if(n&&n instanceof Clickable)return n}}tryGetTimestampFromPosition(e){const t=this.GetClickedObjectOfType(e);if(t)return t.getAbsoluteTimestamp()}tryGetClickableLabel(e){try{return this.GetClickableLabel(e)}catch(t){loglevelExports.info("GraphicalMusicSheet.tryGetClickableObject","positionOnMusicSheet: "+e,t)}}tryGetTimeStampFromPosition(e){try{const t=this.GetNearestVoiceEntry(e);if(!t)return;return t.parentStaffEntry.getAbsoluteTimestamp()}catch(t){loglevelExports.info("GraphicalMusicSheet.tryGetTimeStampFromPosition","positionOnMusicSheet: "+e,t)}}getStaffEntry(e){const t=this.VerticalGraphicalStaffEntryContainers[e];let n;try{for(let e=0,i=t.StaffEntries.length;e<i;++e){const i=t.StaffEntries[e];i&&i.sourceStaffEntry.ParentStaff.ParentInstrument.Visible&&(n?i.PositionAndShape&&n.PositionAndShape&&n.PositionAndShape.RelativePosition.x>i.PositionAndShape.RelativePosition.x&&(n=i):n=i)}}catch(i){loglevelExports.info("GraphicalMusicSheet.getStaffEntry",i)}return n}GetPreviousVisibleContainerIndex(e){for(let t=e-1;t>=0;t--){const e=this.verticalGraphicalStaffEntryContainers[t].StaffEntries;for(let n=0,i=e.length;n<i;++n){const i=e[n];if(i&&i.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return t}}return-1}GetNextVisibleContainerIndex(e){for(let t=e+1;t<this.verticalGraphicalStaffEntryContainers.length;++t){const e=this.verticalGraphicalStaffEntryContainers[t].StaffEntries;for(let n=0,i=e.length;n<i;++n){const i=e[n];if(i&&i.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return t}}return-1}findClosestLeftStaffEntry(e,t){let n,i=Math.floor(e);i=Math.min(this.VerticalGraphicalStaffEntryContainers.length-1,i);for(let r=i;r>=0;r--)if(n=this.getStaffEntry(r),n){if(!t)return n;if(n.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return n}}findClosestRightStaffEntry(e,t){let n;for(let i=Math.max(0,Math.ceil(e));i<this.VerticalGraphicalStaffEntryContainers.length;i++)if(n=this.getStaffEntry(i),n){if(!t)return n;if(n.sourceStaffEntry.ParentStaff.ParentInstrument.Visible)return n}}calculateCursorLineAtTimestamp(e,t){const n=this.calculateXPositionFromTimestamp(e),i=n[0],r=n[1];if(!r||0===r.StaffLines.length)return;const o=r.PositionAndShape.AbsolutePosition.y,s=CollectionUtil.last(r.StaffLines).PositionAndShape.RelativePosition.y+4;return new GraphicalLine(new PointF2D(i,o),new PointF2D(i,o+s),3,t)}calculateXPositionFromTimestamp(e){let t;const n=this.GetInterpolatedIndexInVerticalContainers(e),i=this.findClosestLeftStaffEntry(n,!0),r=this.findClosestRightStaffEntry(n,!0),o=e.RealValue;if(!i&&!r)return[0,void 0,void 0];let s;var a,l;i?s=null===(a=i.parentMeasure.ParentStaffLine)||void 0===a?void 0:a.ParentMusicSystem:s=null===(l=r.parentMeasure.ParentStaffLine)||void 0===l?void 0:l.ParentMusicSystem;let c;var u,h;r?c=null===(u=r.parentMeasure.ParentStaffLine)||void 0===u?void 0:u.ParentMusicSystem:c=null===(h=i.parentMeasure.ParentStaffLine)||void 0===h?void 0:h.ParentMusicSystem;let d;if(s===c){var p;let e,n,a;t=s;let l=0;if(i)if(r){n=i.PositionAndShape.AbsolutePosition.x,a=r.PositionAndShape.AbsolutePosition.x,d=i.parentMeasure.parentSourceMeasure,e=i===r?0:(o-i.getAbsoluteTimestamp().RealValue)/(r.getAbsoluteTimestamp().RealValue-i.getAbsoluteTimestamp().RealValue);const t=i.parentMeasure,s=i.parentMeasure.parentSourceMeasure.multipleRestMeasures,c=t.MeasureNumber/(s+1),u=t.PositionAndShape.Size.width-t.beginInstructionsWidth;l=t.PositionAndShape.AbsolutePosition.x+t.beginInstructionsWidth+c*u}else n=i.PositionAndShape.AbsolutePosition.x,a=t.GetRightBorderAbsoluteXPosition(),d=i.parentMeasure.parentSourceMeasure,e=(o-i.getAbsoluteTimestamp().RealValue)/(Fraction$1.plus(d.AbsoluteTimestamp,d.Duration).RealValue-i.getAbsoluteTimestamp().RealValue);else n=a=r.PositionAndShape.AbsolutePosition.x,e=0;e=Math.min(1,Math.max(0,e));let c=a;if(null!==(p=d)&&void 0!==p&&p.Rules.LimitCursorPositionToCurrentMeasure&&(c=Math.min(i.parentMeasure.PositionAndShape.AbsolutePosition.x+i.parentMeasure.PositionAndShape.BorderRight,c)),l&&1===i.parentMeasure.MeasureNumber)return[l,t,i];return[n+e*(c-n),t,i]}{const e=r.parentMeasure.parentSourceMeasure.AbsoluteTimestamp.RealValue;let n,a;if(o<e){t=s;const r=i.PositionAndShape.AbsolutePosition.x,l=t.GetRightBorderAbsoluteXPosition();n=(o-i.getAbsoluteTimestamp().RealValue)/(e-i.getAbsoluteTimestamp().RealValue),n=Math.min(1,Math.max(0,n)),a=r+n*(l-r)}else{t=c;const i=r.PositionAndShape.AbsolutePosition.x,s=t.GetLeftBorderAbsoluteXPosition();n=(o-e)/(r.getAbsoluteTimestamp().RealValue-e),n=Math.min(1,Math.max(0,n)),a=s+n*(i-s)}return[a,t,i]}}calculateCursorPoints(e,t){if(void 0===t||0===t.StaffLines.length)return[new PointF2D,new PointF2D];const n=t.PositionAndShape.AbsolutePosition.y,i=t.StaffLines.last(),r=i.PositionAndShape.RelativePosition.y+i.StaffHeight;return[new PointF2D(e,n),new PointF2D(e,n+r)]}GetNumberOfVisibleInstruments(){let e=0;for(let t=0,n=this.musicSheet.Instruments.length;t<n;++t){!0===this.musicSheet.Instruments[t].Visible&&e++}return e}GetNumberOfFollowedInstruments(){let e=0;for(let t=0,n=this.musicSheet.Instruments.length;t<n;++t){!0===this.musicSheet.Instruments[t].Following&&e++}return e}GetGraphicalFromSourceStaffEntry(e){var t;if(null===(t=e.VerticalContainerParent.ParentMeasure)||void 0===t||!t.VerticalMeasureList)return;const n=e.VerticalContainerParent.ParentMeasure.VerticalMeasureList[e.ParentStaff.idInMusicSheet];return null==n?void 0:n.findGraphicalStaffEntryFromTimestamp(e.Timestamp)}CalculateDistance(e,t){const n=e.x-t.x,i=e.y-t.y;return n*n+i*i}getLongestStaffEntryDuration(e){let t=new Fraction$1(0,1);for(const n of this.verticalGraphicalStaffEntryContainers[e].StaffEntries){if(!n)continue;const e=n.findStaffEntryMaxNoteLength();t.lt(e)&&(t=e)}return t}}let Note$1=class{constructor(e,t,n,i,r,o){this.slurs=[],this.playbackInstrumentId=void 0,this.notehead=void 0,this.printObject=!0,this.voiceEntry=e,this.parentStaffEntry=t,this.length=n,this.pitch=i,this.sourceMeasure=r,this.isRestFlag=null!=o&&o,this.noteTremoloType="",this.glissandoType="",this.slideType="",this.halfTone=i?i.getHalfTone():0}get NoteAsString(){return this.pitch.toString()}ToStringShort(e=0){var t;return!this.Pitch||this.isRest()?"rest":null===(t=this.Pitch)||void 0===t?void 0:t.ToStringShort(e)}get ToStringShortGet(){return this.ToStringShort(0)}get TremoloType(){return this.noteTremoloType}set TremoloType(e){this.noteTremoloType=e}get ParentVoiceEntry(){return this.voiceEntry}set ParentVoiceEntry(e){this.voiceEntry=e}get ParentStaffEntry(){return this.parentStaffEntry}get ParentStaff(){return this.parentStaffEntry.ParentStaff}get Length(){return this.length}set PlaybackNote(e){this.playbackNote=e}get PlaybackNote(){return this.playbackNote}set Length(e){this.length=e}get SourceMeasure(){return this.sourceMeasure}get TypeLength(){return this.typeLength}set TypeLength(e){this.typeLength=e}get NoteTypeXml(){return this.noteTypeXml}set NoteTypeXml(e){this.noteTypeXml=e}get NormalNotes(){return this.normalNotes}set NormalNotes(e){this.normalNotes=e}get Pitch(){return this.pitch}get NoteBeam(){return this.beam}set NoteBeam(e){this.beam=e}set Notehead(e){this.notehead=e}get Notehead(){return this.notehead}get NoteTuplet(){return this.tuplet}set NoteTuplet(e){this.tuplet=e}get NoteGlissando(){return this.glissando}set NoteGlissando(e){this.glissando=e}get NoteTie(){return this.tie}set NoteTie(e){this.tie=e}get NoteSlurs(){return this.slurs}set NoteSlurs(e){this.slurs=e}get PlaybackInstrumentId(){return this.playbackInstrumentId}set PlaybackInstrumentId(e){this.playbackInstrumentId=e}get PrintObject(){return this.printObject}set PrintObject(e){this.printObject=e}get Arpeggio(){return this.arpeggio}set Arpeggio(e){this.arpeggio=e}get IsCueNote(){return this.isCueNote}set IsCueNote(e){this.isCueNote=e}get StemDirectionXml(){return this.stemDirectionXml}set StemDirectionXml(e){this.stemDirectionXml=e}get TremoloStrokes(){var e;return null===(e=this.TremoloInfo)||void 0===e?void 0:e.tremoloStrokes}get StemColorXml(){return this.stemColorXml}set StemColorXml(e){this.stemColorXml=e}get NoteheadColorXml(){return this.noteheadColorXml}set NoteheadColorXml(e){this.noteheadColorXml=e}get NoteheadColor(){return this.noteheadColor}set NoteheadColor(e){this.noteheadColor=e}get NoteheadColorCurrentlyRendered(){return this.noteheadColorCurrentlyRendered}set NoteheadColorCurrentlyRendered(e){this.noteheadColorCurrentlyRendered=e}isRest(){return this.isRestFlag}isWholeRest(){return this.isRest()&&this.Length.RealValue===this.sourceMeasure.ActiveTimeSignature.RealValue}isWholeMeasureNote(){return this.Length.RealValue===this.sourceMeasure.ActiveTimeSignature.RealValue}ToString(){return this.pitch?this.Pitch.ToString()+", length: "+this.length.toString():"rest note, length: "+this.length.toString()}getAbsoluteTimestamp(){return Fraction$1.plus(this.voiceEntry.Timestamp,this.sourceMeasure.AbsoluteTimestamp)}isDuplicateSlur(e){for(let t=0,n=this.slurs.length;t<n;++t){const n=this.slurs[t];if(void 0!==n.StartNote&&void 0!==n.EndNote&&void 0!==e.StartNote&&e.StartNote===n.StartNote&&n.EndNote===this&&e.PlacementXml===n.PlacementXml)return!0}return!1}hasTabEffects(){return!1}};class GraphicalMeasure extends GraphicalObject{constructor(e=undefined,t=undefined,n=undefined){super(),this.hasOnlyRests=!1,this.measureNumber=-1,this.ShowTimeSignature=!0,this.ShowKeySignature=!0,this.isTabMeasure=!1,this.parentStaff=e,this.parentSourceMeasure=t,this.parentStaffLine=n,n?(this.parentStaff=n.ParentStaff,this.PositionAndShape=new BoundingBox$1(this,n.PositionAndShape)):this.PositionAndShape=new BoundingBox$1(this),this.PositionAndShape.BorderBottom=4,this.parentSourceMeasure&&(this.measureNumber=this.parentSourceMeasure.MeasureNumber),this.staffEntries=[]}get ParentStaff(){return this.parentStaff}get ParentMusicSystem(){return this.parentMusicSystem}set ParentMusicSystem(e){this.parentMusicSystem=e}get MeasureNumber(){return this.measureNumber}get FirstInstructionStaffEntry(){return this.firstInstructionStaffEntry}set FirstInstructionStaffEntry(e){this.firstInstructionStaffEntry=e}get LastInstructionStaffEntry(){return this.lastInstructionStaffEntry}set LastInstructionStaffEntry(e){this.lastInstructionStaffEntry=e}get ParentStaffLine(){return this.parentStaffLine}set ParentStaffLine(e){this.parentStaffLine=e,this.parentStaffLine&&(this.PositionAndShape.Parent=this.parentStaffLine.PositionAndShape)}resetLayout(){throw new Error("not implemented")}getLineWidth(e){throw new Error("not implemented")}addClefAtBegin(e){throw new Error("not implemented")}addKeyAtBegin(e,t,n){throw new Error("not implemented")}addRhythmAtBegin(e){throw new Error("not implemented")}addClefAtEnd(e,t=!0){throw new Error("not implemented")}setPositionInStaffline(e){this.PositionAndShape.RelativePosition=new PointF2D(e,0)}setWidth(e){this.PositionAndShape.BorderRight=e}layoutSymbols(){throw new Error("not implemented")}findGraphicalStaffEntryFromTimestamp(e){for(let n=0,i=this.staffEntries.length;n<i;++n){var t;const i=this.staffEntries[n];if(null!==(t=i.relInMeasureTimestamp)&&void 0!==t&&t.Equals(e))return i}}findGraphicalStaffEntryFromVerticalContainerTimestamp(e){for(let t=0,n=this.staffEntries.length;t<n;++t){const n=this.staffEntries[t];if(n.sourceStaffEntry.VerticalContainerParent.getAbsoluteTimestamp().Equals(e))return n}}hasSameDurationWithSourceMeasureParent(){const e=new Fraction$1(0,1);for(let t=0,n=this.staffEntries.length;t<n;++t){const n=this.staffEntries[t];e.Add(n.findStaffEntryMinNoteLength())}return e.Equals(this.parentSourceMeasure.Duration)}hasMultipleVoices(){if(0===this.staffEntries.length)return!1;const e=[];for(let t=0,n=this.staffEntries.length;t<n;++t){const n=this.staffEntries[t];for(let t=0,i=n.sourceStaffEntry.VoiceEntries.length;t<i;++t){const i=n.sourceStaffEntry.VoiceEntries[t];e.indexOf(i.ParentVoice)<0&&e.push(i.ParentVoice)}}return e.length>1}isVisible(){return this.ParentStaff.ParentInstrument.Visible}getGraphicalMeasureDurationFromStaffEntries(){let e=new Fraction$1(0,1);const t=[];for(let n=0,i=this.staffEntries.length;n<i;++n){const e=this.staffEntries[n];for(let n=0,i=e.sourceStaffEntry.VoiceEntries.length;n<i;++n){const i=e.sourceStaffEntry.VoiceEntries[n];t.indexOf(i.ParentVoice)<0&&t.push(i.ParentVoice)}}for(let n=0,i=t.length;n<i;++n){const i=t[n],r=new Fraction$1(0,1);for(const e of this.staffEntries)for(const t of e.graphicalVoiceEntries)t.parentVoiceEntry.ParentVoice===i&&t.notes.length>0&&r.Add(t.notes[0].graphicalNoteLength);e.lt(r)&&(e=Fraction$1.createFromFraction(r))}return e}addGraphicalStaffEntry(e){this.staffEntries.push(e)}addGraphicalStaffEntryAtTimestamp(e){if(e)if(0===this.staffEntries.length||this.staffEntries[this.staffEntries.length-1].relInMeasureTimestamp.lt(e.relInMeasureTimestamp))this.staffEntries.push(e);else for(let t=this.staffEntries.length-1;t>=0;t--){if(this.staffEntries[t].relInMeasureTimestamp.lt(e.relInMeasureTimestamp)){this.staffEntries.splice(t+1,0,e);break}0===t&&this.staffEntries.splice(t,0,e)}}isPianoRightHand(){return this.isUpperStaffOfInstrument()}isPianoLeftHand(){return this.isLowerStaffOfInstrument()}isUpperStaffOfInstrument(){return 1===this.parentStaff.ParentInstrument.Staves.length||this.ParentStaff===this.parentStaff.ParentInstrument.Staves[0]}isLowerStaffOfInstrument(){return 1!==this.parentStaff.ParentInstrument.Staves.length&&this.ParentStaff===this.ParentStaff.ParentInstrument.Staves.last()}beginsWithLineRepetition(){const e=this.parentSourceMeasure;return!!e&&e.beginsWithLineRepetition()}endsWithLineRepetition(){const e=this.parentSourceMeasure;return!!e&&e.endsWithLineRepetition()}beginsWithWordRepetition(){const e=this.parentSourceMeasure;return!!e&&e.beginsWithWordRepetition()}endsWithWordRepetition(){const e=this.parentSourceMeasure;return!!e&&e.endsWithWordRepetition()}getTransposedHalftones(){return this.parentStaff.ParentInstrument.GetMusicSheet.Transpose+this.parentStaff.ParentInstrument.Transpose}}const Vex=()=>{};Vex.L=(e,t)=>{if(!t)return;const n=Array.prototype.slice.call(t).join(" ");window.console.log(e+": "+n)},Vex.MakeException=e=>class extends Error{constructor(t,n){super(t),this.name=e,this.message=t,this.data=n}};class RuntimeError{constructor(e,t){this.code=e,this.message=t}toString(){return"[RuntimeError] "+this.code+":"+this.message}}Vex.RuntimeError=RuntimeError,Vex.RERR=Vex.RuntimeError,Vex.Merge=(e,t)=>{for(const n in t)e[n]=t[n];return e},Vex.Min=Math.min,Vex.Max=Math.max,Vex.forEach=(e,t)=>{for(let n=0;n<e.length;n++)t(e[n],n)},Vex.RoundN=(e,t)=>e%t>=t/2?parseInt(e/t,10)*t+t:parseInt(e/t,10)*t,Vex.MidLine=(e,t)=>{let n=t+(e-t)/2;return n%2>0&&(n=Vex.RoundN(10*n,5)/10),n},Vex.SortAndUnique=(e,t,n)=>{if(e.length>1){const i=[];let r;e.sort(t);for(let t=0;t<e.length;++t)0!==t&&n(e[t],r)||i.push(e[t]),r=e[t];return i}return e},Vex.Contains=(e,t)=>{let n=e.length;for(;n--;)if(e[n]===t)return!0;return!1},Vex.getCanvasContext=e=>{if(!e)throw new Vex.RERR("BadArgument","Invalid canvas selector: "+e);const t=document.getElementById(e);if(!t||!t.getContext)throw new Vex.RERR("UnsupportedBrowserError","This browser does not support HTML5 Canvas");return t.getContext("2d")},Vex.drawDot=(e,t,n,i="#55")=>{e.save(),e.setFillStyle(i),e.beginPath(),e.arc(t,n,3,0,2*Math.PI,!0),e.closePath(),e.fill(),e.restore()},Vex.BM=(e,t)=>{const n=(new Date).getTime();t();const i=(new Date).getTime()-n;Vex.L(e+i+"ms")},Vex.StackTrace=()=>(new Error).stack,Vex.W=(...e)=>{const t=e.join(" ");window.console.log("Warning: ",t,Vex.StackTrace())},Vex.Prefix=e=>Vex.Prefix.prefix+e,Vex.Prefix.prefix="vf-";class Fraction{static GCD(e,t){if("number"!=typeof e||"number"!=typeof t)throw new Vex.RERR("BadArgument",`Invalid numbers: ${e}, ${t}`);let n;for(;0!==t;)n=t,t=e%t,e=n;return e}static LCM(e,t){return e*t/Fraction.GCD(e,t)}static LCMM(e){if(0===e.length)return 0;if(1===e.length)return e[0];if(2===e.length)return Fraction.LCM(e[0],e[1]);{const t=e[0];return e.shift(),Fraction.LCM(t,Fraction.LCMM(e))}}constructor(e,t){this.set(e,t)}set(e,t){return this.numerator=void 0===e?1:e,this.denominator=void 0===t?1:t,this}value(){return this.numerator/this.denominator}simplify(){let e=this.numerator,t=this.denominator;const n=Fraction.GCD(e,t);return e/=n,t/=n,t<0&&(t=-t,e=-e),this.set(e,t)}add(e,t){let n,i;e instanceof Fraction?(n=e.numerator,i=e.denominator):(n=void 0!==e?e:0,i=void 0!==t?t:1);const r=Fraction.LCM(this.denominator,i),o=r/this.denominator,s=r/i,a=this.numerator*o+n*s;return this.set(a,r)}subtract(e,t){let n,i;e instanceof Fraction?(n=e.numerator,i=e.denominator):(n=void 0!==e?e:0,i=void 0!==t?t:1);const r=Fraction.LCM(this.denominator,i),o=r/this.denominator,s=r/i,a=this.numerator*o-n*s;return this.set(a,r)}multiply(e,t){let n,i;return e instanceof Fraction?(n=e.numerator,i=e.denominator):(n=void 0!==e?e:1,i=void 0!==t?t:1),this.set(this.numerator*n,this.denominator*i)}divide(e,t){let n,i;return e instanceof Fraction?(n=e.numerator,i=e.denominator):(n=void 0!==e?e:1,i=void 0!==t?t:1),this.set(this.numerator*i,this.denominator*n)}equals(e){const t=Fraction.__compareA.copy(e).simplify(),n=Fraction.__compareB.copy(this).simplify();return t.numerator===n.numerator&&t.denominator===n.denominator}greaterThan(e){const t=Fraction.__compareB.copy(this);return t.subtract(e),t.numerator>0}greaterThanEquals(e){const t=Fraction.__compareB.copy(this);return t.subtract(e),t.numerator>=0}lessThan(e){return!this.greaterThanEquals(e)}lessThanEquals(e){return!this.greaterThan(e)}clone(){return new Fraction(this.numerator,this.denominator)}copy(e){return"number"==typeof e?this.set(e||0,1):this.set(e.numerator,e.denominator)}quotient(){return Math.floor(this.numerator/this.denominator)}fraction(){return this.numerator%this.denominator}abs(){return this.denominator=Math.abs(this.denominator),this.numerator=Math.abs(this.numerator),this}toString(){return this.numerator+"/"+this.denominator}toSimplifiedString(){return Fraction.__tmp.copy(this).simplify().toString()}toMixedString(){let e="";const t=this.quotient(),n=Fraction.__tmp.copy(this);return t<0?n.abs().fraction():n.fraction(),0!==t?(e+=t,0!==n.numerator&&(e+=" "+n.toSimplifiedString())):e=0===n.numerator?"0":n.toSimplifiedString(),e}parse(e){const t=e.split("/"),n=parseInt(t[0],10),i=t[1]?parseInt(t[1],10):1;return this.set(n,i)}}Fraction.__compareA=new Fraction,Fraction.__compareB=new Fraction,Fraction.__tmp=new Fraction;const X$3=Vex.MakeException("RegistryError");function setIndexValue(e,t,n,i,r){e[t][n]||(e[t][n]={}),e[t][n][i]=r}class Registry{static get INDEXES(){return["type"]}constructor(){this.clear()}static enableDefaultRegistry(e){Registry.defaultRegistry=e}static getDefaultRegistry(){return Registry.defaultRegistry}static disableDefaultRegistry(){Registry.defaultRegistry=null}clear(){return this.index={id:{},type:{},class:{}},this}updateIndex({id:e,name:t,value:n,oldValue:i}){const r=this.getElementById(e);null!==i&&this.index[t][i]&&delete this.index[t][i][e],null!==n&&setIndexValue(this.index,t,n,r.getAttribute("id"),r)}register(e,t){if(!(t=t||e.getAttribute("id")))throw new X$3("Can't add element without `id` attribute to registry",e);return e.setAttribute("id",t),setIndexValue(this.index,"id",t,t,e),Registry.INDEXES.forEach((n=>{this.updateIndex({id:t,name:n,value:e.getAttribute(n),oldValue:null})})),e.onRegister(this),this}getElementById(e){return this.index.id[e]?this.index.id[e][e]:null}getElementsByAttribute(e,t){const n=this.index[e];return n&&n[t]?Object.keys(n[t]).map((e=>n[t][e])):[]}getElementsByType(e){return this.getElementsByAttribute("type",e)}getElementsByClass(e){return this.getElementsByAttribute("class",e)}onUpdate({id:e,name:t,value:n,oldValue:i}){return function(e,t){return e.filter((e=>e===t)).length>0}(Registry.INDEXES.concat(["id","class"]),t)?(this.updateIndex({id:e,name:t,value:n,oldValue:i}),this):this}}Registry.defaultRegistry=null;let Element$1=class e{static newID(){return"auto"+e.ID++}constructor({type:t}={}){this.attrs={id:e.newID(),el:null,type:t||"Base",classes:{}},this.boundingBox=null,this.context=null,this.rendered=!1,Registry.getDefaultRegistry()&&Registry.getDefaultRegistry().register(this)}setStyle(e){return this.style=e,this}getStyle(){return this.style}applyStyle(e=this.context,t=this.getStyle()){return t?(e.save(),t.shadowColor&&e.setShadowColor(t.shadowColor),t.shadowBlur&&e.setShadowBlur(t.shadowBlur),t.fillStyle&&e.setFillStyle(t.fillStyle),t.strokeStyle&&e.setStrokeStyle(t.strokeStyle),t.lineWidth&&e.setLineWidth(t.lineWidth),this):this}restoreStyle(e=this.context,t=this.getStyle()){return t?(e.restore(),this):this}drawWithStyle(){this.checkContext(),this.applyStyle(),this.draw(),this.restoreStyle()}hasClass(e){return!0===this.attrs.classes[e]}addClass(e){return this.attrs.classes[e]=!0,this.registry&&this.registry.onUpdate({id:this.getAttribute("id"),name:"class",value:e,oldValue:null}),this}removeClass(e){return delete this.attrs.classes[e],this.registry&&this.registry.onUpdate({id:this.getAttribute("id"),name:"class",value:null,oldValue:e}),this}onRegister(e){return this.registry=e,this}isRendered(){return this.rendered}setRendered(e=!0){return this.rendered=e,this}getAttributes(){return this.attrs}getAttribute(e){return this.attrs[e]}setAttribute(e,t){const n=this.attrs.id,i=this.attrs[e];return this.attrs[e]=t,this.registry&&this.registry.onUpdate({id:n,name:e,value:t,oldValue:i}),this}getContext(){return this.context}setContext(e){return this.context=e,this}getBoundingBox(){return this.boundingBox}checkContext(){if(!this.context)throw new Vex.RERR("NoContext","No rendering context attached to instance");return this.context}};Element$1.ID=1e3;class BoundingBoxComputation{constructor(e,t,n,i){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN,this.addPoint(e,t),this.addPoint(n,i)}width(){return this.x2-this.x1}height(){return this.y2-this.y1}addPoint(e,t){null!=e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),null!=t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))}addX(e){this.addPoint(e,null)}addY(e){this.addPoint(null,e)}addQuadraticCurve(e,t,n,i,r,o){const s=e+2/3*(n-e),a=t+2/3*(i-t),l=s+1/3*(r-e),c=a+1/3*(o-t);this.addBezierCurve(e,t,s,a,l,c,r,o)}addBezierCurve(e,t,n,i,r,o,s,a){const l=[e,t],c=[n,i],u=[r,o],h=[s,a];let d;this.addPoint(l[0],l[1]),this.addPoint(h[0],h[1]);const p=(e,t)=>Math.pow(1-e,3)*l[t]+3*Math.pow(1-e,2)*e*c[t]+3*(1-e)*Math.pow(e,2)*u[t]+Math.pow(e,3)*h[t];for(d=0;d<=1;d++){const e=6*l[d]-12*c[d]+6*u[d],t=-3*l[d]+9*c[d]-9*u[d]+3*h[d],n=3*c[d]-3*l[d];if(0===t){if(0===e)continue;const t=-n/e;0<t&&t<1&&(0===d&&this.addX(p(t,d)),1===d&&this.addY(p(t,d)));continue}const i=Math.pow(e,2)-4*n*t;if(i<0)continue;const r=(-e+Math.sqrt(i))/(2*t);0<r&&r<1&&(0===d&&this.addX(p(r,d)),1===d&&this.addY(p(r,d)));const o=(-e-Math.sqrt(i))/(2*t);0<o&&o<1&&(0===d&&this.addX(p(o,d)),1===d&&this.addY(p(o,d)))}}}class BoundingBox{static copy(e){return new BoundingBox(e.x,e.y,e.w,e.h)}constructor(e,t,n,i){this.x=e,this.y=t,this.w=n,this.h=i}getX(){return this.x}getY(){return this.y}getW(){return this.w}getH(){return this.h}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setW(e){return this.w=e,this}setH(e){return this.h=e,this}move(e,t){this.x+=e,this.y+=t}clone(){return BoundingBox.copy(this)}mergeWith(e,t){const n=e,i=this.x<n.x?this.x:n.x,r=this.y<n.y?this.y:n.y,o=Math.max(this.x+this.w,n.x+n.w)-i,s=Math.max(this.y+this.h,n.y+n.h)-r;return this.x=i,this.y=r,this.w=o,this.h=s,t&&this.draw(t),this}draw(e,t,n){t||(t=0),n||(n=0),e.rect(this.x+t,this.y+n,this.w,this.h),e.stroke()}}const Font={glyphs:{v0:{x_min:0,x_max:514.5,ha:525,o:"m 236 648 b 246 648 238 648 242 648 b 288 646 261 648 283 648 b 472 513 364 634 428 587 b 514 347 502 464 514 413 b 462 163 514 272 499 217 b 257 44 409 83 333 44 b 50 163 181 44 103 83 b 0 347 14 217 0 272 b 40 513 0 413 12 464 b 236 648 87 591 155 638 m 277 614 b 253 616 273 616 261 616 b 242 616 247 616 243 616 b 170 499 193 609 181 589 b 159 348 163 446 159 398 b 166 222 159 308 161 266 b 201 91 174 138 183 106 b 257 76 215 81 235 76 b 311 91 277 76 299 81 b 347 222 330 106 338 138 b 353 348 352 266 353 308 b 344 499 353 398 351 446 b 277 614 333 587 322 606 m 257 -1 l 258 -1 l 255 -1 l 257 -1 m 257 673 l 258 673 l 255 673 l 257 673 "},v1:{x_min:-1.359375,x_max:344.359375,ha:351,o:"m 126 637 l 129 638 l 198 638 l 266 638 l 269 635 b 274 631 272 634 273 632 l 277 627 l 277 395 b 279 156 277 230 277 161 b 329 88 281 123 295 106 b 344 69 341 81 344 79 b 337 55 344 62 343 59 l 333 54 l 197 54 l 61 54 l 58 55 b 50 69 53 59 50 62 b 65 88 50 79 53 81 b 80 97 72 91 74 93 b 117 156 103 113 112 129 b 117 345 117 161 117 222 l 117 528 l 100 503 l 38 406 b 14 383 24 384 23 383 b -1 398 5 383 -1 390 b 4 415 -1 403 1 409 b 16 437 5 416 10 426 l 72 539 l 100 596 b 121 632 119 631 119 631 b 126 637 122 634 125 635 m 171 -1 l 172 -1 l 170 -1 l 171 -1 m 171 673 l 172 673 l 170 673 l 171 673 "},v2:{x_min:-1.359375,x_max:458.6875,ha:468,o:"m 197 648 b 216 648 201 648 208 648 b 258 646 232 648 253 648 b 419 546 333 637 393 599 b 432 489 428 528 432 509 b 356 342 432 440 405 384 b 235 278 322 313 288 295 b 69 170 166 256 107 217 b 69 169 69 170 69 169 b 69 169 69 169 69 169 b 74 173 69 169 72 170 b 209 222 112 204 163 222 b 310 195 247 222 274 215 b 371 179 332 184 352 179 b 396 181 379 179 387 179 b 428 202 409 184 423 194 b 442 212 431 209 436 212 b 458 197 450 212 458 206 b 441 148 458 190 449 165 b 299 44 409 84 353 44 b 288 45 295 44 292 44 b 250 61 274 45 268 49 b 122 99 212 86 164 99 b 73 91 104 99 88 97 b 28 63 53 84 34 72 b 14 54 25 56 20 54 b 1 62 9 54 4 56 l -1 65 l -1 79 b 0 99 -1 91 0 95 b 2 113 1 102 2 108 b 164 309 20 197 81 272 b 285 470 232 341 277 398 b 287 487 287 476 287 481 b 171 595 287 551 239 595 b 155 595 166 595 160 595 b 142 592 145 594 142 594 b 145 589 142 592 142 591 b 179 527 168 576 179 551 b 132 455 179 496 163 467 b 104 451 122 452 112 451 b 27 530 62 451 27 487 b 29 555 27 538 27 546 b 197 648 44 601 115 639 m 228 -1 l 230 -1 l 227 -1 l 228 -1 m 228 673 l 230 673 l 227 673 l 228 673 "},v3:{x_min:-1.359375,x_max:409.6875,ha:418,o:"m 174 648 b 191 648 176 648 183 648 b 225 648 204 648 220 648 b 402 523 317 638 389 588 b 404 503 404 517 404 510 b 402 484 404 495 404 488 b 264 373 389 437 334 394 b 257 370 259 371 257 371 b 257 370 257 370 257 370 b 264 369 258 370 261 369 b 409 202 359 334 409 267 b 318 72 409 152 381 104 b 200 43 281 52 240 43 b 23 113 134 43 69 68 b 0 169 6 129 0 149 b 77 249 0 210 29 249 l 77 249 b 152 174 125 249 152 212 b 103 102 152 145 137 116 b 103 102 103 102 103 102 b 147 94 103 101 132 95 b 153 94 149 94 151 94 b 265 206 219 94 265 141 b 264 226 265 213 265 219 b 147 355 253 299 204 353 b 126 371 133 356 126 362 b 147 388 126 383 132 388 b 254 474 196 391 238 424 b 259 502 258 484 259 494 b 182 592 259 544 228 582 b 156 595 175 595 166 595 b 115 592 142 595 129 594 l 111 591 l 115 588 b 152 524 141 574 152 549 b 92 449 152 491 130 458 b 76 448 87 448 81 448 b -1 530 32 448 -1 488 b 20 581 -1 548 5 566 b 174 648 55 619 108 641 m 204 -1 l 205 -1 l 202 -1 l 204 -1 m 204 673 l 205 673 l 202 673 l 204 673 "},v4:{x_min:0,x_max:468.21875,ha:478,o:"m 174 637 b 232 638 175 638 189 638 b 277 638 245 638 259 638 l 378 638 l 381 635 b 389 623 386 632 389 627 b 382 609 389 617 386 613 b 366 589 381 606 372 598 l 313 528 l 245 451 l 209 410 l 155 348 l 84 267 b 59 240 72 252 59 240 b 59 240 59 240 59 240 b 151 238 59 238 68 238 l 242 238 l 242 303 b 243 371 242 369 242 370 b 289 426 245 374 254 385 l 303 441 l 317 456 l 338 483 l 360 506 l 371 520 b 386 527 375 526 381 527 b 400 519 392 527 397 524 b 401 440 401 516 401 514 b 401 377 401 423 401 402 l 401 238 l 426 238 b 453 237 449 238 450 238 b 465 217 461 234 465 226 b 460 202 465 212 464 206 b 426 197 454 197 453 197 l 401 197 l 401 180 b 451 88 402 129 412 109 b 468 69 465 81 468 79 b 461 55 468 62 466 59 l 458 54 l 321 54 l 185 54 l 182 55 b 175 69 176 59 175 62 b 191 88 175 79 176 81 b 240 180 230 109 240 129 l 240 197 l 125 197 b 73 195 104 195 87 195 b 8 197 10 195 9 197 b 0 212 2 199 0 205 b 0 212 0 212 0 212 b 20 242 0 219 0 219 b 163 610 104 344 163 492 b 174 637 163 628 166 634 m 234 -1 l 235 -1 l 232 -1 l 234 -1 m 234 673 l 235 673 l 232 673 l 234 673 "},v5:{x_min:0,x_max:409.6875,ha:418,o:"m 47 637 b 53 638 49 638 50 638 b 69 634 55 638 61 637 b 210 610 114 619 161 610 b 363 634 259 610 311 619 b 382 638 372 637 378 638 b 392 634 386 638 389 637 b 397 623 396 630 397 627 b 393 610 397 620 396 616 b 298 505 368 552 338 520 b 212 494 277 498 246 494 b 65 517 163 494 106 502 b 61 517 62 517 61 517 b 61 517 61 517 61 517 b 51 408 61 517 51 412 b 51 408 51 408 51 408 b 51 408 51 408 51 408 b 61 412 53 408 55 409 b 125 434 80 421 103 430 b 185 441 145 440 166 441 b 409 244 310 441 409 353 b 401 191 409 227 406 209 b 197 43 375 105 287 43 b 159 47 183 43 171 44 b 23 123 112 56 61 86 b 0 180 6 140 0 159 b 76 260 0 220 31 260 b 92 259 81 260 87 259 b 152 183 132 251 152 216 b 100 112 152 152 134 122 b 95 111 98 112 95 111 b 95 111 95 111 95 111 b 129 98 95 109 119 101 b 148 97 136 97 141 97 b 264 235 206 97 261 158 b 265 248 265 240 265 244 b 210 398 265 312 243 373 b 179 408 201 406 194 408 b 174 408 178 408 176 408 b 53 369 130 408 88 394 b 34 359 39 359 38 359 b 17 374 24 359 17 365 b 39 628 17 384 38 625 b 47 637 40 631 43 635 m 204 -1 l 205 -1 l 202 -1 l 204 -1 m 204 673 l 205 673 l 202 673 l 204 673 "},v6:{x_min:0,x_max:475.03125,ha:485,o:"m 255 648 b 274 648 259 648 266 648 b 314 646 288 648 307 648 b 450 555 374 637 438 594 b 454 530 453 546 454 538 b 375 451 454 485 416 451 b 328 467 359 451 343 455 b 300 526 310 483 300 503 b 352 598 300 557 319 589 b 356 599 355 598 356 599 b 352 602 356 599 355 601 b 288 616 330 612 308 616 b 210 584 257 616 230 605 b 164 433 189 559 174 508 b 160 374 163 415 160 381 b 160 374 160 374 160 374 b 160 374 160 374 160 374 b 168 377 160 374 164 376 b 258 395 200 390 228 395 b 366 367 294 395 328 387 b 475 223 436 333 475 283 b 472 197 475 215 473 206 b 349 65 462 141 419 95 b 259 43 317 51 288 43 b 167 69 230 43 200 52 b 4 290 80 113 20 195 b 0 349 1 309 0 328 b 20 467 0 391 6 433 b 255 648 58 563 155 637 m 269 363 b 257 363 265 363 261 363 b 210 345 236 363 220 356 b 186 226 196 324 186 272 b 187 198 186 216 186 206 b 213 95 191 151 202 112 b 257 76 221 83 238 76 b 270 77 261 76 266 76 b 321 156 299 81 310 99 b 329 229 326 183 329 206 b 321 301 329 252 326 274 b 269 363 311 342 298 359 m 236 -1 l 238 -1 l 235 -1 l 236 -1 m 236 673 l 238 673 l 235 673 l 236 673 "},v7:{x_min:0,x_max:442.359375,ha:451,o:"m 147 648 b 166 649 153 649 160 649 b 313 598 217 649 273 630 b 340 587 323 588 328 587 l 341 587 b 412 628 367 587 390 601 b 427 638 416 635 421 638 b 439 632 431 638 435 637 b 442 623 441 630 442 628 b 430 569 442 616 439 603 b 352 369 408 492 377 410 b 300 259 325 324 313 298 b 273 84 283 205 273 140 b 265 55 273 65 272 59 l 261 54 l 181 54 l 99 54 l 96 55 b 91 61 95 56 92 59 l 89 63 l 89 77 b 147 263 89 133 111 202 b 261 401 176 313 212 355 b 378 541 315 449 349 489 l 382 548 l 375 544 b 240 495 333 512 285 495 b 129 535 198 495 160 509 b 84 560 108 552 95 560 b 76 559 81 560 78 560 b 31 487 59 555 43 530 b 14 470 27 473 24 470 b 1 477 8 470 4 471 l 0 480 l 0 553 l 0 627 l 1 630 b 16 638 4 635 9 638 b 23 635 17 638 20 637 b 49 626 36 626 39 626 b 96 638 59 626 80 630 b 104 639 99 638 102 639 b 117 644 107 641 112 642 b 147 648 125 645 137 648 m 220 -1 l 221 -1 l 219 -1 l 220 -1 m 220 673 l 221 673 l 219 673 l 220 673 "},v8:{x_min:0,x_max:488.640625,ha:499,o:"m 217 648 b 245 649 225 648 235 649 b 453 516 343 649 430 595 b 458 478 455 503 458 491 b 412 370 458 440 441 398 b 411 369 412 369 411 369 b 415 365 411 367 412 367 b 488 231 462 331 488 281 b 472 165 488 208 483 186 b 243 43 434 86 338 43 b 63 104 178 43 112 62 b 0 233 20 140 0 186 b 73 365 0 283 24 331 l 77 369 l 72 374 b 29 476 42 406 29 441 b 217 648 29 557 103 635 m 258 605 b 242 606 253 605 247 606 b 157 552 198 606 157 580 b 160 541 157 548 159 544 b 319 413 176 503 242 452 l 337 403 l 338 406 b 359 476 352 428 359 452 b 258 605 359 537 318 595 m 138 326 b 130 330 134 328 130 330 b 130 330 130 330 130 330 b 107 305 127 330 112 313 b 84 231 91 281 84 256 b 243 86 84 156 151 86 b 249 87 245 86 246 87 b 347 156 303 88 347 120 b 344 172 347 162 345 167 b 156 319 325 227 257 281 b 138 326 151 322 144 324 m 243 -1 l 245 -1 l 242 -1 l 243 -1 m 243 673 l 245 673 l 242 673 l 243 673 "},v9:{x_min:0,x_max:475.03125,ha:485,o:"m 191 646 b 212 649 198 648 205 649 b 255 644 227 649 243 646 b 458 448 348 616 428 539 b 475 342 469 415 475 378 b 460 244 475 308 469 274 b 193 44 421 124 303 44 b 91 69 157 44 122 51 b 19 161 43 97 19 126 b 21 181 19 167 20 174 b 98 241 32 220 65 241 b 170 186 129 241 160 223 b 172 166 171 179 172 173 b 121 94 172 134 152 102 b 117 93 118 94 117 93 b 121 90 117 93 118 91 b 185 76 142 80 164 76 b 270 119 220 76 251 91 b 308 259 287 145 300 194 b 313 317 310 277 313 310 b 313 317 313 317 313 317 b 313 317 313 317 313 317 b 304 315 313 317 308 316 b 216 295 273 302 245 295 b 145 308 193 295 170 299 b 19 398 88 327 42 360 b 0 469 5 420 0 444 b 24 551 0 496 8 526 b 191 646 54 596 125 637 m 227 614 b 215 616 224 616 220 616 b 202 614 210 616 206 616 b 152 535 174 610 163 592 b 144 463 147 509 144 485 b 152 391 144 440 147 417 b 216 328 163 344 179 328 b 280 391 253 328 269 344 b 288 463 285 417 288 440 b 280 535 288 485 285 509 b 227 614 269 594 258 610 m 236 -1 l 238 -1 l 235 -1 l 236 -1 m 236 673 l 238 673 l 235 673 l 236 673 "},va:{x_min:-149.71875,x_max:148.359375,ha:151,o:"m -8 -1 b -1 0 -5 -1 -4 0 b 16 -11 5 0 13 -4 b 83 -186 17 -12 47 -90 l 148 -358 l 148 -363 b 127 -385 148 -376 138 -385 b 112 -378 122 -385 118 -383 b 54 -226 110 -374 114 -385 b 0 -81 24 -147 0 -81 b -55 -226 -1 -81 -25 -147 b -114 -378 -115 -385 -111 -374 b -129 -385 -119 -383 -123 -385 b -149 -363 -140 -385 -149 -376 l -149 -358 l -84 -186 b -19 -11 -49 -90 -19 -12 b -8 -1 -17 -8 -12 -4 "},vb:{x_min:0,x_max:428.75,ha:438,o:"m 262 186 b 273 186 266 186 272 186 b 274 186 273 186 274 186 b 285 186 274 186 280 186 b 428 48 375 181 428 122 b 386 -68 428 12 416 -29 b 155 -187 329 -145 236 -187 b 12 -111 92 -187 38 -162 b 0 -51 4 -91 0 -72 b 262 186 0 58 122 179 "},vc:{x_min:0,x_max:447.8125,ha:457,o:"m 0 86 l 0 173 l 223 173 l 447 173 l 447 86 l 447 0 l 223 0 l 0 0 l 0 86 "},vf:{x_min:0,x_max:370.21875,ha:378,o:"m 0 0 l 0 277 l 61 277 l 122 277 l 122 0 l 122 -278 l 61 -278 l 0 -278 l 0 0 m 246 -1 l 246 277 l 308 277 l 370 277 l 370 -1 l 370 -278 l 308 -278 l 246 -278 l 246 -1 "},v10:{x_min:0,x_max:559.421875,ha:571,o:"m 5 127 b 14 127 6 127 9 127 b 51 126 25 127 43 127 b 175 98 93 122 138 112 l 186 94 b 279 51 210 86 255 65 b 285 47 280 51 283 48 b 319 27 291 44 311 31 l 326 22 b 359 0 332 19 352 4 l 367 -6 b 371 -9 368 -6 370 -8 l 379 -15 b 387 -22 383 -18 386 -20 l 398 -30 l 411 -40 l 417 -47 l 427 -55 l 434 -61 b 441 -66 436 -62 439 -65 l 446 -72 l 453 -77 l 462 -87 b 558 -188 490 -113 549 -176 b 559 -195 559 -191 559 -194 b 548 -205 559 -201 555 -205 b 541 -204 547 -205 544 -205 b 534 -198 539 -201 536 -199 l 525 -191 b 481 -162 518 -187 490 -167 b 472 -155 477 -159 472 -156 b 468 -152 470 -155 469 -154 b 461 -149 466 -152 464 -151 b 428 -130 454 -145 441 -137 b 371 -99 413 -122 372 -99 b 363 -95 371 -99 367 -98 b 353 -91 357 -94 353 -91 b 348 -90 353 -91 352 -91 b 332 -81 343 -87 341 -86 b 27 -12 230 -37 127 -13 b 0 -5 4 -11 2 -11 b 0 58 0 -2 0 27 b 0 122 0 88 0 120 b 5 127 1 124 4 126 "},v11:{x_min:-155.171875,x_max:153.8125,ha:157,o:"m -137 353 b -130 353 -136 353 -133 353 b -112 349 -125 353 -119 352 b -100 342 -110 347 -104 344 b 0 317 -69 326 -35 317 b 111 349 38 317 76 328 b 129 353 117 352 123 353 b 153 327 142 353 153 344 b 144 302 153 320 153 317 b 27 6 93 226 50 113 b 21 -13 24 -11 24 -11 b 0 -26 17 -22 8 -26 b -24 -12 -9 -26 -19 -22 b -28 5 -24 -9 -27 -2 b -145 302 -53 117 -95 224 b -155 327 -155 317 -155 320 b -137 353 -155 340 -148 349 "},v18:{x_min:0,x_max:323.9375,ha:331,o:"m 217 535 b 225 537 220 537 221 537 b 245 524 235 537 242 533 l 246 521 l 247 390 l 247 258 l 273 265 b 306 270 288 269 299 270 b 322 259 315 270 319 267 b 323 208 323 256 323 233 b 322 158 323 184 323 159 b 288 140 318 148 315 147 b 247 130 254 131 247 130 b 247 65 247 130 247 104 b 247 20 247 51 247 36 l 247 -88 l 273 -81 b 306 -76 289 -77 299 -76 b 318 -81 311 -76 315 -77 b 323 -123 323 -87 323 -86 l 323 -138 l 323 -154 b 318 -195 323 -191 323 -190 b 269 -210 314 -199 315 -199 b 249 -216 259 -213 250 -216 l 247 -216 l 247 -349 l 246 -483 l 245 -487 b 225 -499 242 -495 234 -499 b 206 -487 219 -499 210 -495 l 205 -483 l 205 -355 l 205 -227 l 204 -227 l 181 -233 l 138 -244 b 117 -249 127 -247 117 -249 b 115 -385 115 -249 115 -256 l 115 -523 l 114 -526 b 95 -538 110 -534 102 -538 b 74 -526 87 -538 78 -534 l 73 -523 l 73 -391 b 72 -260 73 -269 73 -260 b 72 -260 72 -260 72 -260 b 19 -273 61 -263 23 -273 b 0 -260 10 -273 4 -267 b 0 -209 0 -256 0 -256 l 0 -162 l 1 -158 b 61 -134 5 -148 5 -148 l 73 -131 l 73 -22 b 72 86 73 79 73 86 b 72 86 72 86 72 86 b 19 74 61 83 23 74 b 0 86 10 74 4 79 b 0 137 0 90 0 90 l 0 184 l 1 188 b 61 212 5 198 5 198 l 73 215 l 73 348 l 73 481 l 74 485 b 95 498 78 492 87 498 b 103 495 98 498 100 496 b 114 485 107 494 111 489 l 115 481 l 115 353 l 115 226 l 121 226 b 159 235 123 227 141 231 l 198 247 l 205 248 l 205 384 l 205 521 l 206 524 b 217 535 209 528 212 533 m 205 9 b 205 119 205 70 205 119 l 205 119 b 182 113 204 119 194 116 l 138 102 b 117 97 127 99 117 97 b 115 -12 115 97 115 91 l 115 -122 l 121 -120 b 159 -111 123 -119 141 -115 l 198 -101 l 205 -98 l 205 9 "},v1b:{x_min:0,x_max:559.421875,ha:571,o:"m 544 204 b 548 204 545 204 547 204 b 559 194 555 204 559 199 b 559 190 559 192 559 191 b 530 156 559 188 556 184 b 462 86 510 134 481 104 b 453 76 458 81 454 77 l 446 70 l 441 65 b 434 59 439 63 436 61 l 427 54 b 409 37 426 51 416 44 b 392 23 398 29 394 26 b 387 19 389 22 387 20 b 379 13 386 19 383 16 l 371 8 l 367 5 l 359 -1 l 337 -16 b 285 -48 319 -29 298 -41 l 279 -52 b 186 -95 255 -66 210 -87 l 175 -99 b 23 -129 127 -117 68 -129 b 17 -129 20 -129 19 -129 b 1 -123 2 -129 2 -129 b 0 -49 0 -122 0 -83 b 0 4 0 -22 0 1 b 27 11 2 9 4 9 b 185 31 78 12 145 20 b 198 34 186 31 193 33 b 314 73 234 44 277 58 b 349 88 328 79 340 84 b 353 90 352 90 353 90 b 363 94 353 90 357 93 b 371 98 367 97 371 98 b 428 129 372 98 413 120 b 461 148 441 136 454 144 b 468 151 464 149 466 151 b 472 154 469 152 470 154 b 481 161 473 155 477 158 b 525 190 490 166 518 186 l 534 197 b 540 201 536 198 539 199 b 544 204 541 202 544 204 "},v1d:{x_min:0,x_max:619.3125,ha:632,o:"m 274 184 b 307 186 285 186 296 186 b 616 22 465 186 597 116 b 619 -1 617 13 619 5 b 308 -187 619 -104 483 -187 b 0 -1 133 -187 0 -102 b 5 36 0 11 1 23 b 274 184 29 115 141 176 m 289 161 b 272 162 284 162 277 162 b 171 41 209 162 171 108 b 205 -73 171 5 182 -34 b 345 -163 243 -133 298 -163 b 436 -98 385 -163 420 -142 b 446 -43 443 -80 446 -62 b 289 161 446 47 377 147 "},v1e:{x_min:-402.890625,x_max:401.53125,ha:410,o:"m -219 173 b -213 174 -217 174 -215 174 b -202 173 -209 174 -205 173 b -114 86 -200 172 -179 151 b -28 0 -66 37 -28 0 b 40 84 -28 0 2 37 b 117 174 111 173 110 172 b 122 174 118 174 119 174 b 132 173 125 174 129 173 b 295 11 134 172 171 134 l 307 -1 l 336 34 b 374 76 366 72 368 74 b 381 77 375 77 378 77 b 401 56 392 77 401 68 b 400 48 401 54 401 51 b 223 -172 397 41 230 -166 b 210 -176 220 -174 215 -176 b 201 -174 206 -176 204 -176 b 112 -87 198 -173 178 -152 b 27 0 65 -38 27 0 b -42 -86 27 0 -4 -38 b -118 -174 -112 -174 -111 -173 b -123 -176 -119 -176 -121 -176 b -133 -174 -126 -176 -130 -174 b -296 -12 -136 -173 -172 -137 l -308 0 l -337 -34 b -375 -77 -367 -73 -370 -76 b -382 -79 -377 -79 -379 -79 b -402 -58 -393 -79 -402 -69 b -401 -49 -402 -55 -402 -52 b -224 172 -398 -43 -228 167 b -219 173 -223 172 -220 173 "},v1f:{x_min:-340.28125,x_max:338.921875,ha:346,o:"m -32 520 b -29 521 -31 520 -31 521 b -23 519 -27 521 -24 520 b -20 513 -21 517 -20 516 b -21 506 -20 512 -20 509 b -31 474 -23 502 -27 488 l -53 402 l -66 352 l -68 349 l -57 349 b -32 351 -51 349 -40 351 b 123 370 19 352 74 359 b 137 371 127 370 133 371 b 170 356 152 371 164 366 b 171 355 170 355 170 355 b 216 366 174 355 183 358 b 280 378 268 377 266 377 b 287 378 283 378 284 378 b 332 349 307 378 322 369 b 338 319 336 341 338 330 b 332 301 338 310 336 302 b 242 280 329 299 246 280 b 242 280 242 280 242 280 b 235 288 236 280 235 283 b 235 292 235 290 235 291 b 236 302 236 297 236 299 b 220 337 236 316 230 330 l 216 340 l 210 335 b 159 276 189 322 172 301 b 118 149 152 265 156 274 b 81 34 84 36 85 36 b -8 13 78 33 -4 13 b -8 13 -8 13 -8 13 b -14 20 -12 15 -14 15 b -8 44 -14 24 -12 31 b -2 66 -5 55 -2 65 b -2 66 -2 66 -2 66 l -2 66 b -43 41 -2 66 -21 55 b -114 4 -98 8 -98 8 b -144 0 -123 0 -134 0 b -242 99 -197 0 -242 43 b -242 109 -242 102 -242 105 b -212 219 -240 122 -242 116 b -185 312 -197 270 -185 312 l -185 312 b -189 312 -185 312 -186 312 b -259 312 -200 312 -227 312 b -321 310 -291 312 -310 310 b -334 312 -330 310 -334 312 b -340 319 -338 313 -340 316 b -336 326 -340 322 -338 324 b -291 337 -334 326 -314 331 l -247 347 l -210 348 b -172 348 -190 348 -172 348 b -168 363 -172 348 -171 355 b -145 442 -151 424 -145 441 b -133 452 -144 444 -140 446 l -77 489 b -32 520 -53 506 -32 520 m 57 334 b 53 335 55 335 54 335 b 44 334 50 335 49 335 b -70 316 8 326 -28 320 b -78 309 -78 316 -78 316 b -108 202 -80 305 -88 274 b -141 81 -136 112 -141 93 b -140 74 -141 79 -141 77 b -117 49 -137 59 -127 49 b -107 52 -114 49 -110 51 b 16 127 -106 54 14 126 b 42 217 16 127 42 215 b 49 241 42 222 44 229 b 73 320 53 251 73 317 b 57 334 73 327 65 333 "},v20:{x_min:-571.671875,x_max:570.3125,ha:582,o:"m -559 351 b -551 352 -556 352 -553 352 b -530 338 -543 352 -533 348 b -529 169 -530 337 -529 291 l -529 1 l -507 27 l -441 112 b -382 174 -394 169 -390 174 b -378 174 -381 174 -379 174 b -281 86 -370 174 -375 179 b -196 0 -234 37 -196 0 b -126 84 -196 0 -164 37 b -50 174 -55 173 -57 172 b -44 174 -49 174 -47 174 b -35 173 -42 174 -38 173 b 53 86 -32 172 -12 151 b 138 0 100 37 138 0 b 208 84 140 0 170 37 b 284 174 279 173 279 172 b 289 174 285 174 288 174 b 300 173 294 174 298 173 b 462 11 303 172 340 134 l 475 -1 l 503 34 b 541 76 534 72 536 74 b 548 77 544 77 545 77 b 570 56 560 77 570 68 b 567 48 570 54 568 51 b 392 -172 564 41 397 -166 b 378 -176 387 -174 382 -176 b 368 -174 375 -176 371 -176 b 280 -87 367 -173 347 -152 b 194 0 234 -38 194 0 b 126 -86 194 0 163 -38 b 49 -174 54 -174 55 -173 b 44 -176 47 -176 46 -176 b 34 -174 40 -176 36 -174 b -54 -87 31 -173 10 -152 b -140 0 -102 -38 -140 0 b -209 -86 -140 0 -171 -38 b -285 -174 -280 -174 -279 -173 b -291 -176 -287 -176 -288 -176 b -300 -174 -294 -176 -298 -174 b -464 -11 -303 -173 -374 -102 l -476 0 l -506 -37 b -539 -76 -528 -65 -537 -74 b -551 -80 -543 -79 -547 -80 b -570 -68 -558 -80 -566 -76 l -571 -65 l -571 136 b -570 340 -571 331 -571 337 b -559 351 -568 344 -564 348 "},v22:{x_min:0,x_max:432.828125,ha:442,o:"m 209 186 b 213 187 210 187 212 187 b 216 187 215 187 216 187 b 224 174 216 186 220 180 b 420 -1 269 105 338 43 b 432 -12 431 -8 432 -9 b 421 -23 432 -15 432 -16 b 228 -180 345 -70 264 -137 b 219 -188 221 -188 221 -188 l 219 -188 b 208 -177 215 -188 215 -188 b 10 1 163 -106 93 -44 b 0 11 0 6 0 8 b 10 22 0 13 0 15 b 202 179 87 69 167 136 b 209 186 206 183 209 186 "},v23:{x_min:0,x_max:133.390625,ha:136,o:"m 54 66 b 65 68 58 68 61 68 b 122 37 88 68 110 56 b 133 -1 130 26 133 12 b 104 -58 133 -23 123 -44 b 66 -69 92 -65 78 -69 b 10 -38 44 -69 23 -58 b 0 -1 2 -27 0 -13 b 54 66 0 30 20 61 "},v25:{x_min:0,x_max:318.5,ha:325,o:"m 20 376 b 167 377 23 377 96 377 b 296 376 231 377 294 377 b 318 347 311 371 318 359 b 296 316 318 333 311 320 b 159 315 294 315 227 315 b 21 316 91 315 24 315 b 0 345 6 320 0 333 b 20 376 0 359 6 371 "},v26:{x_min:-21.78125,x_max:483.1875,ha:493,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 383 20 616 20 616 l 20 148 l 21 151 b 140 199 59 183 102 199 b 206 179 164 199 187 192 l 210 176 l 210 396 l 210 617 l 212 621 b 231 632 216 628 223 632 b 250 620 239 632 247 628 b 251 383 251 616 251 616 l 251 148 l 254 151 b 370 199 291 183 332 199 b 415 191 385 199 400 197 b 483 84 458 176 483 134 b 461 0 483 58 476 29 b 332 -142 439 -40 411 -72 l 255 -215 b 231 -229 240 -229 239 -229 b 216 -223 224 -229 220 -227 b 210 -158 210 -217 210 -223 b 210 -120 210 -148 210 -136 l 210 -29 l 205 -34 b 100 -142 182 -65 159 -88 l 23 -215 b -1 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 l -21 -212 l -21 201 l -21 616 l -20 620 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 m 341 131 b 328 133 337 133 332 133 b 322 133 326 133 323 133 b 257 87 296 129 273 113 l 251 80 l 251 -37 l 251 -156 l 255 -152 b 375 81 328 -72 375 20 l 375 83 b 341 131 375 113 367 126 "},v27:{x_min:0,x_max:432.828125,ha:442,o:"m 208 184 b 213 187 209 186 212 187 b 224 176 217 187 221 183 b 245 147 225 172 235 159 b 419 -1 288 90 347 38 b 431 -8 424 -4 431 -8 b 432 -12 432 -9 432 -11 b 430 -18 432 -13 432 -16 b 364 -61 424 -20 383 -47 b 225 -183 307 -102 250 -152 b 223 -187 224 -184 223 -187 b 220 -188 221 -188 220 -188 b 208 -176 216 -188 210 -184 b 187 -148 205 -173 197 -159 b 12 0 144 -90 84 -38 b 0 11 4 5 0 8 b 16 24 0 13 4 18 b 183 158 83 69 141 115 b 208 184 194 169 198 173 m 183 105 b 176 113 181 109 176 113 b 172 109 176 113 175 112 b 92 45 149 90 117 62 l 88 41 l 102 31 b 247 -105 160 -6 210 -55 l 254 -115 l 257 -112 l 269 -102 b 340 -45 287 -87 319 -61 l 344 -43 l 330 -33 b 183 105 272 6 221 54 "},v28:{x_min:-73.5,x_max:72.140625,ha:74,o:"m -72 252 l -73 254 l 0 254 l 72 254 l 70 252 b 0 -1 70 248 0 -1 b -72 252 -1 -1 -72 248 "},v29:{x_min:-590.71875,x_max:589.359375,ha:601,o:"m 175 273 b 182 274 178 273 181 274 b 202 262 190 274 198 269 b 204 158 204 259 204 259 l 204 56 l 250 112 b 303 174 296 172 298 172 b 308 174 304 174 307 174 b 318 173 313 174 317 173 b 481 11 322 172 357 134 l 494 -1 l 522 34 b 560 76 553 72 555 74 b 567 77 563 77 564 77 b 589 56 579 77 589 68 b 586 48 589 54 588 51 b 411 -172 583 41 416 -166 b 397 -176 406 -174 401 -176 b 387 -174 393 -176 390 -176 b 299 -87 386 -173 366 -152 b 213 0 253 -38 213 0 b 208 -6 213 0 210 -2 l 204 -12 l 204 -147 b 204 -210 204 -173 204 -194 b 198 -292 204 -297 204 -287 b 183 -299 194 -297 189 -299 b 164 -287 175 -299 167 -295 b 163 -174 163 -284 163 -284 l 161 -63 l 119 -117 b 65 -176 76 -170 73 -176 b 61 -176 63 -176 62 -176 b -35 -87 51 -174 57 -180 b -121 0 -83 -38 -121 0 b -190 -86 -122 0 -152 -38 b -266 -174 -261 -174 -259 -173 b -272 -176 -268 -176 -270 -176 b -281 -174 -276 -176 -280 -174 b -371 -86 -284 -173 -304 -152 b -457 0 -417 -38 -457 0 l -457 0 b -477 -26 -457 0 -470 -16 b -548 -227 -524 -88 -548 -161 b -536 -303 -548 -254 -544 -280 b -533 -317 -534 -309 -533 -313 b -553 -338 -533 -330 -541 -338 b -577 -315 -566 -338 -571 -333 b -590 -227 -586 -287 -590 -258 b -518 -9 -590 -154 -564 -77 b -465 56 -509 2 -504 8 l -402 134 b -363 174 -374 170 -371 174 b -359 174 -362 174 -360 174 b -262 86 -351 174 -356 179 b -176 0 -216 37 -176 0 b -107 84 -176 0 -145 37 b -31 174 -36 173 -38 172 b -25 174 -29 174 -28 174 b -16 173 -23 174 -19 173 b 147 11 -13 172 35 123 l 157 -1 l 160 1 l 163 4 l 163 130 b 164 260 163 256 163 258 b 175 273 166 266 170 270 "},v2a:{x_min:-21.78125,x_max:366.140625,ha:374,o:"m 276 1378 b 284 1379 279 1379 281 1379 b 306 1360 292 1379 298 1374 b 352 1247 326 1326 343 1286 b 366 1139 362 1213 366 1175 b 347 1009 366 1093 359 1049 l 344 1002 l 347 992 b 352 971 348 986 351 977 b 366 863 362 936 366 899 b 347 732 366 818 359 773 l 344 725 l 347 716 b 352 695 348 710 351 700 b 366 588 362 659 366 623 b 223 262 366 464 314 345 b 189 233 212 252 212 252 b 35 76 126 183 73 129 b -1 16 20 56 2 27 b -19 4 -4 9 -12 4 l -21 4 l -21 137 l -21 270 l -17 270 b 186 344 59 281 134 308 b 319 606 270 399 319 499 b 317 650 319 620 319 635 l 315 659 l 314 655 b 223 537 288 607 258 570 b 189 509 212 528 212 528 b 35 352 126 459 73 405 b -1 292 20 333 2 303 b -19 280 -4 285 -12 280 l -21 280 l -21 413 l -21 546 l -17 546 b 186 620 59 557 134 584 b 319 882 270 675 319 775 b 317 925 319 896 319 911 l 315 935 l 314 931 b 223 813 288 884 258 846 b 189 785 212 805 212 805 b 35 628 126 735 73 681 b -1 569 20 609 2 580 b -19 556 -4 562 -12 556 l -21 556 l -21 689 l -21 823 l -17 823 b 202 907 68 835 152 867 b 319 1157 280 968 319 1061 b 270 1338 319 1218 303 1281 b 262 1358 264 1349 262 1353 b 262 1364 262 1360 262 1363 b 276 1378 265 1371 269 1376 "},v2c:{x_min:-597.53125,x_max:596.171875,ha:608,o:"m -413 173 b -408 174 -412 174 -409 174 b -397 173 -404 174 -400 173 b -308 86 -394 172 -374 151 b -223 0 -261 37 -223 0 b -153 84 -223 0 -191 37 b -77 174 -83 173 -84 172 b -72 174 -76 174 -74 174 b -62 173 -68 174 -63 173 b 25 86 -59 172 -39 151 b 112 0 73 37 111 0 b 181 84 112 0 144 37 b 257 174 251 173 251 172 b 262 174 258 174 261 174 b 273 173 266 174 270 173 b 436 9 276 172 347 101 l 447 -1 l 477 36 b 522 79 511 79 513 79 l 522 79 b 552 51 533 79 539 73 b 596 -112 582 6 596 -51 b 567 -262 596 -161 586 -213 b 539 -322 558 -287 544 -316 b 524 -327 534 -326 529 -327 b 504 -315 515 -327 507 -323 b 503 -308 503 -312 503 -309 b 511 -285 503 -302 504 -297 b 555 -113 540 -227 555 -169 b 544 -34 555 -86 551 -59 b 522 19 540 -16 530 8 l 521 22 l 481 -26 l 405 -122 b 353 -176 366 -172 362 -176 b 349 -176 352 -176 351 -176 b 253 -87 341 -176 347 -180 b 167 0 206 -38 167 0 b 99 -86 167 0 136 -38 b 21 -174 27 -174 28 -173 b 17 -176 20 -176 19 -176 b 6 -174 13 -176 9 -174 b -81 -87 4 -173 -14 -152 b -167 0 -129 -38 -167 0 b -236 -86 -167 0 -198 -38 b -313 -174 -307 -174 -306 -173 b -318 -176 -314 -176 -315 -176 b -328 -174 -321 -176 -325 -174 b -491 -12 -330 -173 -367 -137 l -503 0 l -530 -34 b -570 -77 -562 -73 -564 -76 b -577 -79 -571 -79 -574 -79 b -597 -58 -588 -79 -597 -69 b -596 -49 -597 -55 -597 -52 b -417 172 -593 -43 -423 167 b -413 173 -417 172 -415 173 "},v2d:{x_min:0,x_max:438.28125,ha:447,o:"m 212 190 b 219 191 213 191 216 191 b 236 176 225 191 228 190 b 419 18 277 105 341 49 b 436 5 431 13 434 11 b 438 -1 438 4 438 1 b 424 -16 438 -8 432 -13 b 356 -49 409 -20 379 -36 b 234 -180 306 -83 258 -133 b 219 -192 230 -188 224 -192 b 200 -176 213 -192 206 -187 b 9 -15 157 -102 89 -45 b 0 0 2 -12 0 -6 b 16 18 0 9 2 12 b 200 176 93 48 159 104 b 212 190 205 186 208 188 m 239 113 b 236 117 238 116 238 117 b 230 108 235 117 234 115 b 92 -15 196 58 140 8 b 88 -18 91 -16 88 -18 b 92 -20 88 -18 91 -19 b 198 -116 130 -43 166 -74 b 200 -117 200 -117 200 -117 b 201 -117 200 -117 201 -117 b 264 -43 212 -98 242 -62 b 345 15 288 -19 321 4 b 348 18 347 16 348 16 b 344 20 348 18 347 19 b 239 113 307 41 266 79 "},v2f:{x_min:-1.359375,x_max:680.5625,ha:694,o:"m 597 1042 b 604 1042 600 1042 602 1042 b 642 1002 627 1042 642 1022 b 619 966 642 988 635 974 b 439 927 574 942 503 927 l 426 927 l 426 921 b 430 838 428 893 430 866 b 345 480 430 696 398 560 b 179 391 307 423 249 391 b 156 392 171 391 164 392 b 138 394 149 394 142 394 b 103 434 115 396 103 416 b 129 471 103 451 111 466 b 141 474 133 473 137 474 b 172 459 153 474 164 469 b 181 455 175 456 176 455 b 187 456 182 455 185 455 b 253 520 212 460 234 483 b 315 836 294 605 315 714 b 311 928 315 867 314 898 b 302 945 310 943 311 942 b 245 953 283 950 262 953 b 130 891 193 953 149 931 b 84 860 119 870 102 860 b 36 905 61 860 39 877 b 36 910 36 907 36 909 b 80 970 36 931 50 949 b 249 1017 125 1000 187 1017 b 322 1009 273 1017 299 1014 l 341 1003 b 436 991 372 995 406 991 b 577 1031 495 991 545 1004 b 597 1042 583 1038 590 1041 m 416 360 b 424 360 419 360 421 360 b 481 309 454 360 479 338 b 503 145 484 280 495 199 b 585 -185 525 16 555 -106 b 630 -245 596 -213 613 -237 l 634 -247 l 638 -245 b 647 -244 641 -245 645 -244 b 680 -278 666 -244 680 -262 b 664 -308 680 -290 675 -301 b 638 -312 658 -310 650 -312 b 613 -309 631 -312 623 -310 b 477 -201 555 -303 502 -260 b 417 -2 460 -159 434 -72 b 416 5 417 1 416 5 b 416 5 416 5 416 5 b 411 -5 415 5 413 0 b 359 -97 397 -33 377 -70 b 353 -106 355 -102 353 -105 b 359 -112 353 -108 355 -109 b 409 -130 375 -123 390 -129 b 426 -134 420 -130 421 -131 b 431 -147 428 -137 431 -141 b 420 -162 431 -152 427 -159 b 382 -169 409 -166 396 -169 b 323 -155 363 -169 341 -165 l 317 -152 l 314 -155 b 62 -303 240 -240 148 -295 b 36 -305 55 -305 44 -305 b 23 -303 29 -305 24 -305 b -1 -273 6 -299 -1 -287 b 31 -240 -1 -256 10 -240 b 36 -240 32 -240 34 -240 b 42 -241 38 -241 39 -241 b 134 -204 63 -241 99 -226 b 367 288 265 -115 357 81 b 375 330 368 313 370 320 b 416 360 383 347 400 358 m 360 -359 b 379 -359 363 -359 371 -359 b 424 -360 396 -359 416 -359 b 646 -502 536 -373 624 -430 b 649 -527 649 -510 649 -519 b 530 -673 649 -578 604 -635 l 521 -677 l 529 -681 b 653 -811 592 -714 637 -762 b 660 -853 658 -827 660 -839 b 645 -911 660 -873 656 -892 b 426 -1021 608 -981 519 -1021 b 283 -989 377 -1021 328 -1011 b 235 -949 249 -972 239 -964 b 234 -936 234 -946 234 -941 b 234 -928 234 -934 234 -931 l 235 -925 l 234 -927 l 225 -934 b 87 -982 186 -966 138 -982 b 80 -982 85 -982 83 -982 b 55 -981 70 -981 58 -981 b 17 -943 32 -981 17 -964 b 54 -904 17 -921 35 -904 b 78 -914 62 -904 72 -909 l 83 -918 l 88 -918 b 190 -831 122 -918 166 -881 b 269 -506 242 -727 269 -612 b 268 -462 269 -492 269 -477 b 266 -449 266 -458 266 -452 b 265 -444 266 -445 266 -444 b 257 -446 264 -444 261 -445 b 132 -545 196 -470 152 -505 b 88 -573 122 -563 104 -573 b 39 -523 63 -573 39 -553 b 63 -476 39 -505 44 -494 b 360 -359 136 -408 235 -369 m 419 -424 b 393 -423 411 -423 406 -423 l 375 -423 l 377 -426 b 379 -439 377 -427 378 -434 b 383 -510 382 -463 383 -487 b 314 -811 383 -609 360 -710 b 266 -893 296 -850 285 -870 b 264 -898 265 -896 264 -898 l 264 -898 b 264 -898 264 -898 264 -898 b 268 -898 264 -898 266 -898 b 273 -898 270 -898 272 -898 b 300 -909 283 -898 291 -900 b 426 -957 340 -941 385 -957 b 476 -949 443 -957 460 -954 b 547 -853 522 -931 547 -893 b 485 -745 547 -816 526 -775 b 397 -707 460 -727 432 -714 b 366 -675 375 -703 366 -692 b 396 -642 366 -657 377 -645 b 530 -557 455 -637 511 -601 b 536 -527 534 -548 536 -537 b 419 -424 536 -480 490 -437 "},v30:{x_min:-21.78125,x_max:367.5,ha:375,o:"m 276 1900 b 284 1901 279 1900 281 1901 b 306 1883 291 1901 298 1896 b 367 1686 347 1825 367 1757 b 343 1558 367 1643 359 1600 l 338 1549 l 343 1537 b 367 1411 359 1497 367 1454 b 343 1282 367 1367 359 1324 l 338 1272 l 343 1261 b 367 1135 359 1221 367 1178 b 343 1007 367 1090 359 1047 l 338 996 l 343 985 b 367 859 359 945 367 902 b 343 731 367 814 359 771 l 338 720 l 343 709 b 367 582 359 667 367 626 b 289 362 367 503 340 426 b 239 312 276 345 259 330 b 29 77 152 237 76 152 b -1 18 14 54 2 30 b -19 4 -4 11 -12 4 l -21 4 l -21 133 l -20 260 l -13 262 b 98 299 17 269 62 284 b 111 305 103 302 110 305 b 167 334 123 310 156 327 b 319 595 264 391 319 491 b 313 659 319 616 318 638 b 310 667 311 664 311 667 b 307 663 310 667 308 666 b 240 588 289 637 269 614 b 16 331 141 505 62 413 b -1 294 8 316 1 302 b -19 280 -4 287 -12 280 l -21 280 l -21 408 l -20 537 l -13 538 b 98 576 17 545 62 560 b 111 581 103 578 110 581 b 167 610 123 587 156 603 b 319 871 264 667 319 767 b 313 935 319 892 318 913 b 310 942 311 941 311 942 b 307 939 310 942 308 941 b 240 864 289 913 269 889 b 16 607 141 781 62 689 b -1 570 8 592 1 578 b -19 556 -4 563 -12 556 l -21 556 l -21 684 l -20 813 l -13 814 b 98 852 17 821 62 836 b 111 857 103 855 110 857 b 167 886 123 863 156 880 b 319 1147 264 943 319 1043 b 313 1211 319 1168 318 1189 b 310 1218 311 1217 311 1218 b 307 1215 310 1218 308 1217 b 240 1140 289 1188 269 1165 b 16 884 141 1057 62 966 b -1 846 8 868 1 855 b -19 832 -4 839 -12 832 l -21 832 l -21 960 l -20 1089 l -13 1090 b 98 1128 17 1097 62 1111 b 111 1134 103 1131 110 1134 b 167 1163 123 1139 156 1156 b 319 1424 264 1220 319 1320 b 313 1486 319 1444 318 1465 b 310 1494 311 1493 311 1494 b 307 1492 310 1494 308 1493 b 240 1417 289 1464 269 1442 b 16 1160 141 1333 62 1242 b -1 1121 8 1145 1 1131 b -19 1109 -4 1115 -12 1109 l -21 1109 l -21 1236 l -20 1365 l -13 1367 b 98 1404 17 1374 62 1388 b 111 1410 103 1407 110 1410 b 250 1508 172 1437 215 1467 b 319 1701 296 1564 319 1633 b 270 1859 319 1757 303 1814 b 262 1882 265 1868 262 1875 b 276 1900 262 1890 266 1896 "},v31:{x_min:0,x_max:386.5625,ha:394,o:"m 0 173 l 0 347 l 193 347 l 386 347 l 386 173 l 386 0 l 193 0 l 0 0 l 0 173 "},v33:{x_min:-423.3125,x_max:421.9375,ha:431,o:"m -10 276 b -2 277 -8 277 -5 277 b 17 265 5 277 13 273 b 19 163 19 260 19 260 l 19 68 l 39 45 b 277 -95 122 -34 200 -81 b 289 -97 281 -97 285 -97 b 378 0 332 -97 371 -54 b 378 11 378 4 378 6 b 302 83 378 55 345 83 b 242 66 283 83 262 77 b 208 56 231 59 219 56 b 148 120 175 56 148 81 b 200 186 148 151 164 172 b 261 198 220 194 240 198 b 420 45 341 198 411 137 b 421 22 421 37 421 29 b 257 -198 421 -86 347 -188 b 242 -198 251 -198 247 -198 b 20 -105 181 -198 95 -163 l 19 -104 l 19 -183 b 19 -216 19 -195 19 -206 b 12 -273 19 -272 17 -267 b -2 -278 8 -277 2 -278 b -21 -266 -10 -278 -19 -274 b -23 -165 -23 -263 -23 -262 l -23 -69 l -44 -47 b -250 86 -117 23 -183 66 b -295 94 -270 93 -284 94 b -315 91 -302 94 -308 94 b -381 5 -356 81 -381 43 b -355 -56 -381 -16 -372 -40 b -299 -81 -338 -73 -319 -81 b -246 -68 -283 -81 -265 -77 b -212 -58 -234 -61 -223 -58 b -168 -77 -196 -58 -179 -65 b -151 -122 -156 -90 -151 -105 b -179 -174 -151 -141 -160 -162 b -239 -195 -194 -184 -217 -192 b -257 -197 -245 -195 -250 -197 b -423 -5 -349 -197 -423 -113 b -423 0 -423 -4 -423 -1 b -277 194 -420 97 -362 173 b -247 197 -268 197 -258 197 b -24 104 -185 197 -100 162 l -23 102 l -23 181 b -21 265 -23 260 -23 260 b -10 276 -20 269 -14 274 "},v34:{x_min:0,x_max:622.03125,ha:635,o:"m 398 417 b 406 419 401 419 404 419 b 427 398 417 419 427 409 b 427 391 427 395 427 392 b 34 -274 424 385 38 -272 b 20 -280 29 -278 25 -280 b 0 -259 9 -280 0 -270 b 0 -252 0 -256 0 -254 b 393 413 2 -247 389 410 b 398 417 394 415 397 416 m 592 417 b 600 419 594 419 597 419 b 622 398 611 419 622 409 b 620 391 622 395 620 392 b 227 -274 617 385 231 -272 b 213 -280 223 -278 219 -280 b 193 -259 202 -280 193 -270 b 194 -252 193 -256 193 -254 b 586 413 196 -247 582 410 b 592 417 588 415 590 416 "},v36:{x_min:-1.359375,x_max:1064.390625,ha:1086,o:"m 296 692 b 314 694 302 694 307 694 b 386 685 337 694 366 689 b 548 498 480 660 548 580 b 548 481 548 492 548 487 b 455 395 541 426 499 395 b 370 462 420 395 383 417 b 362 496 364 477 362 488 b 377 514 362 509 367 514 b 393 501 386 514 390 510 b 432 474 397 484 413 474 b 470 487 445 474 458 478 b 491 530 484 496 491 510 b 490 544 491 534 491 539 b 333 660 479 606 411 657 l 323 662 l 315 646 b 269 524 285 591 269 556 b 321 431 269 492 287 466 b 349 395 338 413 343 408 b 363 342 359 378 363 362 b 359 312 363 333 362 322 b 285 158 348 266 318 206 b 281 152 283 155 281 152 b 281 152 281 152 281 152 b 287 154 283 152 284 152 b 318 155 298 154 308 155 b 461 98 371 155 419 136 l 464 97 l 483 112 b 503 129 494 120 503 127 b 504 130 503 129 504 129 b 503 138 504 131 503 134 b 500 180 500 152 500 166 b 553 326 500 238 518 288 b 604 366 560 331 592 358 b 649 381 617 376 632 381 b 696 362 665 381 681 374 b 724 302 714 347 724 324 b 695 238 724 278 714 255 b 660 210 691 234 662 212 b 579 148 658 209 582 151 b 579 148 579 148 579 148 b 596 106 579 144 589 119 b 622 77 604 88 609 83 b 657 69 632 72 645 69 b 748 112 688 69 721 84 b 755 123 754 117 755 120 b 755 127 755 124 755 126 b 751 165 752 137 751 151 b 758 219 751 183 754 202 b 894 387 774 290 820 347 b 896 390 896 388 896 388 b 891 398 896 391 895 392 b 622 560 827 477 730 535 b 600 580 605 564 600 569 b 617 596 600 591 607 596 b 628 595 622 596 624 596 b 1057 248 846 552 1020 412 b 1064 191 1061 229 1064 209 b 922 0 1064 94 1005 9 b 902 -1 916 -1 909 -1 b 774 76 847 -1 800 26 b 769 83 770 81 770 83 b 769 81 769 83 769 83 b 627 -1 733 29 677 -1 b 548 27 597 -1 570 8 b 515 88 537 37 525 61 l 513 95 l 510 93 l 453 45 b 390 0 396 0 396 0 b 390 0 390 0 390 0 b 374 15 381 0 377 4 b 268 105 359 69 314 105 b 250 104 262 105 257 105 l 243 102 l 234 90 b 155 1 201 49 159 2 b 147 -1 152 0 149 -1 b 130 15 138 -1 130 6 b 132 20 130 18 132 19 b 136 31 133 22 134 27 b 220 131 149 74 178 109 b 231 137 225 134 230 136 b 302 278 280 202 302 244 b 265 335 302 299 295 309 b 209 442 234 363 213 402 b 209 455 209 446 209 451 b 279 648 209 502 232 564 l 285 659 l 283 659 b 176 627 238 653 210 645 b 57 477 111 594 66 538 b 55 459 55 471 55 464 b 72 409 55 437 61 415 b 93 403 78 405 87 403 b 152 467 123 403 151 431 b 168 488 153 483 157 488 b 185 462 181 488 185 483 l 185 460 b 137 344 183 409 168 369 b 78 322 119 328 98 322 b 13 360 50 322 25 335 b -1 426 4 380 -1 402 b 89 610 -1 488 32 559 b 296 692 147 659 210 685 m 926 348 b 921 353 924 351 922 353 b 914 348 920 353 918 351 b 823 167 857 306 823 237 b 828 124 823 154 826 138 b 890 31 837 79 862 40 b 896 31 892 31 894 31 b 956 104 916 31 940 59 b 970 191 965 129 970 159 b 966 241 970 208 969 224 b 926 348 959 277 945 313 m 627 326 b 619 326 624 326 622 326 b 598 316 611 326 604 323 b 568 215 579 288 568 255 b 568 208 568 213 568 210 b 571 183 570 195 570 184 l 571 183 b 594 201 571 183 582 191 l 634 231 b 660 259 653 247 656 248 b 664 278 662 266 664 272 b 627 326 664 299 649 320 "},v38:{x_min:-1.359375,x_max:651.96875,ha:665,o:"m 389 644 b 405 645 394 645 400 645 b 504 566 450 645 492 613 b 507 541 506 557 507 549 b 480 471 507 514 498 489 l 477 467 l 483 470 b 609 591 539 485 586 531 b 613 601 611 595 613 599 b 631 609 619 607 624 609 b 651 588 641 609 651 602 b 200 -946 651 584 204 -941 b 182 -957 197 -953 190 -957 b 163 -945 174 -957 166 -953 b 161 -939 161 -942 161 -942 b 217 -743 161 -931 170 -904 b 272 -555 247 -639 272 -555 b 272 -555 272 -555 272 -555 b 264 -560 272 -555 268 -557 b 140 -603 227 -589 182 -603 b 36 -567 102 -603 65 -592 b -1 -487 12 -548 -1 -517 b 17 -427 -1 -466 5 -445 b 103 -380 38 -395 70 -380 b 191 -433 137 -380 172 -398 b 205 -484 201 -448 205 -466 b 178 -553 205 -509 196 -535 l 175 -557 l 182 -555 b 307 -435 236 -539 284 -494 b 372 -213 308 -430 372 -215 b 372 -213 372 -213 372 -213 b 364 -219 372 -213 368 -216 b 240 -262 328 -247 283 -262 b 137 -226 202 -262 166 -249 b 99 -145 112 -206 99 -176 b 118 -84 99 -124 106 -104 b 204 -38 138 -54 171 -38 b 292 -91 238 -38 273 -56 b 306 -141 302 -106 306 -124 b 279 -212 306 -167 296 -194 l 276 -215 l 281 -213 b 408 -93 336 -198 385 -151 b 473 129 409 -88 473 127 b 473 129 473 129 473 129 b 465 122 473 129 469 126 b 341 80 428 94 383 80 b 236 115 303 80 266 91 b 200 195 213 136 200 165 b 217 256 200 217 206 238 b 304 303 239 287 272 303 b 393 249 338 303 374 285 b 406 199 402 234 406 217 b 379 129 406 173 397 148 l 377 126 l 382 127 b 509 248 436 142 485 190 b 574 470 510 254 574 469 b 574 470 574 470 574 470 b 566 464 574 470 570 467 b 442 421 529 435 484 421 b 337 458 404 421 367 433 b 300 537 313 478 300 508 b 389 644 300 585 334 635 "},v39:{x_min:-171.5,x_max:251.8125,ha:257,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 553 20 616 20 614 b 20 491 20 503 20 491 l 20 491 b 153 535 47 501 149 535 b 174 514 167 535 174 524 b 164 496 174 508 171 501 b 92 470 164 495 132 484 l 20 445 l 20 390 b 20 363 20 378 20 370 b 20 333 20 340 20 333 l 20 333 b 153 377 47 344 149 377 b 174 356 167 377 174 367 b 164 338 174 349 171 342 b 92 312 164 338 132 326 l 20 288 l 20 219 l 20 148 l 21 151 b 137 199 59 183 99 199 b 182 191 152 199 167 197 b 251 84 227 176 251 134 b 228 0 251 58 243 29 b 100 -142 206 -40 178 -72 l 23 -215 b -1 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 b -21 30 -21 -212 -21 -212 b -21 273 -21 163 -21 273 b -84 252 -21 273 -50 263 b -152 230 -133 234 -145 230 b -157 231 -155 230 -156 231 b -171 252 -166 234 -171 244 b -160 270 -171 259 -167 266 b -27 316 -159 270 -93 294 l -21 319 l -21 374 b -21 431 -21 406 -21 431 b -84 409 -21 431 -50 421 b -152 388 -133 392 -145 388 b -157 390 -155 388 -156 388 b -171 409 -166 392 -171 401 b -160 428 -171 417 -167 424 b -27 474 -159 428 -93 451 l -21 476 l -21 546 b -20 620 -21 614 -21 616 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 "},v3b:{x_min:0,x_max:484.5625,ha:494,o:"m 228 245 b 239 247 234 247 239 247 b 243 247 240 247 242 247 b 303 238 257 247 287 242 b 484 -2 417 208 484 104 b 412 -177 484 -65 461 -127 b 243 -248 363 -226 303 -248 b 6 -63 138 -248 36 -180 b 0 -1 1 -41 0 -20 b 228 245 0 127 98 240 m 255 181 b 240 183 247 183 245 183 b 232 181 238 183 235 183 b 142 152 200 180 168 170 l 138 149 l 190 97 l 242 44 l 294 97 l 345 149 l 340 152 b 255 181 315 169 284 180 m 147 -54 l 197 -1 l 147 51 l 95 104 l 91 99 b 62 -1 72 70 62 34 b 66 -43 62 -15 63 -29 b 91 -101 72 -63 80 -84 l 95 -106 l 147 -54 m 393 99 b 389 104 390 102 389 104 b 337 51 389 104 366 80 l 285 -1 l 337 -54 l 389 -106 l 393 -101 b 421 -1 412 -72 421 -36 b 393 99 421 34 412 69 m 294 -98 b 242 -45 265 -69 242 -45 b 190 -98 242 -45 219 -69 l 138 -151 l 142 -154 b 242 -184 172 -174 206 -184 b 340 -154 276 -184 311 -174 l 345 -151 l 294 -98 "},v3c:{x_min:0,x_max:450.53125,ha:460,o:"m 189 302 b 204 303 193 302 198 303 b 303 224 250 303 292 270 b 306 199 304 216 306 208 b 279 129 306 173 296 147 l 276 126 l 281 127 b 408 249 337 142 385 190 b 412 259 409 254 412 258 b 430 267 417 265 423 267 b 450 247 441 267 450 259 b 200 -605 450 242 204 -599 b 182 -616 197 -612 190 -616 b 163 -602 174 -616 166 -610 b 161 -598 161 -601 161 -601 b 217 -402 161 -589 170 -562 b 272 -213 247 -298 272 -213 b 272 -213 272 -213 272 -213 b 264 -219 272 -213 268 -216 b 140 -262 227 -247 182 -262 b 36 -226 102 -262 65 -249 b 0 -145 12 -206 0 -176 b 17 -84 0 -124 5 -104 b 103 -38 38 -54 70 -38 b 191 -91 137 -38 172 -56 b 205 -141 201 -106 205 -124 b 178 -212 205 -167 196 -194 l 175 -215 l 182 -213 b 307 -93 236 -198 284 -151 b 372 129 308 -88 372 127 b 372 129 372 129 372 129 b 364 122 372 129 368 126 b 240 80 328 94 283 80 b 137 115 202 80 166 91 b 99 194 111 136 99 165 b 189 302 99 244 133 292 "},v3e:{x_min:0,x_max:406.96875,ha:415,o:"m 21 183 b 28 183 24 183 25 183 b 42 181 34 183 39 183 b 127 108 47 179 47 179 b 202 41 168 72 202 41 b 279 108 204 41 238 72 b 357 177 321 145 356 176 b 375 183 363 181 370 183 b 406 151 392 183 406 169 b 404 137 406 147 405 141 b 322 62 401 131 398 129 b 251 0 284 27 251 0 b 322 -63 251 -1 284 -29 b 404 -138 398 -130 401 -133 b 406 -152 405 -142 406 -148 b 375 -184 406 -170 392 -184 b 357 -179 370 -184 363 -183 b 279 -109 356 -177 321 -147 b 202 -43 238 -73 204 -43 b 127 -109 202 -43 168 -73 b 49 -179 85 -147 50 -177 b 31 -184 43 -183 36 -184 b 0 -152 13 -184 0 -170 b 2 -138 0 -148 0 -142 b 83 -63 5 -133 8 -130 b 155 0 122 -29 155 -1 b 83 62 155 0 122 27 b 8 129 43 97 10 127 b 0 151 2 136 0 144 b 21 183 0 165 8 177 "},v3f:{x_min:-24.5,x_max:317.140625,ha:324,o:"m -24 -147 l -24 -5 l -20 -5 b -1 -19 -12 -5 -4 -11 b 58 -123 6 -43 31 -86 b 196 -278 93 -173 134 -219 b 317 -570 274 -356 317 -460 b 294 -713 317 -617 308 -666 l 289 -724 l 294 -735 b 317 -873 308 -780 317 -827 b 235 -1132 317 -963 288 -1054 b 209 -1165 228 -1140 224 -1146 b 189 -1177 204 -1172 196 -1177 b 171 -1164 182 -1177 175 -1172 b 168 -1154 170 -1161 168 -1159 b 181 -1132 168 -1149 172 -1142 b 269 -891 238 -1064 269 -975 b 269 -881 269 -886 269 -884 b 262 -814 269 -857 265 -827 b 258 -800 261 -811 259 -806 b 142 -628 240 -731 198 -667 b -8 -589 112 -606 47 -589 b -20 -589 -13 -589 -19 -589 l -24 -589 l -24 -449 l -24 -308 l -20 -308 b -1 -322 -12 -308 -4 -313 b 58 -424 6 -345 31 -388 b 194 -580 93 -476 136 -523 b 259 -660 221 -606 245 -635 b 261 -663 259 -662 261 -663 b 264 -656 262 -663 262 -660 b 269 -587 268 -632 269 -610 b 264 -521 269 -566 268 -544 b 262 -512 264 -517 262 -513 b 258 -498 261 -509 259 -503 b 142 -326 240 -428 198 -365 b -8 -287 112 -303 47 -288 b -20 -287 -13 -287 -19 -287 l -24 -287 l -24 -147 "},v40:{x_min:-1.359375,x_max:436.921875,ha:446,o:"m 213 205 b 217 205 215 205 216 205 b 234 194 224 205 234 199 b 236 187 234 194 235 190 l 245 167 l 261 129 l 270 106 b 355 -61 294 54 329 -13 b 420 -163 381 -105 402 -138 b 436 -188 435 -184 436 -184 b 436 -191 436 -190 436 -190 b 421 -206 436 -201 431 -206 l 421 -206 l 416 -206 l 405 -201 b 217 -158 347 -172 283 -158 b 31 -201 153 -158 88 -172 l 20 -206 l 14 -206 l 14 -206 b 0 -191 5 -206 0 -201 b -1 -188 0 -190 -1 -190 b 14 -163 -1 -186 0 -184 b 95 -34 36 -136 72 -77 b 166 106 119 8 148 68 l 175 129 l 183 148 l 200 188 b 213 205 205 199 208 202 "},v41:{x_min:-1.359375,x_max:556.6875,ha:568,o:"m 294 322 b 318 323 299 322 308 323 b 360 320 334 323 352 322 b 526 217 430 310 490 273 b 543 166 537 202 543 184 b 447 70 543 117 503 70 b 445 70 447 70 446 70 b 359 159 394 72 359 113 b 368 201 359 173 362 187 b 442 245 382 229 412 245 b 455 244 446 245 451 245 b 460 244 458 244 460 244 b 460 244 460 244 460 244 b 454 248 460 244 458 245 b 325 291 417 276 372 291 b 285 287 313 291 299 290 b 144 -2 183 269 144 190 b 281 -290 144 -208 179 -280 b 304 -291 289 -291 298 -291 b 524 -105 412 -291 506 -212 b 541 -84 526 -88 530 -84 b 556 -101 551 -84 556 -90 b 549 -138 556 -111 553 -122 b 334 -322 521 -237 435 -310 b 302 -324 323 -323 313 -324 b 13 -101 172 -324 54 -234 b -1 -1 4 -68 -1 -34 b 294 322 -1 161 121 303 "},v42:{x_min:-348.4375,x_max:24.5,ha:25,o:"m -330 155 b -322 156 -329 156 -326 156 b -315 156 -319 156 -317 156 b -298 147 -311 155 -308 154 b -19 30 -224 98 -122 55 l 2 26 b 24 -1 17 22 24 13 b 2 -27 24 -15 17 -23 l -19 -31 b -298 -148 -122 -56 -224 -99 b -322 -158 -313 -158 -315 -158 b -348 -131 -338 -158 -348 -145 b -344 -117 -348 -127 -347 -122 b -328 -104 -341 -112 -338 -111 b -127 -8 -269 -65 -202 -33 b -106 0 -115 -4 -106 -1 b -127 6 -106 0 -115 2 b -328 102 -202 31 -269 63 b -344 116 -338 109 -341 111 b -348 130 -347 120 -348 124 b -330 155 -348 141 -341 152 "},v43:{x_min:-442.359375,x_max:441,ha:450,o:"m -31 487 b -1 488 -21 488 -10 488 b 434 104 216 488 397 330 b 441 27 438 79 441 47 b 439 12 441 20 439 15 b 419 0 435 4 427 0 b 404 5 413 0 408 1 b 398 30 400 11 398 13 b 0 351 390 213 213 351 b -59 348 -20 351 -39 349 b -400 30 -251 324 -393 191 b -405 5 -400 13 -401 11 b -420 0 -409 1 -415 0 b -441 12 -428 0 -436 4 b -442 27 -441 15 -442 20 b -435 104 -442 47 -439 79 b -31 487 -401 316 -235 474 m -13 131 b -1 133 -9 133 -5 133 b 51 105 19 133 39 123 b 61 70 58 95 61 83 b 51 34 61 58 58 45 b -1 6 39 16 19 6 b -46 27 -17 6 -34 13 b -62 69 -57 38 -62 54 b -13 131 -62 98 -44 124 "},v44:{x_min:-21.78125,x_max:251.8125,ha:257,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 383 20 616 20 616 l 20 148 l 21 151 b 137 199 59 183 99 199 b 182 191 152 199 167 197 b 251 84 227 176 251 134 b 228 0 251 58 243 29 b 100 -142 206 -40 178 -72 l 23 -215 b 0 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 l -21 -212 l -21 201 l -21 616 l -20 620 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 "},v45:{x_min:-402.890625,x_max:401.53125,ha:410,o:"m -10 273 b -4 274 -9 273 -6 274 b 16 262 4 274 12 269 b 17 158 17 259 17 259 l 17 56 l 62 112 b 117 174 110 172 110 172 b 122 174 118 174 119 174 b 132 173 125 174 129 173 b 295 11 134 172 171 134 l 307 -1 l 336 34 b 374 76 366 72 368 74 b 381 77 375 77 378 77 b 401 56 392 77 401 68 b 400 48 401 54 401 51 b 223 -172 397 41 230 -166 b 210 -176 220 -174 215 -176 b 201 -174 206 -176 204 -176 b 112 -87 198 -173 178 -152 b 27 0 65 -38 27 0 b 21 -6 27 0 24 -2 l 17 -12 l 17 -147 b 17 -210 17 -173 17 -194 b 10 -292 17 -297 16 -287 b -2 -299 6 -297 2 -299 b -21 -287 -10 -299 -19 -295 b -24 -174 -23 -284 -23 -284 l -24 -63 l -66 -117 b -121 -176 -110 -170 -114 -176 b -125 -176 -122 -176 -123 -176 b -296 -12 -134 -174 -125 -184 l -308 0 l -337 -34 b -375 -77 -367 -73 -370 -76 b -382 -79 -377 -79 -379 -79 b -402 -58 -393 -79 -402 -69 b -401 -49 -402 -55 -402 -52 b -224 170 -398 -43 -231 165 b -212 174 -221 173 -216 174 b -202 173 -208 174 -205 174 b -39 11 -200 172 -151 122 l -28 -1 l -25 1 l -24 4 l -24 130 b -23 260 -24 256 -24 258 b -10 273 -20 266 -16 270 "},v46:{x_min:0,x_max:627.46875,ha:640,o:"m 306 190 b 314 191 308 191 311 191 b 326 184 318 191 322 190 l 336 173 b 510 52 377 127 442 80 b 515 49 513 51 515 49 b 611 16 537 40 579 24 b 627 0 624 13 627 9 b 607 -18 627 -11 624 -13 b 330 -181 490 -49 389 -109 b 314 -192 323 -190 319 -192 b 306 -191 311 -192 308 -192 b 294 -177 302 -188 302 -188 b 257 -140 287 -170 265 -148 b 19 -18 193 -84 114 -44 b 0 0 2 -13 0 -11 b 16 16 0 9 2 13 b 110 49 47 24 89 40 b 117 52 111 49 114 51 b 145 65 126 56 130 58 b 281 163 200 93 245 124 b 300 186 288 170 291 174 b 306 190 300 187 303 188 m 317 137 b 313 142 315 141 314 142 b 308 137 313 142 311 141 b 161 4 276 84 220 33 b 155 0 159 1 155 0 b 163 -4 155 0 159 -2 b 308 -138 220 -34 276 -84 b 313 -142 311 -141 313 -142 b 317 -138 314 -142 315 -141 b 464 -4 351 -84 406 -34 b 470 0 468 -2 470 0 b 464 4 470 0 468 1 b 317 137 406 33 351 84 "},v47:{x_min:-24.5,x_max:315.78125,ha:322,o:"m -24 -145 l -24 -5 l -20 -5 b 1 -26 -10 -5 -6 -9 b 175 -241 31 -86 96 -166 b 314 -548 259 -323 304 -420 b 315 -589 315 -555 315 -571 b 314 -630 315 -606 315 -623 b 298 -730 311 -664 306 -699 l 295 -742 l 296 -748 b 314 -850 304 -778 311 -813 b 315 -892 315 -857 315 -874 b 314 -932 315 -909 315 -925 b 298 -1032 311 -967 306 -1002 l 295 -1045 l 296 -1050 b 314 -1153 304 -1081 311 -1115 b 315 -1193 315 -1160 315 -1177 b 314 -1235 315 -1211 315 -1228 b 217 -1526 306 -1338 270 -1444 b 201 -1533 213 -1532 208 -1533 b 182 -1522 193 -1533 185 -1529 b 179 -1514 181 -1518 179 -1517 b 189 -1489 179 -1508 182 -1501 b 266 -1217 240 -1403 266 -1308 b 262 -1156 266 -1196 265 -1177 b 110 -907 247 -1043 190 -950 b 0 -889 87 -895 50 -889 l -1 -889 l -24 -889 l -24 -749 l -24 -610 l -20 -610 b 1 -631 -10 -610 -6 -614 b 175 -846 31 -691 96 -771 b 259 -956 213 -884 236 -914 b 265 -966 262 -961 264 -966 b 265 -966 265 -966 265 -966 b 265 -953 265 -964 265 -959 b 266 -920 266 -943 266 -932 b 262 -853 266 -898 265 -873 b 110 -605 247 -741 190 -648 b 0 -587 87 -592 50 -587 l -1 -587 l -24 -587 l -24 -448 l -24 -308 l -20 -308 b 1 -328 -10 -308 -6 -312 b 175 -544 31 -388 96 -469 b 259 -655 213 -581 236 -612 b 265 -663 262 -659 264 -663 b 265 -663 265 -663 265 -663 b 265 -650 265 -663 265 -657 b 266 -617 266 -641 266 -630 b 262 -551 266 -595 265 -570 b 110 -303 247 -438 190 -345 b 0 -284 87 -290 50 -284 l -1 -284 l -24 -284 l -24 -145 "},v49:{x_min:0,x_max:630.203125,ha:643,o:"m 308 204 b 314 205 310 205 313 205 b 326 201 319 205 323 204 b 355 154 328 199 338 180 b 401 83 362 142 392 95 l 409 72 b 431 41 412 66 424 49 b 619 -174 498 -51 570 -134 b 630 -192 626 -180 630 -186 b 626 -202 630 -195 628 -199 b 616 -206 623 -205 620 -206 b 552 -188 608 -206 592 -202 b 310 -155 488 -169 392 -155 b 268 -156 295 -155 281 -155 b 77 -188 197 -161 126 -173 b 13 -206 35 -202 20 -206 b 9 -206 12 -206 10 -206 b 0 -191 2 -202 0 -197 b 8 -176 0 -186 2 -180 b 204 49 58 -136 138 -43 l 220 72 l 227 83 b 295 188 245 108 281 166 b 308 204 299 197 304 202 m 315 147 b 314 147 315 147 314 147 b 314 147 314 147 314 147 b 306 129 314 145 310 138 l 296 105 b 281 72 292 97 284 77 l 274 56 b 181 -123 247 -4 212 -72 l 174 -134 l 176 -133 b 314 -123 215 -127 272 -123 b 451 -133 356 -123 413 -127 l 454 -134 l 449 -123 b 353 56 417 -72 381 -4 l 347 72 b 332 105 344 77 336 97 l 322 129 b 315 147 318 138 315 145 "},v4a:{x_min:70.78125,x_max:378.390625,ha:315,o:"m 246 373 b 254 373 249 373 251 373 b 372 324 303 373 360 351 b 378 302 377 317 378 309 b 338 251 378 278 362 255 b 328 249 334 249 332 249 b 283 294 303 249 283 270 b 288 315 283 301 284 308 b 289 319 289 317 289 319 b 289 319 289 319 289 319 b 283 320 289 320 287 320 b 270 322 279 322 274 322 b 206 288 242 322 215 308 b 206 283 206 287 206 285 b 257 223 206 267 230 238 b 284 206 272 213 277 210 b 351 90 328 173 351 130 b 340 47 351 74 348 59 b 205 -30 314 -2 264 -30 b 182 -29 198 -30 190 -30 b 84 15 147 -24 103 -5 b 70 48 74 24 70 36 b 108 99 70 70 85 94 b 121 102 112 101 117 102 b 167 56 147 102 167 80 b 159 31 167 48 164 40 l 156 26 l 157 26 b 190 20 167 22 178 20 b 220 26 201 20 212 22 b 258 65 243 34 258 51 b 257 70 258 66 258 69 b 204 126 249 94 234 109 b 114 258 148 158 114 209 b 125 302 114 273 118 288 b 246 373 147 342 193 370 "},v4b:{x_min:0,x_max:503.609375,ha:514,o:"m 274 430 b 277 430 276 430 277 430 b 310 394 296 430 310 415 b 308 383 310 391 308 387 b 306 367 307 381 307 374 b 236 120 298 305 272 210 b 40 -273 189 -5 125 -134 b 20 -287 35 -283 27 -287 b 5 -281 14 -287 9 -285 b 0 -267 1 -277 0 -273 b 9 -242 0 -262 2 -255 b 246 395 137 -12 232 242 b 274 430 249 416 257 427 m 468 430 b 472 430 469 430 470 430 b 503 394 490 430 503 415 b 502 383 503 391 503 387 b 499 367 502 381 500 374 b 431 120 491 305 465 210 b 234 -273 382 -5 318 -134 b 213 -287 228 -283 220 -287 b 198 -281 208 -287 202 -285 b 193 -267 194 -277 193 -273 b 202 -242 193 -262 196 -255 b 439 395 330 -12 426 242 b 468 430 442 416 451 427 "},v4d:{x_min:-311.6875,x_max:310.328125,ha:317,o:"m -9 388 b -2 390 -8 390 -5 390 b 5 388 1 390 4 390 b 19 378 10 387 16 383 b 23 333 23 371 23 371 b 24 298 23 299 24 298 b 81 276 34 298 65 285 b 213 91 145 240 190 177 b 224 24 217 76 224 36 b 257 24 224 24 235 24 b 299 19 292 24 292 24 b 310 -1 306 15 310 6 b 299 -23 310 -11 306 -19 b 257 -27 292 -27 292 -27 b 224 -29 235 -27 224 -29 b 213 -95 224 -40 217 -80 b 81 -280 190 -181 145 -244 b 24 -301 65 -290 34 -301 b 23 -335 24 -301 23 -303 l 23 -340 b 17 -381 23 -374 23 -374 b -1 -391 13 -388 5 -391 b -21 -381 -9 -391 -17 -388 b -27 -340 -27 -374 -27 -374 l -27 -335 b -28 -301 -27 -303 -27 -301 b -85 -280 -38 -301 -69 -290 b -217 -95 -149 -244 -194 -181 b -228 -29 -221 -80 -228 -40 b -259 -27 -228 -29 -238 -27 b -300 -23 -294 -27 -294 -27 b -311 -2 -307 -19 -311 -11 b -294 23 -311 8 -304 19 b -259 24 -291 23 -284 24 b -228 24 -239 24 -228 24 b -217 91 -228 36 -221 76 b -85 276 -194 177 -149 240 b -28 298 -69 285 -38 298 b -27 333 -27 298 -27 299 b -27 371 -27 362 -27 369 b -9 388 -24 378 -17 385 m -27 136 b -28 247 -27 197 -28 247 b -61 216 -31 247 -53 226 b -123 33 -95 172 -121 98 l -125 24 l -76 24 l -27 24 l -27 136 m 29 242 b 24 247 27 245 24 247 b 23 136 24 247 23 197 l 23 24 l 72 24 l 121 24 l 119 33 b 29 242 115 116 77 206 m -27 -140 l -27 -27 l -76 -27 l -125 -27 l -123 -36 b -61 -220 -121 -102 -95 -176 b -28 -251 -53 -230 -31 -251 b -27 -140 -28 -251 -27 -201 m 119 -36 l 121 -27 l 72 -27 l 23 -27 l 23 -140 b 24 -251 23 -201 24 -251 b 57 -220 27 -251 49 -230 b 119 -36 91 -176 117 -102 "},v4e:{x_min:0,x_max:239.5625,ha:244,o:"m 10 460 b 20 462 13 462 14 462 b 39 449 28 462 35 458 l 40 446 l 40 326 b 40 205 40 259 40 205 b 127 227 40 205 80 215 b 220 249 196 244 213 249 b 227 247 224 249 225 248 b 238 237 231 245 235 241 l 239 233 l 239 -106 l 239 -448 l 238 -451 b 219 -463 234 -459 225 -463 b 198 -451 210 -463 202 -459 l 197 -448 l 197 -324 b 197 -201 197 -248 197 -201 b 110 -223 196 -201 157 -210 b 17 -245 42 -240 24 -245 b 10 -242 13 -245 13 -244 b 0 -233 6 -241 2 -237 l 0 -230 l 0 108 l 0 446 l 0 449 b 10 460 2 453 6 458 m 197 22 b 197 70 197 41 197 58 b 196 116 197 113 197 116 l 196 116 b 118 97 196 116 160 106 l 40 77 l 40 -18 b 40 -112 40 -69 40 -112 l 119 -93 l 197 -73 l 197 22 "},v51:{x_min:-1.359375,x_max:455.96875,ha:465,o:"m 352 541 b 357 542 353 542 355 542 b 377 530 364 542 372 537 l 378 526 l 378 394 l 379 262 l 404 266 b 436 270 420 269 430 270 b 450 265 443 270 446 269 b 455 220 455 259 455 260 l 455 208 l 455 161 l 454 156 b 411 140 449 147 447 147 b 378 133 393 137 379 134 b 378 68 378 133 378 106 b 378 22 378 54 378 38 l 379 -87 l 404 -83 b 436 -79 420 -80 430 -79 b 450 -84 443 -79 446 -80 b 455 -129 455 -90 455 -88 l 455 -141 l 455 -188 l 454 -192 b 413 -209 449 -202 447 -202 b 382 -215 398 -212 383 -215 l 378 -215 l 378 -345 l 378 -380 b 375 -485 378 -484 378 -480 b 357 -494 371 -491 364 -494 b 340 -485 351 -494 344 -491 b 336 -383 337 -480 336 -484 l 336 -349 l 336 -223 l 334 -223 b 291 -231 334 -223 314 -227 l 247 -240 l 247 -371 l 246 -503 l 245 -506 b 225 -519 242 -514 234 -519 b 206 -506 219 -519 210 -514 l 205 -503 l 205 -376 l 205 -248 l 160 -256 l 115 -265 l 115 -396 l 115 -527 l 114 -531 b 95 -544 110 -539 102 -544 b 76 -531 87 -544 78 -539 l 73 -527 l 73 -399 b 73 -273 73 -330 73 -273 b 49 -277 73 -273 61 -274 b 17 -281 32 -280 24 -281 b 4 -276 10 -281 8 -280 b -1 -234 0 -269 -1 -272 b 0 -219 -1 -229 0 -224 l 0 -170 l 1 -167 b 10 -158 2 -163 6 -159 b 49 -149 13 -156 16 -155 l 73 -145 l 73 -34 b 73 76 73 26 73 76 b 49 72 73 76 61 74 b 17 68 32 69 24 68 b 4 73 10 68 8 69 b -1 115 0 80 -1 77 b 0 130 -1 120 0 124 l 0 179 l 1 181 b 10 191 2 186 6 190 b 49 199 13 192 16 194 l 73 204 l 73 338 b 73 374 73 352 73 365 b 77 483 73 484 73 477 b 95 492 81 489 88 492 b 111 483 100 492 107 489 b 115 378 115 477 115 483 l 115 342 b 117 212 115 223 115 212 b 204 229 117 212 200 227 l 205 229 l 205 365 l 205 502 l 206 505 b 225 517 210 513 219 517 b 245 505 234 517 242 513 l 246 502 l 247 369 l 247 237 l 249 237 b 336 254 253 238 336 254 b 337 390 336 254 337 302 l 337 526 l 338 530 b 352 541 341 535 347 539 m 336 15 b 336 126 336 102 336 126 l 336 126 b 291 117 336 126 315 122 l 247 109 l 247 -1 l 247 -112 l 249 -112 b 336 -95 253 -111 336 -95 b 336 15 336 -95 336 -56 m 205 -120 b 205 -55 205 -120 205 -93 b 205 -9 205 -41 205 -24 l 205 101 l 160 93 l 115 84 l 115 -26 b 115 -83 115 -49 115 -69 b 117 -137 115 -133 115 -137 b 205 -120 118 -137 204 -120 "},v52:{x_min:-10.890625,x_max:298.078125,ha:294,o:"m 138 473 b 142 474 140 473 141 474 b 164 459 148 474 153 470 b 191 402 183 442 191 423 b 181 353 191 388 187 371 b 178 349 179 352 178 349 b 179 348 178 348 179 348 b 185 349 181 348 182 348 b 255 376 210 355 234 363 b 272 381 264 381 266 381 b 298 355 287 381 298 370 b 288 330 298 348 298 345 b 171 34 238 254 194 141 b 166 13 168 16 168 16 b 144 1 161 5 152 1 b 121 15 134 1 125 5 b 115 33 119 18 117 24 b 0 330 91 145 49 252 b -10 355 -9 345 -10 348 b 13 381 -10 371 0 381 b 31 376 19 381 25 380 b 132 345 61 358 103 345 l 136 345 l 137 355 b 145 378 138 359 142 370 b 152 415 149 394 152 405 b 137 452 152 427 148 438 b 133 464 134 458 133 460 b 138 473 133 467 134 470 "},v53:{x_min:0,x_max:902.421875,ha:921,o:"m 17 240 b 24 241 19 241 21 241 b 32 240 28 241 31 241 b 46 229 38 238 43 234 b 50 88 50 223 50 237 b 50 -1 50 63 50 34 b 50 -90 50 -36 50 -65 b 46 -231 50 -238 50 -224 b 25 -242 42 -238 34 -242 b 0 -224 14 -242 4 -235 b 0 2 0 -222 0 -108 b 0 223 0 112 0 220 b 17 240 2 230 9 237 m 110 240 b 118 241 111 241 114 241 b 126 240 121 241 123 241 b 142 223 133 237 140 230 b 144 123 144 220 144 205 b 144 29 144 45 144 29 b 144 29 144 29 144 29 b 393 183 166 106 264 167 b 450 186 412 184 431 186 b 756 29 600 186 732 120 b 756 29 756 29 756 29 b 758 123 758 29 758 45 b 760 227 758 226 758 223 b 784 241 766 237 774 241 b 804 229 792 241 800 237 b 809 88 808 223 809 237 l 809 -1 l 809 -90 b 804 -231 809 -238 808 -224 b 784 -242 800 -238 792 -242 b 762 -231 775 -242 766 -238 b 758 -124 756 -224 758 -231 b 756 -30 758 -47 758 -30 b 756 -30 756 -30 756 -30 b 509 -184 736 -108 637 -169 b 450 -187 488 -187 469 -187 b 144 -30 300 -187 168 -122 b 144 -30 144 -30 144 -30 b 144 -124 144 -30 144 -47 b 140 -231 144 -231 144 -224 b 118 -242 134 -238 126 -242 b 92 -224 107 -242 96 -235 b 92 2 92 -222 92 -108 b 92 223 92 112 92 220 b 110 240 95 230 102 237 m 432 161 b 413 162 426 162 420 162 b 313 41 351 162 313 109 b 347 -73 313 5 323 -34 b 487 -163 385 -133 439 -163 b 578 -97 526 -163 562 -142 b 588 -43 585 -80 588 -62 b 432 161 588 47 518 147 m 868 240 b 876 241 869 241 872 241 b 884 240 879 241 882 241 b 898 229 890 238 894 234 b 902 88 902 223 902 237 l 902 -1 l 902 -90 b 898 -231 902 -238 902 -224 b 876 -242 892 -238 884 -242 b 852 -224 865 -242 854 -235 b 850 2 850 -222 850 -108 b 852 223 850 112 850 220 b 868 240 853 230 860 237 "},v54:{x_min:-24.5,x_max:317.140625,ha:324,o:"m -24 -161 l -24 -5 l -20 -5 b 0 -24 -9 -5 -2 -12 b 171 -315 21 -124 84 -233 b 317 -660 268 -406 317 -531 b 187 -1014 317 -782 274 -909 b 161 -1034 172 -1034 171 -1034 b 141 -1013 149 -1034 141 -1025 b 152 -991 141 -1004 142 -1002 b 266 -682 228 -899 266 -788 b 174 -430 266 -588 236 -498 b -23 -317 136 -388 66 -348 b -24 -161 -23 -316 -24 -285 "},v55:{x_min:0,x_max:551.25,ha:563,o:"m 289 644 b 304 645 294 645 299 645 b 404 566 349 645 392 613 b 406 541 405 557 406 549 b 379 471 406 514 397 489 l 377 467 l 382 470 b 509 591 438 485 485 531 b 513 601 510 595 513 599 b 530 609 518 607 524 609 b 551 588 540 609 551 602 b 200 -605 551 584 204 -599 b 182 -616 197 -612 190 -616 b 163 -602 174 -616 166 -610 b 161 -598 161 -601 161 -601 b 217 -402 161 -589 170 -562 b 272 -213 247 -298 272 -213 b 272 -213 272 -213 272 -213 b 264 -219 272 -213 268 -216 b 140 -262 227 -247 182 -262 b 36 -226 102 -262 65 -249 b 0 -145 12 -206 0 -176 b 17 -84 0 -124 5 -104 b 103 -38 38 -54 70 -38 b 191 -91 137 -38 172 -56 b 205 -141 201 -106 205 -124 b 178 -212 205 -167 196 -194 l 175 -215 l 182 -213 b 307 -93 236 -198 284 -151 b 372 129 308 -88 372 127 b 372 129 372 129 372 129 b 364 122 372 129 368 126 b 240 80 328 94 283 80 b 137 115 202 80 166 91 b 99 195 112 136 99 165 b 118 256 99 217 106 238 b 204 303 138 287 171 303 b 292 249 238 303 273 285 b 306 199 302 234 306 217 b 279 129 306 173 296 148 l 276 126 l 281 127 b 408 248 336 142 385 190 b 473 470 409 254 473 469 b 473 470 473 470 473 470 b 465 464 473 470 469 467 b 341 421 428 435 383 421 b 236 458 303 421 266 433 b 200 537 212 478 200 508 b 289 644 200 585 234 635 "},v58:{x_min:-21.78125,x_max:367.5,ha:375,o:"m 259 1553 b 265 1553 261 1553 264 1553 b 288 1540 272 1553 277 1550 b 367 1351 340 1493 367 1424 b 336 1221 367 1308 357 1263 l 332 1211 l 333 1208 b 367 1077 356 1170 367 1124 b 336 945 367 1032 357 986 l 332 935 l 333 932 b 367 800 356 893 367 848 b 336 669 367 756 357 710 l 332 659 l 333 656 b 367 523 356 617 367 571 b 345 412 367 485 360 446 b 231 273 322 356 284 310 b -1 19 121 195 27 93 b -17 4 -4 11 -10 5 l -21 4 l -21 134 l -21 265 l -17 265 b 133 291 20 265 96 278 b 318 537 245 328 318 433 b 307 603 318 559 315 582 b 303 614 304 612 304 614 b 298 609 302 614 300 613 b 231 549 281 589 258 567 b -1 295 121 471 27 369 b -17 280 -4 287 -10 281 l -21 280 l -21 410 l -21 541 l -17 541 b 133 567 20 541 96 555 b 318 813 245 605 318 709 b 307 880 318 835 315 859 b 303 891 304 888 304 891 b 298 885 302 891 300 888 b 231 825 281 866 258 843 b -1 571 121 748 27 645 b -17 556 -4 563 -10 557 l -21 556 l -21 687 l -21 817 l -17 817 b 133 843 20 817 96 830 b 318 1089 245 881 318 985 b 307 1156 318 1111 315 1134 b 303 1167 304 1164 304 1167 b 298 1161 302 1167 300 1164 b 231 1102 281 1140 258 1120 b -1 848 121 1024 27 921 b -17 832 -4 839 -10 834 l -21 832 l -21 963 l -21 1093 l -17 1093 b 114 1113 12 1093 78 1103 b 313 1314 215 1142 289 1218 b 318 1364 317 1331 318 1347 b 255 1511 318 1422 295 1478 b 243 1532 247 1519 243 1525 b 259 1553 243 1540 250 1550 "},v59:{x_min:0,x_max:464.140625,ha:474,o:"m 0 0 l 0 347 l 76 347 l 153 347 l 153 0 l 153 -348 l 76 -348 l 0 -348 l 0 0 m 308 -1 l 308 347 l 386 347 l 464 347 l 464 -1 l 464 -348 l 386 -348 l 308 -348 l 308 -1 "},v5a:{x_min:-171.5,x_max:170.140625,ha:174,o:"m -6 566 b 0 567 -5 567 -2 567 b 14 556 6 567 12 563 b 92 285 14 555 50 433 b 170 13 166 33 170 19 b 168 13 170 13 170 13 b 161 1 168 8 167 4 l 159 0 l 122 0 l 84 0 l 81 1 b 21 195 76 5 78 -5 b -32 381 -8 297 -32 381 b -87 197 -32 381 -57 298 b -141 8 -115 94 -140 9 b -155 0 -142 2 -149 0 b -171 15 -163 0 -171 5 b -14 556 -171 18 -24 528 b -6 566 -14 560 -10 564 "},v5b:{x_min:-441,x_max:439.640625,ha:449,o:"m -428 -2 b -421 0 -427 -1 -424 0 b -406 -6 -416 0 -409 -2 b -400 -31 -401 -12 -400 -15 b -1 -352 -392 -215 -215 -352 b 58 -349 19 -352 38 -351 b 398 -31 250 -326 392 -192 b 404 -6 398 -15 400 -12 b 419 -1 408 -2 413 -1 b 439 -13 427 -1 435 -5 b 439 -29 439 -16 439 -22 b 434 -105 439 -48 438 -80 b 0 -489 397 -333 213 -489 b -68 -484 -23 -489 -44 -488 b -441 -36 -280 -452 -436 -263 b -441 -30 -441 -34 -441 -31 b -428 -2 -441 -11 -439 -5 m -13 -9 b -1 -8 -9 -8 -5 -8 b 50 -36 19 -8 39 -19 b 61 -72 57 -47 61 -59 b 50 -106 61 -84 57 -97 b -1 -134 39 -124 19 -134 b -46 -115 -17 -134 -34 -129 b -62 -72 -57 -102 -62 -87 b -13 -9 -62 -44 -44 -16 "},v5c:{x_min:0,x_max:447.8125,ha:457,o:"m 0 -87 l 0 0 l 223 0 l 447 0 l 447 -87 l 447 -174 l 223 -174 l 0 -174 l 0 -87 "},v5d:{x_min:-1.359375,x_max:592.078125,ha:604,o:"m 280 692 b 295 694 283 692 289 694 b 310 692 300 694 307 692 b 357 630 340 684 357 657 b 336 580 357 612 351 594 b 311 538 321 566 311 549 b 352 492 311 512 330 492 b 366 495 357 492 362 492 b 397 553 390 503 397 517 b 415 603 397 576 402 591 b 460 623 427 617 443 623 b 509 599 479 623 498 614 b 522 559 518 587 522 573 b 494 506 522 538 513 519 b 451 495 481 498 473 496 b 415 488 432 495 426 494 b 394 449 404 483 394 464 b 394 448 394 448 394 448 l 394 440 l 397 433 b 428 409 404 420 413 413 b 438 408 431 408 435 408 b 479 431 450 408 462 415 b 528 455 495 448 510 455 b 548 452 534 455 541 453 b 592 391 577 442 592 416 b 549 331 592 365 577 340 b 528 327 541 328 534 327 b 479 351 510 327 495 335 b 438 374 464 367 450 374 b 417 369 431 374 424 373 b 394 333 402 360 394 348 b 400 312 394 326 396 319 b 451 287 408 294 420 288 b 513 258 484 285 499 278 b 522 223 519 247 522 234 b 461 159 522 190 496 159 b 449 161 457 159 453 159 b 397 229 416 167 397 191 b 366 288 397 265 390 278 b 352 290 362 290 357 290 b 315 262 336 290 321 280 b 311 245 313 256 311 251 b 334 204 311 233 318 220 b 355 170 348 190 351 184 b 357 152 356 166 357 159 b 355 136 357 147 356 140 b 295 88 345 104 321 88 b 232 152 264 88 232 112 b 255 204 232 174 238 186 b 279 244 273 222 279 231 l 279 245 b 238 290 279 270 259 290 b 224 288 234 290 228 290 b 193 229 200 278 193 265 b 141 161 193 191 174 167 b 129 159 137 159 133 159 b 68 223 93 159 68 190 b 77 258 68 234 70 247 b 138 287 91 278 106 285 b 185 302 166 287 175 291 b 196 333 193 312 196 323 b 174 369 196 347 187 360 b 152 374 166 373 159 374 b 111 351 140 374 126 367 b 62 327 95 335 80 327 b 51 328 58 327 54 327 b -1 391 16 334 -1 363 b 53 455 -1 420 17 449 b 62 455 57 455 59 455 b 111 431 80 455 95 448 b 152 408 127 415 140 408 b 161 409 155 408 159 408 b 193 433 176 413 186 420 l 196 440 l 196 448 b 196 451 196 449 196 449 b 190 471 196 459 194 463 b 137 495 182 489 167 495 l 134 495 l 134 495 b 68 560 95 495 68 521 b 129 623 68 596 95 623 b 144 621 134 623 138 623 b 193 553 175 614 193 589 b 224 495 193 517 200 503 b 238 492 228 492 234 492 b 279 538 259 492 279 512 b 254 580 279 549 269 566 b 232 630 239 594 232 612 b 280 692 232 657 250 684 m 307 456 b 295 458 303 458 299 458 b 230 391 258 458 230 426 b 236 360 230 381 231 371 b 295 324 249 337 272 324 b 353 360 318 324 341 337 b 360 391 357 370 360 381 b 307 456 360 421 340 451 "},v60:{x_min:-590.71875,x_max:589.359375,ha:601,o:"m -367 173 b -362 174 -366 174 -364 174 b -351 173 -357 174 -353 173 b -262 86 -348 172 -328 151 b -176 0 -216 37 -176 0 b -107 84 -176 0 -145 37 b -31 174 -36 173 -38 172 b -25 174 -29 174 -28 174 b -16 173 -23 174 -19 173 b 72 86 -13 172 6 151 b 157 0 119 37 157 0 b 227 84 159 0 189 37 b 303 174 298 173 296 172 b 308 174 304 174 307 174 b 318 173 313 174 317 173 b 481 11 322 172 357 134 l 494 -1 l 522 34 b 560 76 553 72 555 74 b 567 77 563 77 564 77 b 589 56 579 77 589 68 b 586 48 589 54 588 51 b 411 -172 583 41 416 -166 b 397 -176 406 -174 401 -176 b 387 -174 393 -176 390 -176 b 299 -87 386 -173 366 -152 b 213 0 253 -38 213 0 b 144 -86 213 0 182 -38 b 68 -174 73 -174 74 -173 b 62 -176 66 -176 65 -176 b 53 -174 59 -176 55 -174 b -35 -87 50 -173 29 -152 b -121 0 -83 -38 -121 0 b -190 -86 -122 0 -152 -38 b -266 -174 -261 -174 -259 -173 b -272 -176 -268 -176 -270 -176 b -281 -174 -276 -176 -280 -174 b -371 -86 -284 -173 -304 -152 b -457 0 -417 -38 -457 0 l -457 0 b -477 -26 -457 0 -470 -16 b -548 -227 -524 -88 -548 -161 b -536 -303 -548 -254 -544 -280 b -533 -317 -534 -309 -533 -313 b -553 -338 -533 -330 -541 -338 b -577 -315 -566 -338 -571 -333 b -590 -227 -586 -287 -590 -258 b -518 -9 -590 -154 -564 -77 b -465 56 -509 2 -504 8 l -402 134 b -367 173 -375 169 -372 172 "},v62:{x_min:46.28125,x_max:669.671875,ha:563,o:"m 183 376 b 189 376 185 376 187 376 b 212 374 197 376 208 376 b 265 337 234 369 253 355 b 274 317 268 331 273 320 b 274 316 274 317 274 316 b 280 323 276 316 276 319 b 311 358 288 337 299 348 b 319 366 315 360 318 365 b 356 376 326 373 340 376 b 382 371 364 376 374 374 b 428 337 400 366 417 352 b 436 317 431 331 436 320 b 438 316 436 317 436 316 b 442 323 438 316 439 319 b 475 358 451 337 462 348 b 483 366 477 360 481 365 b 518 376 488 373 503 376 b 544 373 528 376 536 376 b 604 285 579 360 604 326 b 597 249 604 273 601 258 b 543 63 596 247 544 70 b 541 54 543 61 541 55 b 540 44 540 51 540 47 b 552 23 540 33 545 23 b 552 23 552 23 552 23 b 647 126 586 29 627 72 b 658 138 651 136 653 138 b 660 138 660 138 660 138 b 669 129 666 137 669 136 b 654 88 669 122 665 109 b 562 -12 631 43 602 9 l 549 -19 b 521 -27 540 -24 530 -27 b 447 30 490 -27 458 -4 b 443 58 445 38 443 48 b 450 93 443 72 446 84 b 504 278 453 97 504 272 b 507 288 506 283 506 287 b 509 298 507 292 509 295 b 491 326 509 310 502 320 b 487 327 490 327 488 327 b 479 324 484 327 483 326 b 441 270 462 316 443 288 b 435 249 441 265 436 254 b 398 127 434 248 419 195 b 362 4 379 61 362 5 b 328 -1 359 -1 362 -1 b 314 -1 323 -1 319 -1 b 302 -1 310 -1 306 -1 b 266 4 266 -1 269 -1 b 265 6 265 5 265 5 b 303 144 265 13 272 34 b 343 278 325 216 343 276 b 344 288 343 281 344 285 b 345 298 345 291 345 295 b 330 326 345 310 340 320 b 323 327 328 327 325 327 b 317 324 322 327 321 326 b 279 270 300 316 281 288 b 273 249 279 265 274 254 b 236 127 272 248 255 195 b 200 4 216 61 200 5 b 164 -1 197 -1 198 -1 b 151 -1 161 -1 156 -1 b 140 -1 147 -1 142 -1 b 103 4 104 -1 106 -1 b 103 6 103 5 103 5 b 141 144 103 13 108 34 b 181 278 161 216 179 276 b 182 288 181 281 181 285 b 183 298 182 291 183 295 b 168 324 183 310 178 320 b 160 327 166 326 163 327 b 141 320 156 327 151 324 b 69 230 112 305 85 272 b 57 215 65 217 62 215 b 55 215 57 215 55 215 b 46 224 49 215 46 217 b 59 260 46 231 50 242 b 151 363 81 306 112 341 b 161 369 155 365 160 367 b 183 376 166 371 174 374 "},v68:{x_min:-597.53125,x_max:596.171875,ha:608,o:"m -533 324 b -525 327 -530 326 -528 327 b -504 305 -514 327 -504 317 b -504 305 -504 305 -504 305 b -513 284 -504 299 -504 299 b -556 112 -541 226 -556 167 b -545 33 -556 84 -552 58 b -524 -20 -541 15 -532 -9 l -522 -23 l -491 15 l -413 111 b -355 174 -367 169 -363 174 b -351 174 -353 174 -352 174 b -254 86 -343 174 -348 179 b -168 -1 -208 37 -168 -1 b -100 84 -168 -1 -137 37 b -23 173 -28 173 -29 172 b -19 174 -21 174 -20 174 b -8 173 -14 174 -10 173 b 155 11 -5 172 43 123 l 166 -1 l 168 1 l 170 4 l 170 130 b 171 260 170 256 170 258 b 191 274 175 269 183 274 b 205 267 196 274 201 272 b 212 158 212 262 210 273 l 212 56 l 257 112 b 311 173 304 172 304 172 b 317 174 313 174 314 174 b 326 173 319 174 323 173 b 490 11 329 172 366 134 l 502 -1 l 530 34 b 568 76 560 72 563 74 b 575 77 570 77 573 77 b 596 56 586 77 596 68 b 594 48 596 54 596 51 b 417 -172 592 41 424 -166 b 405 -176 415 -174 409 -176 b 396 -174 401 -176 398 -176 b 307 -87 393 -173 372 -152 b 221 -1 259 -38 221 -1 b 216 -6 221 -1 219 -2 l 212 -12 l 212 -147 b 212 -210 212 -173 212 -194 b 205 -292 212 -297 210 -287 b 191 -299 201 -297 196 -299 b 172 -287 183 -299 175 -295 b 170 -174 171 -284 171 -284 l 170 -63 l 127 -117 b 73 -176 84 -170 80 -176 b 68 -176 72 -176 70 -176 b -27 -87 59 -174 65 -180 b -114 0 -74 -38 -112 0 b -182 -86 -114 0 -145 -38 b -258 -174 -253 -174 -253 -173 b -264 -176 -259 -176 -262 -176 b -274 -174 -268 -176 -272 -174 b -438 -11 -277 -173 -348 -102 l -449 0 l -479 -37 b -524 -80 -513 -80 -514 -80 l -524 -80 b -553 -52 -534 -80 -540 -74 b -597 109 -583 -8 -597 48 b -560 280 -597 165 -585 224 b -533 324 -548 310 -540 322 "},v6c:{x_min:-1.359375,x_max:193.28125,ha:197,o:"m 78 233 b 87 233 81 233 84 233 b 187 140 132 233 174 195 b 193 102 190 127 193 115 b 43 -113 193 22 136 -62 b 27 -119 36 -116 31 -119 b 19 -108 21 -119 19 -115 b 29 -97 19 -102 20 -101 b 102 13 73 -72 102 -27 b 92 51 102 26 98 40 l 91 54 l 84 54 b 8 104 53 54 21 74 b -1 142 1 116 -1 130 b 78 233 -1 187 31 227 "},v6d:{x_min:-590.71875,x_max:589.359375,ha:601,o:"m 544 335 b 553 337 548 337 551 337 b 575 313 563 337 570 330 b 589 226 583 285 589 256 b 517 8 589 152 563 76 b 464 -58 507 -4 503 -9 l 401 -136 b 362 -176 372 -172 370 -176 b 357 -176 360 -176 359 -176 b 261 -87 349 -174 355 -180 b 175 0 215 -38 175 0 b 106 -86 175 0 144 -38 b 29 -174 35 -174 36 -173 b 24 -176 28 -176 27 -176 b 14 -174 21 -176 17 -174 b -73 -87 12 -173 -8 -152 b -159 0 -121 -38 -159 0 b -228 -86 -160 0 -190 -38 b -304 -174 -299 -174 -298 -173 b -310 -176 -306 -176 -308 -176 b -319 -174 -314 -176 -318 -174 b -483 -12 -323 -173 -359 -137 l -495 0 l -524 -34 b -562 -77 -553 -73 -556 -76 b -568 -79 -564 -79 -566 -79 b -590 -58 -581 -79 -590 -69 b -588 -49 -590 -55 -589 -52 b -412 170 -585 -43 -417 165 b -398 174 -408 173 -402 174 b -389 173 -394 174 -392 174 b -300 86 -387 172 -366 151 b -215 -1 -254 37 -215 -1 b -145 84 -215 -1 -183 37 b -69 173 -74 173 -76 172 b -63 174 -68 174 -66 174 b -54 173 -61 174 -57 173 b 34 86 -51 172 -31 151 b 119 -1 81 37 119 -1 b 189 84 121 -1 151 37 b 265 173 259 173 258 172 b 270 174 266 174 269 174 b 280 173 274 174 279 173 b 370 84 283 172 303 151 b 455 -1 416 37 455 -1 l 455 -1 b 476 24 455 -1 469 15 b 547 226 522 87 547 159 b 534 302 547 252 543 278 b 532 317 533 308 532 313 b 544 335 532 326 536 333 "},v6f:{x_min:-80.3125,x_max:78.9375,ha:81,o:"m 63 191 b 69 192 65 192 66 192 b 77 188 72 192 76 191 b 78 183 78 187 78 186 b 74 158 78 179 77 172 l 66 115 b 9 -161 49 30 10 -158 b -10 -187 6 -172 -1 -181 b -34 -194 -17 -191 -25 -194 b -80 -147 -58 -194 -80 -174 b -80 -141 -80 -144 -80 -142 b 9 70 -80 -134 -73 -117 l 49 163 b 63 191 59 188 61 190 "},v70:{x_min:0,x_max:436.921875,ha:446,o:"m 213 190 b 217 191 215 191 216 191 b 231 184 223 191 228 188 b 249 154 240 167 246 159 b 419 18 292 91 348 45 b 436 -1 435 11 436 8 b 424 -16 436 -9 434 -13 b 308 -87 394 -26 340 -59 b 231 -186 276 -117 257 -142 b 219 -192 228 -191 225 -192 b 198 -174 209 -192 208 -191 b 47 -33 161 -113 110 -63 b 10 -16 34 -26 17 -19 b 0 -1 2 -13 0 -9 b 17 18 0 8 1 11 b 198 173 95 48 156 101 b 213 190 206 187 208 188 "},v72:{x_min:-423.3125,x_max:421.9375,ha:431,o:"m -262 197 b -247 197 -257 197 -253 197 b -118 162 -210 197 -163 184 b 40 45 -61 134 -13 98 b 277 -95 119 -33 200 -81 b 289 -97 281 -97 285 -97 b 378 0 332 -97 371 -55 b 378 11 378 4 378 6 b 302 83 378 55 345 83 b 242 66 283 83 262 77 b 208 56 231 59 219 56 b 148 120 175 56 148 81 b 201 186 148 151 164 172 b 261 198 220 194 240 198 b 420 45 341 198 411 136 b 421 22 421 37 421 29 b 245 -199 421 -93 338 -199 b 238 -198 243 -199 240 -199 b -44 -47 148 -194 50 -141 b -250 86 -114 22 -183 66 b -295 94 -270 91 -283 94 b -315 91 -302 94 -307 94 b -381 4 -356 81 -381 43 b -355 -56 -381 -18 -372 -40 b -298 -81 -338 -73 -319 -81 b -246 -68 -283 -81 -265 -77 b -212 -58 -234 -61 -223 -58 b -178 -69 -200 -58 -189 -62 b -151 -122 -160 -81 -151 -101 b -171 -167 -151 -138 -157 -155 b -239 -195 -185 -181 -213 -192 b -257 -197 -245 -197 -250 -197 b -423 -5 -352 -197 -423 -109 b -412 65 -423 16 -419 40 b -262 197 -389 137 -329 188 "},v74:{x_min:-206.890625,x_max:428.75,ha:438,o:"m 389 -351 b 394 -351 390 -351 393 -351 b 428 -385 413 -351 428 -367 b 428 -394 428 -388 428 -391 b 394 -428 426 -406 421 -410 l 332 -473 l 269 -516 l 205 -560 l 141 -603 l 77 -648 l 13 -692 l -50 -737 l -114 -780 l -145 -802 b -171 -813 -157 -810 -163 -813 b -175 -813 -172 -813 -174 -813 b -206 -777 -194 -811 -206 -795 b -202 -760 -206 -771 -205 -766 b -87 -675 -197 -752 -206 -757 l -34 -639 l 83 -557 l 145 -514 l 209 -470 l 272 -427 b 389 -351 375 -356 381 -352 "},v75:{x_min:-149.71875,x_max:148.359375,ha:151,o:"m -137 381 b -130 383 -134 383 -133 383 b -111 371 -122 383 -114 378 b -55 224 -110 370 -85 305 b 0 80 -25 145 -1 80 b 54 224 0 80 24 145 b 112 377 114 384 110 373 b 127 384 118 381 122 384 b 148 362 138 384 148 374 l 148 356 l 83 183 b 16 9 47 88 17 11 b -1 0 12 2 5 0 b -14 5 -5 0 -10 1 b -84 183 -19 9 -13 -6 l -149 356 l -149 362 b -137 381 -149 371 -145 378 "},v78:{x_min:0,x_max:193.28125,ha:197,o:"m 85 514 b 95 517 88 517 89 517 b 114 505 103 517 110 513 l 115 502 l 115 376 b 115 249 115 306 115 249 b 141 258 117 249 127 252 l 167 266 l 172 266 b 190 254 181 265 187 262 l 193 251 l 193 202 l 193 188 b 187 147 193 149 191 152 b 147 130 183 142 182 141 l 115 119 l 115 9 b 115 -99 115 -51 115 -99 b 141 -91 115 -99 127 -95 b 171 -81 166 -81 167 -81 l 171 -81 b 191 -94 181 -81 189 -87 b 193 -142 191 -97 193 -120 b 191 -195 193 -167 191 -194 b 125 -227 187 -205 187 -204 l 115 -230 l 115 -366 l 115 -503 l 114 -506 b 95 -519 110 -514 102 -519 b 74 -506 87 -519 78 -514 l 73 -503 l 73 -374 b 73 -245 73 -260 73 -245 b 73 -245 73 -245 73 -245 b 55 -252 72 -245 63 -249 l 32 -260 b 19 -263 27 -262 23 -263 b 4 -256 13 -263 8 -260 b 0 -215 0 -251 0 -254 b 0 -199 0 -210 0 -206 l 0 -152 l 1 -149 b 8 -140 2 -145 5 -141 b 42 -127 9 -140 24 -133 l 73 -116 l 73 -5 b 73 23 73 4 73 15 b 73 105 73 70 73 105 b 49 97 73 105 61 101 b 17 88 32 91 23 88 b 4 95 10 88 8 91 b 0 137 0 101 0 98 b 0 151 0 141 0 145 l 0 199 l 1 202 b 43 224 5 212 5 212 l 73 234 l 73 367 l 73 502 l 74 505 b 85 514 77 509 81 513 "},v79:{x_min:-1.359375,x_max:899.703125,ha:918,o:"m 307 349 b 332 351 315 351 323 351 b 443 340 367 351 408 347 b 741 47 607 306 720 195 b 744 0 743 31 744 16 b 660 -303 744 -90 713 -206 b 28 -755 534 -531 304 -695 b 14 -756 23 -755 19 -756 b -1 -741 4 -756 -1 -750 b 21 -720 -1 -731 1 -728 b 567 -56 337 -601 548 -344 b 568 -11 568 -41 568 -24 b 442 285 568 129 525 233 b 325 319 406 308 367 319 b 93 177 232 319 137 266 b 84 154 91 170 84 155 b 84 154 84 154 84 154 b 88 156 84 154 85 155 b 159 177 110 170 134 177 b 257 134 194 177 231 162 b 294 41 281 108 294 73 b 171 -97 294 -24 246 -90 b 156 -98 166 -97 161 -98 b 6 74 73 -98 6 -22 b 6 80 6 76 6 79 b 307 349 10 223 141 340 m 839 215 b 845 216 841 216 842 216 b 862 213 852 216 860 215 b 899 163 887 206 899 184 b 872 117 899 145 890 127 b 847 111 865 112 856 111 b 808 130 833 111 818 117 b 796 162 800 140 796 151 b 839 215 796 187 812 212 m 839 -112 b 845 -112 841 -112 842 -112 b 862 -115 852 -112 860 -113 b 899 -165 887 -122 899 -144 b 872 -210 899 -183 890 -201 b 847 -217 865 -215 856 -217 b 808 -198 833 -217 818 -210 b 796 -165 800 -188 796 -177 b 839 -112 796 -140 812 -116 "},v7a:{x_min:-1.359375,x_max:386.5625,ha:394,o:"m 249 535 b 257 537 251 537 253 537 b 276 524 266 537 273 533 l 277 521 l 279 419 l 279 316 l 304 323 b 337 328 319 326 330 328 b 353 316 347 328 349 324 b 355 266 355 315 355 290 b 353 215 355 241 355 217 b 319 198 349 206 347 205 b 279 187 284 190 279 188 b 279 156 279 187 279 174 b 279 136 279 151 279 144 l 279 84 l 289 87 l 330 98 b 367 105 352 102 362 105 b 378 101 372 105 375 104 b 386 61 385 95 386 94 b 386 40 386 55 386 48 l 386 -5 l 385 -8 b 374 -19 383 -12 378 -18 b 291 -40 372 -19 347 -26 b 279 -43 284 -41 279 -43 b 279 -83 279 -43 279 -59 b 279 -95 279 -87 279 -91 l 279 -145 l 304 -140 b 337 -133 321 -136 330 -133 b 349 -140 343 -133 347 -136 b 355 -181 355 -145 355 -142 l 355 -197 l 355 -210 b 349 -252 355 -249 355 -247 b 300 -269 345 -258 347 -258 b 280 -274 291 -272 281 -273 l 279 -274 l 277 -378 l 277 -483 l 276 -487 b 257 -499 273 -495 265 -499 b 238 -487 249 -499 242 -495 l 236 -483 l 236 -384 l 236 -285 l 235 -285 l 212 -291 l 170 -301 b 148 -308 159 -305 148 -306 b 147 -415 147 -308 147 -313 l 147 -523 l 145 -526 b 126 -538 141 -534 133 -538 b 106 -526 118 -538 110 -534 l 104 -523 l 104 -420 b 103 -317 104 -326 104 -317 b 103 -317 103 -317 103 -317 b 50 -330 92 -322 54 -330 b 31 -317 42 -330 35 -326 b 29 -267 29 -315 29 -315 l 29 -219 l 32 -216 b 92 -192 36 -206 36 -206 l 104 -190 l 104 -138 b 103 -87 104 -91 104 -87 b 103 -87 103 -87 103 -87 b 88 -91 103 -87 96 -88 l 49 -101 b 17 -106 32 -105 23 -106 b 6 -102 13 -106 10 -105 b -1 -62 0 -97 -1 -95 b 0 -41 -1 -56 0 -49 l 0 4 l 1 6 b 10 16 2 11 6 15 b 91 37 12 18 38 24 l 104 41 l 104 93 b 103 144 104 140 104 144 b 103 144 103 144 103 144 b 50 131 92 141 54 131 b 31 144 42 131 35 137 b 29 195 29 147 29 148 l 29 242 l 32 245 b 92 269 36 255 36 255 l 104 273 l 104 377 l 104 481 l 106 485 b 126 498 110 492 118 498 b 134 495 129 498 132 496 b 145 485 138 494 142 489 l 147 481 l 147 383 l 147 283 l 152 284 b 190 294 155 285 171 290 l 230 303 l 236 305 l 236 413 l 236 521 l 238 524 b 249 535 240 528 243 533 m 236 126 b 235 177 236 154 236 177 l 235 177 b 213 172 235 177 225 174 l 170 161 b 147 155 157 158 147 155 b 147 124 147 155 147 142 b 147 102 147 117 147 111 l 147 52 l 153 54 l 228 72 l 236 74 l 236 126 m 236 -105 b 235 -54 236 -65 236 -54 l 235 -54 b 231 -55 235 -54 234 -54 b 172 -69 227 -55 204 -62 l 149 -76 l 147 -76 l 147 -127 l 147 -179 l 152 -177 b 190 -167 155 -177 171 -173 l 230 -158 l 236 -156 l 236 -105 "},v7c:{x_min:0,x_max:300.8125,ha:307,o:"m 49 505 b 53 506 50 505 51 506 b 70 496 58 506 62 503 b 81 485 73 492 78 488 l 96 473 l 111 459 l 122 449 l 134 438 l 182 396 l 255 330 b 292 291 292 298 292 298 l 292 290 l 292 284 l 283 270 b 209 36 234 197 209 113 b 288 -170 209 -44 235 -119 b 299 -184 295 -179 299 -181 b 300 -191 300 -187 300 -188 b 285 -206 300 -199 294 -206 b 280 -206 283 -206 281 -206 b 247 -201 270 -202 259 -201 b 176 -222 223 -201 197 -208 b 114 -340 136 -249 114 -292 b 172 -471 114 -384 134 -433 b 185 -492 182 -481 185 -487 b 181 -502 185 -496 183 -499 b 171 -508 176 -505 174 -508 b 152 -498 166 -508 160 -503 b 0 -284 65 -428 12 -352 b 0 -260 0 -278 0 -270 b 1 -238 0 -252 0 -242 b 148 -140 16 -177 73 -140 b 209 -148 167 -140 189 -142 b 215 -149 212 -148 215 -149 b 215 -149 215 -149 215 -149 l 215 -149 b 201 -136 215 -148 209 -142 l 157 -97 l 96 -41 b 17 34 21 24 17 29 b 17 37 17 36 17 36 b 17 38 17 37 17 38 b 25 56 17 44 17 44 b 110 298 81 131 110 219 b 46 474 110 367 88 431 b 38 491 40 480 38 487 b 49 505 38 498 42 502 "},v7d:{x_min:-1.359375,x_max:436.921875,ha:446,o:"m 213 205 b 217 205 215 205 216 205 b 234 194 224 205 234 199 b 236 187 234 194 235 190 l 245 167 l 261 129 l 270 106 b 355 -61 294 54 329 -13 b 420 -163 381 -105 402 -138 b 436 -188 435 -184 436 -184 b 436 -191 436 -190 436 -190 b 421 -206 436 -201 431 -206 l 421 -206 l 416 -206 l 405 -201 b 217 -158 347 -172 283 -158 b 31 -201 153 -158 88 -172 l 20 -206 l 14 -206 l 14 -206 b 0 -191 5 -206 0 -201 b -1 -188 0 -190 -1 -190 b 14 -163 -1 -186 0 -184 b 95 -34 36 -136 72 -77 b 166 106 119 8 148 68 l 175 129 l 183 148 l 200 188 b 213 205 205 199 208 202 "},v7f:{x_min:0,x_max:367.5,ha:375,o:"m 0 124 l 0 187 l 61 187 l 122 187 l 122 138 l 122 91 l 153 61 l 183 30 l 213 61 l 243 91 l 243 138 l 243 187 l 306 187 l 367 187 l 367 124 l 367 61 l 321 61 l 274 61 l 243 30 l 213 0 l 243 -31 l 274 -62 l 321 -62 l 367 -62 l 367 -124 l 367 -188 l 306 -188 l 243 -188 l 243 -140 l 243 -93 l 213 -62 l 183 -31 l 153 -62 l 122 -93 l 122 -140 l 122 -188 l 61 -188 l 0 -188 l 0 -124 l 0 -62 l 46 -62 l 92 -62 l 123 -31 l 153 0 l 123 30 l 92 61 l 46 61 l 0 61 l 0 124 "},v80:{x_min:29.9375,x_max:420.578125,ha:371,o:"m 115 345 b 221 347 117 345 166 347 b 411 345 306 347 409 345 b 420 330 416 342 420 335 b 415 319 420 326 419 321 b 178 118 397 303 179 118 b 178 117 178 118 178 117 b 181 117 178 117 178 117 b 189 117 182 117 185 117 b 193 117 190 117 191 117 b 247 98 215 117 232 111 b 296 75 266 83 280 76 b 302 75 299 75 300 75 b 322 91 311 75 315 79 b 322 91 322 91 322 91 b 322 91 322 91 322 91 b 319 91 322 91 321 91 b 313 90 318 90 315 90 b 283 107 300 90 288 97 b 277 126 279 114 277 121 b 319 167 277 149 295 167 b 319 167 319 167 319 167 b 362 118 347 167 362 147 b 355 82 362 108 359 96 b 311 33 349 65 340 55 b 224 1 284 12 253 1 b 194 5 213 1 204 2 b 168 18 183 8 178 11 b 110 36 151 30 130 36 b 57 15 88 36 68 29 b 47 11 54 12 51 11 b 31 20 40 11 34 13 b 29 26 31 22 29 25 b 68 66 29 36 39 45 b 285 250 73 71 281 248 b 285 250 285 250 285 250 b 231 252 285 252 261 252 b 137 250 190 252 141 250 b 93 227 122 248 110 241 b 78 220 88 222 83 220 b 66 227 74 220 70 222 b 63 234 65 229 63 231 b 85 291 63 241 69 252 b 115 345 108 342 108 344 "},v81:{x_min:0,x_max:428.75,ha:438,o:"m 262 186 b 273 186 266 186 272 186 b 274 186 273 186 274 186 b 285 186 274 186 280 186 b 428 48 375 181 428 122 b 386 -68 428 12 416 -29 b 155 -187 329 -145 236 -187 b 12 -111 92 -187 38 -162 b 0 -51 4 -91 0 -72 b 262 186 0 58 122 179 m 366 131 b 352 134 362 133 357 134 b 219 81 321 134 269 115 b 47 -111 126 23 50 -62 b 47 -112 47 -111 47 -112 b 77 -136 47 -129 58 -136 b 264 -45 118 -136 194 -101 b 382 109 336 12 382 76 b 366 131 382 120 377 129 "},v83:{x_min:-1.359375,x_max:847.96875,ha:865,o:"m 488 1499 b 495 1500 490 1500 492 1500 b 541 1465 507 1500 521 1490 b 679 1078 622 1372 679 1210 b 677 1050 679 1068 677 1060 b 477 642 668 893 604 764 l 443 609 l 431 596 l 431 592 l 438 562 l 449 508 l 460 458 b 481 355 475 390 481 355 b 481 355 481 355 481 355 b 490 356 481 355 485 355 b 528 358 495 356 511 358 b 558 356 540 358 552 356 b 839 95 699 338 808 237 b 847 22 845 72 847 47 b 631 -303 847 -113 766 -242 b 620 -309 623 -308 620 -309 l 620 -310 b 631 -359 620 -310 626 -333 l 646 -435 l 660 -496 b 672 -588 668 -535 672 -563 b 664 -653 672 -610 669 -630 b 383 -875 630 -792 509 -875 b 201 -810 321 -875 257 -855 b 129 -680 151 -768 129 -730 b 274 -530 129 -592 200 -530 b 351 -553 300 -530 326 -538 b 412 -669 393 -582 412 -626 b 287 -805 412 -735 366 -800 l 279 -805 l 285 -809 b 383 -830 318 -823 351 -830 b 586 -718 464 -830 540 -789 b 626 -584 612 -678 626 -631 b 619 -528 626 -566 623 -548 b 612 -495 619 -526 616 -510 b 577 -324 590 -387 577 -324 b 577 -324 577 -324 577 -324 b 568 -326 575 -324 571 -324 b 528 -334 558 -328 537 -333 b 465 -338 506 -337 485 -338 b 24 -11 269 -338 87 -206 b -1 145 8 41 -1 93 b 96 442 -1 249 32 351 b 322 714 166 541 236 626 l 352 745 l 345 782 l 332 843 l 315 921 b 303 984 310 950 304 978 b 295 1082 298 1017 295 1049 b 413 1426 295 1208 336 1329 b 488 1499 436 1456 477 1496 m 549 1301 b 541 1301 547 1301 544 1301 b 411 1207 500 1301 447 1263 b 355 1004 374 1152 355 1079 b 359 942 355 984 356 963 b 371 881 362 927 363 917 l 385 818 b 392 782 389 799 392 784 l 392 782 b 434 828 393 782 424 816 b 607 1165 534 941 594 1060 b 608 1193 608 1175 608 1183 b 597 1270 608 1224 604 1254 b 549 1301 589 1286 571 1299 m 398 528 b 393 555 396 542 393 553 b 392 555 393 555 393 555 b 317 470 390 555 347 505 b 190 298 266 408 212 334 b 127 70 148 227 127 148 b 155 -77 127 19 137 -30 b 468 -303 209 -216 333 -303 b 519 -299 484 -303 502 -302 b 568 -284 541 -295 568 -287 l 568 -284 b 563 -263 568 -284 566 -274 l 534 -120 l 511 -13 l 496 61 l 480 133 b 469 187 472 176 469 187 b 468 188 469 187 469 188 b 416 162 462 188 430 172 b 337 13 364 126 337 69 b 413 -124 337 -40 363 -93 b 428 -144 424 -131 428 -137 b 428 -149 428 -145 428 -148 b 409 -166 426 -161 419 -166 b 394 -162 405 -166 400 -165 b 240 77 302 -122 240 -27 l 240 77 b 430 342 240 197 315 301 l 436 344 l 426 394 l 398 528 m 548 194 b 526 195 540 195 532 195 b 519 195 524 195 521 195 l 514 195 l 518 177 l 539 79 l 552 15 l 566 -48 l 594 -187 l 605 -240 b 612 -266 609 -254 611 -266 b 612 -266 612 -266 612 -266 b 641 -248 613 -266 630 -256 b 744 -98 692 -212 730 -156 b 751 -40 749 -79 751 -59 b 548 194 751 76 665 181 "},v84:{x_min:25.859375,x_max:164.6875,ha:168,o:"m 34 369 b 40 370 35 370 38 370 b 59 353 49 370 50 367 b 164 40 122 254 155 158 b 164 0 164 33 164 16 b 164 -40 164 -16 164 -34 b 59 -353 155 -158 122 -254 b 40 -371 53 -366 47 -371 b 34 -370 38 -371 36 -370 b 25 -358 28 -367 25 -363 b 31 -337 25 -352 27 -347 b 92 0 72 -234 92 -117 b 31 335 92 116 72 233 b 25 356 27 345 25 352 b 34 369 25 363 28 366 "},v86:{x_min:-571.671875,x_max:570.3125,ha:582,o:"m -386 173 b -381 174 -385 174 -383 174 b -370 173 -377 174 -372 173 b -281 86 -367 172 -347 151 b -196 0 -235 37 -196 0 b -126 84 -196 0 -164 37 b -50 174 -55 173 -57 172 b -44 174 -49 174 -47 174 b -35 173 -42 174 -38 173 b 53 86 -32 172 -12 151 b 138 0 100 37 138 0 b 208 84 140 0 170 37 b 284 174 279 173 277 172 b 289 174 285 174 288 174 b 299 173 294 174 298 173 b 462 11 303 172 338 134 l 475 -1 l 503 34 b 541 76 534 72 536 74 b 548 77 544 77 545 77 b 570 56 560 77 570 68 b 567 48 570 54 568 51 b 392 -172 564 41 397 -166 b 378 -176 387 -174 382 -176 b 368 -174 374 -176 371 -176 b 280 -87 367 -173 345 -152 b 194 0 234 -38 194 0 b 125 -86 194 0 163 -38 b 49 -174 54 -174 55 -173 b 43 -176 47 -176 46 -176 b 34 -174 40 -176 36 -174 b -54 -87 31 -173 10 -152 b -140 0 -102 -38 -140 0 b -209 -86 -141 0 -171 -38 b -285 -174 -280 -174 -279 -173 b -291 -176 -287 -176 -289 -176 b -300 -174 -295 -176 -299 -174 b -464 -12 -304 -173 -340 -137 l -476 0 l -504 -34 b -543 -77 -534 -73 -537 -76 b -549 -79 -545 -79 -547 -79 b -571 -58 -562 -79 -571 -69 b -568 -49 -571 -55 -570 -52 b -392 172 -566 -43 -396 167 b -386 173 -390 172 -387 173 "},v8a:{x_min:-170.140625,x_max:168.78125,ha:172,o:"m -160 567 b -122 567 -159 567 -149 567 l -87 567 l -84 566 b -74 553 -78 563 -77 560 b -20 366 -73 551 -49 466 b 31 186 8 267 31 186 b 85 371 31 186 55 269 b 140 559 114 473 138 557 b 153 567 141 564 148 567 b 168 559 159 567 166 564 b 168 555 168 557 168 557 b 92 281 168 548 159 513 b 14 13 50 134 14 13 b 0 0 14 6 6 0 b -17 15 -8 0 -17 8 b -93 283 -17 15 -51 136 b -170 552 -166 533 -170 548 b -170 553 -170 552 -170 552 b -160 567 -170 560 -167 564 "},v8b:{x_min:0,x_max:319.859375,ha:326,o:"m 149 508 b 159 509 152 509 155 509 b 186 494 170 509 181 503 b 190 440 190 487 190 488 l 190 430 l 190 377 l 242 377 l 251 377 b 303 373 298 377 296 377 b 319 345 314 367 319 356 b 304 319 319 335 314 324 b 250 315 296 315 299 315 l 242 315 l 190 315 l 190 262 l 190 252 b 186 198 190 204 190 205 b 159 183 179 188 170 183 b 132 198 148 183 138 188 b 127 252 127 205 127 204 l 127 262 l 127 315 l 76 315 l 68 315 b 14 319 20 315 21 315 b 0 347 4 324 0 335 b 14 373 0 356 4 367 b 68 377 21 377 20 377 l 76 377 l 127 377 l 127 430 l 127 440 b 132 494 127 488 127 487 b 149 508 136 501 142 505 "},v8c:{x_min:-330.75,x_max:329.390625,ha:336,o:"m -133 483 b -117 484 -127 484 -122 484 b 31 373 -51 484 9 440 b 35 348 34 365 35 356 b -25 285 35 313 10 285 b -87 331 -55 285 -76 302 b -167 402 -100 376 -133 402 b -191 398 -175 402 -183 401 b -227 341 -215 388 -227 369 b -225 320 -227 334 -227 327 b -13 74 -209 230 -125 133 b 6 65 -4 70 5 66 l 9 63 l 10 65 b 117 231 12 68 40 112 l 189 341 l 242 424 b 268 460 262 456 264 458 b 283 464 273 463 277 464 b 308 438 296 464 308 453 l 308 437 b 287 396 308 430 308 428 l 95 98 l 59 43 l 58 41 l 65 37 b 253 -156 151 -8 217 -77 b 281 -285 272 -199 281 -244 b 148 -481 281 -381 231 -463 b 115 -485 137 -484 126 -485 b -32 -376 51 -485 -9 -442 b -36 -349 -35 -366 -36 -358 b 25 -287 -36 -315 -12 -287 b 85 -333 54 -287 74 -302 b 166 -403 99 -377 133 -403 b 190 -399 174 -403 182 -402 b 225 -342 215 -390 225 -370 b 224 -322 225 -335 225 -328 b 12 -76 208 -231 125 -134 b -8 -66 2 -72 -6 -68 l -10 -65 l -12 -66 b -118 -231 -13 -68 -42 -113 l -190 -342 l -243 -426 b -269 -462 -264 -458 -265 -458 b -284 -466 -274 -464 -279 -466 b -310 -440 -298 -466 -310 -455 l -310 -438 b -288 -398 -310 -430 -308 -430 l -96 -99 l -59 -44 l -59 -43 l -66 -38 b -281 284 -198 33 -281 158 l -281 284 b -133 483 -281 392 -220 474 m 254 177 b 266 179 258 177 262 179 b 319 149 287 179 307 167 b 329 115 326 140 329 127 b 319 79 329 102 326 90 b 268 51 307 61 287 51 b 221 72 250 51 234 58 b 205 115 210 84 205 99 b 254 177 205 142 223 170 m -281 -54 b -269 -52 -277 -52 -273 -52 b -223 -73 -253 -52 -235 -59 b -206 -116 -212 -84 -206 -101 b -216 -151 -206 -129 -209 -141 b -269 -179 -228 -170 -249 -179 b -314 -159 -285 -179 -302 -173 b -330 -116 -325 -147 -330 -131 b -281 -54 -330 -88 -313 -61 "},v8d:{x_min:-1.359375,x_max:255.890625,ha:261,o:"m 118 514 b 127 517 121 517 122 517 b 147 505 136 517 142 513 l 148 502 l 148 403 b 148 306 148 351 148 306 b 174 315 149 306 160 310 l 200 324 l 205 323 b 223 312 213 323 220 319 l 225 308 l 225 260 b 225 245 225 255 225 249 b 220 204 225 208 224 209 b 179 188 216 199 215 199 l 148 177 l 148 124 l 148 70 l 189 84 b 236 98 219 94 230 98 b 247 94 240 98 243 97 b 255 52 254 88 255 87 b 255 33 255 47 255 40 l 254 -12 l 253 -15 b 249 -22 253 -18 250 -20 l 245 -24 l 196 -41 l 148 -58 l 148 -108 b 148 -158 148 -136 148 -158 b 174 -148 148 -158 160 -154 b 204 -140 198 -140 200 -140 l 204 -140 b 224 -152 213 -140 221 -145 b 225 -201 224 -155 225 -177 b 224 -254 225 -226 224 -251 b 157 -284 220 -262 220 -262 l 148 -288 l 148 -395 l 148 -503 l 147 -506 b 127 -519 142 -514 134 -519 b 107 -506 119 -519 111 -514 l 106 -503 l 106 -403 b 106 -303 106 -316 106 -303 b 104 -303 104 -303 104 -303 b 88 -310 104 -303 96 -306 l 63 -319 b 51 -322 59 -320 55 -322 b 36 -315 46 -322 40 -319 b 31 -273 32 -309 31 -312 b 31 -258 31 -269 31 -263 l 31 -210 l 34 -206 b 40 -198 35 -204 38 -199 b 74 -186 42 -197 57 -191 l 106 -173 l 106 -123 b 106 -97 106 -112 106 -104 b 106 -72 106 -76 106 -72 b 104 -72 106 -72 106 -72 b 20 -99 89 -79 23 -99 b 0 -84 10 -99 2 -93 b -1 -37 0 -81 -1 -59 b 0 11 -1 -15 0 9 b 58 40 4 22 2 22 l 106 56 l 106 109 b 106 123 106 115 106 119 b 106 162 106 147 106 162 b 81 155 106 162 93 159 b 50 147 65 149 55 147 b 36 152 43 147 40 148 b 31 194 32 158 31 156 b 31 209 31 198 31 204 l 31 256 l 34 260 b 76 281 38 269 38 269 l 106 292 l 106 396 l 106 502 l 107 505 b 118 514 110 509 114 513 "},v8f:{x_min:-21.78125,x_max:362.0625,ha:369,o:"m 302 1031 b 308 1032 304 1032 307 1032 b 330 1016 318 1032 325 1027 b 362 867 351 970 362 920 b 340 738 362 824 353 780 l 336 727 l 340 717 b 362 591 355 677 362 634 b 257 323 362 496 325 401 b 204 272 243 306 227 290 b 20 56 129 206 66 133 b -1 18 12 44 0 22 b -19 4 -4 9 -12 4 l -21 4 l -21 140 l -21 276 l -12 277 b 167 333 61 288 127 309 b 319 598 262 388 319 491 b 311 664 319 620 317 642 l 310 673 l 304 664 b 204 548 279 620 250 587 b 20 333 129 483 66 409 b -1 292 12 320 0 298 b -19 280 -4 285 -12 280 l -21 280 l -21 416 l -21 552 l -12 553 b 167 609 61 564 127 585 b 319 874 264 666 319 770 b 294 992 319 914 311 954 b 288 1011 288 1004 288 1007 b 302 1031 288 1021 294 1028 "},v90:{x_min:-171.5,x_max:483.1875,ha:493,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 495 20 616 20 616 b 20 373 20 427 20 373 b 115 410 20 373 63 390 l 210 448 l 210 531 b 212 620 210 614 210 616 b 231 632 215 628 223 632 b 246 627 236 632 242 631 b 251 541 251 620 251 628 l 251 463 l 315 489 b 387 514 368 509 381 514 b 393 513 390 514 392 514 b 406 494 402 510 406 502 b 397 476 406 487 404 480 b 323 446 396 474 363 462 l 251 417 l 251 283 l 251 148 l 254 151 b 370 199 291 183 332 199 b 415 191 385 199 400 197 b 483 84 458 176 483 134 b 461 0 483 58 476 29 b 332 -142 439 -40 411 -72 l 255 -215 b 231 -229 240 -229 239 -229 b 216 -223 224 -229 220 -227 b 210 -158 210 -217 210 -223 b 210 -120 210 -148 210 -136 l 210 -29 l 205 -34 b 100 -142 182 -65 159 -88 l 23 -215 b -1 -229 9 -229 6 -229 b -19 -217 -9 -229 -16 -224 l -20 -215 l -21 48 l -21 310 l -83 287 b -152 262 -133 266 -145 262 b -157 263 -153 262 -155 262 b -171 283 -166 266 -171 274 b -161 301 -171 290 -167 297 b -91 328 -160 302 -129 315 l -21 356 l -21 487 l -20 617 l -19 621 b -8 631 -17 626 -12 630 m 210 288 b 210 401 210 351 210 401 b 114 365 209 401 167 384 l 20 327 l 20 238 l 20 148 l 21 151 b 140 199 59 183 102 199 b 206 180 164 199 187 192 l 209 177 b 209 177 209 177 209 177 b 210 288 210 177 210 199 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 m 341 131 b 328 133 337 133 332 133 b 322 133 326 133 323 133 b 257 87 296 129 273 113 l 251 80 l 251 -37 l 251 -156 l 255 -152 b 375 81 328 -72 375 20 l 375 83 b 341 131 375 113 367 126 "},v92:{x_min:0,x_max:598.890625,ha:611,o:"m 62 181 b 77 183 66 183 72 183 b 91 181 83 183 88 183 b 202 131 100 180 106 177 l 299 87 l 394 131 b 517 183 499 181 502 183 b 519 183 517 183 518 183 b 598 104 567 183 598 144 b 577 49 598 84 592 65 b 518 15 567 38 563 37 b 484 0 499 6 484 0 b 518 -16 484 -1 499 -8 b 577 -51 563 -38 567 -40 b 598 -105 592 -66 598 -86 b 519 -184 598 -145 567 -184 b 517 -184 518 -184 517 -184 b 394 -133 502 -184 499 -183 l 299 -88 l 202 -133 b 81 -184 99 -183 95 -184 b 77 -184 80 -184 78 -184 b 0 -105 29 -184 0 -145 b 20 -51 0 -86 5 -66 b 80 -16 29 -40 34 -38 b 114 -1 98 -8 114 -1 b 80 15 114 0 98 6 b 20 49 34 37 29 38 b 0 104 6 65 0 84 b 62 181 0 140 23 174 m 88 134 b 74 136 85 134 80 136 b 68 134 72 136 69 136 b 46 104 54 130 46 117 b 55 81 46 95 49 88 b 149 34 59 76 53 80 b 224 -1 190 15 224 0 b 144 -38 224 -1 187 -18 b 54 -84 59 -79 58 -79 b 46 -105 49 -90 46 -98 b 76 -137 46 -122 58 -137 b 78 -137 77 -137 77 -137 b 194 -86 87 -137 76 -141 b 298 -36 250 -58 298 -36 b 298 -36 298 -36 298 -36 b 402 -84 299 -36 345 -58 b 518 -137 522 -141 510 -137 b 521 -137 519 -137 519 -137 b 551 -105 539 -137 551 -122 b 541 -83 551 -98 548 -90 b 447 -36 537 -77 544 -81 b 374 -1 406 -16 374 -1 b 447 34 374 0 406 15 b 541 81 544 80 537 76 b 551 104 548 88 551 97 b 521 136 551 120 539 136 b 518 136 519 136 519 136 b 517 136 518 136 517 136 l 517 136 b 402 83 511 136 511 136 b 298 34 345 56 299 34 b 298 34 298 34 298 34 b 194 84 298 34 250 56 b 88 134 137 111 89 133 "},v93:{x_min:0,x_max:438.28125,ha:447,o:"m 212 205 b 219 205 213 205 216 205 b 239 183 228 205 231 204 b 421 -163 298 40 363 -83 b 438 -191 434 -180 438 -186 b 436 -197 438 -192 438 -195 b 424 -206 434 -204 431 -206 b 406 -201 420 -206 415 -205 b 216 -156 347 -172 281 -156 b 23 -205 148 -156 80 -173 b 14 -206 20 -206 17 -206 b 0 -191 6 -206 0 -201 b 6 -176 0 -187 1 -183 b 202 192 63 -104 142 45 b 212 205 205 199 208 202 m 264 48 l 249 81 l 243 94 l 242 91 b 89 -126 208 36 137 -66 b 81 -138 85 -133 81 -138 b 81 -138 81 -138 81 -138 b 81 -138 81 -138 81 -138 b 95 -133 81 -138 87 -136 b 280 -94 156 -108 221 -94 b 334 -98 299 -94 317 -95 b 343 -99 338 -99 343 -99 b 343 -99 343 -99 343 -99 b 338 -94 343 -99 341 -97 b 264 48 318 -58 287 1 "},v94:{x_min:-149.71875,x_max:148.359375,ha:151,o:"m -9 215 b 0 217 -6 217 -4 217 b 19 205 8 217 14 213 b 20 142 20 202 20 201 l 20 84 l 23 84 b 144 -27 81 74 129 30 b 148 -66 147 -40 148 -54 b 36 -213 148 -134 103 -197 b 0 -219 24 -217 12 -219 b -145 -104 -68 -219 -129 -173 b -149 -68 -148 -91 -149 -79 b -24 84 -149 6 -98 74 l -21 84 l -21 142 b -19 205 -20 201 -20 202 b -9 215 -17 209 -13 213 m -21 -15 b -23 41 -21 37 -21 41 b -23 41 -23 41 -23 41 b -76 11 -35 40 -62 26 b -108 -65 -98 -11 -108 -38 b -1 -176 -108 -122 -65 -176 b 107 -65 63 -176 107 -122 b 74 11 107 -38 96 -11 b 20 41 61 26 32 41 b 20 -15 20 41 20 15 b 19 -74 20 -72 20 -72 b 0 -87 14 -83 6 -87 b -19 -74 -8 -87 -16 -83 b -21 -15 -20 -72 -20 -72 "},v95:{x_min:0,x_max:406.96875,ha:415,o:"m 55 181 b 70 183 61 183 66 183 b 111 170 85 183 99 179 b 160 130 115 167 137 149 l 202 95 l 245 130 b 319 181 299 176 302 179 b 334 183 325 183 330 183 b 406 109 375 183 406 148 b 401 81 406 99 405 91 b 348 24 394 65 390 59 b 318 -1 332 11 318 0 b 348 -26 318 -1 332 -12 b 401 -83 390 -61 394 -66 b 406 -111 405 -93 406 -101 b 334 -184 406 -149 375 -184 b 319 -183 330 -184 325 -184 b 245 -131 302 -180 299 -177 l 202 -97 l 160 -131 b 85 -183 107 -177 103 -180 b 70 -184 80 -184 76 -184 b 0 -111 31 -184 0 -149 b 4 -83 0 -101 1 -93 b 58 -26 10 -66 16 -61 b 88 -1 74 -12 88 -1 b 58 24 88 0 74 11 b 10 69 23 54 17 59 b 0 109 2 81 0 95 b 55 181 0 142 21 173 m 83 133 b 72 136 78 136 76 136 b 57 131 66 136 61 134 b 46 109 49 126 46 117 b 50 93 46 104 47 98 b 107 45 51 91 77 70 b 160 0 137 20 160 0 b 107 -47 160 -1 137 -22 b 50 -94 77 -72 51 -93 b 46 -111 47 -99 46 -105 b 59 -134 46 -120 50 -130 b 72 -137 62 -136 68 -137 b 83 -136 76 -137 80 -136 b 144 -84 84 -134 107 -116 b 202 -36 176 -58 202 -36 b 261 -84 202 -36 230 -58 b 323 -136 299 -116 321 -134 b 334 -137 326 -136 330 -137 b 345 -134 338 -137 343 -136 b 360 -111 355 -130 360 -120 b 355 -94 360 -105 359 -99 b 299 -47 353 -93 329 -72 b 245 0 269 -22 245 -1 b 299 45 245 0 269 20 b 355 93 329 70 353 91 b 360 109 359 98 360 104 b 345 133 360 119 355 129 b 334 136 343 134 338 136 b 323 134 330 136 326 134 b 261 83 321 133 299 115 b 202 34 230 56 202 34 b 144 83 202 34 176 56 b 83 133 106 115 84 133 "},v97:{x_min:-228.671875,x_max:227.3125,ha:232,o:"m -217 487 l -213 488 l 0 488 l 212 488 l 216 487 b 225 476 220 484 224 480 l 227 473 l 227 244 l 227 15 l 225 12 b 206 0 223 4 215 0 b 197 1 204 0 200 0 b 187 12 193 4 189 6 l 186 15 l 186 138 l 186 262 l -1 262 l -187 262 l -187 138 l -187 15 l -189 12 b -208 0 -193 4 -200 0 b -227 12 -216 0 -223 4 l -228 15 l -228 244 l -228 473 l -227 476 b -217 487 -225 480 -221 484 "},v9a:{x_min:-21.78125,x_max:367.5,ha:375,o:"m 230 1031 b 238 1032 232 1032 235 1032 b 259 1014 245 1032 251 1027 b 367 662 330 906 367 782 b 364 602 367 641 367 621 b 232 317 352 488 304 384 b 57 120 155 245 103 187 b -1 18 31 84 6 40 b -19 4 -4 11 -12 4 l -21 4 l -21 159 l -21 315 l -16 315 b 96 335 10 315 62 324 b 315 695 227 380 315 527 b 313 738 315 709 314 724 b 224 991 304 825 273 916 b 216 1013 219 999 216 1007 b 230 1031 216 1021 220 1028 "},v9b:{x_min:-24.5,x_max:313.0625,ha:319,o:"m -24 -133 l -24 -5 l -20 -5 b -1 -19 -12 -5 -4 -11 b 142 -213 13 -61 74 -144 b 258 -376 196 -269 230 -315 b 313 -605 295 -449 313 -528 b 292 -742 313 -652 306 -699 b 288 -752 289 -748 288 -752 b 288 -752 288 -752 288 -752 b 292 -764 289 -753 291 -757 b 313 -907 306 -811 313 -860 b 292 -1045 313 -954 306 -1002 b 288 -1054 289 -1050 288 -1054 b 288 -1054 288 -1054 288 -1054 b 292 -1067 289 -1054 291 -1060 b 313 -1210 306 -1113 313 -1161 b 292 -1346 313 -1257 306 -1304 b 288 -1357 289 -1353 288 -1357 b 288 -1357 288 -1357 288 -1357 b 292 -1368 289 -1357 291 -1363 b 313 -1512 306 -1415 313 -1464 b 292 -1648 313 -1560 306 -1605 b 288 -1660 289 -1654 288 -1660 b 288 -1660 288 -1660 288 -1660 b 292 -1671 289 -1660 291 -1665 b 313 -1814 306 -1719 313 -1766 b 250 -2040 313 -1897 291 -1977 b 232 -2062 238 -2057 236 -2059 b 221 -2065 230 -2063 225 -2065 b 200 -2045 210 -2065 201 -2057 b 200 -2043 200 -2044 200 -2044 b 208 -2026 200 -2037 202 -2034 b 269 -1826 249 -1966 269 -1897 b 153 -1544 269 -1726 230 -1625 b -9 -1472 115 -1506 58 -1481 b -21 -1471 -14 -1471 -19 -1471 l -24 -1471 l -24 -1343 l -24 -1215 l -20 -1215 b -1 -1229 -12 -1215 -4 -1221 b 142 -1424 13 -1270 74 -1353 b 257 -1582 196 -1478 228 -1524 b 264 -1594 261 -1589 264 -1594 l 264 -1594 b 265 -1582 264 -1594 264 -1589 b 270 -1525 268 -1562 270 -1544 b 153 -1243 270 -1424 228 -1321 b -9 -1170 115 -1203 58 -1178 b -21 -1168 -14 -1170 -19 -1168 l -24 -1168 l -24 -1041 l -24 -913 l -20 -913 b -1 -927 -12 -913 -4 -918 b 142 -1121 13 -967 74 -1050 b 257 -1281 196 -1175 228 -1221 b 264 -1292 261 -1286 264 -1292 l 264 -1292 b 265 -1279 264 -1292 264 -1286 b 270 -1222 268 -1261 270 -1242 b 153 -941 270 -1121 228 -1018 b -9 -867 115 -900 58 -875 b -21 -866 -14 -867 -19 -866 l -24 -866 l -24 -738 l -24 -610 l -20 -610 b -1 -624 -12 -610 -4 -616 b 142 -818 13 -664 74 -749 b 257 -978 196 -873 228 -918 b 264 -989 261 -984 264 -989 l 264 -989 b 265 -977 264 -989 264 -984 b 270 -920 268 -959 270 -939 b 153 -638 270 -818 228 -716 b -9 -564 115 -598 58 -573 b -21 -563 -14 -564 -19 -563 l -24 -563 l -24 -435 l -24 -308 l -20 -308 b -1 -322 -12 -308 -4 -313 b 142 -516 13 -363 74 -446 b 257 -675 196 -571 228 -616 b 264 -687 261 -681 264 -687 l 264 -687 b 265 -674 264 -687 264 -681 b 270 -617 268 -656 270 -637 b 153 -335 270 -516 228 -413 b -9 -262 115 -295 58 -270 b -21 -260 -14 -262 -19 -260 l -24 -260 l -24 -133 "},v9c:{x_min:-166.0625,x_max:-25.859375,ha:0,o:"m -49 369 b -42 370 -46 369 -44 370 b -27 360 -36 370 -29 366 b -25 355 -27 359 -25 358 b -32 335 -25 351 -28 347 b -92 52 -66 248 -87 159 b -93 -1 -93 43 -93 20 b -92 -54 -93 -23 -93 -45 b -32 -337 -85 -162 -66 -251 b -25 -355 -27 -349 -25 -352 b -42 -371 -25 -365 -32 -371 b -61 -353 -50 -371 -51 -369 b -163 -63 -119 -262 -153 -165 b -166 -1 -166 -37 -166 -31 b -163 62 -166 30 -166 36 b -61 352 -153 163 -119 260 b -49 369 -54 365 -51 366 "},v9e:{x_min:0,x_max:607.0625,ha:619,o:"m 243 631 b 250 632 246 632 249 632 b 270 620 259 632 268 628 l 272 616 l 272 201 l 272 -212 l 270 -216 b 251 -229 268 -224 259 -229 b 227 -215 243 -229 240 -229 l 151 -142 b 32 -16 81 -80 53 -49 b 0 84 9 18 0 52 b 111 199 0 149 42 199 b 137 197 119 199 127 198 b 228 151 168 191 197 177 l 231 148 l 231 383 b 232 620 231 616 231 616 b 243 631 234 624 238 630 m 168 131 b 152 133 163 133 157 133 b 107 102 130 133 111 120 b 106 86 107 97 106 91 b 111 41 106 73 108 56 b 227 -152 125 -13 171 -90 l 231 -156 l 231 -37 l 231 80 l 225 87 b 168 131 210 111 190 126 m 347 631 b 353 632 348 632 351 632 b 374 620 363 632 371 628 b 375 383 375 616 375 616 l 375 148 l 377 151 b 492 199 415 183 454 199 b 537 191 507 199 522 197 b 607 84 582 176 607 134 b 583 0 607 58 598 29 b 455 -142 562 -40 533 -72 l 378 -215 b 355 -229 364 -229 362 -229 b 334 -216 345 -229 337 -224 l 333 -212 l 333 201 l 333 616 l 334 620 b 347 631 337 624 341 630 m 465 131 b 451 133 461 133 455 133 b 445 133 449 133 446 133 b 379 87 419 129 396 113 l 375 80 l 375 -37 l 375 -156 l 378 -152 b 499 81 451 -72 499 20 l 499 83 b 465 131 499 113 490 126 "},va3:{x_min:58.53125,x_max:228.671875,ha:294,o:"m 138 371 b 142 373 140 371 141 373 b 178 342 149 373 156 366 b 228 251 217 297 228 278 b 228 244 228 248 228 247 b 176 147 227 212 212 184 b 123 73 152 122 132 93 b 121 62 122 70 121 66 b 145 13 121 48 129 31 b 153 -2 151 6 153 1 b 149 -9 153 -5 152 -6 b 144 -11 148 -11 145 -11 b 129 -1 140 -11 136 -8 b 61 87 89 37 68 68 b 58 113 59 95 58 105 b 110 215 58 144 74 177 b 163 287 134 240 155 269 b 166 299 166 291 166 295 b 141 348 166 313 157 330 b 133 360 134 356 133 358 b 133 363 133 362 133 362 b 138 371 133 367 136 370 "},va5:{x_min:0,x_max:349.8125,ha:357,o:"m 88 302 b 103 303 93 302 98 303 b 202 224 149 303 191 270 b 205 199 204 216 205 208 b 178 129 205 173 196 147 l 175 126 l 182 127 b 307 249 236 142 284 190 b 313 259 308 254 311 258 b 329 267 317 265 323 267 b 349 247 340 267 349 259 b 201 -263 349 242 204 -258 b 182 -273 197 -270 190 -273 b 163 -260 174 -273 166 -269 b 161 -256 161 -259 161 -258 b 217 -59 161 -248 170 -220 b 272 129 247 43 272 127 b 272 129 272 129 272 129 b 264 122 272 129 268 126 b 140 80 227 94 183 80 b 36 115 102 80 65 91 b 0 194 10 136 0 165 b 88 302 0 244 32 292 "},va9:{x_min:-24.5,x_max:314.421875,ha:321,o:"m -24 -145 l -24 -5 l -20 -5 b 0 -23 -9 -5 -2 -12 b 27 -87 4 -38 14 -66 b 138 -220 53 -136 88 -177 b 235 -328 179 -255 208 -288 b 314 -592 287 -409 314 -501 b 292 -732 314 -639 307 -687 l 289 -742 l 294 -756 b 314 -896 307 -802 314 -849 b 292 -1035 314 -943 307 -991 l 289 -1045 l 294 -1057 b 314 -1197 307 -1104 314 -1152 b 292 -1338 314 -1246 307 -1292 l 289 -1347 l 294 -1360 b 314 -1500 307 -1407 314 -1454 b 273 -1689 314 -1565 300 -1628 b 250 -1712 265 -1710 261 -1712 b 228 -1691 236 -1712 228 -1704 l 228 -1685 l 234 -1675 b 270 -1507 258 -1621 270 -1564 b 98 -1193 270 -1381 209 -1261 b 40 -1174 76 -1179 58 -1174 b -10 -1189 24 -1174 8 -1178 b -20 -1192 -14 -1192 -16 -1192 l -24 -1192 l -24 -1052 l -24 -913 l -20 -913 b 0 -931 -9 -913 -2 -920 b 27 -995 4 -946 14 -974 b 138 -1128 53 -1043 88 -1085 b 257 -1275 190 -1172 228 -1220 b 262 -1283 259 -1279 262 -1283 l 262 -1283 b 269 -1249 264 -1282 268 -1260 b 270 -1206 270 -1233 270 -1220 b 98 -891 270 -1075 206 -957 b 40 -871 76 -877 58 -871 b -10 -886 24 -871 8 -875 b -20 -889 -14 -889 -16 -889 l -24 -889 l -24 -749 l -24 -610 l -20 -610 b 0 -628 -9 -610 -2 -617 b 27 -692 4 -644 14 -671 b 138 -825 53 -741 88 -782 b 257 -973 190 -870 228 -917 b 262 -981 259 -977 262 -981 l 262 -981 b 269 -946 264 -979 268 -957 b 270 -903 270 -931 270 -917 b 98 -588 270 -774 206 -655 b 40 -569 76 -574 58 -569 b -10 -584 24 -569 8 -574 b -20 -587 -14 -587 -16 -587 l -24 -587 l -24 -448 l -24 -308 l -20 -308 b 0 -326 -9 -308 -2 -315 b 27 -390 4 -341 14 -369 b 138 -523 53 -438 88 -480 b 257 -670 190 -567 228 -614 b 262 -678 259 -674 262 -678 b 262 -678 262 -678 262 -678 b 269 -644 264 -677 268 -656 b 270 -601 270 -628 270 -614 b 98 -285 270 -471 206 -352 b 40 -266 76 -273 58 -266 b -10 -281 24 -266 8 -272 b -20 -284 -14 -284 -16 -284 l -24 -284 l -24 -145 "},vaa:{x_min:-1.359375,x_max:752.703125,ha:768,o:"m 490 985 b 504 986 495 986 500 986 b 604 907 551 986 593 954 b 607 884 607 900 607 892 b 581 813 607 857 597 831 l 578 810 l 583 811 b 710 932 638 827 687 873 b 714 943 711 936 713 942 b 730 952 720 949 725 952 b 752 931 741 952 752 943 b 200 -946 752 927 204 -941 b 182 -957 197 -953 190 -957 b 163 -945 174 -957 166 -953 b 161 -939 161 -942 161 -942 b 217 -743 161 -931 170 -904 b 272 -555 247 -639 272 -555 b 272 -555 272 -555 272 -555 b 264 -560 272 -555 268 -557 b 140 -603 227 -589 182 -603 b 36 -567 102 -603 65 -592 b -1 -487 12 -548 -1 -517 b 17 -427 -1 -466 5 -445 b 103 -380 38 -395 70 -380 b 191 -433 137 -380 172 -398 b 205 -484 201 -448 205 -466 b 178 -553 205 -509 196 -535 l 175 -557 l 182 -555 b 307 -435 236 -539 284 -494 b 372 -213 308 -430 372 -215 b 372 -213 372 -213 372 -213 b 364 -219 372 -213 368 -216 b 240 -262 328 -247 283 -262 b 137 -226 202 -262 166 -249 b 99 -145 112 -206 99 -176 b 118 -84 99 -124 106 -104 b 204 -38 138 -54 171 -38 b 292 -91 238 -38 273 -56 b 306 -141 302 -106 306 -124 b 279 -212 306 -167 296 -194 l 276 -215 l 281 -213 b 408 -93 336 -198 385 -151 b 473 129 409 -88 473 127 b 473 129 473 129 473 129 b 465 122 473 129 469 126 b 341 80 428 94 383 80 b 236 115 303 80 266 91 b 200 195 213 136 200 165 b 217 256 200 217 206 238 b 304 303 239 287 272 303 b 393 249 338 303 374 285 b 406 199 402 234 406 217 b 379 129 406 173 397 148 l 377 126 l 382 127 b 509 248 436 142 485 190 b 574 470 510 254 574 469 b 574 470 574 470 574 470 b 566 464 574 470 570 467 b 442 421 529 435 484 421 b 337 458 404 421 367 433 b 300 538 314 477 300 508 b 318 598 300 559 306 580 b 404 645 340 630 372 645 b 494 592 439 645 475 627 b 507 541 502 577 507 559 b 480 471 507 516 498 489 l 477 467 l 483 470 b 608 589 537 485 586 531 b 675 811 611 595 675 810 b 675 811 675 811 675 811 b 666 806 675 811 671 809 b 543 763 628 777 585 763 b 438 799 504 763 468 775 b 401 878 412 820 401 849 b 490 985 401 928 434 977 "},vab:{x_min:0,x_max:272.21875,ha:278,o:"m 243 631 b 250 632 246 632 249 632 b 270 620 259 632 268 628 l 272 616 l 272 201 l 272 -212 l 270 -216 b 251 -229 268 -224 259 -229 b 227 -215 243 -229 240 -229 l 151 -142 b 32 -16 81 -80 53 -49 b 0 84 9 18 0 52 b 111 199 0 149 42 199 b 137 197 119 199 127 198 b 228 151 168 191 197 177 l 231 148 l 231 383 b 232 620 231 616 231 616 b 243 631 234 624 238 630 m 168 131 b 152 133 163 133 157 133 b 107 102 130 133 111 120 b 106 86 107 97 106 91 b 111 41 106 73 108 56 b 227 -152 125 -13 171 -90 l 231 -156 l 231 -37 l 231 80 l 225 87 b 168 131 210 111 190 126 "},vad:{x_min:0,x_max:873.828125,ha:892,o:"m 0 0 l 0 703 l 81 703 l 164 703 l 164 0 l 164 -705 l 81 -705 l 0 -705 l 0 0 m 225 0 l 225 703 l 246 703 l 268 703 l 268 366 l 268 30 l 274 36 b 314 79 284 44 302 63 b 413 302 357 137 392 213 b 432 327 419 324 421 327 b 449 306 443 327 447 322 b 611 115 457 195 529 115 b 651 122 624 115 638 117 b 728 316 705 140 724 188 b 729 388 728 342 729 366 b 671 635 729 533 711 602 b 581 662 649 652 616 662 b 477 637 545 662 510 653 l 475 635 l 477 634 b 503 627 488 632 495 631 b 545 556 532 612 545 584 b 491 480 545 524 526 491 b 465 474 481 476 473 474 b 379 563 417 474 379 516 b 389 602 379 576 382 588 b 541 691 409 641 479 681 b 582 694 555 692 568 694 b 865 462 714 694 834 598 b 873 392 871 440 873 416 b 865 317 873 367 871 341 b 639 84 839 194 748 101 b 612 83 630 83 620 83 b 511 116 577 83 543 94 b 504 120 509 119 506 120 b 504 120 504 120 504 120 b 469 59 504 120 488 93 l 432 -1 l 469 -61 b 504 -122 488 -94 504 -122 b 504 -122 504 -122 504 -122 b 511 -117 506 -122 509 -120 b 612 -84 543 -95 577 -84 b 665 -91 630 -84 647 -87 b 869 -338 771 -122 850 -216 b 873 -392 872 -356 873 -374 b 798 -595 873 -469 847 -539 b 581 -695 741 -662 660 -695 b 406 -626 517 -695 454 -671 b 381 -563 389 -607 381 -585 b 465 -477 381 -519 413 -477 b 545 -559 514 -477 545 -519 b 503 -628 545 -587 532 -613 b 477 -635 495 -632 488 -634 l 475 -637 l 477 -638 b 581 -663 510 -655 545 -663 b 671 -637 616 -663 649 -653 b 729 -391 711 -603 729 -534 b 728 -317 729 -367 728 -344 b 623 -117 722 -173 698 -124 b 611 -116 619 -116 615 -116 b 449 -308 528 -116 457 -198 b 432 -328 447 -323 443 -328 b 413 -303 421 -328 419 -326 b 314 -80 392 -215 357 -138 b 274 -37 302 -65 284 -45 l 268 -31 l 268 -367 l 268 -705 l 246 -705 l 225 -705 l 225 0 "},vb1:{x_min:78.9375,x_max:485.921875,ha:417,o:"m 362 378 b 378 380 367 380 372 380 b 472 348 415 380 453 367 b 485 315 481 338 485 327 b 462 273 485 298 477 281 b 439 267 454 269 446 267 b 398 290 424 267 409 274 b 344 319 385 309 364 319 b 281 269 315 319 289 301 b 279 262 280 266 279 262 b 276 256 279 260 277 258 b 274 249 276 254 274 251 b 238 127 273 248 257 192 b 201 4 217 61 201 5 b 166 -1 198 -1 200 -1 b 153 -1 163 -1 157 -1 b 141 -1 148 -1 144 -1 b 104 4 106 -1 107 -1 b 104 6 104 5 104 5 b 142 144 104 13 110 34 b 182 278 164 219 181 276 b 183 288 182 281 182 285 b 185 302 185 292 185 298 b 164 330 185 317 176 328 b 159 330 163 330 161 330 b 102 302 140 330 119 320 b 91 294 95 295 93 294 b 88 294 91 294 89 294 b 78 303 83 294 78 298 b 81 312 78 306 78 309 b 200 373 106 347 160 373 b 215 371 205 373 209 371 b 266 335 235 367 254 353 b 269 331 268 333 269 331 b 269 331 269 331 269 331 b 273 335 269 331 270 334 b 362 378 298 359 330 376 "},vb3:{x_min:0,x_max:227.3125,ha:232,o:"m 91 213 b 100 215 93 215 96 215 b 227 58 167 215 224 144 b 227 52 227 56 227 54 b 61 -201 227 -43 164 -138 b 29 -216 44 -212 36 -216 b 23 -210 27 -216 24 -213 b 21 -205 21 -208 21 -206 b 34 -192 21 -201 25 -197 b 122 -55 89 -161 122 -106 b 104 6 122 -33 117 -12 l 103 9 l 96 9 b 4 79 57 9 17 38 b 0 112 1 90 0 101 b 91 213 0 163 36 209 "},vb4:{x_min:-597.53125,x_max:596.171875,ha:608,o:"m -533 324 b -525 327 -530 326 -528 327 b -504 305 -514 327 -504 317 b -504 305 -504 305 -504 305 b -513 284 -504 299 -504 299 b -556 112 -541 226 -556 167 b -545 33 -556 84 -552 58 b -524 -20 -541 15 -532 -9 l -522 -23 l -491 15 l -413 111 b -355 174 -367 169 -363 174 b -351 174 -353 174 -352 174 b -254 86 -343 174 -348 179 b -168 -1 -208 37 -168 -1 b -100 84 -168 -1 -137 37 b -23 173 -28 173 -29 172 b -19 174 -21 174 -20 174 b -8 173 -14 174 -10 173 b 80 86 -5 172 13 151 b 166 -1 127 37 166 -1 b 235 84 166 -1 197 37 b 311 173 306 173 304 172 b 317 174 313 174 314 174 b 326 173 319 174 323 173 b 490 11 329 172 366 134 l 502 -1 l 530 34 b 568 76 560 72 563 74 b 575 77 570 77 573 77 b 596 56 586 77 596 68 b 594 48 596 54 596 51 b 417 -172 592 41 424 -166 b 405 -176 415 -174 409 -176 b 396 -174 401 -176 398 -176 b 307 -87 393 -173 372 -152 b 221 -1 259 -38 221 -1 b 152 -86 221 -1 190 -38 b 76 -176 81 -174 83 -173 b 70 -176 74 -176 73 -176 b 61 -174 66 -176 62 -174 b -27 -87 58 -173 38 -152 b -114 -1 -74 -38 -112 -1 b -182 -86 -114 -1 -145 -38 b -258 -176 -253 -174 -253 -173 b -264 -176 -259 -176 -262 -176 b -274 -174 -268 -176 -272 -174 b -438 -11 -277 -173 -348 -102 l -449 0 l -479 -37 b -524 -80 -513 -80 -514 -80 l -524 -80 b -553 -52 -534 -80 -540 -74 b -597 109 -583 -8 -597 48 b -560 280 -597 165 -585 224 b -533 324 -548 310 -540 322 "},vb6:{x_min:0,x_max:556.6875,ha:568,o:"m 289 545 b 298 546 292 545 295 546 b 318 533 306 546 315 541 b 319 428 319 530 319 528 l 319 327 l 334 327 b 526 223 412 326 485 285 b 543 172 537 206 543 190 b 447 76 543 122 503 76 b 445 76 446 76 446 76 b 359 165 394 77 359 119 b 368 205 359 179 362 192 b 441 251 382 233 412 251 b 455 249 446 251 451 251 b 460 248 458 249 460 248 b 460 248 460 248 460 248 b 454 254 460 249 458 251 b 334 295 419 280 378 294 l 319 295 l 319 4 l 319 -287 l 321 -285 b 328 -285 322 -285 325 -285 b 524 -99 424 -277 507 -198 b 541 -79 526 -84 530 -79 b 556 -97 551 -79 556 -84 b 548 -133 556 -105 553 -117 b 334 -317 521 -233 434 -306 b 322 -319 329 -317 323 -317 l 319 -319 l 319 -424 b 319 -471 319 -444 319 -459 b 313 -541 319 -544 318 -535 b 298 -548 308 -545 303 -548 b 279 -534 289 -548 281 -542 b 277 -424 277 -531 277 -530 l 277 -317 l 273 -317 b 13 -95 153 -305 51 -217 b 0 2 4 -62 0 -29 b 182 295 0 126 66 238 b 274 324 210 309 249 320 l 277 324 l 277 427 b 279 533 277 528 277 530 b 289 545 281 538 285 542 m 277 2 b 277 291 277 161 277 291 b 268 288 277 291 273 290 b 144 1 179 265 144 184 b 276 -284 144 -199 175 -267 l 277 -285 l 277 2 "},vb7:{x_min:-176.9375,x_max:251.8125,ha:257,o:"m -8 631 b -1 632 -6 632 -4 632 b 19 620 8 632 16 628 b 20 503 20 616 20 614 b 20 391 20 442 20 391 b 84 424 20 391 49 406 l 147 456 l 152 456 b 153 456 153 456 153 456 b 175 435 166 456 175 446 b 172 427 175 433 174 430 b 92 380 170 420 172 421 l 20 342 l 20 245 l 20 148 l 21 151 b 137 199 59 183 99 199 b 182 191 152 199 167 197 b 251 84 227 176 251 134 b 228 0 251 58 243 29 b 100 -142 206 -40 178 -72 l 23 -215 b 0 -229 9 -229 6 -229 b -20 -216 -9 -229 -17 -224 b -21 54 -21 -212 -21 -212 b -21 322 -21 201 -21 322 b -85 290 -21 322 -50 308 l -148 256 l -153 256 b -155 256 -155 256 -155 256 b -176 277 -167 256 -176 266 b -174 285 -176 280 -175 283 b -93 333 -171 294 -174 292 l -21 370 l -21 494 b -20 620 -21 616 -21 616 b -8 631 -17 624 -13 630 m 110 131 b 96 133 106 133 100 133 b 89 133 93 133 91 133 b 24 87 63 129 40 113 l 20 80 l 20 -37 l 20 -156 l 23 -152 b 144 81 96 -72 144 20 l 144 83 b 110 131 144 113 134 126 "},vb9:{x_min:-122.5,x_max:121.140625,ha:124,o:"m -16 145 b 0 147 -10 147 -5 147 b 121 -1 66 147 121 77 b 114 -49 121 -16 118 -33 b -1 -148 95 -112 47 -148 b -85 -106 -31 -148 -61 -134 b -122 -1 -110 -76 -122 -38 b -16 145 -122 68 -81 134 m 12 111 b 0 113 8 113 4 113 b -68 22 -29 113 -61 73 b -70 0 -69 15 -70 6 b -13 -113 -70 -49 -47 -98 b -1 -115 -9 -115 -5 -115 b 63 -40 24 -115 53 -83 b 68 -1 66 -27 68 -15 b 12 111 68 48 46 97 "},vba:{x_min:-118.421875,x_max:597.53125,ha:381,o:"m 460 574 b 464 574 461 574 462 574 b 488 574 470 574 481 574 b 500 573 491 574 498 574 b 594 503 543 570 588 538 b 597 488 596 498 597 494 b 528 417 597 449 564 417 b 502 423 519 417 510 419 b 465 481 477 434 465 458 b 488 528 465 499 472 516 b 490 530 490 530 490 530 b 490 530 490 530 490 530 b 468 517 488 530 475 523 b 349 340 419 485 377 420 b 347 330 348 334 347 330 b 383 328 347 328 363 328 b 428 326 423 328 424 328 b 442 302 438 320 442 312 b 430 281 442 294 438 285 b 385 276 424 277 426 276 l 377 276 l 332 276 l 330 269 b 178 -117 303 126 250 -9 b 1 -249 129 -194 69 -237 b -20 -251 -6 -251 -13 -251 b -114 -187 -65 -251 -100 -227 b -118 -156 -117 -177 -118 -166 b -51 -84 -118 -116 -91 -84 b -31 -87 -46 -84 -39 -86 b 16 -152 0 -95 16 -124 b -12 -205 16 -173 8 -194 b -16 -208 -14 -206 -16 -208 b -14 -208 -16 -208 -14 -208 b -9 -206 -14 -208 -12 -208 b 74 -124 23 -197 54 -166 b 172 224 98 -79 125 22 b 185 276 178 252 183 274 b 185 276 185 276 185 276 b 141 276 185 276 181 276 b 91 280 96 276 96 276 b 77 302 83 285 77 294 b 91 326 77 312 83 320 b 148 328 95 328 96 328 l 198 330 l 202 341 b 460 574 249 473 351 566 "},vbf:{x_min:-53.078125,x_max:513.140625,ha:485,o:"m 185 383 b 196 384 187 383 191 384 b 277 334 230 384 259 365 b 288 301 281 324 288 306 b 288 297 288 298 288 297 b 294 302 289 297 291 299 b 394 370 323 338 367 367 b 404 371 398 370 401 371 b 510 272 453 371 498 328 b 513 237 513 262 513 251 b 507 172 513 217 511 192 b 326 -34 487 59 412 -26 b 314 -36 322 -36 318 -36 b 274 -24 298 -36 283 -31 l 265 -16 b 224 44 246 -1 232 20 b 223 49 224 47 223 49 b 223 49 223 49 223 49 b 149 -197 221 48 149 -194 b 149 -198 149 -197 149 -198 b 170 -210 149 -202 155 -205 b 187 -215 174 -210 175 -212 b 204 -231 201 -219 204 -222 b 197 -245 204 -240 202 -242 l 194 -248 l 76 -248 l -42 -248 l -46 -245 b -53 -231 -51 -242 -53 -240 b -35 -215 -53 -222 -49 -217 b -13 -210 -21 -212 -20 -212 b -6 -208 -10 -209 -8 -208 b 0 -206 -6 -208 -2 -206 b 25 -188 13 -201 21 -195 b 163 280 28 -183 163 276 b 166 291 163 283 164 287 b 167 302 167 295 167 299 b 155 324 167 315 161 324 b 155 324 155 324 155 324 b 65 230 125 322 85 280 b 53 215 61 217 58 215 b 51 215 53 215 51 215 b 42 224 46 215 42 217 b 57 263 42 231 47 244 b 140 360 77 305 104 337 b 152 370 144 365 149 369 b 185 383 157 376 172 381 m 374 306 b 366 308 371 308 368 308 b 300 273 348 308 321 294 b 284 254 288 262 287 259 b 280 242 283 249 281 245 b 257 169 279 240 270 213 l 236 98 l 236 93 b 251 48 238 77 243 61 b 279 27 258 37 272 27 b 281 27 279 27 280 27 b 291 31 281 27 287 30 b 396 170 334 52 378 109 b 406 247 402 197 406 224 b 401 277 406 259 405 270 b 374 306 397 290 383 303 "},vc3:{x_min:-10.890625,x_max:299.4375,ha:294,o:"m 136 460 b 142 462 137 462 140 462 b 166 449 152 462 161 456 b 171 428 168 446 168 445 b 288 131 194 322 238 209 b 298 115 295 120 296 117 b 299 106 298 112 299 109 b 273 81 299 91 287 81 b 255 86 268 81 261 83 b 155 116 225 104 183 116 l 152 116 l 149 108 b 141 83 148 102 144 91 b 134 48 137 69 134 58 b 149 9 134 34 140 24 b 153 -1 152 5 153 1 b 149 -9 153 -5 152 -6 b 144 -11 148 -11 147 -11 b 122 2 138 -11 133 -6 b 95 61 104 20 95 38 b 107 108 95 74 99 90 b 108 113 107 111 108 112 b 107 113 108 113 108 113 b 102 113 106 113 104 113 b 31 86 76 108 53 98 b 14 80 24 81 20 80 b -10 106 0 80 -10 91 b 0 131 -10 115 -9 116 b 115 430 49 209 91 317 b 136 460 119 451 123 456 "},vd0:{x_min:-10.890625,x_max:299.4375,ha:294,o:"m 44 174 b 51 174 47 174 49 174 b 68 173 55 174 61 174 l 287 112 l 551 40 b 615 20 617 22 609 23 b 626 0 622 16 626 8 b 615 -22 626 -9 622 -18 b 613 -23 613 -23 613 -23 b 613 -23 613 -23 613 -23 b 287 -113 613 -24 597 -29 l 68 -174 b 53 -176 61 -176 57 -176 b 39 -172 47 -176 43 -174 b 27 -151 31 -167 27 -159 b 39 -129 27 -141 31 -133 b 230 -74 43 -124 20 -131 l 370 -36 l 468 -9 b 498 0 484 -4 498 -1 b 468 8 498 0 484 2 l 370 34 l 230 73 b 40 126 28 129 43 124 b 27 149 31 131 27 140 b 44 174 27 161 34 170 m 205 110 l 205 300 b 205 330 245 330 245 300 l 245 300 l 245 -300 b 245 -330 205 -330 205 -300 l 205 -300 l 205 110 l 345 90 m 345 90 l 345 330 b 345 360 385 360 385 330 l 385 330 l 385 -270 b 385 -300 345 -300 345 -270 l 345 -270 l 345 90 "},vd1:{x_min:-20,x_max:320,ha:257,o:"m -8 200 b -8 210 8 200 16 200 l 20 148 -199 l 23 -615 b 0 -629 9 -629 6 -629 l -21 -612 l -21 -201 l -21 216 l -20 200 m 16 200 l 310 0 l 240 0 l 16 140 l 16 -120 l 240 0 l 310 0 l 16 -200 "},vd2:{x_min:0,x_max:430.75,ha:386,o:"m 0 200 l 0 -200 l 430 -200 l 430 200 l 0 200 "},vd3:{x_min:0,x_max:430.75,ha:386,o:"m 0 200 l 0 -200 l 430 -200 l 430 200 l 0 200 l 50 150 l 380 150 l 380 -150 l 50 -150 l 50 150 "},vd4:{x_min:0,x_max:430.75,ha:360,o:"m 0 150 l 0 -150 l 430 -150 l 430 150 l 0 150 "},vd5:{x_min:0,x_max:430.75,ha:360,o:"m 0 150 l 0 -150 l 430 -150 l 430 150 l 0 150 l 50 100 l 380 100 l 380 -100 l 50 -100 l 50 100"},vd6:{x_min:0,x_max:430.75,ha:360,o:"m -146 537 b -138 538 -143 538 -141 538 b -118 525 -129 538 -121 533 b -117 390 -117 522 -117 521 b -115 259 -117 268 -117 259 b -115 259 -115 259 -115 259 b -59 272 -104 263 -62 272 b -39 259 -50 272 -42 267 b -37 209 -38 257 -37 233 b -39 159 -37 185 -38 162 b -85 138 -43 149 -44 149 l -117 131 l -117 21 b -115 -88 -117 -80 -117 -88 b -115 -88 -115 -88 -115 -88 b -59 -75 -104 -84 -62 -75 b -44 -81 -52 -75 -48 -77 b -38 -124 -38 -87 -38 -85 b -38 -138 -38 -124 -38 -138 b -38 -152 -38 -138 -38 -152 b -44 -195 -38 -191 -38 -190 b -85 -209 -48 -200 -48 -200 l -117 -217 l -117 -349 b -118 -486 -117 -481 -117 -482 b -138 -499 -121 -494 -129 -499 b -153 -493 -143 -499 -149 -497 b -159 -415 -158 -487 -159 -496 b -159 -355 -159 -398 -159 -379 b -159 -227 -159 -284 -159 -227 b -205 -238 -159 -227 -180 -232 b -250 -249 -230 -244 -250 -249 b -251 -386 -251 -249 -251 -311 b -252 -525 -251 -521 -251 -522 b -272 -538 -255 -534 -264 -538 b -287 -532 -277 -538 -283 -536 b -293 -452 -292 -527 -293 -536 b -293 -391 -293 -436 -293 -415 b -294 -260 -293 -269 -293 -260 b -294 -260 -294 -260 -294 -260 b -348 -272 -306 -264 -345 -272 b -368 -259 -357 -272 -365 -267 b -369 -209 -369 -257 -369 -233 b -368 -159 -369 -185 -369 -162 b -323 -139 -364 -149 -362 -148 l -293 -131 l -293 -22 b -294 87 -293 80 -293 87 b -294 87 -294 87 -294 87 b -348 75 -306 84 -345 75 b -368 88 -357 75 -365 80 b -369 138 -369 91 -369 114 b -368 188 -369 162 -369 186 b -323 209 -364 198 -362 199 l -293 216 l -293 349 b -292 486 -293 481 -293 482 b -272 499 -288 494 -280 499 b -257 493 -266 499 -261 497 b -251 414 -251 487 -251 496 b -251 354 -251 398 -251 378 b -251 226 -251 284 -251 226 b -205 238 -250 226 -230 231 b -159 249 -180 244 -159 249 b -159 385 -159 249 -159 310 b -157 525 -159 521 -159 522 b -146 537 -156 530 -151 535 z m -159 11 b -159 120 -159 98 -159 120 l -159 120 b -175 116 -160 120 -167 119 b -221 105 -184 114 -204 109 l -251 98 l -251 -12 b -251 -121 -251 -72 -251 -121 b -205 -110 -250 -121 -230 -116 b -159 -99 -180 -104 -159 -99 b -159 11 -159 -99 -159 -49 z m 89 517 b 97 519 92 518 94 519 b 117 505 106 519 114 513 b 119 376 119 502 119 501 l 119 249 l 145 258 b 176 267 169 266 172 267 b 177 267 176 267 177 267 b 196 255 186 267 192 263 l 197 252 l 197 205 b 197 181 197 195 197 187 b 193 149 197 153 197 153 b 152 131 190 144 187 143 l 119 120 l 119 10 b 119 -100 119 -62 119 -100 b 145 -91 120 -100 131 -96 b 173 -82 159 -86 171 -82 b 176 -81 174 -81 175 -81 b 196 -94 185 -81 193 -87 b 198 -151 197 -97 198 -125 b 197 -194 198 -172 197 -192 b 153 -218 193 -203 192 -204 l 119 -230 l 119 -367 l 118 -504 l 117 -507 b 97 -519 113 -514 105 -519 b 82 -512 92 -519 87 -517 b 76 -434 77 -507 76 -516 b 76 -374 76 -418 76 -398 b 76 -245 76 -303 76 -245 b 52 -254 76 -245 65 -249 b 19 -263 34 -260 25 -263 b 6 -257 13 -263 10 -261 b 0 -214 0 -251 0 -253 b 0 -200 0 -210 0 -205 b 0 -188 0 -196 0 -192 b 6 -143 0 -147 0 -149 b 46 -126 10 -139 10 -139 l 76 -115 l 76 -5 b 76 106 76 56 76 106 b 51 98 76 106 64 102 b 18 89 34 92 25 89 b 6 95 13 89 10 91 b 0 139 0 101 0 99 b 0 153 0 143 0 148 b 0 179 0 163 0 172 b 44 225 0 215 3 211 l 76 236 l 76 369 b 78 505 76 501 76 502 b 89 517 80 510 85 515 z "},vd7:{x_min:0,x_max:430.75,ha:360,o:"m 283 633 b 291 634 286 634 289 634 b 311 621 300 634 308 629 b 313 505 313 618 313 617 b 313 393 313 443 313 393 b 378 425 313 393 343 407 l 443 458 l 448 458 b 449 458 449 458 449 458 b 471 437 462 458 471 448 b 469 429 471 434 470 432 b 387 382 466 421 469 423 l 313 344 l 313 247 l 313 150 l 315 152 b 433 201 353 184 394 201 b 479 193 448 201 464 198 b 549 86 524 177 549 135 b 526 1 549 59 541 29 b 395 -143 504 -39 475 -71 b 316 -214 351 -182 341 -191 b 292 -229 302 -228 300 -229 b 272 -216 283 -229 275 -224 b 271 55 271 -212 271 -212 b 270 323 271 203 270 323 b 205 291 270 323 241 308 l 140 258 l 135 258 b 134 258 135 258 134 258 b 112 279 121 258 112 267 b 114 287 112 281 113 284 b 196 334 117 295 114 293 l 271 371 l 271 495 b 272 621 271 617 271 618 b 283 633 274 626 279 631 z m 404 133 b 391 134 400 134 395 134 b 384 134 388 134 386 134 b 318 88 358 130 335 114 l 313 81 l 313 -37 l 313 -156 l 316 -152 b 439 83 391 -71 439 22 l 439 84 b 404 133 439 115 430 128 z m -8 633 l -8 633 b 0 634 -6 634 -3 634 b 20 621 8 634 17 629 b 21 384 21 618 21 617 l 21 150 l 24 152 b 141 201 62 184 102 201 b 187 193 157 201 172 198 b 257 86 232 177 257 135 b 234 1 257 59 250 29 b 103 -143 212 -39 183 -71 b 24 -214 60 -182 49 -191 b 0 -229 10 -228 8 -229 b -20 -216 -9 -229 -17 -224 l -21 -212 l -21 203 l -21 618 l -20 621 b -8 633 -18 626 -13 631 z m 113 133 l 113 133 b 99 134 109 134 103 134 b 93 134 97 134 94 134 b 26 88 66 130 43 114 l 21 81 l 21 -37 l 21 -156 l 25 -152 b 148 83 99 -71 148 22 l 148 84 b 113 133 148 115 138 128 z "},rwl:{x_min:0,x_max:737.71875,ha:753,o:"m 9 13 b 208 15 10 15 51 15 b 368 15 251 15 304 15 l 726 15 l 729 12 b 737 -1 735 9 737 4 b 729 -15 737 -6 735 -11 l 726 -16 l 660 -16 l 592 -16 l 592 -95 l 592 -174 l 368 -174 l 144 -174 l 144 -95 l 144 -16 l 77 -16 l 9 -16 l 6 -15 b 0 -1 1 -11 0 -6 b 9 13 0 5 2 11 "},rhl:{x_min:0,x_max:737.71875,ha:753,o:"m 144 94 l 144 173 l 368 173 l 592 173 l 592 94 l 592 15 l 660 15 l 726 15 l 729 12 b 737 -1 735 9 737 4 b 729 -15 737 -6 735 -11 l 726 -16 l 368 -16 l 9 -16 l 6 -15 b 0 -1 1 -11 0 -6 b 6 12 0 4 1 9 l 9 15 l 77 15 l 144 15 l 144 94 "}},cssFontWeight:"normal",ascender:1903,underlinePosition:-125,cssFontStyle:"normal",boundingBox:{yMin:-2065.375,xMin:-695.53125,yMax:1901.578125,xMax:1159.671875},resolution:1e3,descender:-2066,familyName:"VexFlow-18",lineHeight:4093,underlineThickness:50};function processOutline(e,t,n,i,r,o){let s,a,l,c=0;function u(){return t+e[c++]*i}function h(){return n+e[c++]*r}for(;c<e.length;)switch(s=e[c++],s){case"m":case"l":o[s](u(),h());break;case"q":a=u(),l=h(),o.q(u(),h(),a,l);break;case"b":a=u(),l=h(),o.b(u(),h(),u(),h(),a,l)}}class Glyph extends Element$1{static loadMetrics(e,t,n){const i=e.glyphs[t];if(!i)throw new Vex.RERR("BadGlyph",`Glyph ${t} does not exist in font.`);const r=i.x_min,o=i.x_max,s=i.ha;let a;if(i.o)return n?i.cached_outline?a=i.cached_outline:(a=i.o.split(" "),i.cached_outline=a):(i.cached_outline&&delete i.cached_outline,a=i.o.split(" ")),{x_min:r,x_max:o,ha:s,outline:a};throw new Vex.RERR("BadGlyph",`Glyph ${t} has no outline defined.`)}static renderGlyph(e,t,n,i,r,o){const s=72*i/(100*Font.resolution),a=Glyph.loadMetrics(Font,r,!o);Glyph.renderOutline(e,a.outline,s,t,n)}static renderOutline(e,t,n,i,r){e.beginPath(),e.moveTo(i,r),processOutline(t,i,r,n,-n,{m:e.moveTo.bind(e),l:e.lineTo.bind(e),q:e.quadraticCurveTo.bind(e),b:e.bezierCurveTo.bind(e)}),e.fill()}static getOutlineBoundingBox(e,t,n,i){const r=new BoundingBoxComputation;return processOutline(e,n,i,t,-t,{m:r.addPoint.bind(r),l:r.addPoint.bind(r),q:r.addQuadraticCurve.bind(r),b:r.addBezierCurve.bind(r)}),new BoundingBox(r.x1,r.y1,r.width(),r.height())}constructor(e,t,n){super(),this.setAttribute("type","Glyph"),this.code=e,this.point=t,this.options={cache:!0,font:Font},this.metrics=null,this.x_shift=0,this.y_shift=0,this.originShift={x:0,y:0},n?this.setOptions(n):this.reset()}setOptions(e){Vex.Merge(this.options,e),this.reset()}setPoint(e){return this.point=e,this}setStave(e){return this.stave=e,this}setXShift(e){return this.x_shift=e,this}setYShift(e){return this.y_shift=e,this}reset(){this.scale=72*this.point/(100*this.options.font.resolution),this.metrics=Glyph.loadMetrics(this.options.font,this.code,this.options.cache),this.bbox=Glyph.getOutlineBoundingBox(this.metrics.outline,this.scale,0,0)}getMetrics(){if(!this.metrics)throw new Vex.RuntimeError("BadGlyph",`Glyph ${this.code} is not initialized.`);return{x_min:this.metrics.x_min*this.scale,x_max:this.metrics.x_max*this.scale,width:this.bbox.getW(),height:this.bbox.getH()}}setOriginX(e){const{bbox:t}=this,n=(e-Math.abs(t.getX()/t.getW()))*t.getW();this.originShift.x=-n}setOriginY(e){const{bbox:t}=this,n=(e-Math.abs(t.getY()/t.getH()))*t.getH();this.originShift.y=-n}setOrigin(e,t){this.setOriginX(e),this.setOriginY(t)}render(e,t,n){if(!this.metrics)throw new Vex.RuntimeError("BadGlyph",`Glyph ${this.code} is not initialized.`);const i=this.metrics.outline,r=this.scale;this.setRendered(),this.applyStyle(e),Glyph.renderOutline(e,i,r,t+this.originShift.x,n+this.originShift.y),this.restoreStyle(e)}renderToStave(e){if(this.checkContext(),!this.metrics)throw new Vex.RuntimeError("BadGlyph",`Glyph ${this.code} is not initialized.`);if(!this.stave)throw new Vex.RuntimeError("GlyphError","No valid stave");const t=this.metrics.outline,n=this.scale;this.setRendered(),this.applyStyle(),Glyph.renderOutline(this.context,t,n,e+this.x_shift,this.stave.getYForGlyphs()+this.y_shift),this.restoreStyle()}}const Flow={STEM_WIDTH:1.5,STEM_HEIGHT:35,STAVE_LINE_THICKNESS:1,RESOLUTION:16384,DEFAULT_NOTATION_FONT_SCALE:39,DEFAULT_TABLATURE_FONT_SCALE:39,SLASH_NOTEHEAD_WIDTH:15,TEXT_HEIGHT_OFFSET_HACK:1,IsKerned:!0,clefProperties:e=>{if(!e)throw new Vex.RERR("BadArgument","Invalid clef: "+e);const t=Flow.clefProperties.values[e];if(!t)throw new Vex.RERR("BadArgument","Invalid clef: "+e);return t}};Flow.clefProperties.values={treble:{line_shift:0},bass:{line_shift:6},tenor:{line_shift:4},alto:{line_shift:3},soprano:{line_shift:1},percussion:{line_shift:0},"mezzo-soprano":{line_shift:2},"baritone-c":{line_shift:5},"baritone-f":{line_shift:5},subbass:{line_shift:7},french:{line_shift:-1}},Flow.keyProperties=(e,t,n)=>{void 0===t&&(t="treble");const i={octave_shift:0};"object"==typeof n&&Vex.Merge(i,n);const r=e.split("/");if(r.length<2)throw new Vex.RERR("BadArguments",`Key must have note + octave and an optional glyph: ${e}`);const o=r[0].toUpperCase(),s=Flow.keyProperties.note_values[o];if(!s)throw new Vex.RERR("BadArguments","Invalid key name: "+o);s.octave&&(r[1]=s.octave);let a=parseInt(r[1],10);a-=i.octave_shift;let l=(7*a-28+s.index)/2;l+=Flow.clefProperties(t).line_shift;let c=0;l<=0&&2*l%2==0&&(c=1),l>=6&&2*l%2==0&&(c=-1);const u=void 0!==s.int_val?12*a+s.int_val:null,h=s.code,d=s.shift_right;let p={};if(r.length>2&&r[2]){const e=r[2].toUpperCase();p=Flow.keyProperties.customNoteHeads[e]||{}}return{key:o,octave:a,line:l,int_value:u,accidental:s.accidental,code:h,stroke:c,shift_right:d,displaced:!1,...p}},Flow.keyProperties.note_values={C:{index:0,int_val:0,accidental:null},CN:{index:0,int_val:0,accidental:"n"},"C#":{index:0,int_val:1,accidental:"#"},"C##":{index:0,int_val:2,accidental:"##"},CB:{index:0,int_val:-1,accidental:"b"},CBB:{index:0,int_val:-2,accidental:"bb"},D:{index:1,int_val:2,accidental:null},DN:{index:1,int_val:2,accidental:"n"},"D#":{index:1,int_val:3,accidental:"#"},"D##":{index:1,int_val:4,accidental:"##"},DB:{index:1,int_val:1,accidental:"b"},DBB:{index:1,int_val:0,accidental:"bb"},E:{index:2,int_val:4,accidental:null},EN:{index:2,int_val:4,accidental:"n"},"E#":{index:2,int_val:5,accidental:"#"},"E##":{index:2,int_val:6,accidental:"##"},EB:{index:2,int_val:3,accidental:"b"},EBB:{index:2,int_val:2,accidental:"bb"},F:{index:3,int_val:5,accidental:null},FN:{index:3,int_val:5,accidental:"n"},"F#":{index:3,int_val:6,accidental:"#"},"F##":{index:3,int_val:7,accidental:"##"},FB:{index:3,int_val:4,accidental:"b"},FBB:{index:3,int_val:3,accidental:"bb"},G:{index:4,int_val:7,accidental:null},GN:{index:4,int_val:7,accidental:"n"},"G#":{index:4,int_val:8,accidental:"#"},"G##":{index:4,int_val:9,accidental:"##"},GB:{index:4,int_val:6,accidental:"b"},GBB:{index:4,int_val:5,accidental:"bb"},A:{index:5,int_val:9,accidental:null},AN:{index:5,int_val:9,accidental:"n"},"A#":{index:5,int_val:10,accidental:"#"},"A##":{index:5,int_val:11,accidental:"##"},AB:{index:5,int_val:8,accidental:"b"},ABB:{index:5,int_val:7,accidental:"bb"},B:{index:6,int_val:11,accidental:null},BN:{index:6,int_val:11,accidental:"n"},"B#":{index:6,int_val:12,accidental:"#"},"B##":{index:6,int_val:13,accidental:"##"},BB:{index:6,int_val:10,accidental:"b"},BBB:{index:6,int_val:9,accidental:"bb"},R:{index:6,int_val:9,rest:!0},X:{index:6,accidental:"",octave:4,code:"v3e",shift_right:5.5}},Flow.keyProperties.customNoteHeads={D0:{code:"v27",shift_right:0,stem_up_x_offset:0,stem_down_x_offset:0,stem_up_y_offset:-1,stem_down_y_offset:0},D1:{code:"v2d",shift_right:-.5},D2:{code:"v22",shift_right:-.5},D3:{code:"v70",shift_right:-.5},T0:{code:"v49",shift_right:-2,stem_up_y_offset:-4,stem_down_y_offset:4},T1:{code:"v93",shift_right:.5,stem_up_y_offset:-4,stem_down_y_offset:4},T2:{code:"v40",shift_right:.5,stem_up_y_offset:-4,stem_down_y_offset:4},T3:{code:"v7d",shift_right:.5,stem_up_y_offset:-4,stem_down_y_offset:4},TI:{code:"v11",shift_right:0,stem_up_y_shift:5,stem_down_y_shift:5,stem_up_x_offset:6,stem_down_x_offset:4},X0:{code:"v92",stem_up_x_offset:-2,stem_down_x_offset:0,stem_up_y_offset:4,stem_down_y_offset:4},X1:{code:"v95",shift_right:-.5,stem_up_y_offset:4,stem_down_y_offset:4},X2:{code:"v3e",shift_right:.5,stem_up_y_offset:4,stem_down_y_offset:4},X3:{code:"v3b",shift_right:0,stem_up_x_offset:-1.2,stem_down_x_offset:0,stem_up_y_offset:-1,stem_down_y_offset:2},S1:{code:"vd3",shift_right:0},S2:{code:"vd2",shift_right:0},R1:{code:"vd5",shift_right:0},R2:{code:"vd4",shift_right:0},rwl:{code:"rwl",shift_right:0},rhl:{code:"rhl",shift_right:0}},Flow.integerToNote=e=>{if(void 0===e)throw new Vex.RERR("BadArguments","Undefined integer for integerToNote");if(e<-2)throw new Vex.RERR("BadArguments",`integerToNote requires integer > -2: ${e}`);const t=Flow.integerToNote.table[e];if(!t)throw new Vex.RERR("BadArguments",`Unknown note value for integer: ${e}`);return t},Flow.integerToNote.table={0:"C",1:"C#",2:"D",3:"D#",4:"E",5:"F",6:"F#",7:"G",8:"G#",9:"A",10:"A#",11:"B"},Flow.tabToGlyph=(e,t=1)=>{let n=null,i=0,r=0;if("X"===e.toString().toUpperCase()){const e=new Glyph("v7f",Flow.DEFAULT_TABLATURE_FONT_SCALE).getMetrics();n="v7f",i=e.width,r=-e.height/2}else i=Flow.textWidth(e.toString());return{text:e,code:n,getWidth:()=>i*t,shift_y:r}},Flow.textWidth=e=>7*e.toString().length,Flow.articulationCodes=e=>Flow.articulationCodes.articulations[e],Flow.articulationCodes.articulations={"a.":{code:"v23",between_lines:!0},av:{code:"v28",between_lines:!0},"a>":{code:"v42",between_lines:!0},"a-":{code:"v25",between_lines:!0},"a^":{code:"va",between_lines:!1},"a+":{code:"v8b",between_lines:!1},ao:{code:"v94",between_lines:!1},ah:{code:"vb9",between_lines:!1},"a@a":{code:"v43",between_lines:!1},"a@u":{code:"v5b",between_lines:!1},"a|":{code:"v75",between_lines:!1},am:{code:"v97",between_lines:!1},"a,":{code:"vb3",between_lines:!1}},Flow.accidentalCodes=e=>Flow.accidentalCodes.accidentals[e],Flow.accidentalCodes.accidentals={"#":{code:"v18",parenRightPaddingAdjustment:-1},"##":{code:"v7f",parenRightPaddingAdjustment:-1},b:{code:"v44",parenRightPaddingAdjustment:-2},bb:{code:"v26",parenRightPaddingAdjustment:-2},n:{code:"v4e",parenRightPaddingAdjustment:-1},"{":{code:"v9c",parenRightPaddingAdjustment:-1},"}":{code:"v84",parenRightPaddingAdjustment:-1},db:{code:"v9e",parenRightPaddingAdjustment:-1},d:{code:"vab",parenRightPaddingAdjustment:0},bbs:{code:"v90",parenRightPaddingAdjustment:-1},"++":{code:"v51",parenRightPaddingAdjustment:-1},"+":{code:"v78",parenRightPaddingAdjustment:-1},"+-":{code:"v8d",parenRightPaddingAdjustment:-1},"++-":{code:"v7a",parenRightPaddingAdjustment:-1},bs:{code:"vb7",parenRightPaddingAdjustment:-1},bss:{code:"v39",parenRightPaddingAdjustment:-1},o:{code:"vd0",parenRightPaddingAdjustment:-1},k:{code:"vd1",parenRightPaddingAdjustment:-1},ashs:{code:"vd6",parenRightPaddingAdjustment:-1},afhf:{code:"vd7",parenRightPaddingAdjustment:-1}},Flow.accidentalColumnsTable={1:{a:[1],b:[1]},2:{a:[1,2]},3:{a:[1,3,2],b:[1,2,1],second_on_bottom:[1,2,3]},4:{a:[1,3,4,2],b:[1,2,3,1],spaced_out_tetrachord:[1,2,1,2]},5:{a:[1,3,5,4,2],b:[1,2,4,3,1],spaced_out_pentachord:[1,2,3,2,1],very_spaced_out_pentachord:[1,2,1,2,1]},6:{a:[1,3,5,6,4,2],b:[1,2,4,5,3,1],spaced_out_hexachord:[1,3,2,1,3,2],very_spaced_out_hexachord:[1,2,1,2,1,2]}},Flow.ornamentCodes=e=>Flow.ornamentCodes.ornaments[e],Flow.ornamentCodes.ornaments={mordent:{code:"v1e"},mordent_inverted:{code:"v45"},turn:{code:"v72"},turn_inverted:{code:"v33"},tr:{code:"v1f"},upprall:{code:"v60"},downprall:{code:"vb4"},prallup:{code:"v6d"},pralldown:{code:"v2c"},upmordent:{code:"v29"},downmordent:{code:"v68"},lineprall:{code:"v20"},prallprall:{code:"v86"}},Flow.keySignature=e=>{const t=Flow.keySignature.keySpecs[e];if(!t)throw new Vex.RERR("BadKeySignature",`Bad key signature spec: '${e}'`);if(!t.acc)return[];const n=Flow.keySignature.accidentalList(t.acc),i=[];for(let r=0;r<t.num;++r){const e=n[r];i.push({type:t.acc,line:e})}return i},Flow.keySignature.keySpecs={C:{acc:null,num:0},Am:{acc:null,num:0},F:{acc:"b",num:1},Dm:{acc:"b",num:1},Bb:{acc:"b",num:2},Gm:{acc:"b",num:2},Eb:{acc:"b",num:3},Cm:{acc:"b",num:3},Ab:{acc:"b",num:4},Fm:{acc:"b",num:4},Db:{acc:"b",num:5},Bbm:{acc:"b",num:5},Gb:{acc:"b",num:6},Ebm:{acc:"b",num:6},Cb:{acc:"b",num:7},Abm:{acc:"b",num:7},G:{acc:"#",num:1},Em:{acc:"#",num:1},D:{acc:"#",num:2},Bm:{acc:"#",num:2},A:{acc:"#",num:3},"F#m":{acc:"#",num:3},E:{acc:"#",num:4},"C#m":{acc:"#",num:4},B:{acc:"#",num:5},"G#m":{acc:"#",num:5},"F#":{acc:"#",num:6},"D#m":{acc:"#",num:6},"C#":{acc:"#",num:7},"A#m":{acc:"#",num:7}},Flow.unicode={sharp:String.fromCharCode(parseInt("266F",16)),flat:String.fromCharCode(parseInt("266D",16)),natural:String.fromCharCode(parseInt("266E",16)),triangle:String.fromCharCode(parseInt("25B3",16)),"o-with-slash":String.fromCharCode(parseInt("00F8",16)),degrees:String.fromCharCode(parseInt("00B0",16)),circle:String.fromCharCode(parseInt("25CB",16))},Flow.keySignature.accidentalList=e=>({b:[2,.5,2.5,1,3,1.5,3.5],"#":[0,1.5,-.5,1,2.5,.5,2]}[e]),Flow.parseNoteDurationString=e=>{if("string"!=typeof e)return null;const t=/(\d*\/?\d+|[a-z])(d*)([nrhms]|$)/.exec(e);if(!t)return null;const n=t[1],i=t[2].length;let r=t[3];return 0===r.length&&(r="n"),{duration:n,dots:i,type:r}},Flow.parseNoteStruct=e=>{const t=e.duration,n=Flow.parseNoteDurationString(t);if(!n)return null;let i=Flow.durationToTicks(n.duration);if(null==i)return null;let r=e.type;const o=[];if(r){if(!Flow.getGlyphProps.validTypes[r])return null}else r=n.type||"n",void 0!==e.keys&&e.keys.forEach(((e,t)=>{const n=e.split("/");n&&3===n.length&&(o[t]=n[2])}));const s=e.dots?e.dots:n.dots;if("number"!=typeof s)return null;let a=i;for(let l=0;l<s;l++){if(a<=1)return null;a/=2,i+=a}return{duration:n.duration,type:r,customTypes:o,dots:s,ticks:i}},Flow.sanitizeDuration=e=>{const t=Flow.durationAliases[e];if(void 0!==t&&(e=t),void 0===Flow.durationToTicks.durations[e])throw new Vex.RERR("BadArguments",`The provided duration is not valid: ${e}`);return e},Flow.durationToFraction=e=>(new Fraction).parse(Flow.sanitizeDuration(e)),Flow.durationToNumber=e=>Flow.durationToFraction(e).value(),Flow.durationToTicks=e=>{e=Flow.sanitizeDuration(e);const t=Flow.durationToTicks.durations[e];return void 0===t?null:t},Flow.durationToTicks.durations={"1/2":2*Flow.RESOLUTION,1:Flow.RESOLUTION/1,2:Flow.RESOLUTION/2,4:Flow.RESOLUTION/4,8:Flow.RESOLUTION/8,16:Flow.RESOLUTION/16,32:Flow.RESOLUTION/32,64:Flow.RESOLUTION/64,128:Flow.RESOLUTION/128,256:Flow.RESOLUTION/256},Flow.durationAliases={w:"1",h:"2",q:"4",b:"256"},Flow.getGlyphProps=(e,t)=>{e=Flow.sanitizeDuration(e);const n=Flow.getGlyphProps.duration_codes[e];if(void 0===n)return null;t||(t="n");let i=n.type[t];if(void 0===i){const e=Flow.keyProperties.customNoteHeads[t.toUpperCase()];if(void 0===e)return null;i={code_head:e.code,...e}}return{...n.common,...i}},Flow.getGlyphProps.validTypes={n:{name:"note"},r:{name:"rest"},h:{name:"harmonic"},m:{name:"muted"},s:{name:"slash"}},Flow.getGlyphProps.duration_codes={"1/2":{common:{getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v53",e).getMetrics().width},stem:!1,stem_offset:0,flag:!1,stem_up_extension:-Flow.STEM_HEIGHT,stem_down_extension:-Flow.STEM_HEIGHT,tabnote_stem_up_extension:-Flow.STEM_HEIGHT,tabnote_stem_down_extension:-Flow.STEM_HEIGHT,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"v53"},h:{code_head:"v59"},m:{code_head:"vf",stem_offset:0},r:{code_head:"v31",rest:!0,position:"B/5",dot_shiftY:.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},1:{common:{getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v1d",e).getMetrics().width},stem:!1,stem_offset:0,flag:!1,stem_up_extension:-Flow.STEM_HEIGHT,stem_down_extension:-Flow.STEM_HEIGHT,tabnote_stem_up_extension:-Flow.STEM_HEIGHT,tabnote_stem_down_extension:-Flow.STEM_HEIGHT,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"v1d"},h:{code_head:"v46"},m:{code_head:"v92",stem_offset:-3},r:{code_head:"v5c",rest:!0,position:"D/5",dot_shiftY:.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},2:{common:{getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"v81",e).getMetrics().width},stem:!0,stem_offset:0,flag:!1,stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"v81"},h:{code_head:"v2d"},m:{code_head:"v95",stem_offset:-3},r:{code_head:"vc",stem:!1,rest:!0,position:"B/4",dot_shiftY:-.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},4:{common:{getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",e).getMetrics().width},stem:!0,stem_offset:0,flag:!1,stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e",stem_offset:-3},r:{code_head:"v7c",stem:!1,rest:!0,position:"B/4",dot_shiftY:-.5,line_above:1.5,line_below:1.5},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},8:{common:{getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",e).getMetrics().width},stem:!0,stem_offset:0,flag:!0,beam_count:1,code_flag_upstem:"v54",code_flag_downstem:"v9a",stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"va5",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-.5,line_above:1,line_below:1},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},16:{common:{beam_count:2,getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",e).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"v3f",code_flag_downstem:"v8f",stem_up_extension:0,stem_down_extension:0,tabnote_stem_up_extension:0,tabnote_stem_down_extension:0,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"v3c",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-.5,line_above:1,line_below:2},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},32:{common:{beam_count:3,getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",e).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"v47",code_flag_downstem:"v2a",stem_up_extension:9,stem_down_extension:9,tabnote_stem_up_extension:8,tabnote_stem_down_extension:5,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"v55",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-1.5,line_above:2,line_below:2},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},64:{common:{beam_count:4,getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",e).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"va9",code_flag_downstem:"v58",stem_up_extension:13,stem_down_extension:13,tabnote_stem_up_extension:12,tabnote_stem_down_extension:9,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"v38",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:-1.5,line_above:2,line_below:3},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}},128:{common:{beam_count:5,getWidth(e=Flow.DEFAULT_NOTATION_FONT_SCALE){return new Glyph(this.code_head||"vb",e).getMetrics().width},stem:!0,stem_offset:0,flag:!0,code_flag_upstem:"v9b",code_flag_downstem:"v30",stem_up_extension:22,stem_down_extension:22,tabnote_stem_up_extension:21,tabnote_stem_down_extension:18,dot_shiftY:0,line_above:0,line_below:0},type:{n:{code_head:"vb"},h:{code_head:"v22"},m:{code_head:"v3e"},r:{code_head:"vaa",stem:!1,flag:!1,rest:!0,position:"B/4",dot_shiftY:1.5,line_above:3,line_below:3},s:{getWidth:()=>Flow.SLASH_NOTEHEAD_WIDTH,position:"B/4"}}}},Flow.smufl={},Flow.smufl.to_code_points={bracketTop:"v1b",bracketBottom:"v10",barlineTick:"v6f",segno:"v8c",coda:"v4d",gClef:"v83",cClef:"vad",fClef:"v79",unpitchedPercussionClef1:"v59","6stringTabClef":"v2f",timeSig0:"v0",timeSig1:"v1",timeSig2:"v2",timeSig3:"v3",timeSig4:"v4",timeSig5:"v5",timeSig6:"v6",timeSig7:"v7",timeSig8:"v8",timeSig9:"v9",timeSigCommon:"v41",timeSigCutCommon:"vb6",noteheadDoubleWhole:"v53",noteheadWhole:"v1d",noteheadHalf:"v81",noteheadBlack:"vb",noteheadXWhole:"v92",noteheadXHalf:"v95",noteheadXBlack:"v3e",noteheadCircleX:"v3b",noteheadTriangleUpWhole:"v49",noteheadTriangleUpHalf:"v93",noteheadTriangleUpBlack:"v40",noteheadDiamondWhole:"v46",noteheadDiamondHalf:"v2d",noteheadDiamondBlack:"v22",augmentationDot:"v23",tremolo1:"v74",flag8thUp:"v54",flag8thDown:"v9a",flag16thUp:"v3f",flag16thDown:"v8f",flag32ndUp:"v47",flag32ndDown:"v2a",flag64thUp:"va9",flag64thDown:"v58",flag128thUp:"v9b",flag128thDown:"v30",accidentalFlat:"v44",accidentalNatural:"v4e",accidentalSharp:"v18",accidentalDoubleSharp:"v7f",accidentalDoubleFlat:"v26",accidentalParensLeft:"v9c",accidentalParensRight:"v84",accidentalQuarterToneFlatStein:"vab",accidentalThreeQuarterTonesFlatZimmermann:"v9e",accidentalQuarterToneSharpStein:"v78",accidentalThreeQuarterTonesSharpStein:"v51",accidentalBuyukMucennebFlat:"v39",accidentalBakiyeFlat:"vb7",accidentalKomaSharp:"v51",accidentalKucukMucennebSharp:"v8d",accidentalKoron:"vd1",accidentalSori:"vd0",articAccentAbove:"v42",articAccentBelow:"v42",articTenutoAbove:"v25",articTenutoBelow:"v25",articStaccatoAbove:"v23",articStaccatoBelow:"v23",articStaccatissimoAbove:"v28",articMarcatoAbove:"va",fermataAbove:"v43",fermataBelow:"v5b",breathMarkComma:"v6c",breathMarkUpbow:"v8a",caesura:"v34",caesuraCurved:"v4b",restMaxima:"v59",restDoubleWhole:"v31",restWhole:"v5c",restHalf:"vc",restQuarter:"v7c",rest8th:"va5",rest16th:"v3c",rest32nd:"v55",rest64th:"v38",rest128th:"vaa",dynamicPiano:"vbf",dynamicMezzo:"v62",dynamicForte:"vba",dynamicRinforzando:"vba",dynamicSforzando:"v4a",dynamicZ:"v80",ornamentTrill:"v1f",ornamentTurn:"v72",ornamentTurnSlash:"v33",ornamentMordent:"v45",ornamentMordentInverted:"v1e",ornamentTremblement:"v86",ornamentPrecompAppoggTrill:"v20",ornamentPrecompSlideTrillDAnglebert:"v60",ornamentPrecompSlideTrillBach:"v29",ornamentPrecompTrillSuffixDandrieu:"v6d",ornamentPrecompDoubleCadenceUpperPrefix:"vb4",ornamentPrecompDoubleCadenceUpperPrefixTurn:"v68",ornamentPrecompTrillLowerSuffix:"v2c",stringsDownBow:"v94",stringsUpBow:"v75",stringsHarmonic:"vb9",pluckedSnapPizzicatoAbove:"v94",pluckedLeftHandPizzicato:"v8b",keyboardPedalPed:"v36",keyboardPedalUp:"v5d",pictChokeCymbal:"vb3",wiggleArpeggiatoUp:"va3",arrowheadBlackUp:"vc3",arrowheadBlackDown:"v52"},Flow.TIME4_4={num_beats:4,beat_value:4,resolution:Flow.RESOLUTION};class CanvasContext{static get WIDTH(){return 600}static get HEIGHT(){return 400}static get CANVAS_BROWSER_SIZE_LIMIT(){return 32767}static SanitizeCanvasDims(e,t){return Math.max(e,t)>this.CANVAS_BROWSER_SIZE_LIMIT&&(Vex.W("Canvas dimensions exceed browser limit. Cropping to "+this.CANVAS_BROWSER_SIZE_LIMIT),e>this.CANVAS_BROWSER_SIZE_LIMIT&&(e=this.CANVAS_BROWSER_SIZE_LIMIT),t>this.CANVAS_BROWSER_SIZE_LIMIT&&(t=this.CANVAS_BROWSER_SIZE_LIMIT)),[e,t]}constructor(e){this.vexFlowCanvasContext=e,e.canvas?this.canvas=e.canvas:this.canvas={width:CanvasContext.WIDTH,height:CanvasContext.HEIGHT}}clear(){this.vexFlowCanvasContext.clearRect(0,0,this.canvas.width,this.canvas.height)}openGroup(){}closeGroup(){}add(){}setFont(e,t,n){return this.vexFlowCanvasContext.font=(n||"")+" "+t+"pt "+e,this}setRawFont(e){return this.vexFlowCanvasContext.font=e,this}setFillStyle(e){return this.vexFlowCanvasContext.fillStyle=e,this}setBackgroundFillStyle(e){return this.background_fillStyle=e,this}setStrokeStyle(e){return this.vexFlowCanvasContext.strokeStyle=e,this}setShadowColor(e){return this.vexFlowCanvasContext.shadowColor=e,this}setShadowBlur(e){return this.vexFlowCanvasContext.shadowBlur=e,this}setLineWidth(e){return this.vexFlowCanvasContext.lineWidth=e,this}setLineCap(e){return this.vexFlowCanvasContext.lineCap=e,this}setLineDash(e){return this.vexFlowCanvasContext.lineDash=e,this}scale(e,t){return this.vexFlowCanvasContext.scale(parseFloat(e),parseFloat(t))}resize(e,t){return[e,t]=this.SanitizeCanvasDims(parseInt(e,10),parseInt(t,10)),this.vexFlowCanvasContext.resize(e,t)}rect(e,t,n,i){return this.vexFlowCanvasContext.rect(e,t,n,i)}fillRect(e,t,n,i){return this.vexFlowCanvasContext.fillRect(e,t,n,i)}clearRect(e,t,n,i){return this.vexFlowCanvasContext.clearRect(e,t,n,i)}beginPath(){return this.vexFlowCanvasContext.beginPath()}moveTo(e,t){return this.vexFlowCanvasContext.moveTo(e,t)}lineTo(e,t){return this.vexFlowCanvasContext.lineTo(e,t)}bezierCurveTo(e,t,n,i,r,o){return this.vexFlowCanvasContext.bezierCurveTo(e,t,n,i,r,o)}quadraticCurveTo(e,t,n,i){return this.vexFlowCanvasContext.quadraticCurveTo(e,t,n,i)}arc(e,t,n,i,r,o){return this.vexFlowCanvasContext.arc(e,t,n,i,r,o)}glow(){return this.vexFlowCanvasContext.glow()}fill(){return this.vexFlowCanvasContext.fill()}stroke(){return this.vexFlowCanvasContext.stroke()}closePath(){return this.vexFlowCanvasContext.closePath()}measureText(e){return this.vexFlowCanvasContext.measureText(e)}fillText(e,t,n){return this.vexFlowCanvasContext.fillText(e,t,n)}save(){return this.vexFlowCanvasContext.save()}restore(){return this.vexFlowCanvasContext.restore()}}class RaphaelContext{constructor(e){this.element=e,this.paper=Raphael(e),this.path="",this.pen={x:0,y:0},this.lineWidth=1,this.state={scale:{x:1,y:1},font_family:"Arial",font_size:8,font_weight:800},this.attributes={"stroke-width":.3,fill:"black",stroke:"black",font:"10pt Arial"},this.background_attributes={"stroke-width":0,fill:"white",stroke:"white",font:"10pt Arial"},this.shadow_attributes={width:0,color:"black"},this.state_stack=[]}openGroup(){}closeGroup(){}add(){}setFont(e,t,n){return this.state.font_family=e,this.state.font_size=t,this.state.font_weight=n,this.attributes.font=(this.state.font_weight||"")+" "+this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this}setRawFont(e){return this.attributes.font=e,this}setFillStyle(e){return this.attributes.fill=e,this}setBackgroundFillStyle(e){return this.background_attributes.fill=e,this.background_attributes.stroke=e,this}setStrokeStyle(e){return this.attributes.stroke=e,this}setShadowColor(e){return this.shadow_attributes.color=e,this}setShadowBlur(e){return this.shadow_attributes.width=e,this}setLineWidth(e){this.attributes["stroke-width"]=e,this.lineWidth=e}setLineDash(){return this}setLineCap(){return this}scale(e,t){return this.state.scale={x:e,y:t},this.attributes.transform="S"+e+","+t+",0,0",this.attributes.scale=e+","+t+",0,0",this.attributes.font=this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this.background_attributes.transform="S"+e+","+t+",0,0",this.background_attributes.font=this.state.font_size*this.state.scale.x+"pt "+this.state.font_family,this}clear(){this.paper.clear()}resize(e,t){return this.element.style.width=e,this.paper.setSize(e,t),this}setViewBox(e){this.paper.canvas.setAttribute("viewBox",e)}rect(e,t,n,i){return i<0&&(t+=i,i=-i),this.paper.rect(e,t,n-.5,i-.5).attr(this.attributes).attr("fill","none").attr("stroke-width",this.lineWidth),this}fillRect(e,t,n,i){return i<0&&(t+=i,i=-i),this.paper.rect(e,t,n-.5,i-.5).attr(this.attributes),this}clearRect(e,t,n,i){return i<0&&(t+=i,i=-i),this.paper.rect(e,t,n-.5,i-.5).attr(this.background_attributes),this}beginPath(){return this.path="",this.pen.x=0,this.pen.y=0,this}moveTo(e,t){return this.path+="M"+e+","+t,this.pen.x=e,this.pen.y=t,this}lineTo(e,t){return this.path+="L"+e+","+t,this.pen.x=e,this.pen.y=t,this}bezierCurveTo(e,t,n,i,r,o){return this.path+="C"+e+","+t+","+n+","+i+","+r+","+o,this.pen.x=r,this.pen.y=o,this}quadraticCurveTo(e,t,n,i){return this.path+="Q"+e+","+t+","+n+","+i,this.pen.x=n,this.pen.y=i,this}arc(e,t,n,i,r,o){function s(e){for(;e<0;)e+=2*Math.PI;for(;e>2*Math.PI;)e-=2*Math.PI;return e}if((i=s(i))>(r=s(r))){const e=i;i=r,r=e,o=!o}const a=r-i;return a>Math.PI?(this.arcHelper(e,t,n,i,i+a/2,o),this.arcHelper(e,t,n,i+a/2,r,o)):this.arcHelper(e,t,n,i,r,o),this}arcHelper(e,t,n,i,r,o){const s=e+n*Math.cos(i),a=t+n*Math.sin(i),l=e+n*Math.cos(r),c=t+n*Math.sin(r);let u=0,h=0;o?(h=1,r-i<Math.PI&&(u=1)):r-i>Math.PI&&(u=1),this.path+="M"+s+","+a+",A"+n+","+n+",0,"+u+","+h+","+l+","+c+"M"+this.pen.x+","+this.pen.y}glow(){const e=this.paper.set();if(this.shadow_attributes.width>0){const t=this.shadow_attributes,n=t.width/2;for(let i=1;i<=n;i++)e.push(this.paper.path(this.path).attr({stroke:t.color,"stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(t.width/n*i).toFixed(3),opacity:+((t.opacity||.3)/n).toFixed(3),transform:this.attributes.transform,scale:this.attributes.scale}))}return e}fill(){const e=this.paper.path(this.path).attr(this.attributes).attr("stroke-width",0);return this.glow(e),this}stroke(){const e=this.lineWidth*(this.state.scale.x+this.state.scale.y)/2,t=this.paper.path(this.path).attr(this.attributes).attr("fill","none").attr("stroke-width",e);return this.glow(t),this}closePath(){return this.path+="Z",this}measureText(e){const t=this.paper.text(0,0,e).attr(this.attributes).attr("fill","none").attr("stroke","none"),n=t.getBBox();return t.remove(),{width:n.width,height:n.height}}fillText(e,t,n){return this.paper.text(t+this.measureText(e).width/2,n-this.state.font_size/(2.25*this.state.scale.y),e).attr(this.attributes),this}save(){return this.state_stack.push({state:{font_family:this.state.font_family},attributes:{font:this.attributes.font,fill:this.attributes.fill,stroke:this.attributes.stroke,"stroke-width":this.attributes["stroke-width"]},shadow_attributes:{width:this.shadow_attributes.width,color:this.shadow_attributes.color}}),this}restore(){const e=this.state_stack.pop();return this.state.font_family=e.state.font_family,this.attributes.font=e.attributes.font,this.attributes.fill=e.attributes.fill,this.attributes.stroke=e.attributes.stroke,this.attributes["stroke-width"]=e.attributes["stroke-width"],this.shadow_attributes.width=e.shadow_attributes.width,this.shadow_attributes.color=e.shadow_attributes.color,this}}const attrNamesToIgnoreMap={path:{x:!0,y:!0,width:!0,height:!0},rect:{},text:{width:!0,height:!0}};{const e={"font-family":!0,"font-weight":!0,"font-style":!0,"font-size":!0};Vex.Merge(attrNamesToIgnoreMap.rect,e),Vex.Merge(attrNamesToIgnoreMap.path,e)}class SVGContext{constructor(e){this.element=e,this.svgNS="http://www.w3.org/2000/svg";const t=this.create("svg");this.element.appendChild(t),this.svg=t,this.groups=[this.svg],this.parent=this.svg,this.path="",this.pen={x:NaN,y:NaN},this.lineWidth=1,this.state={scale:{x:1,y:1},"font-family":"Arial","font-size":"8pt","font-weight":"normal"},this.attributes={"stroke-width":.3,fill:"black",stroke:"black","stroke-dasharray":"none","font-family":"Arial","font-size":"10pt","font-weight":"normal","font-style":"normal"},this.background_attributes={"stroke-width":0,fill:"white",stroke:"white","stroke-dasharray":"none","font-family":"Arial","font-size":"10pt","font-weight":"normal","font-style":"normal"},this.shadow_attributes={width:0,color:"black"},this.state_stack=[],this.iePolyfill()}create(e){return document.createElementNS(this.svgNS,e)}openGroup(e,t,n){const i=this.create("g");return this.groups.push(i),this.parent.appendChild(i),this.parent=i,e&&i.setAttribute("class",Vex.Prefix(e)),t&&i.setAttribute("id",Vex.Prefix(t)),n&&n.pointerBBox&&i.setAttribute("pointer-events","bounding-box"),i}closeGroup(e){if(e&&"transform"===e){const e=this.groups.pop();let t=e.getAttribute("class");t+=" vf-stopDot",e.setAttribute("class",t)}else this.groups.pop();this.parent=this.groups[this.groups.length-1]}add(e){this.parent.appendChild(e)}iePolyfill(){"undefined"!=typeof navigator&&(this.ie=/MSIE 9/i.test(navigator.userAgent)||/MSIE 10/i.test(navigator.userAgent)||/rv:11\.0/i.test(navigator.userAgent)||/Trident/i.test(navigator.userAgent))}setFont(e,t,n){let i=!1,r=!1,o="normal";"string"==typeof n&&(-1!==n.indexOf("italic")&&(n=n.replace(/italic/g,""),r=!0),-1!==n.indexOf("bold")&&(n=n.replace(/bold/g,""),i=!0),n=n.replace(/ /g,"")),o=r?"italic":o;const s={"font-family":e,"font-size":t+"pt","font-weight":n=void 0===(n=i?"bold":n)||""===n?"normal":n,"font-style":o};return this.fontSize=Number(t),Vex.Merge(this.attributes,s),Vex.Merge(this.state,s),this}setRawFont(e){const t=(e=e.trim()).split(" ");return this.attributes["font-family"]=t[1],this.state["font-family"]=t[1],this.attributes["font-size"]=t[0],this.state["font-size"]=t[0],this.fontSize=Number(t[0].match(/\d+/)),this}setFillStyle(e){return this.attributes.fill=e,this}setBackgroundFillStyle(e){return this.background_attributes.fill=e,this.background_attributes.stroke=e,this}setStrokeStyle(e){return this.attributes.stroke=e,this}setShadowColor(e){return this.shadow_attributes.color=e,this}setShadowBlur(e){return this.shadow_attributes.width=e,this}setLineWidth(e){this.attributes["stroke-width"]=e,this.lineWidth=e}setLineDash(e){if("[object Array]"===Object.prototype.toString.call(e))return e=e.join(", "),this.attributes["stroke-dasharray"]=e,this;throw new Vex.RERR("ArgumentError","lineDash must be an array of integers.")}setLineCap(e){return this.attributes["stroke-linecap"]=e,this}resize(e,t){this.width=e,this.height=t,this.element.style.width=e;const n={width:e,height:t};return this.applyAttributes(this.svg,n),this.scale(this.state.scale.x,this.state.scale.y),this}scale(e,t){this.state.scale={x:e,y:t};const n=this.width/e,i=this.height/t;return this.setViewBox(0,0,n,i),this}setViewBox(...e){if(1===e.length){const[t]=e;this.svg.setAttribute("viewBox",t)}else{const[t,n,i,r]=e,o=t+" "+n+" "+i+" "+r;this.svg.setAttribute("viewBox",o)}}applyAttributes(e,t){const n=attrNamesToIgnoreMap[e.nodeName];return Object.keys(t).forEach((i=>{var r;n&&n[i]||!i||!t[i]||"d"===i&&(null===(r=t[i])||void 0===r?void 0:r.indexOf("NaN"))>-1||e.setAttributeNS(null,i,t[i])})),e}clear(){for(;this.svg.lastChild;)this.svg.removeChild(this.svg.lastChild);this.scale(this.state.scale.x,this.state.scale.y)}rect(e,t,n,i,r){i<0&&(t+=i,i*=-1);const o=this.create("rect");return void 0===r&&(r={fill:"none","stroke-width":this.lineWidth,stroke:this.attributes.stroke}),Vex.Merge(r,{x:e,y:t,width:n,height:i}),this.applyAttributes(o,r),this.add(o),this}fillRect(e,t,n,i){return i<0&&(t+=i,i*=-1),this.rect(e,t,n,i,this.attributes),this}clearRect(e,t,n,i){return this.rect(e,t,n,i,this.background_attributes),this}beginPath(){return this.path="",this.pen.x=NaN,this.pen.y=NaN,this}moveTo(e,t){return this.path+="M"+e+" "+t,this.pen.x=e,this.pen.y=t,this}lineTo(e,t){return this.path+="L"+e+" "+t,this.pen.x=e,this.pen.y=t,this}bezierCurveTo(e,t,n,i,r,o){return this.path+="C"+e+" "+t+","+n+" "+i+","+r+" "+o,this.pen.x=r,this.pen.y=o,this}quadraticCurveTo(e,t,n,i){return this.path+="Q"+e+" "+t+","+n+" "+i,this.pen.x=n,this.pen.y=i,this}arc(e,t,n,i,r,o){function s(e){for(;e<0;)e+=2*Math.PI;for(;e>2*Math.PI;)e-=2*Math.PI;return e}if((i=s(i))>(r=s(r))){const e=i;i=r,r=e,o=!o}const a=r-i;return a>Math.PI?(this.arcHelper(e,t,n,i,i+a/2,o),this.arcHelper(e,t,n,i+a/2,r,o)):this.arcHelper(e,t,n,i,r,o),this}arcHelper(e,t,n,i,r,o){const s=e+n*Math.cos(i),a=t+n*Math.sin(i),l=e+n*Math.cos(r),c=t+n*Math.sin(r);let u=0,h=0;o?(h=1,r-i<Math.PI&&(u=1)):r-i>Math.PI&&(u=1),this.path+="M"+s+" "+a+" A"+n+" "+n+" 0 "+u+" "+h+" "+l+" "+c,isNaN(this.pen.x)||isNaN(this.pen.y)||(this.peth+="M"+this.pen.x+" "+this.pen.y)}closePath(){return this.path+="Z",this}glow(){if(this.shadow_attributes.width>0){const e=this.shadow_attributes,t=e.width/2;for(let n=1;n<=t;n++){const i={stroke:e.color,"stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(.4*e.width/t*n).toFixed(3),opacity:+((e.opacity||.3)/t).toFixed(3)},r=this.create("path");i.d=this.path,this.applyAttributes(r,i),this.add(r)}}return this}fill(e){this.glow();const t=this.create("path");let n=e;return void 0===e?(e={},Vex.Merge(e,this.attributes),e.stroke="none",n=e):(n=e,Vex.Merge(n,this.attributes),e.class&&(n.class=e.class),e.id&&(n.id=e.id)),e.d=this.path,this.applyAttributes(t,e),this.add(t),this}stroke(e=undefined){this.glow();const t=this.create("path"),n={};return Vex.Merge(n,this.attributes),e&&Vex.Merge(n,e),n.fill="none",n["stroke-width"]=this.lineWidth,n.d=this.path,this.applyAttributes(t,n),this.add(t),this}measureText(e){const t=this.create("text");if("function"!=typeof t.getBBox)return{x:0,y:0,width:0,height:0};t.textContent=e,this.applyAttributes(t,this.attributes),this.svg.appendChild(t);let n=t.getBBox();return this.ie&&""!==e&&"italic"===this.attributes["font-style"]&&(n=this.ieMeasureTextFix(n,e)),this.svg.removeChild(t),n}ieMeasureTextFix(e){const t=1.196*Number(this.fontSize)+1.9598,n=e.width-t,i=e.height-1.5;return{x:e.x,y:e.y,width:n,height:i}}fillText(e,t,n){if(!e||e.length<=0)return;const i={};Vex.Merge(i,this.attributes),i.stroke="none",i.x=t,i.y=n;const r=this.create("text");r.textContent=e,this.applyAttributes(r,i),this.add(r)}save(){return this.state_stack.push({state:{"font-family":this.state["font-family"],"font-weight":this.state["font-weight"],"font-style":this.state["font-style"],"font-size":this.state["font-size"],scale:this.state.scale},attributes:{"font-family":this.attributes["font-family"],"font-weight":this.attributes["font-weight"],"font-style":this.attributes["font-style"],"font-size":this.attributes["font-size"],fill:this.attributes.fill,stroke:this.attributes.stroke,"stroke-width":this.attributes["stroke-width"],"stroke-dasharray":this.attributes["stroke-dasharray"]},shadow_attributes:{width:this.shadow_attributes.width,color:this.shadow_attributes.color},lineWidth:this.lineWidth}),this}restore(){const e=this.state_stack.pop();return this.state["font-family"]=e.state["font-family"],this.state["font-weight"]=e.state["font-weight"],this.state["font-style"]=e.state["font-style"],this.state["font-size"]=e.state["font-size"],this.state.scale=e.state.scale,this.attributes["font-family"]=e.attributes["font-family"],this.attributes["font-weight"]=e.attributes["font-weight"],this.attributes["font-style"]=e.attributes["font-style"],this.attributes["font-size"]=e.attributes["font-size"],this.attributes.fill=e.attributes.fill,this.attributes.stroke=e.attributes.stroke,this.attributes["stroke-width"]=e.attributes["stroke-width"],this.attributes["stroke-dasharray"]=e.attributes["stroke-dasharray"],this.shadow_attributes.width=e.shadow_attributes.width,this.shadow_attributes.color=e.shadow_attributes.color,this.lineWidth=e.lineWidth,this}}let lastContext=null;class Renderer{static get Backends(){return{CANVAS:1,RAPHAEL:2,SVG:3,VML:4}}static get LineEndType(){return{NONE:1,UP:2,DOWN:3}}static get USE_CANVAS_PROXY(){return!1}static get lastContext(){return lastContext}static set lastContext(e){lastContext=e}static buildContext(e,t,n,i,r){const o=new Renderer(e,t);n&&i&&o.resize(n,i),r||(r="#FFF");const s=o.getContext();return s.setBackgroundFillStyle(r),Renderer.lastContext=s,s}static getCanvasContext(e,t,n,i){return Renderer.buildContext(e,Renderer.Backends.CANVAS,t,n,i)}static getRaphaelContext(e,t,n,i){return Renderer.buildContext(e,Renderer.Backends.RAPHAEL,t,n,i)}static getSVGContext(e,t,n,i){return Renderer.buildContext(e,Renderer.Backends.SVG,t,n,i)}static bolsterCanvasContext(e){if(Renderer.USE_CANVAS_PROXY)return new CanvasContext(e);return e.vexFlowCanvasContext=e,["clear","setFont","setRawFont","setFillStyle","setBackgroundFillStyle","setStrokeStyle","setShadowColor","setShadowBlur","setLineWidth","setLineCap","setLineDash","openGroup","closeGroup","getGroup"].forEach((t=>{e[t]=e[t]||CanvasContext.prototype[t]})),e}static drawDashedLine(e,t,n,i,r,o){e.beginPath();const s=i-t,a=r-n,l=Math.atan2(a,s);let c=t,u=n;e.moveTo(t,n);let h=0,d=!0;for(;!(s<0?c<=i:c>=i)||!(a<0?u<=r:u>=r);){const t=o[h++%o.length],n=c+Math.cos(l)*t;c=s<0?Math.max(i,n):Math.min(i,n);const p=u+Math.sin(l)*t;u=a<0?Math.max(r,p):Math.min(r,p),d?e.lineTo(c,u):e.moveTo(c,u),d=!d}e.closePath(),e.stroke()}constructor(e,t){if(this.elementId=e,!this.elementId)throw new Vex.RERR("BadArgument","Invalid id for renderer.");if(this.element=document.getElementById(e),this.element||(this.element=e),this.ctx=null,this.paper=null,this.backend=t,this.backend===Renderer.Backends.CANVAS){if(!this.element.getContext)throw new Vex.RERR("BadElement",`Can't get canvas context from element: ${e}`);this.ctx=Renderer.bolsterCanvasContext(this.element.getContext("2d",{willReadFrequently:!0}))}else if(this.backend===Renderer.Backends.RAPHAEL)this.ctx=new RaphaelContext(this.element);else{if(this.backend!==Renderer.Backends.SVG)throw new Vex.RERR("InvalidBackend",`No support for backend: ${this.backend}`);this.ctx=new SVGContext(this.element)}}resize(e,t){if(this.backend===Renderer.Backends.CANVAS){if(!this.element.getContext)throw new Vex.RERR("BadElement",`Can't get canvas context from element: ${this.elementId}`);[e,t]=CanvasContext.SanitizeCanvasDims(e,t);const n=window.devicePixelRatio||1;this.element.width=e*n,this.element.height=t*n,this.element.style.width=e+"px",this.element.style.height=t+"px",this.ctx=Renderer.bolsterCanvasContext(this.element.getContext("2d",{willReadFrequently:!0})),this.ctx.scale(n,n)}else this.ctx.resize(e,t);return this}getContext(){return this.ctx}}function L$j(...e){Stem.DEBUG&&Vex.L("Vex.Flow.Stem",e)}class Stem extends Element$1{static get CATEGORY(){return"stem"}static get UP(){return 1}static get DOWN(){return-1}static get WIDTH(){return Flow.STEM_WIDTH}static get HEIGHT(){return Flow.STEM_HEIGHT}constructor(e={}){super(),this.setAttribute("type","Stem"),this.x_begin=e.x_begin||0,this.x_end=e.x_end||0,this.y_top=e.y_top||0,this.y_bottom=e.y_bottom||0,this.stem_extension=e.stem_extension||0,this.stem_direction=e.stem_direction||0,this.hide=e.hide||!1,this.isStemlet=e.isStemlet||!1,this.stemletHeight=e.stemletHeight||0,this.renderHeightAdjustment=0,this.setOptions(e)}setResetHeight(e){this.resetHeight=e}setOptions(e){this.stem_up_y_offset=e.stem_up_y_offset||0,this.stem_down_y_offset=e.stem_down_y_offset||0}setNoteHeadXBounds(e,t){return this.x_begin=e,this.x_end=t,this}setDirection(e){this.stem_direction=e}setExtension(e){this.stem_extension=e}getExtension(){return this.stem_extension}setYBounds(e,t){this.y_top=e,this.y_bottom=t}getCategory(){return Stem.CATEGORY}getHeight(){const e=this.stem_direction===Stem.UP?this.stem_up_y_offset:this.stem_down_y_offset;return(this.y_bottom-this.y_top)*this.stem_direction+(Stem.HEIGHT-e+this.stem_extension)*this.stem_direction}getBoundingBox(){throw new Vex.RERR("NotImplemented","getBoundingBox() not implemented.")}getExtents(){const e=this.stem_direction===Stem.UP,t=[this.y_top,this.y_bottom],n=Stem.HEIGHT+this.stem_extension,i=(e?Math.min:Math.max)(...t),r=(e?Math.max:Math.min)(...t);return{topY:i+n*-this.stem_direction,baseY:r}}setVisibility(e){return this.hide=!e,this}setStemlet(e,t){return this.isStemlet=e,this.stemletHeight=t,this}draw(){if(this.setRendered(),this.hide)return;const e=this.checkContext();let t,n;const i=this.stem_direction;i===Stem.DOWN?(t=this.x_begin,n=this.y_top+this.stem_down_y_offset):(t=this.x_end,n=this.y_bottom-this.stem_up_y_offset);const r=this.getHeight();L$j("Rendering stem - ","Top Y: ",this.y_top,"Bottom Y: ",this.y_bottom);const o=this.isStemlet?r-this.stemletHeight*this.stem_direction:0;if(e.save(),this.applyStyle(e),e.beginPath(),e.setLineWidth(Stem.WIDTH),e.moveTo(t,n-o),e.lineTo(t,n-r-this.renderHeightAdjustment*i),e.svg){const t={class:Vex.Prefix("stem")};this.id&&(t.id=this.id),e.stroke(t)}else e.stroke();this.restoreStyle(e),e.restore()}}let Tuplet$1=class e extends Element$1{static get LOCATION_TOP(){return 1}static get LOCATION_BOTTOM(){return-1}static get NESTING_OFFSET(){return 15}constructor(t,n){if(super(),this.setAttribute("type","Tuplet"),!t||!t.length)throw new Vex.RuntimeError("BadArguments","No notes provided for tuplet.");this.options=Vex.Merge({},n),this.notes=t,this.num_notes="num_notes"in this.options?this.options.num_notes:t.length,this.options.beats_occupied&&this.beatsOccupiedDeprecationWarning(),this.notes_occupied=this.options.notes_occupied||this.options.beats_occupied||2,"bracketed"in this.options?this.bracketed=this.options.bracketed:this.bracketed=t.some((e=>null===e.beam)),this.ratioed="ratioed"in this.options?this.options.ratioed:Math.abs(this.notes_occupied-this.num_notes)>1,this.point=28,this.y_pos=16,this.x_pos=100,this.width=200,this.location=this.options.location||e.LOCATION_TOP,Formatter.AlignRestsToNotes(t,!0,!0),this.resolveGlyphs(),this.attach()}attach(){for(let e=0;e<this.notes.length;e++){this.notes[e].setTuplet(this)}}detach(){for(let e=0;e<this.notes.length;e++){this.notes[e].resetTuplet(this)}}setBracketed(e){return this.bracketed=!!e,this}setRatioed(e){return this.ratioed=!!e,this}setTupletLocation(t){if(t){if(t!==e.LOCATION_TOP&&t!==e.LOCATION_BOTTOM)throw new Vex.RERR("BadArgument","Invalid tuplet location: "+t)}else t=e.LOCATION_TOP;return this.location=t,this}getNotes(){return this.notes}getNoteCount(){return this.num_notes}beatsOccupiedDeprecationWarning(){const e=["beats_occupied has been deprecated as an ","option for tuplets. Please use notes_occupied ","instead. Calls to getBeatsOccupied and ","setBeatsOccupied should now be routed to ","getNotesOccupied and setNotesOccupied instead"].join("");console&&console.warn?console.warn(e):console&&console.log(e)}getBeatsOccupied(){return this.beatsOccupiedDeprecationWarning(),this.getNotesOccupied()}setBeatsOccupied(e){return this.beatsOccupiedDeprecationWarning(),this.setNotesOccupied(e)}getNotesOccupied(){return this.notes_occupied}setNotesOccupied(e){this.detach(),this.notes_occupied=e,this.resolveGlyphs(),this.attach()}resolveGlyphs(){this.numerator_glyphs=[];let e=this.num_notes;for(;e>=1;)this.numerator_glyphs.unshift(new Glyph("v"+e%10,this.point)),e=parseInt(e/10,10);for(this.denom_glyphs=[],e=this.notes_occupied;e>=1;)this.denom_glyphs.unshift(new Glyph("v"+e%10,this.point)),e=parseInt(e/10,10)}getNestedTupletCount(){const e=this.location,t=this.notes[0];let n=r(t,e),i=r(t,e);function r(e,t){return e.tupletStack.filter((e=>e.location===t)).length}return this.notes.forEach((t=>{const o=r(t,e);n=o>n?o:n,i=o<i?o:i})),n-i}getYPosition(){const t=this.getNestedTupletCount()*e.NESTING_OFFSET*-this.location,n=this.options.y_offset||0,i=this.notes[0];let r;if(this.location===e.LOCATION_TOP){r=i.getStave().getYForLine(0)-15;for(let e=0;e<this.notes.length;++e){const t=this.notes[e].getStemDirection()===Stem.UP?this.notes[e].getStemExtents().topY-10:this.notes[e].getStemExtents().baseY-20;t<r&&(r=t)}}else{r=i.getStave().getYForLine(4)+20;for(let e=0;e<this.notes.length;++e){const t=this.notes[e].getStemDirection()===Stem.UP?this.notes[e].getStemExtents().baseY+20:this.notes[e].getStemExtents().topY+10;t>r&&(r=t)}}return r+t+n}draw(){this.checkContext(),this.setRendered();const t=this.notes[0],n=this.notes[this.notes.length-1];this.bracketed?(this.x_pos=t.getTieLeftX()-5,this.width=n.getTieRightX()-this.x_pos+5):(this.x_pos=t.getStemX(),this.width=n.getStemX()-this.x_pos),this.y_pos=this.getYPosition();const i=(e,t)=>e+t.getMetrics().width;let r=this.numerator_glyphs.reduce(i,0);this.ratioed&&(r=this.denom_glyphs.reduce(i,r),r+=.32*this.point);const o=this.x_pos+this.width/2-r/2;if(this.bracketed){const t=this.width/2-r/2-5;t>0&&(this.context.fillRect(this.x_pos,this.y_pos,t,1),this.context.fillRect(this.x_pos+this.width/2+r/2+5,this.y_pos,t,1),this.context.fillRect(this.x_pos,this.y_pos+(this.location===e.LOCATION_BOTTOM),1,10*this.location),this.context.fillRect(this.x_pos+this.width,this.y_pos+(this.location===e.LOCATION_BOTTOM),1,10*this.location))}if(!1!==this.RenderTupletNumber){let e=0;this.numerator_glyphs.forEach((t=>{t.render(this.context,o+e,this.y_pos+this.point/3-2),e+=t.getMetrics().width}))}if(this.ratioed){const e=o+x_offset+.16*this.point,t=.06*this.point;this.context.beginPath(),this.context.arc(e,this.y_pos-.08*this.point,t,0,2*Math.PI,!0),this.context.closePath(),this.context.fill(),this.context.beginPath(),this.context.arc(e,this.y_pos+.12*this.point,t,0,2*Math.PI,!0),this.context.closePath(),this.context.fill(),x_offset+=.32*this.point,this.denom_glyphs.forEach((e=>{e.render(this.context,o+x_offset,this.y_pos+this.point/3-2),x_offset+=e.getMetrics().width}))}}};function calculateStemDirection(e){let t=0;return e.forEach((e=>{e.keyProps&&e.keyProps.forEach((e=>{t+=e.line-3}))})),t>=0?Stem.DOWN:Stem.UP}const getStemSlope=(e,t)=>{const n=e.getStemExtents().topY,i=e.getStemX();return(t.getStemExtents().topY-n)/(t.getStemX()-i)},BEAM_LEFT="L",BEAM_RIGHT="R",BEAM_BOTH="B";let Beam$1=class e extends Element$1{static getDefaultBeamGroups(e){e&&"c"!==e||(e="4/4");const t={"1/2":["1/2"],"2/2":["1/2"],"3/2":["1/2"],"4/2":["1/2"],"1/4":["1/4"],"2/4":["1/4"],"3/4":["1/4"],"4/4":["1/4"],"1/8":["1/8"],"2/8":["2/8"],"3/8":["3/8"],"4/8":["2/8"],"1/16":["1/16"],"2/16":["2/16"],"3/16":["3/16"],"4/16":["2/16"]}[e];if(void 0!==t)return t.map((e=>(new Fraction).parse(e)));{const t=parseInt(e.split("/")[0],10),n=parseInt(e.split("/")[1],10);if(t%3==0)return[new Fraction(3,n)];if(n>4)return[new Fraction(2,n)];if(n<=4)return[new Fraction(1,n)]}return[new Fraction(1,4)]}static applyAndGetBeams(t,n,i){return e.generateBeams(t.getTickables(),{groups:i,stem_direction:n})}static generateBeams(t,n){n||(n={}),n.groups&&n.groups.length||(n.groups=[new Fraction(2,8)]);const i=n.groups.map((e=>{if(!e.multiply)throw new Vex.RuntimeError("InvalidBeamGroups","The beam groups must be an array of Vex.Flow.Fractions");return e.clone().multiply(Flow.RESOLUTION,1)})),r=t;let o=0,s=[],a=[];function l(){i.length-1>o?o+=1:o=0}!function(){let e=[];r.forEach((t=>{if(e=[],t.shouldIgnoreTicks())return s.push(a),void(a=e);a.push(t);const n=i[o].clone(),r=a.reduce(((e,t)=>t.getTicks().clone().add(e)),new Fraction(0,1));const c=Flow.durationToNumber(t.duration)<8;c&&t.tuplet&&(n.numerator*=2),r.greaterThan(n)?(c||e.push(a.pop()),s.push(a),a=e,l()):r.equals(n)&&(s.push(a),a=e,l())})),a.length>0&&s.push(a)}(),function(){const e=[];s.forEach((t=>{let i=[];t.forEach(((t,r,o)=>{const s=0===r||r===o.length-1,a=o[r-1],l=!n.beam_rests&&t.isRest(),c=n.beam_rests&&n.beam_middle_only&&t.isRest()&&s;let u=!1;if(n.maintain_stem_directions&&a&&!t.isRest()&&!a.isRest()){const e=a.getStemDirection();u=t.getStemDirection()!==e}const h=parseInt(t.duration,10)<8;l||c||u||h?(i.length>0&&e.push(i),i=u?[t]:[]):i.push(t)})),i.length>0&&e.push(i)})),s=e}(),s.forEach((e=>{let t;if(n.maintain_stem_directions){const n=function(e){for(let t=0;t<e.length;t++){const n=e[t];if(!n.isRest())return n}return!1}(e);t=n?n.getStemDirection():Stem.UP}else t=n.stem_direction?n.stem_direction:calculateStemDirection(e);!function(e,t){e.forEach((e=>{e.setStemDirection(t)}))}(e,t)}));const c=s.filter((e=>{if(e.length>1){let t=!0;return e.forEach((e=>{e.getIntrinsicTicks()>=Flow.durationToTicks("4")&&(t=!1)})),t}return!1})),u=function(){const e=[];return s.forEach((t=>{let n=null;t.forEach((t=>{t.tuplet&&n!==t.tuplet&&(n=t.tuplet,e.push(n))}))})),e}(),h=[];return c.forEach((t=>{const i=new e(t);n.show_stemlets&&(i.render_options.show_stemlets=!0),n.secondary_breaks&&(i.render_options.secondary_break_ticks=Flow.durationToTicks(n.secondary_breaks)),!0===n.flat_beams&&(i.render_options.flat_beams=!0,i.render_options.flat_beam_offset=n.flat_beam_offset),h.push(i)})),u.forEach((e=>{const t=e.notes[0].stem_direction===Stem.DOWN?Tuplet$1.LOCATION_BOTTOM:Tuplet$1.LOCATION_TOP;e.setTupletLocation(t);let n=!1;for(let i=0;i<e.notes.length;i++){if(null===e.notes[i].beam){n=!0;break}}e.setBracketed(n)})),h}constructor(e,t){if(super(),this.setAttribute("type","Beam"),!e||e==[])throw new Vex.RuntimeError("BadArguments","No notes provided for beam.");if(1===e.length)throw new Vex.RuntimeError("BadArguments","Too few notes for beam.");if(this.ticks=e[0].getIntrinsicTicks(),this.ticks>=Flow.durationToTicks("4"))throw new Vex.RuntimeError("BadArguments","Beams can only be applied to notes shorter than a quarter note.");let n,i;for(this.stem_direction=Stem.UP,n=0;n<e.length;++n)if(i=e[n],i.hasStem()){this.stem_direction=i.getStemDirection();break}let r=this.stem_direction;if(t&&"stavenotes"===e[0].getCategory())r=calculateStemDirection(e);else if(t&&"tabnotes"===e[0].getCategory()){const t=e.reduce(((e,t)=>e+t.stem_direction),0);r=t>-1?Stem.UP:Stem.DOWN}for(n=0;n<e.length;++n)i=e[n],t&&(i.setStemDirection(r),this.stem_direction=r),i.setBeam(this);this.postFormatted=!1,this.notes=e,this.beam_count=this.getBeamCount(),this.break_on_indices=[],this.render_options={beam_width:5,max_slope:.25,min_slope:-.25,slope_iterations:20,slope_cost:100,show_stemlets:!1,stemlet_extension:7,partial_beam_length:10,flat_beams:!1,min_flat_beam_offset:15}}getNotes(){return this.notes}getBeamCount(){const e=this.notes.map((e=>e.getGlyph().beam_count));return e.reduce(((e,t)=>t>e?t:e))}breakSecondaryAt(e){return this.break_on_indices=e,this}getSlopeY(e,t,n,i){return n+(e-t)*i}calculateSlope(){const{notes:e,stem_direction:t,render_options:{max_slope:n,min_slope:i,slope_iterations:r,slope_cost:o}}=this,s=e[0],a=getStemSlope(s,e[e.length-1]),l=(n-i)/r;let c=Number.MAX_VALUE,u=0,h=0;for(let d=i;d<=n;d+=l){let n=0,i=0;for(let o=1;o<e.length;++o){const r=e[o],a=this.getSlopeY(r.getStemX(),s.getStemX(),s.getStemExtents().topY,d)+i,l=r.getStemExtents().topY;if(l*t<a*t){const e=Math.abs(l-a);i+=e*-t,n+=e*o}else n+=(l-a)*t}const r=a/2,l=o*Math.abs(r-d)+Math.abs(n);l<c&&(c=l,u=d,h=i)}this.slope=u,this.y_shift=h}calculateFlatSlope(){const{notes:e,stem_direction:t,render_options:{beam_width:n,min_flat_beam_offset:i,flat_beam_offset:r}}=this;let o=0,s=0,a=0,l=0;for(let d=0;d<e.length;d++){const n=e[d],i=n.getStemExtents().topY;o+=i,t===Stem.DOWN&&l<i?(l=i,s=Math.max(...n.getYs()),a=n.getBeamCount()):t===Stem.UP&&(0===l||l>i)&&(l=i,s=Math.min(...n.getYs()),a=n.getBeamCount())}let c=o/e.length;const u=i+a*(1.5*n),h=s+u*-t;t===Stem.DOWN&&c<h?c=s+u:t===Stem.UP&&c>h&&(c=s-u),r+this.render_options.flat_beam_offset_per_beam>0?(t===Stem.DOWN&&c>r&&!this.render_options.flat_beams||t===Stem.UP&&c<r&&!this.render_options.flat_beams)&&(this.render_options.flat_beam_offset=c):this.render_options.flat_beam_offset=c,this.slope=0,this.y_shift=0}getBeamYToDraw(){let e=this.notes[0].getStemExtents().topY;if(this.render_options.flat_beams&&this.render_options.flat_beam_offset+this.render_options.flat_beam_offset_per_beam>0){let t=this.render_options.flat_beam_offset;this.render_options.flat_beam_offset_per_beam&&(t+=this.render_options.flat_beam_offset_per_beam*this.getBeamCount());let n=this.notes[0].note_heads[0].y;const i=this.stem_direction>0?Math.min:Math.max;for(const e of this.notes)for(const t of e.note_heads)n=i(n,t.y);e=n+t*-this.stem_direction}return e}applyStemExtensions(){const{notes:e,slope:t,y_shift:n,stem_direction:i,beam_count:r,render_options:{show_stemlets:o,stemlet_extension:s,beam_width:a}}=this,l=e[0],c=this.getBeamYToDraw(),u=l.getStemX();for(let h=0;h<e.length;++h){const l=e[h],d=l.getStemX(),{topY:p}=l.getStemExtents(),f=this.getSlopeY(d,u,c,t)+n,m=l.getStem().getExtension(),g=i===Stem.UP?p-f:f-p;if(l.stem.setExtension(m+g),l.stem.renderHeightAdjustment=-Stem.WIDTH/2,l.isRest()&&o){const e=(r-1)*a*1.5+a;l.stem.setVisibility(!0).setStemlet(!0,e+s)}}}lookupBeamDirection(e,t,n,i){if("4"===e)return BEAM_LEFT;const r=""+Flow.durationToNumber(e)/2,o=t<Flow.durationToTicks(r),s=i<Flow.durationToTicks(r),a=n<Flow.durationToTicks(r);return o&&s&&a?BEAM_BOTH:o&&!s&&a?BEAM_LEFT:!o&&s&&a?BEAM_RIGHT:this.lookupBeamDirection(r,t,n,i)}getBeamLines(e){const t=Flow.durationToTicks(e),n=[];let i=!1,r=null;const o=this.render_options.partial_beam_length;let s=!1,a=0;for(let c=0;c<this.notes.length;++c){const l=this.notes[c];a+=l.ticks.value();let u=!1;parseInt(e,10)>=8&&(u=-1!==this.break_on_indices.indexOf(c),this.render_options.secondary_break_ticks&&a>=this.render_options.secondary_break_ticks&&(a=0,u=!0));const h=l.getIntrinsicTicks()<t,d=l.getStemX()-Stem.WIDTH/2,p=this.notes[c-1],f=this.notes[c+1],m=f&&f.getIntrinsicTicks()<t,g=p&&p.getIntrinsicTicks()<t,v=p&&f&&h&&!g&&!m;if(h)if(i)r=n[n.length-1],r.end=d,u&&(i=!1,f&&!m&&null===r.end&&(r.end=r.start-o));else{if(r={start:d,end:null,start_note:l},i=!0,v){const t=p.getIntrinsicTicks(),n=f.getIntrinsicTicks(),i=l.getIntrinsicTicks(),s=this.lookupBeamDirection(e,t,i,n);[BEAM_LEFT,BEAM_BOTH].includes(s)?r.end=r.start-o:r.end=r.start+o}else m?u&&(r.end=r.start-o,i=!1):r.end=(s||0===c)&&f?r.start+o:r.start-o;n.push(r)}else i=!1;s=u}const l=n[n.length-1];return l&&null===l.end&&(l.end=l.start-o),n}drawStems(){this.notes.forEach((e=>{e.getStem()&&(this.context.openGroup("stem",e.getAttribute("id")+"-stem"),e.getStem().setContext(this.context).draw(),this.context.closeGroup())}),this)}drawBeamLines(){this.checkContext();const e=["4","8","16","32","64"],t=this.notes[0];let n=this.getBeamYToDraw();const i=t.getStemX(),r=this.render_options.beam_width*this.stem_direction,o={};for(const s of this.notes)o[s.getAttribute("id")]=0;for(let s=0;s<e.length;++s){const t=e[s],a=this.getBeamLines(t);for(let e=0;e<a.length;++e){const t=a[e],s=t.start,l=t.start_note.getAttribute("id"),c=o[l];o[l]++;const u=this.getSlopeY(s,i,n,this.slope),h=t.end,d=this.getSlopeY(h,i,n,this.slope),p=l;this.context.openGroup("beam",`${p}-beam${c}`),this.context.beginPath(),this.context.moveTo(s,u),this.context.lineTo(s,u+r),this.context.lineTo(h+1,d+r),this.context.lineTo(h+1,d),this.context.closePath(),this.context.fill(),this.context.closeGroup()}n+=1.5*r}}preFormat(){return this}postFormat(){this.postFormatted||("tabnotes"===this.notes[0].getCategory()||this.render_options.flat_beams?this.calculateFlatSlope():this.calculateSlope(),this.applyStemExtensions(),this.postFormatted=!0)}draw(){this.checkContext(),this.setRendered(),this.unbeamable||(this.postFormatted||this.postFormat(),this.drawStems(),this.applyStyle(),this.drawBeamLines(),this.restoreStyle())}},Voice$1=class e extends Element$1{static get Mode(){return{STRICT:1,SOFT:2,FULL:3}}constructor(t){if(super(),this.setAttribute("type","Voice"),"string"==typeof t){const e=t.match(/(\d+)\/(\d+)/);e&&(t={num_beats:e[1],beat_value:e[2],resolution:Flow.RESOLUTION})}this.time=Vex.Merge({num_beats:4,beat_value:4,resolution:Flow.RESOLUTION},t),this.totalTicks=new Fraction(this.time.num_beats*(this.time.resolution/this.time.beat_value),1),this.resolutionMultiplier=1,this.tickables=[],this.ticksUsed=new Fraction(0,1),this.smallestTickCount=this.totalTicks.clone(),this.largestTickWidth=0,this.stave=null,this.mode=e.Mode.STRICT,this.voiceGroup=null}getTotalTicks(){return this.totalTicks}getTicksUsed(){return this.ticksUsed}getLargestTickWidth(){return this.largestTickWidth}getSmallestTickCount(){return this.smallestTickCount}getTickables(){return this.tickables}getMode(){return this.mode}setMode(e){return this.mode=e,this}getResolutionMultiplier(){return this.resolutionMultiplier}getActualResolution(){return this.resolutionMultiplier*this.time.resolution}setStave(e){return this.stave=e,this.boundingBox=null,this}getBoundingBox(){let e,t,n,i;if(!this.boundingBox){if(!this.stave)throw new Vex.RERR("NoStave","Can't get bounding box without stave.");for(e=this.stave,t=null,i=0;i<this.tickables.length;++i)this.tickables[i].setStave(e),n=this.tickables[i].getBoundingBox(),n&&(t=t?t.mergeWith(n):n);this.boundingBox=t}return this.boundingBox}getVoiceGroup(){if(!this.voiceGroup)throw new Vex.RERR("NoVoiceGroup","No voice group for voice.");return this.voiceGroup}setVoiceGroup(e){return this.voiceGroup=e,this}setStrict(t){return this.mode=t?e.Mode.STRICT:e.Mode.SOFT,this}isComplete(){return this.mode!==e.Mode.STRICT&&this.mode!==e.Mode.FULL||this.ticksUsed.equals(this.totalTicks)}addTickable(t){if(!t.shouldIgnoreTicks()){const n=t.getTicks();if(this.ticksUsed.add(n),(this.mode===e.Mode.STRICT||this.mode===e.Mode.FULL)&&this.ticksUsed.greaterThan(this.totalTicks))throw this.ticksUsed.subtract(n),new Vex.RERR("BadArgument","Too many ticks.");n.lessThan(this.smallestTickCount)&&(this.smallestTickCount=n.clone()),this.resolutionMultiplier=this.ticksUsed.denominator,this.totalTicks.add(0,this.ticksUsed.denominator)}return this.tickables.push(t),t.setVoice(this),this}addTickables(e){for(let t=0;t<e.length;++t)this.addTickable(e[t]);return this}preFormat(){return this.preFormatted||(this.tickables.forEach((e=>{e.getStave()||e.setStave(this.stave)})),this.preFormatted=!0),this}draw(e=this.context,t=this.stave){this.setRendered();let n=null;for(let i=0;i<this.tickables.length;++i){const r=this.tickables[i];if(t&&r.setStave(t),!r.getStave())throw new Vex.RuntimeError("MissingStave","The voice cannot draw tickables without staves.");if(0===i&&(n=r.getBoundingBox()),i>0&&n){const e=r.getBoundingBox();e&&n.mergeWith(e)}r.setContext(e),r.drawWithStyle()}this.boundingBox=n}};function drawBoldDoubleLine(e,t,n,i,r){if(t!==StaveConnector.type.BOLD_DOUBLE_LEFT&&t!==StaveConnector.type.BOLD_DOUBLE_RIGHT)throw new Vex.RERR("InvalidConnector","A REPEAT_BEGIN or REPEAT_END type must be provided.");let o=3,s=3.5;t===StaveConnector.type.BOLD_DOUBLE_RIGHT&&(o=-5,s=3),e.fillRect(n+o,i,1,r-i),e.fillRect(n-2,i,s,r-i)}class StaveConnector extends Element$1{static get type(){return{SINGLE_RIGHT:0,SINGLE_LEFT:1,SINGLE:1,DOUBLE:2,BRACE:3,BRACKET:4,BOLD_DOUBLE_LEFT:5,BOLD_DOUBLE_RIGHT:6,THIN_DOUBLE:7,NONE:8}}static get typeString(){return{singleRight:StaveConnector.type.SINGLE_RIGHT,singleLeft:StaveConnector.type.SINGLE_LEFT,single:StaveConnector.type.SINGLE,double:StaveConnector.type.DOUBLE,brace:StaveConnector.type.BRACE,bracket:StaveConnector.type.BRACKET,boldDoubleLeft:StaveConnector.type.BOLD_DOUBLE_LEFT,boldDoubleRight:StaveConnector.type.BOLD_DOUBLE_RIGHT,thinDouble:StaveConnector.type.THIN_DOUBLE,none:StaveConnector.type.NONE}}constructor(e,t){super(),this.setAttribute("type","StaveConnector"),this.thickness=Flow.STAVE_LINE_THICKNESS,this.width=3,this.top_stave=e,this.bottom_stave=t,this.type=StaveConnector.type.DOUBLE,this.font={family:"times",size:16,weight:"normal"},this.x_shift=0,this.texts=[]}setType(e){return(e="string"==typeof e?StaveConnector.typeString[e]:e)>=StaveConnector.type.SINGLE_RIGHT&&e<=StaveConnector.type.NONE&&(this.type=e),this}setText(e,t){return this.texts.push({content:e,options:Vex.Merge({shift_x:0,shift_y:0},t)}),this}setFont(e){Vex.Merge(this.font,e)}setXShift(e){if("number"!=typeof e)throw Vex.RERR("InvalidType","x_shift must be a Number");return this.x_shift=e,this}draw(){const e=this.checkContext();this.setRendered();let t=this.top_stave.getYForLine(0),n=this.bottom_stave.getYForLine(this.bottom_stave.getNumLines()-1)+this.thickness,i=this.width,r=this.top_stave.getX();(this.type===StaveConnector.type.SINGLE_RIGHT||this.type===StaveConnector.type.BOLD_DOUBLE_RIGHT||this.type===StaveConnector.type.THIN_DOUBLE)&&(r=this.top_stave.getX()+this.top_stave.width);let o=n-t;switch(this.type){case StaveConnector.type.SINGLE:case StaveConnector.type.SINGLE_LEFT:case StaveConnector.type.SINGLE_RIGHT:i=1;break;case StaveConnector.type.DOUBLE:r-=this.width+2;break;case StaveConnector.type.BRACE:{i=12;const r=this.top_stave.getX()-2+this.x_shift,s=t,a=r,l=n,c=r-i,u=s+o/2,h=c-.9*i,d=s+.2*o,p=r+1.1*i,f=u-.135*o,m=p,g=u+.135*o,v=h,b=l-.2*o,y=c-i,A=b,S=r+.4*i,x=u+.135*o,E=S,w=u-.135*o,_=y,M=d;e.beginPath(),e.moveTo(r,s),e.bezierCurveTo(h,d,p,f,c,u),e.bezierCurveTo(m,g,v,b,a,l),e.bezierCurveTo(y,A,S,x,c,u),e.bezierCurveTo(E,w,_,M,r,s),e.fill(),e.stroke();break}case StaveConnector.type.BRACKET:t-=4,n+=4,o=n-t,Glyph.renderGlyph(e,r-5,t-3,40,"v1b",!0),Glyph.renderGlyph(e,r-5,n+3,40,"v10",!0),r-=this.width+2;break;case StaveConnector.type.BOLD_DOUBLE_LEFT:drawBoldDoubleLine(e,this.type,r+this.x_shift,t,n);break;case StaveConnector.type.BOLD_DOUBLE_RIGHT:drawBoldDoubleLine(e,this.type,r,t,n);break;case StaveConnector.type.THIN_DOUBLE:i=1;break;case StaveConnector.type.NONE:break;default:throw new Vex.RERR("InvalidType",`The provided StaveConnector.type (${this.type}) is invalid`)}this.type!==StaveConnector.type.BRACE&&this.type!==StaveConnector.type.BOLD_DOUBLE_LEFT&&this.type!==StaveConnector.type.BOLD_DOUBLE_RIGHT&&this.type!==StaveConnector.type.NONE&&e.fillRect(r,t,i,o),this.type===StaveConnector.type.THIN_DOUBLE&&e.fillRect(r-3,t,i,o),e.save(),e.lineWidth=2,e.setFont(this.font.family,this.font.size,this.font.weight);for(let s=0;s<this.texts.length;s++){const t=this.texts[s],n=e.measureText(""+t.content).width,i=this.top_stave.getX()-n-24+t.options.shift_x,r=(this.top_stave.getYForLine(0)+this.bottom_stave.getBottomLineY())/2+t.options.shift_y;e.fillText(""+t.content,i,r+4)}e.restore()}}class Tickable extends Element$1{constructor(){super(),this.setAttribute("type","Tickable"),this.ticks=new Fraction(0,1),this.intrinsicTicks=0,this.tickMultiplier=new Fraction(1,1),this.width=0,this.x_shift=0,this.voice=null,this.tickContext=null,this.modifierContext=null,this.modifiers=[],this.preFormatted=!1,this.postFormatted=!1,this.tuplet=null,this.tupletStack=[],this.align_center=!1,this.center_x_shift=0,this.ignore_ticks=!1,this.formatterMetrics={freedom:{left:0,right:0},duration:"",iterations:0,space:{used:0,mean:0,deviation:0}}}reset(){return this}getTicks(){return this.ticks}shouldIgnoreTicks(){return this.ignore_ticks}getWidth(){return this.width}getFormatterMetrics(){return this.formatterMetrics}setXShift(e){this.x_shift=e}getCenterXShift(){return this.isCenterAligned()?this.center_x_shift:0}isCenterAligned(){return this.align_center}setCenterAlignment(e){return this.align_center=e,this}getVoice(){if(!this.voice)throw new Vex.RERR("NoVoice","Tickable has no voice.");return this.voice}setVoice(e){this.voice=e}getTuplet(){return this.tuplet}resetTuplet(e){let t,n;if(e){const i=this.tupletStack.indexOf(e);return-1!==i&&(this.tupletStack.splice(i,1),t=e.getNoteCount(),n=e.getNotesOccupied(),this.applyTickMultiplier(t,n)),this}for(;this.tupletStack.length;)t=(e=this.tupletStack.pop()).getNoteCount(),n=e.getNotesOccupied(),this.applyTickMultiplier(t,n);return this}setTuplet(e){if(e){this.tupletStack.push(e);const t=e.getNoteCount(),n=e.getNotesOccupied();this.applyTickMultiplier(n,t)}return this.tuplet=e,this}addToModifierContext(e){this.modifierContext=e,this.preFormatted=!1}addModifier(e){return this.modifiers.push(e),this.preFormatted=!1,this}getModifiers(){return this.modifiers}setTickContext(e){this.tickContext=e,this.preFormatted=!1}preFormat(){this.preFormatted||(this.width=0,this.modifierContext&&(this.modifierContext.preFormat(),this.width+=this.modifierContext.getWidth()))}postFormat(){return this.postFormatted||(this.postFormatted=!0),this}getIntrinsicTicks(){return this.intrinsicTicks}setIntrinsicTicks(e){this.intrinsicTicks=e,this.ticks=this.tickMultiplier.clone().multiply(this.intrinsicTicks)}getTickMultiplier(){return this.tickMultiplier}applyTickMultiplier(e,t){this.tickMultiplier.multiply(e,t),this.ticks=this.tickMultiplier.clone().multiply(this.intrinsicTicks)}setDuration(e){const t=e.numerator*(Flow.RESOLUTION/e.denominator);this.ticks=this.tickMultiplier.clone().multiply(t),this.intrinsicTicks=this.ticks.value()}}class Note extends Tickable{static get CATEGORY(){return"note"}static get STAVEPADDING(){return 12}static plotMetrics(e,t,n){const i=t.getMetrics(),r=t.getAbsoluteX()-i.modLeftPx-i.extraLeftPx,o=t.getAbsoluteX()-i.extraLeftPx,s=t.getAbsoluteX(),a=t.getAbsoluteX()+i.noteWidth,l=t.getAbsoluteX()+i.noteWidth+i.extraRightPx,c=t.getAbsoluteX()+i.noteWidth+i.extraRightPx+i.modRightPx,u=c+t.getFormatterMetrics().freedom.right,h=c-r;e.save(),e.setFont("Arial",8,""),e.fillText(Math.round(h)+"px",r+t.getXShift(),n);const d=n+7;function p(n,i,r,o=d){e.beginPath(),e.setStrokeStyle(r),e.setFillStyle(r),e.setLineWidth(3),e.moveTo(n+t.getXShift(),o),e.lineTo(i+t.getXShift(),o),e.stroke()}p(r,o,"red"),p(o,s,"#999"),p(s,a,"green"),p(a,l,"#999"),p(l,c,"red"),p(c,u,"#DD0"),p(r-t.getXShift(),r,"#BBB"),Vex.drawDot(e,s+t.getXShift(),d,"blue");const f=t.getFormatterMetrics();if(f.iterations>0){const i=f.space.deviation,r=i>=0?"+":"";e.setFillStyle("red"),e.fillText(r+Math.round(i),s+t.getXShift(),n-10)}e.restore()}constructor(e){if(super(),this.setAttribute("type","Note"),!e)throw new Vex.RuntimeError("BadArguments","Note must have valid initialization data to identify duration and type.");const t=Flow.parseNoteStruct(e);if(!t)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization object: ${JSON.stringify(e)}`);if(this.duration=t.duration,this.dots=t.dots,this.noteType=t.type,this.customTypes=t.customTypes,this.DYMusicScoreType=e.DYMusicScoreType,e.duration_override?this.setDuration(e.duration_override):this.setIntrinsicTicks(t.ticks),this.modifiers=[],this.glyph=Flow.getGlyphProps(this.duration,this.noteType),this.customGlyphs=this.customTypes.map((e=>Flow.getGlyphProps(this.duration,e))),this.positions&&("object"!=typeof this.positions||!this.positions.length))throw new Vex.RuntimeError("BadArguments","Note keys must be array type.");this.playNote=null,this.tickContext=null,this.modifierContext=null,this.ignore_ticks=!1,this.width=0,this.extraLeftPx=0,this.extraRightPx=0,this.x_shift=0,this.left_modPx=0,this.right_modPx=0,this.voice=null,this.preFormatted=!1,this.ys=[],e.align_center&&this.setCenterAlignment(e.align_center),this.stave=null,this.render_options={annotation_spacing:5,stave_padding:Note.STAVEPADDING}}getPlayNote(){return this.playNote}setPlayNote(e){return this.playNote=e,this}isRest(){return!1}addStroke(e,t){return t.setNote(this),t.setIndex(e),this.modifiers.push(t),this.setPreFormatted(!1),this}getStave(){return this.stave}setStave(e){return this.stave=e,this.setYs([e.getYForLine(0)]),this.context=this.stave.context,this}getCategory(){return Note.CATEGORY}setContext(e){return this.context=e,this}getExtraLeftPx(){return this.extraLeftPx}getExtraRightPx(){return this.extraRightPx}setExtraLeftPx(e){return this.extraLeftPx=e,this}setExtraRightPx(e){return this.extraRightPx=e,this}shouldIgnoreTicks(){return this.ignore_ticks}getLineNumber(){return 0}getLineForRest(){return 0}getGlyph(){return this.glyph}getGlyphWidth(){return this.glyph.getWidth?this.glyph.getWidth(this.render_options.glyph_font_scale):15}setYs(e){return this.ys=e,this}getYs(){if(0===this.ys.length)throw new Vex.RERR("NoYValues","No Y-values calculated for this note.");return this.ys}getYForTopText(e){if(!this.stave)throw new Vex.RERR("NoStave","No stave attached to this note.");return this.stave.getYForTopText(e)}getBoundingBox(){return null}getVoice(){if(!this.voice)throw new Vex.RERR("NoVoice","Note has no voice.");return this.voice}setVoice(e){return this.voice=e,this.preFormatted=!1,this}getTickContext(){return this.tickContext}setTickContext(e){return this.tickContext=e,this.preFormatted=!1,this}getDuration(){return this.duration}isDotted(){return this.dots>0}hasStem(){return!1}getDots(){return this.dots}getNoteType(){return this.noteType}setBeam(){return this}setModifierContext(e){return this.modifierContext=e,this}addModifier(e,t=0){return e.setNote(this),e.setIndex(t),this.modifiers.push(e),this.setPreFormatted(!1),this}getModifierStartXY(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetModifierStartXY on an unformatted note");return{x:this.getAbsoluteX(),y:this.ys[0]}}getMetrics(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getMetrics on an unformatted note.");let e=0,t=0;null!=this.modifierContext&&(e=this.modifierContext.state.left_shift,t=this.modifierContext.state.right_shift);const n=this.getWidth();return{width:n,noteWidth:n-e-t-this.extraLeftPx-this.extraRightPx,left_shift:this.x_shift,modLeftPx:e,modRightPx:t,extraLeftPx:this.extraLeftPx,extraRightPx:this.extraRightPx}}setWidth(e){this.width=e}getWidth(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetWidth on an unformatted note.");return this.width+(this.modifierContext?this.modifierContext.getWidth():0)}setXShift(e){return this.x_shift=e,this}getXShift(){return this.x_shift}getX(){if(!this.tickContext)throw new Vex.RERR("NoTickContext","Note needs a TickContext assigned for an X-Value");return this.tickContext.getX()+this.x_shift}getAbsoluteX(){if(!this.tickContext)throw new Vex.RERR("NoTickContext","Note needs a TickContext assigned for an X-Value");let e=this.tickContext.getX();return this.stave&&(e+=this.stave.getNoteStartX()+this.render_options.stave_padding),this.isCenterAligned()&&("jianpu"===this.DYMusicScoreType||(e+=this.getCenterXShift())),e}setPreFormatted(e){if(this.preFormatted=e,this.preFormatted){const e=this.tickContext.getExtraPx();this.left_modPx=Math.max(this.left_modPx,e.left),this.right_modPx=Math.max(this.right_modPx,e.right)}}}function L$i(...e){NoteHead.DEBUG&&Vex.L("Vex.Flow.NoteHead",e)}function drawSlashNoteHead(e,t,n,i,r,o){const s=Flow.SLASH_NOTEHEAD_WIDTH;e.save(),e.setLineWidth(Flow.STEM_WIDTH);let a=!1;if(Flow.durationToNumber(t)>2&&(a=!0),a||(n-=Flow.STEM_WIDTH/2*r),e.beginPath(),e.moveTo(n,i+o),e.lineTo(n,i+1),e.lineTo(n+s,i-o),e.lineTo(n+s,i),e.lineTo(n,i+o),e.closePath(),a?e.fill():e.stroke(),Flow.durationToFraction(t).equals(.5)){const t=[-3,-1,s+1,s+3];for(let r=0;r<t.length;r++)e.beginPath(),e.moveTo(n+t[r],i-10),e.lineTo(n+t[r],i+11),e.stroke()}e.restore()}class NoteHead extends Note{static get CATEGORY(){return"notehead"}constructor(e){if(super(e),this.setAttribute("type","NoteHead"),this.index=e.index,this.x_shift=e.x_shift||0,this.x=(e.x||0)+this.x_shift,this.y=e.y||0,this.note_type=e.note_type,this.duration=e.duration,this.displaced=e.displaced||!1,this.stem_direction=e.stem_direction||StaveNote.STEM_UP,this.line=e.line,this.glyph=Flow.getGlyphProps(this.duration,this.note_type),!this.glyph)throw new Vex.RuntimeError("BadArguments",`No glyph found for duration '${this.duration}' and type '${this.note_type}'`);this.glyph_code=this.glyph.code_head,this.x_shift_ledger_rest=0,this.y_shift_ledger_rest=0,this.x_shift=e.x_shift||0,this.glyph.rest&&(this.line>5||this.line<0)&&(this.isLedgerLinedRest=!0,"h"===this.duration?(e.custom_glyph_code="rhl",this.x_shift_ledger_rest-=4):"w"===this.duration&&(e.custom_glyph_code="rwl",this.x_shift_ledger_rest-=4,this.y_shift_ledger_rest=-5)),e.custom_glyph_code&&(this.custom_glyph=!0,this.glyph_code=e.custom_glyph_code,this.stem_up_x_offset=e.stem_up_x_offset||0,this.stem_down_x_offset=e.stem_down_x_offset||0,this.stem_up_y_shift=e.stem_up_y_shift||0,this.stem_down_y_shift=e.stem_down_y_shift||0),this.style=e.style,this.slashed=e.slashed,Vex.Merge(this.render_options,{glyph_font_scale:e.glyph_font_scale||Flow.DEFAULT_NOTATION_FONT_SCALE,stroke_px:3}),this.setWidth(this.glyph.getWidth(this.render_options.glyph_font_scale))}getCategory(){return NoteHead.CATEGORY}getWidth(){return this.width}isDisplaced(){return!0===this.displaced}getGlyph(){return this.glyph}setX(e){return this.x=e,this}getY(){return this.y}setY(e){return this.y=e,this}getLine(){return this.line}setLine(e){return this.line=e,this}getAbsoluteX(){const e=this.preFormatted?super.getAbsoluteX():this.x,t=Stem.WIDTH/2;return e+(this.displaced?(this.width-t)*this.stem_direction:0)}getBoundingBox(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getBoundingBox on an unformatted note.");const e=this.stave.getSpacingBetweenLines(),t=e/2,n=this.y-t;return new Flow.BoundingBox(this.getAbsoluteX(),n,this.width,e)}setStave(e){const t=this.getLine();return this.stave=e,this.setY(e.getYForNote(t)),this.context=this.stave.context,this}preFormat(){if(this.preFormatted)return this;const e=this.getWidth()+this.extraLeftPx+this.extraRightPx;return this.setWidth(e),this.setPreFormatted(!0),this}draw(){this.checkContext(),this.setRendered();const e=this.context;let t=this.getAbsoluteX(),n=this.y;this.custom_glyph&&(t+=this.x_shift_ledger_rest,this.stem_direction===Stem.UP?(t+=this.stem_up_x_offset,n+=this.stem_up_y_shift||0):this.stem_direction===Stem.DOWN&&(t+=this.stem_down_x_offset,n+=this.stem_down_y_shift||0),n+=this.y_shift_ledger_rest),L$i("Drawing note head '",this.note_type,this.duration,"' at",t,n);const i=this.stem_direction,r=this.render_options.glyph_font_scale;if(this.style&&this.applyStyle(e),"s"===this.note_type){const r=this.stave.getSpacingBetweenLines();drawSlashNoteHead(e,this.duration,t,n,i,r)}else Glyph.renderGlyph(e,t,n,r,this.glyph_code);this.style&&this.restoreStyle(e)}}class StemmableNote extends Note{constructor(e){super(e),this.setAttribute("type","StemmableNote"),this.stem=null,this.stemExtensionOverride=null,this.beam=null,this.renderFlag=!0}getStem(){return this.stem}setStem(e){return this.stem=e,this}buildStem(){const e=new Stem;return this.setStem(e),this}buildFlag(){const{glyph:e,beam:t}=this,n=null===t&&this.renderFlag;if(e&&e.flag&&n){const t=this.getStemDirection()===Stem.DOWN?e.code_flag_downstem:e.code_flag_upstem;this.flag=new Glyph(t,this.render_options.glyph_font_scale)}}getTopGlyph(){return this.getStemDirection()===Stem.DOWN?this.customGlyphs[this.customGlyphs.length-1]:this.customGlyphs[0]}getStemLength(){return Stem.HEIGHT+this.getStemExtension()}getBeamCount(){const e=this.getGlyph();return e?e.beam_count:0}getStemMinumumLength(){let e=Flow.durationToFraction(this.duration).value()<=1?0:20;switch(this.duration){case"8":null==this.beam&&(e=35);break;case"16":e=null==this.beam?35:25;break;case"32":e=null==this.beam?45:35;break;case"64":e=null==this.beam?50:40;break;case"128":e=null==this.beam?55:45}return e}getStemDirection(){return this.stem_direction}setStemDirection(e){if(e||(e=Stem.UP),e!==Stem.UP&&e!==Stem.DOWN)throw new Vex.RERR("BadArgument",`Invalid stem direction: ${e}`);if(this.stem_direction=e,this.stem){this.stem.setDirection(e),this.stem.setExtension(this.getStemExtension());const t=this.getTopGlyph()||this.getGlyph();this.stem.setOptions({stem_up_y_offset:t.stem_up_y_offset,stem_down_y_offset:t.stem_down_y_offset})}return this.reset(),this.flag&&this.renderFlag&&this.buildFlag(),this.beam=null,this.preFormatted&&this.preFormat(),this}getStemX(){const e=this.getAbsoluteX()+this.x_shift,t=this.getAbsoluteX()+this.x_shift+this.getGlyphWidth();return this.stem_direction===Stem.DOWN?e:t}getCenterGlyphX(){return this.getAbsoluteX()+this.x_shift+this.getGlyphWidth()/2}getStemExtension(){const e=this.getGlyph();return null!=this.stemExtensionOverride?this.stemExtensionOverride:e?1===this.getStemDirection()?e.stem_up_extension:e.stem_down_extension:0}setStemLength(e){return this.stemExtensionOverride=e-Stem.HEIGHT,this}getStemExtents(){return this.stem.getExtents()}setBeam(e){return this.beam=e,this}getYForTopText(e){const t=this.getStemExtents();return this.hasStem()?Math.min(this.stave.getYForTopText(e),t.topY-this.render_options.annotation_spacing*(e+1)):this.stave.getYForTopText(e)}getYForBottomText(e){const t=this.getStemExtents();return this.hasStem()?Math.max(this.stave.getYForTopText(e),t.baseY+this.render_options.annotation_spacing*e):this.stave.getYForBottomText(e)}hasFlag(){return this.renderFlag&&Flow.getGlyphProps(this.duration).flag&&!this.beam}postFormat(){return this.beam&&this.beam.postFormat(),this.postFormatted=!0,this}drawStem(e){this.checkContext(),this.setRendered(),this.setStem(new Stem(e)),this.stem.setContext(this.context).draw()}}class Modifier extends Element$1{static get CATEGORY(){return"none"}static get Position(){return{LEFT:1,RIGHT:2,ABOVE:3,BELOW:4}}static get PositionString(){return{above:Modifier.Position.ABOVE,below:Modifier.Position.BELOW,left:Modifier.Position.LEFT,right:Modifier.Position.RIGHT}}constructor(){super(),this.setAttribute("type","Modifier"),this.width=0,this.note=null,this.index=null,this.text_line=0,this.position=Modifier.Position.LEFT,this.modifier_context=null,this.x_shift=0,this.y_shift=0,this.spacingFromNextModifier=0}getCategory(){return Modifier.CATEGORY}getWidth(){return this.width}setWidth(e){return this.width=e,this}getNote(){return this.note}setNote(e){return this.note=e,this}getIndex(){return this.index}setIndex(e){return this.index=e,this}getModifierContext(){return this.modifier_context}setModifierContext(e){return this.modifier_context=e,this}getPosition(){return this.position}setPosition(e){return this.position="string"==typeof e?Modifier.PositionString[e]:e,this}setTextLine(e){return this.text_line=e,this}setYShift(e){return this.y_shift=e,this}setSpacingFromNextModifier(e){this.spacingFromNextModifier=e}getSpacingFromNextModifier(){return this.spacingFromNextModifier}setXShift(e){this.x_shift=0,this.position===Modifier.Position.LEFT?this.x_shift-=e:this.x_shift+=e}getXShift(){return this.x_shift}draw(){throw this.checkContext(),new Vex.RERR("MethodNotImplemented","draw() not implemented for this modifier.")}alignSubNotesWithNote(e,t){const n=t.getTickContext(),i=n.getExtraPx(),r=n.getX()-i.left-i.extraLeft+this.getSpacingFromNextModifier();e.forEach((e=>{const n=e.getTickContext();e.setStave(t.stave),n.setXOffset(r)}))}}class Dot extends Modifier{static get CATEGORY(){return"dots"}static format(e,t){const n=t.right_shift;if(!e||0===e.length)return!1;const i=[],r={};for(let h=0;h<e.length;++h){const t=e[h],n=t.getNote();let o,s;"function"==typeof n.getKeyProps?(o=n.getKeyProps()[t.getIndex()],s=o.displaced?n.getExtraRightPx():0):(o={line:.5},s=0);const a=n.getAttribute("id");i.push({line:o.line,note:n,note_id:a,dot:t}),r[a]=Math.max(r[a]||s,s)}i.sort(((e,t)=>t.line-e.line));let o=n,s=0,a=null,l=null,c=null,u=0;for(let h=0;h<i.length;++h){const{dot:e,note:t,note_id:n,line:d}=i[h];d===a&&t===l||(o=r[n]),t.isRest()||d===a||(.5===Math.abs(d%1)?u=0:(u=.5,null==l||l.isRest()||a-d!=.5?d+u===c&&(u=-.5):u=-.5)),t.isRest()?e.dot_shiftY+=-u:e.dot_shiftY=-u,c=d+u,e.setXShift(o),o+=e.getWidth()+1,s=o>s?o:s,a=d,l=t}return t.right_shift+=s,!0}constructor(){super(),this.setAttribute("type","Dot"),this.note=null,this.index=null,this.position=Modifier.Position.RIGHT,this.radius=2,this.setWidth(5),this.dot_shiftY=0}getCategory(){return Dot.CATEGORY}setNote(e){this.note=e,"gracenotes"===this.note.getCategory()&&(this.radius*=.5,this.setWidth(3))}setDotShiftY(e){return this.dot_shiftY=e,this}draw(){if(this.checkContext(),this.setRendered(),!this.note||null===this.index)throw new Vex.RERR("NoAttachedNote","Can't draw dot without a note and index.");const e=this.note.stave.options.spacing_between_lines_px,t=this.note.getModifierStartXY(this.position,this.index,{forceFlagRight:!0});"tabnotes"===this.note.getCategory()&&(t.y=this.note.getStemExtents().baseY+1);const n=t.x+this.x_shift+this.width-this.radius;let i=this.dot_shiftY*e;this.note&&"jianpu"==this.note.DYMusicScoreType&&(i=-5);const r=t.y+this.y_shift+i,o=this.context;o.beginPath(),o.arc(n,r,this.radius,0,2*Math.PI,!1),o.fill()}}function L$h(...e){StaveNote.DEBUG&&Vex.L("Vex.Flow.StaveNote",e)}const getStemAdjustment=e=>Stem.WIDTH/(2*-e.getStemDirection()),isInnerNoteIndex=(e,t)=>t===(e.getStemDirection()===Stem.UP?e.keyProps.length-1:0);function shiftRestVertical(e,t,n){if(e.note.shiftRestVerticalDisabled)return;const i=(t.isrest?0:1)*n;e.line+=i,e.maxLine+=i,e.minLine+=i,e.note.setKeyLine(0,e.note.getKeyLine(0)+i)}function centerRest(e,t,n){const i=e.line-Vex.MidLine(t.minLine,n.maxLine);e.note.setKeyLine(0,e.note.getKeyLine(0)-i),e.line-=i,e.maxLine-=i,e.minLine-=i}class StaveNote extends StemmableNote{static get CATEGORY(){return"stavenotes"}static get STEM_UP(){return Stem.UP}static get STEM_DOWN(){return Stem.DOWN}static get DEFAULT_LEDGER_LINE_OFFSET(){return 3}static renderVibrato(e,t,n,i){let{width:r,height:o,wave_width:s,wave_girth:a,wave_height:l,stem_direction:c}=i;const u=Math.floor(r/s);let h=o/(u/2)*c;0==h&&(c=1,h=.3),e.beginPath(),e.moveTo(t,n+a);for(let d=0;d<u/2;++d)e.quadraticCurveTo(t+s/2,n-l/2,t+s,n),t+=s,n+=h,e.quadraticCurveTo(t+s/2,n+l/2,t+s,n),t+=s;for(let d=0;d<u/2;++d)e.quadraticCurveTo(t-s/2,n+l/2+a,t-s,n+a),t-=s,n-=h,e.quadraticCurveTo(t-s/2,n-l/2+a,t-s,n+a),t-=s;c<0&&e.stroke(),e.fill()}static renderSlideNote(e,t,n,i,r){e.beginPath(),e.moveTo(t,n),e.lineTo(i,r),e.lineWidth=2,e.stroke()}static format(e,t){if(!e||e.length<2)return!1;const n=[],i=e[0].stagger_same_whole_notes;for(let h=0;h<e.length;h++){const t=e[h].getKeyProps(),i=t[0].line;let r=t[t.length-1].line;const o=e[h].getStemDirection(),s=e[h].getStemLength()/10,a=e[h].getStemMinumumLength()/10;let l;e[h].isRest()?(l=i+e[h].glyph.line_above,r=i-e[h].glyph.line_below):(l=1===o?t[t.length-1].line+s:t[t.length-1].line,r=1===o?t[0].line:t[0].line-s),n.push({line:t[0].line,maxLine:l,minLine:r,isrest:e[h].isRest(),stemDirection:o,stemMax:s,stemMin:a,voice_shift:e[h].getVoiceShiftWidth(),is_displaced:e[h].isDisplaced(),note:e[h]})}const r=n.length;let o=n[0];const s=r>2?n[1]:null;let a=r>2?n[2]:n[1];2!==r||-1!==o.stemDirection||1!==a.stemDirection||o.isrest||a.isRest||(o=n[1],a=n[0]);const l=Math.max(o.voice_shift,a.voice_shift);let c,u=0;if(2===r){const e=o.stemDirection===a.stemDirection?0:.5;if(o.stemDirection===a.stemDirection&&o.minLine<=a.maxLine&&(o.isrest||(c=Math.abs(o.line-(a.maxLine+.5)),c=Math.max(c,o.stemMin),o.minLine=o.line-c,o.note.setStemLength(10*c))),o.minLine<=a.maxLine+e)if(o.isrest)shiftRestVertical(o,a,1),o.note.hasLedgerLinedRest&&(o.note.shiftRestVerticalDisabled=!0);else if(a.isrest)shiftRestVertical(a,o,-1),a.note.hasLedgerLinedRest&&(a.note.shiftRestVerticalDisabled=!0);else{u=l;const e=Math.abs(o.line-a.line);let t=0,n=0;"h"===o.note.duration?t++:"w"===o.note.duration&&n++,"h"===a.note.duration?t++:"w"===a.note.duration&&n++;let r=1===t||1===n||o.note.dots!==a.note.dots;if(i&&(r=r||2===n),0===e&&r){if(a.note.setXShift(u),o.note.dots>0){let e=0;for(const t of o.note.modifiers)if(t instanceof Dot&&(e++,t.setYShift(-10*(a.maxLine-o.line+1)),e===o.note.dots))break}}else e<1&&e>0?a.note.setXShift(u):o.note.voice!==a.note.voice&&o.stemDirection===a.stemDirection&&(o.line>a.line?1===o.stemDirection?a.note.renderFlag=!1:o.note.renderFlag=!1:a.line>o.line?1===a.stemDirection?o.note.renderFlag=!1:a.note.renderFlag=!1:1===a.stemDirection&&(a.stemDirection=-1,a.note.setStemDirection(-1)))}return!0}if(null!==s&&s.minLine<a.maxLine+.5&&(s.isrest||(c=Math.abs(s.line-(a.maxLine+.5)),c=Math.max(c,s.stemMin),s.minLine=s.line-c,s.note.setStemLength(10*c))),s.isrest&&!o.isrest&&!a.isrest&&(o.minLine<=s.maxLine||s.minLine<=a.maxLine)){return s.maxLine-s.minLine<o.minLine-a.maxLine?centerRest(s,o,a):(u=l+3,s.note.setXShift(u)),!0}return o.isrest&&s.isrest&&a.isrest?(shiftRestVertical(o,s,1),shiftRestVertical(a,s,-1),!0):(s.isrest&&o.isrest&&s.minLine<=a.maxLine&&shiftRestVertical(s,a,1),s.isrest&&a.isrest&&o.minLine<=s.maxLine&&shiftRestVertical(s,o,-1),o.isrest&&o.minLine<=s.maxLine&&shiftRestVertical(o,s,1),a.isrest&&s.minLine<=a.maxLine&&shiftRestVertical(a,s,-1),(!o.isrest&&!s.isrest&&o.minLine<=s.maxLine+.5||!s.isrest&&!a.isrest&&s.minLine<=a.maxLine)&&(u=l+3,s.note.setXShift(u)),!0)}static formatByY(e,t){let n=!0;for(let r=0;r<e.length;r++)n=n&&null!=e[r].getStave();if(!n)throw new Vex.RERR("Stave Missing","All notes must have a stave - Vex.Flow.ModifierContext.formatMultiVoice!");let i=0;for(let r=0;r<e.length-1;r++){let t=e[r],n=e[r+1];t.maxLine<n.maxLine&&(t=e[r+1],n=e[r]);const o=t.getKeyProps(),s=n.getKeyProps(),a=.5,l=t.getStave().getYForLine(5-o[0].line+a);n.getStave().getYForLine(5-s[s.length-1].line-a)-l<0&&t.voice===n.voice&&(i=t.getVoiceShiftWidth()+2,n.setXShift(i))}t.right_shift+=i}static postFormat(e){return!!e&&(e.forEach((e=>e.postFormat())),!0)}constructor(e){if(super(e),this.setAttribute("type","StaveNote"),this.keys=e.keys,this.clef=e.clef,this.octave_shift=e.octave_shift,this.beam=null,this.vibrato=null,this.slideNote=null,this.glyph=Flow.getGlyphProps(this.duration,this.noteType),!this.glyph)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization data (No glyph found): ${JSON.stringify(e)}`);this.displaced=!1,this.dot_shiftY=0,this.addDotsCount=0,this.keyProps=[],this.use_default_head_x=!1,this.paddingRight=0,this.note_heads=[],this.modifiers=[],Vex.Merge(this.render_options,{glyph_font_scale:e.glyph_font_scale||Flow.DEFAULT_NOTATION_FONT_SCALE,stroke_px:e.stroke_px||StaveNote.DEFAULT_LEDGER_LINE_OFFSET}),this.calculateKeyProps(),this.buildStem(),e.auto_stem?this.autoStem():this.setStemDirection(e.stem_direction),this.reset(),this.buildFlag()}reset(){super.reset();const e=this.note_heads.map((e=>e.getStyle())),t=[];this.note_heads.forEach((e=>t.push(e.note_type))),this.buildNoteHeads(),this.note_heads.forEach(((n,i)=>{n.setStyle(e[i]),t[i]&&(n.note_type=t[i])})),this.stave&&this.note_heads.forEach((e=>e.setStave(this.stave))),this.calcExtraPx()}setBeam(e){return this.beam=e,this.calcExtraPx(),this}setVibrato(e){this.vibrato=e}setSlideNote(e){this.slideNote=e}getCategory(){return StaveNote.CATEGORY}buildStem(){this.setStem(new Stem({hide:!!this.isRest()})),this.stem.id=Vex.Prefix(`${this.getAttribute("id")}-stem`)}buildNoteHeads(){this.note_heads=[];const e=this.getStemDirection(),t=this.getKeys();let n,i,r,o=null,s=null,a=!1;e===Stem.UP?(n=0,i=t.length,r=1):e===Stem.DOWN&&(n=t.length-1,i=-1,r=-1);for(let l=n;l!==i;l+=r){const t=this.keyProps[l],n=t.line;null===o?o=n:(s=Math.abs(o-n),0===s||.5===s?a=!a:(a=!1,this.use_default_head_x=!0)),o=n;const i=new NoteHead({duration:this.duration,note_type:this.noteType,displaced:a,stem_direction:e,custom_glyph_code:t.code,glyph_font_scale:this.render_options.glyph_font_scale,x_shift:t.shift_right,stem_up_x_offset:t.stem_up_x_offset,stem_down_x_offset:t.stem_down_x_offset,stem_up_y_shift:t.stem_up_y_shift,stem_down_y_shift:t.stem_down_y_shift,line:t.line});i.isLedgerLinedRest&&(this.hasLedgerLinedRest=!0),this.note_heads[l]=i}}autoStem(){this.minLine=this.keyProps[0].line,this.maxLine=this.keyProps[this.keyProps.length-1].line;const e=(this.minLine+this.maxLine)/2<3?Stem.UP:Stem.DOWN;this.setStemDirection(e)}calculateKeyProps(){let e=null;for(let t=0;t<this.keys.length;++t){const n=this.keys[t];this.glyph.rest&&(this.glyph.position=n);const i={octave_shift:this.octave_shift||0},r=Flow.keyProperties(n,this.clef,i);if(!r)throw new Vex.RuntimeError("BadArguments",`Invalid key for note properties: ${n}`);"R"===r.key&&("1"===this.duration||"w"===this.duration?r.line=4:r.line=3);const o=r.line;null===e?e=o:.5===Math.abs(e-o)&&(this.displaced=!0,r.displaced=!0,this.keyProps.length>0&&(this.keyProps[t-1].displaced=!0)),e=o,this.keyProps.push(r)}e=-1/0,this.keyProps.forEach((t=>{t.line<e&&Vex.W("Unsorted keys in note will be sorted. See https://github.com/0xfe/vexflow/issues/104 for details."),e=t.line})),this.keyProps.sort(((e,t)=>e.line-t.line))}getBoundingBox(){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call getBoundingBox on an unformatted note.");const{width:e,modLeftPx:t,extraLeftPx:n}=this.getMetrics(),i=this.getAbsoluteX()-t-n-this.paddingRight;let r=0,o=0;const s=this.getStave().getSpacingBetweenLines()/2,a=2*s;if(this.isRest()){const e=this.ys[0],t=Flow.durationToFraction(this.duration);t.equals(1)||t.equals(2)?(r=e-s,o=e+s):(r=e-this.glyph.line_above*a,o=e+this.glyph.line_below*a)}else if(this.glyph.stem){const e=this.getStemExtents();e.baseY+=s*this.stem_direction,r=Math.min(e.topY,e.baseY),o=Math.max(e.topY,e.baseY)}else{r=null,o=null;for(let e=0;e<this.ys.length;++e){const t=this.ys[e];0===e?(r=t,o=t):(r=Math.min(t,r),o=Math.max(t,o))}r-=s,o+=s}return new BoundingBox(i,r,e,o-r)}getLineNumber(e){if(!this.keyProps.length)throw new Vex.RERR("NoKeyProps","Can't get bottom note line, because note is not initialized properly.");let t=this.keyProps[0].line;for(let n=0;n<this.keyProps.length;n++){const i=this.keyProps[n].line;e?i>t&&(t=i):i<t&&(t=i)}return t}isRest(){return this.glyph.rest}isChord(){return!this.isRest()&&this.keys.length>1}hasStem(){return this.glyph.stem}hasFlag(){return super.hasFlag()&&!this.isRest()&&this.renderFlag}getStemX(){return"r"===this.noteType?this.getCenterGlyphX():super.getStemX()+getStemAdjustment(this)}getYForTopText(e){const t=this.getStemExtents();return Math.min(this.stave.getYForTopText(e),t.topY-this.render_options.annotation_spacing*(e+1))}getYForBottomText(e){const t=this.getStemExtents();return Math.max(this.stave.getYForTopText(e),t.baseY+this.render_options.annotation_spacing*e)}setStave(e){super.setStave(e);const t=this.note_heads.map((t=>(t.setStave(e),t.getY())));if(this.setYs(t),this.stem){const{y_top:e,y_bottom:t}=this.getNoteHeadBounds();this.stem.setYBounds(e,t)}return this}getKeys(){return this.keys}getKeyProps(){return this.keyProps}isDisplaced(){return this.displaced}setNoteDisplaced(e){return this.displaced=e,this}getTieRightX(){let e=this.getAbsoluteX();return e+=this.getGlyphWidth()+this.x_shift+this.extraRightPx,this.modifierContext&&(e+=this.modifierContext.getExtraRightPx()),e}getTieLeftX(){let e=this.getAbsoluteX();return e+=this.x_shift-this.extraLeftPx,e}getLineForRest(){let e=this.keyProps[0].line;if(this.keyProps.length>1){const t=this.keyProps[this.keyProps.length-1].line,n=Math.max(e,t),i=Math.min(e,t);e=Vex.MidLine(n,i)}return e}getModifierStartXY(e,t,n){if(n=n||{},!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetModifierStartXY on an unformatted note");if(0===this.ys.length)throw new Vex.RERR("NoYValues","No Y-Values calculated for this note.");const{ABOVE:i,BELOW:r,LEFT:o,RIGHT:s}=Modifier.Position;let a=0;return e===o?a=-2:e===s?(a=this.getGlyphWidth()+this.x_shift+2,this.stem_direction===Stem.UP&&this.hasFlag()&&(n.forceFlagRight||isInnerNoteIndex(this,t))&&(a+=this.flag.getMetrics().width)):e!==r&&e!==i||(a=this.getGlyphWidth()/2),{x:this.getAbsoluteX()+a,y:this.ys[t]}}setStyle(e){super.setStyle(e),this.note_heads.forEach((t=>t.setStyle(e))),this.stem&&this.stem.setStyle(e)}setStemStyle(e){if(this.stem){this.getStem().setStyle(e)}}getStemStyle(){return this.stem.getStyle()}setLedgerLineStyle(e){this.ledgerLineStyle=e}getLedgerLineStyle(){return this.ledgerLineStyle}setFlagStyle(e){this.flagStyle=e}getFlagStyle(){return this.flagStyle}setKeyStyle(e,t){return this.note_heads[e].setStyle(t),this}setKeyLine(e,t){return this.keyProps[e].line=t,this.reset(),this}getKeyLine(e){return this.keyProps[e].line}addToModifierContext(e){this.setModifierContext(e);for(let t=0;t<this.modifiers.length;++t)this.modifierContext.addModifier(this.modifiers[t]);return this.modifierContext.addModifier(this),this.setPreFormatted(!1),this}addModifier(e,t){return t.setNote(this),t.setIndex(e),this.modifiers.push(t),this.setPreFormatted(!1),this}addAccidental(e,t){return this.addModifier(e,t)}addArticulation(e,t){return this.addModifier(e,t)}addAnnotation(e,t){return this.addModifier(e,t)}addDot(e){const t=new Dot;return t.setDotShiftY(this.glyph.dot_shiftY),this.addDotsCount++,this.addModifier(e,t)}addDotToAll(){for(let e=0;e<this.keys.length;++e)this.addDot(e);return this}getAccidentals(){return this.modifierContext.getModifiers("accidentals")}getDots(){return this.modifierContext.getModifiers("dots")}getVoiceShiftWidth(){return this.getGlyphWidth()*(this.displaced?2:1)}calcExtraPx(){this.setExtraLeftPx(this.displaced&&this.stem_direction===Stem.DOWN?this.getGlyphWidth():0),this.setExtraRightPx(!this.hasFlag()&&this.displaced&&this.stem_direction===Stem.UP?this.getGlyphWidth():0)}preFormat(){if(this.preFormatted)return;this.modifierContext&&this.modifierContext.preFormat();let e=this.getGlyphWidth()+this.extraLeftPx+this.extraRightPx+this.paddingRight;this.renderFlag&&this.glyph.flag&&null===this.beam&&this.stem_direction===Stem.UP&&(e+=this.getGlyphWidth()),this.setWidth(e),this.setPreFormatted(!0)}getNoteHeadBounds(){let e=null,t=null,n=null,i=null,r=this.stave.getNumLines(),o=1,s=!1,a=!1,l=r,c=o;return this.note_heads.forEach((u=>{const h=u.getLine(),d=u.getY();(null===e||d<e)&&(e=d),(null===t||d>t)&&(t=d),null===i&&u.isDisplaced()&&(i=u.getAbsoluteX()),null!==n||u.isDisplaced()||(n=u.getAbsoluteX()),r=h>r?h:r,o=h<o?h:o,u.isDisplaced()?(s=!1===s?h:Math.max(h,s),a=!1===a?h:Math.min(h,a)):(l=Math.max(h,l),c=Math.min(h,c))}),this),{y_top:e,y_bottom:t,displaced_x:i,non_displaced_x:n,highest_line:r,lowest_line:o,highest_displaced_line:s,lowest_displaced_line:a,highest_non_displaced_line:l,lowest_non_displaced_line:c}}getNoteHeadBeginX(){return this.getAbsoluteX()+this.x_shift}getNoteHeadEndX(){return this.getNoteHeadBeginX()+this.getGlyphWidth()}drawLedgerLines(){const{stave:e,glyph:t,render_options:{stroke_px:n},context:i}=this,r=t.getWidth()+2*n,o=2*(t.getWidth()+n)-Stem.WIDTH/2;if(this.isRest())return;if(!i)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const{highest_line:s,lowest_line:a,highest_displaced_line:l,highest_non_displaced_line:c,lowest_displaced_line:u,lowest_non_displaced_line:h,displaced_x:d,non_displaced_x:p}=this.getNoteHeadBounds(),f=Math.min(d,p),m=(e,t,s)=>{let a;a=s&&t?f-n:t?p-n:d-n;const l=t&&s?o:r;i.beginPath(),i.moveTo(a,e),i.lineTo(a+l,e),i.stroke()},g={...e.getStyle()||{},...this.getLedgerLineStyle()||{}};this.applyStyle(i,g);for(let v=6;v<=s;++v){const t=null!==p&&v<=c,n=null!==d&&v<=l;m(e.getYForNote(v),t,n)}for(let v=0;v>=a;--v){const t=null!==p&&v>=h,n=null!==d&&v>=u;m(e.getYForNote(v),t,n)}this.restoreStyle(i,g)}drawVibrato(){if(this.vibrato){const e=this.context,t=this.vibrato.getNoteHeadEndX()+2;let{y_bottom:n}=this.vibrato.getNoteHeadBounds(),{y_top:i}=this.getNoteHeadBounds();const r=n<i?1:-1;let o=Math.abs(this.getNoteHeadBeginX()-5-t),s=Math.abs(i-n);"w"!==this.duration&&this.vibrato.stave.y===this.stave.y||(o=this.vibrato.stave.getNoteEndX()-5-t),this.vibrato.stave.y!==this.stave.y&&(s=0),e.openGroup("vibrato"),StaveNote.renderVibrato(this.context,t,n,{harsh:!0,width:o,height:s,wave_height:6,wave_width:4,wave_girth:4,stem_direction:r}),e.closeGroup()}}drawSlide(){if(this.slideNote){const e=this.context,t=this.slideNote.getNoteHeadEndX()+2;let{y_bottom:n}=this.slideNote.getNoteHeadBounds(),i=this.getNoteHeadBeginX()-4,{y_top:r}=this.getNoteHeadBounds();"w"!==this.duration&&this.slideNote.stave.y===this.stave.y||(i=this.slideNote.stave.getNoteEndX()-2),e.openGroup("slide"),StaveNote.renderSlideNote(e,t,n,i,r),e.closeGroup()}}drawModifiers(){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const e=this.context;e.openGroup("modifiers");let t="";for(let o=0;o<this.modifiers.length;o++){const s=this.modifiers[o],a=this.note_heads[s.getIndex()],l=a.getStyle();if(!this.isRest()||"articulations"!==s.getCategory()){if("jianpu"==s.note.DYMusicScoreType&&this.modifiers.length>1&&"Accidental"===s.getAttribute("type")){const e=this.modifiers.findIndex((e=>"GraceNoteGroup"===e.getAttribute("type")));if(e>=0)continue}if(!s.note||"jianpu"!=s.note.DYMusicScoreType||"Dot"!==s.getAttribute("type")||s.note.formatterMetrics.duration){if(s.note&&"jianpu"==s.note.DYMusicScoreType&&"Dot"===s.getAttribute("type"))try{s.note.getModifierStartXY(s.position,0,{forceFlagRight:!0}).x-s.note.x<9&&(s.x_shift+=7)}catch(r){console.log("🚀 ~ error:",r)}var n,i;if(s.note&&"jianpu"==s.note.DYMusicScoreType)"v28"!==(null==s||null===(n=s.articulation)||void 0===n?void 0:n.code)&&"v42"!==(null==s||null===(i=s.articulation)||void 0===i?void 0:i.code)||(t="transform");a.applyStyle(e,l),s.setContext(e),s.drawWithStyle(),a.restoreStyle(e,l)}}}e.closeGroup(t),this.drawVibrato(),this.drawSlide()}drawFlag(){const{stem:e,beam:t,context:n}=this;if(!n)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");const i=null===t&&this.renderFlag;if(this.getGlyph().flag&&i){const{y_top:i,y_bottom:r}=this.getNoteHeadBounds(),o=e.getHeight(),s=this.getStemX();let a=this.getStemDirection()===Stem.DOWN?i-o+2:r-o-2;if(e&&!t){const e=this.keyProps[0].line;(e>6.5||e<-.5)&&(a+=e>6.5?10*(e-6.5):10*(e+.5))}n.openGroup("flag",null,{pointerBBox:!0}),this.applyStyle(n,this.getFlagStyle()||!1),this.flag.render(n,s,a),this.restoreStyle(n,this.getFlagStyle()||!1),n.closeGroup()}}drawNoteHeads(){this.note_heads.forEach((e=>{this.context.openGroup("notehead",null,{pointerBBox:!0});try{if(this.isRest()&&"w"===this.duration){const t=this.stave.options.line_config.filter((e=>e.visible)).length;4===this.keyProps[0].line&&t<5&&e.setY(e.getY()+10),1===t&&e.setLine(3)}}catch(t){}e.setContext(this.context).draw(),this.context.closeGroup()}))}drawStem(e){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");e&&this.setStem(new Stem(e)),this.stem.id=Vex.Prefix(`${this.getAttribute("id")}-stem`),this.stem&&(this.context.openGroup("stem",null,{pointerBBox:!0}),this.stem.setContext(this.context).draw(),this.context.closeGroup())}draw(){if(!this.context)throw new Vex.RERR("NoCanvasContext","Can't draw without a canvas context.");if(!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");if(0===this.ys.length)throw new Vex.RERR("NoYValues","Can't draw note without Y values.");const e=this.stave.getLines();if(2===e||3===e||4===e)for(let i=0;i<this.note_heads.length;i++)if(this.isRest())2===e&&("q"===this.duration?this.note_heads[i].setLine(2):"w"===this.duration?this.note_heads[i].setLine(4):"h"===this.duration?this.note_heads[i].setLine(2.5):this.note_heads[i].setLine(2));else{let t=2===e?2:3===e?.65:.3,n=this.note_heads[i].line;this.note_heads[i].setLine(n+t)}const t=this.getNoteHeadBeginX(),n=this.hasStem()&&!this.beam;if(this.note_heads.forEach((e=>e.setX(t))),this.stem){let e=this.getStemX();const t=this.keyProps[0].line;(t>6.5||t<-.5)&&(this.beam||(this.stem.renderHeightAdjustment=t>6.5?10*(t-6.5):10*Math.abs(t+.5))),this.stem.setNoteHeadXBounds(e,e)}L$h("Rendering ",this.isChord()?"chord :":"note :",this.keys),this.drawLedgerLines(),this.applyStyle(),this.setAttribute("el",this.context.openGroup("stavenote",this.getAttribute("id"))),this.context.openGroup("note",null,{pointerBBox:!0}),n&&this.drawStem(),this.drawNoteHeads(),this.drawFlag(),this.context.closeGroup(),this.drawModifiers(),this.context.closeGroup(),this.restoreStyle(),this.setRendered()}}class FretHandFinger extends Modifier{static get CATEGORY(){return"frethandfinger"}static format(e,t){const{left_shift:n,right_shift:i}=t;if(!e||0===e.length)return!1;const r=[];let o=null,s=0,a=0;for(let f=0;f<e.length;++f){const t=e[f],l=t.getNote(),c=t.getPosition(),u=l.getKeyProps()[t.getIndex()];if(l!==o){for(let e=0;e<l.keys.length;++e){const t=l.getKeyProps()[e];0===n&&(s=t.displaced?l.getExtraLeftPx():s),0===i&&(a=t.displaced?l.getExtraRightPx():a)}o=l}r.push({note:l,num:t,pos:c,line:u.line,shiftL:s,shiftR:a})}r.sort(((e,t)=>t.line-e.line));let l=0,c=0,u=0,h=0,d=null,p=null;for(let f=0;f<r.length;++f){let e=0;const{note:t,pos:o,num:s,line:m,shiftL:g,shiftR:v}=r[f];m===d&&t===p||(l=n+g,c=i+v);const b=s.getWidth()+1;o===Modifier.Position.LEFT?(s.setXShift(n+l),e=n+b,u=e>u?e:u):o===Modifier.Position.RIGHT&&(s.setXShift(c),e=a+b,h=e>h?e:h),d=m,p=t}return t.left_shift+=u,t.right_shift+=h,!0}constructor(e){super(),this.setAttribute("type","FretHandFinger"),this.note=null,this.index=null,this.finger=e,this.width=7,this.position=Modifier.Position.LEFT,this.x_shift=0,this.y_shift=0,this.x_offset=0,this.y_offset=0,this.font={family:"sans-serif",size:9,weight:"bold"}}getCategory(){return FretHandFinger.CATEGORY}setFretHandFinger(e){return this.finger=e,this}setOffsetX(e){return this.x_offset=e,this}setOffsetY(e){return this.y_offset=e,this}draw(){if(this.checkContext(),!this.note||null==this.index)throw new Vex.RERR("NoAttachedNote","Can't draw string number without a note and index.");this.setRendered();const e=this.context,t=this.note.getModifierStartXY(this.position,this.index);let n=t.x+this.x_shift+this.x_offset,i=t.y+this.y_shift+this.y_offset+5;switch(this.position){case Modifier.Position.ABOVE:n-=4,i-=12;break;case Modifier.Position.BELOW:n-=2,i+=10;break;case Modifier.Position.LEFT:n-=this.width;break;case Modifier.Position.RIGHT:n+=1;break;default:throw new Vex.RERR("InvalidPostion",`The position ${this.position} does not exist`)}e.save(),e.setFont(this.font.family,this.font.size,this.font.weight),e.fillText(""+this.finger,n,i),e.restore()}}class Music{static get NUM_TONES(){return 12}static get roots(){return["c","d","e","f","g","a","b"]}static get root_values(){return[0,2,4,5,7,9,11]}static get root_indices(){return{c:0,d:1,e:2,f:3,g:4,a:5,b:6}}static get canonical_notes(){return["c","c#","d","d#","e","f","f#","g","g#","a","a#","b"]}static get diatonic_intervals(){return["unison","m2","M2","m3","M3","p4","dim5","p5","m6","M6","b7","M7","octave"]}static get diatonic_accidentals(){return{unison:{note:0,accidental:0},m2:{note:1,accidental:-1},M2:{note:1,accidental:0},m3:{note:2,accidental:-1},M3:{note:2,accidental:0},p4:{note:3,accidental:0},dim5:{note:4,accidental:-1},p5:{note:4,accidental:0},m6:{note:5,accidental:-1},M6:{note:5,accidental:0},b7:{note:6,accidental:-1},M7:{note:6,accidental:0},octave:{note:7,accidental:0}}}static get intervals(){return{u:0,unison:0,m2:1,b2:1,min2:1,S:1,H:1,2:2,M2:2,maj2:2,T:2,W:2,m3:3,b3:3,min3:3,M3:4,3:4,maj3:4,4:5,p4:5,"#4":6,b5:6,aug4:6,dim5:6,5:7,p5:7,"#5":8,b6:8,aug5:8,6:9,M6:9,maj6:9,b7:10,m7:10,min7:10,dom7:10,M7:11,maj7:11,8:12,octave:12}}static get scales(){return{major:[2,2,1,2,2,2,1],dorian:[2,1,2,2,2,1,2],mixolydian:[2,2,1,2,2,1,2],minor:[2,1,2,2,1,2,2]}}static get scaleTypes(){return{M:Music.scales.major,m:Music.scales.minor}}static get accidentals(){return["bb","b","n","#","##"]}static get noteValues(){return{c:{root_index:0,int_val:0},cn:{root_index:0,int_val:0},"c#":{root_index:0,int_val:1},"c##":{root_index:0,int_val:2},cb:{root_index:0,int_val:11},cbb:{root_index:0,int_val:10},d:{root_index:1,int_val:2},dn:{root_index:1,int_val:2},"d#":{root_index:1,int_val:3},"d##":{root_index:1,int_val:4},db:{root_index:1,int_val:1},dbb:{root_index:1,int_val:0},e:{root_index:2,int_val:4},en:{root_index:2,int_val:4},"e#":{root_index:2,int_val:5},"e##":{root_index:2,int_val:6},eb:{root_index:2,int_val:3},ebb:{root_index:2,int_val:2},f:{root_index:3,int_val:5},fn:{root_index:3,int_val:5},"f#":{root_index:3,int_val:6},"f##":{root_index:3,int_val:7},fb:{root_index:3,int_val:4},fbb:{root_index:3,int_val:3},g:{root_index:4,int_val:7},gn:{root_index:4,int_val:7},"g#":{root_index:4,int_val:8},"g##":{root_index:4,int_val:9},gb:{root_index:4,int_val:6},gbb:{root_index:4,int_val:5},a:{root_index:5,int_val:9},an:{root_index:5,int_val:9},"a#":{root_index:5,int_val:10},"a##":{root_index:5,int_val:11},ab:{root_index:5,int_val:8},abb:{root_index:5,int_val:7},b:{root_index:6,int_val:11},bn:{root_index:6,int_val:11},"b#":{root_index:6,int_val:0},"b##":{root_index:6,int_val:1},bb:{root_index:6,int_val:10},bbb:{root_index:6,int_val:9}}}isValidNoteValue(e){return!(null==e||e<0||e>=Music.NUM_TONES)}isValidIntervalValue(e){return this.isValidNoteValue(e)}getNoteParts(e){if(!e||e.length<1)throw new Vex.RERR("BadArguments","Invalid note name: "+e);if(e.length>3)throw new Vex.RERR("BadArguments","Invalid note name: "+e);const t=e.toLowerCase(),n=/^([cdefgab])(b|bb|n|#|##)?$/.exec(t);if(null!=n){return{root:n[1],accidental:n[2]}}throw new Vex.RERR("BadArguments","Invalid note name: "+e)}getKeyParts(e){if(!e||e.length<1)throw new Vex.RERR("BadArguments","Invalid key: "+e);const t=e.toLowerCase(),n=/^([cdefgab])(b|#)?(mel|harm|m|M)?$/.exec(t);if(null!=n){const e=n[1],t=n[2];let i=n[3];return i||(i="M"),{root:e,accidental:t,type:i}}throw new Vex.RERR("BadArguments",`Invalid key: ${e}`)}getNoteValue(e){const t=Music.noteValues[e];if(null==t)throw new Vex.RERR("BadArguments",`Invalid note name: ${e}`);return t.int_val}getIntervalValue(e){const t=Music.intervals[e];if(null==t)throw new Vex.RERR("BadArguments",`Invalid interval name: ${e}`);return t}getCanonicalNoteName(e){if(!this.isValidNoteValue(e))throw new Vex.RERR("BadArguments",`Invalid note value: ${e}`);return Music.canonical_notes[e]}getCanonicalIntervalName(e){if(!this.isValidIntervalValue(e))throw new Vex.RERR("BadArguments",`Invalid interval value: ${e}`);return Music.diatonic_intervals[e]}getRelativeNoteValue(e,t,n){if(null==n&&(n=1),1!==n&&-1!==n)throw new Vex.RERR("BadArguments",`Invalid direction: ${n}`);let i=(e+n*t)%Music.NUM_TONES;return i<0&&(i+=Music.NUM_TONES),i}getRelativeNoteName(e,t){const n=this.getNoteParts(e),i=this.getNoteValue(n.root);let r=t-i;if(Math.abs(r)>Music.NUM_TONES-3){let n=1;r>0&&(n=-1);const o=(t+1+(i+1))%Music.NUM_TONES*n;if(Math.abs(o)>2)throw new Vex.RERR("BadArguments",`Notes not related: ${e}, ${t})`);r=o}if(Math.abs(r)>2)throw new Vex.RERR("BadArguments",`Notes not related: ${e}, ${t})`);let o=n.root;if(r>0)for(let s=1;s<=r;++s)o+="#";else if(r<0)for(let s=-1;s>=r;--s)o+="b";return o}getScaleTones(e,t){const n=[e];let i=e;for(let r=0;r<t.length;r+=1)i=this.getRelativeNoteValue(i,t[r]),i!==e&&n.push(i);return n}getIntervalBetween(e,t,n){if(null==n&&(n=1),1!==n&&-1!==n)throw new Vex.RERR("BadArguments",`Invalid direction: ${n}`);if(!this.isValidNoteValue(e)||!this.isValidNoteValue(t))throw new Vex.RERR("BadArguments",`Invalid notes: ${e}, ${t}`);let i=1===n?t-e:e-t;return i<0&&(i+=Music.NUM_TONES),i}createScaleMap(e){const t=this.getKeyParts(e),n=Music.scaleTypes[t.type];let i=t.root;if(t.accidental&&(i+=t.accidental),!n)throw new Vex.RERR("BadArguments","Unsupported key type: "+e);const r=this.getScaleTones(this.getNoteValue(i),n),o=Music.root_indices[t.root],s={};for(let a=0;a<Music.roots.length;++a){const e=(o+a)%Music.roots.length,t=Music.roots[e];let n=this.getRelativeNoteName(t,r[a]);1===n.length&&(n+="n"),s[t]=n}return s}}function L$g(...e){Accidental.DEBUG&&Vex.L("Vex.Flow.Accidental",e)}const getGlyphWidth=e=>e.getMetrics().width;class Accidental extends Modifier{static get CATEGORY(){return"accidentals"}static format(e,t){const n=t.left_shift+1;if(!e||0===e.length)return;const i=[];let r,o=null,s=0;for(let m=0;m<e.length;++m){const t=e[m],n=t.getNote(),a=n.getStave(),l=n.getKeyProps()[t.getIndex()];if(n!==o){for(let e=0;e<n.keys.length;++e)r=n.getKeyProps()[e],s=r.displaced?n.getExtraLeftPx():s;o=n}if(null!==a){const e=a.options.spacing_between_lines_px,n=a.getYForLine(l.line),r=Math.round(n/e*2)/2;i.push({y:n,line:r,shift:s,acc:t,lineSpace:e})}else i.push({line:l.line,shift:s,acc:t})}i.sort(((e,t)=>t.line-e.line));const a=[];let l=0,c=null;for(let m=0;m<i.length;m++){const e=i[m];null!==c&&c===e.line||a.push({line:e.line,flatLine:!0,dblSharpLine:!0,numAcc:0,width:0}),"b"!==e.acc.type&&"bb"!==e.acc.type&&(a[a.length-1].flatLine=!1),"##"!==e.acc.type&&(a[a.length-1].dblSharpLine=!1),a[a.length-1].numAcc++,a[a.length-1].width+=e.acc.getWidth()+3,l=e.shift>l?e.shift:l,c=e.line}let u=0;for(let m=0;m<a.length;m++){let e=!1;const t=m;let n=m;for(;n+1<a.length&&!e;)this.checkCollision(a[n],a[n+1])?n++:e=!0;const i=e=>a[t+e],r=e=>e.map(i),o=(e,t)=>{const[n,i]=r([e,t]).map((e=>e.line));return n-i},s=(...e)=>e.map(r).every((e=>!this.checkCollision(...e))),l=n-t+1;let c,h,d=this.checkCollision(a[t],a[n])?"a":"b";switch(l){case 3:"a"===d&&.5===o(1,2)&&.5!==o(0,1)&&(d="second_on_bottom");break;case 4:s([0,2],[1,3])&&(d="spaced_out_tetrachord");break;case 5:"b"===d&&s([1,3])&&(d="spaced_out_pentachord",s([0,2],[2,4])&&(d="very_spaced_out_pentachord"));break;case 6:s([0,3],[1,4],[2,5])&&(d="spaced_out_hexachord"),s([0,2],[2,4],[1,3],[3,5])&&(d="very_spaced_out_hexachord")}if(l>=7){let e=2,t=!0;for(;!0===t;){t=!1;for(let n=0;n+e<a.length;n++)if(this.checkCollision(a[n],a[n+e])){t=!0,e++;break}}for(c=m;c<=n;c++)h=(c-m)%e+1,a[c].column=h,u=u>h?u:h}else for(c=m;c<=n;c++)h=Flow.accidentalColumnsTable[l][d][c-m],a[c].column=h,u=u>h?u:h;m=n}const h=[],d=[];for(let m=0;m<=u;m++)h[m]=0,d[m]=0;h[0]=l+n,d[0]=l+n,a.forEach((e=>{e.width>h[e.column]&&(h[e.column]=e.width)}));for(let m=1;m<h.length;m++)d[m]=h[m]+d[m-1];const p=d[d.length-1];let f=0;a.forEach((e=>{let t=0;const n=f+e.numAcc;for(;f<n;f++){const n=d[e.column-1]+t;i[f].acc.setXShift(n),t+=i[f].acc.getWidth()+3,L$g("Line, accCount, shift: ",e.line,f,n)}})),t.left_shift+=p}static checkCollision(e,t){let n=t.line-e.line,i=3;n>0?(i=t.flatLine||t.dblSharpLine?2.5:3,e.dblSharpLine&&(n-=.5)):(i=e.flatLine||e.dblSharpLine?2.5:3,t.dblSharpLine&&(n-=.5));const r=Math.abs(n)<i;return L$g("Line_1, Line_2, Collision: ",e.line,t.line,r),r}static applyAccidentals(e,t){const n=[],i={};e.forEach((e=>{const t=new Fraction(0,1);e.getTickables().forEach((e=>{if(e.shouldIgnoreTicks())return;const r=i[t.value()];r?r.push(e):(n.push(t.value()),i[t.value()]=[e]),t.add(e.getTicks())}))}));const r=new Music;t||(t="C");const o=r.createScaleMap(t);n.forEach((e=>{const t=i[e],n=[],s=e=>{e.isRest()||e.shouldIgnoreTicks()||(e.keys.forEach(((t,i)=>{const s=r.getNoteParts(t.split("/")[0]),a=s.accidental||"n",l=s.root+a,c=o[s.root]===l,u=n.indexOf(l)>-1;if(!c||c&&u){o[s.root]=l;const t=new Accidental(a);e.addAccidental(i,t),n.push(l)}})),e.getModifiers().forEach((e=>{"gracenotegroups"===e.getCategory()&&e.getGraceNotes().forEach(s)})))};t.forEach(s)}))}constructor(e=null){if(super(),this.setAttribute("type","Accidental"),L$g("New accidental: ",e),this.note=null,this.index=null,this.type=e,this.position=Modifier.Position.LEFT,this.render_options={font_scale:38,stroke_px:3,parenLeftPadding:2,parenRightPadding:2},this.accidental=Flow.accidentalCodes(this.type),!this.accidental)throw new Vex.RERR("ArgumentError",`Unknown accidental type: ${e}`);this.cautionary=!1,this.parenLeft=null,this.parenRight=null,this.reset()}reset(){const e=this.render_options.font_scale;this.glyph=new Glyph(this.accidental.code,e),this.glyph.setOriginX(1),this.cautionary&&(this.parenLeft=new Glyph(Flow.accidentalCodes("{").code,e),this.parenRight=new Glyph(Flow.accidentalCodes("}").code,e),this.parenLeft.setOriginX(1),this.parenRight.setOriginX(1))}getCategory(){return Accidental.CATEGORY}getWidth(){const e=this.cautionary?getGlyphWidth(this.parenLeft)+getGlyphWidth(this.parenRight)+this.render_options.parenLeftPadding+this.render_options.parenRightPadding:0;return getGlyphWidth(this.glyph)+e}setNote(e){if(!e)throw new Vex.RERR("ArgumentError",`Bad note value: ${e}`);this.note=e,"gracenotes"===this.note.getCategory()&&(this.render_options.font_scale=25,this.reset())}setAsCautionary(){return this.cautionary=!0,this.render_options.font_scale=28,this.reset(),this}draw(){const{context:e,type:t,position:n,note:i,index:r,cautionary:o,x_shift:s,y_shift:a,glyph:l,parenLeft:c,parenRight:u,render_options:{parenLeftPadding:h,parenRightPadding:d}}=this;if(this.checkContext(),!i||null==r)throw new Vex.RERR("NoAttachedNote","Can't draw accidental without a note and index.");const p=i.getModifierStartXY(n,r);let f=p.x+s;const m=p.y+a;L$g("Rendering: ",t,f,m),o?(u.render(e,f,m),f-=getGlyphWidth(u),f-=d,f-=this.accidental.parenRightPaddingAdjustment,l.render(e,f,m),f-=getGlyphWidth(l),f-=h,c.render(e,f,m)):l.render(e,f,m),this.setRendered()}}let NoteSubGroup$1=class e extends Modifier{static get CATEGORY(){return"notesubgroup"}static format(e,t){if(!e||0===e.length)return!1;let n=0;for(let i=0;i<e.length;++i){const t=e[i];t.preFormat(),n+=t.getWidth()}return t.left_shift+=n,!0}constructor(e){return super(),this.setAttribute("type","NoteSubGroup"),this.note=null,this.index=null,this.position=Modifier.Position.LEFT,this.subNotes=e,this.subNotes.forEach((e=>{e.ignore_ticks=!1})),this.width=0,this.preFormatted=!1,this.formatter=new Formatter,this.voice=new Voice$1({num_beats:4,beat_value:4,resolution:Flow.RESOLUTION}).setStrict(!1),this.voice.addTickables(this.subNotes),this}getCategory(){return e.CATEGORY}preFormat(){this.preFormatted||(this.formatter.joinVoices([this.voice]).format([this.voice],0),this.setWidth(this.formatter.getMinTotalWidth()),this.preFormatted=!0)}setNote(e){this.note=e}setWidth(e){this.width=e}getWidth(){return this.width}draw(){this.checkContext();const e=this.getNote();if(!e||null===this.index)throw new Vex.RuntimeError("NoAttachedNote","Can't draw notes without a parent note and parent note index.");this.setRendered(),this.alignSubNotesWithNote(this.subNotes,e),this.subNotes.forEach((e=>e.setContext(this.context).drawWithStyle()))}};class StaveTie extends Element$1{constructor(e,t){super(),this.setAttribute("type","StaveTie"),this.notes=e,this.context=null,this.text=t,this.direction=null,this.render_options={cp1:8,cp2:12,text_shift_x:0,first_x_shift:0,last_x_shift:0,y_shift:7,tie_spacing:0,font:{family:"Arial",size:15,style:""}},this.font=this.render_options.font,this.setNotes(e)}setFont(e){return this.font=e,this}setDirection(e){return this.direction=e,this}setNotes(e){if(!e.first_note&&!e.last_note)throw new Vex.RuntimeError("BadArguments","Tie needs to have either first_note or last_note set.");if(e.first_indices||(e.first_indices=[0]),e.last_indices||(e.last_indices=[0]),e.first_indices.length!==e.last_indices.length)throw new Vex.RuntimeError("BadArguments","Tied notes must have similar index sizes");return this.first_note=e.first_note,this.first_indices=e.first_indices,this.last_note=e.last_note,this.last_indices=e.last_indices,this}isPartial(){return!this.first_note||!this.last_note}renderTie(e){if(0===e.first_ys.length||0===e.last_ys.length)throw new Vex.RERR("BadArguments","No Y-values to render");const t=this.context;let n=this.render_options.cp1,i=this.render_options.cp2;Math.abs(e.last_x_px-e.first_x_px)<10&&(n=2,i=8);const r=this.render_options.first_x_shift,o=this.render_options.last_x_shift,s=this.render_options.y_shift*e.direction;for(let a=0;a<this.first_indices.length;++a){const l=(e.last_x_px+o+(e.first_x_px+r))/2;let c=e.first_ys[this.first_indices[a]]+s,u=e.last_ys[this.last_indices[a]]+s;if(isNaN(c)||isNaN(u))throw new Vex.RERR("BadArguments","Bad indices for tie rendering.");const h=(c+u)/2+n*e.direction,d=(c+u)/2+i*e.direction;let p,f=c>h&&Math.abs(c-h)<10?-6:0;if(this.first_note&&"jianpu"===this.first_note.DYMusicScoreType){if("TabTie"===this.getAttribute("type"))continue;c<h&&(f=-15),c!=u&&(c=u=Math.max(c,u))}this.first_note&&(p=this.first_note.getAttribute("id")+"-tie"),this.setAttribute("el",t.openGroup("stavetie",p)),t.beginPath(),t.moveTo(e.first_x_px+r,c+f),t.quadraticCurveTo(l,h+2.3*f,e.last_x_px+o,u+f),t.quadraticCurveTo(l,d+2.3*f,e.first_x_px+r,c+f),t.closePath(),t.fill(),t.closeGroup()}}renderText(e,t){if(!this.text)return;let n=(e+t)/2;n-=this.context.measureText(this.text).width/2;let i=0;this.first_note&&"jianpu"===this.first_note.DYMusicScoreType&&(i=2),this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.style),this.context.fillText(this.text,n+this.render_options.text_shift_x,(this.first_note||this.last_note).getStave().getYForTopText()-1+i),this.context.restore()}draw(){this.checkContext(),this.setRendered();const e=this.first_note,t=this.last_note;let n,i,r,o,s;return e?(n=e.getTieRightX()+this.render_options.tie_spacing,s=e.getStemDirection(),r=e.getYs()):(n=t.getStave().getTieStartX(),r=t.getYs(),this.first_indices=this.last_indices),t?(i=t.getTieLeftX()+this.render_options.tie_spacing,s=t.getStemDirection(),o=t.getYs(),"GraceNote"===t.attrs.type&&(i+=5,n-=15)):(i=e.getStave().getTieEndX(),o=e.getYs(),this.last_indices=this.first_indices),this.direction&&(s=this.direction),this.renderTie({first_x_px:n,last_x_px:i,first_ys:r,last_ys:o,direction:s}),this.renderText(n,i),!0}}class TabTie extends StaveTie{static createHammeron(e){return new TabTie(e,"H")}static createPulloff(e){return new TabTie(e,"P")}constructor(e,t){super(e,t),this.setAttribute("type","TabTie"),this.render_options.cp1=9,this.render_options.cp2=11,this.render_options.y_shift=3,this.setNotes(e)}draw(){this.checkContext(),this.setRendered();const e=this.first_note,t=this.last_note;let n,i,r,o;return e?(n=e.getTieRightX()+this.render_options.tie_spacing,r=e.getYs()):(n=t.getStave().getTieStartX(),r=t.getYs(),this.first_indices=this.last_indices),t?(i=t.getTieLeftX()+this.render_options.tie_spacing,o=t.getYs()):(i=e.getStave().getTieEndX(),o=e.getYs(),this.last_indices=this.first_indices),this.renderTie({first_x_px:n,last_x_px:i,first_ys:r,last_ys:o,direction:-1}),this.renderText(n,i),!0}}function L$f(...e){GraceNoteGroup.DEBUG&&Vex.L("Vex.Flow.GraceNoteGroup",e)}class GraceNoteGroup extends Modifier{static get CATEGORY(){return"gracenotegroups"}static format(e,t){if(!e||0===e.length)return!1;const n=[];let i=null,r=0;for(let a=0;a<e.length;++a){const t=e[a],o=t.getNote(),s=o.getCategory()===StaveNote.CATEGORY;let l=0;if(s&&null!==t.spacing&&void 0!==t.spacing&&(l=t.spacing),s&&o!==i){for(let e=0;e<o.keys.length;++e){r=o.getKeyProps()[e].displaced?o.getExtraLeftPx():r}i=o}n.push({shift:r,gracenote_group:t,spacing:l})}let o,s=n[0].shift;for(let a=0;a<n.length;++a){const e=n[a].gracenote_group;e.preFormat(),o=e.getWidth()+n[a].spacing,s=Math.max(o,s)}for(let a=0;a<n.length;++a){const e=n[a].gracenote_group;o=e.getWidth()+n[a].spacing,e.setSpacingFromNextModifier(s-Math.min(o,s))}return t.left_shift+=s,!0}constructor(e,t){return super(),this.setAttribute("type","GraceNoteGroup"),this.note=null,this.index=null,this.position=Modifier.Position.LEFT,this.grace_notes=e,this.width=0,this.preFormatted=!1,this.show_slur=t,this.slur=null,this.formatter=new Formatter,this.voice=new Voice$1({num_beats:4,beat_value:4,resolution:Flow.RESOLUTION}).setStrict(!1),this.render_options={slur_y_shift:0},this.beams=[],this.voice.addTickables(this.grace_notes),this}getCategory(){return GraceNoteGroup.CATEGORY}preFormat(){this.preFormatted||(this.formatter.joinVoices([this.voice]).format([this.voice],0),this.setWidth(this.formatter.getMinTotalWidth()),this.preFormatted=!0)}beamNotes(e){if((e=e||this.grace_notes).length>1){const t=new Beam$1(e);t.render_options.beam_width=3,t.render_options.partial_beam_length=4,this.beams.push(t)}return this}setNote(e){this.note=e}setWidth(e){this.width=e}getWidth(){return this.width}getGraceNotes(){return this.grace_notes}draw(){this.checkContext();const e=this.getNote();if(L$f("Drawing grace note group for:",e),!e||null===this.index)throw new Vex.RuntimeError("NoAttachedNote","Can't draw grace note without a parent note and parent note index.");if(this.setRendered(),this.alignSubNotesWithNote(this.getGraceNotes(),e),this.grace_notes.forEach((e=>{e.setContext(this.context).draw()})),this.beams.forEach((e=>{e.setContext(this.context).draw()})),this.show_slur){const t=this.getNote().getCategory()===StaveNote.CATEGORY,n=t?StaveTie:TabTie;this.slur=new n({last_note:this.grace_notes[0],first_note:e,first_indices:[0],last_indices:[0]}),this.slur.render_options.cp2=12,this.slur.render_options.y_shift=(t?7:5)+this.render_options.slur_y_shift,this.slur.setContext(this.context).draw()}}}class Stroke extends Modifier{static get CATEGORY(){return"strokes"}static get Type(){return{BRUSH_DOWN:1,BRUSH_UP:2,ROLL_DOWN:3,ROLL_UP:4,RASQUEDO_DOWN:5,RASQUEDO_UP:6,ARPEGGIO_DIRECTIONLESS:7}}static format(e,t){const n=t.left_shift;if(!e||0===e.length)return this;const i=e.map((e=>{const t=e.getNote();if(t instanceof StaveNote){const{line:n,displaced:i}=t.getKeyProps()[e.getIndex()];return{line:n,shift:i?t.getExtraLeftPx():0,stroke:e}}{const{str:n}=t.getPositions()[e.getIndex()];return{line:n,shift:0,stroke:e}}})),r=n,o=i.reduce(((e,{stroke:t,shift:n})=>(t.setXShift(r+n),Math.max(t.getWidth()+0,e))),0);return t.left_shift+=o,!0}constructor(e,t){super(),this.setAttribute("type","Stroke"),this.note=null,this.options=Vex.Merge({},t),this.all_voices=!("all_voices"in this.options)||this.options.all_voices,this.note_end=null,this.index=null,this.type=e,this.position=Modifier.Position.LEFT,this.render_options={font_scale:38,stroke_px:3,stroke_spacing:10},this.font={family:"serif",size:10,weight:"bold italic"},this.setXShift(0),this.setWidth(10)}getCategory(){return Stroke.CATEGORY}getPosition(){return this.position}addEndNote(e){return this.note_end=e,this}draw(){if(this.checkContext(),this.setRendered(),!this.note||null==this.index)throw new Vex.RERR("NoAttachedNote","Can't draw stroke without a note and index.");const e=this.note.getModifierStartXY(this.position,this.index);let t=this.note.getYs(),n=e.y,i=e.y;const r=e.x-5,o=this.note.stave.options.spacing_between_lines_px,s=this.getModifierContext().getModifiers(this.note.getCategory());for(let d=0;d<s.length;d++){t=s[d].getYs();for(let e=0;e<t.length;e++)(this.note===s[d]||this.all_voices)&&(n=Vex.Min(n,t[e]),i=Vex.Max(i,t[e]))}let a,l,c,u,h;switch(this.type){case Stroke.Type.BRUSH_DOWN:a="vc3",l=-3,c=n-o/2+10,i+=o/2;break;case Stroke.Type.BRUSH_UP:a="v11",l=.5,c=i+o/2,n-=o/2;break;case Stroke.Type.ROLL_DOWN:case Stroke.Type.RASQUEDO_DOWN:a="vc3",l=-3,u=this.x_shift+l-2,this.note instanceof StaveNote?(n+=1.5*o,i+=(i-n)%2!=0?.5*o:o,c=n-o,h=i+o+2):(n+=1.5*o,i+=o,c=n-.75*o,h=i+.25*o);break;case Stroke.Type.ROLL_UP:case Stroke.Type.RASQUEDO_UP:a="v52",l=-4,u=this.x_shift+l-1,this.note instanceof StaveNote?(c=o/2,n+=.5*o,(i-n)%2==0&&(i+=o/2),c=i+.5*o,h=n-1.25*o):(n+=.25*o,i+=.5*o,c=i+.25*o,h=n-o);break;case Stroke.Type.ARPEGGIO_DIRECTIONLESS:n+=.5*o,i+=o;break;default:throw new Vex.RERR("InvalidType",`The stroke type ${this.type} does not exist`)}if(this.type===Stroke.Type.BRUSH_DOWN||this.type===Stroke.Type.BRUSH_UP)this.context.fillRect(r+this.x_shift,n,1,i-n);else if(this.note instanceof StaveNote)for(let d=n;d<=i;d+=o)Glyph.renderGlyph(this.context,r+this.x_shift-4,d,this.render_options.font_scale,"va3");else{let e;for(e=n;e<=i;e+=10)Glyph.renderGlyph(this.context,r+this.x_shift-4,e,this.render_options.font_scale,"va3");this.type===Stroke.Type.RASQUEDO_DOWN&&(h=e+.25*o)}this.type!==Stroke.Type.ARPEGGIO_DIRECTIONLESS&&(Glyph.renderGlyph(this.context,r+this.x_shift+l,c,this.render_options.font_scale,a),this.type!==Stroke.Type.RASQUEDO_DOWN&&this.type!==Stroke.Type.RASQUEDO_UP||(this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight),this.context.fillText("R",r+u,h),this.context.restore()))}}class StringNumber extends Modifier{static get CATEGORY(){return"stringnumber"}static format(e,t){const n=t.left_shift,i=t.right_shift;if(!e||0===e.length)return this;const r=[];let o,s,a,l,c,u=null,h=0,d=0;for(o=0;o<e.length;++o)for(s=e[o],a=s.getNote(),o=0;o<e.length;++o){s=e[o],a=s.getNote(),l=s.getPosition();const t=a.getKeyProps()[s.getIndex()];if(a!==u){for(let e=0;e<a.keys.length;++e)c=a.getKeyProps()[e],0===n&&(h=c.displaced?a.getExtraLeftPx():h),0===i&&(d=c.displaced?a.getExtraRightPx():d);u=a}r.push({pos:l,note:a,num:s,line:t.line,shiftL:h,shiftR:d})}r.sort(((e,t)=>t.line-e.line));let p=0,f=0,m=0,g=null,v=null;for(o=0;o<r.length;++o){let e=0;a=r[o].note,l=r[o].pos,s=r[o].num;const t=r[o].line;r[o].shiftL;const c=r[o].shiftR;t===g&&a===v||(p=i+c);const u=s.getWidth()+1;l===Modifier.Position.LEFT?(s.setXShift(n),e=h+u,f=e>f?e:f):l===Modifier.Position.RIGHT&&(s.setXShift(p),e+=u,m=e>m?e:m),g=t,v=a}return t.left_shift+=f,t.right_shift+=m,!0}constructor(e){super(),this.setAttribute("type","StringNumber"),this.note=null,this.last_note=null,this.index=null,this.string_number=e,this.setWidth(20),this.position=Modifier.Position.ABOVE,this.x_shift=0,this.y_shift=0,this.x_offset=0,this.y_offset=0,this.dashed=!0,this.leg=Renderer.LineEndType.NONE,this.radius=8,this.font={family:"sans-serif",size:10,weight:"bold"}}getCategory(){return StringNumber.CATEGORY}getNote(){return this.note}setNote(e){return this.note=e,this}getIndex(){return this.index}setIndex(e){return this.index=e,this}setLineEndType(e){return e>=Renderer.LineEndType.NONE&&e<=Renderer.LineEndType.DOWN&&(this.leg=e),this}setStringNumber(e){return this.string_number=e,this}setOffsetX(e){return this.x_offset=e,this}setOffsetY(e){return this.y_offset=e,this}setLastNote(e){return this.last_note=e,this}setDashed(e){return this.dashed=e,this}draw(){const e=this.checkContext();if(!this.note||null==this.index)throw new Vex.RERR("NoAttachedNote","Can't draw string number without a note and index.");this.setRendered();const t=this.note.stave.options.spacing_between_lines_px,n=this.note.getModifierStartXY(this.position,this.index);let i=n.x+this.x_shift+this.x_offset,r=n.y+this.y_shift+this.y_offset;switch(this.position){case Modifier.Position.ABOVE:case Modifier.Position.BELOW:{const e=this.note.getStemExtents();let i=e.topY,o=e.baseY+2;this.note.stem_direction===StaveNote.STEM_DOWN&&(i=e.baseY,o=e.topY-2),r=this.position===Modifier.Position.ABOVE?this.note.hasStem()?i-1.75*t:n.y-1.75*t:this.note.hasStem()?o+1.5*t:n.y+1.75*t,r+=this.y_shift+this.y_offset;break}case Modifier.Position.LEFT:i-=this.radius/2+5;break;case Modifier.Position.RIGHT:i+=this.radius/2+6;break;default:throw new Vex.RERR("InvalidPosition",`The position ${this.position} is invalid`)}e.save(),e.beginPath(),e.arc(i,r,this.radius,0,2*Math.PI,!1),e.lineWidth=1.5,e.stroke(),e.setFont(this.font.family,this.font.size,this.font.weight);const o=i-e.measureText(this.string_number).width/2;if(e.fillText(""+this.string_number,o,r+4.5),null!=this.last_note){const t=this.last_note.getStemX()-this.note.getX()+5;let n,o;switch(e.strokeStyle="#000000",e.lineCap="round",e.lineWidth=.6,this.dashed?Renderer.drawDashedLine(e,i+10,r,i+t,r,[3,3]):Renderer.drawDashedLine(e,i+10,r,i+t,r,[3,0]),this.leg){case Renderer.LineEndType.UP:n=-10,o=this.dashed?[3,3]:[3,0],Renderer.drawDashedLine(e,i+t,r,i+t,r+n,o);break;case Renderer.LineEndType.DOWN:n=10,o=this.dashed?[3,3]:[3,0],Renderer.drawDashedLine(e,i+t,r,i+t,r+n,o)}}e.restore()}}class TickContext extends Tickable{static getNextContext(e){const t=e.tContexts,n=t.indexOf(e);return t[n+1]}constructor(){super(),this.setAttribute("type","TickContext"),this.currentTick=new Fraction(0,1),this.maxTicks=new Fraction(0,1),this.minTicks=null,this.padding=3,this.x=0,this.xBase=0,this.xOffset=0,this.tickables=[],this.notePx=0,this.extraLeftPx=0,this.extraRightPx=0,this.tContexts=[]}getX(){return this.x}setX(e){return this.x=e,this.xBase=e,this.xOffset=0,this}getXBase(){return this.xBase}setXBase(e){this.xBase=e,this.x=e+this.xOffset}getXOffset(){return this.xOffset}setXOffset(e){this.xOffset=e,this.x=this.xBase+e}getWidth(){return this.width+2*this.padding}setPadding(e){return this.padding=e,this}getMaxTicks(){return this.maxTicks}getMinTicks(){return this.minTicks}getTickables(){return this.tickables}getCenterAlignedTickables(){return this.tickables.filter((e=>e.isCenterAligned()))}getMetrics(){const{width:e,notePx:t,extraLeftPx:n,extraRightPx:i}=this;return{width:e,notePx:t,extraLeftPx:n,extraRightPx:i}}getCurrentTick(){return this.currentTick}setCurrentTick(e){this.currentTick=e,this.preFormatted=!1}getExtraPx(){let e=0,t=0,n=0,i=0;for(let r=0;r<this.tickables.length;r++){n=Math.max(this.tickables[r].extraLeftPx||0,n),i=Math.max(this.tickables[r].extraRightPx||0,i);const o=this.tickables[r].modifierContext;o&&null!=o&&(e=Math.max(e,o.state.left_shift),t=Math.max(t,o.state.right_shift))}return{left:e,right:t,extraLeft:n,extraRight:i}}addTickable(e){if(!e)throw new Vex.RERR("BadArgument","Invalid tickable added.");if(!e.shouldIgnoreTicks()){this.ignore_ticks=!1;const t=e.getTicks();t.greaterThan(this.maxTicks)&&(this.maxTicks=t.clone()),(null==this.minTicks||t.lessThan(this.minTicks))&&(this.minTicks=t.clone())}return e.setTickContext(this),this.tickables.push(e),this.preFormatted=!1,this}preFormat(){if(this.preFormatted)return this;for(let e=0;e<this.tickables.length;++e){const t=this.tickables[e];t.preFormat();const n=t.getMetrics();this.extraLeftPx=Math.max(this.extraLeftPx,n.extraLeftPx+n.modLeftPx),this.extraRightPx=Math.max(this.extraRightPx,n.extraRightPx+n.modRightPx),this.notePx=Math.max(this.notePx,n.noteWidth),this.width=this.notePx+this.extraLeftPx+this.extraRightPx}return this}postFormat(){return this.postFormatted||(this.postFormatted=!0),this}}function L$e(...e){Articulation$1.DEBUG&&Vex.L("Vex.Flow.Articulation",e)}const{ABOVE:ABOVE,BELOW:BELOW}=Modifier.Position,roundToNearestHalf=(e,t)=>.5*e(t/.5),isWithinLines=(e,t)=>t===ABOVE?e<=5:e>=1,getRoundingFunction=(e,t)=>isWithinLines(e,t)?t===ABOVE?Math.ceil:Math.floor:Math.round,snapLineToStaff=(e,t,n,i)=>{const r=roundToNearestHalf(getRoundingFunction(t,n),t);if(e&&isWithinLines(r,n)&&r%1==0){return r+.5*-i}return r},isStaveNote=e=>{const t=e.getCategory();return"stavenotes"===t||"gracenotes"===t},isTabNote=e=>{const t=e.getCategory();return"tabnotes"===t||"numberednotes"===t},getTopY=(e,t)=>{const n=e.getStave(),i=e.getStemDirection(),{topY:r,baseY:o}=e.getStemExtents();if(isStaveNote(e))return e.hasStem()?i===Stem.UP?r:o:Math.min(...e.getYs());if(isTabNote(e))return e.hasStem()&&i===Stem.UP?r:n.getYForTopText(t);throw new Vex.RERR("UnknownCategory","Only can get the top and bottom ys of stavenotes and tabnotes")},getBottomY=(e,t)=>{const n=e.getStave(),i=e.getStemDirection(),{topY:r,baseY:o}=e.getStemExtents();if(isStaveNote(e))return e.hasStem()?i===Stem.UP?o:r:Math.max(...e.getYs());if(isTabNote(e))return e.hasStem()?i===Stem.UP?n.getYForBottomText(t):r:n.getYForBottomText(t);throw new Vex.RERR("UnknownCategory","Only can get the top and bottom ys of stavenotes and tabnotes")},getInitialOffset=(e,t)=>{const n=t===ABOVE&&e.getStemDirection()===Stem.UP||t===BELOW&&e.getStemDirection()===Stem.DOWN;return isStaveNote(e)?e.hasStem()&&n?.5:1:e.hasStem()&&n?1:0};let Articulation$1=class e extends Modifier{static get CATEGORY(){return"articulations"}static get INITIAL_OFFSET(){return-.5}static format(e,t){if(!e||0===e.length)return!1;const n=(e,t,n)=>roundToNearestHalf(getRoundingFunction(t,n),e.glyph.getMetrics().height/10+.5);e.filter((e=>e.getPosition()===ABOVE)).forEach((e=>{e.setTextLine(t.top_text_line),t.top_text_line+=n(e,t.top_text_line,ABOVE)})),e.filter((e=>e.getPosition()===BELOW)).forEach((e=>{e.setTextLine(t.text_line),t.text_line+=n(e,t.text_line,BELOW)}));const i=e.map((e=>e.getWidth())).reduce(((e,t)=>Math.max(t,e)));return t.left_shift+=i/2,t.right_shift+=i/2,!0}static easyScoreHook({articulations:e},t,n){if(!e)return;const i={staccato:"a.",tenuto:"a-"};e.split(",").map((e=>e.trim().split("."))).map((([e,t])=>{const r={type:i[e]};return t&&(r.position=Modifier.PositionString[t]),n.getFactory().Articulation(r)})).map((e=>t.addModifier(0,e)))}constructor(e){if(super(),this.setAttribute("type","Articulation"),this.note=null,this.index=null,this.type=e,this.position=BELOW,this.render_options={font_scale:38},this.breathMarkDistance=.8,this.articulation=Flow.articulationCodes(this.type),"abr"===this.type&&(this.articulation={code:"v6c",between_lines:!1}),!this.articulation)throw new Vex.RERR("ArgumentError",`Articulation not found: ${this.type}`);this.glyph=new Glyph(this.articulation.code,this.render_options.font_scale),this.setWidth(this.glyph.getMetrics().width)}getCategory(){return e.CATEGORY}draw(){const{note:t,index:n,position:i,glyph:r,articulation:{between_lines:o},text_line:s,context:a}=this;if(this.checkContext(),!t||null==n)throw new Vex.RERR("NoAttachedNote","Can't draw Articulation without a note and index.");this.setRendered();const l=t.getStave(),c=l.getSpacingBetweenLines(),u="tabnotes"===t.getCategory();let{x:h}=t.getModifierStartXY(i,n);if("abr"===this.type){let e=0;const n=t.getTickContext(),i=TickContext.getNextContext(n),r=t.getTickContext().getX();if(i)e=(i.getX()-r)*this.breathMarkDistance;else{const n=t.getStave();e=(n.getX()+n.getWidth()-r)*this.breathMarkDistance}h+=e}const d=this.getXShift();d&&(h+=d);const p=!o||u,f=getInitialOffset(t,i);let m={[ABOVE]:()=>{r.setOrigin(.5,1);const n=getTopY(t,s)-(s+f)*c+(this.y_shift||0);return p?Math.min(l.getYForTopText(e.INITIAL_OFFSET),n):n},[BELOW]:()=>{r.setOrigin(.5,0);const n=getBottomY(t,s)+(s+f)*c;return p?Math.max(l.getYForBottomText(e.INITIAL_OFFSET),n):n}}[i]();if(!u){const e=i===ABOVE?-1:1,s=u?t.positions[n].str:t.getKeyProps()[n].line,a=(t.getYs()[n]-m)/c+s,l=snapLineToStaff(o,a,i,e);isWithinLines(l,i)&&r.setOrigin(.5,.5),m+=Math.abs(l-a)*c*e}L$e(`Rendering articulation at (x: ${h}, y: ${m})`),r.render(a,h,m)}};function L$d(...e){Ornament.DEBUG&&Vex.L("Vex.Flow.Ornament",e)}class Ornament extends Modifier{static get CATEGORY(){return"ornaments"}static format(e,t){if(!e||0===e.length)return!1;let n=0;for(let i=0;i<e.length;++i){const r=e[i],o=2;n=Math.max(r.getWidth(),n),r.getPosition()===Modifier.Position.ABOVE?(r.setTextLine(t.top_text_line),t.top_text_line+=o):(r.setTextLine(t.text_line),t.text_line+=o)}return t.left_shift+=n/2,t.right_shift+=n/2,!0}constructor(e){if(super(),this.setAttribute("type","Ornament"),this.note=null,this.index=null,this.type=e,this.position=Modifier.Position.ABOVE,this.delayed=!1,this.accidentalUpper=null,this.accidentalLower=null,this.render_options={font_scale:38,accidentalLowerPadding:3,accidentalUpperPadding:3},this.ornament=Flow.ornamentCodes(this.type),!this.ornament)throw new Vex.RERR("ArgumentError",`Ornament not found: '${this.type}'`);this.glyph=new Glyph(this.ornament.code,this.render_options.font_scale),this.glyph.setOrigin(.5,1)}getCategory(){return Ornament.CATEGORY}setDelayed(e){return this.delayed=e,this}setUpperAccidental(e){const t=this.render_options.font_scale/1.3;return this.accidentalUpper=new Glyph(Flow.accidentalCodes(e).code,t),this.accidentalUpper.setOrigin(.5,1),this}setLowerAccidental(e){const t=this.render_options.font_scale/1.3;return this.accidentalLower=new Glyph(Flow.accidentalCodes(e).code,t),this.accidentalLower.setOrigin(.5,1),this}draw(){if(this.checkContext(),!this.note||null==this.index)throw new Vex.RERR("NoAttachedNote","Can't draw Ornament without a note and index.");this.setRendered();const e=this.context,t=this.note.getStemDirection(),n=this.note.getStave(),i=this.note.getStem().getExtents();let r=t===StaveNote.STEM_DOWN?i.baseY:i.topY;"tabnotes"===this.note.getCategory()&&(this.note.hasStem()?t===StaveNote.STEM_DOWN&&(r=n.getYForTopText(this.text_line)):r=n.getYForTopText(this.text_line));const o=t===StaveNote.STEM_DOWN,s=n.getSpacingBetweenLines();let a=1;!o&&this.note.beam&&(a+=.5);const l=r-s*(this.text_line+a);let c=this.note.getModifierStartXY(this.position,this.index).x,u=Math.min(n.getYForTopText(this.text_line),l);if(u+=this.y_shift,this.delayed){let e=0;if(void 0!==this.delayXShift)e=this.delayXShift;else{e+=this.glyph.getMetrics().width/2;const t=TickContext.getNextContext(this.note.getTickContext());e+=t?.5*(t.getX()-c):.5*(n.x+n.width-c),this.delayXShift=e}c+=e}L$d("Rendering ornament: ",this.ornament,c,u),this.accidentalLower&&(this.accidentalLower.render(e,c,u),u-=this.accidentalLower.getMetrics().height,u-=this.render_options.accidentalLowerPadding),this.glyph.render(e,c,u),u-=this.glyph.getMetrics().height,this.accidentalUpper&&(u-=this.render_options.accidentalUpperPadding,this.accidentalUpper.render(e,c,u))}}function L$c(...e){Annotation.DEBUG&&Vex.L("Vex.Flow.Annotation",e)}class Annotation extends Modifier{static get CATEGORY(){return"annotations"}static get Justify(){return{LEFT:1,CENTER:2,RIGHT:3,CENTER_STEM:4}}static get JustifyString(){return{left:Annotation.Justify.LEFT,right:Annotation.Justify.RIGHT,center:Annotation.Justify.CENTER,centerStem:Annotation.Justify.CENTER_STEM}}static get VerticalJustify(){return{TOP:1,CENTER:2,BOTTOM:3,CENTER_STEM:4}}static get VerticalJustifyString(){return{above:Annotation.VerticalJustify.TOP,top:Annotation.VerticalJustify.TOP,below:Annotation.VerticalJustify.BOTTOM,bottom:Annotation.VerticalJustify.BOTTOM,center:Annotation.VerticalJustify.CENTER,centerStem:Annotation.VerticalJustify.CENTER_STEM}}static format(e,t){if(!e||0===e.length)return!1;let n=0;for(let i=0;i<e.length;++i){const r=e[i];n=Math.max(r.getWidth(),n),r.getPosition()===Modifier.Position.ABOVE?(r.setTextLine(t.top_text_line),t.top_text_line++):(r.setTextLine(t.text_line),t.text_line++)}return t.left_shift+=n/2,t.right_shift+=n/2,!0}constructor(e){super(),this.setAttribute("type","Annotation"),this.note=null,this.index=null,this.text=e,this.justification=Annotation.Justify.CENTER,this.vert_justification=Annotation.VerticalJustify.TOP,this.font={family:"Arial",size:10,weight:""},this.setWidth(Flow.textWidth(e))}getCategory(){return Annotation.CATEGORY}setFont(e,t,n){return this.font={family:e,size:t,weight:n},this}setVerticalJustification(e){return this.vert_justification="string"==typeof e?Annotation.VerticalJustifyString[e]:e,this}getJustification(){return this.justification}setJustification(e){return this.justification="string"==typeof e?Annotation.JustifyString[e]:e,this}draw(){if(this.checkContext(),!this.note)throw new Vex.RERR("NoNoteForAnnotation","Can't draw text annotation without an attached note.");this.setRendered();const e=this.note.getModifierStartXY(Modifier.Position.ABOVE,this.index);this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight);const t=this.context.measureText(this.text).width,n=this.context.measureText("m").width;let i,r,o,s;i=this.justification===Annotation.Justify.LEFT?e.x:this.justification===Annotation.Justify.RIGHT?e.x-t:this.justification===Annotation.Justify.CENTER?e.x-t/2:this.note.getStemX()-t/2;const a=this.note.hasStem(),l=this.note.getStave();if(a&&(o=this.note.getStem().getExtents(),s=l.getSpacingBetweenLines()),this.vert_justification===Annotation.VerticalJustify.BOTTOM){if(r=l.getYForBottomText(this.text_line+Flow.TEXT_HEIGHT_OFFSET_HACK),a){const e=1===this.note.getStemDirection()?o.baseY:o.topY;r=Math.max(r,e+s*(this.text_line+2))}}else if(this.vert_justification===Annotation.VerticalJustify.CENTER){const e=this.note.getYForTopText(this.text_line)-1;r=e+(l.getYForBottomText(this.text_line)-e)/2+n/2}else if(this.vert_justification===Annotation.VerticalJustify.TOP)r=Math.min(l.getYForTopText(this.text_line),this.note.getYs()[0]-10),a&&(r=Math.min(r,o.topY-5-s*this.text_line));else{const e=this.note.getStemExtents();r=e.topY+(e.baseY-e.topY)/2+n/2}L$c("Rendering annotation: ",this.text,i,r);if(["b","bb","#","##","n"].includes(this.text)){new Glyph(Flow.accidentalCodes(this.text).code,38).render(this.context,i+2,r-27),this.setRendered()}else this.context.fillText(this.text,i,r),this.context.restore()}}class Bend extends Modifier{static get CATEGORY(){return"bends"}static get UP(){return 0}static get DOWN(){return 1}static format(e,t){if(!e||0===e.length)return!1;let n=0;const i=t.top_text_line;for(let r=0;r<e.length;++r){const t=e[r];t.setXShift(n),n=t.getWidth(),t.setTextLine(i)}return t.right_shift+=n,t.top_text_line+=1,!0}constructor(e,t,n){super(),this.setAttribute("type","Bend"),this.text=e,this.x_shift=0,this.release=t||!1,this.font="10pt Arial",this.render_options={line_width:1.5,line_style:"#777777",bend_width:8,release_width:8},n?this.phrase=n:(this.phrase=[{type:Bend.UP,text:this.text}],this.release&&this.phrase.push({type:Bend.DOWN,text:""})),this.updateWidth()}getCategory(){return Bend.CATEGORY}setXShift(e){this.x_shift=e,this.updateWidth()}setFont(e){return this.font=e,this}getText(){return this.text}updateWidth(){const e=this;function t(t){let n;return n=e.context?e.context.measureText(t).width:Flow.textWidth(t),n}let n=0;for(let i=0;i<this.phrase.length;++i){const e=this.phrase[i];if("width"in e)n+=e.width;else{const i=e.type===Bend.UP?this.render_options.bend_width:this.render_options.release_width;e.width=Vex.Max(i,t(e.text))+3,e.draw_width=e.width/2,n+=e.width}}return this.setWidth(n+this.x_shift),this}draw(){if(this.checkContext(),!this.note||null==this.index)throw new Vex.RERR("NoNoteForBend","Can't draw bend without a note or index.");this.setRendered();const e=this.note.getModifierStartXY(Modifier.Position.RIGHT,this.index);e.x+=3,e.y+=.5;const t=this.x_shift,n=this.context,i=this.note.getStave().getYForTopText(this.text_line)+3,r=this.note.getStave().getYForTopText(this.text_line)-1,o=this;function s(e,t,i,r){const s=e+i,a=t;n.save(),n.beginPath(),n.setLineWidth(o.render_options.line_width),n.setStrokeStyle(o.render_options.line_style),n.setFillStyle(o.render_options.line_style),n.moveTo(e,t),n.quadraticCurveTo(s,a,e+i,r),n.stroke(),n.restore()}function a(e,t,i,r){n.save(),n.beginPath(),n.setLineWidth(o.render_options.line_width),n.setStrokeStyle(o.render_options.line_style),n.setFillStyle(o.render_options.line_style),n.moveTo(e,r),n.quadraticCurveTo(e+i,r,e+i,t),n.stroke(),n.restore()}function l(e,t,i){const r=i||1;n.beginPath(),n.moveTo(e,t),n.lineTo(e-4,t+4*r),n.lineTo(e+4,t+4*r),n.closePath(),n.fill()}function c(e,t){n.save(),n.setRawFont(o.font);const i=e-n.measureText(t).width/2;n.fillText(t,i,r),n.restore()}let u=null,h=0;for(let d=0;d<this.phrase.length;++d){const n=this.phrase[d];0===d&&(n.draw_width_unmodified=n.draw_width,n.draw_width+=t),h=n.draw_width+(u?u.draw_width:0)-(1===d?t:0),n.type===Bend.UP&&(u&&u.type===Bend.UP&&l(e.x,i),s(e.x,e.y,h,i)),n.type===Bend.DOWN&&(u&&u.type===Bend.UP&&a(e.x,e.y,h,i),u&&u.type===Bend.DOWN&&(l(e.x,e.y,-1),a(e.x,e.y,h,i)),null===u&&(h=n.draw_width,a(e.x,e.y,h,i))),c(e.x+h,n.text),u=n,u.x=e.x,e.x+=h}u.type===Bend.UP?l(u.x+h,i):u.type===Bend.DOWN&&l(u.x+h,e.y,-1);for(let d=0;d<this.phrase.length;++d){const e=this.phrase[d];e.draw_width_unmodified&&(e.draw_width=e.draw_width_unmodified)}}}class Vibrato extends Modifier{static get CATEGORY(){return"vibratos"}static format(e,t,n){if(!e||0===e.length)return!1;let i=t.top_text_line,r=0,o=t.right_shift-7;const s=n.getModifiers(Bend.CATEGORY);s&&s.length>0&&i--;for(let a=0;a<e.length;++a){const t=e[a];t.setXShift(o),t.setTextLine(i),r+=t.getWidth(),o+=r}return t.right_shift+=r,t.top_text_line+=1,!0}constructor(){super(),this.setAttribute("type","Vibrato"),this.position=Modifier.Position.RIGHT,this.render_options={harsh:!1,vibrato_width:20,wave_height:6,wave_width:4,wave_girth:2},this.setVibratoWidth(this.render_options.vibrato_width)}getCategory(){return Vibrato.CATEGORY}setHarsh(e){return this.render_options.harsh=e,this}setVibratoWidth(e){return this.render_options.vibrato_width=e,this.setWidth(e),this}draw(){const e=this.checkContext();if(!this.note)throw new Vex.RERR("NoNoteForVibrato","Can't draw vibrato without an attached note.");this.setRendered();const t=this.note.getModifierStartXY(Modifier.Position.RIGHT,this.index).x+this.x_shift,n=this.note.getYForTopText(this.text_line)+2;Vibrato.renderVibrato(e,t,n,this.render_options)}static renderVibrato(e,t,n,i){const{harsh:r,vibrato_width:o,wave_width:s,wave_girth:a,wave_height:l}=i,c=o/s;let u;if(e.beginPath(),r){for(e.moveTo(t,n+a+1),u=0;u<c/2;++u)e.lineTo(t+s,n-l/2),t+=s,e.lineTo(t+s,n+l/2),t+=s;for(u=0;u<c/2;++u)e.lineTo(t-s,n-l/2+a+1),t-=s,e.lineTo(t-s,n+l/2+a+1),t-=s;e.fill()}else{for(e.moveTo(t,n+a),u=0;u<c/2;++u)e.quadraticCurveTo(t+s/2,n-l/2,t+s,n),t+=s,e.quadraticCurveTo(t+s/2,n+l/2,t+s,n),t+=s;for(u=0;u<c/2;++u)e.quadraticCurveTo(t-s/2,n+l/2+a,t-s,n+a),t-=s,e.quadraticCurveTo(t-s/2,n-l/2+a,t-s,n+a),t-=s;e.fill()}}}function L$b(...e){ModifierContext.DEBUG&&Vex.L("Vex.Flow.ModifierContext",e)}class ModifierContext{constructor(){this.modifiers={},this.preFormatted=!1,this.postFormatted=!1,this.width=0,this.spacing=0,this.state={left_shift:0,right_shift:0,text_line:0,top_text_line:0},this.PREFORMAT=[StaveNote,Dot,FretHandFinger,Accidental,Stroke,GraceNoteGroup,NoteSubGroup$1,StringNumber,Articulation$1,Ornament,Annotation,Bend,Vibrato],this.POSTFORMAT=[StaveNote]}addModifier(e){const t=e.getCategory();return this.modifiers[t]||(this.modifiers[t]=[]),this.modifiers[t].push(e),e.setModifierContext(this),this.preFormatted=!1,this}getModifiers(e){return this.modifiers[e]}getWidth(){return this.width}getExtraLeftPx(){return this.state.left_shift}getExtraRightPx(){return this.state.right_shift}getState(){return this.state}getMetrics(){if(!this.formatted)throw new Vex.RERR("UnformattedModifier","Unformatted modifier has no metrics.");return{width:this.state.left_shift+this.state.right_shift+this.spacing,spacing:this.spacing,extra_left_px:this.state.left_shift,extra_right_px:this.state.right_shift}}preFormat(){this.preFormatted||(this.PREFORMAT.forEach((e=>{L$b("Preformatting ModifierContext: ",e.CATEGORY),e.format(this.getModifiers(e.CATEGORY),this.state,this)})),this.width=this.state.left_shift+this.state.right_shift,this.preFormatted=!0)}postFormat(){this.postFormatted||this.POSTFORMAT.forEach((e=>{L$b("Postformatting ModifierContext: ",e.CATEGORY),e.postFormat(this.getModifiers(e.CATEGORY),this)}))}}function L$a(...e){Formatter.DEBUG&&Vex.L("Vex.Flow.Formatter",e)}function getNext(e,t){var n,i;const r=e[t+1];return r&&null!=r&&null!==(n=r.keys)&&void 0!==n&&n.includes("b/4")||null!=r&&null!==(i=r.keys)&&void 0!==i&&i.includes("r/4")?getNext(e,t+1):r}function lookAhead(e,t,n,i){let r=t;for(n+=1;n<e.length;n+=1){const t=e[n];if(!t.isRest()&&!t.shouldIgnoreTicks()){r=t.getLineForRest();break}}if(i&&t!==r){const e=Math.max(t,r),n=Math.min(t,r);r=Vex.MidLine(e,n)}return r}function createContexts(e,t,n){if(!e||!e.length)throw new Vex.RERR("BadArgument","No voices to format");e[0].getTotalTicks();const i=e.reduce(((e,t)=>{if(t.getMode()===Voice$1.Mode.STRICT&&!t.isComplete())throw new Vex.RERR("IncompleteVoice","Voice does not have enough notes.");return Math.max(e,Fraction.LCM(e,t.getResolutionMultiplier()))}),1),r={},o=[],s=[];return e.forEach((e=>{const a=new Fraction(0,i);e.getTickables().forEach((e=>{const i=a.numerator;if(!r[i]){const e=new t;s.push(e),r[i]=e}n(e,r[i]),o.push(i),a.add(e.getTicks())}))})),{map:r,array:s,list:Vex.SortAndUnique(o,((e,t)=>e-t),((e,t)=>e===t)),resolutionMultiplier:i}}class Formatter{static SimpleFormat(e,t=0,{paddingBetween:n=10}={}){e.reduce(((e,t)=>{t.addToModifierContext(new ModifierContext);const i=(new TickContext).addTickable(t).preFormat(),r=i.getExtraPx();return i.setX(e+r.left),e+i.getWidth()+r.right+n}),t)}static plotDebugging(e,t,n,i,r){const o=n+Note.STAVEPADDING,s=t.contextGaps;e.save(),e.setFont("Arial",8,""),s.gaps.forEach((t=>{var n,s,a;n=o+t.x1,s=o+t.x2,a="#aaa",e.beginPath(),e.setStrokeStyle(a),e.setFillStyle(a),e.setLineWidth(1),e.fillRect(n,i,s-n,r-i),e.fillText(Math.round(t.x2-t.x1),o+t.x1,r+12)})),e.fillText(Math.round(s.total)+"px",o-20,r+12),e.setFillStyle("red"),e.fillText("Loss: "+t.lossHistory.map((e=>Math.round(e))),o-20,r+22),e.restore()}static FormatAndDraw(e,t,n,i){const r={auto_beam:!1,align_rests:!1};"object"==typeof i?Vex.Merge(r,i):"boolean"==typeof i&&(r.auto_beam=i);const o=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(n),s=r.auto_beam?Beam$1.applyAndGetBeams(o):[];return(new Formatter).joinVoices([o],{align_rests:r.align_rests}).formatToStave([o],t,{align_rests:r.align_rests,stave:t}),o.setStave(t).draw(e,t),s.forEach((t=>t.setContext(e).draw())),o.getBoundingBox()}static FormatAndDrawTab(e,t,n,i,r,o,s){const a={auto_beam:o,align_rests:!1};"object"==typeof s?Vex.Merge(a,s):"boolean"==typeof s&&(a.auto_beam=s);const l=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(r),c=new Voice$1(Flow.TIME4_4).setMode(Voice$1.Mode.SOFT).addTickables(i),u=a.auto_beam?Beam$1.applyAndGetBeams(l):[];(new Formatter).joinVoices([l],{align_rests:a.align_rests}).joinVoices([c]).formatToStave([l,c],n,{align_rests:a.align_rests}),l.draw(e,n),c.draw(e,t),u.forEach((t=>t.setContext(e).draw())),new StaveConnector(n,t).setContext(e).draw()}static AlignRestsToNotes(e,t,n){return e.forEach(((i,r)=>{if(i instanceof StaveNote&&i.isRest()){if(i.tuplet&&!n)return;const o=i.getGlyph().position.toUpperCase();if("R/4"!==o&&"B/4"!==o)return;if(t||null!=i.beam){const t=i.getKeyProps()[0];if(0===r)t.line=lookAhead(e,t.line,r,!1),i.setKeyLine(0,t.line);else if(r>0&&r<e.length){let n;e[r-1].isRest()?(n=e[r-1].getKeyProps()[0].line,t.line=n):(n=e[r-1].getLineForRest(),t.line=lookAhead(e,n,r,!0)),i.setKeyLine(0,t.line)}}if(["va5","v3c"].includes(i.glyph.code_head)){const t="va5"===i.glyph.code_head?10:14,n=e[r-1],o=getNext(e,r);let s=!1;if(n&&o&&n.beam&&o.beam&&(s=n.beam.notes.includes(o)),s){i.setKeyLine(0,3);let e=[...n.beam.notes,...o.beam.notes];i.beam&&i.beam.notes&&e.push(...i.beam.notes),e=Array.from(new Set(e));for(let n=0;n<e.length;n+=1){const i=e[n].getKeyProps()[0].line,r=e[n].stem;if(r)if(r.stem_direction>0){const e=i<1.5?Math.abs(i-1.5)*t:0;r.setResetHeight(e)}else{const e=i>4.5?Math.abs(i-4.5)*t:0;r.setResetHeight(e)}}}}}})),this}constructor(){this.minTotalWidth=0,this.hasMinTotalWidth=!1,this.totalTicks=new Fraction(0,1),this.tickContexts=null,this.modiferContexts=null,this.contextGaps={total:0,gaps:[]},this.voices=[]}alignRests(e,t){if(!e||!e.length)throw new Vex.RERR("BadArgument","No voices to format rests");e.forEach((e=>Formatter.AlignRestsToNotes(e.getTickables(),t)))}preCalculateMinTotalWidth(e){if(this.hasMinTotalWidth)return this.minTotalWidth;if(!this.tickContexts){if(!e)throw new Vex.RERR("BadArgument","'voices' required to run preCalculateMinTotalWidth");this.createTickContexts(e)}const{list:t,map:n}=this.tickContexts;return this.minTotalWidth=t.map((e=>{const t=n[e];return t.preFormat(),t.getWidth()})).reduce(((e,t)=>e+t),0),this.hasMinTotalWidth=!0,this.minTotalWidth}getMinTotalWidth(){if(!this.hasMinTotalWidth)throw new Vex.RERR("NoMinTotalWidth","Call 'preCalculateMinTotalWidth' or 'preFormat' before calling 'getMinTotalWidth'");return this.minTotalWidth}createModifierContexts(e){const t=createContexts(e,ModifierContext,((e,t)=>e.addToModifierContext(t)));return this.modiferContexts=t,t}createTickContexts(e){const t=createContexts(e,TickContext,((e,t)=>t.addTickable(e)));return t.array.forEach((e=>{e.tContexts=t.array})),this.totalTicks=e[0].getTicksUsed().clone(),this.tickContexts=t,t}preFormat(e=0,t,n,i){const r=this.tickContexts,{list:o,map:s,resolutionMultiplier:a}=r;n&&i&&n.forEach((e=>e.setStave(i).preFormat()));let l=0,c=0;const u=e/2;if(this.minTotalWidth=0,o.forEach((e=>{const n=s[e];t&&n.setContext(t),n.preFormat();const i=n.getWidth();this.minTotalWidth+=i;const r=n.getMetrics();l=l+c+r.extraLeftPx,n.setX(l),c=i-r.extraLeftPx})),this.minTotalWidth=l+c,this.hasMinTotalWidth=!0,e<=0)return;const h=e-this.minTotalWidth;let d=this.totalTicks.value();0===d&&(d=1);const p=h/(d*a);let f=0;o.forEach(((e,t)=>{const n=o[t-1]||0,i=s[e];f+=(e-n)*p,i.setX(i.getX()+f),i.getCenterAlignedTickables().forEach((e=>{e.center_x_shift=u-i.getX()}))})),1!==o.length&&(this.justifyWidth=e,this.lossHistory=[],this.evaluate())}evaluate(){const e=this.justifyWidth;this.contextGaps={total:0,gaps:[]},this.tickContexts.list.forEach(((e,t)=>{if(0===t)return;const n=this.tickContexts.list[t-1],i=this.tickContexts.map[n],r=this.tickContexts.map[e],o=i.getMetrics(),s=i.getX()+o.width,a=r.getX(),l=a-s;this.contextGaps.total+=l,this.contextGaps.gaps.push({x1:s,x2:a}),r.getFormatterMetrics().freedom.left=l,i.getFormatterMetrics().freedom.right=l}));const t=this.durationStats={};this.voices.forEach((n=>{n.getTickables().forEach(((n,i,r)=>{const o=n.getTicks().clone().simplify().toString(),s=n.getMetrics(),a=n.getFormatterMetrics(),l=n.getX()+s.noteWidth+s.modRightPx+s.extraRightPx;let c=0;if(i<r.length-1){const e=r[i+1],t=e.getMetrics();c=e.getX()-t.modLeftPx-t.extraLeftPx-l,a.space.used=e.getX()-n.getX(),e.getFormatterMetrics().freedom.left=c}else c=e-l,a.space.used=e-n.getX();a.freedom.right=c,function(e,n){const i=t[e];void 0===i?t[e]={mean:n,count:1}:(i.count+=1,i.mean=(i.mean+n)/2)}(o,a.space.used)}))}));let n=0;return this.voices.forEach((e=>{e.getTickables().forEach((e=>{const i=e.getTicks().clone().simplify().toString(),r=e.getFormatterMetrics();r.iterations+=1,r.space.deviation=r.space.used-t[i].mean,r.duration=i,r.space.mean=t[i].mean,n+=Math.pow(t[i].mean,2)}))})),this.totalCost=Math.sqrt(n),this.lossHistory.push(this.totalCost),this}tune(){let e=0;return this.tickContexts.list.forEach(((t,n,i)=>{const r=this.tickContexts.map[t],o=n>0?this.tickContexts.map[i[n-1]]:null,s=n<i.length-1?this.tickContexts.map[i[n+1]]:null;!function(e,t,n,i){e.setX(e.getX()+i),e.getFormatterMetrics().freedom.left+=i,e.getFormatterMetrics().freedom.right-=i,t&&(t.getFormatterMetrics().freedom.right+=i),n&&(n.getFormatterMetrics().freedom.left-=i)}(r,o,s,e);const a=-r.getTickables().map((e=>e.getFormatterMetrics().space.deviation)).reduce(((e,t)=>e+t));a>0?e=-Math.min(r.getFormatterMetrics().freedom.right,Math.abs(a)):a<0&&(e=s?Math.min(s.getFormatterMetrics().freedom.right,Math.abs(a)):0);const l=Math.min(5,Math.abs(e));e=e>0?l:-l})),this.evaluate()}postFormat(){const e=e=>e.list.forEach((t=>e.map[t].postFormat()));return e(this.modiferContexts),e(this.tickContexts),this}joinVoices(e){return this.createModifierContexts(e),this.hasMinTotalWidth=!1,this}format(e,t,n){const i={align_rests:!1,context:null,stave:null};return Vex.Merge(i,n),this.voices=e,this.alignRests(e,i.align_rests),this.createTickContexts(e),this.preFormat(t,i.context,e,i.stave),this}formatToStave(e,t,n){const i=t.getNoteEndX()-t.getNoteStartX()-10;L$a("Formatting voices to width: ",i);const r={context:t.getContext()};return Vex.Merge(r,n),this.format(e,i,r)}}class StaveModifier extends Element$1{static get Position(){return{LEFT:1,RIGHT:2,ABOVE:3,BELOW:4,BEGIN:5,END:6}}constructor(){super(),this.setAttribute("type","StaveModifier"),this.padding=10,this.position=StaveModifier.Position.ABOVE,this.layoutMetrics=null}getPosition(){return this.position}setPosition(e){return this.position=e,this}getStave(){return this.stave}setStave(e){return this.stave=e,this}getWidth(){return this.width}setWidth(e){return this.width=e,this}getX(){return this.x}setX(e){return this.x=e,this}getCategory(){return""}makeSpacer(e){return{getContext:()=>!0,setStave(){},renderToStave(){},getMetrics:()=>({width:e})}}placeGlyphOnLine(e,t,n){e.setYShift(t.getYForLine(n)-t.getYForGlyphs())}getPadding(e){return void 0!==e&&e<2?0:this.padding}setPadding(e){return this.padding=e,this}setLayoutMetrics(e){return this.layoutMetrics=e,this}getLayoutMetrics(){return this.layoutMetrics}}class Barline extends StaveModifier{static get CATEGORY(){return"barlines"}static get type(){return{SINGLE:1,DOUBLE:2,END:3,REPEAT_BEGIN:4,REPEAT_END:5,REPEAT_BOTH:6,NONE:7}}static get typeString(){return{single:Barline.type.SINGLE,double:Barline.type.DOUBLE,end:Barline.type.END,repeatBegin:Barline.type.REPEAT_BEGIN,repeatEnd:Barline.type.REPEAT_END,repeatBoth:Barline.type.REPEAT_BOTH,none:Barline.type.NONE}}constructor(e){super(),this.setAttribute("type","Barline"),this.thickness=Flow.STAVE_LINE_THICKNESS;const t=Barline.type;this.widths={},this.widths[t.SINGLE]=5,this.widths[t.DOUBLE]=5,this.widths[t.END]=5,this.widths[t.REPEAT_BEGIN]=5,this.widths[t.REPEAT_END]=5,this.widths[t.REPEAT_BOTH]=5,this.widths[t.NONE]=5,this.paddings={},this.paddings[t.SINGLE]=0,this.paddings[t.DOUBLE]=0,this.paddings[t.END]=0,this.paddings[t.REPEAT_BEGIN]=15,this.paddings[t.REPEAT_END]=15,this.paddings[t.REPEAT_BOTH]=15,this.paddings[t.NONE]=0,this.layoutMetricsMap={},this.layoutMetricsMap[t.SINGLE]={xMin:0,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[t.DOUBLE]={xMin:-3,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[t.END]={xMin:-5,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[t.REPEAT_END]={xMin:-10,xMax:1,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[t.REPEAT_BEGIN]={xMin:-2,xMax:10,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[t.REPEAT_BOTH]={xMin:-10,xMax:10,paddingLeft:5,paddingRight:5},this.layoutMetricsMap[t.NONE]={xMin:0,xMax:0,paddingLeft:5,paddingRight:5},this.setPosition(StaveModifier.Position.BEGIN),this.setType(e)}getCategory(){return Barline.CATEGORY}getType(){return this.type}setType(e){return this.type="string"==typeof e?Barline.typeString[e]:e,this.setWidth(this.widths[this.type]),this.setPadding(this.paddings[this.type]),this.setLayoutMetrics(this.layoutMetricsMap[this.type]),this}draw(e){switch(e.checkContext(),this.setRendered(),this.type){case Barline.type.SINGLE:this.drawVerticalBar(e,this.x,!1);break;case Barline.type.DOUBLE:this.drawVerticalBar(e,this.x,!0);break;case Barline.type.END:this.drawVerticalEndBar(e,this.x);break;case Barline.type.REPEAT_BEGIN:this.drawRepeatBar(e,this.x,!0),e.getX()!==this.x&&this.drawVerticalBar(e,e.getX());break;case Barline.type.REPEAT_END:this.drawRepeatBar(e,this.x,!1);break;case Barline.type.REPEAT_BOTH:this.drawRepeatBar(e,this.x,!1),this.drawRepeatBar(e,this.x,!0)}}drawVerticalBar(e,t,n){e.checkContext();const i=e.getTopLineTopY(),r=e.getBottomLineBottomY();n&&e.context.fillRect(t-3,i,1,r-i),e.context.fillRect(t,i,1,r-i)}drawVerticalEndBar(e,t){e.checkContext();const n=e.getTopLineTopY(),i=e.getBottomLineBottomY();e.context.fillRect(t-5,n,1,i-n),e.context.fillRect(t-2,n,3,i-n)}drawRepeatBar(e,t,n){e.checkContext();const i=e.getTopLineTopY(),r=e.getBottomLineBottomY();let o=3;n||(o=-5),e.context.fillRect(t+o,i,1,r-i),e.context.fillRect(t-2,i,3,r-i);n?o+=4:o-=4;const s=t+o+1;let a=(e.getNumLines()-1)*e.getSpacingBetweenLines();a=a/2-e.getSpacingBetweenLines()/2;let l=i+a+1;e.context.beginPath(),e.context.arc(s,l,2,0,2*Math.PI,!1),e.context.fill(),l+=e.getSpacingBetweenLines(),e.context.beginPath(),e.context.arc(s,l,2,0,2*Math.PI,!1),e.context.fill()}}let Repetition$1=class e extends StaveModifier{static get CATEGORY(){return"repetitions"}static get type(){return{NONE:1,CODA_LEFT:2,CODA_RIGHT:3,SEGNO_LEFT:4,SEGNO_RIGHT:5,DC:6,DC_AL_CODA:7,DC_AL_FINE:8,DS:9,DS_AL_CODA:10,DS_AL_FINE:11,FINE:12,TO_CODA:13}}constructor(e,t,n){super(),this.setAttribute("type","Repetition"),this.symbol_type=e,this.x=t,this.x_shift=0,this.y_shift=n,this.font={family:"times",size:12,weight:"bold italic"}}getCategory(){return e.CATEGORY}setShiftX(e){return this.x_shift=e,this}setShiftY(e){return this.y_shift=e,this}setX(e){return this.x=e,this}draw(t,n){switch(this.setRendered(),this.symbol_type){case e.type.CODA_RIGHT:this.drawCodaFixed(t,n+t.width);break;case e.type.CODA_LEFT:this.drawSymbolText(t,n,"Coda",!0);break;case e.type.SEGNO_LEFT:this.drawSignoFixed(t,n);break;case e.type.SEGNO_RIGHT:this.drawSignoFixed(t,n+t.width);break;case e.type.DC:this.drawSymbolText(t,n,"D.C.",!1);break;case e.type.DC_AL_CODA:this.drawSymbolText(t,n,"D.C. al",!0);break;case e.type.DC_AL_FINE:this.drawSymbolText(t,n,"D.C. al Fine",!1);break;case e.type.DS:this.drawSymbolText(t,n,"D.S.",!1);break;case e.type.DS_AL_CODA:this.drawSymbolText(t,n,"D.S. al",!0);break;case e.type.DS_AL_FINE:this.drawSymbolText(t,n,"D.S. al Fine",!1);break;case e.type.FINE:this.drawSymbolText(t,n,"Fine",!1);break;case e.type.TO_CODA:this.drawSymbolText(t,n,"To",!0)}return this}drawCodaFixed(e,t){const n=e.getYForTopText(e.options.num_lines)+this.y_shift;return Glyph.renderGlyph(e.context,this.x+t+this.x_shift,n+25,40,"v4d",!0),this}drawSignoFixed(e,t){const n=e.getYForTopText(e.options.num_lines)+this.y_shift;return Glyph.renderGlyph(e.context,this.x+t+this.x_shift,n+25,30,"v8c",!0),this}drawSymbolText(t,n,i,r){const o=t.checkContext();o.save(),o.setFont(this.font.family,this.font.size,this.font.weight);let s=0+this.x_shift,a=n+this.x_shift;if(this.symbol_type===e.type.CODA_LEFT?(s=this.x+this.x_shift,a=s+o.measureText(i).width+12):(this.x_shift=-(s+o.measureText(i).width+12+t.options.vertical_bar_width+12),s=this.x+this.x_shift+t.options.vertical_bar_width,a=s+o.measureText(i).width+12),this.xShiftAsPercentOfStaveWidth){const n=t.width*this.xShiftAsPercentOfStaveWidth;this.symbol_type!==e.type.DC_AL_FINE&&this.symbol_type!==e.type.FINE&&this.symbol_type!==e.type.DC&&this.symbol_type!==e.type.DS_AL_FINE&&this.symbol_type!==e.type.DS&&this.symbol_type!==e.type.FINE||(s+=n)}const l=t.getYForTopText(t.options.num_lines)+this.y_shift+25;return r&&Glyph.renderGlyph(o,a,l,40,"v4d",!0),o.fillText(i,s,l+5),o.restore(),this}};class StaveSection extends StaveModifier{static get CATEGORY(){return"stavesection"}constructor(e,t,n){super(),this.setAttribute("type","StaveSection"),this.setWidth(16),this.section=e,this.x=t,this.shift_x=0,this.shift_y=n,this.font={family:"sans-serif",size:12,weight:"bold"}}getCategory(){return StaveSection.CATEGORY}setStaveSection(e){return this.section=e,this}setShiftX(e){return this.shift_x=e,this}setShiftY(e){return this.shift_y=e,this}draw(e,t){const n=e.checkContext();this.setRendered(),n.save(),n.lineWidth=2,n.setFont(this.font.family,this.font.size,this.font.weight);const i=n.measureText(""+this.section),r=i.width;let o=i.height;!o&&i.emHeightAscent>=0&&(o=i.emHeightAscent+2),o||(o=i.fontBoundingBoxAscent+3);let s=r+6;s<18&&(s=18);const a=o+this.font.size/10,l=e.getYForTopText(3)+19-1.15*a+this.shift_y;let c=this.x+t;return n.beginPath(),n.lineWidth=2,n.rect(c,l+o/4,s,a),n.stroke(),c+=(s-r)/2,n.fillText(""+this.section,c,l+a),n.restore(),this}}class StaveTempo extends StaveModifier{static get CATEGORY(){return"stavetempo"}constructor(e,t,n){super(),this.setAttribute("type","StaveTempo"),this.tempo=e,this.position=Modifier.Position.ABOVE,this.x=t,this.shift_x=10,this.shift_y=n,this.font={family:"times",size:14,weight:"bold"},this.render_options={glyph_font_scale:30}}getCategory(){return StaveTempo.CATEGORY}setTempo(e){return this.tempo=e,this}setShiftX(e){return this.shift_x=e,this}setShiftY(e){return this.shift_y=e,this}draw(e,t){const n=e.checkContext();this.setRendered();const i=this.render_options,r=i.glyph_font_scale/38,o=this.tempo.name,s=this.tempo.duration,a=this.tempo.dots,l=this.tempo.bpm,c=this.font;let u=this.x+this.shift_x+t;const h=e.getYForTopText(1)+this.shift_y;if(n.save(),n.openGroup("stavetempo",null,{}),o&&(n.setFont(c.family,c.size,c.weight),n.fillText(o,u,h),u+=n.measureText(o).width),s&&l){n.setFont(c.family,c.size,"normal"),o&&(u+=n.measureText(" ").width,n.fillText("(",u,h),u+=n.measureText("(").width);const e=Flow.getGlyphProps(s);if(u+=3*r,Glyph.renderGlyph(n,u,h,i.glyph_font_scale,e.code_head),u+=e.getWidth()*r,e.stem){let t=30;e.beam_count&&(t+=3*(e.beam_count-1)),t*=r;const o=h-t;n.fillRect(u-r,o,r,t),e.flag&&(Glyph.renderGlyph(n,u,o,i.glyph_font_scale,e.code_flag_upstem),a||(u+=6*r))}for(let t=0;t<a;t++)u+=6*r,n.beginPath(),n.arc(u,h+2*r,2*r,0,2*Math.PI,!1),n.fill();n.fillText(" = "+l+(o?")":""),u+3*r,h)}return n.closeGroup(),n.restore(),this}}class TextNote extends Note{static get Justification(){return{LEFT:1,CENTER:2,RIGHT:3}}static get GLYPHS(){return{segno:{code:"v8c",point:40,x_shift:0,y_shift:-10},tr:{code:"v1f",point:40,x_shift:0,y_shift:0},mordent_upper:{code:"v1e",point:40,x_shift:0,y_shift:0},mordent_lower:{code:"v45",point:40,x_shift:0,y_shift:0},f:{code:"vba",point:40,x_shift:0,y_shift:0},p:{code:"vbf",point:40,x_shift:0,y_shift:0},m:{code:"v62",point:40,x_shift:0,y_shift:0},s:{code:"v4a",point:40,x_shift:0,y_shift:0},z:{code:"v80",point:40,x_shift:0,y_shift:0},coda:{code:"v4d",point:40,x_shift:0,y_shift:-8},pedal_open:{code:"v36",point:40,x_shift:0,y_shift:0},pedal_close:{code:"v5d",point:40,x_shift:0,y_shift:3},caesura_straight:{code:"v34",point:40,x_shift:0,y_shift:2},caesura_curved:{code:"v4b",point:40,x_shift:0,y_shift:2},breath:{code:"v6c",point:40,x_shift:0,y_shift:0},tick:{code:"v6f",point:50,x_shift:0,y_shift:0},turn:{code:"v72",point:40,x_shift:0,y_shift:0},turn_inverted:{code:"v33",point:40,x_shift:0,y_shift:0},mordent:{code:"v1e",point:40,x_shift:0,y_shift:0}}}constructor(e){if(super(e),this.setAttribute("type","TextNote"),this.text=e.text,this.superscript=e.superscript,this.subscript=e.subscript,this.glyph_type=e.glyph,this.glyph=null,this.font={family:"Arial",size:12,weight:""},e.font&&(this.font=e.font),this.glyph_type){const e=TextNote.GLYPHS[this.glyph_type];if(!e)throw new Vex.RERR("Invalid glyph type: "+this.glyph_type);this.glyph=new Glyph(e.code,e.point,{cache:!1}),e.width?this.setWidth(e.width):this.setWidth(this.glyph.getMetrics().width),this.glyph_struct=e}else this.setWidth(Flow.textWidth(this.text));this.line=e.line||0,this.smooth=e.smooth||!1,this.ignore_ticks=e.ignore_ticks||!1,this.justification=TextNote.Justification.LEFT}setJustification(e){return this.justification=e,this}setLine(e){return this.line=e,this}preFormat(){this.checkContext(),this.preFormatted||(this.smooth?this.setWidth(0):this.glyph||this.setWidth(this.context.measureText(this.text).width),this.justification===TextNote.Justification.CENTER?this.extraLeftPx=this.width/2:this.justification===TextNote.Justification.RIGHT&&(this.extraLeftPx=this.width),this.setPreFormatted(!0))}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");this.setRendered();const e=this.context;let t,n=this.getAbsoluteX();if(this.justification===TextNote.Justification.CENTER?n-=this.getWidth()/2:this.justification===TextNote.Justification.RIGHT&&(n-=this.getWidth()),this.glyph)t=this.stave.getYForLine(this.line+-3),this.glyph.render(this.context,n+this.glyph_struct.x_shift,t+this.glyph_struct.y_shift);else{t=this.stave.getYForLine(this.line+-3),this.applyStyle(e),e.setFont(this.font.family,this.font.size,this.font.weight),e.fillText(this.text,n,t);const i=e.measureText("M").width,r=e.measureText(this.text).width;this.superscript&&(e.setFont(this.font.family,this.font.size/1.3,this.font.weight),e.fillText(this.superscript,n+r+2,t-i/2.2)),this.subscript&&(e.setFont(this.font.family,this.font.size/1.3,this.font.weight),e.fillText(this.subscript,n+r+2,t+i/2.2-1)),this.restoreStyle(e)}}}class StaveText extends StaveModifier{static get CATEGORY(){return"stavetext"}constructor(e,t,n){super(),this.setAttribute("type","StaveText"),this.setWidth(16),this.text=e,this.position=t,this.options={shift_x:0,shift_y:0,justification:TextNote.Justification.CENTER},Vex.Merge(this.options,n),this.font={family:"times",size:16,weight:"normal"}}getCategory(){return StaveText.CATEGORY}setStaveText(e){return this.text=e,this}setShiftX(e){return this.shift_x=e,this}setShiftY(e){return this.shift_y=e,this}setFont(e){Vex.Merge(this.font,e)}setText(e){this.text=e}draw(e){const t=e.checkContext();this.setRendered(),t.save(),t.lineWidth=2,t.setFont(this.font.family,this.font.size,this.font.weight);const n=t.measureText(""+this.text).width;let i,r;const o=StaveModifier.Position,s=TextNote.Justification;switch(this.position){case o.LEFT:case o.RIGHT:r=(e.getYForLine(0)+e.getBottomLineY())/2+this.options.shift_y,i=this.position===o.LEFT?e.getX()-n-24+this.options.shift_x:e.getX()+e.getWidth()+24+this.options.shift_x;break;case o.ABOVE:case o.BELOW:i=e.getX()+this.options.shift_x,this.options.justification===s.CENTER?i+=e.getWidth()/2-n/2:this.options.justification===s.RIGHT&&(i+=e.getWidth()-n),r=this.position===o.ABOVE?e.getYForTopText(2)+this.options.shift_y:e.getYForBottomText(2)+this.options.shift_y;break;default:throw new Vex.RERR("InvalidPosition","Value Must be in Modifier.Position.")}return t.fillText(""+this.text,i,r+4),t.restore(),this}}function L$9(...e){Clef.DEBUG&&Vex.L("Vex.Flow.Clef",e)}class Clef extends StaveModifier{static get CATEGORY(){return"clefs"}static get types(){return{treble:{code:"v83",line:3},bass:{code:"v79",line:1},alto:{code:"vad",line:2},tenor:{code:"vad",line:1},percussion:{code:"v59",line:2},soprano:{code:"vad",line:4},"mezzo-soprano":{code:"vad",line:3},"baritone-c":{code:"vad",line:0},"baritone-f":{code:"v79",line:2},subbass:{code:"v79",line:0},french:{code:"v83",line:4},tab:{code:"v2f"}}}static get sizes(){return{default:{point:40,width:26},small:{point:32,width:20}}}static get annotations(){return{"8va":{code:"v8",sizes:{default:{point:20,attachments:{treble:{line:-1.2,x_shift:11}}},small:{point:18,attachments:{treble:{line:-.4,x_shift:8}}}}},"8vb":{code:"v8",sizes:{default:{point:20,attachments:{treble:{line:6.3,x_shift:10},bass:{line:4,x_shift:1}}},small:{point:18,attachments:{treble:{line:5.8,x_shift:6},bass:{line:3.5,x_shift:.5}}}}}}}constructor(e,t,n){super(),this.setAttribute("type","Clef"),this.setPosition(StaveModifier.Position.BEGIN),this.setType(e,t,n),this.setWidth(Clef.sizes[this.size].width),L$9("Creating clef:",e)}getCategory(){return Clef.CATEGORY}setType(e,t,n){if(this.type=e,this.clef=Clef.types[e],this.size=void 0===t?"default":t,this.clef.point=Clef.sizes[this.size].point,this.glyph=new Glyph(this.clef.code,this.clef.point),void 0!==n){const e=Clef.annotations[n];this.annotation={code:e.code,point:e.sizes[this.size].point,line:e.sizes[this.size].attachments[this.type].line,x_shift:e.sizes[this.size].attachments[this.type].x_shift},this.attachment=new Glyph(this.annotation.code,this.annotation.point),this.attachment.metrics.x_max=0,this.attachment.setXShift(this.annotation.x_shift)}else this.annotation=void 0;return this}getWidth(){if("tab"===this.type&&!this.stave)throw new Vex.RERR("ClefError","Can't get width without stave.");return this.width}setStave(e){if(this.stave=e,"tab"!==this.type)return this;let t,n;const i=this.stave.getOptions().num_lines;switch(i){case 8:t=55,n=14;break;case 7:t=47,n=8;break;case 6:t=40,n=1;break;case 5:t=30,n=-6;break;case 4:t=23,n=-12;break;default:throw new Vex.RERR("ClefError",`Invalid number of lines: ${i}`)}return this.glyph.setPoint(t),this.glyph.setYShift(n),this}draw(){if(!this.x)throw new Vex.RERR("ClefError","Can't draw clef without x.");if(!this.stave)throw new Vex.RERR("ClefError","Can't draw clef without stave.");this.setRendered(),this.glyph.setStave(this.stave),this.glyph.setContext(this.stave.context),void 0!==this.clef.line&&this.placeGlyphOnLine(this.glyph,this.stave,this.clef.line),this.stave.context.openGroup("clef"),this.glyph.renderToStave(this.x),void 0!==this.annotation&&(this.placeGlyphOnLine(this.attachment,this.stave,this.annotation.line),this.attachment.setStave(this.stave),this.attachment.setContext(this.stave.context),this.attachment.renderToStave(this.x)),this.stave.context.closeGroup()}}class KeySignature extends StaveModifier{static get CATEGORY(){return"keysignatures"}static get accidentalSpacing(){return{"#":{above:6,below:4},b:{above:4,below:7},n:{above:4,below:1},"##":{above:6,below:4},bb:{above:4,below:7},db:{above:4,below:7},d:{above:4,below:7},bbs:{above:4,below:7},"++":{above:6,below:4},"+":{above:6,below:4},"+-":{above:6,below:4},"++-":{above:6,below:4},bs:{above:4,below:10},bss:{above:4,below:10}}}constructor(e,t,n){super(),this.setAttribute("type","KeySignature"),this.setKeySig(e,t,n),this.setPosition(StaveModifier.Position.BEGIN),this.glyphFontScale=38,this.glyphs=[],this.xPositions=[],this.paddingForced=!1,this.isDraw=!0}getCategory(){return KeySignature.CATEGORY}setDrawState(e){this.isDraw=e}convertToGlyph(e,t){const n=Flow.accidentalCodes(e.type),i=new Glyph(n.code,this.glyphFontScale);let r=1;if("n"===e.type&&t){const n=KeySignature.accidentalSpacing[t.type];if(n){r=t.line>=e.line?n.above:n.below}}this.placeGlyphOnLine(i,this.stave,e.line),this.glyphs.push(i);const o=this.xPositions[this.xPositions.length-1],s=i.getMetrics().width+r;this.xPositions.push(o+s),this.width+=s}cancelKey(e){return this.formatted=!1,this.cancelKeySpec=e,this}convertToCancelAccList(e){const t=Flow.keySignature(e),n=this.accList.length>0&&t.length>0&&t[0].type!==this.accList[0].type,i=n?t.length:t.length-this.accList.length;if(i<1)return;const r=[];for(let o=0;o<i;o++){let e=o;n||(e=t.length-i+o);const s=t[e];r.push({type:"n",line:s.line})}return this.accList=r.concat(this.accList),{accList:r,type:t[0].type}}addToStave(e){return this.paddingForced=!0,e.addModifier(this),this}convertAccLines(e,t,n=this.accList){let i,r,o=0;switch(e){case"soprano":"#"===t?i=[2.5,.5,2,0,1.5,-.5,1]:o=-1;break;case"mezzo-soprano":"b"===t?i=[0,2,.5,2.5,1,3,1.5]:o=1.5;break;case"alto":o=.5;break;case"tenor":"#"===t?i=[3,1,2.5,.5,2,0,1.5]:o=-.5;break;case"baritone-f":case"baritone-c":"b"===t?i=[.5,2.5,1,3,1.5,3.5,2]:o=2;break;case"bass":case"french":o=1}if(void 0!==i)for(r=0;r<n.length;++r)n[r].line=i[r];else if(0!==o)for(r=0;r<n.length;++r)n[r].line+=o}getPadding(e){return this.formatted||this.format(),0===this.glyphs.length||!this.paddingForced&&e<2?0:this.padding}getWidth(){return this.formatted||this.format(),this.width}setKeySig(e,t,n){return this.formatted=!1,this.keySpec=e,this.cancelKeySpec=t,this.alterKeySpec=n,this}alterKey(e){return this.formatted=!1,this.alterKeySpec=e,this}convertToAlterAccList(e){const t=Math.min(e.length,this.accList.length);for(let n=0;n<t;++n)e[n]&&(this.accList[n].type=e[n])}format(){if(!this.stave)throw new Vex.RERR("KeySignatureError","Can't draw key signature without stave.");this.width=0,this.glyphs=[],this.xPositions=[0],this.accList=Flow.keySignature(this.keySpec);const e=this.accList,t=e.length>0?e[0].type:null;let n;if(this.cancelKeySpec&&(n=this.convertToCancelAccList(this.cancelKeySpec)),this.alterKeySpec&&this.convertToAlterAccList(this.alterKeySpec),this.accList.length>0){const i=(this.position===StaveModifier.Position.END?this.stave.endClef:this.stave.clef)||this.stave.clef;n&&this.convertAccLines(i,n.type,n.accList),this.convertAccLines(i,t,e);for(let e=0;e<this.accList.length;++e)this.convertToGlyph(this.accList[e],this.accList[e+1])}this.formatted=!0}draw(){if(!this.x)throw new Vex.RERR("KeySignatureError","Can't draw key signature without x.");if(!this.stave)throw new Vex.RERR("KeySignatureError","Can't draw key signature without stave.");if(this.formatted||this.format(),this.setRendered(),this.isDraw&&this.glyphs.length>0){const e=this.stave.context.openGroup("keysignature");for(let t=0;t<this.glyphs.length;t++){const e=this.glyphs[t],n=this.x+this.xPositions[t];e.setStave(this.stave),e.setContext(this.stave.context),e.renderToStave(n)}this.hidden&&e&&e.setAttribute("visibility","hidden"),this.stave.context.closeGroup()}}}const assertIsValidFraction=e=>{const t=e.split("/").filter((e=>""!==e));if(2!==t.length)throw new Vex.RERR("BadTimeSignature",`Invalid time spec: ${e}. Must be in the form "<numerator>/<denominator>"`);t.forEach((t=>{if(isNaN(Number(t)))throw new Vex.RERR("BadTimeSignature",`Invalid time spec: ${e}. Must contain two valid numbers.`)}))};class TimeSignature extends StaveModifier{static get CATEGORY(){return"timesignatures"}static get glyphs(){return{C:{code:"v41",point:40,line:2},"C|":{code:"vb6",point:40,line:2}}}constructor(e=null,t=15,n=!0){if(super(),this.setAttribute("type","TimeSignature"),this.validate_args=n,null===e)return;const i=t;this.point=40,this.topLine=2,this.bottomLine=4,this.setPosition(StaveModifier.Position.BEGIN),this.setTimeSig(e),this.setWidth(this.timeSig.glyph.getMetrics().width),this.setPadding(i)}getCategory(){return TimeSignature.CATEGORY}parseTimeSpec(e){if("C"===e||"C|"===e){const{line:t,code:n,point:i}=TimeSignature.glyphs[e];return{line:t,num:!1,glyph:new Glyph(n,i)}}this.validate_args&&assertIsValidFraction(e);const[t,n]=e.split("/").map((e=>e.split("")));return{num:!0,glyph:this.makeTimeSignatureGlyph(t,n)}}makeTimeSignatureGlyph(e,t){const n=new Glyph("v0",this.point);n.topGlyphs=[],n.botGlyphs=[];let i=0;for(let u=0;u<e.length;++u){const t=e[u],r=new Glyph("v"+t,this.point);n.topGlyphs.push(r),i+=r.getMetrics().width}let r=0;for(let u=0;u<t.length;++u){const e=t[u],i=new Glyph("v"+e,this.point);n.botGlyphs.push(i),r+=i.getMetrics().width}const o=i>r?i:r,s=n.getMetrics().x_min;n.getMetrics=()=>({x_min:s,x_max:s+o,width:o});const a=(o-i)/2,l=(o-r)/2,c=this;return n.renderToStave=function(e){let t=e+a;for(let n=0;n<this.topGlyphs.length;++n){const e=this.topGlyphs[n];Glyph.renderOutline(this.context,e.metrics.outline,e.scale,t+e.x_shift,this.stave.getYForLine(c.topLine)),t+=e.getMetrics().width}t=e+l;for(let n=0;n<this.botGlyphs.length;++n){const e=this.botGlyphs[n];c.placeGlyphOnLine(e,this.stave,e.line),Glyph.renderOutline(this.context,e.metrics.outline,e.scale,t+e.x_shift,this.stave.getYForLine(c.bottomLine)),t+=e.getMetrics().width}},n}getTimeSig(){return this.timeSig}setTimeSig(e){return this.timeSig=this.parseTimeSpec(e),this}draw(){if(!this.x)throw new Vex.RERR("TimeSignatureError","Can't draw time signature without x.");if(!this.stave)throw new Vex.RERR("TimeSignatureError","Can't draw time signature without stave.");this.setRendered(),this.timeSig.glyph.setStave(this.stave),this.timeSig.glyph.setContext(this.stave.context),this.placeGlyphOnLine(this.timeSig.glyph,this.stave,this.timeSig.line);const e=this.stave.context.openGroup("timesignature");this.timeSig.glyph.renderToStave(this.x),this.hidden&&e&&e.setAttribute("visibility","hidden"),this.stave.context.closeGroup("timesignature")}}class Volta extends StaveModifier{static get CATEGORY(){return"voltas"}static get type(){return{NONE:1,BEGIN:2,MID:3,END:4,BEGIN_END:5}}constructor(e,t,n,i){super(),this.setAttribute("type","Volta"),this.volta=e,this.x=n,this.y_shift=i,this.number=t,this.font={family:"sans-serif",size:9,weight:"bold"}}getCategory(){return Volta.CATEGORY}setShiftY(e){return this.y_shift=e,this}draw(e,t){const n=e.checkContext();this.setRendered();let i=e.width-t;const r=e.getYForTopText(e.options.num_lines)+this.y_shift,o=1.5*e.options.spacing_between_lines_px;switch(this.volta){case Volta.type.BEGIN:n.fillRect(this.x+t,r,1,o);break;case Volta.type.END:i-=5,n.fillRect(this.x+t+i,r,1,o);break;case Volta.type.BEGIN_END:i-=3,n.fillRect(this.x+t,r,1,o),n.fillRect(this.x+t+i,r,1,o)}return this.volta!==Volta.type.BEGIN&&this.volta!==Volta.type.BEGIN_END||(n.save(),n.setFont(this.font.family,this.font.size,this.font.weight),n.fillText(this.number,this.x+t+5,r+15),n.restore()),n.fillRect(this.x+t,r,i,1),this}}let _keySignature="",volta={};const voltaMeasureNumber={};class Stave extends Element$1{static saxophoneMap(e){const t={C:"bE","#C":"E","C#":"E",Db:"E",D:"F",Eb:"bG",E:"G",F:"bA","#F":"A","F#":"A",Gb:"A",G:"bB",Ab:"B",A:"C",Bb:"bD",B:"D"};return t[e]?t[e]:e}constructor(e,t,n,i){super(),this.setAttribute("type","Stave"),this.x=e,this.y=t,this.width=n,this.formatted=!1,this.setStartX(e+5),this.end_x=e+n,this.staveTempos=[],this.modifiers=[],this.measure=0,this.clef="treble",this.endClef=void 0,this.font={family:"sans-serif",size:8,weight:""},this.timeSignature={numerator:"",denominator:""},this.options={vertical_bar_width:10,glyph_spacing_px:10,num_lines:5,fill_style:"#999999",left_bar:!0,right_bar:!0,spacing_between_lines_px:10,space_above_staff_ln:4,space_below_staff_ln:4,top_text_position:1,DYMusicScoreType:"",keySignature:""},this.bounds={x:this.x,y:this.y,w:this.width,h:0},Vex.Merge(this.options,i),this.resetLines();const r=Barline.type;this.addModifier(new Barline(this.options.left_bar?r.SINGLE:r.NONE)),this.addEndModifier(new Barline(this.options.right_bar?r.SINGLE:r.NONE))}space(e){return this.options.spacing_between_lines_px*e}resetLines(){this.options.line_config=[];for(let e=0;e<this.options.num_lines;e++)this.options.line_config.push({visible:!0});this.height=(this.options.num_lines+this.options.space_above_staff_ln)*this.options.spacing_between_lines_px,this.options.bottom_text_position=this.options.num_lines}getLines(){const e=this.options.line_config.map((e=>e.visible)).filter(Boolean);return e.length}formatBegModifiers(e){let t=0;e.forEach((e=>{e.getNoteStartX()>t&&(t=e.getNoteStartX())})),e.forEach((e=>{e.setNoteStartX(t)})),t=0,e.forEach((e=>{e.getModifiers(StaveModifier.Position.BEGIN,Barline.CATEGORY).forEach((e=>{e.getType()==Barline.type.REPEAT_BEGIN&&e.getX()>t&&(t=e.getX())}))})),e.forEach((e=>{e.getModifiers(StaveModifier.Position.BEGIN,Barline.CATEGORY).forEach((e=>{e.getType()==Barline.type.REPEAT_BEGIN&&e.setX(t)}))})),t=0,e.forEach((e=>{e.getModifiers(StaveModifier.Position.BEGIN,TimeSignature.CATEGORY).forEach((e=>{e.getX()>t&&(t=e.getX())}))})),e.forEach((e=>{e.getModifiers(StaveModifier.Position.BEGIN,TimeSignature.CATEGORY).forEach((e=>{e.setX(t)}))}))}getOptions(){return this.options}setNoteStartX(e){return this.formatted||this.format(),this.setStartX(e),this}setStartX(e){this.start_x=e}getNoteStartX(){return this.formatted||this.format(),this.start_x}getNoteEndX(){return this.formatted||this.format(),this.end_x}getTieStartX(){return this.start_x}getTieEndX(){return this.x+this.width}getX(){return this.x}getNumLines(){return this.options.num_lines}setNumLines(e){return this.options.num_lines=parseInt(e,10),this.resetLines(),this}setY(e){return this.y=e,this}getTopLineTopY(){return this.getYForLine(0)-Flow.STAVE_LINE_THICKNESS/2}getBottomLineBottomY(){return 2===this.getLines()?this.getYForLine(6)+Flow.STAVE_LINE_THICKNESS/2:this.getYForLine(this.getNumLines()-1)+Flow.STAVE_LINE_THICKNESS/2}setX(e){const t=e-this.x;this.formatted=!1,this.x=e,this.start_x+=t,this.end_x+=t;for(let n=0;n<this.modifiers.length;n++){const e=this.modifiers[n];void 0!==e.x&&(e.x+=t)}return this}setWidth(e){return this.formatted=!1,this.width=e,this.end_x=this.x+e,this}getWidth(){return this.width}getStyle(){return{fillStyle:this.options.fill_style,strokeStyle:this.options.fill_style,lineWidth:Flow.STAVE_LINE_THICKNESS,...this.style||{}}}setMeasure(e){return this.measure=e,this}getModifierXShift(e=0){if("number"!=typeof e)throw new Vex.RERR("InvalidIndex","Must be of number type");if(this.formatted||this.format(),1===this.getModifiers(StaveModifier.Position.BEGIN).length)return 0;let t=this.start_x-this.x;const n=this.modifiers[0];return n.getType()===Barline.type.REPEAT_BEGIN&&t>n.getWidth()&&(t-=n.getWidth()),t}setRepetitionTypeLeft(e,t){return this.modifiers.push(new Repetition$1(e,this.x,t)),this}setRepetitionTypeRight(e,t){return this.modifiers.push(new Repetition$1(e,this.x,t)),this}setVoltaType(e,t,n){if(2===e)2===volta.type&&volta.stave.modifiers.push(new Volta(volta.type,volta.number_t,volta.x,volta.y)),volta={stave:this,type:e,number_t:t,MeasureNumber:this.MeasureNumber,y:n,x:this.x};else if(4===e){let e=this.MeasureNumber-volta.MeasureNumber,i=Math.max(volta.y,n);for(let n=0;n<=e;n++)voltaMeasureNumber[volta.MeasureNumber+n]={type:0===n?2:n===e?4:0,number_t:t,y:i};volta={}}else this.modifiers.push(new Volta(e,t,this.x,n));return this}drawVolta(){let e=voltaMeasureNumber[this.MeasureNumber];e&&(this.modifiers.push(new Volta(e.type,e.number_t,this.x,e.y)),delete voltaMeasureNumber[this.MeasureNumber]),volta.type&&volta.MeasureNumber==this.MeasureNumber&&(this.modifiers.push(new Volta(volta.type,volta.number_t,this.x,volta.y)),volta={})}setSection(e,t,n=0,i=12){const r=new StaveSection(e,this.x+n,t);return r.font.size=i,this.modifiers.push(r),this}setTempo(e,t){return this.modifiers.push(new StaveTempo(e,this.x,t)),this}setText(e,t,n){let i=new StaveText(e,t,n);return i.setFont({family:"Arial",size:14,weight:"normal"}),this.modifiers.push(i),this}getHeight(){return this.height}getSpacingBetweenLines(){return this.options.spacing_between_lines_px}getBoundingBox(){return new BoundingBox(this.x,this.y,this.width,this.getBottomY()-this.y)}getBottomY(){const e=this.options,t=e.spacing_between_lines_px;return this.getYForLine(e.num_lines)+e.space_below_staff_ln*t}getBottomLineY(){return this.getYForLine(this.options.num_lines)}getYForLine(e){const t=this.options,n=t.spacing_between_lines_px,i=t.space_above_staff_ln;return this.y+e*n+i*n}getLineForY(e){const t=this.options,n=t.spacing_between_lines_px,i=t.space_above_staff_ln;return(e-this.y)/n-i}getYForTopText(e){const t=e||0;return this.getYForLine(-t-this.options.top_text_position)}getYForBottomText(e){const t=e||0;return this.getYForLine(this.options.bottom_text_position+t)}getYForNote(e){const t=this.options,n=t.spacing_between_lines_px,i=t.space_above_staff_ln;return this.y+i*n+5*n-e*n}getYForGlyphs(){return this.getYForLine(3)}addModifier(e,t,n){return void 0!==t&&e.setPosition(t),n&&(this.timeSignature.numerator=n.numerator,this.timeSignature.denominator=n.denominator),e.setStave(this),this.formatted=!1,this.modifiers.push(e),this}addEndModifier(e){return this.addModifier(e,StaveModifier.Position.END),this}setBegBarType(e){const{SINGLE:t,REPEAT_BEGIN:n,NONE:i}=Barline.type;return e!==t&&e!==n&&e!==i||(this.modifiers[0].setType(e),this.formatted=!1),this}setEndBarType(e){return e!==Barline.type.REPEAT_BEGIN&&(this.modifiers[1].setType(e),this.formatted=!1),this}setClef(e,t,n,i){void 0===i&&(i=StaveModifier.Position.BEGIN),i===StaveModifier.Position.END?this.endClef=e:this.clef=e;const r=this.getModifiers(i,Clef.CATEGORY);return 0===r.length?this.addClef(e,t,n,i):r[0].setType(e,t,n),this}setEndClef(e,t,n){return this.setClef(e,t,n,StaveModifier.Position.END),this}setKeySignature(e,t,n){this.options.keySignature=e,void 0===n&&(n=StaveModifier.Position.BEGIN);const i=this.getModifiers(n,KeySignature.CATEGORY);return 0===i.length?"jianpu"!==this.options.DYMusicScoreType&&this.addKeySignature(e,t,n):i[0].setKeySig(e,t),this}setEndKeySignature(e,t){return this.setKeySignature(e,t,StaveModifier.Position.END),this}setTimeSignature(e,t,n){void 0===n&&(n=StaveModifier.Position.BEGIN);const i=this.getModifiers(n,TimeSignature.CATEGORY);return 0===i.length?this.addTimeSignature(e,t,n):i[0].setTimeSig(e),this}setEndTimeSignature(e,t){return this.setTimeSignature(e,t,StaveModifier.Position.END),this}addKeySignature(e,t,n){return void 0===n&&(n=StaveModifier.Position.BEGIN),this.addModifier(new KeySignature(e,t).setPosition(n),n),this}addClef(e,t,n,i){return void 0===i||i===StaveModifier.Position.BEGIN?this.clef=e:i===StaveModifier.Position.END&&(this.endClef=e),this.addModifier(new Clef(e,t,n),i),this}addEndClef(e,t,n){return this.addClef(e,t,n,StaveModifier.Position.END),this}addTimeSignature(e,t,n){return this.addModifier(new TimeSignature(e,t),n),this}addEndTimeSignature(e,t){return this.addTimeSignature(e,t,StaveModifier.Position.END),this}addTrebleGlyph(){return this.addClef("treble"),this}getModifiers(e,t){return void 0===e&&void 0===t?this.modifiers:this.modifiers.filter((n=>!(void 0!==e&&e!==n.getPosition()||void 0!==t&&t!==n.getCategory())))}sortByCategory(e,t){for(let n=e.length-1;n>=0;n--)for(let i=0;i<n;i++)if(t[e[i].getCategory()]>t[e[i+1].getCategory()]){const t=e[i];e[i]=e[i+1],e[i+1]=t}}format(){const e=this.modifiers[0],t=this.modifiers[1],n=this.getModifiers(StaveModifier.Position.BEGIN),i=this.getModifiers(StaveModifier.Position.END);let r,o,s;this.sortByCategory(n,{barlines:0,clefs:1,keysignatures:2,timesignatures:3}),this.sortByCategory(i,{timesignatures:0,keysignatures:1,barlines:2,clefs:3}),n.length>1&&e.getType()===Barline.type.REPEAT_BEGIN&&(n.push(n.splice(0,1)[0]),n.splice(0,0,new Barline(Barline.type.SINGLE))),i.indexOf(t)>0&&i.splice(0,0,new Barline(Barline.type.NONE));let a=0,l=this.x;for(let h=0;h<n.length;h++){s=n[h],o=s.getPadding(h+a),r=s.getWidth(),isNaN(r)&&(s.setWidth(10),r=10),l+=o;const e=s.getX();e>l?l=e:s.setX(l),l+=r,o+r===0&&a--}l>this.start_x&&this.setStartX(l),l=this.x+this.width;const c={left:0,right:0,paddingRight:0,paddingLeft:0};let u=0;for(let h=0;h<i.length;h++){s=i[h],u="barlines"===s.getCategory()?h:u,c.right=0,c.left=0,c.paddingRight=0,c.paddingLeft=0;const e=s.getLayoutMetrics();e?(0!==h&&(c.right=e.xMax||0,c.paddingRight=e.paddingRight||0),c.left=-e.xMin||0,c.paddingLeft=e.paddingLeft||0,h===i.length-1&&(c.paddingLeft=0)):(c.paddingRight=s.getPadding(h-u)||0,0!==h&&(c.right=s.getWidth()||0),0===h&&(c.left=s.getWidth()||0)),l-=c.paddingRight,l-=c.right,s.setX(l),l-=c.left,l-=c.paddingLeft}this.end_x=1===i.length?this.x+this.width:l,this.formatted=!0}draw(){this.checkContext(),this.setRendered(),this.formatted||this.format();const e=this.options.num_lines,t=this.width,n=this.x;let i;const r=this.getLines();if(2===r||3===r){const e=2===r?[2,4]:[0,2,4];this.options.line_config.forEach(((t,n)=>{e.includes(n)?t.visible=!0:t.visible=!1}))}for(let o=0;o<e;o++)i=this.getYForLine(o),"jianpu"===this.options.DYMusicScoreType?this.applyStyle(this.context,{strokeStyle:"transparent"}):this.applyStyle(),this.options.line_config[o].visible&&(this.context.beginPath(),this.context.moveTo(n,i),this.context.lineTo(n+t,i),this.context.stroke()),this.restoreStyle();this.drawVolta(),"jianpu"===this.options.DYMusicScoreType&&this.drawJianpuKey();for(let o=0;o<this.modifiers.length;o++){if("jianpu"===this.options.DYMusicScoreType){let e=this.modifiers[o].attrs.type;if(["StaveTempo","TimeSignature"].includes(e))continue}if("StaveTempo"===this.modifiers[o].attrs.type){this.staveTempos.push(this.modifiers[o]);continue}2===r&&("Clef"===this.modifiers[o].attrs.type&&(this.modifiers[o].clef.line=3),"TimeSignature"===this.modifiers[o].attrs.type&&(this.modifiers[o].bottomLine=5,this.modifiers[o].topLine=3)),4===r&&"Clef"===this.modifiers[o].attrs.type&&(this.modifiers[o].clef.line=1.5);let e=!1;["StaveSection","Repetition","Volta"].includes(this.modifiers[o].attrs.type)&&(e=!0,this.context.openGroup(this.modifiers[o].attrs.type)),"function"==typeof this.modifiers[o].draw&&(this.modifiers[o].applyStyle(this.context),this.modifiers[o].draw(this,this.getModifierXShift(o)),this.modifiers[o].restoreStyle(this.context)),e&&this.context.closeGroup()}if(setTimeout((()=>this.drawStaveTempo())),this.measure>0){this.context.save(),this.context.setFont(this.font.family,this.font.size,this.font.weight);const e=this.context.measureText(""+this.measure).width;i=this.getYForTopText(0)+3,this.context.fillText(""+this.measure,this.x-e/2,i),this.context.restore()}return this}drawStaveTempo(){if(!this.staveTempos.length)return;const e=document.querySelector(`#${this.attrs.id}`);if(!e)return;const t=e.parentElement.getBBox(),n=this.getYForLine(0),i=e.parentElement.parentElement.querySelectorAll(".vf-curve");if(i.length){const e=this.x+this.staveTempos[0].shift_x+this.getModifierXShift(0),r=this.getYForTopText(1)+t.y-n+5;i.forEach((n=>{const i=n.getBBox();i.x-10<e&&i.x+i.width>e&&i.y-10<r&&i.y+i.height>r&&(t.y=i.y+5)}))}for(let r=0;r<this.staveTempos.length;r++)this.staveTempos[r].shift_y=t.y-n+5,this.staveTempos[r].applyStyle(this.context),this.staveTempos[r].draw(this,this.getModifierXShift(r)),this.staveTempos[r].restoreStyle(this.context);this.staveTempos=[]}drawJianpuKey(){if(this.options.keySignature){let e=this.options.keySignature;6===window.DYSubjectId&&(e=Stave.saxophoneMap(e)),window&&window.sett&&window.sett.keySignature&&(e="C"),this.MeasureNumber<2?this.setText(`1=${e}`,1,{justification:1,shift_x:50,shift_y:-75}):this.options.keySignature!=_keySignature&&this.setText(`1=${e}`,1,{justification:1,shift_x:50,shift_y:-50}),_keySignature=this.options.keySignature}if(this.MeasureNumber>=0&&this.timeSignature.numerator){let e=40,t=0;this.MeasureNumber<2&&(e=70,t=-72),this.setText(`${this.timeSignature.numerator}`,1,{justification:1,shift_x:e,shift_y:t-13}),this.setText("ᅳ",1,{justification:1,shift_x:e+3,shift_y:t-2}),this.setText(`${this.timeSignature.denominator}`,1,{justification:1,shift_x:e,shift_y:t+8})}}drawVertical(e,t){this.drawVerticalFixed(this.x+e,t)}drawVerticalFixed(e,t){this.checkContext();const n=this.getYForLine(0),i=this.getYForLine(this.options.num_lines-1);t&&this.context.fillRect(e-3,n,1,i-n+1),this.context.fillRect(e,n,1,i-n+1)}drawVerticalBar(e){this.drawVerticalBarFixed(this.x+e,!1)}drawVerticalBarFixed(e){this.checkContext();const t=this.getYForLine(0),n=this.getYForLine(this.options.num_lines-1);this.context.fillRect(e,t,1,n-t+1)}getConfigForLines(){return this.options.line_config}setConfigForLine(e,t){if(e>=this.options.num_lines||e<0)throw new Vex.RERR("StaveConfigError","The line number must be within the range of the number of lines in the Stave.");if(void 0===t.visible)throw new Vex.RERR("StaveConfigError","The line configuration object is missing the 'visible' property.");if("boolean"!=typeof t.visible)throw new Vex.RERR("StaveConfigError","The line configuration objects 'visible' property must be true or false.");return this.options.line_config[e]=t,this}setConfigForLines(e){if(e.length!==this.options.num_lines)throw new Vex.RERR("StaveConfigError","The length of the lines configuration array must match the number of lines in the Stave");for(const t in e)e[t]||(e[t]=this.options.line_config[t]),Vex.Merge(this.options.line_config[t],e[t]);return this.options.line_config=e,this}}class TabStave extends Stave{constructor(e,t,n,i){const r={spacing_between_lines_px:13,num_lines:6,top_text_position:1};Vex.Merge(r,i),super(e,t,n,r),this.setAttribute("type","TabStave")}getYForGlyphs(){return this.getYForLine(2.5)}addTabGlyph(){return this.addClef("tab"),this}}function getUnusedStringGroups(e,t){const n=[];let i=[];for(let r=1;r<=e;r++){t.indexOf(r)>-1?(n.push(i),i=[]):i.push(r)}return i.length>0&&n.push(i),n}function getPartialStemLines(e,t,n,i){const r=1!==i,o=-1!==i,s=n.getSpacingBetweenLines(),a=n.getNumLines(),l=[];return t.forEach((t=>{const c=t.indexOf(a)>-1,u=t.indexOf(1)>-1;if(r&&u||o&&c)return;1===t.length&&t.push(t[0]);const h=[];t.forEach(((t,r,o)=>{const l=1===t,c=t===a;let u=n.getYForLine(t-1);0!==r||l?r!==o.length-1||c||(u+=s/2-1):u-=s/2-1,h.push(u),1===i&&l?h.push(e-2):-1===i&&c&&h.push(e+2)})),l.push(h.sort(((e,t)=>e-t)))})),l}let TabNote$1=class e extends StemmableNote{static get CATEGORY(){return"tabnotes"}constructor(e,t){if(super(e),this.setAttribute("type","TabNote"),this.ghost=!1,this.positions=e.positions,Vex.Merge(this.render_options,{glyph_font_scale:Flow.DEFAULT_TABLATURE_FONT_SCALE,draw_stem:t,draw_dots:t,draw_stem_through_stave:!1,y_shift:0,scale:1,font:"10pt Arial"}),this.glyph=Flow.getGlyphProps(this.duration,this.noteType),!this.glyph)throw new Vex.RuntimeError("BadArguments",`Invalid note initialization data (No glyph found): ${JSON.stringify(e)}`);this.buildStem(),e.stem_direction?this.setStemDirection(e.stem_direction):this.setStemDirection(Stem.UP),this.ghost=!1,this.updateWidth()}reset(){this.stave&&this.setStave(this.stave)}getCategory(){return e.CATEGORY}setGhost(e){return this.ghost=e,this.updateWidth(),this}hasStem(){return this.render_options.draw_stem}getStemExtension(){const e=this.getGlyph();return null!=this.stem_extension_override?this.stem_extension_override:e?1===this.getStemDirection()?e.tabnote_stem_up_extension:e.tabnote_stem_down_extension:0}addDot(){const e=new Dot;return this.dots+=1,this.addModifier(e,0)}updateWidth(){this.glyphs=[],this.width=0;for(let e=0;e<this.positions.length;++e){let t=this.positions[e].fret;this.ghost&&(t="("+t+")");const n=Flow.tabToGlyph(t,this.render_options.scale);this.glyphs.push(n),this.width=Math.max(n.getWidth(),this.width)}this.glyph.getWidth=()=>this.width}setStave(e){let t;if(super.setStave(e),this.context=e.context,this.context){const e=this.context;for(this.width=0,t=0;t<this.glyphs.length;++t){const n=this.glyphs[t],i=""+n.text;"X"!==i.toUpperCase()&&(e.save(),e.setRawFont(this.render_options.font),n.width=e.measureText(i).width,e.restore(),n.getWidth=()=>n.width),this.width=Math.max(n.getWidth(),this.width)}this.glyph.getWidth=()=>this.width}const n=this.positions.map((({str:t})=>e.getYForLine(t-1)));return this.setYs(n),this.stem&&this.stem.setYBounds(this.getStemY(),this.getStemY()),this}getPositions(){return this.positions}addToModifierContext(e){this.setModifierContext(e);for(let t=0;t<this.modifiers.length;++t)this.modifierContext.addModifier(this.modifiers[t]);return this.modifierContext.addModifier(this),this.preFormatted=!1,this}getTieRightX(){let e=this.getAbsoluteX();return e+=this.glyph.getWidth()/2,e+=-this.width/2+this.width+2,e}getTieLeftX(){let e=this.getAbsoluteX();return e+=this.glyph.getWidth()/2,e-=this.width/2+2,e}getModifierStartXY(e,t){if(!this.preFormatted)throw new Vex.RERR("UnformattedNote","Can't call GetModifierStartXY on an unformatted note");if(0===this.ys.length)throw new Vex.RERR("NoYValues","No Y-Values calculated for this note.");let n=0;if(e===Modifier.Position.LEFT)n=-2;else if(e===Modifier.Position.RIGHT)n=this.width+2;else if(e===Modifier.Position.BELOW||e===Modifier.Position.ABOVE){n=this.glyph.getWidth()/2}return{x:this.getAbsoluteX()+n,y:this.ys[t]}}getLineForRest(){return this.positions[0].str}preFormat(){this.preFormatted||(this.modifierContext&&this.modifierContext.preFormat(),this.setPreFormatted(!0))}getStemX(){return this.getCenterGlyphX()}getStemY(){const e=this.stave.getNumLines()-.5,t=Stem.UP===this.stem_direction?-.5:e;return this.stave.getYForLine(t)}getStemExtents(){return this.stem.getExtents()}drawFlag(){const{beam:e,glyph:t,context:n,stem:i,stem_direction:r,render_options:{draw_stem:o,glyph_font_scale:s}}=this,a=null==e&&o;if(t.flag&&a){const e=this.getStemX()+1,o=this.getStemY()-i.getHeight(),a=r===Stem.DOWN?t.code_flag_downstem:t.code_flag_upstem;Glyph.renderGlyph(n,e,o,s,a)}}drawModifiers(){this.modifiers.forEach((e=>{("dots"!==e.getCategory()||this.render_options.draw_dots)&&(e.setContext(this.context),e.drawWithStyle())}))}drawStemThrough(){const e=this.getStemX(),t=this.getStemY(),n=this.context,i=this.render_options.draw_stem_through_stave;if(this.render_options.draw_stem&&i){const i=this.stave.getNumLines(),r=this.positions.map((e=>e.str)),o=getPartialStemLines(t,getUnusedStringGroups(i,r),this.getStave(),this.getStemDirection());n.save(),n.setLineWidth(Stem.WIDTH),o.forEach((t=>{0!==t.length&&(n.beginPath(),n.moveTo(e,t[0]),n.lineTo(e,t[t.length-1]),n.stroke(),n.closePath())})),n.restore()}}drawPositions(){const e=this.context,t=this.getAbsoluteX(),n=this.ys;for(let i=0;i<this.positions.length;++i){const r=n[i]+this.render_options.y_shift,o=this.glyphs[i];let s=o.getWidth();0===s&&o.text&&o.text.toString()&&o.text.toString().length&&(s=7*o.text.toString().length);let a=this.glyph.getWidth();0===a&&(a=s);const l=t+a/2-s/2;if(this.BackgroundColor?(e.save(),e.setFillStyle(this.BackgroundColor),e.setLineWidth(0),e.fillRect(l-2,r-3,s+4,6),e.restore()):e.clearRect(l-2,r-3,s+4,6),o.code)Glyph.renderGlyph(e,l,r,this.render_options.glyph_font_scale*this.render_options.scale,o.code);else{e.save(),e.setRawFont(this.render_options.font);const t=o.text.toString();e.fillText(t,l,r+5*this.render_options.scale),e.restore()}}}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");if(0===this.ys.length)throw new Vex.RERR("NoYValues","Can't draw note without Y values.");this.setRendered();const e=null==this.beam&&this.render_options.draw_stem;this.context.openGroup("tabnote",this.getAttribute("id"),{pointerBBox:!0}),this.drawPositions(),this.drawStemThrough();const t=this.getStemX();this.stem.setNoteHeadXBounds(t,t),e&&(this.context.openGroup("stem",null,{pointerBBox:!0}),this.stem.setContext(this.context).draw(),this.context.closeGroup()),this.drawFlag(),this.drawModifiers(),this.context.closeGroup()}},semibrave_rest;function L$8(...e){VibratoBracket.DEBUG&&Vex.L("Vex.Flow.VibratoBracket",e)}class VibratoBracket extends Element$1{constructor(e){super(),this.setAttribute("type","VibratoBracket"),this.start=e.start,this.stop=e.stop,this.toEndOfStopStave=e.toEndOfStopStave,this.line=1,this.render_options={harsh:!1,wave_height:6,wave_width:4,wave_girth:2}}setLine(e){return this.line=e,this}setHarsh(e){return this.render_options.harsh=e,this}draw(){const e=this.context;this.setRendered();const t=this.start?this.start.getStave().getYForTopText(this.line):this.stop.getStave().getYForTopText(this.line);let n=0;if(this.start){let e=0;for(const t of this.start.modifiers)if(t&&"tr"===t.type){e=t.glyph.bbox.w;break}n=this.start.getNoteHeadBeginX?this.start.getNoteHeadBeginX():this.start.getAbsoluteX(),n+=e}else n=this.stop.getStave().getTieStartX();let i=0;i=this.stop?this.toEndOfStopStave?this.stop.getStave().getTieEndX()-10:this.stop.getAbsoluteX()+this.stop.getWidth():this.start.getStave().getTieEndX()-10,this.render_options.vibrato_width=i-n,L$8("Rendering VibratoBracket: start_x:",n,"stop_x:",i,"y:",t),Vibrato.renderVibrato(e,n,t,this.render_options)}}function get_semibrave_rest(){if(!semibrave_rest){const e=new NoteHead({duration:"w",note_type:"r"});semibrave_rest={glyph_font_scale:e.render_options.glyph_font_scale,glyph_code:e.glyph_code,width:e.getWidth()}}return semibrave_rest}class MultiMeasureRest extends Element$1{constructor(e,t){super(),this.setAttribute("type","MultiMeasureRest"),this.render_options={show_number:!0,number_line:-.5,number_glyph_point:40,padding_left:void 0,padding_right:void 0,line:2,spacing_between_lines_px:10,line_thickness:void 0,serif_thickness:2,use_symbols:!1,symbol_spacing:void 0,semibrave_rest_glyph_scale:Flow.DEFAULT_NOTATION_FONT_SCALE},Vex.Merge(this.render_options,t),this.number_of_measures=e,this.xs={left:NaN,right:NaN}}getXs(){return this.xs}setStave(e){return this.stave=e,this}getStave(){return this.stave}drawLine(e,t,n,i){const r=this.stave.getYForLine(this.render_options.line),o=.1*(n-t);t+=o,n-=o;const s=this.render_options.serif_thickness;let a=.25*i;isNaN(this.render_options.line_thickness)||(a=.5*this.render_options.line_thickness),e.save(),e.beginPath(),e.moveTo(t,r-i),e.lineTo(t+s,r-i),e.lineTo(t+s,r-a),e.lineTo(n-s,r-a),e.lineTo(n-s,r-i),e.lineTo(n,r-i),e.lineTo(n,r+i),e.lineTo(n-s,r+i),e.lineTo(n-s,r+a),e.lineTo(t+s,r+a),e.lineTo(t+s,r+i),e.lineTo(t,r+i),e.closePath(),e.fill()}drawSymbols(e,t,n,i){const r=Math.floor(this.number_of_measures/4),o=this.number_of_measures%4,s=Math.floor(o/2),a=o%2,l=get_semibrave_rest(),c=l.width*(this.render_options.semibrave_rest_glyph_scale/l.glyph_font_scale),u={2:{width:.5*c,height:i},1:{width:c}};let h=1.35*c;isNaN(this.render_options.symbol_spacing)||(h=this.render_options.symbol_spacing);let d=t+.5*(n-t)-.5*(r*u[2].width+s*u[2].width+a*u[1].width+(r+s+a-1)*h);const p=this.stave.getYForLine(this.render_options.line-1),f=this.stave.getYForLine(this.render_options.line),m=this.stave.getYForLine(this.render_options.line+1);e.save(),e.setStrokeStyle("none"),e.setLineWidth(0);for(let g=0;g<r;++g)e.fillRect(d,f-u[2].height,u[2].width,u[2].height),e.fillRect(d,m-u[2].height,u[2].width,u[2].height),d+=u[2].width+h;for(let g=0;g<s;++g)e.fillRect(d,f-u[2].height,u[2].width,u[2].height),d+=u[2].width+h;for(let g=0;g<a;++g)Glyph.renderGlyph(e,d,p,this.render_options.semibrave_rest_glyph_scale,l.glyph_code),d+=u[1].width+h;e.restore()}draw(){this.checkContext(),this.setRendered();const e=this.context,t=this.stave,n=this.render_options.spacing_between_lines_px;let i=t.getNoteStartX(),r=t.getNoteEndX();const o=t.getModifiers(StaveModifier.Position.BEGIN);if(1===o.length&&"barlines"===o[0].getCategory()&&(i-=o[0].getWidth()),isNaN(this.render_options.padding_left)||(i=t.getX()+this.render_options.padding_left),isNaN(this.render_options.padding_right)||(r=t.getX()+t.getWidth()-this.render_options.padding_right),this.xs.left=i,this.xs.right=r,this.render_options.use_symbols?this.drawSymbols(e,i,r,n):this.drawLine(e,i,r,n),this.render_options.show_number){const n="/"+this.number_of_measures,o=new TimeSignature(null,void 0,!1);o.point=this.render_options.number_glyph_point,o.setTimeSig(n),o.setStave(t),o.x=i+.5*(r-i)-.5*o.timeSig.glyph.getMetrics().width,o.bottomLine=this.render_options.number_line,o.setContext(e).draw()}}}class ClefNote extends Note{static get CATEGORY(){return"clefnote"}constructor(e,t,n){super({duration:"b"}),this.setAttribute("type","ClefNote"),this.setType(e,t,n),this.ignore_ticks=!0}setType(e,t,n){return this.type=e,this.clef_obj=new Clef(e,t,n),this.clef=this.clef_obj.clef,this.glyph=new Glyph(this.clef.code,this.clef.point),this.setWidth(this.glyph.getMetrics().width),this}getClef(){return this.clef}setContext(e){return this.context=e,this.glyph.setContext(this.context),this}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}getCategory(){return ClefNote.CATEGORY}preFormat(){return this.setPreFormatted(!0),this}draw(){if(!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");this.glyph.getContext()||this.glyph.setContext(this.context),this.setRendered();const e=this.getAbsoluteX();if(this.glyph.setStave(this.stave),this.glyph.setYShift(this.stave.getYForLine(this.clef.line)-this.stave.getYForGlyphs()),this.glyph.renderToStave(e),void 0!==this.clef_obj.annotation){const t=new Glyph(this.clef_obj.annotation.code,this.clef_obj.annotation.point);t.getContext()||t.setContext(this.context),t.setStave(this.stave),t.setYShift(this.stave.getYForLine(this.clef_obj.annotation.line)-this.stave.getYForGlyphs()),t.setXShift(this.clef_obj.annotation.x_shift),t.renderToStave(e)}}}class KeySigNote extends Note{constructor(e,t,n){super({duration:"b"}),this.setAttribute("type","KeySigNote"),this.keySignature=new KeySignature(e,t,n),this.ignore_ticks=!0}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this.keySignature.setStave(this.stave),this.keySignature.format(),this.setWidth(this.keySignature.width),this}draw(){this.stave.checkContext(),this.setRendered(),this.keySignature.x=this.getAbsoluteX(),this.keySignature.setContext(this.context),this.keySignature.draw()}}class TimeSigNote extends Note{constructor(e,t){super({duration:"b"}),this.setAttribute("type","TimeSigNote");const n=new TimeSignature(e,t);this.timeSig=n.getTimeSig(),this.setWidth(this.timeSig.glyph.getMetrics().width),this.ignore_ticks=!0}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this}draw(){this.stave.checkContext(),this.setRendered(),this.timeSig.glyph.getContext()||this.timeSig.glyph.setContext(this.context),this.timeSig.glyph.setStave(this.stave),this.timeSig.glyph.setYShift(this.stave.getYForLine(this.timeSig.line)-this.stave.getYForGlyphs()),this.timeSig.glyph.renderToStave(this.getAbsoluteX())}}class TabSlide extends TabTie{static get SLIDE_UP(){return 1}static get SLIDE_DOWN(){return-1}static createSlideUp(e){return new TabSlide(e,TabSlide.SLIDE_UP)}static createSlideDown(e){return new TabSlide(e,TabSlide.SLIDE_DOWN)}constructor(e,t){if(super(e,"sl."),this.setAttribute("type","TabSlide"),!t){const n=e.first_note.getPositions()[0].fret,i=e.last_note.getPositions()[0].fret;t=parseInt(n,10)>parseInt(i,10)?TabSlide.SLIDE_DOWN:TabSlide.SLIDE_UP}this.slide_direction=t,this.render_options.cp1=11,this.render_options.cp2=14,this.render_options.y_shift=.5,this.setFont({font:"Times",size:10,style:"bold italic"}),this.setNotes(e)}renderTie(e){if(0===e.first_ys.length||0===e.last_ys.length)throw new Vex.RERR("BadArguments","No Y-values to render");const t=this.context,n=e.first_x_px,i=e.first_ys,r=e.last_x_px,o=this.slide_direction;if(o!==TabSlide.SLIDE_UP&&o!==TabSlide.SLIDE_DOWN)throw new Vex.RERR("BadSlide","Invalid slide direction");for(let s=0;s<this.first_indices.length;++s){const e=i[this.first_indices[s]]+this.render_options.y_shift;if(isNaN(e))throw new Vex.RERR("BadArguments","Bad indices for slide rendering.");t.beginPath(),t.moveTo(n,e+3*o),t.lineTo(r,e-3*o),t.closePath(),t.stroke()}this.setRendered()}}class GraceNote extends StaveNote{static get CATEGORY(){return"gracenotes"}static get LEDGER_LINE_OFFSET(){return 2}static get SCALE(){return.66}constructor(e){super(Object.assign(e,{glyph_font_scale:Flow.DEFAULT_NOTATION_FONT_SCALE*GraceNote.SCALE,stroke_px:GraceNote.LEDGER_LINE_OFFSET})),this.setAttribute("type","GraceNote"),this.slash=e.slash,this.slur=!0,this.buildNoteHeads(),this.width=3}getStemExtension(){if(null!=this.stem_extension_override)return this.stem_extension_override;const e=this.getGlyph();if(e){let t=super.getStemExtension();if(e.stem){const e=this.getStaveNoteScale();t=(Stem.HEIGHT+t)*e-Stem.HEIGHT}return t}return 0}getCategory(){return GraceNote.CATEGORY}getStaveNoteScale(){return this.render_options.glyph_font_scale/Flow.DEFAULT_NOTATION_FONT_SCALE}draw(){super.draw(),this.setRendered();const e=this.stem;if(this.slash&&e){const t=this.getStaveNoteScale(),n=t/.66;let i;const r=this.beam;if(r)r.postFormatted||r.postFormat(),i=this.calcBeamedNotesSlashBBox(8*n,8*n,{stem:6*n,beam:5*n});else{const r=this.getStemDirection(),o=this.getNoteHeadBounds(),s=e.getHeight();let a=this.getAbsoluteX(),l=r===Flow.Stem.DOWN?o.y_top-s:o.y_bottom-s;const c=r===Flow.Stem.DOWN?this.glyph.stem_down_extension:this.glyph.stem_up_extension;let u=Flow.STEM_HEIGHT;u-=u/2.8,u+=c,l+=u*t*r;const h=r===Flow.Stem.UP?{x1:1,y1:0,x2:13,y2:-9}:{x1:-4,y1:1,x2:13,y2:9};a+=h.x1*n,l+=h.y1*n,i={x1:a,y1:l,x2:a+h.x2*n,y2:l+h.y2*n}}const o=this.context;o.save(),o.setLineWidth(1*n),o.beginPath(),o.moveTo(i.x1,i.y1),o.lineTo(i.x2,i.y2),o.closePath(),o.stroke(),o.restore()}}calcBeamedNotesSlashBBox(e,t,n){const i=this.beam,r=i.slope,o=i.notes[i.notes.length-1]===this?-1:1,s=Math.atan(r*o),a=Math.cos(s)*t,l=Math.sin(s)*t;e*=this.getStemDirection();const c=Math.atan((l-e)/a),u=Math.cos(c)*n.stem*o,h=Math.sin(c)*n.stem,d=Math.cos(c)*n.beam*o,p=Math.sin(c)*n.beam,f=this.getStemX(),m=i.notes[0].getStemX(),g=this.beam.getBeamYToDraw()+(f-m)*r;return{x1:f-u,y1:g+e-h,x2:f+a*o+d,y2:g+l+p}}}class GraceTabNote extends TabNote$1{static get CATEGORY(){return"gracetabnotes"}constructor(e){super(e,!1),this.setAttribute("type","GraceTabNote"),Vex.Merge(this.render_options,{y_shift:.3,scale:.6,font:"7.5pt Arial"}),this.updateWidth()}getCategory(){return GraceTabNote.CATEGORY}draw(){super.draw(),this.setRendered()}}class Tuning{static get names(){return{standard:"E/5,B/4,G/4,D/4,A/3,E/3",dagdad:"D/5,A/4,G/4,D/4,A/3,D/3",dropd:"E/5,B/4,G/4,D/4,A/3,D/3",eb:"Eb/5,Bb/4,Gb/4,Db/4,Ab/3,Db/3",standardBanjo:"D/5,B/4,G/4,D/4,G/5"}}constructor(e="E/5,B/4,G/4,D/4,A/3,E/3,B/2,E/2"){this.setTuning(e)}noteToInteger(e){return Flow.keyProperties(e).int_value}setTuning(e){Tuning.names[e]&&(e=Tuning.names[e]),this.tuningString=e,this.tuningValues=[],this.numStrings=0;const t=e.split(/\s*,\s*/);if(0===t.length)throw new Vex.RERR("BadArguments","Invalid tuning string: "+e);this.numStrings=t.length;for(let n=0;n<this.numStrings;++n)this.tuningValues[n]=this.noteToInteger(t[n])}getValueForString(e){const t=parseInt(e,10);if(t<1||t>this.numStrings)throw new Vex.RERR("BadArguments",`String number must be between 1 and ${this.numStrings}:${e}`);return this.tuningValues[t-1]}getValueForFret(e,t){const n=this.getValueForString(t),i=parseInt(e,10);if(i<0)throw new Vex.RERR("BadArguments","Fret number must be 0 or higher: "+e);return n+i}getNoteForFret(e,t){const n=this.getValueForFret(e,t),i=Math.floor(n/12),r=n%12;return Flow.integerToNote(r)+"/"+i}}class KeyManager{constructor(e){this.music=new Music,this.setKey(e)}setKey(e){return this.key=e,this.reset(),this}getKey(){return this.key}reset(){this.keyParts=this.music.getKeyParts(this.key),this.keyString=this.keyParts.root,this.keyParts.accidental&&(this.keyString+=this.keyParts.accidental);if(!Music.scaleTypes[this.keyParts.type])throw new Vex.RERR("BadArguments",`Unsupported key type: ${this.key}`);this.scale=this.music.getScaleTones(this.music.getNoteValue(this.keyString),Music.scaleTypes[this.keyParts.type]),this.scaleMap={},this.scaleMapByValue={},this.originalScaleMapByValue={};const e=Music.root_indices[this.keyParts.root];for(let t=0;t<Music.roots.length;++t){const n=(e+t)%Music.roots.length,i=Music.roots[n],r=this.music.getRelativeNoteName(i,this.scale[t]);this.scaleMap[i]=r,this.scaleMapByValue[this.scale[t]]=r,this.originalScaleMapByValue[this.scale[t]]=r}return this}getAccidental(e){const t=this.music.getKeyParts(e).root,n=this.music.getNoteParts(this.scaleMap[t]);return{note:this.scaleMap[t],accidental:n.accidental}}selectNote(e){e=e.toLowerCase();const t=this.music.getNoteParts(e),n=this.scaleMap[t.root],i=this.music.getNoteParts(n);if(n===e)return{note:n,accidental:t.accidental,change:!1};const r=this.scaleMapByValue[this.music.getNoteValue(e)];if(null!=r)return{note:r,accidental:this.music.getNoteParts(r).accidental,change:!1};const o=this.originalScaleMapByValue[this.music.getNoteValue(e)];return null!=o?(this.scaleMap[i.root]=o,delete this.scaleMapByValue[this.music.getNoteValue(n)],this.scaleMapByValue[this.music.getNoteValue(e)]=o,{note:o,accidental:this.music.getNoteParts(o).accidental,change:!0}):i.root===e?(delete this.scaleMapByValue[this.music.getNoteValue(this.scaleMap[t.root])],this.scaleMapByValue[this.music.getNoteValue(i.root)]=i.root,this.scaleMap[i.root]=i.root,{note:i.root,accidental:null,change:!0}):(delete this.scaleMapByValue[this.music.getNoteValue(this.scaleMap[t.root])],this.scaleMapByValue[this.music.getNoteValue(e)]=e,delete this.scaleMap[i.root],this.scaleMap[i.root]=e,{note:e,accidental:t.accidental,change:!0})}}class StaveHairpin extends Element$1{static get type(){return{CRESC:1,DECRESC:2}}static FormatByTicksAndDraw(e,t,n,i,r,o){const s=t.pixelsPerTick;if(null==s)throw new Vex.RuntimeError("BadArguments","A valid Formatter must be provide to draw offsets by ticks.");const a=s*o.left_shift_ticks,l=s*o.right_shift_ticks,c={height:o.height,y_shift:o.y_shift,left_shift_px:a,right_shift_px:l};new StaveHairpin({first_note:n.first_note,last_note:n.last_note},i).setContext(e).setRenderOptions(c).setPosition(r).draw()}constructor(e,t){super(),this.setAttribute("type","StaveHairpin"),this.notes=e,this.hairpin=t,this.position=Modifier.Position.BELOW,this.render_options={height:10,y_shift:0,left_shift_px:0,right_shift_px:0},this.setNotes(e)}setPosition(e){return e!==Modifier.Position.ABOVE&&e!==Modifier.Position.BELOW||(this.position=e),this}setRenderOptions(e){return null!=e.height&&null!=e.y_shift&&null!=e.left_shift_px&&null!=e.right_shift_px&&(this.render_options=e),this}setNotes(e){if(!e.first_note&&!e.last_note)throw new Vex.RuntimeError("BadArguments","Hairpin needs to have either first_note or last_note set.");return this.first_note=e.first_note,this.last_note=e.last_note,this}renderHairpin(e){const t=this.checkContext();let n=this.render_options.y_shift+20,i=e.first_y;this.position===Modifier.Position.ABOVE&&(n=30-n,i=e.first_y-e.staff_height);const r=this.render_options.left_shift_px,o=this.render_options.right_shift_px;switch(t.beginPath(),this.hairpin){case StaveHairpin.type.CRESC:t.moveTo(e.last_x+o,i+n),t.lineTo(e.first_x+r,i+this.render_options.height/2+n),t.lineTo(e.last_x+o,i+this.render_options.height+n);break;case StaveHairpin.type.DECRESC:t.moveTo(e.first_x+r,i+n),t.lineTo(e.last_x+o,i+this.render_options.height/2+n),t.lineTo(e.first_x+r,i+this.render_options.height+n)}t.stroke(),t.closePath()}draw(){this.checkContext(),this.setRendered();const e=this.first_note,t=this.last_note,n=e.getModifierStartXY(this.position,0),i=t.getModifierStartXY(this.position,0);return this.renderHairpin({first_x:n.x,last_x:i.x,first_y:e.getStave().y+e.getStave().height,last_y:t.getStave().y+t.getStave().height,staff_height:e.getStave().height}),!0}}class Curve extends Element$1{static get Position(){return{NEAR_HEAD:1,NEAR_TOP:2}}static get PositionString(){return{nearHead:Curve.Position.NEAR_HEAD,nearTop:Curve.Position.NEAR_TOP}}constructor(e,t,n){super(),this.setAttribute("type","Curve"),this.render_options={spacing:2,thickness:2,x_shift:0,y_shift:10,position:Curve.Position.NEAR_HEAD,position_end:Curve.Position.NEAR_HEAD,invert:!1,cps:[{x:0,y:10},{x:0,y:10}]},Vex.Merge(this.render_options,n),this.setNotes(e,t)}setNotes(e,t){if(!e&&!t)throw new Vex.RuntimeError("BadArguments","Curve needs to have either first_note or last_note set.");return this.from=e,this.to=t,this}isPartial(){return!this.from||!this.to}renderCurve(e){const t=this.context,n=this.render_options.cps,i=this.render_options.x_shift,r=this.render_options.y_shift*e.direction,o=e.first_x+i,s=e.first_y+r,a=e.last_x-i,l=e.last_y+r,c=this.render_options.thickness,u=(a-o)/(n.length+2);t.beginPath(),t.moveTo(o,s),t.bezierCurveTo(o+u+n[0].x,s+n[0].y*e.direction,a-u+n[1].x,l+n[1].y*e.direction,a,l),t.bezierCurveTo(a-u+n[1].x,l+(n[1].y+c)*e.direction,o+u+n[0].x,s+(n[0].y+c)*e.direction,o,s),t.stroke(),t.closePath(),t.fill()}draw(){this.checkContext(),this.setRendered();const e=this.from,t=this.to;let n,i,r,o,s,a="baseY",l="baseY";function c(e){return"string"==typeof e?Curve.PositionString[e]:e}const u=c(this.render_options.position),h=c(this.render_options.position_end);return u===Curve.Position.NEAR_TOP&&(a="topY",l="topY"),h===Curve.Position.NEAR_HEAD?l="baseY":h===Curve.Position.NEAR_TOP&&(l="topY"),e?(n=e.getTieRightX(),s=e.getStemDirection(),r=e.getStemExtents()[a]):(n=t.getStave().getTieStartX(),r=t.getStemExtents()[a]),t?(i=t.getTieLeftX(),s=t.getStemDirection(),o=t.getStemExtents()[l]):(i=e.getStave().getTieEndX(),o=e.getStemExtents()[l]),this.renderCurve({first_x:n,last_x:i,first_y:r,last_y:o,direction:s*(!0===this.render_options.invert?-1:1)}),!0}}function L$7(...e){TextDynamics.DEBUG&&Vex.L("Vex.Flow.TextDynamics",e)}class TextDynamics extends Note{static get GLYPHS(){return{f:{code:"vba",width:12},p:{code:"vbf",width:14},m:{code:"v62",width:17},s:{code:"v4a",width:10},z:{code:"v80",width:12},r:{code:"vb1",width:12}}}constructor(e){super(e),this.setAttribute("type","TextDynamics"),this.sequence=e.text.toLowerCase(),this.line=e.line||0,this.glyphs=[],Vex.Merge(this.render_options,{glyph_font_size:40}),L$7("New Dynamics Text: ",this.sequence)}setLine(e){return this.line=e,this}preFormat(){let e=0;return this.sequence.split("").forEach((t=>{const n=TextDynamics.GLYPHS[t];if(!n)throw new Vex.RERR("Invalid dynamics character: "+t);const i=this.render_options.glyph_font_size,r=new Glyph(n.code,i);this.glyphs.push(r),e+=n.width})),this.setWidth(e),this.preFormatted=!0,this}draw(){this.setRendered();const e=this.getAbsoluteX(),t=this.stave.getYForLine(this.line+-3);L$7("Rendering Dynamics: ",this.sequence);let n=e;this.glyphs.forEach(((e,i)=>{const r=this.sequence[i];e.render(this.context,n,t),n+=TextDynamics.GLYPHS[r].width}))}}function drawArrowHead(e,t,n,i,r,o,s){e.beginPath(),e.moveTo(t,n),e.lineTo(i,r),e.lineTo(o,s),e.lineTo(t,n),e.closePath(),e.fill()}function drawArrowLine(e,t,n,i){const r=i.draw_start_arrow&&i.draw_end_arrow,o=t.x,s=t.y,a=n.x,l=n.y,c=Math.sqrt((a-o)*(a-o)+(l-s)*(l-s)),u=(c-i.arrowhead_length/3)/c;let h,d,p,f;i.draw_end_arrow||r?(h=Math.round(o+(a-o)*u),d=Math.round(s+(l-s)*u)):(h=a,d=l),i.draw_start_arrow||r?(p=o+(a-o)*(1-u),f=s+(l-s)*(1-u)):(p=o,f=s),i.color&&(e.setStrokeStyle(i.color),e.setFillStyle(i.color)),e.beginPath(),e.moveTo(p,f),e.lineTo(h,d),e.stroke(),e.closePath();const m=Math.atan2(l-s,a-o),g=Math.abs(i.arrowhead_length/Math.cos(i.arrowhead_angle));let v,b,y,A,S,x;(i.draw_end_arrow||r)&&(v=m+Math.PI+i.arrowhead_angle,y=a+Math.cos(v)*g,A=l+Math.sin(v)*g,b=m+Math.PI-i.arrowhead_angle,S=a+Math.cos(b)*g,x=l+Math.sin(b)*g,drawArrowHead(e,y,A,a,l,S,x)),(i.draw_start_arrow||r)&&(v=m+i.arrowhead_angle,y=o+Math.cos(v)*g,A=s+Math.sin(v)*g,b=m-i.arrowhead_angle,S=o+Math.cos(b)*g,x=s+Math.sin(b)*g,drawArrowHead(e,y,A,o,s,S,x))}class StaveLine extends Element$1{static get TextVerticalPosition(){return{TOP:1,BOTTOM:2}}static get TextJustification(){return{LEFT:1,CENTER:2,RIGHT:3}}constructor(e){super(),this.setAttribute("type","StaveLine"),this.notes=e,this.text="",this.font={family:"Arial",size:10,weight:""},this.render_options={padding_left:4,padding_right:3,line_width:1,line_dash:null,rounded_end:!0,color:null,draw_start_arrow:!1,draw_end_arrow:!1,arrowhead_length:10,arrowhead_angle:Math.PI/8,text_position_vertical:StaveLine.TextVerticalPosition.TOP,text_justification:StaveLine.TextJustification.CENTER},this.setNotes(e)}setFont(e){return this.font=e,this}setText(e){return this.text=e,this}setNotes(e){if(!e.first_note&&!e.last_note)throw new Vex.RuntimeError("BadArguments","Notes needs to have either first_note or last_note set.");if(e.first_indices||(e.first_indices=[0]),e.last_indices||(e.last_indices=[0]),e.first_indices.length!==e.last_indices.length)throw new Vex.RuntimeError("BadArguments","Connected notes must have similar index sizes");return this.first_note=e.first_note,this.first_indices=e.first_indices,this.last_note=e.last_note,this.last_indices=e.last_indices,this}applyLineStyle(){const e=this.checkContext(),t=this.render_options;t.line_dash&&e.setLineDash(t.line_dash),t.line_width&&e.setLineWidth(t.line_width),t.rounded_end?e.setLineCap("round"):e.setLineCap("square")}applyFontStyle(){const e=this.checkContext();this.font&&e.setFont(this.font.family,this.font.size,this.font.weight),this.render_options.color&&(e.setStrokeStyle(this.render_options.color),e.setFillStyle(this.render_options.color))}draw(){const e=this.checkContext();this.setRendered();const t=this.first_note,n=this.last_note,i=this.render_options;let r,o;e.save(),this.applyLineStyle(),this.first_indices.forEach(((s,a)=>{const l=this.last_indices[a];r=t.getModifierStartXY(2,s),o=n.getModifierStartXY(1,l);const c=r.y>o.y;r.x+=t.getMetrics().modRightPx+i.padding_left,o.x-=n.getMetrics().modLeftPx+i.padding_right;const u=t.getGlyph().getWidth();t.getKeyProps()[s].displaced&&1===t.getStemDirection()&&(r.x+=u+i.padding_left);n.getKeyProps()[l].displaced&&-1===n.getStemDirection()&&(o.x-=u+i.padding_right),r.y+=c?-3:1,o.y+=c?2:0,drawArrowLine(e,r,o,this.render_options)})),e.restore();const s=e.measureText(this.text).width,a=i.text_justification;let l,c=0;if(a===StaveLine.TextJustification.LEFT)c=r.x;else if(a===StaveLine.TextJustification.CENTER){c=(o.x-r.x)/2+r.x-s/2}else a===StaveLine.TextJustification.RIGHT&&(c=o.x-s);const u=i.text_position_vertical;return u===StaveLine.TextVerticalPosition.TOP?l=t.getStave().getYForTopText():u===StaveLine.TextVerticalPosition.BOTTOM&&(l=t.getStave().getYForBottomText(Flow.TEXT_HEIGHT_OFFSET_HACK)),e.save(),this.applyFontStyle(),e.fillText(this.text,c,l),e.restore(),this}}function L$6(...e){PedalMarking.DEBUG&&Vex.L("Vex.Flow.PedalMarking",e)}function drawPedalGlyph(e,t,n,i,r){const o=PedalMarking.GLYPHS[e];new Glyph(o.code,r).render(t,n+o.x_shift,i+o.y_shift)}class PedalMarking extends Element$1{static get GLYPHS(){return{pedal_depress:{code:"v36",x_shift:-10,y_shift:0},pedal_release:{code:"v5d",x_shift:-2,y_shift:3}}}static get Styles(){return{TEXT:1,BRACKET:2,MIXED:3,MIXED_OPEN_END:4,BRACKET_OPEN_BEGIN:5,BRACKET_OPEN_END:6,BRACKET_OPEN_BOTH:7}}static get StylesString(){return{text:PedalMarking.Styles.TEXT,bracket:PedalMarking.Styles.BRACKET,mixed:PedalMarking.Styles.MIXED,mixed_open_end:PedalMarking.Styles.MIXED_OPEN_END,bracket_open_begin:PedalMarking.Styles.BRACKET_OPEN_BEGIN,bracket_open_end:PedalMarking.Styles.BRACKET_OPEN_END,bracket_open_both:PedalMarking.Styles.BRACKET_OPEN_BOTH}}static createSustain(e){return new PedalMarking(e)}static createSostenuto(e){const t=new PedalMarking(e);return t.setStyle(PedalMarking.Styles.MIXED),t.setCustomText("Sost. Ped."),t}static createUnaCorda(e){const t=new PedalMarking(e);return t.setStyle(PedalMarking.Styles.TEXT),t.setCustomText("una corda","tre corda"),t}constructor(e){super(),this.setAttribute("type","PedalMarking"),this.EndsStave=!1,this.ChangeBegin=!1,this.ChangeEnd=!1,this.notes=e,this.style=PedalMarking.TEXT,this.line=0,this.custom_depress_text="",this.custom_release_text="",this.font={family:"Times New Roman",size:12,weight:"italic bold"},this.render_options={bracket_height:10,text_margin_right:6,bracket_line_width:1,glyph_point_size:40,color:"black"}}setEndStave(e){if(this.endStave=e,this.endStaveAddedWidth=0,this.startMargin=0,this.endMargin=0,Array.isArray(this.endStave.modifiers))for(let t=0;t<this.endStave.modifiers.length;t++){let e=this.endStave.modifiers[t];e&&e.position===StaveModifier.Position.END&&e.width&&(this.endStaveAddedWidth+=e.width)}}setCustomText(e,t){return this.custom_depress_text=e||"",this.custom_release_text=t||"",this}setStyle(e){if(e<1&&e>3)throw new Vex.RERR("InvalidParameter","The style must be one found in PedalMarking.Styles");return this.style=e,this}setLine(e){return this.line=e,this}drawBracketed(){const e=this.context;let t,n,i=!1;const r=this;this.notes.forEach(((o,s,a)=>{i=!i;let l=0;if(o?(l=o.getNoteHeadBeginX(),this.BeginsStave&&(l=o.getStave().getNoteStartX())):l=this.endStave.end_x+this.endStaveAddedWidth,this.EndsStave)i?this.ChangeBegin&&(l=o.getAbsoluteX()):(l=o?this.ChangeEnd?o.getAbsoluteX():o.getStave().end_x+this.endStaveAddedWidth-r.render_options.text_margin_right:this.endStave.end_x+this.endStaveAddedWidth-r.render_options.text_margin_right,this.endMargin=-r.render_options.text_margin_right);else if(o)if(i)this.ChangeBegin&&(l=o.getAbsoluteX());else switch(r.style){case PedalMarking.Styles.BRACKET_OPEN_END:case PedalMarking.Styles.BRACKET_OPEN_BOTH:case PedalMarking.Styles.MIXED_OPEN_END:l=o.getNoteHeadEndX();break;default:this.ChangeEnd?l=o.getAbsoluteX():(l=o.getNoteHeadBeginX()-r.render_options.text_margin_right,this.startMargin=-r.render_options.text_margin_right)}let c=this.endStave;o&&(c=o.getStave());let u=c.getYForBottomText(r.line+3);n&&n>u&&(u=n);const h=a[s+1]===o,d=a[s-1]===o;let p=0;if(i)if(p=d?5:0,r.style!==PedalMarking.Styles.MIXED&&r.style!==PedalMarking.Styles.MIXED_OPEN_END||d)e.beginPath(),r.style===PedalMarking.Styles.BRACKET_OPEN_BEGIN||r.style===PedalMarking.Styles.BRACKET_OPEN_BOTH?e.moveTo(l+p,u):(this.ChangeBegin&&(l+=5),e.moveTo(l,u-r.render_options.bracket_height),this.ChangeBegin&&(l+=5),e.lineTo(l+p,u)),e.stroke(),e.closePath();else if(r.custom_depress_text){const t=e.measureText(r.custom_depress_text).width;e.fillText(r.custom_depress_text,l-t/2,u),p=t/2+r.render_options.text_margin_right}else drawPedalGlyph("pedal_depress",e,l,u,r.render_options.glyph_point_size),p=20+r.render_options.text_margin_right;else p=h&&!this.EndsStave?-5:0,e.beginPath(),e.moveTo(t,n),e.lineTo(l+p,u),r.style!==PedalMarking.Styles.BRACKET_OPEN_END&&r.style!==PedalMarking.Styles.MIXED_OPEN_END&&r.style!==PedalMarking.Styles.BRACKET_OPEN_BOTH&&(this.ChangeEnd&&(l+=5),e.lineTo(l,u-r.render_options.bracket_height)),e.stroke(),e.closePath();t=l+p,n=u}))}drawText(){const e=this.context;let t=!1;const n=this,i=n.render_options.glyph_point_size;this.notes.forEach((r=>{if(!r)return;t=!t;const o=r.getStave(),s=r.getAbsoluteX(),a=o.getYForBottomText(n.line+3);let l=0;t?n.custom_depress_text?(l=e.measureText(n.custom_depress_text).width,e.fillText(n.custom_depress_text,s-l/2,a)):drawPedalGlyph("pedal_depress",e,s,a,i):n.custom_release_text?(l=e.measureText(n.custom_release_text).width,e.fillText(n.custom_release_text,s-l/2,a)):drawPedalGlyph("pedal_release",e,s,a,i)}))}draw(){const e=this.checkContext();this.setRendered(),e.save(),e.setStrokeStyle(this.render_options.color),e.setFillStyle(this.render_options.color),e.setFont(this.font.family,this.font.size,this.font.weight),L$6("Rendering Pedal Marking"),this.style===PedalMarking.Styles.BRACKET||this.style===PedalMarking.Styles.MIXED||this.style===PedalMarking.Styles.MIXED_OPEN_END||this.style===PedalMarking.Styles.BRACKET_OPEN_BEGIN||this.style===PedalMarking.Styles.BRACKET_OPEN_END||this.style===PedalMarking.Styles.BRACKET_OPEN_BOTH?(e.setLineWidth(this.render_options.bracket_line_width),this.drawBracketed()):this.style===PedalMarking.Styles.TEXT&&this.drawText(),e.restore()}}function L$5(...e){TextBracket.DEBUG&&Vex.L("Vex.Flow.TextBracket",e)}class TextBracket extends Element$1{static get Positions(){return{TOP:1,BOTTOM:-1}}static get PositionString(){return{top:TextBracket.Positions.TOP,bottom:TextBracket.Positions.BOTTOM}}constructor({start:e,stop:t,text:n="",superscript:i="",position:r=TextBracket.Positions.TOP}){super(),this.setAttribute("type","TextBracket"),this.start=e,this.stop=t,this.text=n,this.superscript=i,this.position="string"==typeof r?TextBracket.PositionString[r]:r,this.line=1,this.font={family:"Serif",size:15,weight:"italic"},this.render_options={dashed:!0,dash:[5],color:"black",line_width:1,show_bracket:!0,bracket_height:8,underline_superscript:!0}}applyStyle(e){return e.setFont(this.font.family,this.font.size,this.font.weight),e.setStrokeStyle(this.render_options.color),e.setFillStyle(this.render_options.color),e.setLineWidth(this.render_options.line_width),this}setDashed(e,t){return this.render_options.dashed=e,t&&(this.render_options.dash=t),this}setFont(e){return this.font={...this.font,...e},this}setLine(e){return this.line=e,this}draw(){const e=this.context;this.setRendered();let t=0;switch(this.position){case TextBracket.Positions.TOP:t=this.start.getStave().getYForTopText(this.line);break;case TextBracket.Positions.BOTTOM:t=this.start.getStave().getYForBottomText(this.line+Flow.TEXT_HEIGHT_OFFSET_HACK);break;default:throw new Vex.RERR("InvalidPosition",`The position ${this.position} is invalid`)}const n={x:this.start.getAbsoluteX(),y:t},i={x:this.stop.getAbsoluteX(),y:t};L$5("Rendering TextBracket: start:",n,"stop:",i,"y:",t);const r=this.render_options.bracket_height*this.position;e.save(),this.applyStyle(e),e.fillText(this.text,n.x,n.y);let o=e.measureText(this.text).width;o>0||(o=10*this.text.length);let s=e.measureText("M").width;s>0||(s=20);const a=n.y-s/2.5;e.setFont(this.font.family,this.font.size/1.4,this.font.weight),e.fillText(this.superscript,n.x+o+1,a);let l=e.measureText(this.superscript).width;l>0||(l=12,this.superscript.includes("m")&&(l+=5));let c=e.measureText("M").width;c>0||(c=10);let u=n.x,h=a,d=i.x+this.stop.getGlyph().getWidth();this.position===TextBracket.Positions.TOP?(u+=o+l+5,h-=c/2.7):this.position===TextBracket.Positions.BOTTOM&&(h+=c/2.7,u+=o+2,this.render_options.underline_superscript||(u+=l)),this.render_options.dashed?(d<u+5&&this.position===TextBracket.Positions.TOP?d=u+5:d<u+l&&this.position===TextBracket.Positions.BOTTOM&&(d=u+l),Renderer.drawDashedLine(e,u,h,d,h,this.render_options.dash),this.render_options.show_bracket&&Renderer.drawDashedLine(e,d,h+1*this.position,d,h+r,this.render_options.dash)):(e.beginPath(),e.moveTo(u,h),e.lineTo(d,h),this.render_options.show_bracket&&e.lineTo(d,h+r),e.stroke(),e.closePath()),e.restore()}}function L$4(...e){BarNote.DEBUG&&Vex.L("Vex.Flow.BarNote",e)}class BarNote extends Note{constructor(e=Barline.type.SINGLE){super({duration:"b"}),this.setAttribute("type","BarNote"),this.metrics={widths:{}};const t=Barline.type;this.metrics.widths={[t.SINGLE]:8,[t.DOUBLE]:12,[t.END]:15,[t.REPEAT_BEGIN]:14,[t.REPEAT_END]:14,[t.REPEAT_BOTH]:18,[t.NONE]:0},this.ignore_ticks=!0,this.setType(e)}getType(){return this.type}setType(e){return this.type="string"==typeof e?Barline.typeString[e]:e,this.setWidth(this.metrics.widths[this.type]),this}getBoundingBox(){return super.getBoundingBox()}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");L$4("Rendering bar line at: ",this.getAbsoluteX());const e=new Barline(this.type);e.setX(this.getAbsoluteX()),e.draw(this.stave),this.setRendered()}}class GhostNote extends StemmableNote{constructor(e){if(!e)throw new Vex.RuntimeError("BadArguments","Ghost note must have valid initialization data to identify duration.");let t;if("string"==typeof e)t={duration:e};else{if("object"!=typeof e)throw new Vex.RuntimeError("BadArguments","Ghost note must have valid initialization data to identify duration.");t=e}super(t),this.setAttribute("type","GhostNote"),this.setWidth(0)}isRest(){return!0}setStave(e){super.setStave(e)}addToModifierContext(){return this}preFormat(){return this.setPreFormatted(!0),this}draw(){if(!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");this.setRendered();for(let e=0;e<this.modifiers.length;++e){const t=this.modifiers[e];t.setContext(this.context),t.drawWithStyle()}}}class Tremolo extends Modifier{static get CATEGORY(){return"tremolo"}static get YOFFSETSTEMUP(){return-9}static get YOFFSETSTEMDOWN(){return-21}static get XOFFSETSTEMUP(){return 6}static get XOFFSETSTEMDOWN(){return-2}constructor(e,t){super(),this.setAttribute("type","Tremolo"),this.num=e,this.note=null,this.index=null,this.position=Modifier.Position.CENTER,this.code="v74",this.y_spacing_scale=1,this.extra_stroke_scale=1,this.y_offset_for_beam=5,this.noteTremoloList=[],t&&Array.isArray(t)&&(this.noteTremoloList=t)}getCategory(){return Tremolo.CATEGORY}getShift_x(){let e=0;if(2===this.noteTremoloList.length)try{e=this.noteTremoloList[0].formatterMetrics.freedom.right/1.5,e=isNaN(e)?0:-e}catch(t){}return e}draw(){if(this.checkContext(),!this.note||null==this.index)throw new Vex.RERR("NoAttachedNote","Can't draw Tremolo without a note and index.");this.setRendered();const e=this.note.getStemDirection();this.y_spacing=4*e*this.y_spacing_scale;let t=this.note.getModifierStartXY(this.position,this.index).x,n=this.note.stem.getExtents().topY,i="gracenotes"===this.note.getCategory()?GraceNote.SCALE:1;i*=this.extra_stroke_scale,n+=e<0?Tremolo.YOFFSETSTEMDOWN*i:Tremolo.YOFFSETSTEMUP*i,this.note.beam&&(n+=this.y_offset_for_beam*e),this.font={family:"Arial",size:16*i,weight:""},this.render_options={font_scale:35*i,stroke_px:3,stroke_spacing:10*i},t+=e<0?Tremolo.XOFFSETSTEMDOWN:Tremolo.XOFFSETSTEMUP;t+=this.getShift_x();for(let r=0;r<this.num;++r)Glyph.renderGlyph(this.context,t,n,this.render_options.font_scale,this.code),n+=this.y_spacing}}function L$3(...e){Crescendo.DEBUG&&Vex.L("Vex.Flow.Crescendo",e)}function renderHairpin(e,t){const n=t.begin_x,i=t.end_x,r=t.y,o=t.height/2;e.beginPath(),t.reverse?(e.moveTo(n,r-o),e.lineTo(i,r),e.lineTo(n,r+o)):(e.moveTo(i,r-o),e.lineTo(n,r),e.lineTo(i,r+o)),e.stroke(),e.closePath()}class Crescendo extends Note{constructor(e){super(e),this.setAttribute("type","Crescendo"),this.decrescendo=!1,this.line=e.line||0,this.height=15,Vex.Merge(this.render_options,{extend_left:0,extend_right:0,y_shift:0})}setLine(e){return this.line=e,this}setHeight(e){return this.height=e,this}setDecrescendo(e){return this.decrescendo=e,this}preFormat(){return this.preFormatted=!0,this}draw(){this.checkContext(),this.setRendered();const e=this.getTickContext(),t=TickContext.getNextContext(e),n=this.getAbsoluteX(),i=t?t.getX():this.stave.x+this.stave.width,r=this.stave.getYForLine(this.line+-3)+1;L$3("Drawing ",this.decrescendo?"decrescendo ":"crescendo ",this.height,"x",n-i),renderHairpin(this.context,{begin_x:n-this.render_options.extend_left,end_x:i+this.render_options.extend_right,y:r+this.render_options.y_shift,height:this.height,reverse:this.decrescendo})}}function L$2(...e){Parser.DEBUG&&Vex.L("Vex.Flow.Parser",e)}const X$2=Vex.MakeException("ParserError");function flattenMatches(e){return void 0!==e.matchedString?e.matchedString:e.results?flattenMatches(e.results):1===e.length?flattenMatches(e[0]):0===e.length?null:e.map(flattenMatches)}class Parser{constructor(e){this.grammar=e}parse(e){this.line=e,this.pos=0,this.errorPos=-1;const t=this.expect(this.grammar.begin());return t.errorPos=this.errorPos,t}matchFail(e){-1===this.errorPos&&(this.errorPos=this.pos),this.pos=e}matchSuccess(){this.errorPos=-1}matchToken(e,t=!1){const n=t?new RegExp("^(("+e+"))"):new RegExp("^(("+e+")\\s*)"),i=this.line.slice(this.pos).match(n);return null!==i?{success:!0,matchedString:i[2],incrementPos:i[1].length,pos:this.pos}:{success:!1,pos:this.pos}}expectOne(e,t=!1){const n=[],i=this.pos;let r=!0,o=!1;t=!0===t||!0===e.maybe;for(let l=0;l<e.expect.length;l++){const t=e.expect[l],i=this.pos,s=this.expect(t);if(s.success){if(n.push(s),o=!0,e.or)break}else if(r=!1,!e.or){this.pos=i;break}}const s=e.or&&o||r,a=s||!0===t;return t&&!s&&(this.pos=i),a?this.matchSuccess():this.matchFail(i),{success:a,results:n,numMatches:s?1:0}}expectOneOrMore(e,t=!1){const n=[],i=this.pos;let r=0,o=!0;do{const t=this.expectOne(e);t.success?(r++,n.push(t.results)):o=!1}while(o);const s=r>0||!0===t;return!t||r>0||(this.pos=i),s?this.matchSuccess():this.matchFail(i),{success:s,results:n,numMatches:r}}expectZeroOrMore(e){return this.expectOneOrMore(e,!0)}expect(e){let t;if(L$2("Evaluating rules:",e),!e)throw new X$2("Invalid Rule: "+e,e);const n=e.bind(this.grammar)();if(n.token)t=this.matchToken(n.token,!0===n.noSpace),t.success&&(this.pos+=t.incrementPos);else{if(!n.expect)throw new X$2("Bad grammar! No `token` or `expect` property",n);t=n.oneOrMore?this.expectOneOrMore(n):n.zeroOrMore?this.expectZeroOrMore(n):this.expectOne(n)}return t.matches=[],t.results&&t.results.forEach((e=>t.matches.push(flattenMatches(e)))),n.run&&t.success&&n.run(t),t}}function L$1(...e){EasyScore.DEBUG&&Vex.L("Vex.Flow.EasyScore",e)}const X$1=Vex.MakeException("EasyScoreError");class Grammar{constructor(e){this.builder=e}begin(){return this.LINE}LINE(){return{expect:[this.PIECE,this.PIECES,this.EOL]}}PIECE(){return{expect:[this.CHORDORNOTE,this.PARAMS],run:()=>this.builder.commitPiece()}}PIECES(){return{expect:[this.COMMA,this.PIECE],zeroOrMore:!0}}PARAMS(){return{expect:[this.DURATION,this.TYPE,this.DOTS,this.OPTS]}}CHORDORNOTE(){return{expect:[this.CHORD,this.SINGLENOTE],or:!0}}CHORD(){return{expect:[this.LPAREN,this.NOTES,this.RPAREN],run:e=>this.builder.addChord(e.matches[1])}}NOTES(){return{expect:[this.NOTE],oneOrMore:!0}}NOTE(){return{expect:[this.NOTENAME,this.ACCIDENTAL,this.OCTAVE]}}SINGLENOTE(){return{expect:[this.NOTENAME,this.ACCIDENTAL,this.OCTAVE],run:e=>this.builder.addSingleNote(e.matches[0],e.matches[1],e.matches[2])}}ACCIDENTAL(){return{expect:[this.ACCIDENTALS],maybe:!0}}DOTS(){return{expect:[this.DOT],zeroOrMore:!0,run:e=>this.builder.setNoteDots(e.matches[0])}}TYPE(){return{expect:[this.SLASH,this.MAYBESLASH,this.TYPES],maybe:!0,run:e=>this.builder.setNoteType(e.matches[2])}}DURATION(){return{expect:[this.SLASH,this.DURATIONS],maybe:!0,run:e=>this.builder.setNoteDuration(e.matches[1])}}OPTS(){return{expect:[this.LBRACKET,this.KEYVAL,this.KEYVALS,this.RBRACKET],maybe:!0}}KEYVALS(){return{expect:[this.COMMA,this.KEYVAL],zeroOrMore:!0}}KEYVAL(){return{expect:[this.KEY,this.EQUALS,this.VAL],run:e=>this.builder.addNoteOption(e.matches[0],e.matches[2].slice(1,-1))}}VAL(){return{expect:[this.SVAL,this.DVAL],or:!0}}KEY(){return{token:"[a-zA-Z][a-zA-Z0-9]*"}}DVAL(){return{token:'["][^"]*["]'}}SVAL(){return{token:"['][^']*[']"}}NOTENAME(){return{token:"[a-gA-G]"}}OCTAVE(){return{token:"[0-9]+"}}ACCIDENTALS(){return{token:"bbs|bb|bss|bs|b|db|d|##|#|n|\\+\\+-|\\+-|\\+\\+|\\+|k|o"}}DURATIONS(){return{token:"[0-9whq]+"}}TYPES(){return{token:"[rRsSxX]"}}LPAREN(){return{token:"[(]"}}RPAREN(){return{token:"[)]"}}COMMA(){return{token:"[,]"}}DOT(){return{token:"[.]"}}SLASH(){return{token:"[/]"}}MAYBESLASH(){return{token:"[/]?"}}EQUALS(){return{token:"[=]"}}LBRACKET(){return{token:"\\["}}RBRACKET(){return{token:"\\]"}}EOL(){return{token:"$"}}}class Builder{constructor(e){this.factory=e,this.commitHooks=[],this.reset()}reset(e={}){this.options={stem:"auto",clef:"treble"},this.elements={notes:[],accidentals:[]},this.rollingDuration="8",this.resetPiece(),Object.assign(this.options,e)}getFactory(){return this.factory}getElements(){return this.elements}addCommitHook(e){this.commitHooks.push(e)}resetPiece(){L$1("resetPiece"),this.piece={chord:[],duration:this.rollingDuration,dots:0,type:void 0,options:{}}}setNoteDots(e){L$1("setNoteDots:",e),e&&(this.piece.dots=e.length)}setNoteDuration(e){L$1("setNoteDuration:",e),this.rollingDuration=this.piece.duration=e||this.rollingDuration}setNoteType(e){L$1("setNoteType:",e),e&&(this.piece.type=e)}addNoteOption(e,t){L$1("addNoteOption: key:",e,"value:",t),this.piece.options[e]=t}addNote(e,t,n){L$1("addNote:",e,t,n),this.piece.chord.push({key:e,accid:t,octave:n})}addSingleNote(e,t,n){L$1("addSingleNote:",e,t,n),this.addNote(e,t,n)}addChord(e){L$1("startChord"),"object"!=typeof e[0]?this.addSingleNote(e[0]):e.forEach((e=>{e&&this.addNote(...e)})),L$1("endChord")}commitPiece(){L$1("commitPiece");const{factory:e}=this;if(!e)return;const t={...this.options,...this.piece.options},{stem:n,clef:i}=t,r="auto"===n.toLowerCase(),o=r||"up"!==n.toLowerCase()?StaveNote.STEM_DOWN:StaveNote.STEM_UP,{chord:s,duration:a,dots:l,type:c}=this.piece,u=s.map((e=>e.key+"/"+e.octave)),h=e.StaveNote({keys:u,duration:a,dots:l,type:c,clef:i,auto_stem:r});r||h.setStemDirection(o);const d=s.map((e=>e.accid||null));d.forEach(((t,n)=>{t&&h.addAccidental(n,e.Accidental({type:t}))}));for(let p=0;p<l;p++)h.addDotToAll();this.commitHooks.forEach((e=>e(t,h,this))),this.elements.notes.push(h),this.elements.accidentals.concat(d),this.resetPiece()}}function setId({id:e},t){void 0!==e&&t.setAttribute("id",e)}function setClass(e,t){if(!e.class)return;e.class.split(/\s*,\s*/).forEach((e=>t.addClass(e)))}class EasyScore{constructor(e={}){this.setOptions(e),this.defaults={clef:"treble",time:"4/4",stem:"auto"}}set(e){return Object.assign(this.defaults,e),this}setOptions(e){return this.options={factory:null,builder:null,commitHooks:[setId,setClass,Articulation$1.easyScoreHook],throwOnError:!1,...e},this.factory=this.options.factory,this.builder=this.options.builder||new Builder(this.factory),this.grammar=new Grammar(this.builder),this.parser=new Parser(this.grammar),this.options.commitHooks.forEach((e=>this.addCommitHook(e))),this}setContext(e){return this.factory&&this.factory.setContext(e),this}parse(e,t={}){this.builder.reset(t);const n=this.parser.parse(e);if(!n.success&&this.options.throwOnError)throw new X$1("Error parsing line: "+e,n);return n}beam(e,t={}){return this.factory.Beam({notes:e,options:t}),e}tuplet(e,t={}){return this.factory.Tuplet({notes:e,options:t}),e}notes(e,t={}){return t={clef:this.defaults.clef,stem:this.defaults.stem,...t},this.parse(e,t),this.builder.getElements().notes}voice(e,t){return t={time:this.defaults.time,...t},this.factory.Voice(t).addTickables(e)}addCommitHook(e){return this.builder.addCommitHook(e)}}function initGroup(){return{notes:[],finish:!1,total:0,staveId:""}}let _text_width=null,tone="C",group=initGroup(),_denominator="",_numerator="",ornamentGroup="";class NumberedNote extends StaveNote{static get CATEGORY(){return"numberednotes"}static accidentalAndKey(e){switch(e){case"G":return{4:"#"};case"D":return{1:"#",4:"#"};case"A":return{1:"#",4:"#",5:"#"};case"E":return{1:"#",2:"#",4:"#",5:"#"};case"B":return{1:"#",2:"#",4:"#",5:"#",6:"#"};case"F#":return{1:"#",2:"#",3:"#",4:"#",5:"#",6:"#"};case"C#":return{1:"#",2:"#",3:"#",4:"#",5:"#",6:"#",7:"#"};case"F":return{7:"b"};case"Bb":return{7:"b",3:"b"};case"Eb":return{7:"b",3:"b",6:"b"};case"Ab":return{7:"b",2:"b",3:"b",6:"b"};case"Db":return{7:"b",2:"b",3:"b",5:"b",6:"b"};case"Gb":return{7:"b",1:"b",2:"b",3:"b",5:"b",6:"b"};case"Cb":return{7:"b",1:"b",2:"b",3:"b",4:"b",5:"b",6:"b"};default:return{}}}static accidentalMap(e){switch(e){case"C":return"";case"F":case"Bb":case"Eb":case"Ab":case"Db":case"Gb":case"Cb":return{bb:"b",b:"",n:"#","#":"##"};default:return{b:"bb",n:"b","#":"","##":"#"}}}static get noteLift(){switch(tone){case"G":return["7"];case"D":return["7","3"];case"A":return["7","3","6"];case"E":return["2","6","3","7"];case"B":return["5","2","6","3","7"];case"F#":return["1","5","2","6","3","7"];case"C#":return["4","1","5","2","6","3","7"];case"F":return["4"];case"Bb":return["1","4"];case"Eb":return["5","1","4"];case"Ab":return["2","5","1","4"];case"Db":return["6","2","5","1","4"];case"Gb":return["3","6","2","5","1","4"];case"Cb":return["7","3","6","2","5","1","4"]}}static get longDurationLine(){return{1:3,2:1,6:2}}static get numberedDurationLine(){return{8:1,16:2,32:3,64:4,128:5}}static get durationTime(){return{8:6144,4:4096}}constructor(e){super(e),this.setAttribute("type","NumberedNote"),tone=e.keyString,this.ornament=!!e.ornament,this.line=0,this.keys=e.keys||[],this.fontSize=20,this.offset_x=0,this.offset_y=0,this.note_tones=[],this.duration_lines=0,this.long_duration_lines=0,this.note_size=e.note_size||16;const t=Flow.sanitizeDuration(this.duration);var n=NumberedNote.numberedDurationLine[t.toString()];if(n&&(this.duration_lines=n),(n=NumberedNote.longDurationLine[t.toString()])&&(this.long_duration_lines=n),!_text_width){var i="__$text_wraper$$__";let e=document.createElement("canvas");e.id=i,document.body.append(e);const t=document.getElementById(i),n=t.getContext("2d");n.font="Arial 22px";var r=n.measureText("5");_text_width=r.width+2,document.body.removeChild(t)}}getCategory(){return NumberedNote.CATEGORY}setKeySignature(e){this.keySignature=e}preFormat(){this.preFormatted||(this.modifierContext&&this.modifierContext.preFormat(),this.setWidth(this.full_width),this.setPreFormatted(!0))}filterNote(){if(window&&window.sett&&window.sett.keySignature)return;if(!this.keys||!this.keys.length)return;const e=NumberedNote.accidentalMap(tone);if(!e)return;const t=NumberedNote.noteLift;if(!t)return;var n=this.keys[0].split("/")[0];"b"===n&&(n="R"),(n=(n=n.replace(new RegExp("#","g"),"")).replace(new RegExp("n","g"),"")).length>1&&(n=n.replace(new RegExp("b","g"),""));const i=NumberedNoteHead.numberedNotationMapping[n.toUpperCase()];if(t.includes(i))for(let r=0;r<this.modifiers.length;r++){const t=this.modifiers[r];if("Accidental"===t.getAttribute("type")&&t.accidental){const n=e[t.type];n?t.accidental=Flow.accidentalCodes(n):this.modifiers.splice(r,1)}}}preFormatModifier(){let e=0,t=0;this.filterNote(),this.modifiers.forEach(((n,i)=>{switch(n.getAttribute("type")){case"Accidental":n.render_options.font_scale=1.4*this.note_width,n.x_shift=2,n.y_shift=this.unit_height/2,this.ornament&&(n.render_options.font_scale=this.note_width,n.x_shift=14,n.y_shift=-10);break;case"Stroke":n.x_shift=-1*e,n.y_shift=1*this.unit_height;break;case"Dot":n.x_shift=t*this.duration_dot_width+7,n.y_shift=1*this.unit_height,t++;break;case"Ornament":n.y_shift=-3;break;default:n.y_shift=1*this.unit_height}n.reset&&n.reset(),e+=n.getWidth()/2}))}handleDeleteDot(){for(let e=0;e<this.modifiers.length;e++)"Dot"==this.modifiers[e].attrs.type&&this.modifiers.splice(e,1)}calcGroup(){var e;if(group.staveId!=this.stave.attrs.id&&(this.drawDurationLoneLine(),group=initGroup()),this.stave&&this.stave.timeSignature&&null!==(e=this.stave.timeSignature)&&void 0!==e&&e.denominator&&(_denominator=this.stave.timeSignature.denominator,_numerator=this.stave.timeSignature.numerator),!_denominator||!_numerator)return;let t=NumberedNote.durationTime[_denominator],n=this.formatterMetrics.duration.split("/").filter((e=>e)),i=n.length?n[0]/n[1]:0;if(this.ornament)return;if(0===i){if(this.long_duration_lines=this.intrinsicTicks/t-1,this.long_duration_lines>=_numerator&&(this.long_duration_lines=_numerator-1),8==_denominator&&(this.long_duration_lines=0,3==_numerator&&this.draw_dot(this.context,this.bottom_x+25,this.bottom_y-30,this.dot_width),6==_numerator)){this.draw_dot(this.context,this.bottom_x+25,this.bottom_y-30,this.dot_width),new Glyph("v0",40).render(this.context,this.bottom_x+40,this.top_y),this.draw_dot(this.context,this.bottom_x+65,this.bottom_y-30,this.dot_width)}return group=initGroup()}let r={lines:this.duration_lines,duration:i,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,y:this.y,width:this.full_width};i>2*t&&(this.long_duration_lines=parseInt(i/t)-1,this.handleDeleteDot()),ornamentGroup&&(r.x+=this.note_width),group.notes.push(r);let o=group.notes.reduce(((e,t)=>e+t.duration),0);if(o=parseInt(o),o>t&&(o-=t),o>t-10&&o<t+10){group.finish=!0,1===group.notes.length&&(group=initGroup());let e=group.notes.filter((e=>0===e.lines));e.length&&(this.drawDurationLoneLine(),group=initGroup())}}draw(){if(this.checkContext(),!this.stave)throw new Vex.RERR("NoStave","Can't draw without a stave.");let e=this.context;e.save(),e.setFont("Arial",this.note_height,"normal"),this.setAttribute("el",e.openGroup("stavenote",this.getAttribute("id"))),e.openGroup("note",null,{pointerBBox:!0});let t=this.getAbsoluteX()+2.5;this.x=t;let n=this.stave.getYForLine(2)+this.note_height/2;this.y=n,this.buildToneHeads(),this.preFormatModifier(),this.applyStyle(),this.note_tones.forEach((t=>{t.draw(e)})),e.openGroup("modifier",null,{pointerBBox:!0}),this.drawModifiers(),e.closeGroup(),e.closeGroup(),e.closeGroup(),this.calcGroup(),group.staveId=this.stave.attrs.id,this.drawDurationLine(e,{}),this.drawLongDurationLines(e),this.restoreStyle(),this.setRendered(),ornamentGroup=this.ornament?ornamentGroup?Object.assign(ornamentGroup,{lines:this.duration_lines,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,width:this.full_width}):{lines:this.duration_lines,id:this.attrs.id,x:this.x-this.duration_line_space/2-this.left_width,width:this.full_width}:""}drawDurationLoneLine(e,t){e=e||this.context;let n=t||this.y+this.duration_line_space;for(let i=0;i<5;i++){let t=[],r=0;for(let o=0;o<group.notes.length;o++){let s=group.notes[o];if(r==o&&s.lines>i)t.push(s),r++;else{if(t.length>1){let r=t.length-1;n=t[0].y+this.duration_line_space,e.rect(t[0].x,n+3*i,t[r].x-t[0].x+t[r].width,.5)}t=[],r=o+1}}if(t.length>1){let r=t.length-1;n=t[0].y+this.duration_line_space,e.rect(t[0].x,n+3*i,t[r].x-t[0].x+t[r].width,.5)}}}draw_dot(e,t,n,i){e.openGroup("numbered-note-dot"),e.beginPath(),e.arc(t,n,i,0,2*Math.PI),e.closePath(),e.fill(),e.closeGroup()}drawDurationLine(e,t){var n,i,r=this.attrs.id+"-lines";if(e.openGroup("numbered_note_lines",r),this.duration_lines>0){const r=this.duration_line_space;var o=this.full_width;if(t&&t.width&&(o=t.width),o<0&&(o=this.note_width),n=t&&void 0!==t.startX?t.startX:this.x-r/2-this.left_width,i=t&&void 0!==t.startY?t.startY:this.y+this.duration_line_space,group.finish&&(this.drawDurationLoneLine(e,i),group=initGroup()),this.ornament?(n+=12,i-=22,o=15,ornamentGroup&&(n-=10,o+=10)):ornamentGroup&&(n+=this.note_width,o-=this.note_width),o>0){for(var s=0;s<this.duration_lines;s++)e.rect(n,i,o,.5),i+=3;this.ornament&&(ornamentGroup?(ornamentGroup.startX=n,ornamentGroup.startY=i):ornamentGroup={startX:n,startY:i})}}!this.ornament&&ornamentGroup&&(n=ornamentGroup.startX,i=ornamentGroup.startY,n+=5,i-=3,e.beginPath(),e.moveTo(n,i),e.lineTo(n,i+5),e.lineTo(n+5,i+5),e.stroke()),e.closeGroup()}removeDurationLines(){var e="vf-"+this.attrs.id+"-lines",t=document.getElementById(e);t&&t.remove()}drawLongDurationLines(e){let t=this.x+this.note_width+this.right_width+10;for(let n=1;n<=this.long_duration_lines;n++)e.fillRect(t+2,this.y-this.full_height/2,this.long_duration_width,2),t+=this.long_duration_space+this.long_duration_width}setStave(e){return super.setStave(e),this}buildToneHeads(){this.offset_x=this.x,this.offset_y=this.y;let e=[];this.note_tones=[];for(let n=0;n<this.keys.length;n++){const i=new NumberedNoteHead({key:this.keys[n],x:this.ornament?this.note_x+12:this.note_x,y:this.ornament?this.offset_y-this.note_height:this.offset_y,idx:n,note:this});this.offset_y-=i.height+this.head_space,this.note_tones.push(i),e.push(this.offset_y);try{if(0===n&&window&&window.sett&&window.sett.keySignature){const e=NumberedNote.accidentalAndKey(tone)[i.meta.key],t=this.modifiers.findIndex((e=>"Dot"===e.getAttribute("type"))),n=this.modifiers.findIndex((e=>"Accidental"===e.getAttribute("type"))),r=this.modifiers.findIndex((e=>"GraceNoteGroup"===e.getAttribute("type")));e&&n>-1?this.modifiers[n].accidental.code="#"===e?"v18":"v44":t>=0||r>=0?t>=0&&this.modifiers.splice(t+1,1):this.modifiers.splice(n,1)}}catch(t){console.log("🚀 ~ error",t)}}this.setYs(e)}getFullWidth(){return this.full_width}getFullHeight(){return this.full_height}getLine(){return this.keyProps[0].line}get full_width(){return this.note_width+this.left_width+this.right_width+this.long_duration_line_width}get long_duration_line_width(){return(this.long_duration_width+this.long_duration_space)*this.long_duration_lines}get full_height(){return this.bottom_y-this.top_y}get note_width(){return this.note_size||0}get note_dot_width(){return 6}get note_height(){return this.unit_height}get unit_height(){return this.note_size||0}get note_x(){return this.x||0}get top_x(){return this.x||0}get top_y(){var e=this;return(this.y||0)-(e.note_tones.map((t=>(t.td+t.bd)*(e.dot_space+e.dot_width))).reduce(((e,t)=>e+t),0)+this.note_height*this.note_tones.length-this.unit_height-this.note_tones[0].bd*(e.dot_space+e.dot_width)+(this.note_tones.length-1)*this.head_space)}get bottom_x(){return this.x||0}get bottom_y(){return(this.y||0)+this.unit_height+this.duration_lines*(this.duration_line_height+this.duration_line_space)+this.note_tones[0].meta.bd*(this.dot_width+this.dot_space)}get left_width(){return this.modifiers_width}get right_width(){return this.full_duration_dot_width}get duration_dot_width(){return 6}get full_duration_dot_width(){return this.duration_dot_width*this.getModifiersByCategory(Dot.CATEGORY).length}getModifiersByCategory(e){var t=[];return this.modifiers.forEach((n=>{n.getCategory()===e&&t.push(n)})),t}get head_space(){return 6}get duration_line_height(){return 2}get duration_line_space(){return 4}get dot_width(){return 2}get dot_space(){return 2}get long_duration_space(){return 10}get long_duration_width(){return 20}getWidth(){return this.full_width}get modifiers_width(){let e=0;return this.modifiers.forEach((t=>{e+=t.getWidth()})),e}}class NumberedNoteHead{static get numberedNotationMapping(){let e=tone;switch(window&&window.sett&&window.sett.keySignature&&(e="C"),e){case"A":return{C:"3",D:"4",E:"5",F:"6",G:"7",A:"1",B:"2",R:"0",min:2.5,max:5.5};case"B":case"Bb":case"A#":return{C:"2",D:"3",E:"4",F:"5",G:"6",A:"7",B:"1",R:"0",min:-.5,max:2.5};case"D":case"D#":case"Db":return{C:"7",D:"1",E:"2",F:"3",G:"4",A:"5",B:"6",R:"0",min:.5,max:3.5};case"E":case"Eb":return{C:"6",D:"7",E:"1",F:"2",G:"3",A:"4",B:"5",R:"0",min:1,max:4};case"F":case"F#":return{C:"5",D:"6",E:"7",F:"1",G:"2",A:"3",B:"4",R:"0",min:1.5,max:4.5};case"G":case"Gb":return{C:"4",D:"5",E:"6",F:"7",G:"1",A:"2",B:"3",R:"0",min:2,max:5};case"Ab":case"G#":return{C:"3",D:"4",E:"5",F:"6",G:"7",A:"1",B:"2",R:"0",min:-1,max:2};default:return{C:"1",D:"2",E:"3",F:"4",G:"5",A:"6",B:"7",R:"0",min:0,max:3}}}tone_to_numbered_key(){var e=this.key.split("/")[0];"b"===e&&(e="R"),(e=(e=e.replace(new RegExp("#","g"),"")).replace(new RegExp("n","g"),"")).length>1&&(e=e.replace(new RegExp("b","g"),""));let t=0,n=0;this.note.stave&&this.note.stave.options&&this.note.stave.options.keySignature&&(tone=this.note.stave.options.keySignature);const i=this.note.getLine();return i<NumberedNoteHead.numberedNotationMapping.min&&(t=Math.ceil(Math.abs((i-NumberedNoteHead.numberedNotationMapping.min)/3.5))),i>NumberedNoteHead.numberedNotationMapping.max&&(n=Math.ceil((i-NumberedNoteHead.numberedNotationMapping.max)/3.5)),"R"===e.toUpperCase()&&(t=0,n=0),{key:NumberedNoteHead.numberedNotationMapping[e.toUpperCase()],td:n,bd:t}}constructor(e){this.key=e.key,this.x=e.x||0,this.y=e.y||0,this.idx=e.idx||0,this.note=e.note||0,this.meta=this.tone_to_numbered_key(),this.noteSize=e.noteSize||16,this.td=this.meta.td,this.bd=this.meta.bd}draw(e){let t=this.y;e.openGroup("numbered-note-head");var n=this.x+(this.note.ornament?-2:0);let i=t-this.note.unit_height-this.note.dot_space-(this.note.ornament?-4:2);for(let r=0;r<this.meta.td;r++)this.draw_dot(e,n+_text_width-1,i,this.note.dot_width),i-=this.note.dot_width+this.note.dot_space+4;new Glyph("v"+this.meta.key,this.note.ornament?30:40).render(e,n+1,t),t+=this.note.dot_space+this.note.dot_width-(this.note.ornament?2:0);for(let r=0;r<this.meta.bd;r++){if(0===this.idx){let e=this.note.duration_lines*(this.note.duration_line_height+this.note.duration_line_space);this.note.duration_lines>1&&(e-=this.note.duration_line_space),t+=e}this.draw_dot(e,n+_text_width,t,this.note.dot_width),t+=this.note.dot_width+this.note.dot_space}e.closeGroup()}get height(){return this.note.note_height+(this.meta.bd+this.meta.td)*(this.note.dot_width+this.note.dot_space)}draw_dot(e,t,n,i){e.openGroup("numbered-note-dot"),e.beginPath(),e.arc(t,n,i,0,2*Math.PI),e.closePath(),e.fill(),e.closeGroup()}}function L(...e){Factory.DEBUG&&Vex.L("Vex.Flow.Factory",e)}const X=Vex.MakeException("FactoryError");function setDefaults$1(e={},t){const n=t.options;return(e=Object.assign(t,e)).options=Object.assign(n,e.options),e}class Factory{constructor(e){L("New factory: ",e);const t={stave:{space:10},renderer:{context:null,elementId:"",backend:Renderer.Backends.SVG,width:500,height:200,background:"#FFF"},font:{face:"Arial",point:10,style:""}};this.options=t,this.setOptions(e)}static newFromElementId(e,t=500,n=200){return new Factory({renderer:{elementId:e,width:t,height:n}})}reset(){this.renderQ=[],this.systems=[],this.staves=[],this.voices=[],this.stave=null}getOptions(){return this.options}setOptions(e){for(const t of["stave","renderer","font"])Object.assign(this.options[t],e[t]);(null!==this.options.renderer.elementId||this.options.renderer.context)&&this.initRenderer(),this.reset()}initRenderer(){const{elementId:e,backend:t,width:n,height:i,background:r}=this.options.renderer;if(""===e)throw new X("HTML DOM element not set in Factory");this.context=Renderer.buildContext(e,t,n,i,r)}getContext(){return this.context}setContext(e){return this.context=e,this}getStave(){return this.stave}getVoices(){return this.voices}space(e){return this.options.stave.space*e}Stave(e){e=setDefaults$1(e,{x:0,y:0,width:this.options.renderer.width-this.space(1),options:{spacing_between_lines_px:this.options.stave.space}});const t=new Stave(e.x,e.y,e.width,e.options);return this.staves.push(t),t.setContext(this.context),this.stave=t,t}TabStave(e){e=setDefaults$1(e,{x:0,y:0,width:this.options.renderer.width-this.space(1),options:{spacing_between_lines_px:1.3*this.options.stave.space}});const t=new TabStave(e.x,e.y,e.width,e.options);return this.staves.push(t),t.setContext(this.context),this.stave=t,t}StaveNote(e){const t=new StaveNote(e);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}GhostNote(e){const t=new GhostNote(e);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}TextNote(e){const t=new TextNote(e);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}NumberedNote(e){const t=new NumberedNote(e);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}BarNote(e){e=setDefaults$1(e,{type:"single",options:{}});const t=new BarNote(e.type);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}ClefNote(e){e=setDefaults$1(e,{type:"treble",options:{size:"default"}});const t=new ClefNote(e.type,e.options.size,e.options.annotation);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}TimeSigNote(e){e=setDefaults$1(e,{time:"4/4",options:{}});const t=new TimeSigNote(e.time);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}KeySigNote(e){const t=new KeySigNote(e.key,e.cancelKey,e.alterKey);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}TabNote(e){const t=new TabNote$1(e);return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}GraceNote(e){const t=new GraceNote(e);return this.stave&&t.setStave(this.stave),t.setContext(this.context),t}GraceNoteGroup(e){const t=new GraceNoteGroup(e.notes,e.slur);return t.setContext(this.context),t}Accidental(e){e=setDefaults$1(e,{type:null,options:{}});const t=new Accidental(e.type);return t.setContext(this.context),t}Annotation(e){e=setDefaults$1(e,{text:"p",vJustify:"below",hJustify:"center",fontFamily:"Times",fontSize:14,fontWeight:"bold italic",options:{}});const t=new Annotation(e.text);return t.setJustification(e.hJustify),t.setVerticalJustification(e.vJustify),t.setFont(e.fontFamily,e.fontSize,e.fontWeight),t.setContext(this.context),t}Articulation(e){e=setDefaults$1(e,{type:"a.",position:"above",options:{}});const t=new Articulation$1(e.type);return t.setPosition(e.position),t.setContext(this.context),t}TextDynamics(e){e=setDefaults$1(e,{text:"p",duration:"q",dots:0,line:0,options:{}});const t=new TextDynamics({text:e.text,line:e.line,duration:e.duration,dots:e.dots});return this.stave&&t.setStave(this.stave),t.setContext(this.context),this.renderQ.push(t),t}Fingering(e){e=setDefaults$1(e,{number:"0",position:"left",options:{}});const t=new FretHandFinger(e.number);return t.setPosition(e.position),t.setContext(this.context),t}StringNumber(e){e=setDefaults$1(e,{number:"0",position:"left",options:{}});const t=new StringNumber(e.number);return t.setPosition(e.position),t.setContext(this.context),t}TickContext(){return(new TickContext).setContext(this.context)}ModifierContext(){return new ModifierContext}MultiMeasureRest(e){const t=new MultiMeasureRest(e.number_of_measures,e);return t.setContext(this.context),this.renderQ.push(t),t}Voice(e){e=setDefaults$1(e,{time:"4/4",options:{}});const t=new Voice$1(e.time);return this.voices.push(t),t}StaveConnector(e){e=setDefaults$1(e,{top_stave:null,bottom_stave:null,type:"double",options:{}});const t=new StaveConnector(e.top_stave,e.bottom_stave);return t.setType(e.type).setContext(this.context),this.renderQ.push(t),t}Formatter(){return new Formatter}Tuplet(e){e=setDefaults$1(e,{notes:[],options:{}});const t=new Tuplet$1(e.notes,e.options).setContext(this.context);return this.renderQ.push(t),t}Beam(e){e=setDefaults$1(e,{notes:[],options:{autoStem:!1,secondaryBeamBreaks:[]}});const t=new Beam$1(e.notes,e.options.autoStem).setContext(this.context);return t.breakSecondaryAt(e.options.secondaryBeamBreaks),this.renderQ.push(t),t}Curve(e){e=setDefaults$1(e,{from:null,to:null,options:{}});const t=new Curve(e.from,e.to,e.options).setContext(this.context);return this.renderQ.push(t),t}StaveTie(e){e=setDefaults$1(e,{from:null,to:null,first_indices:[0],last_indices:[0],text:null,options:{direction:void 0}});const t=new StaveTie({first_note:e.from,last_note:e.to,first_indices:e.first_indices,last_indices:e.last_indices},e.text);return e.options.direction&&t.setDirection(e.options.direction),t.setContext(this.context),this.renderQ.push(t),t}StaveLine(e){e=setDefaults$1(e,{from:null,to:null,first_indices:[0],last_indices:[0],options:{}});const t=new StaveLine({first_note:e.from,last_note:e.to,first_indices:e.first_indices,last_indices:e.last_indices});return e.options.text&&t.setText(e.options.text),e.options.font&&t.setFont(e.options.font),t.setContext(this.context),this.renderQ.push(t),t}VibratoBracket(e){e=setDefaults$1(e,{from:null,to:null,options:{harsh:!1}});const t=new VibratoBracket({start:e.from,stop:e.to});return e.options.line&&t.setLine(e.options.line),e.options.harsh&&t.setHarsh(e.options.harsh),t.setContext(this.context),this.renderQ.push(t),t}TextBracket(e){e=setDefaults$1(e,{from:null,to:null,text:"",options:{superscript:"",position:1}});const t=new TextBracket({start:e.from,stop:e.to,text:e.text,superscript:e.options.superscript,position:e.options.position});return e.options.line&&t.setLine(e.options.line),e.options.font&&t.setFont(e.options.font),t.setContext(this.context),this.renderQ.push(t),t}System(e={}){e.factory=this;const t=new System(e).setContext(this.context);return this.systems.push(t),t}EasyScore(e={}){return e.factory=this,new EasyScore(e)}PedalMarking(e={}){e=setDefaults$1(e,{notes:[],options:{style:"mixed"}});const t=new PedalMarking(e.notes);return t.setStyle(PedalMarking.StylesString[e.options.style]),t.setContext(this.context),this.renderQ.push(t),t}NoteSubGroup(e={}){e=setDefaults$1(e,{notes:[],options:{}});const t=new NoteSubGroup$1(e.notes);return t.setContext(this.context),t}draw(){this.systems.forEach((e=>e.setContext(this.context).format())),this.staves.forEach((e=>e.setContext(this.context).draw())),this.voices.forEach((e=>e.setContext(this.context).draw())),this.renderQ.forEach((e=>{e.isRendered()||e.setContext(this.context).draw()})),this.systems.forEach((e=>e.setContext(this.context).draw())),this.reset()}}function setDefaults(e,t){const n=t.options;return(e=Object.assign(t,e)).options=Object.assign(n,e.options),e}class System extends Element$1{constructor(e={}){super(),this.setAttribute("type","System"),this.setOptions(e),this.parts=[]}setOptions(e={}){this.options=setDefaults(e,{x:10,y:10,width:500,connector:null,spaceBetweenStaves:12,factory:null,debugFormatter:!1,formatIterations:0,options:{}}),this.factory=this.options.factory||new Factory({renderer:{el:null}})}setContext(e){return super.setContext(e),this.factory.setContext(e),this}addConnector(e="double"){return this.connector=this.factory.StaveConnector({top_stave:this.parts[0].stave,bottom_stave:this.parts[this.parts.length-1].stave,type:e}),this.connector}addStave(e){return(e=setDefaults(e,{stave:null,voices:[],spaceAbove:0,spaceBelow:0,debugNoteMetrics:!1,options:{left_bar:!1}})).stave||(e.stave=this.factory.Stave({x:this.options.x,y:this.options.y,width:this.options.width,options:e.options})),e.voices.forEach((t=>t.setContext(this.context).setStave(e.stave).getTickables().forEach((t=>t.setStave(e.stave))))),this.parts.push(e),e.stave}format(){const e=new Formatter;this.formatter=e;let t=this.options.y,n=0,i=[];const r=[];this.parts.forEach((o=>{t+=o.stave.space(o.spaceAbove),o.stave.setY(t),e.joinVoices(o.voices),t+=o.stave.space(o.spaceBelow),t+=o.stave.space(this.options.spaceBetweenStaves),o.debugNoteMetrics&&(r.push({y:t,voice:o.voices[0]}),t+=15),i=i.concat(o.voices),n=Math.max(n,o.stave.getNoteStartX())})),this.parts.forEach((e=>e.stave.setNoteStartX(n)));const o=this.options.width-(n-this.options.x)-Note.STAVEPADDING;e.format(i,o);for(let s=0;s<this.options.formatIterations;s++)e.tune();this.startX=n,this.debugNoteMetricsYs=r,this.lastY=t}draw(){const e=this.checkContext();this.setRendered(),this.options.debugFormatter&&Formatter.plotDebugging(e,this.formatter,this.startX,this.options.y,this.lastY),this.debugNoteMetricsYs.forEach((t=>{t.voice.getTickables().forEach((n=>Note.plotMetrics(e,n,t.y)))}))}}Vex.Flow=Flow,Vex.Flow.Element=Element$1,Vex.Flow.Fraction=Fraction,Vex.Flow.Renderer=Renderer,Vex.Flow.Formatter=Formatter,Vex.Flow.Music=Music,Vex.Flow.Glyph=Glyph,Vex.Flow.Stave=Stave,Vex.Flow.StaveNote=StaveNote,Vex.Flow.StaveModifier=StaveModifier,Vex.Flow.StaveTempo=StaveTempo,Vex.Flow.Voice=Voice$1,Vex.Flow.Accidental=Accidental,Vex.Flow.Beam=Beam$1,Vex.Flow.StaveTie=StaveTie,Vex.Flow.TabStave=TabStave,Vex.Flow.TabNote=TabNote$1,Vex.Flow.Bend=Bend,Vex.Flow.Vibrato=Vibrato,Vex.Flow.VibratoBracket=VibratoBracket,Vex.Flow.Note=Note,Vex.Flow.ModifierContext=ModifierContext,Vex.Flow.MultiMeasureRest=MultiMeasureRest,Vex.Flow.TickContext=TickContext,Vex.Flow.Articulation=Articulation$1,Vex.Flow.Annotation=Annotation,Vex.Flow.Barline=Barline,Vex.Flow.NoteHead=NoteHead,Vex.Flow.StaveConnector=StaveConnector,Vex.Flow.ClefNote=ClefNote,Vex.Flow.KeySignature=KeySignature,Vex.Flow.KeySigNote=KeySigNote,Vex.Flow.TimeSignature=TimeSignature,Vex.Flow.TimeSigNote=TimeSigNote,Vex.Flow.Stem=Stem,Vex.Flow.TabTie=TabTie,Vex.Flow.Clef=Clef,Vex.Flow.Dot=Dot,Vex.Flow.Modifier=Modifier,Vex.Flow.TabSlide=TabSlide,Vex.Flow.Tuplet=Tuplet$1,Vex.Flow.GraceNote=GraceNote,Vex.Flow.GraceTabNote=GraceTabNote,Vex.Flow.Tuning=Tuning,Vex.Flow.KeyManager=KeyManager,Vex.Flow.StaveHairpin=StaveHairpin,Vex.Flow.BoundingBox=BoundingBox,Vex.Flow.Stroke=Stroke,Vex.Flow.TextNote=TextNote,Vex.Flow.Curve=Curve,Vex.Flow.TextDynamics=TextDynamics,Vex.Flow.StaveLine=StaveLine,Vex.Flow.Ornament=Ornament,Vex.Flow.PedalMarking=PedalMarking,Vex.Flow.TextBracket=TextBracket,Vex.Flow.FretHandFinger=FretHandFinger,Vex.Flow.Repetition=Repetition$1,Vex.Flow.BarNote=BarNote,Vex.Flow.GhostNote=GhostNote,Vex.Flow.NoteSubGroup=NoteSubGroup$1,Vex.Flow.GraceNoteGroup=GraceNoteGroup,Vex.Flow.Tremolo=Tremolo,Vex.Flow.StringNumber=StringNumber,Vex.Flow.Crescendo=Crescendo,Vex.Flow.Volta=Volta,Vex.Flow.Font=Font,Vex.Flow.System=System,Vex.Flow.Factory=Factory,Vex.Flow.Parser=Parser,Vex.Flow.EasyScore=EasyScore,Vex.Flow.Registry=Registry;var SystemLinesEnum=(e=>(e[e.SingleThin=0]="SingleThin",e[e.DoubleThin=1]="DoubleThin",e[e.ThinBold=2]="ThinBold",e[e.BoldThinDots=3]="BoldThinDots",e[e.DotsThinBold=4]="DotsThinBold",e[e.DotsBoldBoldDots=5]="DotsBoldBoldDots",e[e.None=6]="None",e[e.Dotted=7]="Dotted",e[e.Dashed=8]="Dashed",e[e.Bold=9]="Bold",e[e.BoldThin=10]="BoldThin",e[e.DoubleBold=11]="DoubleBold",e[e.Tick=12]="Tick",e[e.Short=13]="Short",e))(SystemLinesEnum||{});class SystemLinesEnumHelper{static xmlBarlineStyleToSystemLinesEnum(e){return"regular"===e?0:"dotted"===e?7:"dashed"===e?8:"heavy"===e?9:"light-light"===e?1:"light-heavy"===e?2:"heavy-light"===e?10:"heavy-heavy"===e?11:"tick"===e?12:"short"===e?13:"none"===e?6:0}}class Matrix2D{constructor(){this.matrix=[];for(let e=0;e<2;e++){this.matrix[e]=[];for(let t=0;t<2;t++)this.matrix[e][t]=0}}static getRotationMatrix(e){const t=new Matrix2D,n=Math.cos(e),i=Math.sin(e);return t.matrix[0][0]=n,t.matrix[0][1]=-i,t.matrix[1][0]=i,t.matrix[1][1]=n,t}scalarMultiplication(e){for(let t=0;t<2;t++)for(let n=0;n<2;n++)this.matrix[t][n]*=e}getTransposeMatrix(){const e=new Matrix2D;for(let t=0;t<2;t++)for(let n=0;n<2;n++)e.matrix[t][n]=this.matrix[n][t];return e}vectorMultiplication(e){const t=new PointF2D;return t.x=e.x*this.matrix[0][0]+e.y*this.matrix[0][1],t.y=e.x*this.matrix[1][0]+e.y*this.matrix[1][1],t}}class MusicSheetErrors{constructor(){this.measureErrors={},this.errors=[],this.tempErrors=[]}finalizeMeasure(e){let t=this.measureErrors[e];t||(t=[]),this.measureErrors[e]=t.concat(this.tempErrors),this.tempErrors=[]}pushMeasureError(e){this.tempErrors.push(e)}push(e){this.errors.push(e)}}class Arpeggio{constructor(e,t=7){this.parentVoiceEntry=e,this.type=t,this.notes=[]}addNote(e){this.notes.push(e),e.Arpeggio=this}}var ArpeggioType=(e=>(e[e.BRUSH_DOWN=1]="BRUSH_DOWN",e[e.BRUSH_UP=2]="BRUSH_UP",e[e.ROLL_DOWN=3]="ROLL_DOWN",e[e.ROLL_UP=4]="ROLL_UP",e[e.RASQUEDO_DOWN=5]="RASQUEDO_DOWN",e[e.RASQUEDO_UP=6]="RASQUEDO_UP",e[e.ARPEGGIO_DIRECTIONLESS=7]="ARPEGGIO_DIRECTIONLESS",e))(ArpeggioType||{});class Beam{constructor(e=1,t=0){this.notes=[],this.extendedNoteList=[],this.BeamNumberOffsetToXML=0,this.AutoGenerated=!1,this.BeamNumber=e,this.BeamNumberOffsetToXML=t}get Notes(){return this.notes}set Notes(e){this.notes=e}get ExtendedNoteList(){return this.extendedNoteList}set ExtendedNoteList(e){this.extendedNoteList=e}addNoteToBeam(e){e&&(e.NoteBeam=this,this.notes.push(e),this.extendedNoteList.push(e))}}class Glissando{constructor(e){this.notes=[],this.XMLNumber=1,this.AddNote(e),this.StartNote=e,this.Direction=ColDirEnum.NotYetDefined}get Notes(){return this.notes}get Duration(){const e=new Fraction$1;for(const t of this.notes)e.Add(t.Length);return e}get Pitch(){return this.StartNote.Pitch}AddNote(e){this.notes.push(e),e.NoteGlissando=this,2===this.notes.length&&(this.notes[0].Pitch.getHalfTone()<this.notes[1].Pitch.getHalfTone()?this.Direction=ColDirEnum.Up:this.Direction=ColDirEnum.Down)}}class Voice{constructor(e,t){this.voiceEntries=[],this.volume=1,this.parent=e,this.visible=!0,this.audible=!0,this.following=!0,this.voiceId=t,this.uniqueVoiceId="I:"+this.parent.Id+" V: "+this.voiceId}get VoiceEntries(){return this.voiceEntries}get Parent(){return this.parent}get Visible(){return this.visible}set Visible(e){this.visible=e}get Audible(){return this.audible}set Audible(e){this.audible=e}get Following(){return this.following}set Following(e){this.following=e}get Solo(){return this.solo}set Solo(e){this.solo=e}get VoiceId(){return this.voiceId}get Volume(){return this.volume}set Volume(e){this.volume=e}toString(){return this.uniqueVoiceId}}class LinkedVoice extends Voice{constructor(e,t,n){super(e,t),this.master=n}get Master(){return this.master}}class Notehead{constructor(e,t,n=undefined){this.sourceNote=e,this.setShapeFromXml(t,n)}setShapeFromXml(e,t=undefined){this.shape=Notehead.ShapeTypeXmlToShape(e);let n=t;void 0===n&&(this.sourceNote?n=this.sourceNote.Length.Denominator>2:(loglevelExports.warn("notehead: sourceNote and filledXmlAttribute undefined."),n=!0)),this.filled=n}get SourceNote(){return this.sourceNote}get Shape(){return this.shape}get Filled(){return this.filled}static ShapeTypeXmlToShape(e){switch(e.toLowerCase()){case"normal":return 2;case"x":return 8;case"slash":return 4;case"diamond":return 1;case"square":case"la":return 5;case"do":case"triangle":return 6;case"inverted triangle":return 7;case"rectangle":return 3;case"circle-x":return 0;default:return loglevelExports.info("unsupported/unhandled xml notehead '"+e+"'. Using normal notehead."),2}}}var NoteHeadShape=(e=>(e[e.CIRCLEX=0]="CIRCLEX",e[e.DIAMOND=1]="DIAMOND",e[e.NORMAL=2]="NORMAL",e[e.RECTANGLE=3]="RECTANGLE",e[e.SLASH=4]="SLASH",e[e.SQUARE=5]="SQUARE",e[e.TRIANGLE=6]="TRIANGLE",e[e.TRIANGLE_INVERTED=7]="TRIANGLE_INVERTED",e[e.X=8]="X",e))(NoteHeadShape||{});class ITextTranslation{static translateText(e,t){if(!this.defaultTextTranslation)return t}}var NoteType=(e=>(e[e.UNDEFINED=0]="UNDEFINED",e[e._1024th=1]="_1024th",e[e._512th=2]="_512th",e[e._256th=3]="_256th",e[e._128th=4]="_128th",e[e._64th=5]="_64th",e[e._32nd=6]="_32nd",e[e._16th=7]="_16th",e[e.EIGTH=8]="EIGTH",e[e.QUARTER=9]="QUARTER",e[e.HALF=10]="HALF",e[e.WHOLE=11]="WHOLE",e[e.BREVE=12]="BREVE",e[e.LONG=13]="LONG",e[e.MAXIMA=14]="MAXIMA",e))(NoteType||{});class NoteTypeHandler{static NoteTypeToString(e){return this.NoteTypeXmlValues[e]}static StringToNoteType(e){const t=this.NoteTypeXmlValues.indexOf(e);return-1!==t?t:0}static getNoteDurationFromType(e){switch(e){case"1024th":return new Fraction$1(1,1024);case"512th":return new Fraction$1(1,512);case"256th":return new Fraction$1(1,256);case"128th":return new Fraction$1(1,128);case"64th":return new Fraction$1(1,64);case"32th":case"32nd":return new Fraction$1(1,32);case"16th":return new Fraction$1(1,16);case"eighth":return new Fraction$1(1,8);case"quarter":return new Fraction$1(1,4);case"half":return new Fraction$1(1,2);case"whole":return new Fraction$1(1,1);case"breve":return new Fraction$1(2,1);case"long":return new Fraction$1(4,1);case"maxima":return new Fraction$1(8,1);default:{const e=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid note duration.");throw new MusicSheetReadingException(e)}}}}NoteTypeHandler.NoteTypeXmlValues=["","1024th","512th","256th","128th","64th","32nd","16th","eigth","quarter","half","whole","breve","long","maxima"];class OrnamentContainer{constructor(e){this.placement=PlacementEnum.Above,this.accidentalAbove=AccidentalEnum.NONE,this.accidentalBelow=AccidentalEnum.NONE,this.ornament=e}get GetOrnament(){return this.ornament}get AccidentalAbove(){return this.accidentalAbove}set AccidentalAbove(e){this.accidentalAbove=e}get AccidentalBelow(){return this.accidentalBelow}set AccidentalBelow(e){this.accidentalBelow=e}}var OrnamentEnum=(e=>(e[e.Trill=0]="Trill",e[e.Turn=1]="Turn",e[e.InvertedTurn=2]="InvertedTurn",e[e.DelayedTurn=3]="DelayedTurn",e[e.DelayedInvertedTurn=4]="DelayedInvertedTurn",e[e.Mordent=5]="Mordent",e[e.InvertedMordent=6]="InvertedMordent",e))(OrnamentEnum||{});class VerticalSourceStaffEntryContainer{constructor(e,t,n){this.staffEntries=[],this.comments=[],this.timestamp=t,this.staffEntries=new Array(n),this.parentMeasure=e}$get$(e){return this.staffEntries[e]}$set$(e,t){this.staffEntries[e]=t}get Timestamp(){return this.timestamp}set Timestamp(e){this.timestamp=e}get StaffEntries(){return this.staffEntries}set StaffEntries(e){this.staffEntries=e}get Comments(){return this.comments}set Comments(e){this.comments=e}get ParentMeasure(){return this.parentMeasure}set ParentMeasure(e){this.parentMeasure=e}getAbsoluteTimestamp(){return Fraction$1.plus(this.timestamp,this.parentMeasure.AbsoluteTimestamp)}}class SourceStaffEntry{constructor(e,t){this.voiceEntries=[],this.instructions=[],this.chordSymbolContainers=[],this.verticalContainerParent=e,this.parentStaff=t}get ParentStaff(){return this.parentStaff}get VerticalContainerParent(){return this.verticalContainerParent}get Timestamp(){if(this.VerticalContainerParent)return this.VerticalContainerParent.Timestamp}get AbsoluteTimestamp(){if(this.VerticalContainerParent)return Fraction$1.plus(this.VerticalContainerParent.ParentMeasure.AbsoluteTimestamp,this.VerticalContainerParent.Timestamp)}get VoiceEntries(){return this.voiceEntries}set VoiceEntries(e){this.voiceEntries=e}get Link(){return this.staffEntryLink}set Link(e){this.staffEntryLink=e}get Instructions(){return this.instructions}set Instructions(e){this.instructions=e}get ChordContainers(){return this.chordSymbolContainers}set ChordContainers(e){this.chordSymbolContainers=e}removeAllInstructionsOfTypeClefInstruction(){let e=0,t=0;for(;e<this.instructions.length;)this.instructions[e]instanceof ClefInstruction?(this.instructions.splice(e,1),t++):e++;return t}removeFirstInstructionOfTypeClefInstruction(){for(let e=0;e<this.instructions.length;e++)if(this.instructions[e]instanceof ClefInstruction)return this.instructions.splice(e,1),!0;return!1}removeAllInstructionsOfTypeKeyInstruction(){let e=0,t=0;for(;e<this.instructions.length;)this.instructions[e]instanceof KeyInstruction?(this.instructions.splice(e,1),t++):e++;return t}removeFirstInstructionOfTypeKeyInstruction(){for(let e=0;e<this.instructions.length;e++)if(this.instructions[e]instanceof KeyInstruction)return this.instructions.splice(e,1),!0;return!1}removeAllInstructionsOfTypeRhythmInstruction(){let e=0,t=0;for(;e<this.instructions.length;)this.instructions[e]instanceof RhythmInstruction?(this.instructions.splice(e,1),t++):e++;return t}removeFirstInstructionOfTypeRhythmInstruction(){for(let e=0;e<this.instructions.length;e++)if(this.instructions[e]instanceof RhythmInstruction)return this.instructions.splice(e,1),!0;return!1}calculateMinNoteLength(){let e=new Fraction$1(Number.MAX_VALUE,1);for(let t=0,n=this.VoiceEntries.length;t<n;++t){const n=this.VoiceEntries[t];for(let t=0,i=n.Notes.length;t<i;++t){const i=n.Notes[t];i.Length.lt(e)&&(e=i.Length)}}return e}calculateMaxNoteLength(e=!0){let t=new Fraction$1(0,1);for(let n=0,i=this.VoiceEntries.length;n<i;++n){const i=this.VoiceEntries[n];for(let n=0,r=i.Notes.length;n<r;++n){const r=i.Notes[n];if(e&&r.NoteTie){const e=Fraction$1.createFromFraction(r.Length);let n=!1;for(const t of r.NoteTie.Notes)t!==r?n&&e.Add(t.Length):n=!0;t.lt(e)&&(t=e)}else t.lt(r.Length)&&(t=r.Length)}}return t}hasNotes(){for(let e=0,t=this.VoiceEntries.length;e<t;++e){if(this.VoiceEntries[e].Notes.length>0)return!0}return!1}hasTie(){for(let e=0,t=this.VoiceEntries.length;e<t;++e){if(this.VoiceEntries[e].hasTie())return!0}return!1}findLinkedNotes(e){for(let t=0,n=this.voiceEntries.length;t<n;++t){const n=this.voiceEntries[t];for(let t=0,i=n.Notes.length;t<i;++t){const i=n.Notes[t];i.ParentStaffEntry===this&&e.push(i)}}}get hasOnlyRests(){for(const e of this.voiceEntries)for(const t of e.Notes)if(!t.isRest())return!1;return!0}}class RepetitionInstructionComparer{static Compare(e,t){if(void 0!==e.parentRepetition&&t.parentRepetition){if(1===e.alignment&&1===t.alignment){if(e.parentRepetition.StartIndex<t.parentRepetition.StartIndex)return 1;if(e.parentRepetition.StartIndex>t.parentRepetition.StartIndex)return-1}if(0===e.alignment&&0===t.alignment){if(e.parentRepetition.EndIndex<t.parentRepetition.EndIndex)return 1;if(e.parentRepetition.EndIndex>t.parentRepetition.EndIndex)return-1}}return 0}}class RepetitionInstruction{constructor(e,t,n=1,i=undefined,r=undefined){this.endingIndices=void 0,this.measureIndex=e,r&&(this.endingIndices=r.slice()),this.type=t,this.alignment=n,this.parentRepetition=i}CompareTo(e){const t=e;if(this.measureIndex>t.measureIndex)return 1;if(this.measureIndex<t.measureIndex)return-1;if(0===this.alignment){if(1===t.alignment)return-1;switch(this.type){case 3:return 1;case 0:return 3===t.type?-1:1;case 12:case 13:return 12===t.type?1:-1}}else{if(0===t.alignment)return 1;switch(this.type){case 3:return-1;case 6:case 7:return 3===t.type?1:-1;case 1:switch(t.type){case 3:case 6:case 7:return 1}return-1;case 8:case 9:case 10:case 11:case 4:case 5:case 2:return 1}}return 0}equals(e){if(this.measureIndex!==e.measureIndex||this.type!==e.type||this.alignment!==e.alignment)return!1;if(this.endingIndices===e.endingIndices)return!0;if(!this.endingIndices||!e.endingIndices||this.endingIndices.length!==e.endingIndices.length)return!1;for(let t=0;t<this.endingIndices.length;t++)if(this.endingIndices[t]!==e.endingIndices[t])return!1;return!0}}var RepetitionInstructionEnum=(e=>(e[e.StartLine=0]="StartLine",e[e.ForwardJump=1]="ForwardJump",e[e.BackJumpLine=2]="BackJumpLine",e[e.Ending=3]="Ending",e[e.DaCapo=4]="DaCapo",e[e.DalSegno=5]="DalSegno",e[e.Fine=6]="Fine",e[e.ToCoda=7]="ToCoda",e[e.DalSegnoAlFine=8]="DalSegnoAlFine",e[e.DaCapoAlFine=9]="DaCapoAlFine",e[e.DalSegnoAlCoda=10]="DalSegnoAlCoda",e[e.DaCapoAlCoda=11]="DaCapoAlCoda",e[e.Coda=12]="Coda",e[e.Segno=13]="Segno",e[e.None=14]="None",e))(RepetitionInstructionEnum||{}),AlignmentType=(e=>(e[e.Begin=0]="Begin",e[e.End=1]="End",e))(AlignmentType||{});let prevSourceMeasure=null;class SourceMeasure{constructor(e,t){this.printNewSystemXml=!1,this.printNewPageXml=!1,this.IsSystemStartMeasure=!1,this.hasLyrics=!1,this.hasMoodExpressions=!1,this.allRests=!1,this.isReducedToMultiRest=!1,this.multipleRestMeasureNumber=0,this.staffLinkedExpressions=[],this.tempoExpressions=[],this.verticalSourceStaffEntryContainers=[],this.graphicalMeasureErrors=[],this.firstRepetitionInstructions=[],this.lastRepetitionInstructions=[],this.metronomeNoteIndex=0,this.WasRendered=!1,this.completeNumberOfStaves=e,this.implicitMeasure=!1,this.hasEndLine=!1,this.endingBarStyleXml="",this.endingBarStyleEnum=SystemLinesEnum.SingleThin,this.firstInstructionsStaffEntries=new Array(e),this.lastInstructionsStaffEntries=new Array(e),this.rules=t,this.TempoInBPM=0;for(let n=0;n<e;n++)this.graphicalMeasureErrors.push(!1),this.staffLinkedExpressions.push([])}get MeasureNumber(){return this.measureNumber}set MeasureNumber(e){this.measureNumber=e}getPrintedMeasureNumber(){return this.rules.UseXMLMeasureNumbers&&Number.isInteger(this.MeasureNumberXML)?(this.MeasureNumberPrinted=this.MeasureNumberXML,this.MeasureNumberPrinted):(this.MeasureNumberPrinted=this.MeasureNumber,this.MeasureNumberPrinted)}get AbsoluteTimestamp(){return this.absoluteTimestamp}set AbsoluteTimestamp(e){this.absoluteTimestamp=e}get CompleteNumberOfStaves(){return this.completeNumberOfStaves}get Duration(){return this.duration}set Duration(e){this.duration=e}get ActiveTimeSignature(){return this.activeTimeSignature}set ActiveTimeSignature(e){this.activeTimeSignature=e}get ImplicitMeasure(){return this.implicitMeasure}set ImplicitMeasure(e){this.implicitMeasure=e}get HasEndLine(){return this.hasEndLine}set HasEndLine(e){this.hasEndLine=e}get StaffLinkedExpressions(){return this.staffLinkedExpressions}get TempoExpressions(){return this.tempoExpressions}get VerticalSourceStaffEntryContainers(){return this.verticalSourceStaffEntryContainers}get FirstInstructionsStaffEntries(){return this.firstInstructionsStaffEntries}get LastInstructionsStaffEntries(){return this.lastInstructionsStaffEntries}get FirstRepetitionInstructions(){return this.firstRepetitionInstructions}get LastRepetitionInstructions(){return this.lastRepetitionInstructions}getErrorInMeasure(e){return this.graphicalMeasureErrors[e]}setErrorInGraphicalMeasure(e,t){this.graphicalMeasureErrors[e]=t}getNextMeasure(e){return e[this.measureListIndex+1]}getPreviousMeasure(e){if(this.measureListIndex>1)return e[this.measureListIndex-1]}get Rules(){return this.rules}get VerticalMeasureList(){return this.verticalMeasureList}set VerticalMeasureList(e){this.verticalMeasureList=e}get TempoInBPM(){return this.tempoInBPM}set TempoInBPM(e){this.tempoInBPM=e}findOrCreateStaffEntry(e,t,n){let i,r;for(const s of this.verticalSourceStaffEntryContainers)if(s.Timestamp.Equals(e)){r=s;break}if(r)return r.StaffEntries[t]?i=r.StaffEntries[t]:(i=new SourceStaffEntry(r,n),r.StaffEntries[t]=i),{createdNewContainer:!1,staffEntry:i};const o=this.verticalSourceStaffEntryContainers[this.verticalSourceStaffEntryContainers.length-1];if(0===this.verticalSourceStaffEntryContainers.length||o.Timestamp.lt(e)){const r=new VerticalSourceStaffEntryContainer(this,e.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.push(r),i=new SourceStaffEntry(r,n),r.StaffEntries[t]=i}else for(let s=this.verticalSourceStaffEntryContainers.length-1;s>=0;s--){if(this.verticalSourceStaffEntryContainers[s].Timestamp.lt(e)){const r=new VerticalSourceStaffEntryContainer(this,e.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.splice(s+1,0,r),i=new SourceStaffEntry(r,n),r.StaffEntries[t]=i;break}if(0===s){const r=new VerticalSourceStaffEntryContainer(this,e.clone(),this.completeNumberOfStaves);this.verticalSourceStaffEntryContainers.splice(s,0,r),i=new SourceStaffEntry(r,n),r.StaffEntries[t]=i;break}}return{createdNewContainer:!0,staffEntry:i}}findOrCreateVoiceEntry(e,t){let n,i=!1;for(const r of e.VoiceEntries)if(r.ParentVoice===t){n=r;break}return n||(n=new VoiceEntry(e.Timestamp,t,e),i=!0),{createdVoiceEntry:i,voiceEntry:n}}getPreviousSourceStaffEntryFromIndex(e,t){for(let n=t-1;n>=0;n--)if(this.verticalSourceStaffEntryContainers[n][e])return this.verticalSourceStaffEntryContainers[n][e]}getVerticalContainerIndexByTimestamp(e){for(let t=0,n=this.VerticalSourceStaffEntryContainers.length;t<n;++t)if(this.VerticalSourceStaffEntryContainers[t].Timestamp.Equals(e))return t;return-1}getVerticalContainerByTimestamp(e){for(let t=0,n=this.VerticalSourceStaffEntryContainers.length;t<n;++t){const n=this.VerticalSourceStaffEntryContainers[t];if(n.Timestamp.Equals(e))return n}}checkForEmptyVerticalContainer(e){let t=0;for(let n=0;n<this.completeNumberOfStaves;n++)this.verticalSourceStaffEntryContainers[e][n]||t++;t===this.completeNumberOfStaves&&this.verticalSourceStaffEntryContainers.splice(e,1)}reverseCheck(e,t){let n=new Fraction$1(0,1);const i=[];for(let r=0;r<e.Instruments.length;r++){let t=new Fraction$1(0,1);const n=e.getGlobalStaffIndexOfFirstStaff(e.Instruments[r]);for(let i=0;i<e.Instruments[r].Staves.length;i++){const e=this.getLastSourceStaffEntryForInstrument(n+i);if(void 0!==e&&!e.hasTie()){for(let r=this.verticalSourceStaffEntryContainers.indexOf(e.VerticalContainerParent)-1;r>=0;r--){const e=this.verticalSourceStaffEntryContainers[r][n+i];if(void 0!==e&&e.hasTie()&&t.lt(Fraction$1.plus(e.Timestamp,e.calculateMaxNoteLength()))){t=Fraction$1.plus(e.Timestamp,e.calculateMaxNoteLength());break}}}}i.push(t)}for(let r=0,o=i.length;r<o;++r){const e=i[r];n.lt(e)&&(n=e)}return Fraction$1.max(n,t)}calculateInstrumentsDuration(e,t){const n=[];for(let i=0;i<e.Instruments.length;i++){let r=new Fraction$1(0,1);const o=e.getGlobalStaffIndexOfFirstStaff(e.Instruments[i]);for(let t=0;t<e.Instruments[i].Staves.length;t++){const e=this.getLastSourceStaffEntryForInstrument(o+t);void 0!==e&&e.Timestamp&&r.lt(Fraction$1.plus(e.Timestamp,e.calculateMaxNoteLength()))&&(r=Fraction$1.plus(e.Timestamp,e.calculateMaxNoteLength()))}r.lt(t[i])&&(r=t[i]),n.push(r)}return n}getEntriesPerStaff(e){const t=[];for(const n of this.VerticalSourceStaffEntryContainers){const i=n.StaffEntries[e];i&&t.push(i)}return t}hasBeginInstructions(){for(let e=0,t=this.FirstInstructionsStaffEntries.length;e<t;e++){const t=this.FirstInstructionsStaffEntries[e];if(void 0!==t&&t.Instructions.length>0)return!0}return!1}beginsWithLineRepetition(){for(let e=0,t=this.FirstRepetitionInstructions.length;e<t;++e){const t=this.FirstRepetitionInstructions[e];if(t.type===RepetitionInstructionEnum.StartLine)return!0;if(void 0!==t.parentRepetition&&t===t.parentRepetition.startMarker&&!t.parentRepetition.FromWords)return!0}return!1}endsWithLineRepetition(){for(let e=0,t=this.LastRepetitionInstructions.length;e<t;++e){const t=this.LastRepetitionInstructions[e];if(t.type===RepetitionInstructionEnum.BackJumpLine)return!0;const n=t.parentRepetition;if(n&&!n.FromWords)for(let e=0,i=n.BackwardJumpInstructions.length;e<i;++e){if(t===n.BackwardJumpInstructions[e])return!0}}return!1}beginsWithWordRepetition(){for(let e=0,t=this.FirstRepetitionInstructions.length;e<t;++e){const t=this.FirstRepetitionInstructions[e];if(void 0!==t.parentRepetition&&t===t.parentRepetition.startMarker&&t.parentRepetition.FromWords)return!0}return!1}endsWithWordRepetition(){for(let e=0,t=this.LastRepetitionInstructions.length;e<t;++e){const t=this.LastRepetitionInstructions[e],n=t.parentRepetition;if(n&&n.FromWords){for(let e=0,i=n.BackwardJumpInstructions.length;e<i;++e){if(t===n.BackwardJumpInstructions[e])return!0}if(t===n.forwardJumpInstruction)return!0}}return!1}beginsRepetitionEnding(){for(const e of this.FirstRepetitionInstructions)if(e.type===RepetitionInstructionEnum.Ending&&e.alignment===AlignmentType.Begin)return!0;return!1}endsRepetitionEnding(){for(const e of this.LastRepetitionInstructions)if(e.type===RepetitionInstructionEnum.Ending&&e.alignment===AlignmentType.End)return!0;return!1}getKeyInstruction(e){if(this.FirstInstructionsStaffEntries[e]){const t=this.FirstInstructionsStaffEntries[e];for(let e=0,n=t.Instructions.length;e<n;++e){const n=t.Instructions[e];if(n instanceof KeyInstruction)return n}}}getLastSourceStaffEntryForInstrument(e,t=!0){let n;for(let i=this.verticalSourceStaffEntryContainers.length-1;i>=0;i--)if(n=this.verticalSourceStaffEntryContainers[i].StaffEntries[e],n&&(!t||n.VoiceEntries.length>0))return n}canBeReducedToMultiRest(){var e,t,n,i,r,o,s,a;if(this.firstRepetitionInstructions.length>0||this.lastRepetitionInstructions.length>0)return!1;let l=!0,c=!1;for(const u of this.verticalSourceStaffEntryContainers)if(u)for(const e of u.StaffEntries)if(e&&e.ParentStaff.ParentInstrument.Visible){if(e.ChordContainers.length>0)return!1;e.ParentStaff.hasLyrics&&(c=!0);for(const t of e.VoiceEntries){for(const e of t.Notes)if(!e.isRest()){l=!1;break}if(!l)break}}if(!l||c||this.hasMoodExpressions||this.tempoExpressions.length>0)return!1;for(const u of this.staffLinkedExpressions)if(u.length>0)return!1;for(const u of this.lastInstructionsStaffEntries)for(let e=0,t=null==u?void 0:u.Instructions.length;e<t;++e){if(u.Instructions[e]instanceof ClefInstruction)return!1}return!prevSourceMeasure||(null===(e=prevSourceMeasure)||void 0===e||null===(t=e.ActiveTimeSignature)||void 0===t?void 0:t.Numerator)===(null===(n=this.ActiveTimeSignature)||void 0===n?void 0:n.Numerator)&&(null===(i=prevSourceMeasure)||void 0===i||null===(r=i.ActiveTimeSignature)||void 0===r?void 0:r.Denominator)===(null===(o=this.ActiveTimeSignature)||void 0===o?void 0:o.Denominator)?(prevSourceMeasure=this,(null===(s=this.Duration)||void 0===s?void 0:s.RealValue)===(null===(a=this.ActiveTimeSignature)||void 0===a?void 0:a.RealValue)):(prevSourceMeasure=this,!1)}}class Staff{constructor(e,t){this.isTab=!1,this.voices=[],this.volume=1,this.stafflineCount=5,this.hasLyrics=!1,this.openTieDict={},this.parentInstrument=e,this.id=t,this.audible=!0,this.following=!0}get ParentInstrument(){return this.parentInstrument}set ParentInstrument(e){this.parentInstrument=e}get Voices(){return this.voices}get Solo(){return this.solo}set Solo(e){this.solo=e}get Id(){return this.id}get Volume(){return this.volume}set Volume(e){this.volume=e}get StafflineCount(){return this.stafflineCount}set StafflineCount(e){this.stafflineCount=e}toString(){return"Staff "+this.idInMusicSheet.toString()}}class StaffEntryLink{constructor(e){this.linkStaffEntries=[],this.voiceEntry=e}get GetVoiceEntry(){return this.voiceEntry}get LinkStaffEntries(){return this.linkStaffEntries}set LinkStaffEntries(e){this.linkStaffEntries=e}}class Tie{constructor(e,t){this.notes=[],this.TieNumber=1,this.TieDirection=PlacementEnum.NotYetDefined,this.NoteIndexToTieDirection={},this.AddNote(e),this.type=t}getTieDirection(e){if(!e)return this.TieDirection;for(let t=0;t<this.Notes.length;t++){if(this.Notes[t]===e){const e=this.NoteIndexToTieDirection[t];return e||this.TieDirection}}return loglevelExports.debug("tie.getTieDuration note not in tie.Notes"),this.TieDirection}get Notes(){return this.notes}get Type(){return this.type}get StartNote(){return this.notes[0]}get Duration(){const e=new Fraction$1;for(const t of this.notes)e.Add(t.Length);return e}get Pitch(){return this.StartNote.Pitch}AddNote(e){this.notes.push(e),e.NoteTie=this}}class Tuplet{constructor(e,t=!1){this.PlacementFromXml=!1,this.RenderTupletNumber=!0,this.notes=[],this.fractions=[],this.tupletLabelNumber=e,this.bracket=t}shouldBeBracketed(e,t,n,i=!1,r=!1){if(i)return r;if(e&&void 0!==this.BracketedXmlValue)return this.BracketedXmlValue;const o=this.Notes[0][0].NoteBeam;if(!o)return!0;for(const s of this.Notes)if(s[0].NoteBeam!==o)return!0;return this.Bracket||3===this.TupletLabelNumber&&n||3!==this.TupletLabelNumber&&t}get TupletLabelNumber(){return this.tupletLabelNumber}set TupletLabelNumber(e){this.tupletLabelNumber=e}get Notes(){return this.notes}set Notes(e){this.notes=e}get Fractions(){return this.fractions}set Fractions(e){this.fractions=e}get Bracket(){return this.bracket}set Bracket(e){this.bracket=e}getNoteIndex(e){for(let t=this.notes.length-1;t>=0;t--)for(let n=0;n<this.notes[t].length;n++)if(e===this.notes[t][n])return t;return 0}}var TechnicalInstructionType=(e=>(e[e.Fingering=0]="Fingering",e[e.String=1]="String",e))(TechnicalInstructionType||{});class TechnicalInstruction{}class PlaybackNote{constructor(e,t){if(this.parentEntry=e,this.parentNote=t,this.ParentNote.PlaybackNote=this,this.Length=this.ParentNote.Length,void 0!==t.Pitch){const e=this.ParentNote.ParentStaff.ParentInstrument.MidiInstrumentId===MidiInstrument.Percussion;this.MidiKey=e?PlaybackNote.noteToMidiDrumKey(t):t.Pitch.getHalfTone()+12}else this.MidiKey=0}setLength(){void 0!==this.ParentNote.NoteTie&&this.ParentNote.NoteTie.StartNote===this.ParentNote&&(this.Length=this.ParentNote.NoteTie.Duration)}get ParentEntry(){return this.parentEntry}get ParentNote(){return this.parentNote}static noteToMidiDrumKey(e){var t;const n=e.Pitch.getHalfTone()-12,i=null===(t=e.Notehead)||void 0===t?void 0:t.Shape;switch(e.Pitch.Octave){case 1:switch(e.Pitch.FundamentalNote){case NoteEnum.D:return 44;case NoteEnum.E:return 35;case NoteEnum.F:return 36;case NoteEnum.G:return 41;case NoteEnum.A:return 43;case NoteEnum.B:return i===NoteHeadShape.TRIANGLE?54:47;default:return n}case 2:switch(e.Pitch.FundamentalNote){case NoteEnum.C:return i===NoteHeadShape.X?37:38;case NoteEnum.D:return i===NoteHeadShape.X?59:48;case NoteEnum.E:switch(i){case NoteHeadShape.X:return 42;case NoteHeadShape.CIRCLEX:return 46;case NoteHeadShape.TRIANGLE:return 56;default:return 50}case NoteEnum.F:return i===NoteHeadShape.DIAMOND?53:51;case NoteEnum.G:switch(i){case NoteHeadShape.CIRCLEX:case NoteHeadShape.DIAMOND:return 46;default:return 42}case NoteEnum.A:return 49;case NoteEnum.B:return 57;default:return n}case 3:return e.Pitch.FundamentalNote===NoteEnum.C?i===NoteHeadShape.CIRCLEX?52:55:n;default:return n}}}class PlaybackEntry{constructor(e){this.notes=[],this.TimestampShift=new Fraction$1,this.parentVoiceEntry=e;for(const t of e.Notes)this.Notes.push(new PlaybackNote(this,t))}get ParentVoiceEntry(){return this.parentVoiceEntry}get Notes(){return this.notes}get Length(){if(this.Notes.length>0)return this.Notes[0].Length}set Length(e){for(const t of this.Notes)t.Length=e}get HasNotes(){return this.Notes.length>0}}class VoiceEntry{constructor(e,t,n,i=!0,r=!1,o=!1,s=!1){if(this.notes=[],this.graceVoiceEntriesBefore=[],this.graceVoiceEntriesAfter=[],this.articulations=[],this.playbackEntries=[],this.technicalInstructions=[],this.lyricsEntries=new Dictionary,this.wantedStemDirection=-1,this.stemDirectionXml=-1,this.stemDirection=-1,this.timestamp=e,this.parentVoice=t,this.parentSourceStaffEntry=n,this.isGrace=r,this.graceAfterMainNote=!1,this.graceNoteSlash=o,this.graceSlur=s,r||t.VoiceEntries.push(this),i&&void 0!==n){const e=n.VoiceEntries;-1===e.indexOf(this)&&e.push(this)}this.mainPlaybackEntry=new PlaybackEntry(this),this.PlaybackEntries.push(this.mainPlaybackEntry)}get ParentSourceStaffEntry(){return this.parentSourceStaffEntry}get ParentVoice(){return this.parentVoice}get Timestamp(){return this.timestamp}set Timestamp(e){this.timestamp=e}get Notes(){return this.notes}addNote(e){this.notes.push(e),e.isRest()||void 0!==e.NoteTie&&e.NoteTie.StartNote!==e||this.MainPlaybackEntry.Notes.push(new PlaybackNote(this.MainPlaybackEntry,e))}get GraceVoiceEntriesBefore(){return this.graceVoiceEntriesBefore}set GraceVoiceEntriesBefore(e){this.graceVoiceEntriesBefore=e;for(const t of this.graceVoiceEntriesBefore)t.parentSourceStaffEntry=this.ParentSourceStaffEntry}get GraceVoiceEntriesAfter(){return this.graceVoiceEntriesAfter}set GraceVoiceEntriesAfter(e){this.graceVoiceEntriesAfter=e;for(const t of this.graceVoiceEntriesAfter)t.parentSourceStaffEntry=this.ParentSourceStaffEntry}get IsGrace(){return this.isGrace}set IsGrace(e){this.isGrace=e}get GraceAfterMainNote(){return this.graceAfterMainNote}set GraceAfterMainNote(e){this.graceAfterMainNote=e}get GraceNoteSlash(){return this.graceNoteSlash}set GraceNoteSlash(e){this.graceNoteSlash=e}get GraceSlur(){return this.graceSlur}set GraceSlur(e){this.graceSlur=e}get Articulations(){return this.articulations}get PlaybackEntries(){return this.playbackEntries}get Fermata(){return this.fermata}get MainPlaybackEntry(){return this.mainPlaybackEntry}set MainPlaybackEntry(e){this.mainPlaybackEntry=e}removeMainPlaybackEntry(){void 0!==this.mainPlaybackEntry&&this.removePlaybackEntry(this.mainPlaybackEntry)}removePlaybackEntry(e){this.mainPlaybackEntry===e&&(this.mainPlaybackEntry=void 0);const t=this.playbackEntries.indexOf(e);t>-1&&this.playbackEntries.splice(t,1)}set Articulations(e){this.articulations=e}get TechnicalInstructions(){return this.technicalInstructions}get LyricsEntries(){return this.lyricsEntries}get Arpeggio(){return this.arpeggio}set Arpeggio(e){this.arpeggio=e}get OrnamentContainer(){return this.ornamentContainer}set OrnamentContainer(e){this.ornamentContainer=e}set WantedStemDirection(e){this.wantedStemDirection=e}get WantedStemDirection(){return this.wantedStemDirection}set StemDirectionXml(e){this.stemDirectionXml=e}get StemDirectionXml(){return this.stemDirectionXml}set StemDirection(e){this.stemDirection=e}get StemDirection(){return this.stemDirection}get StemColorXml(){return this.stemColorXml}set StemColorXml(e){this.stemColorXml=e}get StemColor(){return this.stemColor}set StemColor(e){this.stemColor=e}get VolumeModifier(){return this.volumeModifier}set VolumeModifier(e){this.volumeModifier=e}get DurationModifier(){return this.durationModifier}set DurationModifier(e){this.durationModifier=e}hasArticulation(e){for(const t of this.articulations)if(t.Equals(e))return!0;return!1}static isSupportedArticulation(e){switch(e){case 0:case 1:case 2:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 27:return!0;default:return!1}}hasTie(){for(let e=0,t=this.Notes.length;e<t;++e){if(this.Notes[e].NoteTie)return!0}return!1}hasSlur(){for(let e=0,t=this.Notes.length;e<t;++e){if(this.Notes[e].NoteSlurs.length>0)return!0}return!1}isStaccato(){for(const e of this.Articulations)if(6===e.articulationEnum)return!0;return!1}isAccent(){for(const e of this.Articulations)if(0===e.articulationEnum||1===e.articulationEnum)return!0;return!1}getVerseNumberForLyricEntry(e){let t="1";return this.lyricsEntries.forEach(((n,i)=>{e===i&&(t=n)})),t}}var ArticulationEnum=(e=>(e[e.accent=0]="accent",e[e.strongaccent=1]="strongaccent",e[e.softaccent=2]="softaccent",e[e.marcatoup=3]="marcatoup",e[e.marcatodown=4]="marcatodown",e[e.invertedstrongaccent=5]="invertedstrongaccent",e[e.staccato=6]="staccato",e[e.staccatissimo=7]="staccatissimo",e[e.spiccato=8]="spiccato",e[e.tenuto=9]="tenuto",e[e.fermata=10]="fermata",e[e.invertedfermata=11]="invertedfermata",e[e.breathmark=12]="breathmark",e[e.caesura=13]="caesura",e[e.lefthandpizzicato=14]="lefthandpizzicato",e[e.naturalharmonic=15]="naturalharmonic",e[e.snappizzicato=16]="snappizzicato",e[e.upbow=17]="upbow",e[e.downbow=18]="downbow",e[e.scoop=19]="scoop",e[e.plop=20]="plop",e[e.doit=21]="doit",e[e.falloff=22]="falloff",e[e.stress=23]="stress",e[e.unstress=24]="unstress",e[e.detachedlegato=25]="detachedlegato",e[e.otherarticulation=26]="otherarticulation",e[e.bend=27]="bend",e))(ArticulationEnum||{}),StemDirectionType=(e=>(e[e.Undefined=-1]="Undefined",e[e.Up=0]="Up",e[e.Down=1]="Down",e[e.None=2]="None",e[e.Double=3]="Double",e))(StemDirectionType||{}),SystemLinePosition=(e=>(e[e.MeasureBegin=0]="MeasureBegin",e[e.MeasureEnd=1]="MeasureEnd",e))(SystemLinePosition||{});class GraphicalLabel extends Clickable{constructor(e,t,n,i,r=undefined){super(),this.CenteringXShift=0,this.label=e,this.boundingBox=new BoundingBox$1(this,r),this.label.fontHeight=t,this.label.textAlignment=n,this.rules=i,this.rules.MpatMode&&"TRIO"===this.label.text&&(this.label.fontFamily="Arial")}get Label(){return this.label}toString(){return`${this.label.text} (${this.boundingBox.RelativePosition.x},${this.boundingBox.RelativePosition.y})`}setLabelPositionAndShapeBorders(){var e,t;if(""===this.Label.text.trim())return;this.TextLines=[];const n=null!==(e=null===(t=this.rules)||void 0===t?void 0:t.LabelMarginBorderFactor)&&void 0!==e?e:.1,i=this.Label.text.split(/[\n\r]+/g),r=i.length;let o=0;for(let l=0;l<r;l++){const e=i[l].trim();if(!e||""===e)continue;const t=MusicSheetCalculator.TextMeasurer.computeTextWidthToHeightRatio(e,this.Label.font,this.Label.fontStyle,this.label.fontFamily),n=this.Label.fontHeight*t;o=Math.max(o,n),this.TextLines.push({text:e,xOffset:0,width:n})}for(const l of this.TextLines){let e=0;switch(this.Label.textAlignment){case TextAlignmentEnum.RightBottom:case TextAlignmentEnum.RightCenter:case TextAlignmentEnum.RightTop:e=o-l.width;break;case TextAlignmentEnum.CenterBottom:case TextAlignmentEnum.CenterCenter:case TextAlignmentEnum.CenterTop:e=(o-l.width)/2}l.xOffset=e}let s=this.Label.fontHeight*r;this.rules.SpacingBetweenTextLines>0&&this.TextLines.length>1&&(s+=this.rules.SpacingBetweenTextLines*r/10);const a=this.PositionAndShape;switch(this.Label.textAlignment){case TextAlignmentEnum.CenterBottom:a.BorderTop=-s,a.BorderLeft=-o/2,a.BorderBottom=0,a.BorderRight=o/2;break;case TextAlignmentEnum.CenterCenter:a.BorderTop=-s/2,a.BorderLeft=-o/2,a.BorderBottom=s/2,a.BorderRight=o/2;break;case TextAlignmentEnum.CenterTop:a.BorderTop=0,a.BorderLeft=-o/2,a.BorderBottom=s,a.BorderRight=o/2;break;case TextAlignmentEnum.LeftBottom:a.BorderTop=-s,a.BorderLeft=0,a.BorderBottom=0,a.BorderRight=o;break;case TextAlignmentEnum.LeftCenter:a.BorderTop=-s/2,a.BorderLeft=0,a.BorderBottom=s/2,a.BorderRight=o;break;case TextAlignmentEnum.LeftTop:a.BorderTop=0,a.BorderLeft=0,a.BorderBottom=s,a.BorderRight=o;break;case TextAlignmentEnum.RightBottom:a.BorderTop=-s,a.BorderLeft=-o,a.BorderBottom=0,a.BorderRight=0;break;case TextAlignmentEnum.RightCenter:a.BorderTop=-s/2,a.BorderLeft=-o,a.BorderBottom=s/2,a.BorderRight=0;break;case TextAlignmentEnum.RightTop:a.BorderTop=0,a.BorderLeft=-o,a.BorderBottom=s,a.BorderRight=0}a.BorderMarginTop=a.BorderTop-s*n,a.BorderMarginLeft=a.BorderLeft-s*n,a.BorderMarginBottom=a.BorderBottom+s*n,a.BorderMarginRight=a.BorderRight+s*n}}class Label{constructor(e="",t=TextAlignmentEnum.CenterBottom,n=undefined,i=!0){this.IsCreditLabel=!1,this.text=e,this.print=i,this.textAlignment=t,this.font=n,this.fontFamily=void 0}set font(e){this.fontEnumValue=e,this.fontFamily=FontStringNames[e]}get font(){return this.fontEnumValue}ToString(){return this.text}}const SpeedTag={Grava:40,Largo:46,Lento:52,Adagio:56,Larghetto:60,Andante:66,Anderato:69,Andantino:69,Moderato:88,Allegretto:108,"Allegro Moderato":108,Allegro:132,Vivace:152,Vivo:160,Vivacissimo:168,Presto:184,Prestissimo:208},SpecialMarks=["纯律","纯律结束"],HideWords=["跳过下一个","b","#","§","º","X"],GradientWords=["poco rit.","rall.","rit.","accel.","molto rit.","molto rall","lentando","poco accel.","calando"],GRADIENT_SPEED_CLOSE_TAG="结束范围速度",GRADIENT_SPEED_RESET_TAG="a tempo",SpecialWords=[GRADIENT_SPEED_CLOSE_TAG],SpeedKeyword="速度 ",SpeedHiddenKeyword="仅文本速度 ";function isSpeedKeyword(e){return 0===e.indexOf(SpeedKeyword)}function isSpeedHiddenKeyword(e){return 0===e.indexOf(SpeedHiddenKeyword)}function formatSpeedKeyword(e){return e.replace(SpeedHiddenKeyword,"").replace(SpeedKeyword,"")}function isGradientWords(e){return GradientWords.includes(e)}function isSpecialMark(e){return[...Object.keys(SpeedTag),...SpecialMarks,...SpecialWords,...HideWords].map((e=>e.trim().toLocaleUpperCase())).includes(e.toLocaleUpperCase().trim())}function isTopFont(e){return[TextAlignmentEnum.CenterTop,TextAlignmentEnum.RightTop].includes(e)}var MusicSymbol=(e=>(e[e.Unused_first_Symbol=0]="Unused_first_Symbol",e[e.BLACK_HEAD=1]="BLACK_HEAD",e[e.UPWARDS_TAIL=2]="UPWARDS_TAIL",e[e.DOWNWARDS_TAIL=3]="DOWNWARDS_TAIL",e[e.UPWARDS_DOUBLE_TAIL=4]="UPWARDS_DOUBLE_TAIL",e[e.DOWNWARDS_DOUBLE_TAIL=5]="DOWNWARDS_DOUBLE_TAIL",e[e.UPWARDS_TRIPLE_TAIL=6]="UPWARDS_TRIPLE_TAIL",e[e.DOWNWARDS_TRIPLE_TAIL=7]="DOWNWARDS_TRIPLE_TAIL",e[e.UPWARDS_QUAD_TAIL=8]="UPWARDS_QUAD_TAIL",e[e.DOWNWARDS_QUAD_TAIL=9]="DOWNWARDS_QUAD_TAIL",e[e.ROUND_HEAD=10]="ROUND_HEAD",e[e.WHITE_HEAD=11]="WHITE_HEAD",e[e.G_CLEF=12]="G_CLEF",e[e.F_CLEF=13]="F_CLEF",e[e.C_CLEF=14]="C_CLEF",e[e.BREVE=15]="BREVE",e[e.BREVE_REST=16]="BREVE_REST",e[e.COMMON_TIME=17]="COMMON_TIME",e[e.CUT_TIME=18]="CUT_TIME",e[e.WHOLE_REST=19]="WHOLE_REST",e[e.HALF_REST=20]="HALF_REST",e[e.QUARTER_REST=21]="QUARTER_REST",e[e.EIGHTH_REST=22]="EIGHTH_REST",e[e.SIXTEENTH_REST=23]="SIXTEENTH_REST",e[e.THIRTYSECOND_REST=24]="THIRTYSECOND_REST",e[e.SIXTYFOURTH_REST=25]="SIXTYFOURTH_REST",e[e.FLAT=26]="FLAT",e[e.SHARP=27]="SHARP",e[e.NATURAL=28]="NATURAL",e[e.DOUBLE_FLAT=29]="DOUBLE_FLAT",e[e.DOUBLE_SHARP=30]="DOUBLE_SHARP",e[e.ZERO=31]="ZERO",e[e.ONE=32]="ONE",e[e.TWO=33]="TWO",e[e.THREE=34]="THREE",e[e.FOUR=35]="FOUR",e[e.FIVE=36]="FIVE",e[e.SIX=37]="SIX",e[e.SEVEN=38]="SEVEN",e[e.EIGHT=39]="EIGHT",e[e.NINE=40]="NINE",e[e.DOT=41]="DOT",e[e.FERMATA=42]="FERMATA",e[e.INVERTED_FERMATA=43]="INVERTED_FERMATA",e[e.SPICCATO=44]="SPICCATO",e[e.TENUTO=45]="TENUTO",e[e.MARCATO=46]="MARCATO",e[e.MARCATISSIMO=47]="MARCATISSIMO",e[e.INVERTED_MARCATISSIMO=48]="INVERTED_MARCATISSIMO",e[e.P=49]="P",e[e.F=50]="F",e[e.S=51]="S",e[e.Z=52]="Z",e[e.M=53]="M",e[e.R=54]="R",e[e.SEGNO=55]="SEGNO",e[e.CODA=56]="CODA",e[e.DRUM_CLEF=57]="DRUM_CLEF",e[e.G_CLEF_SUB8=58]="G_CLEF_SUB8",e[e.G_CLEF_SUPER8=59]="G_CLEF_SUPER8",e[e.G_CLEF_SUB15=60]="G_CLEF_SUB15",e[e.G_CLEF_SUPER15=61]="G_CLEF_SUPER15",e[e.F_CLEF_SUB8=62]="F_CLEF_SUB8",e[e.F_CLEF_SUPER8=63]="F_CLEF_SUPER8",e[e.F_CLEF_SUB15=64]="F_CLEF_SUB15",e[e.F_CLEF_SUPER15=65]="F_CLEF_SUPER15",e[e.DOWN_BOW=66]="DOWN_BOW",e[e.MORDENT=67]="MORDENT",e[e.INVERTED_MORDENT=68]="INVERTED_MORDENT",e[e.TURN=69]="TURN",e[e.INVERTED_TURN=70]="INVERTED_TURN",e[e.LEFTHAND_PIZZICATO=71]="LEFTHAND_PIZZICATO",e[e.RELEASE_PED=72]="RELEASE_PED",e[e.ENGAGE_PED=73]="ENGAGE_PED",e[e.VA8=74]="VA8",e[e.VB8=75]="VB8",e[e.TRILL=76]="TRILL",e[e.MA15=77]="MA15",e[e.MB15=78]="MB15",e[e.HIGH=79]="HIGH",e[e.PLAY=80]="PLAY",e[e.MIC=81]="MIC",e[e.SNAP_PIZZICATO=82]="SNAP_PIZZICATO",e[e.NATURAL_HARMONIC=83]="NATURAL_HARMONIC",e[e.EditPen=84]="EditPen",e[e.PEDAL_BRACKET=85]="PEDAL_BRACKET",e[e.PEDAL_MIXED=86]="PEDAL_MIXED",e[e.PEDAL_SYMBOL=87]="PEDAL_SYMBOL",e))(MusicSymbol||{}),MusicSymbolDrawingStyle=(e=>(e[e.Normal=0]="Normal",e[e.Disabled=1]="Disabled",e[e.Selected=2]="Selected",e[e.Clickable=3]="Clickable",e[e.PlaybackSymbols=4]="PlaybackSymbols",e[e.FollowSymbols=5]="FollowSymbols",e[e.QFeedbackNotFound=6]="QFeedbackNotFound",e[e.QFeedbackOk=7]="QFeedbackOk",e[e.QFeedbackPerfect=8]="QFeedbackPerfect",e[e.Debug1=9]="Debug1",e[e.Debug2=10]="Debug2",e[e.Debug3=11]="Debug3",e))(MusicSymbolDrawingStyle||{}),PhonicScoreModes=(e=>(e[e.Following=0]="Following",e[e.Midi=1]="Midi",e[e.Manual=2]="Manual",e))(PhonicScoreModes||{});class LabelRenderSpecs{}class MusicSheetDrawer{constructor(e,t){this.drawableBoundingBoxElement="None",this.skyLineVisible=!1,this.bottomLineVisible=!1,this.needSpecialArrTs=[],this.phonicScoreMode=PhonicScoreModes.Manual,this.textMeasurer=e,this.splitScreenLineColor=-1,this.drawingParameters=t,this.rules=t.Rules}set Mode(e){this.phonicScoreMode=e}drawSheet(e){if(this.graphicalMusicSheet=e,this.rules=e.ParentMusicSheet.Rules,this.drawSplitScreenLine(),this.drawingParameters.drawCursors)for(const n of e.Cursors){if(!n)continue;const e=new BoundingBox$1(n);e.AbsolutePosition=n.Start,e.BorderBottom=n.End.y-n.Start.y,e.BorderRight=n.Width/2,e.BorderLeft=-n.Width/2,this.isVisible(e)&&this.drawLineAsVerticalRectangle(n,GraphicalLayers.Cursor)}this.drawingParameters.drawScrollIndicator&&this.drawScrollIndicator();const t=Math.min(this.graphicalMusicSheet.MusicPages.length,this.rules.MaxPageToDrawNumber);for(let n=0;n<t;n++){const e=this.graphicalMusicSheet.MusicPages[n];this.drawPage(e)}}drawLineAsHorizontalRectangle(e,t){let n=new RectangleF2D(e.Start.x,e.End.y-e.Width/2,e.End.x-e.Start.x,e.Width);n=this.applyScreenTransformationForRect(n),this.renderRectangle(n,t,e.styleId,e.colorHex)}drawLineAsVerticalRectangle(e,t){const n=e.Start,i=e.Width;let r=new RectangleF2D(n.x-i/2,n.y,i,e.End.y-n.y);r=this.applyScreenTransformationForRect(r),this.renderRectangle(r,t,e.styleId)}drawLineAsHorizontalRectangleWithOffset(e,t,n){const i=new PointF2D(e.Start.x+t.x,e.Start.y+t.y),r=new PointF2D(e.End.x+t.x,e.End.y+t.y),o=e.Width;let s=new RectangleF2D(i.x,r.y-o/2,r.x-i.x,o);s=this.applyScreenTransformationForRect(s),this.renderRectangle(s,n,e.styleId)}drawLineAsVerticalRectangleWithOffset(e,t,n){const i=new PointF2D(e.Start.x+t.x,e.Start.y+t.y),r=new PointF2D(e.End.x+t.x,e.End.y+t.y),o=e.Width;let s=new RectangleF2D(i.x,i.y,o,r.y-i.y);s=this.applyScreenTransformationForRect(s),this.renderRectangle(s,n,e.styleId)}drawRectangle(e,t){const n=e.PositionAndShape;let i=new RectangleF2D(n.AbsolutePosition.x,n.AbsolutePosition.y,n.BorderRight,n.BorderBottom);i=this.applyScreenTransformationForRect(i),this.renderRectangle(i,t,e.style)}drawLabel(e,t){var n,i,r;const o=this.graphicalMusicSheet.GetNearestNote(e.PositionAndShape.AbsolutePosition);if(!this.isVisible(e.PositionAndShape))return;const s=e.Label;if(""===s.text.trim())return;const a=this.calculateLabel(e),l=this.applyScreenTransformation(e.PositionAndShape.AbsolutePosition),c=e.PositionAndShape.Parent.DataObject;if(this.rules.MetronomeMarksDrawn&&1===(null==c||null===(n=c.measures)||void 0===n||null===(i=n[0])||void 0===i?void 0:i.MeasureNumber)&&0===(null==c||null===(r=c.ParentMusicSystem)||void 0===r?void 0:r.Id)&&isTopFont(e.Label.textAlignment)&&(a.ScreenPosition.y-=10),","===s.text){var u,h,d;let t=0;const n=(null===(u=this.graphicalMusicSheet)||void 0===u||null===(h=u.MusicPages)||void 0===h||null===(d=h[0])||void 0===d?void 0:d.MusicSystems)||[];let i;try{for(let r=0;r<n.length;r++){const s=n[r];if(e.PositionAndShape.AbsolutePosition.x<10){console.log(e.PositionAndShape.AbsolutePosition.x);const n=this.graphicalMusicSheet.MeasureList[o.sourceNote.SourceMeasure.MeasureNumber-2];n&&n[0]&&(i=n[0],t=i.PositionAndShape.AbsolutePosition.y-i.PositionAndShape.Size.height/2);break}if(s.PositionAndShape.AbsolutePosition.y-10<e.PositionAndShape.AbsolutePosition.y&&e.PositionAndShape.AbsolutePosition.y<s.PositionAndShape.AbsolutePosition.y+10){var p,f;const t=(null==s?void 0:s.GraphicalMeasures.map((e=>e[0])).filter(Boolean))||[],n=[];let r=!1;for(let o=0;o<t.length;o++){var m,g,v;const s=t[o];if(1===(null===(m=s.vfVoices)||void 0===m||null===(g=m[1])||void 0===g||null===(v=g.tickables)||void 0===v?void 0:v.length)&&s.PositionAndShape.AbsolutePosition.x<e.PositionAndShape.AbsolutePosition.x&&e.PositionAndShape.AbsolutePosition.x<s.PositionAndShape.AbsolutePosition.x+s.PositionAndShape.Size.width){i=s,r=!0;break}const a=s.PositionAndShape.AbsolutePosition.x+s.PositionAndShape.Size.width,l=e.PositionAndShape.AbsolutePosition.x;a-15<l&&l<a+15&&n.push({measure:s,x:Math.abs(l-a)})}if(r)break;i=null===(p=n.sort(((e,t)=>e.x-t.x)))||void 0===p||null===(f=p[0])||void 0===f?void 0:f.measure;break}}}catch(_){console.log("🚀 ~ error",_)}let r=0;if(i){var b;r=(null===(b=i.stave)||void 0===b?void 0:b.end_x)||0}else{var y;r=(null===(y=o.sourceNote.SourceMeasure.VerticalMeasureList[0])||void 0===y?void 0:y.getVFStave()).end_x}const s=0;a.ScreenPosition.x=r,a.ScreenPosition.y=0===t?10*(e.PositionAndShape.Parent.AbsolutePosition.y-3-s):10*t}const A=["C","G","D","A","E","B","F#","C#","G#","F","Bb","Eb","Ab","Db","Gb","Cb","Fb","D#","A#","E#"];A.includes(s.text)&&(a.ScreenPosition.y=10*(e.PositionAndShape.Parent.AbsolutePosition.y+e.PositionAndShape.Parent.BorderTop+e.PositionAndShape.Parent.BorderMarginTop)),["play","listen"].includes(s.text.toLocaleLowerCase())&&s.textAlignment===TextAlignmentEnum.LeftBottom&&(a.ScreenPosition.y=10*(e.PositionAndShape.Parent.AbsolutePosition.y-1+e.PositionAndShape.Parent.BorderBottom));const S=["ffp","p-f","sfzp","szf","sffzp"];for(let M=0;M<S.length;M++){const e=S[M].replace(/ /g,""),t=s.text.replace(/ /g,"");if(t.toLocaleLowerCase()===e.toLocaleLowerCase()||t.includes(e)){s.fontStyle=3,"sfzp"===s.text&&(s.fontHeight=2.3);break}}const x=e.PositionAndShape.Size.width/2*10;if(l.x-x<e.PositionAndShape.RelativePosition.x&&(a.ScreenPosition.x=10*(e.PositionAndShape.RelativePosition.x+this.rules.PageLeftMargin)),isSpecialMark(e.Label.text||"")&&!A.includes(s.text)&&(e.Label.fontHeight=0),this.rules.MetronomeMarksDrawn&&e.Label.fontHeight>0&&(isTopFont(e.Label.textAlignment)||[TextAlignmentEnum.CenterBottom].includes(e.Label.textAlignment))){let t=-1,n=!1;for(const i of(null==c?void 0:c.AbstractExpressions)||[]){var E,w;if(i.Label===e)t=null==i||null===(w=i.parentMeasure)||void 0===w?void 0:w.measureListIndex;else null!==(E=i.expression)&&void 0!==E&&E.TempoInBpm&&(n=i.expression.TempoInBpm>0);if(n&&t>-1){a.ScreenPosition.y-=40;break}}}"jianpu"===this.rules.DYMusicScoreType?isNaN(parseInt(e.Label.text,10))&&this.renderLabel(e,t,a):this.renderLabel(e,t,a)}calculateLabel(e){const t=new LabelRenderSpecs,n=e.Label;t.ScreenPosition=this.applyScreenTransformation(e.PositionAndShape.AbsolutePosition),t.FontHeightInPixel=this.calculatePixelDistance(n.fontHeight);const i=this.calculatePixelDistance(e.PositionAndShape.Size.width);switch(t.BitmapWidth=Math.ceil(i),t.BitmapHeight=e.TextLines?Math.ceil(t.FontHeightInPixel*(.2+e.TextLines.length)):10,n.textAlignment){case TextAlignmentEnum.LeftTop:break;case TextAlignmentEnum.LeftCenter:t.ScreenPosition.y-=t.BitmapHeight/2;break;case TextAlignmentEnum.LeftBottom:t.ScreenPosition.y-=t.BitmapHeight;break;case TextAlignmentEnum.CenterTop:t.ScreenPosition.x-=t.BitmapWidth/2;break;case TextAlignmentEnum.CenterCenter:t.ScreenPosition.x-=t.BitmapWidth/2,t.ScreenPosition.y-=t.BitmapHeight/2;break;case TextAlignmentEnum.CenterBottom:t.ScreenPosition.x-=t.BitmapWidth/2,t.ScreenPosition.y-=t.BitmapHeight,"筒音作5"===n.text&&"jianpu"===this.rules.DYMusicScoreType&&(t.ScreenPosition.x=80);break;case TextAlignmentEnum.RightTop:t.ScreenPosition.x-=t.BitmapWidth;break;case TextAlignmentEnum.RightCenter:t.ScreenPosition.x-=t.BitmapWidth,t.ScreenPosition.y-=t.BitmapHeight/2;break;case TextAlignmentEnum.RightBottom:t.ScreenPosition.x-=t.BitmapWidth,t.ScreenPosition.y-=t.BitmapHeight;break;default:throw new ArgumentOutOfRangeException("")}const r=e.PositionAndShape.Parent.DataObject,o=[1,3,7,9,15,20,22,24,28,30,36,41];var s,a;this.rules.DYMusicScoreId&&"1722157850347765762"===this.rules.DYMusicScoreId&&("."===n.text&&(t.ScreenPosition.x=142,t.ScreenPosition.y=134),"T"===n.text&&(this.needSpecialArrTs.push(t),1===(null==r||null===(s=r.measures)||void 0===s||null===(a=s[0])||void 0===a?void 0:a.MeasureNumber)?t.ScreenPosition.y+=20:t.ScreenPosition.y-=20));for(let l in this.needSpecialArrTs)o.includes(Number(l))&&(this.needSpecialArrTs[l].ScreenPosition.x-=20);return t}applyScreenTransformations(e){const t=[];for(const n of e)t.push(this.applyScreenTransformation(n));return t}drawSplitScreenLine(){}renderRectangle(e,t,n,i=undefined,r=1){throw new Error("not implemented")}drawScrollIndicator(){}drawSelectionStartSymbol(e){}drawSelectionEndSymbol(e){}renderLabel(e,t,n){throw new Error("not implemented")}renderSystemToScreen(e,t,n){}drawSkyLine(e){}drawBottomLine(e){}drawInstrumentBrace(e,t){}drawGroupBracket(e,t){}isVisible(e){return!0}drawMusicSystem(e){const t=this.getSystemAbsBoundingRect(e),n=this.getSytemBoundingBoxInPixels(t);this.drawMusicSystemComponents(e,n,t)}getSytemBoundingBoxInPixels(e){const t=this.applyScreenTransformationForRect(e);return t.x=Math.round(t.x),t.y=Math.round(t.y),t}getSystemAbsBoundingRect(e){const t=e.PositionAndShape.BoundingRectangle;return new RectangleF2D(e.PositionAndShape.AbsolutePosition.x+e.PositionAndShape.BorderLeft-1,e.PositionAndShape.AbsolutePosition.y+e.PositionAndShape.BorderTop-1,t.width+6,t.height+2)}drawMusicSystemComponents(e,t,n){const i=this.graphicalMusicSheet.SelectionStartSymbol,r=this.graphicalMusicSheet.SelectionEndSymbol;this.drawingParameters.drawSelectionStartSymbol&&void 0!==i&&this.isVisible(i.PositionAndShape)&&this.drawSelectionStartSymbol(i),this.drawingParameters.drawSelectionEndSymbol&&void 0!==r&&this.isVisible(r.PositionAndShape)&&this.drawSelectionEndSymbol(r);for(const a of e.StaffLines)this.drawStaffLine(a),this.rules.RenderLyrics&&(a.LyricsDashes.length>0&&this.drawDashes(a.LyricsDashes),a.LyricLines.length>0&&this.drawLyricLines(a.LyricLines,a));for(const a of e.SystemLines)this.drawSystemLineObject(a);if(this.rules.RenderSystemLabelsAfterFirstPage||e.Parent===e.Parent.Parent.MusicPages[0])for(const a of e.Labels)a.SVGNode=this.drawLabel(a,GraphicalLayers.Notes);const o=this.graphicalMusicSheet.ParentMusicSheet.Instruments,s=o.filter((e=>e.Visible)).length;for(const a of e.InstrumentBrackets)this.drawInstrumentBrace(a,e);if(o.length>0)if(s>1)for(const a of e.GroupBrackets)this.drawGroupBracket(a,e);else for(const a of e.GroupBrackets)a.Visible=!1;if(!this.leadSheet)for(const a of e.MeasureNumberLabels)a.SVGNode=this.drawLabel(a,GraphicalLayers.Notes);for(const a of e.StaffLines)this.drawStaffLineSymbols(a);this.drawingParameters.drawMarkedAreas&&this.drawMarkedAreas(e)}activateSystemRendering(e,t,n,i){return!0}drawSystemLineObject(e){}drawStaffLine(e){for(const t of e.Measures)this.drawMeasure(t),t.parentSourceMeasure&&(t.parentSourceMeasure.WasRendered=!0);this.rules.RenderLyrics&&e.LyricsDashes.length>0&&this.drawDashes(e.LyricsDashes),this.drawOctaveShifts(e),this.drawPedals(e),this.drawWavyLines(e),this.drawExpressions(e),this.skyLineVisible&&this.drawSkyLine(e),this.bottomLineVisible&&this.drawBottomLine(e)}drawLyricLines(e,t){t.LyricLines.forEach((e=>{e.Start.y+=t.PositionAndShape.AbsolutePosition.y,e.End.y+=t.PositionAndShape.AbsolutePosition.y,e.Start.x+=t.PositionAndShape.AbsolutePosition.x,e.End.x+=t.PositionAndShape.AbsolutePosition.x,this.drawGraphicalLine(e,this.rules.LyricUnderscoreLineWidth,e.colorHex)}))}drawExpressions(e){}drawGraphicalLine(e,t,n="black"){return this.drawLine(e.Start,e.End,n,t)}drawLine(e,t,n="#FF0000FF",i){}drawDashes(e){e.forEach((e=>e.SVGNode=this.drawLabel(e,GraphicalLayers.Notes)))}drawOctaveShifts(e){}drawStaffLines(e){if(e.StaffLines){const t=e.PositionAndShape.AbsolutePosition;for(let n=0;n<5;n++)this.drawLineAsHorizontalRectangleWithOffset(e.StaffLines[n],t,GraphicalLayers.Notes)}}drawSymbol(e,t,n,i=1,r=GraphicalLayers.Notes){}get leadSheet(){return this.graphicalMusicSheet.LeadSheet}set leadSheet(e){this.graphicalMusicSheet.LeadSheet=e}drawPage(e){if(this.isVisible(e.PositionAndShape)){for(const t of e.MusicSystems)this.isVisible(t.PositionAndShape)&&this.drawMusicSystem(t);if(e===e.Parent.MusicPages[0])for(const t of e.Labels)t.SVGNode=this.drawLabel(t,GraphicalLayers.Notes);this.drawableBoundingBoxElement&&this.drawBoundingBoxes(e.PositionAndShape,0,this.drawableBoundingBoxElement)}}drawBoundingBoxes(e,t=0,n="all"){const i=e.DataObject.constructor.name;let r=!1;"all"===n&&(r=!0),(r||i===n)&&this.drawBoundingBox(e,void 0,!0,i,t),t++,e.ChildElements.forEach((e=>this.drawBoundingBoxes(e,t,n)))}drawBoundingBox(e,t=undefined,n=!1,i=undefined,r=0){let o=new RectangleF2D(e.AbsolutePosition.x+e.BorderMarginLeft,e.AbsolutePosition.y+e.BorderMarginTop,e.BorderMarginRight-e.BorderMarginLeft,e.BorderMarginBottom-e.BorderMarginTop);n&&(this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(e.AbsolutePosition.x-1,e.AbsolutePosition.y),new PointF2D(e.AbsolutePosition.x+1,e.AbsolutePosition.y),.1,OutlineAndFillStyleEnum.BaseWritingColor,t),r-1),this.drawLineAsVerticalRectangle(new GraphicalLine(new PointF2D(e.AbsolutePosition.x,e.AbsolutePosition.y-1),new PointF2D(e.AbsolutePosition.x,e.AbsolutePosition.y+1),.1,OutlineAndFillStyleEnum.BaseWritingColor,t),r-1)),o=this.applyScreenTransformationForRect(o);const s=this.renderRectangle(o,GraphicalLayers.Background,r,t,.5);if(i){const e=new Label(i),t=new LabelRenderSpecs;t.BitmapWidth=o.width,t.BitmapHeight=o.height,t.FontHeightInPixel=o.height,t.ScreenPosition=new PointF2D(o.x,o.y+12),this.renderLabel(new GraphicalLabel(e,.8,TextAlignmentEnum.CenterCenter,this.rules),r,t)}return s}drawMarkedAreas(e){for(const t of e.GraphicalMarkedAreas)t&&(t.systemRectangle&&this.drawRectangle(t.systemRectangle,GraphicalLayers.Background),t.settings&&(t.settings.SVGNode=this.drawLabel(t.settings,GraphicalLayers.Comment)),t.labelRectangle&&this.drawRectangle(t.labelRectangle,GraphicalLayers.Background),t.label&&(t.label.SVGNode=this.drawLabel(t.label,GraphicalLayers.Comment)))}drawStaffLineSymbols(e){const t=e.ParentStaff.ParentInstrument,n=e.PositionAndShape.AbsolutePosition.x,i=e.PositionAndShape.AbsolutePosition.y+2,r=e.PositionAndShape.BorderRight;t.highlight&&this.drawingParameters.drawHighlights&&this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(n,i),new PointF2D(n+r,i),4,OutlineAndFillStyleEnum.Highlighted),GraphicalLayers.Highlight);let o=MusicSymbolDrawingStyle.Disabled,s=MusicSymbol.PLAY,a=this.drawingParameters.drawActivitySymbols;switch(this.phonicScoreMode){case PhonicScoreModes.Midi:s=MusicSymbol.PLAY,this.midiPlaybackAvailable&&e.ParentStaff.audible&&(o=MusicSymbolDrawingStyle.PlaybackSymbols);break;case PhonicScoreModes.Following:s=MusicSymbol.MIC,e.ParentStaff.following&&(o=MusicSymbolDrawingStyle.FollowSymbols);break;default:a=!1}if(a){const e=new PointF2D(n+r+2,i);this.drawSymbol(s,o,e)}if(this.drawingParameters.drawErrors)for(const l of e.Measures){const e=l.PositionAndShape,t=e.AbsolutePosition.x,n=e.AbsolutePosition.y+2;l.hasError&&this.graphicalMusicSheet.ParentMusicSheet.DrawErroneousMeasures&&this.drawLineAsHorizontalRectangle(new GraphicalLine(new PointF2D(t,n),new PointF2D(t+e.BorderRight,n),4,OutlineAndFillStyleEnum.ErrorUnderlay),GraphicalLayers.MeasureError)}}}class VexFlowTextMeasurer{constructor(e){this.fontSize=20,this.fontSizeStandard=this.fontSize;const t=document.createElement("canvas");this.context=t.getContext("2d"),this.rules=e}computeTextWidthToHeightRatio(e,t,n,i=undefined,r=this.fontSize){return this.context.font=VexFlowConverter.font(r,n,t,this.rules,i),this.context.measureText(e).width/r}setFontSize(e=this.fontSizeStandard){return this.fontSize=e,e}}class AbstractGraphicalExpression extends GraphicalObject{constructor(e,t,n){super(),this.expression=t,this.parentMeasure=n,this.boundingBox=new BoundingBox$1(this,e.PositionAndShape),this.parentStaffLine=e,this.parentStaffLine.AbstractExpressions.push(this),this.rules=e.ParentMusicSystem.rules}get Label(){return this.label}get ParentStaffLine(){return this.parentStaffLine}get SourceExpression(){return this.expression}get Placement(){return this.expression.Placement}}class GraphicalInstantaneousTempoExpression extends AbstractGraphicalExpression{constructor(e,t){super(t.PositionAndShape.Parent.DataObject,e,e.parentMeasure),this.label=t}get GraphicalLabel(){return this.label}updateSkyBottomLine(){}}class GraphicalInstantaneousDynamicExpression extends AbstractGraphicalExpression{constructor(e,t,n){super(t,e,n.parentSourceMeasure),this.mInstantaneousDynamicExpression=e,this.mMeasure=n}updateSkyBottomLine(){const e=this.parentStaffLine.SkyBottomLineCalculator,t=this.PositionAndShape.RelativePosition.x+this.PositionAndShape.BorderMarginLeft,n=this.PositionAndShape.RelativePosition.x+this.PositionAndShape.BorderMarginRight;let i=0;switch(this.Placement){case PlacementEnum.Above:i=this.PositionAndShape.RelativePosition.y+this.PositionAndShape.BorderMarginTop,e.updateSkyLineInRange(t,n,i);break;case PlacementEnum.Below:i=this.PositionAndShape.RelativePosition.y+this.PositionAndShape.BorderMarginBottom,e.updateBottomLineInRange(t,n,i);break;default:loglevelExports.error("Placement for GraphicalInstantaneousDynamicExpression is unknown")}}}class GraphicalContinuousDynamicExpression extends AbstractGraphicalExpression{constructor(e,t,n){super(t,e,n),this.lines=[],this.isSplittedPart=!1,this.notToBeRemoved=!1}get StartMeasure(){return this.startMeasure}set StartMeasure(e){this.startMeasure=e}get EndMeasure(){return this.endMeasure}set EndMeasure(e){this.endMeasure=e}get EndStaffLine(){return this.endMeasure?this.endMeasure.ParentStaffLine:void 0}get IsSplittedPart(){return this.isSplittedPart}set IsSplittedPart(e){this.isSplittedPart=e}get IsVerbal(){return this.ContinuousDynamic.Label&&this.ContinuousDynamic.Label.length>0}get NotToBeRemoved(){return this.notToBeRemoved}set NotToBeRemoved(e){this.notToBeRemoved=e}get Lines(){return this.lines}get ContinuousDynamic(){return this.SourceExpression}updateSkyBottomLine(){const e=this.parentStaffLine.SkyBottomLineCalculator,t=this.IsVerbal?this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginLeft:0,n=this.IsVerbal?this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginRight:0;var i;(!this.IsSoftAccent&&!this.IsVerbal&&this.lines.length<2&&loglevelExports.warn("Not enough lines for SkyBottomLine calculation"),this.IsVerbal)||this.ContinuousDynamic.DynamicType!==ContDynamicEnum.crescendo&&this.ContinuousDynamic.DynamicType!==ContDynamicEnum.diminuendo&&loglevelExports.warn("GraphicalContinuousDynamicExpression.updateSkyBottomLine(): unhandled continuous dynamic type. start measure: "+(null===(i=this.startMeasure)||void 0===i?void 0:i.MeasureNumber));switch(this.Placement){case PlacementEnum.Above:if(this.IsSoftAccent)e.updateSkyLineWithWedge(this.lines[0].Start,this.lines[0].End),e.updateSkyLineWithWedge(this.lines[2].End,this.lines[2].Start),e.updateSkyLineWithLine(this.lines[0].End,this.lines[2].End,this.lines[0].End.y);else if(this.IsVerbal){const i=this.label.PositionAndShape.BorderMarginTop+this.label.PositionAndShape.RelativePosition.y;e.updateSkyLineInRange(t,n,i)}else this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?e.updateSkyLineWithWedge(this.lines[0].Start,this.lines[0].End):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&e.updateSkyLineWithWedge(this.lines[0].End,this.lines[0].Start);break;case PlacementEnum.Below:if(this.IsVerbal){const i=this.label.PositionAndShape.BorderMarginBottom+this.label.PositionAndShape.RelativePosition.y;e.updateBottomLineInRange(t,n,i)}else this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?e.updateBottomLineWithWedge(this.lines[1].Start,this.lines[1].End):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&e.updateBottomLineWithWedge(this.lines[1].End,this.lines[1].Start);break;default:loglevelExports.error("Placement for GraphicalContinuousDynamicExpression is unknown")}}createCrescendoLines(e,t,n,i=this.rules.WedgeOpeningLength,r=this.rules.WedgeLineWidth){const o=new PointF2D(e,n),s=new PointF2D(t,n-i/2),a=new PointF2D(t,n+i/2);this.addWedgeLines(o,s,a,r)}createFirstHalfCrescendoLines(e,t,n,i=this.rules.WedgeMeasureEndOpeningLength,r=this.rules.WedgeLineWidth){const o=new PointF2D(e,n),s=new PointF2D(t,n-i/2),a=new PointF2D(t,n+i/2);this.addWedgeLines(o,s,a,r)}createSecondHalfCrescendoLines(e,t,n,i=this.rules.WedgeMeasureBeginOpeningLength,r=this.rules.WedgeOpeningLength,o=this.rules.WedgeLineWidth){const s=new PointF2D(e,n-i/2),a=new PointF2D(e,n+i/2),l=new PointF2D(t,n-r/2),c=new PointF2D(t,n+r/2);this.addDoubleLines(s,l,a,c,o)}recalculateCrescendoLines(e,t,n){const i=Math.abs(this.lines[0].Start.y-this.lines[1].Start.y)>1e-4;this.lines.clear(),i?this.createSecondHalfCrescendoLines(e,t,n):this.isSplittedPart?this.createFirstHalfCrescendoLines(e,t,n):this.createCrescendoLines(e,t,n)}createDiminuendoLines(e,t,n,i=this.rules.WedgeOpeningLength,r=this.rules.WedgeLineWidth){const o=new PointF2D(e,n-i/2),s=new PointF2D(e,n+i/2),a=new PointF2D(t,n);this.addWedgeLines(a,o,s,r)}createFirstHalfDiminuendoLines(e,t,n,i=this.rules.WedgeOpeningLength,r=this.rules.WedgeMeasureEndOpeningLength,o=this.rules.WedgeLineWidth){const s=new PointF2D(e,n-i/2),a=new PointF2D(e,n+i/2),l=new PointF2D(t,n-r/2),c=new PointF2D(t,n+r/2);this.addDoubleLines(s,l,a,c,o)}createSecondHalfDiminuendoLines(e,t,n,i=this.rules.WedgeMeasureBeginOpeningLength,r=this.rules.WedgeLineWidth){const o=new PointF2D(e,n-i/2),s=new PointF2D(e,n+i/2),a=new PointF2D(t,n);this.addWedgeLines(a,o,s,r)}recalculateDiminuendoLines(e,t,n){const i=Math.abs(this.lines[0].End.y-this.lines[1].End.y)>1e-4;this.lines.clear(),i?this.createFirstHalfDiminuendoLines(e,t,n):this.isSplittedPart?this.createSecondHalfDiminuendoLines(e,t,n):this.createDiminuendoLines(e,t,n)}createFirstHalfLines(e,t,n,i=this.rules.WedgeOpeningLength,r=this.rules.WedgeMeasureEndOpeningLength,o=this.rules.WedgeLineWidth){this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?this.createFirstHalfCrescendoLines(e,t,n,r,o):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&this.createFirstHalfDiminuendoLines(e,t,n,i,r,o)}createSecondHalfLines(e,t,n,i=this.rules.WedgeMeasureBeginOpeningLength,r=this.rules.WedgeOpeningLength,o=this.rules.WedgeLineWidth){this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?this.createSecondHalfCrescendoLines(e,t,n,i,r,o):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&this.createSecondHalfDiminuendoLines(e,t,n,i,o)}createLines(e,t,n,i=this.rules.WedgeOpeningLength,r=this.rules.WedgeLineWidth){this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?this.createCrescendoLines(e,t,n,i,r):this.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo&&this.createDiminuendoLines(e,t,n,i,r)}calcPsi(){this.IsVerbal?this.PositionAndShape.calculateBoundingBox():(this.PositionAndShape.RelativePosition=this.lines[0].Start,this.PositionAndShape.BorderMarginTop=this.lines[0].End.y-this.lines[0].Start.y,this.PositionAndShape.BorderMarginBottom=this.lines[1].End.y-this.lines[1].Start.y,this.PositionAndShape.Center.y=(this.PositionAndShape.BorderMarginTop+this.PositionAndShape.BorderMarginBottom)/2,this.IsSoftAccent?(this.PositionAndShape.BorderMarginLeft=0,this.PositionAndShape.BorderMarginRight=this.lines[3].Start.x-this.lines[0].Start.x):this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?(this.PositionAndShape.BorderMarginLeft=0,this.PositionAndShape.BorderMarginRight=this.lines[0].End.x-this.lines[0].Start.x):(this.PositionAndShape.BorderMarginLeft=this.lines[0].End.x-this.lines[0].Start.x,this.PositionAndShape.BorderMarginRight=0))}cleanUp(){this.lines.clear()}shiftYPosition(e){this.IsVerbal?(this.PositionAndShape.RelativePosition.y+=e,this.PositionAndShape.calculateBoundingBox()):(this.lines[0].Start.y+=e,this.lines[0].End.y+=e,this.lines[1].End.y+=e)}squeeze(e){if(this.IsVerbal)return;Math.abs(this.lines[0].End.x-this.lines[0].Start.x)<Math.abs(e)||(this.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?e>0?this.lines[0].Start.x+=e:(this.lines[0].End.x+=e,this.lines[1].End.x+=e):e<0?this.lines[0].Start.x+=e:(this.lines[0].End.x+=e,this.lines[1].End.x+=e),this.calcPsi())}addWedgeLines(e,t,n,i){const r=new GraphicalLine(e,t,i),o=new GraphicalLine(e,n,i);this.rules.DefaultColorMusic&&(r.colorHex=this.rules.DefaultColorMusic,o.colorHex=this.rules.DefaultColorMusic),this.lines.push(r),this.lines.push(o)}addDoubleLines(e,t,n,i,r){const o=new GraphicalLine(e,t,r),s=new GraphicalLine(n,i,r);this.rules.DefaultColorMusic&&(o.colorHex=this.rules.DefaultColorMusic,s.colorHex=this.rules.DefaultColorMusic),this.lines.push(o),this.lines.push(s)}}class DrawingParameters{constructor(e=DrawingParametersEnum.default,t){this.drawCursors=!0,this.drawTitle=!0,this.drawSubtitle=!0,this.drawLyricist=!0,this.drawComposer=!0,this.drawCopyright=!1,this.drawCredits=!0,this.drawPartNames=!0,this.fingeringPosition=PlacementEnum.Left,this.drawHiddenNotes=!1,this.rules=t,this.rules||(this.rules=new EngravingRules),this.DrawingParametersEnum=e}set DrawingParametersEnum(e){switch(this.drawingParametersEnum=e,e){case DrawingParametersEnum.allon:this.setForAllOn();break;case DrawingParametersEnum.thumbnail:this.setForThumbnail();break;case DrawingParametersEnum.leadsheet:this.setForLeadsheet();break;case DrawingParametersEnum.compact:this.setForCompactMode();break;case DrawingParametersEnum.compacttight:this.setForCompactTightMode();break;case DrawingParametersEnum.default:default:this.setForDefault()}}get DrawingParametersEnum(){return this.drawingParametersEnum}setForAllOn(){this.drawHighlights=!0,this.drawErrors=!0,this.drawSelectionStartSymbol=!0,this.drawSelectionEndSymbol=!0,this.drawCursors=!0,this.drawActivitySymbols=!0,this.drawScrollIndicator=!0,this.drawAnnotations=!0,this.drawComments=!0,this.drawMarkedAreas=!0,this.DrawTitle=!0,this.DrawSubtitle=!0,this.DrawComposer=!0,this.DrawLyricist=!0,this.drawCredits=!0,this.DrawPartNames=!0,this.drawHiddenNotes=!0,this.rules.CompactMode=!1}setForDefault(){this.rules.loadDefaultValues(),this.setForAllOn(),this.drawHiddenNotes=!1}setForThumbnail(){this.drawHighlights=!1,this.drawErrors=!1,this.drawSelectionStartSymbol=!1,this.drawSelectionStartSymbol=!1,this.drawCursors=!1,this.drawActivitySymbols=!1,this.drawScrollIndicator=!1,this.drawAnnotations=!0,this.drawComments=!0,this.drawMarkedAreas=!0,this.drawHiddenNotes=!1}setForCompactMode(){this.rules.CompactMode=!0,this.DrawCredits=!1,this.drawHiddenNotes=!1}setForCompactTightMode(){this.setForCompactMode(),this.DrawPartNames=!1,this.rules.VoiceSpacingMultiplierVexflow=.65,this.rules.VoiceSpacingAddendVexflow=2,this.rules.MinSkyBottomDistBetweenStaves=1,this.rules.MinSkyBottomDistBetweenSystems=1,this.rules.BetweenStaffDistance=2.5,this.rules.StaffDistance=3.5,this.rules.MinimumDistanceBetweenSystems=1,this.rules.PageBottomMargin=0,this.rules.PageLeftMargin=2,this.rules.PageRightMargin=2}setForLeadsheet(){this.drawHighlights=!1,this.drawErrors=!1,this.drawSelectionStartSymbol=!0,this.drawSelectionEndSymbol=!0,this.drawCursors=!0,this.drawActivitySymbols=!1,this.drawScrollIndicator=!0,this.drawAnnotations=!0,this.drawComments=!0,this.drawMarkedAreas=!0}get DrawCredits(){return this.drawCredits}set DrawCredits(e){this.drawCredits=e,this.DrawComposer=e,this.DrawTitle=e,this.DrawSubtitle=e,this.DrawLyricist=e,this.DrawCopyright=e}get DrawTitle(){return this.drawTitle}set DrawTitle(e){this.drawTitle=e,this.rules.RenderTitle=e,e||(this.DrawSubtitle=!1)}get DrawSubtitle(){return this.drawSubtitle}set DrawSubtitle(e){this.drawSubtitle=e,this.rules.RenderSubtitle=e,e&&(this.DrawTitle=!0)}get DrawComposer(){return this.drawComposer}set DrawComposer(e){this.drawComposer=e,this.rules.RenderComposer=e}get DrawLyricist(){return this.drawLyricist}set DrawLyricist(e){this.drawLyricist=e,this.rules.RenderLyricist=e}get DrawCopyright(){return this.drawCopyright}set DrawCopyright(e){this.drawCopyright=e,this.rules.RenderCopyright=e}get DrawPartNames(){return this.drawPartNames}set DrawPartNames(e){this.drawPartNames=e,this.rules.RenderPartNames=e,this.rules.RenderPartNames||(this.rules.RenderPartAbbreviations=!1)}get FingeringPosition(){return this.fingeringPosition}set FingeringPosition(e){this.fingeringPosition=e,this.rules.FingeringPosition=e}get Rules(){return this.rules}set Rules(e){this.rules=e}}class GraphicalUnknownExpression extends AbstractGraphicalExpression{constructor(e,t,n,i,r=undefined){super(e,new AbstractExpression(n),i),this.label=t,this.sourceMultiExpression=r}updateSkyBottomLine(){const e=this.parentStaffLine.SkyBottomLineCalculator,t=this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginLeft,n=this.label.PositionAndShape.RelativePosition.x+this.label.PositionAndShape.BorderMarginRight;switch(this.Placement){case PlacementEnum.Above:const i=this.label.PositionAndShape.BorderMarginTop+this.label.PositionAndShape.RelativePosition.y;e.updateSkyLineInRange(t,n,i);break;case PlacementEnum.Below:const r=this.label.PositionAndShape.BorderMarginBottom+this.label.PositionAndShape.RelativePosition.y;e.updateBottomLineInRange(t,n,r);break;default:loglevelExports.error("Placement for GraphicalUnknownExpression is unknown")}}}const VF$c=Vex.Flow;class VexFlowBackend{getInnerElement(){return this.inner}getCanvas(){return this.canvas}getRenderElement(){let e=this.canvas;return this.getVexflowBackendType()===VF$c.Renderer.Backends.CANVAS&&(e=this.inner),e}getRenderer(){return this.renderer}removeAllChildrenFromContainer(e){for(;0!==e.children.length;)e.removeChild(e.children.item(0))}removeFromContainer(e){const t=this.getRenderElement();for(let n=0;n<e.children.length;n++)if(e.children.item(n)===t){e.removeChild(t);break}}resize(e,t){this.renderer.resize(e,t),this.width=e,this.height=t}}const VF$b=Vex.Flow;class SvgVexFlowBackend extends VexFlowBackend{constructor(e){super(),this.rules=e,this.textId=0}getVexflowBackendType(){return VF$b.Renderer.Backends.SVG}getOSMDBackendType(){return BackendType.SVG}getCanvasSize(){var e;return null===(e=document.getElementById("osmdCanvasPage"+this.graphicalMusicPage.PageNumber))||void 0===e?void 0:e.offsetHeight}initialize(e,t,n=undefined){this.zoom=t,this.canvas=document.createElement("div"),n||(n=this.graphicalMusicPage?this.graphicalMusicPage.PageNumber.toString():"1"),this.canvas.id="osmdCanvasPage"+n,this.inner=this.canvas,this.inner.style.position="relative",this.canvas.style.zIndex="0",e.appendChild(this.inner),this.renderer=new Vex.Flow.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext(),this.ctx.svg.id="osmdSvgPage"+n}getContext(){return this.ctx}getSvgElement(){return this.ctx.svg}removeNode(e){var t;const n=null===(t=this.ctx)||void 0===t?void 0:t.svg;if(!n)return!1;try{n.removeChild(e)}catch(i){return loglevelExports.error(i),!1}return!0}free(){const e=this.ctx.svg;for(;e.lastChild;)e.removeChild(e.lastChild)}clear(){this.ctx&&(this.free(),this.rules.PageBackgroundColor&&(this.ctx.svg.style["background-color"]=this.rules.PageBackgroundColor))}scale(e){this.ctx.scale(e,e)}translate(e,t){}renderText(e,t,n,i,r,o,s=undefined,a=undefined){this.ctx.save();const l=this.ctx.openGroup("text");s&&(this.ctx.attributes.fill=s,this.ctx.attributes.stroke=s);let c=a;a&&"default"!==a||(c=this.rules.DefaultFontFamily),this.ctx.setFont(c,e,VexFlowConverter.fontStyle(t)),this.ctx.attributes["font-size"]=`${e}px`,this.ctx.state["font-size"]=`${e}px`;let u="normal",h="normal";switch(t){case FontStyles.Bold:u="bold";break;case FontStyles.Italic:h="italic";break;case FontStyles.BoldItalic:u="bold",h="italic";break;default:u="normal"}return this.ctx.attributes["font-weight"]=u,this.ctx.state["font-weight"]=u,this.ctx.attributes["font-style"]=h,this.ctx.state["font-style"]=h,this.ctx.fillText(i,o.x,o.y+r),this.ctx.closeGroup(),this.ctx.restore(),l}renderRectangle(e,t,n,i=1){this.ctx.save();const r=this.ctx.openGroup("rect");return this.ctx.attributes.fill=n||VexFlowConverter.style(t),this.ctx.attributes["fill-opacity"]=i,this.ctx.fillRect(e.x,e.y,e.width,e.height),this.ctx.restore(),this.ctx.attributes["fill-opacity"]=1,this.ctx.closeGroup(),r}renderLine(e,t,n="#FF0000FF",i=2,r){this.ctx.save();const o=this.ctx.openGroup("line",r);return this.ctx.beginPath(),this.ctx.moveTo(e.x,e.y),this.ctx.lineTo(t.x,t.y),this.ctx.attributes.stroke=n,this.ctx.lineWidth=i,this.ctx.stroke(),this.ctx.closeGroup(),this.ctx.restore(),o}renderCurve(e){const t=this.ctx.openGroup("curve");return this.ctx.beginPath(),this.ctx.moveTo(e[0].x,e[0].y),this.ctx.bezierCurveTo(e[1].x,e[1].y,e[2].x,e[2].y,e[3].x,e[3].y),this.ctx.lineTo(e[7].x,e[7].y),this.ctx.bezierCurveTo(e[6].x,e[6].y,e[5].x,e[5].y,e[4].x,e[4].y),this.ctx.lineTo(e[0].x,e[0].y),this.ctx.closePath(),this.ctx.fill(),this.ctx.closeGroup(),t}renderPath(e,t=!0,n){const i=this.ctx.openGroup("path",n);let r;this.ctx.beginPath();for(const o of e)r?this.ctx.lineTo(o.x,o.y):(this.ctx.moveTo(o.x,o.y),r=o);return this.ctx.closePath(),t?this.ctx.fill():this.ctx.stroke(),this.ctx.stroke(),this.ctx.closeGroup(),i}export(){const e=this.ctx.svg.cloneNode(!0),t=document.implementation.createDocumentType("svg","-//W3C//DTD SVG 1.1//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"),n=document.implementation.createDocument("http://www.w3.org/2000/svg","svg",t);n.replaceChild(e,n.documentElement);const i=(new XMLSerializer).serializeToString(n),r=document.createElement("a");r.href="data:image/svg+xml; charset=utf8, "+encodeURIComponent(i.replace(/></g,">\n\r<")),r.download="opensheetmusicdisplay_download.svg",r.innerHTML=window.location.href+"/download",document.body.appendChild(r)}}const unitInPixels=10;class VexFlowMusicSheetDrawer extends MusicSheetDrawer{constructor(e=new DrawingParameters){super(new VexFlowTextMeasurer(e.Rules),e),this.backends=[],this.zoom=1,this.pageIdx=0,this.getDotId=(e,t)=>t?String(e.Label.PositionAndShape.RelativePosition[t]):String(e.Label.PositionAndShape.RelativePosition.x)+String(e.Label.PositionAndShape.RelativePosition.y),this.hasDot=(e,t,n,i)=>{const r=t||Object.values(i);for(const o of r){if(n)return e.x===o.x&&e.y===o.y;if(e.x===o.x)return!0}return!1}}get Zoom(){return this.zoom}get Backends(){return this.backends}initializeBackendForPage(e){this.backend=this.backends[e.PageNumber-1]}drawSheet(e){var t,n,i;"gonville"===this.rules.DefaultVexFlowNoteFont&&(Vex.Flow.DEFAULT_FONT_STACK=[null===(t=Vex.Flow.Fonts)||void 0===t?void 0:t.Gonville,null===(n=Vex.Flow.Fonts)||void 0===n?void 0:n.Bravura,null===(i=Vex.Flow.Fonts)||void 0===i?void 0:i.Custom]);Vex.Flow.STAVE_LINE_THICKNESS=this.rules.StaffLineWidth*unitInPixels,Vex.Flow.STEM_WIDTH=this.rules.StemWidth*unitInPixels,Vex.Flow.DEFAULT_NOTATION_FONT_SCALE=this.rules.VexFlowDefaultNotationFontScale,Vex.Flow.DEFAULT_TAB_FONT_SCALE=this.rules.VexFlowDefaultTabFontScale,this.pageIdx=0;for(const r of e.MusicPages){if(r.PageNumber>this.rules.MaxPageToDrawNumber)break;const e=this.backends[this.pageIdx];e.graphicalMusicPage=r,e.scale(this.zoom),this.pageIdx+=1}this.pageIdx=0,this.backend=this.backends[0],super.drawSheet(e)}drawPage(e){e&&(this.backend=this.backends[e.PageNumber-1],super.drawPage(e),this.pageIdx+=1)}clear(){for(const e of this.backends)e.clear()}setZoom(e){this.zoom=e}calculatePixelDistance(e){return e*unitInPixels}drawStaffLine(e){const t=this.backend.getContext().openGroup();t&&t.classList.add("staffline"),super.drawStaffLine(e);const n=e.PositionAndShape.AbsolutePosition;this.rules.RenderSlurs&&this.drawSlurs(e,n),this.backend.getContext().closeGroup(),this.rules.RenderGlissandi&&this.drawGlissandi(e,n)}drawSlurs(e,t){var n;const i=null===(n=window.GYM)||void 0===n?void 0:n.vfcurveItem;for(let l=0;l<e.GraphicalSlurs.length;l++){const n=e.GraphicalSlurs[l];if(!n.slur.isCrossed()){if(i&&i.length)try{const e=i.find(((e,t)=>(!e.index||e.index===l)&&e.MeasureNumberXML==n.staffEntries[n.staffEntries.length-1].parentMeasure.MeasureNumber));var r,o,s;if(e)n.bezierEndControlPt.y+=null!=e&&null!==(r=e.bezierEndControlPt)&&void 0!==r&&r.y?e.bezierEndControlPt.y:0,n.bezierEndPt.y+=null!=e&&null!==(o=e.bezierEndPt)&&void 0!==o&&o.y?e.bezierEndPt.y:0,n.bezierStartControlPt.y+=null!=e&&null!==(s=e.bezierStartControlPt)&&void 0!==s&&s.y?e.bezierStartControlPt.y:0}catch(a){console.log(a)}this.drawSlur(n,t)}}}drawGlissandi(e,t){for(const n of e.GraphicalGlissandi)this.drawGlissando(n,t)}drawGlissando(e,t){if(e.StaffLine.ParentStaff.isTab||e.calculateLine(this.rules),e.Line){const n=new PointF2D(e.Line.Start.x+t.x,e.Line.Start.y),i=new PointF2D(e.Line.End.x+t.x,e.Line.End.y);this.drawLine(n,i,e.Color,e.Width)}else{const t=e.vfTie;if(t){const e=this.backend.getContext();t.setContext(e),t.draw()}}}drawSlur(e,t){const n=[];let i,r,o,s;"jianpu"===this.rules.DYMusicScoreType?((e.placement>0||e.bezierStartPt.y>0)&&(e.bezierStartPt.y=-.8,e.bezierStartControlPt.y=-2.5),i=new PointF2D(e.bezierStartPt.x+t.x,e.bezierStartPt.y+t.y),r=new PointF2D(e.bezierStartControlPt.x+t.x,e.bezierStartControlPt.y+t.y),o=new PointF2D(e.bezierEndControlPt.x+t.x,e.bezierStartControlPt.y+t.y),s=new PointF2D(e.bezierEndPt.x+t.x,e.bezierStartPt.y+t.y)):(i=new PointF2D(e.bezierStartPt.x+t.x,e.bezierStartPt.y+t.y),r=new PointF2D(e.bezierStartControlPt.x+t.x,e.bezierStartControlPt.y+t.y),o=new PointF2D(e.bezierEndControlPt.x+t.x,e.bezierEndControlPt.y+t.y),s=new PointF2D(e.bezierEndPt.x+t.x,e.bezierEndPt.y+t.y)),n.push(this.applyScreenTransformation(i)),n.push(this.applyScreenTransformation(r)),n.push(this.applyScreenTransformation(o)),n.push(this.applyScreenTransformation(s)),e.placement===PlacementEnum.Above?(i.y-=.05,r.y-=.3,o.y-=.3,s.y-=.05):(i.y+=.05,r.y+=.3,o.y+=.3,s.y+=.05),n.push(this.applyScreenTransformation(i)),n.push(this.applyScreenTransformation(r)),n.push(this.applyScreenTransformation(o)),n.push(this.applyScreenTransformation(s)),e.SVGElement=this.backend.renderCurve(n)}drawMeasure(e){e.setAbsoluteCoordinates(e.PositionAndShape.AbsolutePosition.x*unitInPixels,e.PositionAndShape.AbsolutePosition.y*unitInPixels);const t=this.backend.getContext();try{e.draw(t)}catch(i){loglevelExports.warn("VexFlowMusicSheetDrawer.drawMeasure",i)}let n=0;for(const r of e.staffEntries)this.drawStaffEntry(r),n=this.drawBuzzRolls(r,n)}drawBuzzRolls(e,t){for(const r of e.graphicalVoiceEntries)for(const e of r.notes){var n;if(null!==(n=e.sourceNote.TremoloInfo)&&void 0!==n&&n.tremoloUnmeasured){var i;const n=this.rules.TremoloBuzzRollThickness,r=.9,o=.5,s=e;let a,l;const c=s.vfnote[0].getStemDirection();let u;this.backend instanceof SvgVexFlowBackend&&(u=s.getStemSVG());if(void 0!==(null===(i=u)||void 0===i?void 0:i.getBbox)){const e=u.getBBox();a=new PointF2D(e.x/10,e.y/10),l=e.height/10}else l=s.vfnote[0].getStemLength()/10,a=new PointF2D(s.vfnote[0].getStem().x_begin/10,s.vfnote[0].getStem().y_top/10),1===c&&(a.y-=l);let h=a.y+l/3;s.vfnote[0].getBeamCount()>1&&(h=a.y+l/2,-1===c&&(h-=o+.2));const d=a.x-.5,p=h,f=[],m=[new PointF2D(0,-n),new PointF2D(r-n,0),new PointF2D(-r+n,-o),new PointF2D(0,-n),new PointF2D(r,0),new PointF2D(0,n),new PointF2D(-r+n,0),new PointF2D(r-n,o),new PointF2D(0,n),new PointF2D(-r,0)];let g=new PointF2D(d,p);f.push(g);for(const e of m)g=f.last(),f.push(new PointF2D(g.x+e.x,g.y-e.y));this.DrawPath(f,s.ParentMusicPage,!0,`buzzRoll${t}`),t++}}return t}drawLine(e,t,n="#000000FF",i=.2){return e=this.applyScreenTransformation(e),t=this.applyScreenTransformation(t),this.backend.renderLine(e,t,n,i*unitInPixels)}DrawOverlayLine(e,t,n,i="#FF0000FF",r=.2,o){if(!n.PageNumber||n.PageNumber>this.backends.length||n.PageNumber<1)return void console.log("VexFlowMusicSheetDrawer.drawOverlayLine: invalid page number / music page number doesn't correspond to an existing backend.");const s=n.PageNumber-1,a=this.backends[s];return e=this.applyScreenTransformation(e),t=this.applyScreenTransformation(t),o||(o=`overlayLine ${e.x}/${e.y}`),a.renderLine(e,t,i,r*unitInPixels,o)}DrawPath(e,t,n=!0,i){const r=t.PageNumber-1,o=this.backends[r],s=[];for(const a of e)s.push(this.applyScreenTransformation(a));return o.renderPath(s,n,i)}drawSkyLine(e){const t=e.PositionAndShape.AbsolutePosition,n=e.PositionAndShape.Size.width;this.drawSampledLine(e.SkyLine,t,n)}drawBottomLine(e){const t=new PointF2D(e.PositionAndShape.AbsolutePosition.x,e.PositionAndShape.AbsolutePosition.y),n=e.PositionAndShape.Size.width;this.drawSampledLine(e.BottomLine,t,n,"#0000FFFF")}drawSampledLine(e,t,n,i="#FF0000FF"){const r=[];let o=0;for(let a=0;a<e.length;a++)e[a]!==o&&(r.push(a),o=e[a]);const s=t;if(r.length>0){const t=this.rules.SamplingUnit;let o,a,l=new PointF2D(s.x,s.y),c=new PointF2D(r[0]/t+s.x,s.y);this.drawLine(l,c,i),e[0]>=0&&(o=new PointF2D(r[0]/t+s.x,s.y),a=new PointF2D(r[0]/t+s.x,s.y+e[r[0]]),this.drawLine(o,a,i));for(let n=1;n<r.length;n++)l=new PointF2D(r[n-1]/t+s.x,s.y+e[r[n-1]]),c=new PointF2D(r[n]/t+s.x,s.y+e[r[n-1]]),this.drawLine(l,c,i),o=new PointF2D(r[n]/t+s.x,s.y+e[r[n-1]]),a=new PointF2D(r[n]/t+s.x,s.y+e[r[n]]),this.drawLine(o,a,i);r[r.length-1]<e.length?(l=new PointF2D(r[r.length-1]/t+s.x,s.y+e[r[r.length-1]]),c=new PointF2D(s.x+n,s.y+e[r[r.length-1]]),this.drawLine(l,c,i)):(l=new PointF2D(r[r.length-1]/t+s.x,s.y),c=new PointF2D(s.x+n,s.y),this.drawLine(l,c,i))}else{const e=new PointF2D(s.x,s.y),t=new PointF2D(s.x+n,s.y);this.drawLine(e,t,i)}}drawStaffEntry(e){if(e.FingeringEntries.length>0)for(const t of e.FingeringEntries)t.SVGNode=this.drawLabel(t,GraphicalLayers.Notes);if(void 0!==e.graphicalChordContainers&&e.graphicalChordContainers.length>0)for(const t of e.graphicalChordContainers){const e=t.GraphicalLabel;e.SVGNode=this.drawLabel(e,GraphicalLayers.Notes)}this.rules.RenderLyrics&&e.LyricsEntries.length>0&&this.drawLyrics(e.LyricsEntries,GraphicalLayers.Notes)}drawLyrics(e,t){e.forEach((e=>{const n=e.GraphicalLabel;n.Label.colorDefault=this.rules.DefaultColorLyrics,n.SVGNode=this.drawLabel(n,t)}))}drawInstrumentBrace(e,t){e.draw(this.backend.getContext())}drawGroupBracket(e,t){e.draw(this.backend.getContext())}drawOctaveShifts(e){for(const n of e.OctaveShifts)if(n){const e=n,i=this.backend.getContext(),r=e.getTextBracket();this.rules.DefaultColorMusic&&(r.render_options.color=this.rules.DefaultColorMusic),r.setContext(i);try{r.draw()}catch(t){loglevelExports.warn(t)}}}drawPedals(e){for(const t of e.Pedals)if(t){const e=t,n=this.backend.getContext(),i=e.getPedalMarking();i.render_options.color=this.rules.DefaultColorMusic,i.setContext(n),i.draw()}}drawWavyLines(e){for(const t of e.WavyLines)if(t){const e=t,n=this.backend.getContext(),i=e.getVibratoBracket();i.setContext(n),i.draw()}}getMaxExpressionsYAndDots(e){const t=[];let n=0;for(const c of e.measures)t.push(c.measureNumber);const i={},r={},o={};for(const c of e.AbstractExpressions)if(c instanceof GraphicalUnknownExpression&&t.includes(c.parentMeasure.MeasureNumber)){const e=this.getDotId(c),t=this.getDotId(c,"x");r[e]||(r[e]=[]),o[t]||(o[t]=[]),this.hasDot(c.Label.PositionAndShape.RelativePosition,r[e],!0)||(r[e].push(c.Label.PositionAndShape.RelativePosition),o[t].push(c.Label.PositionAndShape.RelativePosition)),i[e]=c.Label.PositionAndShape.RelativePosition}let s=0;for(const c of e.AbstractExpressions){var a;const e=null===(a=c.parentMeasure)||void 0===a?void 0:a.MeasureNumber;if(c instanceof GraphicalUnknownExpression&&t.includes(e)){var l;const t=null===(l=c.parentMeasure.verticalMeasureList[0])||void 0===l?void 0:l.stave,i=(null==t?void 0:t.end_x)-(null==t?void 0:t.x),r=this.getDotId(c,"x");if(1===(o[r]||[]).length&&s!==e){const e=c.Label.PositionAndShape.AbsolutePosition.y;n=0===n?e:Math.min(n,e)}1!==(o[r]||[]).length&&i/10<c.Label.PositionAndShape.MarginSize.width&&(s=e+1)}}return{maxY:n,dots:i,dotsPoint:r,dotsPointByX:o}}drawExpressions(e){const t={},n=[],{maxY:i,dotsPointByX:r}=this.getMaxExpressionsYAndDots(e);for(const o of e.AbstractExpressions)if(o instanceof GraphicalInstantaneousDynamicExpression)this.drawInstantaneousDynamic(o);else if(o instanceof GraphicalInstantaneousTempoExpression){const e=o.GraphicalLabel;e.SVGNode=this.drawLabel(e,GraphicalLayers.Notes)}else if(o instanceof GraphicalContinuousDynamicExpression)this.drawContinuousDynamic(o);else if(o instanceof GraphicalUnknownExpression){const e=this.getDotId(o),s=this.getDotId(o,"x");if(1===(r[s]||[]).length);else{const r=o.Label.PositionAndShape.AbsolutePosition.y;t[s]?n.includes(e)||0===t[s]||(o.Label.PositionAndShape.AbsolutePosition.y=r-1):(t[s]=-Math.abs(i-r),o.Label.PositionAndShape.AbsolutePosition.y=r+t[s]),n.push(e)}const a=o.Label;a.SVGNode=this.drawLabel(a,GraphicalLayers.Notes)}else loglevelExports.warn("Unkown type of expression!")}drawInstantaneousDynamic(e){const t=e.Label;t.SVGNode=this.drawLabel(t,GraphicalLayers.Notes)}drawContinuousDynamic(e){if(e.IsVerbal){const t=e.Label;t.SVGNode=this.drawLabel(t,GraphicalLayers.Notes)}else{try{if(2===e.Lines.length&&Math.abs(e.Lines[0].Start.x-e.Lines[1].Start.x)>Number.EPSILON){let t=Math.min(...e.Lines.map((e=>e.Start.x))),n=Math.min(...e.Lines.map((e=>e.Start.y)));e.Lines[0].Start.x=t,e.Lines[1].Start.x=t,e.Lines[0].Start.y=n+this.rules.WedgeOpeningLength/2,e.Lines[1].Start.y=n+2*this.rules.WedgeOpeningLength,e.Lines[0].End.y+=this.rules.WedgeOpeningLength/2,e.Lines[1].End.y+=this.rules.WedgeOpeningLength}}catch(n){}const i=this.backend.getContext();i.openGroup("lineGroup");for(const n of e.Lines){var t;const i=new PointF2D(e.ParentStaffLine.PositionAndShape.AbsolutePosition.x+n.Start.x,e.ParentStaffLine.PositionAndShape.AbsolutePosition.y+n.Start.y),r=new PointF2D(e.ParentStaffLine.PositionAndShape.AbsolutePosition.x+n.End.x,e.ParentStaffLine.PositionAndShape.AbsolutePosition.y+n.End.y);this.drawLine(i,r,null!==(t=n.colorHex)&&void 0!==t?t:"#000000",n.Width)}i.closeGroup()}}renderLabel(e,t,n){return this._renderLabel(e,n)}_renderLabel(e,t){if(!e.Label.print)return;const n=e.Label.fontHeight*unitInPixels,{font:i}=e.Label;let r;this.rules.ColoringEnabled&&(r=e.Label.colorDefault,e.ColorXML&&(r=e.ColorXML),e.Label.color&&(r=e.Label.color.toString()),r||(r=this.rules.DefaultColorLabel));let o,{fontStyle:s,fontFamily:a}=e.Label;s||(s=this.rules.DefaultFontStyle),a||(a=this.rules.DefaultFontFamily);for(let c=0;c<(null===(l=e.TextLines)||void 0===l?void 0:l.length);c++){var l;const a=e.TextLines[c],u=this.calculatePixelDistance(a.xOffset),h=new PointF2D(t.ScreenPosition.x+u,t.ScreenPosition.y),d=this.backend.renderText(n,s,i,a.text,t.FontHeightInPixel,h,r,e.Label.fontFamily);o?o.appendChild(d):o=d,t.ScreenPosition.y=t.ScreenPosition.y+t.FontHeightInPixel,e.TextLines.length>1&&(t.ScreenPosition.y+=this.rules.SpacingBetweenTextLines)}return o}renderRectangle(e,t,n,i,r){return this.backend.renderRectangle(e,n,i,r)}applyScreenTransformation(e){return new PointF2D(e.x*unitInPixels,e.y*unitInPixels)}applyScreenTransformationForRect(e){return new RectangleF2D(e.x*unitInPixels,e.y*unitInPixels,e.width*unitInPixels,e.height*unitInPixels)}}class TabNote extends Note$1{constructor(e,t,n,i,r,o,s,a){super(e,t,n,i,r),this.stringNumberTab=o,this.fretNumber=s,this.bendArray=a}get StringNumberTab(){return this.stringNumberTab}get FretNumber(){return this.fretNumber}get BendArray(){return this.bendArray}hasTabEffects(){var e;return(null===(e=this.bendArray)||void 0===e?void 0:e.length)>0}}const VF$a=Vex.Flow,_VexFlowConverter=class{static durations(e,t){const n=[],i=e.clone();for(;i.RealValue>1e-4;){const e=i.RealValue;if(e>=2)n.push("1/2"),i.Sub(new Fraction$1(2,1));else if(e>=1)n.push("w"),i.Sub(new Fraction$1(1,1));else if(e<1&&e>=.5){if(t&&e>.5)return["w"];n.push("h"),i.Sub(new Fraction$1(1,2))}else if(e<.5&&e>=.25){if(t&&e>.25)return["h"];n.push("q"),i.Sub(new Fraction$1(1,4))}else if(e<.25&&e>=.125){if(t&&e>.125)return["q"];n.push("8"),i.Sub(new Fraction$1(1,8))}else if(e<.125&&e>=.0625){if(t&&e>.0625)return["8"];n.push("16"),i.Sub(new Fraction$1(1,16))}else if(e<.0625&&e>=.03125){if(t&&e>.03125)return["16"];n.push("32"),i.Sub(new Fraction$1(1,32))}else if(e<.03125&&e>=.015625){if(t&&e>.015625)return["32"];n.push("64"),i.Sub(new Fraction$1(1,64))}else{if(t)return["64"];n.push("128"),i.Sub(new Fraction$1(1,128))}}return n}static pitch(e,t,n,i=undefined,r=undefined){let o=r;void 0===r&&(o=3),t&&void 0===r&&(o=0,n.ClefType===ClefEnum.F&&(o=2),n.ClefType===ClefEnum.C&&(o=2));const s=NoteEnum[e.FundamentalNote].toLowerCase(),a=Pitch.accidentalVexflow(e.Accidental),l=e.Octave-n.OctaveOffset+o;let c="";return i&&(c=this.NoteHeadCode(i)),[s+"n/"+l+c,a,n]}static restToNotePitch(e,t){let n=e.Octave;switch(t){case ClefEnum.C:case ClefEnum.F:n+=2;case ClefEnum.G:}return new Pitch(e.FundamentalNote,n,AccidentalEnum.NONE)}static NoteHeadCode(e){const t=e.Filled?"2":"1";switch(e.Shape){case NoteHeadShape.NORMAL:return"";case NoteHeadShape.DIAMOND:return"/D"+t;case NoteHeadShape.TRIANGLE:return"/T"+t;case NoteHeadShape.TRIANGLE_INVERTED:return"/TI";case NoteHeadShape.X:return"/X"+t;case NoteHeadShape.CIRCLEX:return"/X3";case NoteHeadShape.RECTANGLE:return"/R"+t;case NoteHeadShape.SQUARE:return"/S"+t;case NoteHeadShape.SLASH:default:return""}}static GhostNotes(e){const t=[],n=_VexFlowConverter.durations(e,!1);for(const i of n)t.push(new VF$a.GhostNote({duration:i}));return t}static StaveNote(e){var t,n,i;e.sortForVexflow();const r=e.notes,o=e.parentStaffEntry.parentMeasure.parentSourceMeasure.Rules,s=r[0];let a,l=[];const c=[],u=s.graphicalNoteLength,h=void 0!==s.sourceNote.NoteTuplet;let d,p=_VexFlowConverter.durations(u,h)[0];void 0!==s.sourceNote.TypeLength&&s.sourceNote.TypeLength!==u&&0!==s.sourceNote.TypeLength.RealValue&&(p=_VexFlowConverter.durations(s.sourceNote.TypeLength,h)[0],s.numberOfDots=s.sourceNote.DotsXml);let f,m,g=s.numberOfDots,v=!1,b=0,y=!1;for(const z of r){var A,S;if(g<z.numberOfDots&&(g=z.numberOfDots),z.sourceNote.isRest()){if(y=!0,z.sourceNote.Pitch){l=[z.vfpitch[0]];break}{var x;l=["b/4"];const e=null===(x=z.parentVoiceEntry)||void 0===x?void 0:x.parentVoiceEntry;if(e){var E;const t=null===(E=z.parentVoiceEntry)||void 0===E?void 0:E.parentStaffEntry.parentMeasure.staffEntries;let n,i,r=-1;for(let o=0;o<t.length;o++){var w;if((null===(w=t[o])||void 0===w?void 0:w.graphicalVoiceEntries[0].parentVoiceEntry)===e){r=o;break}}var _,M,P,T;if(r>=1&&t.length-1>=r+1)if(n=null===(_=t[r-1])||void 0===_||null===(M=_.graphicalVoiceEntries[0])||void 0===M?void 0:M.parentVoiceEntry,i=null===(P=t[r+1])||void 0===P||null===(T=P.graphicalVoiceEntries[0])||void 0===T?void 0:T.parentVoiceEntry,n&&i){var C;const e=n.Notes[0],t=i.Notes[0];if(null!==(C=e.NoteBeam)&&void 0!==C&&C.Notes.includes(t)&&1!==t.ParentStaffEntry.ParentStaff.StafflineCount){const e=n.Notes.last().Pitch,t=z.Clef(),i=_VexFlowConverter.pitch(_VexFlowConverter.restToNotePitch(e.getTransposedPitch(-2),t.ClefType),!1,t);4===e.FundamentalNote&&(l=[i[0]])}}}}(z.sourceNote.IsWholeMeasureRest||u.RealValue===z.sourceNote.SourceMeasure.ActiveTimeSignature.RealValue)&&(l="staff"===o.DYMusicScoreType?["d/5"]:["R/5"],p="w",g=0,v=!0,b=o.WholeRestXShiftVexflow*unitInPixels);const e=[...z.sourceNote.ParentStaff.Voices].filter((e=>1!=(null==e?void 0:e.VoiceId)));if(e.length){const e=z.parentVoiceEntry.parentStaffEntry.graphicalVoiceEntries,t=z.parentVoiceEntry.parentVoiceEntry.ParentVoice.VoiceId;let n,i;for(const r of e)for(const e of r.notes){if(e===z||e.sourceNote.isRest()||!e.sourceNote.PrintObject){z.lineShift=-2;continue}const r=e.parentVoiceEntry.parentVoiceEntry.WantedStemDirection,s=1===t||5===t,a=s?1:-1,l=e.sourceNote.Pitch.getHalfTone();(!n||1===a&&l>n||-1===a&&l<n)&&(n=l,i=0,s&&r===StemDirectionType.Up?i+=7:s||r!==StemDirectionType.Down?i+=s?1:2:i+=7,p.includes("8")||r===StemDirectionType.Up&&-1===a&&(i+=1),e.sourceNote.NoteBeam&&(i+=1),p.includes("w")&&(i=3.5),i+=.5*Math.ceil(o.RestCollisionYPadding),i*=a,z.lineShift=i)}if(n>0){let e=3;const t=z.Clef();switch(t.ClefType){case ClefEnum.F:e=5;break;case ClefEnum.C:e=4}f=Pitch.fromHalftone(n),l=[_VexFlowConverter.pitch(f,!0,t,void 0,e)[0]]}}break}z.sourceNote.Notehead&&(z.sourceNote.Notehead.Shape,NoteHeadShape.SLASH);const e=z.vfpitch;if(null!==(A=e[2])&&void 0!==A&&null!==(S=A.Parent)&&void 0!==S&&S.Instructions)for(let t=0,n=e[2].Parent.Instructions.length;t<n;++t){const n=e[2].Parent.Instructions[t];n instanceof KeyInstruction&&(a=n)}if(l.push(e[0]),c.push(e[1]),!d){d=_VexFlowConverter.Clef(e[2]).type}"percussion"===d&&z.sourceNote.ParentStaff.StafflineCount}if(!d)try{const t=_VexFlowConverter.Clef(e.notes[0].clef);"percussion"===(null==t?void 0:t.type)&&e.notes[0].sourceNote.ParentStaff.StafflineCount}catch(G){}for(let z=0,H=g;z<H;++z)p+="d";1===r.length&&(null===(t=r[0].sourceNote.Notehead)||void 0===t?void 0:t.Shape)===NoteHeadShape.SLASH&&(p+="s"),y&&(p+="r");const I={align_center:v,auto_stem:!1,clef:d,duration:p,keys:l,stem_direction:1,slash:e.GraceSlash,note_size:20,DYMusicScoreType:o.DYMusicScoreType,keyString:_VexFlowConverter.keySignature(a)},k=e.notes[0].sourceNote;if(k.IsCueNote&&(I.glyph_font_scale=VF$a.DEFAULT_NOTATION_FONT_SCALE*VF$a.GraceNote.SCALE,I.stroke_px=VF$a.GraceNote.LEDGER_LINE_OFFSET),e.parentVoiceEntry.IsGrace||e.notes[0].sourceNote.IsCueNote)"jianpu"===o.DYMusicScoreType?(I.ornament=!0,m=new NumberedNote(I)):m=new VF$a.GraceNote(I);else{m="jianpu"===o.DYMusicScoreType?new NumberedNote(I):new VF$a.StaveNote(I),m.stagger_same_whole_notes=o.StaggerSameWholeNotes;const t=e.parentStaffEntry.LyricsEntries;let n=!0,i=0;if(t.length>0&&o.RenderLyrics&&o.LyricsUseXPaddingForLongLyrics){const t=e.parentStaffEntry.parentMeasure,r=[];for(let n=t.staffEntries.indexOf(e.parentStaffEntry)+1;n<t.staffEntries.length;n++){const e=t.staffEntries[n];e.graphicalVoiceEntries[0]&&r.push(e)}let o,s=e.parentStaffEntry.relInMeasureTimestamp.clone();for(const a of r){const t=a.relInMeasureTimestamp.clone();if(o=Fraction$1.minus(t,e.parentVoiceEntry.Timestamp),o.RealValue>.25){n=!1;break}if(a.LyricsEntries.length>0)break;i+=32*Fraction$1.minus(t,s).RealValue,s=t}}if(o.RenderLyrics&&o.LyricsUseXPaddingForLongLyrics&&t.length>0&&n){let n=!1,s=0;for(const e of r)if(e.sourceNote.Length.RealValue<=.125){n=!0;break}let a=!1;for(const r of t){const t=o.LyricsXPaddingWidthThreshold;let l=r.GraphicalLabel.PositionAndShape.Size.width;if(r.hasDashFromLyricWord()&&(l+=.5),l>t){s+=l-t;const r=e.parentStaffEntry,c=r.parentMeasure.staffEntries,u=c.indexOf(r)===c.length-1;u&&(i+=o.LyricsXPaddingReductionForLastNoteInMeasure),n||(i+=o.LyricsXPaddingReductionForLongNotes),!o.LyricsXPaddingForLastNoteInMeasure&&u||l>t+i&&(a=!0,s-=i);break}}a&&(m.paddingRight=10*o.LyricsXPaddingFactorForLongLyrics*s)}}const B=e.notes[0].lineShift;if(0!==B&&(m.getKeyProps()[0].line+=B),r.length>1)for(let z=0;z<r.length;z++){var R;(null===(R=r[z].sourceNote.Notehead)||void 0===R?void 0:R.Shape)===NoteHeadShape.SLASH&&(m.note_heads[z].note_type="s")}var L,D;(null===(n=window.GYM)||void 0===n?void 0:n.isDrumset)&&(e.notes[0].sourceNote.isRest()&&(null===(L=e.notes[0].sourceNote.ParentStaffEntry)||void 0===L||null===(D=L.VoiceEntries)||void 0===D?void 0:D.length)>1&&1==e.notes[0].sourceNote.ParentVoiceEntry.ParentVoice.VoiceId&&(m.getKeyProps()[0].line=4.5));const N=null===(i=window.GYM)||void 0===i?void 0:i.customBassDrum;if(N&&m.isRest()&&("q"===m.getDuration()&&(m.getKeyProps()[0].line=N),"h"===m.getDuration()&&(m.getKeyProps()[0].line=N-1)),m.getKeyProps().forEach((({line:t},n)=>e.notes[n].staffLine=t)),(o.LedgerLineWidth||o.LedgerLineStrokeStyle)&&(m.ledgerLineStyle||(m.ledgerLineStyle={}),o.LedgerLineWidth&&(m.ledgerLineStyle.lineWidth=o.LedgerLineWidth),o.LedgerLineStrokeStyle&&(m.ledgerLineStyle.strokeStyle=o.LedgerLineStrokeStyle)),o.ColoringEnabled){const t=o.DefaultColorStem;let n=e.parentVoiceEntry.StemColor;!n&&t&&(n=t);const i={fillStyle:n,strokeStyle:n};n&&(m.setStemStyle(i),m.flag&&o.ColorFlags&&m.setFlagStyle(i))}if(m.x_shift=b,e.parentVoiceEntry.IsGrace&&e.notes[0].sourceNote.NoteBeam&&(e.parentVoiceEntry.WantedStemDirection=e.notes[0].sourceNote.NoteBeam.Notes[0].ParentVoiceEntry.WantedStemDirection),e.parentVoiceEntry){var F;let t=e.parentVoiceEntry.WantedStemDirection;const n=(null===(F=window.GYM)||void 0===F?void 0:F.stemDirectionNote)||[],i=null==n?void 0:n.find((t=>t.id===e.notes[0].sourceNote.NoteToGraphicalNoteObjectId));switch(i&&"number"==typeof(null==i?void 0:i.direction)&&(t=i.direction),t){case StemDirectionType.Up:m.setStemDirection(VF$a.Stem.UP),e.parentVoiceEntry.StemDirection=StemDirectionType.Up;break;case StemDirectionType.Down:m.setStemDirection(VF$a.Stem.DOWN),e.parentVoiceEntry.StemDirection=StemDirectionType.Down}}for(let z=0,H=r.length;z<H;z+=1){if(r[z].setIndex(m,z),c[z]){if("###"===c[z]){m.addAccidental(z,new VF$a.Accidental("##")),m.addAccidental(z,new VF$a.Accidental("#"));continue}if("bbs"===c[z]){m.addAccidental(z,new VF$a.Accidental("bb")),m.addAccidental(z,new VF$a.Accidental("b"));continue}m.addAccidental(z,new VF$a.Accidental(c[z]))}const e=r[z].sourceNote.TremoloStrokes,t=r[z].sourceNote.TremoloType;if(e>0&&"single"===t){const t=new VF$a.Tremolo(e);t.extra_stroke_scale=o.TremoloStrokeScale,t.y_spacing_scale=o.TremoloYSpacingScale,m&&"w"===m.duration&&m.stem.setExtension(-9),m.addModifier(z,t)}if(e>0&&"start"===t&&this.noteTremoloList.push(m),e>0&&"stop"===t){this.noteTremoloList.push(m);const t=this.noteTremoloList.filter((e=>"w"===e.duration)).length===this.noteTremoloList.length;if(t)try{if(this.noteTremoloList[0].keyProps&&this.noteTremoloList[1].keyProps){var O;null===(O=(this.noteTremoloList[0].keyProps[0].line>this.noteTremoloList[1].keyProps[0].line?this.noteTremoloList[1]:this.noteTremoloList[0]).stem)||void 0===O||O.setResetHeight(30)}}catch(G){console.error("设置都是全音符,stem的高度失败")}const n=new VF$a.Tremolo(e,[...this.noteTremoloList]);n.extra_stroke_scale=1.2,n.y_spacing_scale=1.2,n.x_shift=-30,m.addModifier(z,n),this.noteTremoloList=[]}this.glissandoList.length&&(m.setVibrato(this.glissandoList[0].vfnote[0]),this.glissandoList=[]),"start"===r[z].sourceNote.glissandoType&&this.glissandoList.push(r[z])}if(this.slideNote){try{m.setSlideNote(this.slideNote)}catch(G){console.error(G)}this.slideNote=null}if("start"===e.notes[0].sourceNote.slideType&&(this.slideNote=m),.25===k.Length.RealValue&&k.Notehead&&!1===k.Notehead.Filled){const e=m.getKeyProps();for(let t=0;t<e.length;t++)e[t].code="v81"}for(let z=0,H=g;z<H;++z)m.addDotToAll();if(l.length>1){var V;let e=m.getKeyProps().filter((e=>!e.code&&e.line>3));(null===(V=window.GYM)||void 0===V?void 0:V.stemDirectionNote)||e.length!==l.length||m.setStemDirection(-1)}"jianpu"===o.DYMusicScoreType&&window&&window.sett&&window.sett.keySignature&&m.addAccidental(0,new VF$a.Accidental("#"));try{const e=["b","#","§","º","X"],t={b:"b","#":"#","§":"n","º":"bb",X:"##"};for(const n of r){const i=n.sourceNote.voiceEntry.Timestamp;for(const r of n.sourceNote.SourceMeasure.StaffLinkedExpressions)for(const n of r){const r=Fraction$1.Equal(i,n.Timestamp),o=n.EntriesList.map((e=>e.label)).filter((t=>e.includes(t))).map((e=>t[e]));if(r){for(const e of o)e&&m.addAnnotation(0,new VF$a.Annotation(e));break}}}}catch(G){}return m}static generateArticulations(e,t,n){if(e&&"GhostNote"!==e.getAttribute("type"))for(const c of t.sourceNote.ParentVoiceEntry.Articulations){let u,h=VF$a.Modifier.Position.ABOVE;e.getStemDirection()===VF$a.Stem.UP&&(h=VF$a.Modifier.Position.BELOW);const d=c.articulationEnum;switch(n.ArticulationPlacementFromXML&&(c.placement===PlacementEnum.Above?h=VF$a.Modifier.Position.ABOVE:c.placement===PlacementEnum.Below&&(h=VF$a.Modifier.Position.BELOW)),d){case ArticulationEnum.accent:{u=new VF$a.Articulation("a>");const e=t.sourceNote.NoteSlurs;for(const i of e)i.StartNote===t.sourceNote&&(i.PlacementXml===PlacementEnum.Above?u.setYShift(10*-n.SlurStartArticulationYOffsetOfArticulation):i.PlacementXml===PlacementEnum.Below&&u.setYShift(10*n.SlurStartArticulationYOffsetOfArticulation));break}case ArticulationEnum.breathmark:u=new VF$a.Articulation("abr"),c.placement===PlacementEnum.Above&&(h=VF$a.Modifier.Position.ABOVE),u.breathMarkDistance=n.BreathMarkDistance;break;case ArticulationEnum.downbow:u=new VF$a.Articulation("am"),void 0===c.placement&&(h=VF$a.Modifier.Position.ABOVE,c.placement=PlacementEnum.Above);break;case ArticulationEnum.fermata:u=new VF$a.Articulation("a@a"),h=VF$a.Modifier.Position.ABOVE,c.placement=PlacementEnum.Above;break;case ArticulationEnum.marcatodown:u=new VF$a.Articulation("a|");break;case ArticulationEnum.marcatoup:u=new VF$a.Articulation("a^"),h=VF$a.Modifier.Position.ABOVE;break;case ArticulationEnum.invertedfermata:{const e=t.sourceNote.ParentVoiceEntry;if(e!==t.sourceNote.ParentVoiceEntry.ParentSourceStaffEntry.VoiceEntries.last()){e.Articulations=e.Articulations.slice(e.Articulations.indexOf(c)),e.ParentSourceStaffEntry.VoiceEntries.last().Articulations.push(c);continue}u=new VF$a.Articulation("a@u"),h=VF$a.Modifier.Position.BELOW,c.placement=PlacementEnum.Below;break}case ArticulationEnum.lefthandpizzicato:u=new VF$a.Articulation("a+");break;case ArticulationEnum.naturalharmonic:u=new VF$a.Articulation("ah");break;case ArticulationEnum.snappizzicato:u=new VF$a.Articulation("ao");break;case ArticulationEnum.staccatissimo:u=new VF$a.Articulation("av");break;case ArticulationEnum.staccato:u=new VF$a.Articulation("a.");break;case ArticulationEnum.tenuto:u=new VF$a.Articulation("a-");break;case ArticulationEnum.upbow:u=new VF$a.Articulation("a|"),void 0===c.placement&&(h=VF$a.Modifier.Position.ABOVE,c.placement=PlacementEnum.Above);break;case ArticulationEnum.strongaccent:u=new VF$a.Articulation("a^")}if(u){var i,r,o,s;if(!e.hasStem()&&!e.isRest()&&d==ArticulationEnum.accent&&e.getLineNumber()>=3)h=VF$a.Modifier.Position.ABOVE,null!=e&&null!==(o=e.modifiers)&&void 0!==o&&null!==(s=o.filter((e=>["TREMOLO"].includes(e.getCategory().toLocaleUpperCase()))))&&void 0!==s&&s.length&&u.setYShift(-16);if(d===ArticulationEnum.strongaccent){var a;h=VF$a.Modifier.Position.ABOVE;(null===(a=window.GYM)||void 0===a?void 0:a.customArtPosition)&&(1===e.getStemDirection()?h=VF$a.Modifier.Position.ABOVE:(h=VF$a.Modifier.Position.BELOW,u=new VF$a.Articulation("a|")))}(null===(i=window.GYM)||void 0===i?void 0:i.customAccentItem)&&d===ArticulationEnum.accent&&(h=VF$a.Modifier.Position.ABOVE);if(!(null===(r=window.GYM)||void 0===r?void 0:r.customLefthandpizzicatoItem)||d!==ArticulationEnum.lefthandpizzicato&&d!==ArticulationEnum.naturalharmonic||(h=VF$a.Modifier.Position.ABOVE),d===ArticulationEnum.tenuto&&"w"===e.getDuration()){var l;(null===(l=window.GYM)||void 0===l?void 0:l.customTenutoItem)&&(h=VF$a.Modifier.Position.ABOVE)}u.setPosition(h),e.addModifier(0,u)}}}static generateOrnaments(e,t){let n,i=VF$a.Modifier.Position.ABOVE;switch(t.placement===PlacementEnum.Below&&(i=VF$a.Modifier.Position.BELOW),t.GetOrnament){case OrnamentEnum.DelayedInvertedTurn:n=new VF$a.Ornament("turn_inverted"),n.setDelayed(!0);break;case OrnamentEnum.DelayedTurn:n=new VF$a.Ornament("turn"),n.setDelayed(!0);break;case OrnamentEnum.InvertedMordent:n=new VF$a.Ornament("mordent"),n.setDelayed(!1);break;case OrnamentEnum.InvertedTurn:n=new VF$a.Ornament("turn_inverted"),n.setDelayed(!1);break;case OrnamentEnum.Mordent:n=new VF$a.Ornament("mordent_inverted"),n.setDelayed(!1);break;case OrnamentEnum.Trill:n=new VF$a.Ornament("tr"),n.setDelayed(!1);break;case OrnamentEnum.Turn:n=new VF$a.Ornament("turn"),n.setDelayed(!1);break;default:return void loglevelExports.warn("unhandled OrnamentEnum type: "+t.GetOrnament)}n&&(t.AccidentalBelow!==AccidentalEnum.NONE&&n.setLowerAccidental(Pitch.accidentalVexflow(t.AccidentalBelow)),t.AccidentalAbove!==AccidentalEnum.NONE&&n.setUpperAccidental(Pitch.accidentalVexflow(t.AccidentalAbove)),n.setPosition(i),e.addModifier(0,n))}static StrokeTypeFromArpeggioType(e){switch(e){case ArpeggioType.ARPEGGIO_DIRECTIONLESS:return VF$a.Stroke.Type.ARPEGGIO_DIRECTIONLESS;case ArpeggioType.BRUSH_DOWN:return VF$a.Stroke.Type.BRUSH_UP;case ArpeggioType.BRUSH_UP:return VF$a.Stroke.Type.BRUSH_DOWN;case ArpeggioType.RASQUEDO_DOWN:return VF$a.Stroke.Type.RASQUEDO_UP;case ArpeggioType.RASQUEDO_UP:return VF$a.Stroke.Type.RASQUEDO_DOWN;case ArpeggioType.ROLL_DOWN:return VF$a.Stroke.Type.ROLL_UP;case ArpeggioType.ROLL_UP:return VF$a.Stroke.Type.ROLL_DOWN;default:return VF$a.Stroke.Type.ARPEGGIO_DIRECTIONLESS}}static CreateTabNote(e){const t=[],n=e.notes.reverse(),i=[],r=e.notes[0].graphicalNoteLength,o=void 0!==e.notes[0].sourceNote.NoteTuplet;let s=_VexFlowConverter.durations(r,o)[0],a=0;for(const c of e.notes){const n=c.sourceNote;let r={str:n.StringNumberTab,fret:n.FretNumber};c.sourceNote instanceof TabNote||(loglevelExports.info(`invalid tab note: ${c.sourceNote.Pitch.ToString()} in measure ${e.parentStaffEntry.parentMeasure.MeasureNumber}, likely missing XML string+fret number.`),r={str:1,fret:0}),t.push(r),n.BendArray&&n.BendArray.forEach((function(e){let t;const n=e.bendalter-r.fret;t=n>1?"Full":1===n?"1/2":"1/4","up"===e.direction?i.push({type:VF$a.Bend.UP,text:t,width:10}):i.push({type:VF$a.Bend.DOWN,text:t,width:10})})),a<c.numberOfDots&&(a=c.numberOfDots)}for(let c=0,u=a;c<u;++c)s+="d";const l=new VF$a.TabNote({duration:s,positions:t});l.BackgroundColor=e.parentStaffEntry.parentMeasure.parentSourceMeasure.Rules.PageBackgroundColor;for(let c=0,u=n.length;c<u;c+=1)n[c].setIndex(l,c);return i.forEach((function(e){e.type===VF$a.Bend.UP?l.addModifier(new VF$a.Bend(e.text,!1)):l.addModifier(new VF$a.Bend(e.text,!0))})),l}static Clef(e,t="default"){let n,i;switch("default"!==t&&"small"!==t&&(loglevelExports.warn(`Invalid VexFlow clef size "${t}" specified. Using "default".`),t="default"),e.ClefType){case ClefEnum.G:switch(e.Line){case 1:n="french";break;case 2:n="treble";break;default:n="treble",loglevelExports.error(`Clef ${ClefEnum[e.ClefType]} on line ${e.Line} not supported by VexFlow. Using default value "${n}".`)}break;case ClefEnum.F:switch(e.Line){case 4:n="bass";break;case 3:n="baritone-f";break;case 5:n="subbass";break;default:n="bass",loglevelExports.error(`Clef ${ClefEnum[e.ClefType]} on line ${e.Line} not supported by VexFlow. Using default value "${n}".`)}break;case ClefEnum.C:switch(e.Line){case 3:n="alto";break;case 4:n="tenor";break;case 1:n="soprano";break;case 2:n="mezzo-soprano";break;default:n="alto",loglevelExports.error(`Clef ${ClefEnum[e.ClefType]} on line ${e.Line} not supported by VexFlow. Using default value "${n}".`)}break;case ClefEnum.percussion:n="percussion";break;case ClefEnum.TAB:n="treble";break;default:loglevelExports.info("bad clef type: "+e.ClefType),n="treble"}return 1===e.OctaveOffset&&"bass"!==n?i="8va":-1===e.OctaveOffset&&(i="8vb"),{type:n,size:t,annotation:i}}static TimeSignature(e){let t;switch(e.SymbolEnum){case RhythmSymbolEnum.NONE:t=e.Rhythm.Numerator+"/"+e.Rhythm.Denominator;break;case RhythmSymbolEnum.COMMON:t="C";break;case RhythmSymbolEnum.CUT:t="C|"}return new VF$a.TimeSignature(t)}static keySignature(e){if(!e)return;let t;switch(e.Mode){case KeyEnum.minor:t=_VexFlowConverter.minorMap[e.Key]+"m";break;case KeyEnum.major:case KeyEnum.none:t=_VexFlowConverter.majorMap[e.Key];break;default:t="C"}return t}static line(e,t){switch(e){case SystemLinesEnum.SingleThin:return t===SystemLinePosition.MeasureBegin?VF$a.StaveConnector.type.SINGLE:VF$a.StaveConnector.type.SINGLE_RIGHT;case SystemLinesEnum.DoubleThin:return VF$a.StaveConnector.type.THIN_DOUBLE;case SystemLinesEnum.ThinBold:return VF$a.StaveConnector.type.BOLD_DOUBLE_RIGHT;case SystemLinesEnum.BoldThinDots:return VF$a.StaveConnector.type.BOLD_DOUBLE_LEFT;case SystemLinesEnum.DotsThinBold:case SystemLinesEnum.DotsBoldBoldDots:return VF$a.StaveConnector.type.BOLD_DOUBLE_RIGHT;case SystemLinesEnum.None:return VF$a.StaveConnector.type.NONE}}static font(e,t=FontStyles.Regular,n=Fonts.TimesNewRoman,i,r=undefined){let o="normal",s="normal",a=`'${i.DefaultFontFamily}'`;switch(t){case FontStyles.Bold:s="bold";break;case FontStyles.Italic:o="italic";break;case FontStyles.BoldItalic:o="italic",s="bold";case FontStyles.Underlined:}return Fonts.Kokila,r&&"default"!==r&&(a=`'${r}'`),o+" "+s+" "+Math.floor(e)+"px "+a}static fontStyle(e){switch(e){case FontStyles.Bold:return"bold";case FontStyles.Italic:return"italic";case FontStyles.BoldItalic:return"italic bold";default:return"normal"}}static style(e){return OUTLINE_AND_FILL_STYLE_DICT.getValue(e)}};let VexFlowConverter=_VexFlowConverter;VexFlowConverter.majorMap={"-1":"F","-2":"Bb","-3":"Eb","-4":"Ab","-5":"Db","-6":"Gb","-7":"Cb","-8":"Fb",0:"C",1:"G",2:"D",3:"A",4:"E",5:"B",6:"F#",7:"C#",8:"G#"},VexFlowConverter.minorMap={"-1":"D","-2":"G","-3":"C","-4":"F","-5":"Bb","-6":"Eb","-7":"Ab","-8":"Db",0:"A",1:"E",2:"B",3:"F#",4:"C#",5:"G#",6:"D#",7:"A#",8:"E#"},VexFlowConverter.noteTremoloList=[],VexFlowConverter.glissandoList=[],VexFlowConverter.slideNote=null;class OctaveShift{constructor(e,t){this.numberXml=1,this.setOctaveShiftValue(e,t)}get Type(){return this.octaveValue}set Type(e){this.octaveValue=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get ParentStartMultiExpression(){return this.startMultiExpression}set ParentStartMultiExpression(e){this.startMultiExpression=e}get ParentEndMultiExpression(){return this.endMultiExpression}set ParentEndMultiExpression(e){this.endMultiExpression=e}setOctaveShiftValue(e,t){this.octaveValue=1===t&&"down"===e?0:1===t&&"up"===e?1:2===t&&"down"===e?2:2===t&&"up"===e?3:4}static getPitchFromOctaveShift(e,t){if(!e)return;let n=e.Octave;switch(t){case 0:n-=1;break;case 1:n+=1;break;case 2:n-=2;break;case 3:n+=2;break;default:n+=0}return new Pitch(e.FundamentalNote,n,e.Accidental)}}var OctaveEnum=(e=>(e[e.VA8=0]="VA8",e[e.VB8=1]="VB8",e[e.MA15=2]="MA15",e[e.MB15=3]="MB15",e[e.NONE=4]="NONE",e))(OctaveEnum||{});class AbstractTempoExpression extends AbstractExpression{constructor(e,t,n,i){super(t),this.label=e,this.staffNumber=n,this.parentMultiTempoExpression=i}get Label(){return this.label}set Label(e){this.label=e}get Placement(){return this.placement}set Placement(e){this.placement=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get ParentMultiTempoExpression(){return this.parentMultiTempoExpression}static isStringInStringList(e,t){for(const n of e)if(AbstractTempoExpression.stringContainsSeparatedWord(t.toLowerCase().trim(),n.toLowerCase().trim()))return!0;return!1}static stringContainsSeparatedWord(e,t){return e===t||-1!==e.indexOf(" "+t)||-1!==e.indexOf(t+" ")}}const _InstantaneousTempoExpression=class extends AbstractTempoExpression{constructor(e,t,n,i,r,o=!1){super(e,t,n,r),this.isMetronomeMark=o,this.setTempoAndTempoType(i)}static getDefaultValueForTempoType(e){switch(e){case 1:return 20;case 2:return 30;case 3:return 48;case 4:return 52;case 5:return 63;case 6:return 70;case 7:return 75;case 8:return 88;case 9:return 92;case 10:return 96;case 11:return 106;case 12:return 112;case 13:return 118;case 14:return 130;case 15:return 140;case 16:return 155;case 17:return 170;case 18:return 184;case 19:return 200;default:throw new ArgumentOutOfRangeException("tempoEnum")}}static isInputStringInstantaneousTempo(e){return!!e&&(_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghissimo,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoGrave,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLento,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLargo,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghetto,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagio,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagietto,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndante,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndantino,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoModerato,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegretto,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegro,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivace,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivacissimo,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPresto,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPrestissimo,e)||_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral,e))}get Label(){return this.label}set Label(e){this.label=e}get Placement(){return this.placement}set Placement(e){this.placement=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get Enum(){return this.tempoEnum}get TempoInBpm(){return this.tempoInBpm}set TempoInBpm(e){this.tempoInBpm=e}get ParentMultiTempoExpression(){return this.parentMultiTempoExpression}getAbsoluteTimestamp(){return Fraction$1.plus(this.ParentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.ParentMultiTempoExpression.Timestamp)}getAbsoluteFloatTimestamp(){return Fraction$1.plus(this.ParentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.ParentMultiTempoExpression.Timestamp).RealValue}setTempoAndTempoType(e){return this.label?_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghissimo,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(1)),this.tempoInBpm=e,void(this.tempoEnum=1)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoGrave,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(2)),this.tempoInBpm=e,void(this.tempoEnum=2)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLento,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(3)),this.tempoInBpm=e,void(this.tempoEnum=3)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLargo,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(4)),this.tempoInBpm=e,void(this.tempoEnum=4)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoLarghetto,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(5)),this.tempoInBpm=e,void(this.tempoEnum=5)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagio,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(6)),this.tempoInBpm=e,void(this.tempoEnum=6)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAdagietto,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(7)),this.tempoInBpm=e,void(this.tempoEnum=7)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(8)),this.tempoInBpm=e,void(this.tempoEnum=8)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndante,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(9)),this.tempoInBpm=e,void(this.tempoEnum=9)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAndantino,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(10)),this.tempoInBpm=e,void(this.tempoEnum=10)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoModerato,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(11)),this.tempoInBpm=e,void(this.tempoEnum=11)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegretto,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(12)),this.tempoInBpm=e,void(this.tempoEnum=12)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(13)),this.tempoInBpm=e,void(this.tempoEnum=13)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegro,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(14)),this.tempoInBpm=e,void(this.tempoEnum=14)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivace,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(15)),this.tempoInBpm=e,void(this.tempoEnum=15)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoVivacissimo,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(16)),this.tempoInBpm=e,void(this.tempoEnum=16)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(17)),this.tempoInBpm=e,void(this.tempoEnum=17)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPresto,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(18)),this.tempoInBpm=e,void(this.tempoEnum=18)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoPrestissimo,this.label)?(0===e&&(e=_InstantaneousTempoExpression.getDefaultValueForTempoType(19)),this.tempoInBpm=e,void(this.tempoEnum=19)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoAddons,this.label)?(this.tempoInBpm=0,void(this.tempoEnum=21)):_InstantaneousTempoExpression.isStringInStringList(_InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral,this.label)?(this.tempoInBpm=0,void(this.tempoEnum=22)):void 0:(this.tempoInBpm=e,void(this.tempoEnum=23))}};let InstantaneousTempoExpression=_InstantaneousTempoExpression;InstantaneousTempoExpression.listInstantaneousTempoLarghissimo=["Larghissimo","Sehr breit","very, very slow"],InstantaneousTempoExpression.listInstantaneousTempoGrave=["Grave","Schwer","slow and solemn"],InstantaneousTempoExpression.listInstantaneousTempoLento=["Lento","Lent","Langsam","slowly"],InstantaneousTempoExpression.listInstantaneousTempoLargo=["Largo","Breit","broadly"],InstantaneousTempoExpression.listInstantaneousTempoLarghetto=["Larghetto","Etwas breit","rather broadly"],InstantaneousTempoExpression.listInstantaneousTempoAdagio=["Adagio","Langsam","Ruhig","slow and stately"],InstantaneousTempoExpression.listInstantaneousTempoAdagietto=["Adagietto","Ziemlich ruhig","Ziemlich langsam","rather slow"],InstantaneousTempoExpression.listInstantaneousTempoAndanteModerato=["Andante moderato"],InstantaneousTempoExpression.listInstantaneousTempoAndante=["Andante","Gehend","Schreitend","at a walking pace"],InstantaneousTempoExpression.listInstantaneousTempoAndantino=["Andantino","Maestoso"],InstantaneousTempoExpression.listInstantaneousTempoModerato=["Moderato","Mäßig","Modéré","moderately"],InstantaneousTempoExpression.listInstantaneousTempoAllegretto=["Allegretto","Animato","fast"],InstantaneousTempoExpression.listInstantaneousTempoAllegroModerato=["Allegro moderato"],InstantaneousTempoExpression.listInstantaneousTempoAllegro=["Allegro","Rapide","Vite","Rasch","Schnell","Fröhlich"],InstantaneousTempoExpression.listInstantaneousTempoVivace=["Vivace","Allegro Assai","Lebhaft","Lebendig","lively and fast"],InstantaneousTempoExpression.listInstantaneousTempoVivacissimo=["Vivacissimo","Sehr lebhaft","Sehr lebendig"],InstantaneousTempoExpression.listInstantaneousTempoAllegrissimo=["Allegrissimo","very fast"],InstantaneousTempoExpression.listInstantaneousTempoPresto=["Presto","Sehr schnell","Geschwind"],InstantaneousTempoExpression.listInstantaneousTempoPrestissimo=["Prestissimo","äußerst schnell"],InstantaneousTempoExpression.listInstantaneousTempoChangesGeneral=["tempo primo","a tempo","tempo i","rubato","doppio movimento","rallentando","ritardando","ritard.","rit.","ritard","rall...","accelerando","accel"],InstantaneousTempoExpression.listInstantaneousTempoAddons=["assai","amoroso","cantabile","con brio","con dolore","con espressione","con fuoco","con moto","con spirito","spiritoso","espressivo","giocoso","giusto","grazioso","lesto","lugubre","maestoso","ma non troppo","marcato","molto","morendo","mosso","non tanto","piu","un poco","poco","quasi","risoluto","scherzando","sostenuto","teneramente","tempo giusto","tranquillo","sehr","lieblich","liebevoll","mit Leidenschaft","mit Liebe","amourös","gesanglich","mit Schwung","mit Feuer","mit Schmerz","mit Ausdruck","mit Bewegung","geistvoll","ausdrucksvoll","freudig","verspielt","angemessen","graziös","mit Grazie","flink","behände","traurig","klagend","majestätisch","aber nicht zu sehr","markant","gemäßigt","viel","sehr","ersterbend","bewegt","nicht zu sehr","mehr","ein wenig","gleichsam","entschlossen","zupackend","heiter","nachdrücklich","getragen","gewichtig","zart","zärtlich","im angemessenen Zeitmaß","ruhig","ein wenig","alla marcia","ad libitum","alla breve"];var TempoEnum=(e=>(e[e.none=0]="none",e[e.larghissimo=1]="larghissimo",e[e.grave=2]="grave",e[e.lento=3]="lento",e[e.largo=4]="largo",e[e.larghetto=5]="larghetto",e[e.adagio=6]="adagio",e[e.adagietto=7]="adagietto",e[e.andanteModerato=8]="andanteModerato",e[e.andante=9]="andante",e[e.andantino=10]="andantino",e[e.moderato=11]="moderato",e[e.allegretto=12]="allegretto",e[e.allegroModerato=13]="allegroModerato",e[e.allegro=14]="allegro",e[e.vivace=15]="vivace",e[e.vivacissimo=16]="vivacissimo",e[e.allegrissimo=17]="allegrissimo",e[e.presto=18]="presto",e[e.prestissimo=19]="prestissimo",e[e.lastRealTempo=20]="lastRealTempo",e[e.addon=21]="addon",e[e.changes=22]="changes",e[e.metronomeMark=23]="metronomeMark",e))(TempoEnum||{});const _MoodExpression=class extends AbstractExpression{constructor(e,t,n){super(t),this.label=e,this.staffNumber=n,this.setMoodType()}static isInputStringMood(e){return!!e&&(_MoodExpression.isStringInStringList(_MoodExpression.listMoodAffettuoso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAgitato,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAnimato,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodAppassionato,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodBrillante,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodCantabile,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodDolce,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEnergico,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEroico,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodEspressivo,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodFurioso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGiocoso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGioioso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrandioso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrazioso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodLacrimoso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodLeggiero,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMaestoso,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMalinconico,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarcato,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarziale,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMesto,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodMorendo,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodNobilmente,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodPatetico,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodPesante,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSaltando,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSautille,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodScherzando,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSostenuto,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodSpiccato,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTenerezza,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTranquillamente,e)||_MoodExpression.isStringInStringList(_MoodExpression.listMoodTrionfante,e))}get Label(){return this.label}set Label(e){this.label=e}get Mood(){return this.moodType}set Mood(e){this.moodType=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get Placement(){return this.placement}set Placement(e){this.placement=e}setMoodType(){_MoodExpression.isStringInStringList(_MoodExpression.listMoodAffettuoso,this.label)?this.moodType=0:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAgitato,this.label)?this.moodType=1:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAnimato,this.label)?this.moodType=3:_MoodExpression.isStringInStringList(_MoodExpression.listMoodAppassionato,this.label)?this.moodType=2:_MoodExpression.isStringInStringList(_MoodExpression.listMoodBrillante,this.label)?this.moodType=4:_MoodExpression.isStringInStringList(_MoodExpression.listMoodCantabile,this.label)?this.moodType=5:_MoodExpression.isStringInStringList(_MoodExpression.listMoodDolce,this.label)?this.moodType=6:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEnergico,this.label)?this.moodType=7:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEroico,this.label)?this.moodType=8:_MoodExpression.isStringInStringList(_MoodExpression.listMoodEspressivo,this.label)?this.moodType=9:_MoodExpression.isStringInStringList(_MoodExpression.listMoodFurioso,this.label)?this.moodType=10:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGiocoso,this.label)?this.moodType=11:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGioioso,this.label)?this.moodType=12:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrandioso,this.label)?this.moodType=14:_MoodExpression.isStringInStringList(_MoodExpression.listMoodGrazioso,this.label)?this.moodType=15:_MoodExpression.isStringInStringList(_MoodExpression.listMoodLacrimoso,this.label)?this.moodType=13:_MoodExpression.isStringInStringList(_MoodExpression.listMoodLeggiero,this.label)?this.moodType=16:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMaestoso,this.label)?this.moodType=17:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMalinconico,this.label)?this.moodType=18:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarcato,this.label)?this.moodType=19:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMarziale,this.label)?this.moodType=20:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMesto,this.label)?this.moodType=21:_MoodExpression.isStringInStringList(_MoodExpression.listMoodMorendo,this.label)?this.moodType=22:_MoodExpression.isStringInStringList(_MoodExpression.listMoodNobilmente,this.label)?this.moodType=23:_MoodExpression.isStringInStringList(_MoodExpression.listMoodPatetico,this.label)?this.moodType=24:_MoodExpression.isStringInStringList(_MoodExpression.listMoodPesante,this.label)?this.moodType=25:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSaltando,this.label)?this.moodType=27:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSautille,this.label)?this.moodType=26:_MoodExpression.isStringInStringList(_MoodExpression.listMoodScherzando,this.label)?this.moodType=28:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSostenuto,this.label)?this.moodType=29:_MoodExpression.isStringInStringList(_MoodExpression.listMoodSpiccato,this.label)?this.moodType=30:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTenerezza,this.label)?this.moodType=31:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTranquillamente,this.label)?this.moodType=32:_MoodExpression.isStringInStringList(_MoodExpression.listMoodTrionfante,this.label)&&(this.moodType=33)}};let MoodExpression=_MoodExpression;MoodExpression.listMoodAffettuoso=["affettuoso"],MoodExpression.listMoodAgitato=["agitato"],MoodExpression.listMoodAppassionato=["appassionato"],MoodExpression.listMoodAnimato=["animato","lively"],MoodExpression.listMoodBrillante=["brillante"],MoodExpression.listMoodCantabile=["cantabile"],MoodExpression.listMoodDolce=["dolce"],MoodExpression.listMoodEnergico=["energico"],MoodExpression.listMoodEroico=["eroico"],MoodExpression.listMoodEspressivo=["espressivo"],MoodExpression.listMoodFurioso=["furioso"],MoodExpression.listMoodGiocoso=["giocoso"],MoodExpression.listMoodGioioso=["gioioso"],MoodExpression.listMoodLacrimoso=["lacrimoso"],MoodExpression.listMoodGrandioso=["grandioso"],MoodExpression.listMoodGrazioso=["grazioso"],MoodExpression.listMoodLeggiero=["leggiero"],MoodExpression.listMoodMaestoso=["maestoso"],MoodExpression.listMoodMalinconico=["malinconico"],MoodExpression.listMoodMarcato=["marcato"],MoodExpression.listMoodMarziale=["marziale"],MoodExpression.listMoodMesto=["mesto"],MoodExpression.listMoodMorendo=["morendo"],MoodExpression.listMoodNobilmente=["nobilmente"],MoodExpression.listMoodPatetico=["patetico"],MoodExpression.listMoodPesante=["pesante"],MoodExpression.listMoodSautille=["sautille"],MoodExpression.listMoodSaltando=["saltando"],MoodExpression.listMoodScherzando=["scherzando"],MoodExpression.listMoodSostenuto=["sostenuto"],MoodExpression.listMoodSpiccato=["spiccato"],MoodExpression.listMoodTenerezza=["tenerezza"],MoodExpression.listMoodTranquillamente=["tranquillamente"],MoodExpression.listMoodTrionfante=["trionfante"];class UnknownExpression extends AbstractExpression{constructor(e,t,n,i){super(t),this.label=e,this.staffNumber=i,void 0===n&&(n=TextAlignmentEnum.LeftBottom),this.textAlignment=n}get Label(){return this.label}get Placement(){return this.placement}set Placement(e){this.placement=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get TextAlignment(){return this.textAlignment}}class MultiExpression{constructor(e,t){this.unknownList=[],this.moodList=[],this.expressions=[],this.sourceMeasure=e,this.timestamp=t}get SourceMeasureParent(){return this.sourceMeasure}set SourceMeasureParent(e){this.sourceMeasure=e}get StaffNumber(){return this.staffNumber}set StaffNumber(e){this.staffNumber=e}get Timestamp(){return this.timestamp}set Timestamp(e){this.timestamp=e}get AbsoluteTimestamp(){return Fraction$1.plus(this.timestamp,this.sourceMeasure.AbsoluteTimestamp)}get InstantaneousDynamic(){return this.instantaneousDynamic}set InstantaneousDynamic(e){this.instantaneousDynamic=e}get EndingContinuousDynamic(){return this.endingContinuousDynamic}set EndingContinuousDynamic(e){this.endingContinuousDynamic=e}get StartingContinuousDynamic(){return this.startingContinuousDynamic}set StartingContinuousDynamic(e){this.startingContinuousDynamic=e}get MoodList(){return this.moodList}get UnknownList(){return this.unknownList}get EntriesList(){return this.expressions}get OctaveShiftStart(){return this.octaveShiftStart}set OctaveShiftStart(e){this.octaveShiftStart=e}get OctaveShiftEnd(){return this.octaveShiftEnd}set OctaveShiftEnd(e){this.octaveShiftEnd=e}get CombinedExpressionsText(){return this.combinedExpressionsText}set CombinedExpressionsText(e){this.combinedExpressionsText=e}getPlacementOfFirstEntry(){let e=PlacementEnum.Above;return this.expressions.length>0&&(this.expressions[0].expression instanceof InstantaneousDynamicExpression||this.expressions[0].expression instanceof ContinuousDynamicExpression||this.expressions[0].expression instanceof MoodExpression||this.expressions[0].expression instanceof UnknownExpression)&&(e=this.expressions[0].expression.Placement),e}getFontstyleOfFirstEntry(){let e=FontStyles.Regular;if(this.expressions.length>0)if(this.expressions[0].expression instanceof ContinuousDynamicExpression)e=FontStyles.Italic;else if(this.expressions[0].expression instanceof MoodExpression)e=FontStyles.Italic;else if(this.expressions[0].expression instanceof UnknownExpression){var t;e=null!==(t=this.expressions[0].expression.fontStyle)&&void 0!==t?t:FontStyles.Regular}return e}addExpression(e,t){e instanceof InstantaneousDynamicExpression?(this.instantaneousDynamic&&this.removeExpressionFromEntryList(this.InstantaneousDynamic),this.instantaneousDynamic=e,this.instantaneousDynamic.ParentMultiExpression=this):e instanceof ContinuousDynamicExpression?this.startingContinuousDynamic=e:e instanceof MoodExpression?this.moodList.push(e):e instanceof UnknownExpression&&this.unknownList.push(e),this.addExpressionToEntryList(e,t)}CompareTo(e){return this.Timestamp.RealValue>e.Timestamp.RealValue?1:this.Timestamp.RealValue<e.Timestamp.RealValue?-1:0}addExpressionToEntryList(e,t){const n=new MultiExpressionEntry;n.prefix=t,n.expression=e,n.label=e instanceof ContinuousDynamicExpression||e instanceof MoodExpression||e instanceof UnknownExpression?e.Label:"",this.expressions.push(n)}removeExpressionFromEntryList(e){for(let t=0,n=this.expressions.length;t<n;++t){if(this.expressions[t].expression===e){this.expressions.splice(t,1);break}}}}class MultiExpressionEntry{}const _ContinuousTempoExpression=class extends AbstractTempoExpression{constructor(e,t,n,i){super(e,t,n,i),this.setTempoType()}static isInputStringContinuousTempo(e){return!!e&&(_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoFaster,e)||_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoSlower,e))}static isIncreasingTempo(e){return e<=4}static isDecreasingTempo(e){return e>=5&&e<=12}get TempoType(){return this.tempoType}set TempoType(e){this.tempoType=e}get StartTempo(){return this.startTempo}set StartTempo(e){this.startTempo=e}get EndTempo(){return this.endTempo}set EndTempo(e){this.endTempo=e}get AbsoluteEndTimestamp(){return this.absoluteEndTimestamp}set AbsoluteEndTimestamp(e){this.absoluteEndTimestamp=e}get AbsoluteTimestamp(){return this.ParentMultiTempoExpression.AbsoluteTimestamp}getAbsoluteFloatTimestamp(){return this.ParentMultiTempoExpression.AbsoluteTimestamp.RealValue}getInterpolatedTempo(e){const t=Fraction$1.plus(this.parentMultiTempoExpression.SourceMeasureParent.AbsoluteTimestamp,this.parentMultiTempoExpression.Timestamp);if(e.lt(t))return-1;if(this.absoluteEndTimestamp.lt(e))return-2;const n=Fraction$1.minus(e,t).RealValue/Fraction$1.minus(this.absoluteEndTimestamp,t).RealValue;return Math.max(0,Math.min(250,this.startTempo+(this.endTempo-this.startTempo)*n))}setTempoType(){_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoFaster,this.label)?this.tempoType=0:_ContinuousTempoExpression.isStringInStringList(_ContinuousTempoExpression.listContinuousTempoSlower,this.label)&&(this.tempoType=9)}};let ContinuousTempoExpression=_ContinuousTempoExpression;ContinuousTempoExpression.listContinuousTempoFaster=["accelerando","piu mosso","poco piu","stretto"],ContinuousTempoExpression.listContinuousTempoSlower=["poco meno","meno mosso","piu lento","calando","allargando","rallentando","ritardando","ritenuto","ritard.","ritard","rit.","rit","riten.","riten"];class MultiTempoExpression{constructor(e,t){this.expressions=[],this.sourceMeasure=e,this.timestamp=t}get Timestamp(){return this.timestamp}get AbsoluteTimestamp(){return Fraction$1.plus(this.sourceMeasure.AbsoluteTimestamp,this.timestamp)}get SourceMeasureParent(){return this.sourceMeasure}set SourceMeasureParent(e){this.sourceMeasure=e}get InstantaneousTempo(){return this.instantaneousTempo}get ContinuousTempo(){return this.continuousTempo}get EntriesList(){return this.expressions}get CombinedExpressionsText(){return this.combinedExpressionsText}set CombinedExpressionsText(e){this.combinedExpressionsText=e}getPlacementOfFirstEntry(){let e=PlacementEnum.Above;return this.expressions.length>0&&(this.expressions[0].Expression instanceof InstantaneousTempoExpression||this.expressions[0].Expression instanceof ContinuousTempoExpression)&&(e=this.expressions[0].Expression.Placement),e}getFontstyleOfFirstEntry(){let e=FontStyles.Regular;return this.expressions[0].Expression instanceof InstantaneousTempoExpression?e=FontStyles.Bold:this.expressions[0].Expression instanceof ContinuousTempoExpression&&(e=FontStyles.Italic),e}addExpression(e,t){if(this.checkIfAlreadyExists(e))return;e instanceof InstantaneousTempoExpression?this.instantaneousTempo=e:e instanceof ContinuousTempoExpression&&(this.continuousTempo=e);const n=new TempoExpressionEntry;n.prefix=t,n.Expression=e,n.label=e.Label,this.expressions.push(n)}CompareTo(e){return this.Timestamp.RealValue>e.Timestamp.RealValue?1:this.Timestamp.RealValue<e.Timestamp.RealValue?-1:0}checkIfAlreadyExists(e){for(const t of this.expressions)if(t.label===e.Label)return!0;return!1}}class TempoExpressionEntry{get Expression(){return this.expression}set Expression(e){this.expression=e}}class RehearsalExpression extends AbstractExpression{constructor(e,t){super(t),this.label=e}}class MusicSystemBuilder{constructor(){this.musicSystems=[],this.globalSystemIndex=0,this.leadSheet=!1}initialize(e,t,n){this.leadSheet=e.LeadSheet,this.graphicalMusicSheet=e,this.rules=this.graphicalMusicSheet.ParentMusicSheet.Rules,this.measureList=t,this.numberOfVisibleStaffLines=n,this.activeRhythm=new Array(this.numberOfVisibleStaffLines),this.activeKeys=new Array(this.numberOfVisibleStaffLines),this.activeClefs=new Array(this.numberOfVisibleStaffLines),this.initializeActiveInstructions(this.measureList[0])}buildMusicSystems(){const e=this.getFullPageSystemWidth();let t=!1;this.measureListIndex=0,this.currentSystemParams=new SystemBuildParameters,this.currentSystemParams.currentSystem=this.initMusicSystem();let n=0,i=0;for(;this.measureListIndex<this.measureList.length;){var r,o;const l=this.measureList[this.measureListIndex];if(!l||!l[0]){this.measureListIndex++;continue}for(let e=0,t=l.length;e<t;++e)l[e].resetLayout();const c=l[0].parentSourceMeasure,u=c.HasEndLine,h=u&&this.rules.NewPartAndSystemAfterFinalBarline,d=this.currentSystemParams.IsSystemStartMeasure();c.IsSystemStartMeasure=d;const p=c===this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();let f=this.rules.MeasureLeftMargin,m=0;const g=this.getMeasureStartLine();if(f+=this.getLineWidth(l[0],g,d),!this.leadSheet){let e=!1;t&&this.rules.ShowRhythmAgainAfterPartEndOrFinalBarline&&(e=!0),f+=this.addBeginInstructions(l,d,p||e),m+=this.addEndInstructions(l)}let v=0;for(let e=0;e<this.numberOfVisibleStaffLines;e++)v=Math.max(v,l[e].minimumStaffEntriesWidth);const b=this.getMeasureEndLine();m+=this.getLineWidth(l[0],b,d);let y,A=this.rules.MeasureLeftMargin;if(this.measureListIndex+1<this.measureList.length){var s,a;const e=this.measureList[this.measureListIndex+1];y=null===(s=e[0])||void 0===s?void 0:s.parentSourceMeasure,null!==(a=y)&&void 0!==a&&a.hasBeginInstructions()&&(A+=this.addBeginInstructions(e,!1,!1))}let S=f+m+v;null!==(r=l[0])&&void 0!==r&&null!==(o=r.parentSourceMeasure)&&void 0!==o&&o.multipleRestMeasures&&(S=this.rules.MultipleRestMeasureDefaultWidth);const x=this.currentSystemParams.currentWidth+S+A<e;0===n&&(n=Math.abs(Math.floor((e-f-m-A)/(S-f))),n=n%2==0?n:n-1,n<1&&(n=1));const E=this.rules.NewPageAtXMLNewPageAttribute&&c.printNewPageXml,w=E||this.rules.NewSystemAtXMLNewPageAttribute&&c.printNewPageXml||this.rules.NewSystemAtXMLNewSystemAttribute&&c.printNewSystemXml;if((d||x&&!w)&&(this.rules.DYWorkSpecial||i<n)){if(this.addMeasureToSystem(l,g,b,S,f,v,m),this.updateActiveClefs(c,l),this.measureListIndex++,h){if(this.rules.MaxSystemToDrawNumber===this.musicSystems.length)return this.finalizeCurrentSystem(l,!this.rules.StretchLastSystemLine,!1),this.musicSystems;this.finalizeCurrentAndCreateNewSystem(l,!this.rules.StretchLastSystemLine,!1)}t=u}else{if(i=0,this.rules.MaxSystemToDrawNumber===this.musicSystems.length)return this.finalizeCurrentSystem(l,!1,!0,E),this.musicSystems;this.finalizeCurrentAndCreateNewSystem(l,!1,!0,E)}}if(this.currentSystemParams.systemMeasures.length>0){if(this.rules.MaxSystemToDrawNumber===this.musicSystems.length)return this.finalizeCurrentSystem(this.measureList[this.measureList.length-1],!this.rules.StretchLastSystemLine,!1),this.musicSystems;this.finalizeCurrentAndCreateNewSystem(this.measureList[this.measureList.length-1],!this.rules.StretchLastSystemLine,!1)}return this.musicSystems}calculateSystemYLayout(){for(const e of this.musicSystems)this.optimizeDistanceBetweenStaffLines(e);this.calculateMusicSystemsRelativePositions()}setMeasureWidth(e,t,n,i){for(let r=0,o=e.length;r<o;++r){const o=e[r];o.setWidth(t),n>0&&(o.beginInstructionsWidth=n),i>0&&(o.endInstructionsWidth=i)}}finalizeCurrentAndCreateNewSystem(e,t=!1,n=!0,i=!1){this.finalizeCurrentSystem(e,t,n,i),this.currentSystemParams=new SystemBuildParameters,void 0!==e&&this.measureListIndex<this.measureList.length&&(this.currentSystemParams.currentSystem=this.initMusicSystem())}finalizeCurrentSystem(e,t=!1,n=!0,i=!1){this.currentSystemParams.currentSystem.breaksPage=i,this.adaptRepetitionLineWithIfNeeded(),void 0!==e&&n&&this.checkAndCreateExtraInstructionMeasure(e),this.stretchMusicSystem(t)}adaptRepetitionLineWithIfNeeded(){const e=this.currentSystemParams.systemMeasures;if(e.length>=1){const t=this.currentSystemParams.currentSystem.GraphicalMeasures[this.currentSystemParams.currentSystem.GraphicalMeasures.length-1];let n=0;const i=e[e.length-1];i.endLine===SystemLinesEnum.DotsBoldBoldDots&&(i.endLine=SystemLinesEnum.DotsThinBold,n=t[0].getLineWidth(SystemLinesEnum.DotsBoldBoldDots)/2-t[0].getLineWidth(SystemLinesEnum.DotsThinBold)),this.currentSystemParams.currentSystemFixWidth-=n;for(let e=0,r=t.length;e<r;++e){t[e].endInstructionsWidth-=n}}}addMeasureToSystem(e,t,n,i,r,o,s){this.currentSystemParams.systemMeasures.push({beginLine:t,endLine:n}),this.setMeasureWidth(e,i,r,s),this.addStaveMeasuresToSystem(e),this.currentSystemParams.currentWidth+=i,this.currentSystemParams.currentSystemFixWidth+=r+s,this.currentSystemParams.currentSystemVarWidth+=o,this.currentSystemParams.systemMeasureIndex++}initMusicSystem(){const e=MusicSheetCalculator.symbolFactory.createMusicSystem(this.globalSystemIndex++,this.rules);return this.musicSystems.push(e),this.layoutSystemStaves(e),e.createMusicSystemLabel(this.rules.InstrumentLabelTextHeight,this.rules.SystemLabelsRightMargin,this.rules.LabelMarginBorderFactor,1===this.musicSystems.length),e}getFullPageSystemWidth(){return this.graphicalMusicSheet.ParentMusicSheet.pageWidth-this.rules.PageLeftMargin-this.rules.PageRightMargin-this.rules.SystemLeftMargin-this.rules.SystemRightMargin}layoutSystemStaves(e){const t=this.getFullPageSystemWidth(),n=e.PositionAndShape;n.BorderLeft=0,n.BorderRight=t,n.BorderTop=0;const i=[],r=this.graphicalMusicSheet.ParentMusicSheet.Instruments;for(let a=0,l=r.length;a<l;++a){const e=r[a];if(e.Visible&&0!==e.Voices.length)for(let t=0,n=e.Staves.length;t<n;++t){const n=e.Staves[t];i.push(n)}}let o=!1;if(this.leadSheet)for(let a=0,l=i.length;a<l;++a){if(i[a].ParentInstrument.LyricVersesNumbers.length>1){o=!0;break}}let s=0;for(let a=0;a<i.length;a++)if(this.addStaffLineToMusicSystem(e,s,i[a]),s+=this.rules.StaffHeight,a+1<i.length){let e=0;e=this.leadSheet&&!o?2.5:i[a].ParentInstrument===i[a+1].ParentInstrument?this.rules.BetweenStaffDistance:this.rules.StaffDistance,s+=e}n.BorderBottom=s}addStaffLineToMusicSystem(e,t,n){if(e){const i=MusicSheetCalculator.symbolFactory.createStaffLine(e,n);e.StaffLines.push(i);const r=i.PositionAndShape,o=new PointF2D;o.x=0,r.BorderRight=e.PositionAndShape.Size.width,o.y=t,r.RelativePosition=o,r.BorderLeft=0,r.BorderTop=0,r.BorderBottom=this.rules.StaffHeight;for(let e=0;e<5;e++){const t=new PointF2D;t.x=0,t.y=e*this.rules.StaffHeight/4;const n=new PointF2D;n.x=i.PositionAndShape.Size.width,n.y=e*this.rules.StaffHeight/4,this.leadSheet&&(t.y=n.y=0),i.StaffLines[e]=new GraphicalLine(t,n,this.rules.StaffLineWidth)}}}initializeActiveInstructions(e){const t=this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();if(t){this.visibleStaffIndices=this.graphicalMusicSheet.getVisibleStavesIndicesFromSourceMeasure(e);for(let e=0,n=this.visibleStaffIndices.length;e<n;e++){const n=this.visibleStaffIndices[e],i=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(t,n);this.activeClefs[e]=t.FirstInstructionsStaffEntries[n].Instructions[0],i.InitiallyActiveClef=this.activeClefs[e];const r=t.FirstInstructionsStaffEntries[n].Instructions[1];if(r){let t=KeyInstruction.copy(r);t=this.transposeKeyInstruction(t,i),this.activeKeys[e]=t}const o=t.FirstInstructionsStaffEntries[n].Instructions[2];this.activeRhythm[e]=o}}}transposeKeyInstruction(e,t){const n=t.getTransposedHalftones();return n!==e.isTransposedBy&&t.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&void 0!==MusicSheetCalculator.transposeCalculator&&MusicSheetCalculator.transposeCalculator.transposeKey(e,n),e}addBeginInstructions(e,t,n){var i;const r=e.length;if(0===r)return 0;let o=0;const s=e[0].parentSourceMeasure,a=[];for(let l=0;l<r;++l){const i=e[l];i&&a.push(i.getVFStave());const r=this.visibleStaffIndices[l],c=s.FirstInstructionsStaffEntries[r],u=this.AddInstructionsAtMeasureBegin(c,i,l,n,t);o=Math.max(o,u)}return(null===(i=a[0])||void 0===i?void 0:i.formatBegModifiers)&&a[0].formatBegModifiers(a),o}addEndInstructions(e){const t=e.length;if(0===t)return 0;let n=.5;const i=e[0].parentSourceMeasure;for(let r=0;r<t;r++){const t=e[r],o=this.visibleStaffIndices[r],s=i.LastInstructionsStaffEntries[o],a=this.addInstructionsAtMeasureEnd(s,t,e);n=Math.max(n,a)}return n}AddInstructionsAtMeasureBegin(e,t,n,i,r){var o,s;let a,l,c,u=0;if(e)for(let S=0,x=e.Instructions.length;S<x;++S){const t=e.Instructions[S];t instanceof ClefInstruction?a=t:t instanceof KeyInstruction?l=t:t instanceof RhythmInstruction&&(c=t)}t.InitiallyActiveClef=null!==(o=a)&&void 0!==o?o:this.activeClefs[n];const h=null===(s=window.GYM)||void 0===s?void 0:s.multitrack;var d;r&&(a||(a=this.activeClefs[n]),l||(l=KeyInstruction.copy(this.activeKeys[n])),!h||!l||null!==(d=l.AlteratedNotes)&&void 0!==d&&d.length||(l=KeyInstruction.copy(this.activeKeys[0]),l.PrintObject=!1),i&&!c&&(c=this.activeRhythm[n]));let p=!1,f=!1,m=!1;if(a?(t.addClefAtBegin(a),p=!0):a=this.activeClefs[n],l){l=this.transposeKeyInstruction(l,t);const e=r?void 0:this.activeKeys[n];if(t.addKeyAtBegin(l,e,a),h&&!l.PrintObject)try{var g,v,b;null===(g=t.stave)||void 0===g||null===(v=g.getModifiers(void 0,"keysignatures"))||void 0===v||null===(b=v[0])||void 0===b||b.setDrawState(!1)}catch(A){}f=!0}if(void 0!==c&&c.PrintObject&&this.rules.RenderTimeSignatures){let e=!0;const n=t.MeasureNumber-1-this.rules.MinMeasureToDrawIndex;if(t.MeasureNumber-1>=0&&this.measureList[n]){var y;const t=null===(y=this.measureList[n][0])||void 0===y?void 0:y.parentSourceMeasure;null!=t&&t.ImplicitMeasure&&null!=t&&t.RhythmPrinted&&(e=!1)}e&&(t.addRhythmAtBegin(c),t.parentSourceMeasure.RhythmPrinted=c,m=!0)}return(p||f||m)&&(u+=t.beginInstructionsWidth,m&&(u+=this.rules.RhythmRightMargin)),u}addInstructionsAtMeasureEnd(e,t,n){if(!e||!e.Instructions||0===e.Instructions.length)return 0;for(let i=0,r=e.Instructions.length;i<r;++i){const r=e.Instructions[i];if(r instanceof ClefInstruction){const e=r;t.addClefAtEnd(e);for(const i of n)i!==t&&i.addClefAtEnd(e,!1)}}return this.rules.MeasureRightMargin+t.endInstructionsWidth}updateActiveClefs(e,t){for(let n=0,i=t.length;n<i;n++){const t=this.visibleStaffIndices[n],i=e.FirstInstructionsStaffEntries[t];if(i)for(let e=0,s=i.Instructions.length;e<s;++e){const t=i.Instructions[e];t instanceof ClefInstruction?this.activeClefs[n]=t:t instanceof KeyInstruction?this.activeKeys[n]=t:t instanceof RhythmInstruction&&(this.activeRhythm[n]=t)}const r=e.getEntriesPerStaff(t);for(let e=0,s=r.length;e<s;++e){const t=r[e];if(t.Instructions)for(let e=0,i=t.Instructions.length;e<i;++e){const i=t.Instructions[e];i instanceof ClefInstruction&&(this.activeClefs[n]=i)}}const o=e.LastInstructionsStaffEntries[t];if(o){const e=o.Instructions;for(let t=0,i=e.length;t<i;++t){const i=e[t];i instanceof ClefInstruction&&(this.activeClefs[n]=i)}}}}checkAndCreateExtraInstructionMeasure(e){const t=e[0].parentSourceMeasure.FirstInstructionsStaffEntries,n=[];for(let r=0,o=e.length;r<o;++r){const i=e[r];n.push(t[i.ParentStaff.idInMusicSheet])}let i=0;for(let r=0,o=n.length;r<o;++r){const e=n[r];if(!e)continue;const t=e.Instructions;let o,s;for(let n=0,i=t.length;n<i;++n){const e=t[n];e instanceof KeyInstruction&&e.Key!==this.activeKeys[r].Key&&(o=e),e instanceof RhythmInstruction&&e!==this.activeRhythm[r]&&(s=e)}if(void 0!==o||s){const e=this.addExtraInstructionMeasure(r,o,s);i=Math.max(i,e)}}i>0&&(this.currentSystemParams.systemMeasures.push({beginLine:SystemLinesEnum.None,endLine:SystemLinesEnum.None}),this.currentSystemParams.currentWidth+=i,this.currentSystemParams.currentSystemFixWidth+=i)}addExtraInstructionMeasure(e,t,n){const i=this.currentSystemParams.currentSystem,r=MusicSheetCalculator.symbolFactory.createExtraGraphicalMeasure(i.StaffLines[e]);t&&r.addKeyAtBegin(t,this.activeKeys[e],this.activeClefs[e]),void 0!==n&&n.PrintObject&&r.addRhythmAtBegin(n),r.PositionAndShape.BorderLeft=0,r.PositionAndShape.BorderTop=0,r.PositionAndShape.BorderBottom=this.rules.StaffHeight;const o=this.rules.MeasureLeftMargin+r.beginInstructionsWidth+this.rules.MeasureRightMargin;return r.PositionAndShape.BorderRight=o,i.StaffLines[e].Measures.push(r),o}addStaveMeasuresToSystem(e){if(e[0]){const t=[];for(let i=0;i<e.length;i++)t.push(e[i]);const n=this.currentSystemParams.currentSystem;for(let e=0;e<this.numberOfVisibleStaffLines;e++){const i=t[e];n.StaffLines[e].Measures.push(i),i.ParentStaffLine=n.StaffLines[e]}n.AddGraphicalMeasures(t)}}getMeasureStartLine(){if(this.thisMeasureBeginsLineRepetition()){const e=0===this.measureListIndex;if(e&&this.rules.RepetitionAllowFirstMeasureBeginningRepeatBarline)return SystemLinesEnum.BoldThinDots;const t=this.currentSystemParams.IsSystemStartMeasure();if(this.previousMeasureEndsLineRepetition()&&!t)return SystemLinesEnum.DotsBoldBoldDots;if(!e)return SystemLinesEnum.BoldThinDots}return SystemLinesEnum.None}getMeasureEndLine(){let e;try{if(e=this.measureList[this.measureListIndex][0].parentSourceMeasure,this.rules.RenderMultipleRestMeasures&&e.multipleRestMeasures>1){const t=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,e.measureListIndex+e.multipleRestMeasures-1);e=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[t]}}finally{}const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures,n=t[this.measureListIndex];let i=!1;var r,o;n.allRests&&(i=null===(r=t[this.measureListIndex+n.multipleRestMeasures-1])||void 0===r||null===(o=r.endsWithLineRepetition)||void 0===o?void 0:o.call(r));return this.nextMeasureBeginsLineRepetition()&&this.thisMeasureEndsLineRepetition()?SystemLinesEnum.DotsBoldBoldDots:this.thisMeasureEndsLineRepetition()||i?SystemLinesEnum.DotsThinBold:this.nextMeasureHasKeyInstructionChange()||this.thisMeasureEndsWordRepetition()||this.nextMeasureBeginsWordRepetition()?SystemLinesEnum.DoubleThin:e&&void 0!==e.endingBarStyleEnum?e.endingBarStyleEnum:SystemLinesEnum.SingleThin}getLineWidth(e,t,n){let i=e.getLineWidth(t);return t===SystemLinesEnum.DotsBoldBoldDots&&(i/=2),n&&t===SystemLinesEnum.BoldThinDots&&(i+=this.rules.DistanceBetweenLastInstructionAndRepetitionBarline),i}previousMeasureEndsLineRepetition(){if(0===this.measureListIndex)return!1;for(let e=0,t=this.measureList[this.measureListIndex-1].length;e<t;++e){if(this.measureList[this.measureListIndex-1][e].endsWithLineRepetition())return!0}return!1}thisMeasureBeginsLineRepetition(){for(let e=0,t=this.measureList[this.measureListIndex].length;e<t;++e){if(this.measureList[this.measureListIndex][e].beginsWithLineRepetition())return!0}return!1}nextMeasureBeginsLineRepetition(){const e=this.measureListIndex+1;if(e>=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length||!this.measureList[e])return!1;for(let t=0,n=this.measureList[e].length;t<n;++t){if(this.measureList[e][t].beginsWithLineRepetition())return!0}return!1}thisMeasureEndsLineRepetition(){for(let t=0,n=this.measureList[this.measureListIndex].length;t<n;++t){var e;const n=this.measureList[this.measureListIndex][t];if(n.endsWithLineRepetition())return!0;if(null!==(e=n.parentSourceMeasure)&&void 0!==e&&e.isReducedToMultiRest){const e=this.graphicalMusicSheet.ParentMusicSheet;let t=n.parentSourceMeasure;const i=e.SourceMeasures.indexOf(t);let r=t.multipleRestMeasureNumber;for(let n=i+1;n<e.SourceMeasures.length;n++){const i=e.SourceMeasures[n];if(!(i.multipleRestMeasureNumber>=r))break;t=i,r=i.multipleRestMeasureNumber}return t.endsWithLineRepetition()}}return!1}nextMeasureBeginsWordRepetition(){const e=this.measureListIndex+1;if(e>=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length||e>this.measureList.length-1)return!1;for(let t=0,n=this.measureList[e].length;t<n;++t){if(this.measureList[e][t].beginsWithWordRepetition())return!0}return!1}thisMeasureEndsWordRepetition(){for(let e=0,t=this.measureList[this.measureListIndex].length;e<t;++e){if(this.measureList[this.measureListIndex][e].endsWithWordRepetition())return!0}return!1}nextMeasureHasKeyInstructionChange(){return void 0!==this.getNextMeasureKeyInstruction()}getNextMeasureKeyInstruction(){if(this.measureListIndex<this.measureList.length-1)for(let t=0;t<this.measureList[this.measureListIndex].length;t++){var e;const n=null===(e=this.measureList[this.measureListIndex+1][t])||void 0===e?void 0:e.parentSourceMeasure;if(!n)return;return n.getKeyInstruction(this.visibleStaffIndices[t])}}calculateXScalingFactor(e,t){if(Math.abs(t-0)<1e-5||Math.abs(e-0)<1e-5)return 1;return(this.currentSystemParams.currentSystem.StaffLines[0].PositionAndShape.Size.width-e)/t}stretchMusicSystem(e){let t=this.calculateXScalingFactor(this.currentSystemParams.currentSystemFixWidth,this.currentSystemParams.currentSystemVarWidth);e&&(t=Math.min(t,this.rules.LastSystemMaxScalingFactor));const n=this.currentSystemParams.currentSystem;for(let i=0,r=n.StaffLines.length;i<r;++i){const e=n.StaffLines[i];let r=0;for(let i=0;i<e.Measures.length;i++){const o=e.Measures[i];o.setPositionInStaffline(r);const s=o.beginInstructionsWidth;if(o.setWidth(s+o.minimumStaffEntriesWidth*t+o.endInstructionsWidth),i<this.currentSystemParams.systemMeasures.length){const e=this.currentSystemParams.systemMeasures[i].beginLine,t=o.getLineWidth(SystemLinesEnum.BoldThinDots);if(e===SystemLinesEnum.BoldThinDots){let s=r;0===i&&(s=r+o.beginInstructionsWidth-t),n.createVerticalLineForMeasure(s,t,e,SystemLinePosition.MeasureBegin,i,o)}}o.staffEntriesScaleFactor=t,o.layoutSymbols();if(!(i+1<this.currentSystemParams.systemMeasures.length&&this.currentSystemParams.systemMeasures[i+1].beginLine===SystemLinesEnum.BoldThinDots)){let e=SystemLinesEnum.SingleThin;i<this.currentSystemParams.systemMeasures.length&&(e=this.currentSystemParams.systemMeasures[i].endLine);const t=o.getLineWidth(e);let r=o.PositionAndShape.RelativePosition.x+o.PositionAndShape.BorderRight-t;e===SystemLinesEnum.DotsBoldBoldDots&&(r-=t/2),n.createVerticalLineForMeasure(r,t,e,SystemLinePosition.MeasureEnd,i,o)}r=o.PositionAndShape.RelativePosition.x+o.PositionAndShape.BorderRight}}e&&this.decreaseMusicSystemBorders()}decreaseMusicSystemBorders(){const e=this.currentSystemParams.currentSystem,t=CollectionUtil.last(e.StaffLines[0].Measures).PositionAndShape,n=t.RelativePosition.x+t.Size.width;for(let i=0,r=e.StaffLines.length;i<r;++i){const t=e.StaffLines[i];t.PositionAndShape.BorderRight=n;for(let e=0,i=t.StaffLines.length;e<i;++e){const i=t.StaffLines[e];i.End=new PointF2D(n,i.End.y)}}e.PositionAndShape.BorderRight=n+this.currentSystemParams.maxLabelLength+this.rules.SystemLabelsRightMargin}updateStaffLinesRelativePosition(e,t,n){for(let i=t;i<e.StaffLines.length;i++)e.StaffLines[i].PositionAndShape.RelativePosition.y=n;e.PositionAndShape.BorderBottom+=n}createMusicPage(){const e=new GraphicalMusicPage(this.graphicalMusicSheet);return this.graphicalMusicSheet.MusicPages.push(e),e.PageNumber=this.graphicalMusicSheet.MusicPages.length,e.PositionAndShape.BorderLeft=0,e.PositionAndShape.BorderRight=this.graphicalMusicSheet.ParentMusicSheet.pageWidth,e.PositionAndShape.BorderTop=0,e.PositionAndShape.BorderBottom=this.rules.PageHeight,e.PositionAndShape.RelativePosition=new PointF2D(0,0),e}addSystemToPage(e,t){e.MusicSystems.push(t),t.Parent=e}optimizeDistanceBetweenStaffLines(e){if(!e.checkStaffEntriesForStaffEntryLink())for(let i=0;i<e.StaffLines.length-1;i++){const t=e.StaffLines[i].BottomLine,n=e.StaffLines[i+1].SkyLine;let r=0;for(let e=0;e<t.length;e++){const i=t[e],o=Math.max(0,e-6),s=Math.min(n.length-1,e+6);let a=0;for(let e=o;e<=s;e++)a=Math.min(a,n[e]);const l=i-a;r=Math.max(l,r)}r+=this.rules.MinSkyBottomDistBetweenStaves,r=Math.max(r,this.rules.StaffHeight+this.rules.MinimumStaffLineDistance);const o=r+e.StaffLines[i].PositionAndShape.RelativePosition.y;this.updateStaffLinesRelativePosition(e,i+1,o)}const t=e.StaffLines[0];e.PositionAndShape.BorderTop=t.PositionAndShape.RelativePosition.y+t.PositionAndShape.BorderTop;const n=e.StaffLines[e.StaffLines.length-1];e.PositionAndShape.BorderBottom=n.PositionAndShape.RelativePosition.y+n.PositionAndShape.BorderBottom}hasExpressionCounts(e){let t=0,n=!1;for(const r of e.GraphicalMeasures)for(const e of r){for(const t of e.parentSourceMeasure.TempoExpressions){var i;if((null===(i=t.InstantaneousTempo)||void 0===i?void 0:i.Enum)===TempoEnum.metronomeMark){n=!0;break}}for(const n of e.parentSourceMeasure.StaffLinkedExpressions)t+=n.length}return{TempoCount:n?1:0,OtherCount:t}}calculateMusicSystemsRelativePositions(){let e=this.createMusicPage(),t=0,n=this.musicSystems[0],i=0,r=0;if(this.musicSystems.length>1)for(let a=1;a<this.musicSystems.length;a++){const e=this.musicSystems[a-1],t=this.musicSystems[a];let n=this.findRequiredDistanceWithSkyBottomLine(e,t);n>r&&(r=n)}for(let a=0;a<this.musicSystems.length;a++)if(n=this.musicSystems[a],0===e.MusicSystems.length){this.addSystemToPage(e,n),t=this.rules.CompactMode?this.rules.PageTopMarginNarrow:this.rules.PageTopMargin,1===this.graphicalMusicSheet.MusicPages.length&&this.rules.RenderTitle&&(t+=this.rules.TitleTopDistance+this.rules.SheetTitleHeight+this.rules.TitleBottomDistance);const r=new PointF2D(this.rules.PageLeftMargin+this.rules.SystemLeftMargin,t);n.PositionAndShape.RelativePosition=r,t+n.PositionAndShape.BorderBottom>this.rules.PageHeight-this.rules.PageBottomMargin&&(i++,i<=4&&console.log(`warning: could not fit a single system on page ${e.PageNumber} and measure number ${n.GraphicalMeasures[0][0].MeasureNumber}.\n The PageFormat may be too small for this sheet."\n Will not give further warnings for all pages, only total.`))}else{var o,s;const i=this.musicSystems[a-1],l=i.StaffLines[i.StaffLines.length-1],c=l.PositionAndShape;let u=this.findRequiredDistanceWithSkyBottomLine(i,n);u=Math.max(r,u),u+=this.rules.MinSkyBottomDistBetweenSystems,"GYM"===(null===(o=window)||void 0===o||null===(s=o.appName)||void 0===s?void 0:s.toLocaleUpperCase())&&(u=u<16?16:u);const h=this.hasExpressionCounts(n);h.TempoCount>0&&this.rules.MetronomeMarksDrawn&&(u+=2),h.OtherCount>0&&this.rules.MetronomeMarksDrawn&&(u+=2),u=Math.max(u,this.rules.MinimumDistanceBetweenSystems+l.StaffHeight);const d=t+c.RelativePosition.y+u,p=d+n.PositionAndShape.BorderMarginBottom;if(this.rules.NewPageAtXMLNewPageAttribute&&i.breaksPage||!(p<this.rules.PageHeight-this.rules.PageBottomMargin)){e=this.createMusicPage(),a-=1;continue}{this.addSystemToPage(e,n),t=d;const i=new PointF2D(this.rules.PageLeftMargin+this.rules.SystemLeftMargin,t);n.PositionAndShape.RelativePosition=i}}i>0&&console.log(`total amount of pages that couldn't fit a single music system: ${i} of ${e.PageNumber}`)}findRequiredDistanceWithSkyBottomLine(e,t){const n=e.StaffLines[e.StaffLines.length-1],i=t.StaffLines[0],r=n.BottomLine,o=i.SkyLine,s=n.PositionAndShape,a=i.PositionAndShape,l=1/this.rules.SamplingUnit;let c=0;for(let u=0;u<r.length;u++){const e=r[u],t=u+Math.round((s.RelativePosition.x-a.RelativePosition.x)*l);if(t<0)continue;if(t>=o.length)break;const n=Math.max(0,t-6),i=Math.min(o.length-1,t+6);let h=0;for(let r=n;r<=i;r++)h=Math.min(h,o[r]);const d=e-h;c=Math.max(d,c)}return 0===c&&(c=s.BorderBottom-a.BorderTop),c}}class SystemBuildParameters{constructor(){this.systemMeasures=[],this.systemMeasureIndex=0,this.currentWidth=0,this.currentSystemFixWidth=0,this.currentSystemVarWidth=0,this.maxLabelLength=0}IsSystemStartMeasure(){return 0===this.systemMeasureIndex}}class OctaveShiftParams{constructor(e,t,n){this.getOpenOctaveShift=e,this.getAbsoluteStartTimestamp=t,this.getAbsoluteEndTimestamp=n}}class AccidentalCalculator{constructor(){this.keySignatureNoteAlterationsDict=new Dictionary,this.currentAlterationsComparedToKeyInstructionList=[],this.currentInMeasureNoteAlterationsDict=new Dictionary}get ActiveKeyInstruction(){return this.activeKeyInstruction}set ActiveKeyInstruction(e){this.activeKeyInstruction=e,this.reactOnKeyInstructionChange()}doCalculationsAtEndOfMeasure(){this.currentInMeasureNoteAlterationsDict.clear(),this.currentAlterationsComparedToKeyInstructionList.clear();for(const e of this.keySignatureNoteAlterationsDict.keys())this.currentInMeasureNoteAlterationsDict.setValue(e,this.keySignatureNoteAlterationsDict.getValue(e))}checkAccidental(e,t){if(!t)return;const n=t.FundamentalNote+12*t.Octave,i=this.currentAlterationsComparedToKeyInstructionList.indexOf(n)>=0;if(this.currentInMeasureNoteAlterationsDict.containsKey(n)){if(i&&this.currentAlterationsComparedToKeyInstructionList.splice(this.currentAlterationsComparedToKeyInstructionList.indexOf(n),1),this.currentInMeasureNoteAlterationsDict.getValue(n)!==t.AccidentalHalfTones){this.keySignatureNoteAlterationsDict.containsKey(n)&&this.keySignatureNoteAlterationsDict.getValue(n)!==t.AccidentalHalfTones?(this.currentAlterationsComparedToKeyInstructionList.push(n),this.currentInMeasureNoteAlterationsDict.setValue(n,t.AccidentalHalfTones)):t.Accidental!==AccidentalEnum.NONE&&this.currentInMeasureNoteAlterationsDict.remove(n);const i=this.currentInMeasureNoteAlterationsDict.getValue(n);if(t.Accidental===AccidentalEnum.NONE&&(t=.5===Math.abs(i)?new Pitch(t.FundamentalNote,t.Octave,AccidentalEnum.NONE):new Pitch(t.FundamentalNote,t.Octave,AccidentalEnum.NATURAL)),this.isAlterAmbiguousAccidental(t.Accidental)&&!t.AccidentalXml)return;MusicSheetCalculator.symbolFactory.addGraphicalAccidental(e,t)}}else if(t.Accidental!==AccidentalEnum.NONE){if(i||this.currentAlterationsComparedToKeyInstructionList.push(n),this.currentInMeasureNoteAlterationsDict.setValue(n,t.AccidentalHalfTones),this.isAlterAmbiguousAccidental(t.Accidental)&&!t.AccidentalXml)return;MusicSheetCalculator.symbolFactory.addGraphicalAccidental(e,t)}else i&&(t=new Pitch(t.FundamentalNote,t.Octave,AccidentalEnum.NATURAL),this.currentAlterationsComparedToKeyInstructionList.splice(this.currentAlterationsComparedToKeyInstructionList.indexOf(n),1),MusicSheetCalculator.symbolFactory.addGraphicalAccidental(e,t))}isAlterAmbiguousAccidental(e){return e===AccidentalEnum.SLASHFLAT||e===AccidentalEnum.QUARTERTONEFLAT}reactOnKeyInstructionChange(){const e=this.activeKeyInstruction.AlteratedNotes;let t;t=this.activeKeyInstruction.Key>0?AccidentalEnum.SHARP:AccidentalEnum.FLAT,this.keySignatureNoteAlterationsDict.clear(),this.currentAlterationsComparedToKeyInstructionList.length=0;for(let n=-9;n<9;n++)for(let i=0;i<e.length;i++)this.keySignatureNoteAlterationsDict.setValue(e[i]+12*n,Pitch.HalfTonesFromAccidental(t));this.doCalculationsAtEndOfMeasure()}}class JustifiedMusicSystemBuilder extends MusicSystemBuilder{buildMusicSystems(){this.currentSystemParams=new SystemBuildParameters;const e=[];let t=0,n=-1;for(let u=0,h=this.measureList.length;u<h;++u){this.measureListIndex=u;const i=this.measureList[u];if(!i||!i[0])continue;for(let e=0,t=i.length;e<t;++e)i[e].resetLayout();const r=i[0].parentSourceMeasure,o=this.rules.NewPageAtXMLNewPageAttribute&&r.printNewPageXml;if((this.rules.NewSystemAtXMLNewSystemAttribute&&r.printNewSystemXml||o)&&u>0)n=u-1,e.push({startIndex:t,endIndex:n}),t=u;else{r.HasEndLine&&this.rules.NewPartAndSystemAfterFinalBarline&&(n=u,e.push({startIndex:t,endIndex:n}),t=u+1)}}t<this.measureList.length&&n<t&&e.push({startIndex:t,endIndex:this.measureList.length-1});const i=[];let r=[];const o=[],s=[];for(const u of e){let e=0;for(let i=u.startIndex;i<=u.endIndex;++i){this.measureListIndex=i;const t=this.measureList[i];if(!t||!t[0]){o.push(0),s.push(0);continue}for(let e=0,i=t.length;e<i;++e)t[e].resetLayout();const n=t[0].parentSourceMeasure===this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();let r=this.rules.MeasureLeftMargin,a=0;const l=this.getMeasureStartLine();r+=this.getLineWidth(t[0],l,!1),this.leadSheet||(r+=this.addBeginInstructions(t,!1,n),a+=this.addEndInstructions(t));let c=0;for(let e=0;e<this.numberOfVisibleStaffLines;e++)c=Math.max(c,t[e].minimumStaffEntriesWidth);const u=this.getMeasureEndLine();a+=this.getLineWidth(t[0],u,!1);const h=r+a+c;o.push(h),s.push(e+h/2),e+=h}const t=e,n=this.getFullPageSystemWidth()-8,h=Math.ceil(t/n)*n/t;let d=1,p=0,f=0,m=0;for(let g=u.startIndex;g<=u.endIndex;++g){var a,l;const e=s[g];if(0===e)continue;const t=o[g],u=o[g+1]||0;let v=e*h/n;f+=t;const b=(null===(a=window)||void 0===a?void 0:a.appName)||"";if("GYM"===(null==b?void 0:b.toLocaleUpperCase())||null!==(l=window)&&void 0!==l&&l.customSectionAmount){var c;let e=null===(c=window.GYM)||void 0===c?void 0:c.wrapNum;e=Number(e)>0?Number(e):6,m===e||f+u>n&&m%2==0?(r.push(m),f=t,m=1):m++}else f>n?(r.push(m),f=t,m=1):m++;v=t>n?g+1:Math.ceil(v),d===v?p+=1:(i.push(p),d=v,p=1)}i.push(p),r.push(m),r=r.filter(Boolean)}return r.length>1&&1===r[r.length-1]&&(r[r.length-2]=r[r.length-2]-1,r[r.length-1]=r[r.length-1]+1),console.log(r,i),this.buildPreparedMusicSystems(r)}buildPreparedMusicSystems(e){let t=!1;this.currentSystemParams=new SystemBuildParameters,this.currentSystemParams.currentSystem=this.initMusicSystem();for(let n=0,i=this.measureList.length;n<i;++n){this.measureListIndex=n;const i=this.measureList[n];if(!i||!i[0])continue;const r=this.rules.NewPageAtXMLNewPageAttribute&&i[0].parentSourceMeasure.printNewPageXml;this.currentSystemParams.currentSystem.GraphicalMeasures.length===e[this.musicSystems.length-1]&&this.finalizeCurrentAndCreateNewSystem(i,!1,!t,r);for(let e=0,t=i.length;e<t;++e)i[e].resetLayout();const o=i[0].parentSourceMeasure,s=o.HasEndLine,a=this.currentSystemParams.IsSystemStartMeasure(),l=o===this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();let c=this.rules.MeasureLeftMargin,u=0;const h=this.getMeasureStartLine();if(c+=this.getLineWidth(i[0],h,a),!this.leadSheet){let e=!1;t&&this.rules.ShowRhythmAgainAfterPartEndOrFinalBarline&&(e=!0),c+=this.addBeginInstructions(i,a,l||e),u+=this.addEndInstructions(i)}let d=0;for(let e=0;e<this.numberOfVisibleStaffLines;e++)d=Math.max(d,i[e].minimumStaffEntriesWidth);const p=this.getMeasureEndLine();u+=this.getLineWidth(i[0],p,a);const f=c+u+d;this.addMeasureToSystem(i,h,p,f,c,d,u),this.updateActiveClefs(o,i),t=s}return this.finalizeCurrentAndCreateNewSystem(void 0,!1,!1),this.musicSystems}}let metronomeMarks={};class MusicSheetCalculator{constructor(){this.staffEntriesWithGraphicalTies=[],this.staffEntriesWithOrnaments=[],this.staffEntriesWithChordSymbols=[],this.staffLinesWithLyricWords=[],this.graphicalLyricWords=[],this.abstractNotImplementedErrorMessage="abstract, not implemented",this.dynamicExpressionMap=new Map}static get TextMeasurer(){return MusicSheetCalculator.textMeasurer}static set TextMeasurer(e){MusicSheetCalculator.textMeasurer=e}get leadSheet(){return this.graphicalMusicSheet.LeadSheet}static setMeasuresMinStaffEntriesWidth(e,t){for(let n=0,i=e.length;n<i;++n){const i=e[n];i&&(i.minimumStaffEntriesWidth=t)}}initialize(e){this.graphicalMusicSheet=e,this.rules=e.ParentMusicSheet.Rules,this.rules.clearMusicSheetObjects(),this.prepareGraphicalMusicSheet()}prepareGraphicalMusicSheet(){const e=this.graphicalMusicSheet.ParentMusicSheet;this.staffEntriesWithGraphicalTies=[],this.staffEntriesWithOrnaments=[],this.staffEntriesWithChordSymbols=[],this.staffLinesWithLyricWords=[],this.graphicalMusicSheet.Initialize();const t=this.graphicalMusicSheet.MeasureList,n=this.createAccidentalCalculators(),i=this.graphicalMusicSheet.initializeActiveClefs(),r=[],o=e.getCompleteNumberOfStaves(),s=[];for(let l=0;l<o;l++)s.push(void 0);for(let l=0,c=e.SourceMeasures.length;l<c;++l){const o=e.SourceMeasures[l],a=this.createGraphicalMeasuresForSourceMeasure(o,n,r,s,i);if(t.push(a),o.multipleRestMeasures>0&&this.rules.RenderMultipleRestMeasures){o.isReducedToMultiRest=!0,o.multipleRestMeasureNumber=1;const n=o.multipleRestMeasures-1;l+=n;for(let i=1;i<=n;i++){const n=e.SourceMeasures.indexOf(o)+i;if(n>=e.SourceMeasures.length)break;const r=e.SourceMeasures[n];r.multipleRestMeasureNumber=i+1,r.isReducedToMultiRest=!0,t.push([void 0])}}}if(this.rules.AutoGenerateMultipleRestMeasuresFromRestMeasures&&this.rules.RenderMultipleRestMeasures){let o,a=0;for(let l=0,c=e.SourceMeasures.length;l<c;++l){const c=e.SourceMeasures[l];if(!c.isReducedToMultiRest&&c.canBeReducedToMultiRest())if(a>0){o.isReducedToMultiRest=!0,o.multipleRestMeasureNumber=1,a++,c.multipleRestMeasureNumber=a,c.isReducedToMultiRest=!0;for(let e=0;e<t[l].length;e++)t[l][e]=void 0}else o=c,a=1;else if(a>1){o.multipleRestMeasures=a;const e=this.createGraphicalMeasuresForSourceMeasure(o,n,r,s,i);t[o.measureListIndex]=e,a=0,o=void 0}else a=0,o=void 0}if(a>1){o.multipleRestMeasures=a,o.isReducedToMultiRest=!0;const e=this.createGraphicalMeasuresForSourceMeasure(o,n,r,s,i);t[o.measureListIndex]=e,a=0,o=void 0}}const a=i.map((e=>e.ClefType===ClefEnum.percussion));this.handleStaffEntries(a),this.calculateVerticalContainersList(),this.setIndicesToVerticalGraphicalContainers()}calculate(){this.musicSystems=[],this.clearSystemsAndMeasures(),this.clearRecreatedObjects(),this.createGraphicalTies(),this.calculateSheetLabelBoundingBoxes(),this.calculateXLayout(this.graphicalMusicSheet,this.maxInstrNameLabelLength()),this.graphicalMusicSheet.MusicPages.length=0,this.calculateMusicSystems(),GraphicalMusicSheet.transformRelativeToAbsolutePosition(this.graphicalMusicSheet)}calculateXLayout(e,t){if(this.graphicalMusicSheet.MeasureList.length>0){let e,t=0;for(let n=0;n<this.graphicalMusicSheet.MeasureList.length;n++){e=this.graphicalMusicSheet.MeasureList[n];let i=this.calculateMeasureXLayout(e);i=this.calculateMeasureWidthFromStaffEntries(e,i),i>t&&(t=i),MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(e,i)}if(this.rules.FixedMeasureWidth){let i=t;this.rules.FixedMeasureWidthFixedValue&&(i=this.rules.FixedMeasureWidthFixedValue);for(let t=0;t<this.graphicalMusicSheet.MeasureList.length;t++){var n;e=this.graphicalMusicSheet.MeasureList[t],!this.rules.FixedMeasureWidthUseForPickupMeasures&&null!==(n=e[0])&&void 0!==n&&n.parentSourceMeasure.ImplicitMeasure||MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(e,i)}}}}calculateMeasureWidthFromStaffEntries(e,t){throw new Error(this.abstractNotImplementedErrorMessage)}formatMeasures(){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMeasureXLayout(e){throw new Error(this.abstractNotImplementedErrorMessage)}initGraphicalMeasuresCreation(){throw new Error(this.abstractNotImplementedErrorMessage)}handleBeam(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}handleTiedGraphicalNote(e,t,n,i,r,o,s,a){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryLyrics(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryOrnaments(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryArticulations(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}handleVoiceEntryTechnicalInstructions(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}handleTuplet(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}layoutVoiceEntry(e,t,n,i){throw new Error(this.abstractNotImplementedErrorMessage)}layoutStaffEntry(e){throw new Error(this.abstractNotImplementedErrorMessage)}createGraphicalTie(e,t,n,i,r){throw new Error(this.abstractNotImplementedErrorMessage)}updateStaffLineBorders(e){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMeasureNumberPlacement(e){const t=e.StaffLines[0];if(!t||!t.Measures[0])return void loglevelExports.warn("calculateMeasureNumberPlacement: measure undefined for system.Id "+e.Id);let n=t.Measures[0].MeasureNumber,i=0;for(let r=0;r<t.Measures.length;r++){const o=t.Measures[r];let s=this.rules.RenderMeasureNumbersOnlyAtSystemStart&&r>1;if(1===r&&t.Measures[0].parentSourceMeasure.ImplicitMeasure&&(s=!1),s)return;0!==o.MeasureNumber&&1!==o.MeasureNumber||(n=o.MeasureNumber),i=o!==t.Measures[0]&&this.rules.MeasureNumberLabelXOffset?this.rules.MeasureNumberLabelXOffset:0;const a=this.rules.UseXMLMeasureNumbers&&1===o.MeasureNumber&&1!==o.parentSourceMeasure.getPrintedMeasureNumber();((o.MeasureNumber===n||o.MeasureNumber>=n+this.rules.MeasureNumberLabelOffset)&&!o.parentSourceMeasure.ImplicitMeasure||a)&&((1!==o.MeasureNumber||1===o.MeasureNumber&&o!==t.Measures[0]||a)&&this.calculateSingleMeasureNumberPlacement(o,t,e,i),n=o.MeasureNumber)}}calculateSingleMeasureNumberPlacement(e,t,n,i=0){const r=e.parentSourceMeasure.getPrintedMeasureNumber().toString(),o=new Label(r),s=new GraphicalLabel(o,this.rules.MeasureNumberLabelHeight,TextAlignmentEnum.LeftBottom,this.rules),a=t.SkyBottomLineCalculator;s.setLabelPositionAndShapeBorders(),s.PositionAndShape.Parent=n.PositionAndShape;const l=t.PositionAndShape.RelativePosition.x+e.PositionAndShape.RelativePosition.x-s.PositionAndShape.BorderMarginLeft+i;let c,u=l,h=l-s.PositionAndShape.BorderLeft+s.PositionAndShape.BorderRight;u-=t.PositionAndShape.RelativePosition.x,h-=t.PositionAndShape.RelativePosition.x;const d=u+.5,p=h-.5,f=a.getSkyLineMinInRange(d,p);if(e===t.Measures[0]){let t=0;if(n.GroupBrackets.length>0)for(const e of n.GroupBrackets)t=Math.min(t,e.PositionAndShape.BorderTop);else e.ParentStaff.ParentInstrument.Parent&&(t=-1);c=Math.min(f,t)}else c=f;c=Math.min(0,c),s.PositionAndShape.RelativePosition=new PointF2D(l,c),n.MeasureNumberLabels.push(s)}calculateMeasureNumberSkyline(e){const t=e.StaffLines[0];for(const n of e.MeasureNumberLabels){let e=n.PositionAndShape.RelativePosition.x,i=e-n.PositionAndShape.BorderLeft+n.PositionAndShape.BorderRight;e-=t.PositionAndShape.RelativePosition.x,i-=t.PositionAndShape.RelativePosition.x,t.SkyBottomLineCalculator.updateSkyLineInRange(e,i,n.PositionAndShape.RelativePosition.y+n.PositionAndShape.BorderMarginTop)}}layoutGraphicalTie(e,t,n){throw new Error(this.abstractNotImplementedErrorMessage)}calculateSingleStaffLineLyricsPosition(e,t){let n=0,i=this.rules.StaffHeight;const r=new Map,o=[],s=e.SkyBottomLineCalculator;let a=e.Measures.length;for(let c=0;c<a;++c){const t=e.Measures[c],a=t.PositionAndShape.RelativePosition,l=t.staffEntries.length;for(let e=0;e<l;++e){const l=t.staffEntries[e],c=l.LyricsEntries.length;for(let e=0;e<c;++e){const t=l.LyricsEntries[e].LyricsEntry;r[t.VerseNumber]=t.IsChorus}if(c>0){o.push(l),n=Math.max(n,l.LyricsEntries.length);const e=l.PositionAndShape.RelativePosition.x+a.x;let t=Number.MAX_VALUE,r=Number.MIN_VALUE;for(let n=0;n<l.LyricsEntries.length;n++){const i=l.LyricsEntries[n].GraphicalLabel;t=Math.min(t,e+i.PositionAndShape.BorderMarginLeft),r=Math.max(r,e+i.PositionAndShape.BorderMarginRight)}const c=s.getBottomLineMaxInRange(t,r);i=Math.max(i,c+this.rules.LyricsYMarginToBottomLine)}}}let l=0;a=o.length;for(const c of o){const e=[];let n=!0;for(let t=0;t<c.LyricsEntries.length;t++)n&&(n=c.LyricsEntries[t].LyricsEntry.IsChorus);for(const i of t)r[i]===n&&e.push(i);for(let t=0;t<c.LyricsEntries.length;t++){const n=c.LyricsEntries[t],r=n.GraphicalLabel,o=n.LyricsEntry.VerseNumber,s=e.indexOf(o),a=i+this.rules.LyricsHeight+this.rules.VerticalBetweenLyricsDistance+this.rules.LyricsYOffsetToStaffHeight+(this.rules.VerticalBetweenLyricsDistance+this.rules.LyricsHeight)*s,u=r.PositionAndShape.RelativePosition.x;r.PositionAndShape.RelativePosition=new PointF2D(u,a),r.Label.fontStyle=n.LyricsEntry.FontStyle,l=Math.max(l,a)}}if(o.length>0){const t=e.PositionAndShape.Size.width;let n=o[0].PositionAndShape.RelativePosition.x+o[0].PositionAndShape.BorderMarginLeft+o[0].parentMeasure.PositionAndShape.RelativePosition.x;n=n>t?t:n,s.updateBottomLineInRange(n,t,l)}return o}calculateLyricsExtendsAndDashes(e){for(let t=0,n=e.length;t<n;++t){const n=e[t];for(let e=0;e<n.LyricsEntries.length;e++){const t=n.LyricsEntries[e];t.ParentLyricWord&&t.ParentLyricWord.GraphicalLyricsEntries[t.ParentLyricWord.GraphicalLyricsEntries.length-1]!==t&&this.calculateSingleLyricWord(t),t.LyricsEntry.extend&&this.calculateLyricExtend(t)}}}calculateSingleOctaveShift(e,t,n,i){throw new Error(this.abstractNotImplementedErrorMessage)}calculateWordRepetitionInstruction(e,t){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMoodAndUnknownExpression(e,t,n){var i;const r=e.AbsoluteTimestamp,o=this.graphicalMusicSheet.MeasureList[t];let s=new PointF2D;const a=null===(i=e.UnknownList[0])||void 0===i?void 0:i.defaultYXml;if(e.MoodList.length>0||e.UnknownList.length>0){var l;let t="";for(let n=0,r=e.EntriesList.length;n<r;++n){const i=e.EntriesList[n];""!==i.prefix&&(t+=""===t?i.prefix:" "+i.prefix),t+=""===t?i.label:" "+i.label}const i=o[n].ParentStaffLine;if(!i)return void loglevelExports.debug("MusicSheetCalculator.calculateMoodAndUnknownExpression: staffLine undefined. Returning.");s=this.getRelativePositionInStaffLineFromTimestamp(r,n,i,null==i?void 0:i.isPartOfMultiStaffInstrument()),Math.abs(s.x-0)<1e-4&&(s.x=o[n].beginInstructionsWidth+this.rules.RhythmRightMargin);const c=this.rules.UnknownTextHeight,u=e.getPlacementOfFirstEntry(),h=this.calculateLabel(i,s,t,e.getFontstyleOfFirstEntry(),u,c);if(this.rules.PlaceWordsInsideStafflineFromXml&&a<0&&a>-50){let e=a/10;e+=this.rules.PlaceWordsInsideStafflineYOffset,h.PositionAndShape.RelativePosition.y=e}new GraphicalUnknownExpression(i,h,u,null===(l=o[n])||void 0===l?void 0:l.parentSourceMeasure,e)}}clearRecreatedObjects(){for(let e=0,t=this.staffEntriesWithGraphicalTies.length;e<t;++e){this.staffEntriesWithGraphicalTies[e].GraphicalTies.length=0}this.staffEntriesWithGraphicalTies.length=0}handleStaffEntryLink(e,t){loglevelExports.debug("handleStaffEntryLink not implemented")}calculateMusicSystems(){if(!this.graphicalMusicSheet.MeasureList)return;const e=this.graphicalMusicSheet.MeasureList;if(!e)return;this.rules.MinMeasureToDrawIndex>e.length-1&&(loglevelExports.debug("minimum measure to draw index out of range. resetting min measure index to limit."),this.rules.MinMeasureToDrawIndex=e.length-1);const t=[];for(let o=this.rules.MinMeasureToDrawIndex,s=e.length;o<s&&o<=this.rules.MaxMeasureToDrawIndex;++o){const n=[];for(let t=0,i=e[o].length;t<i;++t){const i=e[o][t];if(null!=i&&i.isVisible()&&(n.push(i),this.rules.ColoringEnabled))for(const e of i.staffEntries)for(const t of e.graphicalVoiceEntries)t.color()}t.push(n)}let n,i=0;for(let o=0,s=t.length;o<s;++o){const e=t[o];i=Math.max(e.length,i);break}if(0===i)return;const r=e.length;if(n=!this.rules.UseJustifiedBuilder||1===r||this.rules.RenderSingleHorizontalStaffline?new MusicSystemBuilder:new JustifiedMusicSystemBuilder,n.initialize(this.graphicalMusicSheet,t,i),this.musicSystems=n.buildMusicSystems(),this.formatMeasures(),this.leadSheet||(this.optimizeRestPlacement(),this.calculateStaffEntryArticulationMarks(),this.rules.RenderSlurs&&this.calculateTieCurves()),this.calculateSkyBottomLines(),this.calculateTupletNumbers(),this.rules.RenderMeasureNumbers)for(let o=0,s=this.musicSystems.length;o<s;++o){const e=this.musicSystems[o];this.calculateMeasureNumberPlacement(e)}if(this.rules.RenderFingerings&&this.calculateFingerings(),!this.leadSheet&&this.rules.RenderSlurs&&this.calculateSlurs(),this.calculateGlissandi(),this.rules.RenderMeasureNumbers)for(let o=0,s=this.musicSystems.length;o<s;++o){const e=this.musicSystems[o];this.calculateMeasureNumberSkyline(e)}this.leadSheet||this.calculateOrnaments(),this.calculateChordSymbols(),this.leadSheet||(this.calculateDynamicExpressions(),this.calculateMoodAndUnknownExpressions(),this.calculateExpressionAlignements(),this.calculateOctaveShifts(),this.rules.RenderPedals&&this.calculatePedals(),this.rules.RenderWavyLines&&this.calculateWavyLines(),this.calculateWordRepetitionInstructions()),this.calculateRepetitionEndings(),this.leadSheet||this.calculateTempoExpressions(),this.calculateRehearsalMarks(),this.calculateLyricsPosition();for(let o=0,s=this.musicSystems.length;o<s;++o){const e=this.musicSystems[o];for(let t=0,n=e.StaffLines.length;t<n;++t){const n=e.StaffLines[t];this.updateStaffLineBorders(n)}}n.calculateSystemYLayout(),this.calculateMarkedAreas();for(let o=0,s=this.graphicalMusicSheet.MusicPages.length;o<s;++o){const e=this.graphicalMusicSheet.MusicPages[o];for(let n=0,i=e.MusicSystems.length;n<i;++n){const t=0===o&&0===n,i=e.MusicSystems[n];i.setMusicSystemLabelsYPosition(),this.leadSheet?i===i.Parent.MusicSystems[0]&&i.createSystemLeftLine(this.rules.SystemThinLineWidth,this.rules.SystemLabelsRightMargin,t):(i.setYPositionsToVerticalLineObjectsAndCreateLines(this.rules),i.createSystemLeftLine(this.rules.SystemThinLineWidth,this.rules.SystemLabelsRightMargin,t),i.createInstrumentBrackets(this.graphicalMusicSheet.ParentMusicSheet.Instruments,this.rules.StaffHeight),i.createGroupBrackets(this.graphicalMusicSheet.ParentMusicSheet.InstrumentalGroups,this.rules.StaffHeight,0),i.alignBeginInstructions()),i.calculateBorders(this.rules)}const t=e.MusicSystems[0].PositionAndShape.BorderTop;for(let n=0,i=e.MusicSystems.length;n<i;++n){const i=e.MusicSystems[n];i.PositionAndShape.RelativePosition=new PointF2D(i.PositionAndShape.RelativePosition.x,i.PositionAndShape.RelativePosition.y-t)}e.PositionAndShape.calculateTopBottomBorders(),e===this.graphicalMusicSheet.MusicPages[0]&&this.calculatePageLabels(e),e.PositionAndShape.calculateTopBottomBorders()}}calculateMarkedAreas(){}calculateChordSymbols(){for(const e of this.musicSystems)for(const t of e.StaffLines){const n=t.SkyBottomLineCalculator;let i=Number.MAX_SAFE_INTEGER;if(this.rules.ChordSymbolYAlignment&&"staffline"===this.rules.ChordSymbolYAlignmentScope){const e=[];for(const n of t.Measures)e.push(...n.staffEntries);i=this.calculateAlignedChordSymbolsOffset(e,n)}for(let r=0;r<t.Measures.length;r++){const o=t.Measures[r];let s;this.rules.ChordSymbolYAlignment&&"measure"===this.rules.ChordSymbolYAlignmentScope&&(i=this.calculateAlignedChordSymbolsOffset(o.staffEntries,n));for(const t of o.staffEntries)if(t.graphicalChordContainers&&0!==t.graphicalChordContainers.length)for(let a=0;a<t.graphicalChordContainers.length;a++){const l=t.graphicalChordContainers[a];if(0===t.graphicalVoiceEntries.length&&t.relInMeasureTimestamp.RealValue>0){let e=0;0===o.staffEntries[0].relInMeasureTimestamp.RealValue&&(e=o.staffEntries[0].PositionAndShape.RelativePosition.x,1===o.MeasureNumber&&(e+=this.rules.ChordSymbolWholeMeasureRestXOffsetMeasure1));let n=e+(o.PositionAndShape.Size.width-o.endInstructionsWidth-e)*(t.relInMeasureTimestamp.RealValue/o.parentSourceMeasure.Duration.RealValue)+l.PositionAndShape.BorderMarginLeft;s&&(n=Math.max(n,s.PositionAndShape.RelativePosition.x+s.GraphicalLabel.PositionAndShape.Size.width+this.rules.ChordSymbolXSpacing)),l.PositionAndShape.RelativePosition.x=n,l.PositionAndShape.Parent=o.staffEntries[0].PositionAndShape.Parent}const c=l.PositionAndShape,u=c.Parent;if(u.DataObject instanceof GraphicalMeasure&&0===t.relInMeasureTimestamp.RealValue&&(c.RelativePosition.x=Math.max(o.beginInstructionsWidth,c.RelativePosition.x),1===o.MeasureNumber&&c.RelativePosition.x>3&&(c.RelativePosition.x+=this.rules.ChordSymbolWholeMeasureRestXOffsetMeasure1)),0===t.PositionAndShape.RelativePosition.x){const n=e.GraphicalMeasures[r];for(const e of n){let n=!1;for(const i of e.staffEntries)if(i.relInMeasureTimestamp===t.relInMeasureTimestamp&&0!==i.PositionAndShape.RelativePosition.x){c.RelativePosition.x=i.PositionAndShape.RelativePosition.x,n=!0;break}if(n)break}}const h=c.BorderMarginLeft+u.AbsolutePosition.x+c.RelativePosition.x,d=c.BorderMarginRight+u.AbsolutePosition.x+c.RelativePosition.x;(!this.rules.ChordSymbolYAlignment||i>0)&&(i=n.getSkyLineMinInRange(h,d));let p=0;0===a?(p+=this.rules.ChordSymbolYOffset,p+=.1):p+=this.rules.ChordSymbolYPadding,p*=-1;const f=l.GraphicalLabel;f.PositionAndShape.RelativePosition.y=i+p,f.setLabelPositionAndShapeBorders(),f.PositionAndShape.calculateBoundingBox(),n.updateSkyLineInRange(h,d,i+f.PositionAndShape.BorderMarginTop),s=l}}}}calculateAlignedChordSymbolsOffset(e,t){let n=Number.MAX_SAFE_INTEGER;for(const i of e)for(const e of i.graphicalChordContainers){const i=e.PositionAndShape,r=i.Parent;let o=i.BorderMarginLeft+r.AbsolutePosition.x,s=i.BorderMarginRight+r.AbsolutePosition.x;r.DataObject instanceof GraphicalMeasure&&(o+=r.DataObject.beginInstructionsWidth,s+=r.DataObject.beginInstructionsWidth),n=Math.min(n,t.getSkyLineMinInRange(o,s))}return n}layoutMeasureWithWholeRest(e,t,n){}layoutBeams(e){}layoutArticulationMarks(e,t,n){}layoutOrnament(e,t,n){}calculateRestNotePlacementWithinGraphicalBeam(e,t,n,i,r){}calculateTupletNumbers(){if(!this.rules.TupletNumberLimitConsecutiveRepetitions)return;let e,t,n,i=-1,r=0;const o={};for(const s of this.graphicalMusicSheet.ParentMusicSheet.Instruments)for(const a of s.Voices){r=0,o[a.VoiceId]={};for(const s of a.VoiceEntries)if(s.Notes.length>0){const l=s.Notes[0];if(!l.NoteTuplet||l.NoteTuplet.shouldBeBracketed(this.rules.TupletsBracketedUseXMLValue,this.rules.TupletsBracketed,this.rules.TripletsBracketed)){i=-1,r=0,t=void 0,e=void 0;continue}if(l.NoteTuplet===n)continue;let c=l.TypeLength;if(c||(loglevelExports.warn("note missing TypeLength"),c=l.NoteTuplet.Fractions[0]),l.NoteTuplet!==t&&o[a.VoiceId][l.NoteTuplet.TupletLabelNumber]&&o[a.VoiceId][l.NoteTuplet.TupletLabelNumber][c.RealValue]){l.NoteTuplet.RenderTupletNumber=!1,n=l.NoteTuplet;continue}l.NoteTuplet.TupletLabelNumber===i&&c.Equals(e)&&!l.NoteTuplet.Bracket||(i=l.NoteTuplet.TupletLabelNumber,e=c,r=0),t=l.NoteTuplet,r++,r<=this.rules.TupletNumberMaxConsecutiveRepetitions&&(l.NoteTuplet.RenderTupletNumber=!0),r>this.rules.TupletNumberMaxConsecutiveRepetitions&&(l.NoteTuplet.RenderTupletNumber=!1,this.rules.TupletNumberAlwaysDisableAfterFirstMax&&(o[a.VoiceId][i]||(o[a.VoiceId][i]={}),o[a.VoiceId][i][c.RealValue]=!0)),n=t}}}calculateSlurs(){}calculateGlissandi(){}calculateDynamicExpressionsForMultiExpression(e,t,n){}calculateGraphicalVerbalContinuousDynamic(e,t){const n=e.Label,i=t.x+n.PositionAndShape.BorderMarginLeft,r=t.x+n.PositionAndShape.BorderMarginRight,o=e.ContinuousDynamic.Placement,s=e.ParentStaffLine.SkyBottomLineCalculator;let a;o===PlacementEnum.Below?(a=s.getBottomLineMaxInRange(i,r),n.PositionAndShape.RelativePosition=new PointF2D(t.x,a-n.PositionAndShape.BorderMarginTop)):(a=s.getSkyLineMinInRange(i,r),n.PositionAndShape.RelativePosition=new PointF2D(t.x,a-n.PositionAndShape.BorderMarginBottom))}calculateGraphicalContinuousDynamic(e,t){const n=e.IsSoftAccent,i=e.ParentStaffLine.ParentStaff.idInMusicSheet,r=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(e.ContinuousDynamic.EndMultiExpression.SourceMeasureParent,i);if(!r)return void loglevelExports.warn("MusicSheetCalculator.calculateGraphicalContinuousDynamic: No endMeasure found");e.EndMeasure=r;const o=e.ParentStaffLine,s=r.ParentStaffLine,a=s&&o===s;let l=!1;s?l=null==s?void 0:s.isPartOfMultiStaffInstrument():o&&(l=null==o?void 0:o.isPartOfMultiStaffInstrument());const c=Fraction$1.createFromFraction(e.ContinuousDynamic.EndMultiExpression.AbsoluteTimestamp),u=this.graphicalMusicSheet.GetVerticalContainerFromTimestamp(c),h=u.getFirstNonNullStaffEntry().parentMeasure,d=h.PositionAndShape.AbsolutePosition.x+h.PositionAndShape.BorderRight;let p=new Fraction$1(0,0,0);for(const N of u.StaffEntries){var f;const e=null==N||null===(f=N.sourceStaffEntry)||void 0===f?void 0:f.calculateMaxNoteLength(!1);null!=e&&e.gt(p)&&(p=e)}const m=!n&&e.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo,g=this.getRelativePositionInStaffLineFromTimestamp(c,i,s,l,0,m),v=Fraction$1.plus(c,p),b=this.getRelativePositionInStaffLineFromTimestamp(v,i,s,l,0,e.ContinuousDynamic.DynamicType===ContDynamicEnum.diminuendo),y=this.rules.SoftAccentWedgePadding,A=u.getFirstNonNullStaffEntry().PositionAndShape.Size.width,S=this.rules.SoftAccentSizeFactor;n?(t.x-=A/2*S+y,g.x=t.x+A/2*S):b.x>g.x&&b.x<d?g.x+=(b.x-g.x)/this.rules.WedgeEndDistanceBetweenTimestampsFactor:g.x=d-this.rules.WedgeHorizontalMargin;const x=this.dynamicExpressionMap.get(e.ContinuousDynamic.StartMultiExpression.AbsoluteTimestamp.RealValue);x&&x.DataObject.ParentStaffLine===o&&(t.x=x.RelativePosition.x+this.rules.WedgeHorizontalMargin,t.x+=x.BorderMarginRight);const E=o.ParentMusicSystem,w=E.StaffLines.indexOf(o),_=o.SkyBottomLineCalculator;let M=e.ContinuousDynamic.Placement;const P=e.ContinuousDynamic.DynamicType;let T;0!==P&&1!==P||(M=1),a&&g.x-t.x<this.rules.WedgeMinLength&&!n&&(g.x=t.x+this.rules.WedgeMinLength);const C=t.x;let I=s.Measures[0].beginInstructionsWidth-this.rules.WedgeHorizontalMargin-2,k=0,B=0;const R=[];if(a)k=g.x;else{k=o.PositionAndShape.Size.width,B=g.x;const t=[o,s],n=e.StartMeasure;let a=n,l=0,c=n.parentSourceMeasure.measureListIndex;for(;a!==r&&l<1e3;){const n=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[c],r=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(n,i);if(r){a=r;const n=a.ParentStaffLine;if(!t.includes(n)){t.push(n);const i=new GraphicalContinuousDynamicExpression(e.ContinuousDynamic,n,n.Measures[0].parentSourceMeasure);i.IsSplittedPart=!0,R.push(i)}}c++,l++}T=new GraphicalContinuousDynamicExpression(e.ContinuousDynamic,s,r.parentSourceMeasure),T.IsSplittedPart=!0,e.IsSplittedPart=!0}n&&(I=g.x+y,B=I+A/2*S);let L=0,D=0;if(M===PlacementEnum.Below){let e=0;if(w<E.StaffLines.length-1&&(e=w+1),e>w){const t=E.StaffLines[e].PositionAndShape.RelativePosition.y-o.PositionAndShape.RelativePosition.y-this.rules.StaffHeight;L=this.rules.StaffHeight+t/2}else L=this.rules.WedgePlacementBelowY;L-=this.rules.WedgeOpeningLength/2,a||(D=L);let t=_.getBottomLineMaxInRange(C,k);if(t>L&&(L=t),w<E.StaffLines.length-1){const e=o.findClosestStaffEntry(k),t=o.findClosestStaffEntry(C);t&&e&&t.parentVerticalContainer}a||(t=s.SkyBottomLineCalculator.getBottomLineMaxInRange(I,B),t>D&&(D=t),D+=this.rules.WedgeOpeningLength/2,D+=this.rules.WedgeVerticalMargin),L+=this.rules.WedgeOpeningLength/2,L+=this.rules.WedgeVerticalMargin}else if(M===PlacementEnum.Above){if(1===o.ParentStaff.ParentInstrument.Staves.length)L=this.rules.WedgePlacementAboveY;else{let e=0;w>0&&(e=w-1);const t=E.StaffLines[e];L=-(o.PositionAndShape.RelativePosition.y-t.PositionAndShape.RelativePosition.y-this.rules.StaffHeight)/2}L+=this.rules.WedgeOpeningLength/2,a||(D=L);let e=_.getSkyLineMinInRange(C,k);if(e<L&&(L=e),o.ParentStaff.ParentInstrument.Staves.length>1&&w>0){const e=o.findClosestStaffEntry(C),t=o.findClosestStaffEntry(k);e&&t&&e.parentVerticalContainer}a||(e=s.SkyBottomLineCalculator.getSkyLineMinInRange(I,B),e<D&&(D=e),D-=this.rules.WedgeOpeningLength/2),L-=this.rules.WedgeOpeningLength/2,L-=this.rules.WedgeVerticalMargin,a||(D-=this.rules.WedgeVerticalMargin)}if(e.Lines.clear(),n)e.createFirstHalfCrescendoLines(C,k,L),e.createSecondHalfDiminuendoLines(I,B,L),e.calcPsi();else if(a&&!n)e.createLines(C,k,L),e.calcPsi();else{e.createFirstHalfLines(C,k,L),e.calcPsi();for(let t=0;t<R.length;t++){const n=R[t],i=n.ParentStaffLine;let r=D;if(M===PlacementEnum.Below){const e=s.SkyBottomLineCalculator.getBottomLineMaxInRange(I,k);e>r&&(r=e),r+=this.rules.WedgeOpeningLength/2,r+=this.rules.WedgeVerticalMargin}else if(M===PlacementEnum.Above){const e=i.SkyBottomLineCalculator.getSkyLineMinInRange(I,B);e<D&&(r=e),r-=this.rules.WedgeOpeningLength/2}e.ContinuousDynamic.DynamicType===ContDynamicEnum.crescendo?n.createSecondHalfCrescendoLines(0,i.PositionAndShape.Size.width,r):n.createFirstHalfDiminuendoLines(0,i.PositionAndShape.Size.width,r),n.calcPsi()}T.createSecondHalfLines(I,B,D),T.calcPsi()}this.dynamicExpressionMap.set(c.RealValue,e.PositionAndShape)}calculateGraphicalInstantaneousDynamicExpression(e,t,n){const i=e.ParentStaffLine;if(!i)return;const r=t.x+e.PositionAndShape.BorderMarginLeft,o=t.x+e.PositionAndShape.BorderMarginRight,s=i.SkyBottomLineCalculator;let a=0;if(e.Placement===PlacementEnum.Above){const n=s.getSkyLineMinInRange(r,o);if(i.isPartOfMultiStaffInstrument()&&i.ParentStaff!==i.ParentStaff.ParentInstrument.Staves[0]){const t=i.ParentMusicSystem.StaffLines[i.ParentMusicSystem.StaffLines.indexOf(i)-1],r=i.PositionAndShape.RelativePosition.y-t.PositionAndShape.RelativePosition.y-this.rules.StaffHeight;a=n>-r/2?-r/2:n-e.PositionAndShape.BorderMarginBottom}else a=n-e.PositionAndShape.BorderMarginBottom;e.PositionAndShape.RelativePosition=new PointF2D(t.x,a)}else if(e.Placement===PlacementEnum.Below){const n=s.getBottomLineMaxInRange(r,o),l=i.ParentStaff.ParentInstrument.Staves[i.ParentStaff.ParentInstrument.Staves.length-1];if(i.isPartOfMultiStaffInstrument()&&i.ParentStaff!==l){const t=i.ParentMusicSystem.StaffLines[i.ParentMusicSystem.StaffLines.indexOf(i)+1].PositionAndShape.RelativePosition.y-i.PositionAndShape.RelativePosition.y-this.rules.StaffHeight;a=n+e.PositionAndShape.BorderMarginBottom<this.rules.StaffHeight+t/2?this.rules.StaffHeight+t/2:n-e.PositionAndShape.BorderMarginTop}else a=n-e.PositionAndShape.BorderMarginTop;e.PositionAndShape.RelativePosition=new PointF2D(t.x,a)}e.updateSkyBottomLine()}calcGraphicalRepetitionEndingsRecursively(e){}layoutSingleRepetitionEnding(e,t,n,i,r,o){}calculateLabel(e,t,n,i,r,o,s=TextAlignmentEnum.CenterBottom,a=0){const l=new Label(n,s);l.fontStyle=i,l.fontHeight=o;const c=new GraphicalLabel(l,o,l.textAlignment,this.rules,e.PositionAndShape),u=1.1;r===PlacementEnum.Below&&(c.Label.textAlignment=TextAlignmentEnum.LeftTop),c.setLabelPositionAndShapeBorders(),c.PositionAndShape.BorderMarginBottom*=u,c.PositionAndShape.BorderMarginTop*=u,c.PositionAndShape.BorderMarginLeft*=u,c.PositionAndShape.BorderMarginRight*=u;let h,d=t.x+c.PositionAndShape.BorderMarginLeft,p=t.x+c.PositionAndShape.BorderMarginRight;p>e.PositionAndShape.Size.width&&(p=e.PositionAndShape.Size.width-this.rules.MeasureRightMargin,d=p-c.PositionAndShape.MarginSize.width,t.x=d-c.PositionAndShape.BorderMarginLeft);const f=e.SkyBottomLineCalculator;return h=r===PlacementEnum.Below?f.getBottomLineMaxInRange(d,p)+a:f.getSkyLineMinInRange(d,p)-a,c.PositionAndShape.RelativePosition=new PointF2D(t.x,h),r===PlacementEnum.Below?f.updateBottomLineInRange(d,p,c.PositionAndShape.BorderMarginBottom+h):f.updateSkyLineInRange(d,p,c.PositionAndShape.BorderMarginTop+h),c}calculateTempoExpressionsForMultiTempoExpression(e,t,n,i){metronomeMarks={};const r=Fraction$1.plus(e.AbsoluteTimestamp,t.Timestamp),o=this.graphicalMusicSheet.MeasureList[n];let s=new PointF2D;if(t.ContinuousTempo||t.InstantaneousTempo){if(this.rules.MinMeasureToDrawIndex>0)return;if(!o[0])return;let a=o[0].ParentStaffLine,l=o[0].PositionAndShape.RelativePosition.x,c=0;for(let e=0;e<o.length;e++)if(o[e].ParentStaffLine&&0!==o[e].ParentStaffLine.Measures.length&&o[e].ParentStaffLine.Measures.length>0){a=o[e].ParentStaffLine,l=o[e].PositionAndShape.RelativePosition.x,c=e;break}if(s=this.getRelativePositionInStaffLineFromTimestamp(r,c,a,a.isPartOfMultiStaffInstrument(),l),t.EntriesList.length>0&&t.EntriesList[0].Expression instanceof InstantaneousTempoExpression){if(t.EntriesList[0].Expression.Placement=PlacementEnum.Above,a.Measures[0].staffEntries.length>0&&0===Math.abs(s.x-a.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x)&&a.ParentMusicSystem===this.musicSystems[0]){const e=a.Measures[0].FirstInstructionStaffEntry;if(e){const t=e.GraphicalInstructions.last();s.x=t.PositionAndShape.RelativePosition.x}this.rules.CompactMode&&(s.x=a.PositionAndShape.RelativePosition.x+a.Measures[0].PositionAndShape.RelativePosition.x)}}for(const r of t.EntriesList){let o=TextAlignmentEnum.CenterBottom;this.rules.CompactMode&&(o=TextAlignmentEnum.LeftBottom);const l=this.calculateLabel(a,s,r.label,t.getFontstyleOfFirstEntry(),r.Expression.Placement,this.rules.UnknownTextHeight,o,this.rules.TempoYSpacing);if(r.Expression.ColorXML&&this.rules.ExpressionsUseXMLColor&&(l.ColorXML=r.Expression.ColorXML),r.Expression instanceof InstantaneousTempoExpression){for(const e of a.AbstractExpressions)e instanceof GraphicalInstantaneousTempoExpression&&(e.SourceExpression.Label,r.Expression.Label);new GraphicalInstantaneousTempoExpression(r.Expression,l).ParentStaffLine||loglevelExports.warn("Adding staffline didn't work"),r.Expression.Enum===TempoEnum.metronomeMark&&(metronomeMarks[n]=r.Expression)}else r.Expression;if(i===e.TempoExpressions.length-1)for(const e of Object.values(metronomeMarks))this.createMetronomeMark(e,n);else if(r.Expression instanceof ContinuousTempoExpression){for(const e of a.AbstractExpressions)e instanceof GraphicalInstantaneousTempoExpression&&(e.SourceExpression.Label,r.Expression.Label);a.AbstractExpressions.push(new GraphicalInstantaneousTempoExpression(r.Expression,l))}}}}createMetronomeMark(e,t){throw new Error(this.abstractNotImplementedErrorMessage)}graphicalMeasureCreatedCalculations(e){}clearSystemsAndMeasures(){for(let e=0,t=this.graphicalMusicSheet.MusicPages.length;e<t;++e){const t=this.graphicalMusicSheet.MusicPages[e];for(let e=0,n=t.MusicSystems.length;e<n;++e){const n=t.MusicSystems[e];for(let e=0,t=n.StaffLines.length;e<t;++e){const t=n.StaffLines[e];for(let e=0,n=t.Measures.length;e<n;++e){const n=t.Measures[e];if(n.FirstInstructionStaffEntry){const e=n.PositionAndShape.ChildElements.indexOf(n.FirstInstructionStaffEntry.PositionAndShape);e>-1&&n.PositionAndShape.ChildElements.splice(e,1),n.FirstInstructionStaffEntry=void 0,n.beginInstructionsWidth=0}if(n.LastInstructionStaffEntry){const e=n.PositionAndShape.ChildElements.indexOf(n.LastInstructionStaffEntry.PositionAndShape);e>-1&&n.PositionAndShape.ChildElements.splice(e,1),n.LastInstructionStaffEntry=void 0,n.endInstructionsWidth=0}}t.Measures=[],t.PositionAndShape.ChildElements=[]}n.StaffLines.length=0,n.PositionAndShape.ChildElements=[]}t.MusicSystems=[],t.PositionAndShape.ChildElements=[]}this.graphicalMusicSheet.MusicPages=[]}handleVoiceEntry(e,t,n,i,r,o,s,a,l,c=undefined,u=undefined){e.StemDirectionXml!==StemDirectionType.Undefined&&this.rules.SetWantedStemDirectionByXml&&void 0!==e.StemDirectionXml?e.WantedStemDirection=e.StemDirectionXml:this.calculateStemDirectionFromVoices(e);const h=t.findOrCreateGraphicalVoiceEntry(e);h.octaveShiftValue=a;const d=t.tabStaffEntry;let p;d&&(p=d.findOrCreateGraphicalVoiceEntry(e));for(let f=0,m=e.Notes.length;f<m;++f){const i=e.Notes[f];if(!i)continue;if(void 0!==u&&void 0!==u.Link&&void 0!==c&&c.indexOf(i)>-1)continue;let l;if(e.IsGrace?l=MusicSheetCalculator.symbolFactory.createGraceNote(i,h,r,this.rules,a):(l=MusicSheetCalculator.symbolFactory.createNote(i,h,r,a,this.rules,void 0),MusicSheetCalculator.stafflineNoteCalculator.trackNote(l)),i.Pitch&&this.checkNoteForAccidental(l,n,r,a),this.resetYPositionForLeadSheet(l.PositionAndShape),t.addGraphicalNoteToListAtCorrectYPosition(h,l),l.PositionAndShape.calculateBoundingBox(),this.leadSheet||(void 0!==i.NoteBeam&&i.PrintObject&&(i instanceof TabNote&&!this.rules.TabBeamsRendered||this.handleBeam(l,i.NoteBeam,s)),void 0!==i.NoteTuplet&&i.PrintObject&&this.handleTuplet(l,i.NoteTuplet,o)),p){const e=MusicSheetCalculator.symbolFactory.createNote(i,p,r,a,this.rules,void 0);d.addGraphicalNoteToListAtCorrectYPosition(p,e),e.PositionAndShape.calculateBoundingBox(),this.leadSheet||i.NoteTuplet&&this.handleTuplet(e,i.NoteTuplet,o)}}return e.Articulations.length>0&&this.handleVoiceEntryArticulations(e.Articulations,e,t),e.TechnicalInstructions.length>0&&this.handleVoiceEntryTechnicalInstructions(e.TechnicalInstructions,e,t),e.LyricsEntries.size()>0&&this.handleVoiceEntryLyrics(e,t,i),e.OrnamentContainer&&this.handleVoiceEntryOrnaments(e.OrnamentContainer,e,t),a}resetYPositionForLeadSheet(e){this.leadSheet&&(e.RelativePosition=new PointF2D(e.RelativePosition.x,0))}layoutVoiceEntries(e,t){if(e.PositionAndShape.RelativePosition=new PointF2D(0,0),!this.leadSheet)for(const n of e.graphicalVoiceEntries){const t=n.notes;if(0===t.length)continue;const i=t[0].sourceNote.ParentVoiceEntry,r=void 0!==t[0].sourceNote.Pitch;this.layoutVoiceEntry(i,t,e,r)}}maxInstrNameLabelLength(){let e=0;for(const n of this.graphicalMusicSheet.ParentMusicSheet.Instruments){var t;if(null!==(t=n.NameLabel)&&void 0!==t&&t.print&&n.Voices.length>0&&n.Voices[0].Visible){let t=n.NameLabel;this.rules.RenderPartNames||(t=new Label("",t.textAlignment,t.font));const i=new GraphicalLabel(t,this.rules.InstrumentLabelTextHeight,TextAlignmentEnum.LeftCenter,this.rules);i.setLabelPositionAndShapeBorders(),e=Math.max(e,i.PositionAndShape.MarginSize.width)}}return this.rules.RenderPartNames?e:0}calculateSheetLabelBoundingBoxes(){var e;const t=this.graphicalMusicSheet.ParentMusicSheet,n=this.rules.DefaultColorTitle;if(void 0!==t.Title&&this.rules.RenderTitle){const e=new GraphicalLabel(t.Title,this.rules.SheetTitleHeight,TextAlignmentEnum.CenterBottom,this.rules);e.Label.IsCreditLabel=!0,e.Label.colorDefault=n,this.graphicalMusicSheet.Title=e,e.setLabelPositionAndShapeBorders()}else this.rules.RenderTitle||(this.graphicalMusicSheet.Title=void 0);if(void 0!==t.Subtitle&&this.rules.RenderSubtitle){const e=new GraphicalLabel(t.Subtitle,this.rules.SheetSubtitleHeight,TextAlignmentEnum.CenterCenter,this.rules);e.Label.IsCreditLabel=!0,e.Label.colorDefault=n,this.graphicalMusicSheet.Subtitle=e,e.setLabelPositionAndShapeBorders()}else this.rules.RenderSubtitle||(this.graphicalMusicSheet.Subtitle=void 0);if(void 0!==t.Composer&&this.rules.RenderComposer){const e=new GraphicalLabel(t.Composer,this.rules.SheetComposerHeight,TextAlignmentEnum.RightCenter,this.rules);e.Label.IsCreditLabel=!0,e.Label.colorDefault=n,this.graphicalMusicSheet.Composer=e,e.setLabelPositionAndShapeBorders()}else this.rules.RenderComposer||(this.graphicalMusicSheet.Composer=void 0);if(void 0!==t.Lyricist&&this.rules.RenderLyricist){const e=new GraphicalLabel(t.Lyricist,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules);e.Label.IsCreditLabel=!0,e.Label.colorDefault=n,this.graphicalMusicSheet.Lyricist=e,e.setLabelPositionAndShapeBorders()}else this.rules.RenderLyricist||(this.graphicalMusicSheet.Lyricist=void 0);if(void 0!==t.Copyright&&this.rules.RenderCopyright){const e=new GraphicalLabel(t.Copyright,this.rules.SheetCopyrightHeight,TextAlignmentEnum.CenterBottom,this.rules);e.Label.IsCreditLabel=!0,e.Label.colorDefault=n,this.graphicalMusicSheet.Copyright=e,e.setLabelPositionAndShapeBorders()}else this.rules.RenderCopyright||(this.graphicalMusicSheet.Copyright=void 0);const i=null===(e=this.graphicalMusicSheet.musicSheet.sourceMeasures)||void 0===e?void 0:e[0];if(i&&i.FirstInstructionsStaffEntries.length>0){const e=i.FirstInstructionsStaffEntries[0];let r,o;for(let t=0,n=e.Instructions.length;t<n;++t){const n=e.Instructions[t];n instanceof ClefInstruction||(n instanceof KeyInstruction?r=n:n instanceof RhythmInstruction&&(o=n))}if(r){t.CurrentKeyInstruction=r;const e=VexFlowConverter.keySignature(r),i=new Label("1="+e),s=new Label(`${o.Rhythm.Numerator}\n\n${o.Rhythm.Denominator}`),a=new GraphicalLabel(i,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules),l=new GraphicalLabel(s,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules),c=new Label("ᅳ"),u=new GraphicalLabel(c,this.rules.SheetAuthorHeight,TextAlignmentEnum.LeftCenter,this.rules);i.fontFamily="Arial",i.IsCreditLabel=!0,i.colorDefault=n,s.fontFamily="Arial",s.IsCreditLabel=!0,s.colorDefault=n,c.fontFamily="Arial",c.IsCreditLabel=!0,c.colorDefault=n,this.graphicalMusicSheet.JianpuKeySignature=a,this.graphicalMusicSheet.jianpuTimeSignature=l,this.graphicalMusicSheet.jianpuLine=u,a.setLabelPositionAndShapeBorders(),l.setLabelPositionAndShapeBorders(),u.setLabelPositionAndShapeBorders()}}}checkMeasuresForWholeRestNotes(){for(let e=0,t=this.musicSystems.length;e<t;++e){const t=this.musicSystems[e];for(let e=0,n=t.StaffLines.length;e<n;++e){const n=t.StaffLines[e];for(let e=0,t=n.Measures.length;e<t;++e){const t=n.Measures[e];if(1===t.staffEntries.length){const e=t.staffEntries[0];if(e.graphicalVoiceEntries.length>0&&1===e.graphicalVoiceEntries[0].notes.length){const n=e.graphicalVoiceEntries[0].notes[0];!n.sourceNote.Pitch&&new Fraction$1(1,2).lt(n.sourceNote.Length)&&this.layoutMeasureWithWholeRest(n,e,t)}}}}}}optimizeRestNotePlacement(e,t){if(0===e.graphicalVoiceEntries.length)return;const n=e.graphicalVoiceEntries[0].notes;if(0===n.length)return;const i=n[0],r=i.sourceNote.isRest();if(2===e.graphicalVoiceEntries.length){let t=!1;const n=e.graphicalVoiceEntries[1].notes;if(n.length>0){t=n[0].sourceNote.isRest()}r&&t?this.calculateTwoRestNotesPlacementWithCollisionDetection(e):(r||t)&&this.calculateRestNotePlacementWithCollisionDetectionFromGraphicalNote(e)}else if(r&&e!==t.staffEntries[0]&&e!==t.staffEntries[t.staffEntries.length-1]){const n=t.staffEntries.indexOf(e),r=t.staffEntries[n-1],o=t.staffEntries[n+1];if(1===r.graphicalVoiceEntries.length){const t=r.graphicalVoiceEntries[0].notes[0];if(void 0!==t.sourceNote.NoteBeam&&1===o.graphicalVoiceEntries.length){const n=o.graphicalVoiceEntries[0].notes[0];void 0!==n.sourceNote.NoteBeam&&t.sourceNote.NoteBeam===n.sourceNote.NoteBeam&&(this.calculateRestNotePlacementWithinGraphicalBeam(e,i,t,o,n),e.PositionAndShape.calculateBoundingBox())}}}}getRelativePositionInStaffLineFromTimestamp(e,t,n,i,r=0,o=!1){let s,a,l=new PointF2D;const c=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length,u=this.graphicalMusicSheet.GetInterpolatedIndexInVerticalContainers(e),h=Math.min(Math.floor(u),c-1),d=Math.min(Math.ceil(u),c-1);if(h<0||t<0)return l;if(s=this.getFirstLeftNotNullStaffEntryFromContainer(h,t,i),a=this.getFirstRightNotNullStaffEntryFromContainer(d,t,i),s&&a){let t=s.parentMeasure.PositionAndShape.RelativePosition.x;r>0&&(t=r);let i=s.PositionAndShape.RelativePosition.x+t,c=a.PositionAndShape.RelativePosition.x+a.parentMeasure.PositionAndShape.RelativePosition.x;const u=e.RealValue>a.getAbsoluteTimestamp().RealValue;r>0?c=a.PositionAndShape.RelativePosition.x+t:o&&(s.getAbsoluteTimestamp().RealValue===e.RealValue||u)&&(i=s.PositionAndShape.RelativePosition.x+s.PositionAndShape.BorderLeft+t,c=i);let h=0;if(s!==a){const t=s.getAbsoluteTimestamp(),n=a.getAbsoluteTimestamp();h=Fraction$1.minus(e,t).RealValue/Fraction$1.minus(n,t).RealValue}s.parentMeasure.ParentStaffLine!==a.parentMeasure.ParentStaffLine&&(s.parentMeasure.ParentStaffLine===n?c=n.PositionAndShape.Size.width:i=n.PositionAndShape.RelativePosition.x),l=new PointF2D(i+(c-i)*h,0)}return l}getRelativeXPositionFromTimestamp(e){const t=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length,n=this.graphicalMusicSheet.GetInterpolatedIndexInVerticalContainers(e),i=Math.max(0,Math.min(Math.round(n),t-1)),r=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[i].getFirstNonNullStaffEntry();return r.PositionAndShape.RelativePosition.x+r.parentMeasure.PositionAndShape.RelativePosition.x}calculatePageLabels(e){this.rules.RenderSingleHorizontalStaffline&&(e.PositionAndShape.BorderRight=e.PositionAndShape.Size.width,e.PositionAndShape.calculateBoundingBox(),this.graphicalMusicSheet.ParentMusicSheet.pageWidth=e.PositionAndShape.Size.width);let t=10,n=-1;if(e.MusicSystems.length>0){const i=e.MusicSystems[0];t=i.PositionAndShape.RelativePosition.y+i.PositionAndShape.BorderTop;const r=e.MusicSystems[e.MusicSystems.length-1];n=r.PositionAndShape.RelativePosition.y+r.PositionAndShape.BorderBottom}if(this.graphicalMusicSheet.Title&&this.rules.RenderTitle){const t=this.graphicalMusicSheet.Title;t.PositionAndShape.Parent=e.PositionAndShape;const n=new PointF2D;n.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth/2,n.y=this.rules.TitleTopDistance+this.rules.SheetTitleHeight,t.PositionAndShape.RelativePosition=n,e.Labels.push(t)}if(this.graphicalMusicSheet.Subtitle&&this.rules.RenderTitle&&this.rules.RenderSubtitle){var i;const t=this.graphicalMusicSheet.Subtitle;t.PositionAndShape.Parent=e.PositionAndShape;const n=new PointF2D;n.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth/2,n.y=this.rules.TitleTopDistance+this.rules.SheetTitleHeight+this.rules.SheetMinimumDistanceBetweenTitleAndSubtitle;const r=null===(i=t.TextLines)||void 0===i?void 0:i.length;r>1&&(n.y+=t.PositionAndShape.BorderBottom*(r-1)/r),t.PositionAndShape.RelativePosition=n,e.Labels.push(t)}const r=this.graphicalMusicSheet.Composer;let o;if(r&&this.rules.RenderComposer){var s;r.PositionAndShape.Parent=e.PositionAndShape,r.setLabelPositionAndShapeBorders();const n=new PointF2D;n.x=this.graphicalMusicSheet.ParentMusicSheet.pageWidth-this.rules.PageRightMargin,n.y=t,n.y-=this.rules.SystemComposerDistance;const i=null===(s=r.TextLines)||void 0===s?void 0:s.length;i>1&&(n.y-=r.PositionAndShape.BorderBottom*(i-1)/i),o=n.y,r.PositionAndShape.RelativePosition=n,e.Labels.push(r)}const a=this.graphicalMusicSheet.Lyricist;if(a&&this.rules.RenderLyricist){var l;a.PositionAndShape.Parent=e.PositionAndShape,a.setLabelPositionAndShapeBorders();const n=new PointF2D;n.x=this.rules.PageLeftMargin,n.y=t,n.y-=this.rules.SystemLyricistDistance,n.y+=a.PositionAndShape.BorderBottom,n.y=Math.min(n.y,null!==(l=o)&&void 0!==l?l:Number.MAX_SAFE_INTEGER),a.PositionAndShape.RelativePosition=n,e.Labels.push(a)}const c=this.graphicalMusicSheet.Copyright;if(c&&this.rules.RenderCopyright){c.PositionAndShape.Parent=e.PositionAndShape,c.setLabelPositionAndShapeBorders();const t=new PointF2D;t.x=e.PositionAndShape.Size.width/2,t.y=n+this.rules.SheetCopyrightMargin,t.y-=c.PositionAndShape.BorderTop,c.PositionAndShape.RelativePosition=t,e.Labels.push(c)}}createGraphicalTies(){for(let e=0;e<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;e++){const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[e];for(let n=0;n<t.CompleteNumberOfStaves;n++)for(let i=0;i<t.VerticalSourceStaffEntryContainers.length;i++){const r=t.VerticalSourceStaffEntryContainers[i].StaffEntries[n];if(r){const t=this.graphicalMusicSheet.findGraphicalStaffEntryFromMeasureList(n,e,r);t&&(t.GraphicalTies.clear(),t.ties.clear());for(let i=0,o=r.VoiceEntries.length;i<o;++i){const o=r.VoiceEntries[i];for(let i=0,r=o.Notes.length;i<r;++i){const r=o.Notes[i];if(r.NoteTie){const i=r.NoteTie;if(r===r.NoteTie.Notes.last())continue;if(t)for(const e of t.GraphicalTies)e.Tie;this.handleTie(i,t,n,e)}}}this.setTieDirections(t)}}}}handleTie(e,t,n,i){if(!t)return;t.ties.push(e);let r,o,s,a=t;for(let l=1;l<e.Notes.length;l++)if(r=a.findTieGraphicalNoteFromNote(e.Notes[l-1]),o=this.graphicalMusicSheet.GetGraphicalFromSourceStaffEntry(e.Notes[l].ParentStaffEntry),o){if(s=o.findTieGraphicalNoteFromNote(e.Notes[l]),void 0!==r&&void 0!==s&&o){if(!r.sourceNote.PrintObject||!s.sourceNote.PrintObject)continue;const t=this.createGraphicalTie(e,a,o,r,s);a.GraphicalTies.push(t),this.staffEntriesWithGraphicalTies.indexOf(a)>=0&&this.staffEntriesWithGraphicalTies.push(a)}a=o}}setTieDirections(e){if(!e)return;const t=e.ties;if(1===t.length){const e=t[0];if(e.TieDirection===PlacementEnum.NotYetDefined){const t=e.Notes[0].ParentVoiceEntry.ParentVoice.VoiceId;2!==t&&6!==t||(e.TieDirection=PlacementEnum.Below)}}if(t.length>1){let e;for(const n of t){const t=n.Notes[0];(!e||t.Pitch.getHalfTone()>e.Pitch.getHalfTone())&&(e=t)}for(const n of t)n.TieDirection===PlacementEnum.NotYetDefined&&(n.Notes[0]===e?n.TieDirection=PlacementEnum.Above:n.TieDirection=PlacementEnum.Below)}}createAccidentalCalculators(){const e=[],t=this.graphicalMusicSheet.ParentMusicSheet.getFirstSourceMeasure();if(t)for(let n=0;n<t.CompleteNumberOfStaves;n++){const i=new AccidentalCalculator;if(e.push(i),t.FirstInstructionsStaffEntries[n])for(let e=0,r=t.FirstInstructionsStaffEntries[n].Instructions.length;e<r;++e){const r=t.FirstInstructionsStaffEntries[n].Instructions[e];if(r instanceof KeyInstruction){const e=r;i.ActiveKeyInstruction=e}}}return e}calculateVerticalContainersList(){const e=this.graphicalMusicSheet.MeasureList[0].length;for(let t=0;t<this.graphicalMusicSheet.MeasureList.length;t++)for(let n=0;n<e;n++){const e=this.graphicalMusicSheet.MeasureList[t][n];if(e)for(let t=0,i=e.staffEntries.length;t<i;++t){const i=e.staffEntries[t],r=this.graphicalMusicSheet.getOrCreateVerticalContainer(i.getAbsoluteTimestamp());r&&(r.StaffEntries[n]=i,i.parentVerticalContainer=r)}}}setIndicesToVerticalGraphicalContainers(){for(let e=0;e<this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length;e++)this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].Index=e}createGraphicalMeasuresForSourceMeasure(e,t,n,i,r){this.initGraphicalMeasuresCreation();const o=[],s=[],a=[],l=[];let c=!0;for(let u=0;u<e.CompleteNumberOfStaves;u++){const h=this.createGraphicalMeasure(e,a,s,t[u],r,i,n,u,l);c=c&&h.hasOnlyRests,o.push(h)}return e.allRests=c,e.VerticalMeasureList=o,o}createGraphicalMeasure(e,t,n,i,r,o,s,a,l){const c=this.graphicalMusicSheet.ParentMusicSheet.getStaffFromIndex(a);let u;if(r[a].ClefType===ClefEnum.TAB)c.isTab=!0,u=MusicSheetCalculator.symbolFactory.createTabStaffMeasure(e,c);else if(e.multipleRestMeasures&&this.rules.RenderMultipleRestMeasures)u=MusicSheetCalculator.symbolFactory.createMultiRestMeasure(e,c);else{if(e.multipleRestMeasureNumber>1)return;u=MusicSheetCalculator.symbolFactory.createGraphicalMeasure(e,c)}if(u.hasError=e.getErrorInMeasure(a),e.FirstInstructionsStaffEntries[a])for(let v=0,b=e.FirstInstructionsStaffEntries[a].Instructions.length;v<b;++v){const t=e.FirstInstructionsStaffEntries[a].Instructions[v];if(t instanceof KeyInstruction){const e=KeyInstruction.copy(t),n=u.getTransposedHalftones();0!==n&&u.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&MusicSheetCalculator.transposeCalculator&&MusicSheetCalculator.transposeCalculator.transposeKey(e,n),i.ActiveKeyInstruction=e}}const h=[];for(let v=0,b=e.StaffLinkedExpressions[a].length;v<b;++v){const t=e.StaffLinkedExpressions[a][v];let n;if(t.OctaveShiftStart?n=t.OctaveShiftStart:t.OctaveShiftEnd&&(n=t.OctaveShiftEnd),n){var d;h.push(t);const i=n;let r=null==i||null===(d=i.ParentEndMultiExpression)||void 0===d?void 0:d.AbsoluteTimestamp;if(null==i||!i.ParentEndMultiExpression){r=Fraction$1.plus(e.AbsoluteTimestamp,e.Duration)}o[a]=new OctaveShiftParams(i,i.ParentStartMultiExpression.AbsoluteTimestamp,r)}}for(let v=0;v<e.VerticalSourceStaffEntryContainers.length;v++){const c=e.VerticalSourceStaffEntryContainers[v].StaffEntries[a];if(c){var p;for(let t=0,n=c.Instructions.length;t<n;++t){const e=c.Instructions[t];e instanceof ClefInstruction&&(r[a]=e)}const e=MusicSheetCalculator.symbolFactory.createStaffEntry(c,u);v<u.staffEntries.length?u.addGraphicalStaffEntryAtTimestamp(e):u.addGraphicalStaffEntry(e);const d=[];c.Link&&(c.findLinkedNotes(d),this.handleStaffEntryLink(e,l));let b=OctaveEnum.NONE;if(o[a]&&o[a].getAbsoluteStartTimestamp.lte(c.AbsoluteTimestamp)&&c.AbsoluteTimestamp.lte(o[a].getAbsoluteEndTimestamp)&&(b=o[a].getOpenOctaveShift.Type),b===OctaveEnum.NONE)for(const t of h){var f,m,g;let e;if(t.OctaveShiftStart?e=t.OctaveShiftStart:t.OctaveShiftEnd&&(e=t.OctaveShiftEnd),null!==(f=e)&&void 0!==f&&null!==(m=f.ParentStartMultiExpression)&&void 0!==m&&m.AbsoluteTimestamp.lte(c.AbsoluteTimestamp)&&(null===(g=e.ParentEndMultiExpression)||void 0===g||!g.AbsoluteTimestamp.lt(c.AbsoluteTimestamp))){b=e.Type;break}}for(let o=0,l=c.VoiceEntries.length;o<l;++o){const l=c.VoiceEntries[o];b=this.handleVoiceEntry(l,e,i,s,r[a],t,n,b,a,d,c)}if(c.Instructions.length>0){const t=c.Instructions[0];MusicSheetCalculator.symbolFactory.createInStaffClef(e,t)}this.rules.RenderChordSymbols&&(null===(p=c.ChordContainers)||void 0===p?void 0:p.length)>0&&(c.ParentStaff.ParentInstrument.HasChordSymbols=!0,MusicSheetCalculator.symbolFactory.createChordSymbols(c,e,i.ActiveKeyInstruction,this.graphicalMusicSheet.ParentMusicSheet.Transpose))}}if(i.doCalculationsAtEndOfMeasure(),e.LastInstructionsStaffEntries[a]){const t=e.LastInstructionsStaffEntries[a];for(let e=0,n=t.Instructions.length;e<n;++e){const n=t.Instructions[e];n instanceof ClefInstruction&&(r[a]=n)}}for(let v=0,b=e.StaffLinkedExpressions[a].length;v<b;++v){const t=e.StaffLinkedExpressions[a][v];void 0!==t.OctaveShiftEnd&&void 0!==o[a]&&t.OctaveShiftEnd===o[a].getOpenOctaveShift&&(o[a]=void 0)}for(const v of u.staffEntries)for(const e of v.graphicalVoiceEntries)this.setBeamNotesWantedStemDirections(e.parentVoiceEntry);if(this.rules.FillEmptyMeasuresWithWholeRest>=1&&0===u.staffEntries.length){const t=new SourceStaffEntry(new VerticalSourceStaffEntryContainer(u.parentSourceMeasure,u.parentSourceMeasure.AbsoluteTimestamp,u.parentSourceMeasure.CompleteNumberOfStaves),c);if(0===c.Voices.length){const e=new Voice(u.ParentStaff.ParentInstrument,-1);c.Voices.push(e)}const n=new VoiceEntry(new Fraction$1(0,1),c.Voices[0],t);let i=e.Duration;0===i.RealValue&&(i=e.ActiveTimeSignature.clone());const r=new Note$1(n,t,i,void 0,e,!0);r.IsWholeMeasureRest=!0,r.PrintObject=this.rules.FillEmptyMeasuresWithWholeRest===FillEmptyMeasuresWithWholeRests.YesVisible,n.addNote(r);const o=MusicSheetCalculator.symbolFactory.createStaffEntry(t,u);u.addGraphicalStaffEntry(o),o.relInMeasureTimestamp=n.Timestamp;const s=MusicSheetCalculator.symbolFactory.createVoiceEntry(n,o);o.graphicalVoiceEntries.push(s);const a=MusicSheetCalculator.symbolFactory.createNote(r,s,new ClefInstruction,OctaveEnum.NONE,this.rules);MusicSheetCalculator.stafflineNoteCalculator.trackNote(a),s.notes.push(a)}u.hasOnlyRests=!0;for(const v of u.staffEntries)if(u.hasOnlyRests=v.hasOnlyRests(),!u.hasOnlyRests)break;return u}checkNoteForAccidental(e,t,n,i){let r=e.sourceNote.Pitch;const o=e.parentVoiceEntry.parentStaffEntry.parentMeasure.getTransposedHalftones();0!==o&&e.sourceNote.ParentStaffEntry.ParentStaff.ParentInstrument.MidiInstrumentId!==MidiInstrument.Percussion&&(r=e.Transpose(t.ActiveKeyInstruction,n,o,i),e.sourceNote.TransposedPitch=r),e.sourceNote.halfTone=r.getHalfTone(),t.checkAccidental(e,r)}handleStaffEntries(e){for(let t=0,n=this.graphicalMusicSheet.MeasureList.length;t<n;++t){const n=this.graphicalMusicSheet.MeasureList[t];for(let t=0,i=n.length;t<i;++t){const i=n[t];if(i){this.rules.PercussionOneLineCutoff>0&&!this.rules.PercussionUseCajon2NoteSystem&&e[t]&&(-1===this.rules.PercussionOneLineCutoff||MusicSheetCalculator.stafflineNoteCalculator.getStafflineUniquePositionCount(t)<this.rules.PercussionOneLineCutoff)&&(i.ParentStaff.StafflineCount=1);for(const e of i.staffEntries)void 0!==e.parentMeasure&&e.graphicalVoiceEntries.length>0&&e.graphicalVoiceEntries[0].notes.length>0&&(this.layoutVoiceEntries(e,t),this.layoutStaffEntry(e));this.graphicalMeasureCreatedCalculations(i)}}}}calculateSkyBottomLines(){for(const e of this.musicSystems)for(const t of e.StaffLines)t.SkyBottomLineCalculator.calculateLines()}calculateExpressionAlignements(){}calculateStaffEntryArticulationMarks(){for(let e=0,t=this.musicSystems.length;e<t;++e){const t=this.musicSystems[e];for(let e=0,n=t.StaffLines.length;e<n;++e){const n=t.StaffLines[e];for(let e=0,t=n.Measures.length;e<t;++e){const t=n.Measures[e];for(let e=0,n=t.staffEntries.length;e<n;++e){const n=t.staffEntries[e];for(let e=0,t=n.sourceStaffEntry.VoiceEntries.length;e<t;++e){const t=n.sourceStaffEntry.VoiceEntries[e];t.Articulations.length>0&&this.layoutArticulationMarks(t.Articulations,t,n)}}}}}}calculateOrnaments(){for(let e=0,t=this.musicSystems.length;e<t;++e){const t=this.musicSystems[e];for(let e=0,n=t.StaffLines.length;e<n;++e){const n=t.StaffLines[e];for(let e=0,t=n.Measures.length;e<t;++e){const t=n.Measures[e];for(let e=0,n=t.staffEntries.length;e<n;++e){const n=t.staffEntries[e];for(let e=0,t=n.sourceStaffEntry.VoiceEntries.length;e<t;++e){const t=n.sourceStaffEntry.VoiceEntries[e];if(t.OrnamentContainer){if(t.hasTie()&&!n.relInMeasureTimestamp.Equals(t.Timestamp))continue;this.layoutOrnament(t.OrnamentContainer,t,n),-1===this.staffEntriesWithOrnaments.indexOf(n)&&this.staffEntriesWithOrnaments.push(n)}}}}}}}getFingeringPlacement(e){let t=this.rules.FingeringPosition;return t!==PlacementEnum.NotYetDefined&&t!==PlacementEnum.AboveOrBelow||(t=e.isUpperStaffOfInstrument()?PlacementEnum.Above:PlacementEnum.Below),t}calculateFingerings(){if(this.rules.FingeringPosition!==PlacementEnum.Left&&this.rules.FingeringPosition!==PlacementEnum.Right)for(const e of this.musicSystems)for(const t of e.StaffLines)for(const e of t.Measures){if(e.isTabMeasure&&!this.rules.TabFingeringsRendered)continue;const n=this.getFingeringPlacement(e);for(const i of e.staffEntries){i.FingeringEntries=[];const r=t.SkyBottomLineCalculator,o=i.PositionAndShape.RelativePosition.x+e.PositionAndShape.RelativePosition.x,s=[];for(const e of i.graphicalVoiceEntries)if(!e.parentVoiceEntry.IsGrace)for(const t of e.parentVoiceEntry.TechnicalInstructions)t.type===TechnicalInstructionType.Fingering&&s.push(t);n===PlacementEnum.Below&&s.reverse();for(let e=0;e<s.length;e++){const a=s[e],l=n===PlacementEnum.Above?TextAlignmentEnum.CenterBottom:TextAlignmentEnum.CenterTop,c=new Label(a.value,l),u=new GraphicalLabel(c,this.rules.FingeringTextSize,c.textAlignment,this.rules,t.PositionAndShape),h=o+u.PositionAndShape.BorderMarginLeft,d=o+u.PositionAndShape.BorderMarginRight;let p;p=n===PlacementEnum.Above?r.getSkyLineMinInRange(h,d):r.getBottomLineMaxInRange(h,d);let f=0;0===e?(f+=this.rules.FingeringOffsetY,n===PlacementEnum.Above&&(f+=.1)):f+=this.rules.FingeringPaddingY,n===PlacementEnum.Above&&(f*=-1),u.PositionAndShape.RelativePosition.y+=p+f,u.PositionAndShape.RelativePosition.x=o,u.setLabelPositionAndShapeBorders(),u.PositionAndShape.calculateBoundingBox(),i.FingeringEntries.push(u);const m=u.PositionAndShape.RelativePosition.x+u.PositionAndShape.BorderLeft,g=m-u.PositionAndShape.BorderLeft+u.PositionAndShape.BorderRight;n===PlacementEnum.Above?r.updateSkyLineInRange(m,g,u.PositionAndShape.RelativePosition.y+u.PositionAndShape.BorderTop):n===PlacementEnum.Below&&r.updateBottomLineInRange(m,g,u.PositionAndShape.RelativePosition.y+u.PositionAndShape.BorderBottom)}}}}optimizeRestPlacement(){for(let e=0,t=this.musicSystems.length;e<t;++e){const t=this.musicSystems[e];for(let e=0,n=t.StaffLines.length;e<n;++e){const n=t.StaffLines[e];for(let e=0,t=n.Measures.length;e<t;++e){const t=n.Measures[e];for(let e=0,n=t.staffEntries.length;e<n;++e){const n=t.staffEntries[e];this.optimizeRestNotePlacement(n,t)}}}}}calculateTwoRestNotesPlacementWithCollisionDetection(e){const t=e.graphicalVoiceEntries[0].notes[0],n=e.graphicalVoiceEntries[1].notes[0];n.PositionAndShape.RelativePosition=new PointF2D(0,2.5),e.PositionAndShape.calculateAbsolutePositionsRecursiveWithoutTopelement(),t.PositionAndShape.computeNonOverlappingPositionWithMargin(e.PositionAndShape,ColDirEnum.Up,new PointF2D(0,n.PositionAndShape.RelativePosition.y));const i=t.PositionAndShape.RelativePosition;i.y-=1,t.PositionAndShape.RelativePosition=i,e.PositionAndShape.calculateBoundingBox()}calculateRestNotePlacementWithCollisionDetectionFromGraphicalNote(e){let t,n;e.graphicalVoiceEntries[0].notes[0].sourceNote.isRest()?(t=e.graphicalVoiceEntries[0].notes[0],n=e.graphicalVoiceEntries[1].notes):(n=e.graphicalVoiceEntries[0].notes,t=e.graphicalVoiceEntries[1].notes[0]);let i=!1;e.PositionAndShape.calculateAbsolutePositionsRecursiveWithoutTopelement();for(let r=0,o=n.length;r<o;++r){const e=n[r];if(t.PositionAndShape.marginCollisionDetection(e.PositionAndShape)){i=!0;break}}if(i)if(t.sourceNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice){const e=n[0].PositionAndShape.BorderMarginBottom+n[0].PositionAndShape.RelativePosition.y;t.PositionAndShape.RelativePosition=new PointF2D(0,e-t.PositionAndShape.BorderMarginTop+.5)}else{const e=n[n.length-1],i=e.PositionAndShape.BorderMarginTop+e.PositionAndShape.RelativePosition.y;if(n[0].sourceNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice)t.PositionAndShape.RelativePosition=new PointF2D(0,i-t.PositionAndShape.BorderMarginBottom-.5);else{const e=n[0].PositionAndShape.BorderMarginBottom+n[0].PositionAndShape.RelativePosition.y;t.PositionAndShape.RelativePosition=new PointF2D(0,e<2?e-t.PositionAndShape.BorderMarginTop+.5:i-t.PositionAndShape.BorderMarginBottom-0)}}e.PositionAndShape.calculateBoundingBox()}calculateTieCurves(){for(const e of this.musicSystems)for(const t of e.StaffLines)for(const e of t.Measures)for(const t of e.staffEntries)for(const n of t.GraphicalTies)if(void 0!==n.StartNote&&n.StartNote.parentVoiceEntry.parentStaffEntry===t){const t=n.StartNote.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentStaffLine!==n.EndNote.parentVoiceEntry.parentStaffEntry.parentMeasure.ParentStaffLine;this.layoutGraphicalTie(n,t,e.ParentStaff.isTab)}}calculateLyricsPosition(){const e=new Dictionary;for(let t=0,n=this.graphicalMusicSheet.ParentMusicSheet.Instruments.length;t<n;++t){const e=this.graphicalMusicSheet.ParentMusicSheet.Instruments[t];e.HasLyrics&&e.LyricVersesNumbers.length>0&&e.LyricVersesNumbers.sort()}for(let t=0,n=this.musicSystems.length;t<n;++t){const n=this.musicSystems[t];for(let t=0,i=n.StaffLines.length;t<i;++t){const i=n.StaffLines[t],r=this.calculateSingleStaffLineLyricsPosition(i,i.ParentStaff.ParentInstrument.LyricVersesNumbers);e.setValue(i,r),this.calculateLyricsExtendsAndDashes(e.getValue(i))}}for(let t=0,n=this.musicSystems.length;t<n;++t){const n=this.musicSystems[t];for(let t=0,i=n.StaffLines.length;t<i;++t){const i=n.StaffLines[t];this.calculateLyricsExtendsAndDashes(e.getValue(i))}}}calculateSingleLyricWord(e){const t=e.ParentLyricWord,n=t.GraphicalLyricsEntries.indexOf(e);let i;if(n>=0&&(i=t.GraphicalLyricsEntries[n+1]),!i)return;const r=e.StaffEntryParent.parentMeasure.ParentStaffLine,o=i.StaffEntryParent.parentMeasure.ParentStaffLine,s=e.StaffEntryParent,a=i.StaffEntryParent;if(e.StaffEntryParent.parentMeasure.ParentStaffLine===i.StaffEntryParent.parentMeasure.ParentStaffLine){const t=s.parentMeasure.PositionAndShape.RelativePosition.x+s.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight-e.GraphicalLabel.CenteringXShift,n=a.parentMeasure.PositionAndShape.RelativePosition.x+a.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.RelativePosition.x+i.GraphicalLabel.PositionAndShape.BorderMarginLeft,o=e.GraphicalLabel.PositionAndShape.RelativePosition.y;let l=1;n-t>3*this.rules.MinimumDistanceBetweenDashes&&(l=Math.floor((n-t)/this.rules.MinimumDistanceBetweenDashes)-1),1===l?this.calculateSingleDashForLyricWord(r,t,n,o):this.calculateDashes(r,t,n,o)}else{const t=s.parentMeasure.PositionAndShape.RelativePosition.x+s.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight,n=r.Measures[r.Measures.length-1],l=n.PositionAndShape.RelativePosition.x+n.PositionAndShape.Size.width;let c=e.GraphicalLabel.PositionAndShape.RelativePosition.y;if(this.calculateDashes(r,t,l,c),o&&o.Measures[0]&&a.parentMeasure.ParentStaffLine&&(a!==a.parentMeasure.staffEntries[0]||a.parentMeasure!==a.parentMeasure.ParentStaffLine.Measures[0])){const e=o.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x,t=a.parentMeasure.PositionAndShape.RelativePosition.x+a.PositionAndShape.RelativePosition.x+i.GraphicalLabel.PositionAndShape.BorderMarginLeft;c=i.GraphicalLabel.PositionAndShape.RelativePosition.y,this.calculateDashes(o,e,t,c)}}}calculateDashes(e,t,n,i){let r=n-t;if(r<3*this.rules.MinimumDistanceBetweenDashes)this.calculateSingleDashForLyricWord(e,t,n,i);else{const o=Math.floor(r/this.rules.MinimumDistanceBetweenDashes)-1,s=r/(o+1);let a=0;for(t+=s,n-=s;a<=Math.floor(o/2)&&n>t;)r=this.calculateRightAndLeftDashesForLyricWord(e,t,n,i),t+=s,n-=s,a++;r>2*s&&this.calculateSingleDashForLyricWord(e,t,n,i)}}calculateSingleDashForLyricWord(e,t,n,i){const r=new Label("-");r.colorDefault=this.rules.DefaultColorLyrics;let o=this.rules.LyricsHeight;n-t<.8&&(o*=.8,i-=.1*o);const s=new GraphicalLabel(r,o,TextAlignmentEnum.CenterBottom,this.rules);s.setLabelPositionAndShapeBorders(),e.LyricsDashes.push(s),-1===this.staffLinesWithLyricWords.indexOf(e)&&this.staffLinesWithLyricWords.push(e),s.PositionAndShape.Parent=e.PositionAndShape;const a=new PointF2D(t+(n-t)/2,i);s.PositionAndShape.RelativePosition=a}calculateLyricExtend(e){let t=e.GraphicalLabel.PositionAndShape.RelativePosition.y;const n=e.StaffEntryParent,i=n.parentMeasure.ParentStaffLine;let r,o;const s=n.parentMeasure.ParentStaff.idInMusicSheet;for(let a=n.parentVerticalContainer.Index+1;a<this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length;++a){const e=this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[a].StaffEntries[s];if(e){if(e.hasOnlyRests())break;if(e.LyricsEntries.length>0)break;r=e,o=r.parentMeasure.ParentStaffLine,o||(o=n.parentMeasure.ParentStaffLine)}}if(r&&o)if(i===o&&r.parentMeasure.ParentStaffLine){const o=n.parentMeasure.PositionAndShape.RelativePosition.x+n.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight,s=r.parentMeasure.PositionAndShape.RelativePosition.x+r.PositionAndShape.RelativePosition.x+r.PositionAndShape.BorderMarginRight;t-=e.GraphicalLabel.PositionAndShape.Size.height/4,this.calculateSingleLyricWordWithUnderscore(i,o,s,t)}else{const s=i.Measures[i.Measures.length-1].PositionAndShape,a=n.parentMeasure.PositionAndShape.RelativePosition.x+n.PositionAndShape.RelativePosition.x+e.GraphicalLabel.PositionAndShape.BorderMarginRight,l=s.RelativePosition.x+s.Size.width;if(t-=e.GraphicalLabel.PositionAndShape.Size.height/4,this.calculateSingleLyricWordWithUnderscore(i,a,l,t),!r)return;if(r.parentMeasure.ParentStaffLine&&r.parentMeasure.staffEntries&&(r!==r.parentMeasure.staffEntries[0]||r.parentMeasure!==r.parentMeasure.ParentStaffLine.Measures[0])){const e=o.Measures[0].staffEntries[0].PositionAndShape.RelativePosition.x,n=r.parentMeasure.PositionAndShape.RelativePosition.x+r.PositionAndShape.RelativePosition.x+r.PositionAndShape.BorderMarginRight;this.calculateSingleLyricWordWithUnderscore(o,e,n,t)}}}calculateSingleLyricWordWithUnderscore(e,t,n,i){const r=new PointF2D(t,i),o=new PointF2D(n,i),s=new GraphicalLine(r,o,this.rules.LyricUnderscoreLineWidth);s.colorHex=this.rules.DefaultColorLyrics,e.LyricLines.push(s),-1===this.staffLinesWithLyricWords.indexOf(e)&&this.staffLinesWithLyricWords.push(e)}calculateRightAndLeftDashesForLyricWord(e,t,n,i){const r=new Label("-");r.colorDefault=this.rules.DefaultColorLyrics;const o=new GraphicalLabel(r,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);o.setLabelPositionAndShapeBorders(),e.LyricsDashes.push(o),-1===this.staffLinesWithLyricWords.indexOf(e)&&this.staffLinesWithLyricWords.push(e),o.PositionAndShape.Parent=e.PositionAndShape;const s=new PointF2D(t,i);o.PositionAndShape.RelativePosition=s;const a=new Label("-"),l=new GraphicalLabel(a,this.rules.LyricsHeight,TextAlignmentEnum.CenterBottom,this.rules);l.setLabelPositionAndShapeBorders(),e.LyricsDashes.push(l),l.PositionAndShape.Parent=e.PositionAndShape;const c=new PointF2D(n,i);return l.PositionAndShape.RelativePosition=c,l.PositionAndShape.RelativePosition.x-o.PositionAndShape.RelativePosition.x}calculateDynamicExpressions(){const e=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,this.rules.MaxMeasureToDrawIndex);for(let t=Math.min(this.rules.MinMeasureToDrawIndex,this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length);t<=e;t++){const e=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[t];this.dynamicExpressionMap.clear();for(let n=0;n<e.StaffLinkedExpressions.length;n++)if(this.graphicalMusicSheet.MeasureList[t]&&this.graphicalMusicSheet.MeasureList[t][n]&&this.graphicalMusicSheet.MeasureList[t][n].ParentStaff.ParentInstrument.Visible)for(let i=0;i<e.StaffLinkedExpressions[n].length;i++)(void 0!==e.StaffLinkedExpressions[n][i].InstantaneousDynamic||void 0!==e.StaffLinkedExpressions[n][i].StartingContinuousDynamic&&e.StaffLinkedExpressions[n][i].StartingContinuousDynamic.StartMultiExpression===e.StaffLinkedExpressions[n][i]&&0===e.StaffLinkedExpressions[n][i].UnknownList.length)&&this.calculateDynamicExpressionsForMultiExpression(e.StaffLinkedExpressions[n][i],t,n)}this.dynamicExpressionMap.clear()}calculateOctaveShifts(){for(let e=0;e<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;e++){const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[e];for(let n=0;n<t.StaffLinkedExpressions.length;n++)if(this.graphicalMusicSheet.MeasureList[e]&&this.graphicalMusicSheet.MeasureList[e][n]&&this.graphicalMusicSheet.MeasureList[e][n].ParentStaff.ParentInstrument.Visible)for(let i=0;i<t.StaffLinkedExpressions[n].length;i++)t.StaffLinkedExpressions[n][i].OctaveShiftStart&&this.calculateSingleOctaveShift(t,t.StaffLinkedExpressions[n][i],e,n)}}calculatePedals(){for(let e=0;e<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;e++){const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[e];for(let n=0;n<t.StaffLinkedExpressions.length;n++)if(this.graphicalMusicSheet.MeasureList[e]&&this.graphicalMusicSheet.MeasureList[e][n]&&this.graphicalMusicSheet.MeasureList[e][n].ParentStaff.ParentInstrument.Visible)for(let i=0;i<t.StaffLinkedExpressions[n].length;i++)t.StaffLinkedExpressions[n][i].PedalStart&&this.calculateSinglePedal(t,t.StaffLinkedExpressions[n][i],e,n)}}calculateWavyLines(){for(let e=0;e<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;e++){const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[e];for(let n=0;n<t.StaffLinkedExpressions.length;n++)if(this.graphicalMusicSheet.MeasureList[e]&&this.graphicalMusicSheet.MeasureList[e][n]&&this.graphicalMusicSheet.MeasureList[e][n].ParentStaff.ParentInstrument.Visible)for(let i=0;i<t.StaffLinkedExpressions[n].length;i++)t.StaffLinkedExpressions[n][i].WavyLineStart&&this.calculateSingleWavyLine(t,t.StaffLinkedExpressions[n][i],e,n)}}getFirstLeftNotNullStaffEntryFromContainer(e,t,n){if(this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].StaffEntries[t])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].StaffEntries[t];for(let i=e-1;i>=0;i--)if(this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[i].StaffEntries[t])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[i].StaffEntries[t]}getFirstRightNotNullStaffEntryFromContainer(e,t,n){if(this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].StaffEntries[t])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[e].StaffEntries[t];for(let i=e+1;i<this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers.length;i++)if(this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[i].StaffEntries[t])return this.graphicalMusicSheet.VerticalGraphicalStaffEntryContainers[i].StaffEntries[t]}calculateWordRepetitionInstructions(){for(let e=0;e<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;e++){const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[e];for(let n=0,i=t.FirstRepetitionInstructions.length;n<i;++n){const i=t.FirstRepetitionInstructions[n];this.calculateWordRepetitionInstruction(i,e)}for(let n=0,i=t.LastRepetitionInstructions.length;n<i;++n){const i=t.LastRepetitionInstructions[n];this.calculateWordRepetitionInstruction(i,e)}}}calculateRepetitionEndings(){const e=this.graphicalMusicSheet.ParentMusicSheet;for(let t=0,n=e.Repetitions.length;t<n;++t){const n=e.Repetitions[t];this.calcGraphicalRepetitionEndingsRecursively(n)}}calculateTempoExpressions(){const e=Math.min(this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length-1,this.rules.MaxMeasureToDrawIndex);for(let t=this.rules.MinMeasureToDrawIndex;t<=e;t++){const e=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[t];for(let n=0;n<e.TempoExpressions.length;n++)this.calculateTempoExpressionsForMultiTempoExpression(e,e.TempoExpressions[n],t,n)}}calculateRehearsalMarks(){if(this.rules.RenderRehearsalMarks)for(const e of this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures)this.calculateRehearsalMark(e)}calculateRehearsalMark(e){throw new Error(this.abstractNotImplementedErrorMessage)}calculateMoodAndUnknownExpressions(){for(let e=0;e<this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures.length;e++){const t=this.graphicalMusicSheet.ParentMusicSheet.SourceMeasures[e];for(let n=0;n<t.StaffLinkedExpressions.length;n++)if(this.graphicalMusicSheet.MeasureList[e]&&this.graphicalMusicSheet.MeasureList[e][n]&&this.graphicalMusicSheet.MeasureList[e][n].ParentStaff.ParentInstrument.Visible)for(let i=0;i<t.StaffLinkedExpressions[n].length;i++)(t.StaffLinkedExpressions[n][i].MoodList.length>0||t.StaffLinkedExpressions[n][i].UnknownList.length>0)&&this.calculateMoodAndUnknownExpression(t.StaffLinkedExpressions[n][i],e,n)}}calculateStemDirectionFromVoices(e){if(void 0!==e.ParentSourceStaffEntry.Link)return e===e.ParentSourceStaffEntry.VoiceEntries[0]?void(e.WantedStemDirection=StemDirectionType.Up):void(e.WantedStemDirection=StemDirectionType.Down);e.ParentVoice instanceof LinkedVoice?e.WantedStemDirection=StemDirectionType.Down:e.ParentSourceStaffEntry.VoiceEntries.length>1&&(e.WantedStemDirection=StemDirectionType.Up)}setBeamNotesWantedStemDirections(e){if(!(e.Notes.length>0))return;const t=e.Notes[0].NoteBeam;if(t)for(const n of t.Notes)if(n.ParentVoiceEntry.WantedStemDirection!==StemDirectionType.Undefined&&n.ParentVoiceEntry.ParentSourceStaffEntry.ParentStaff.Id===e.ParentSourceStaffEntry.ParentStaff.Id){e.WantedStemDirection=n.ParentVoiceEntry.WantedStemDirection;break}}}class InstrumentalGroup{constructor(e,t,n){this.instrumentalGroups=[],this.name=e,this.musicSheet=t,this.parent=n}get InstrumentalGroups(){return this.instrumentalGroups}get Parent(){return this.parent}get Name(){return this.name}set Name(e){this.name=e}get GetMusicSheet(){return this.musicSheet}}class Instrument extends InstrumentalGroup{constructor(e,t,n,i){super(void 0,n,i),this.Transpose=0,this.voices=[],this.staves=[],this.hasLyrics=!1,this.hasChordSymbols=!1,this.playbackTranspose=0,this.lyricVersesNumbers=[],this.subInstruments=[],this.id=e,this.idString=t,this.nameLabel=new Label(t)}get Voices(){return this.voices}get Staves(){return this.staves}get NameLabel(){return this.nameLabel}get HasLyrics(){return this.hasLyrics}set HasLyrics(e){this.hasLyrics=e}get HasChordSymbols(){return this.hasChordSymbols}set HasChordSymbols(e){this.hasChordSymbols=e}get LyricVersesNumbers(){return this.lyricVersesNumbers}set LyricVersesNumbers(e){this.lyricVersesNumbers=e}get Name(){return this.nameLabel.text}set Name(e){this.nameLabel.text=e}get IdString(){return this.idString}get Id(){return this.id}get MidiInstrumentId(){return this.subInstruments[0].midiInstrumentID}set MidiInstrumentId(e){this.subInstruments[0].midiInstrumentID=e}get Volume(){return this.subInstruments[0].volume}set Volume(e){for(let t=0,n=this.subInstruments.length;t<n;++t){this.subInstruments[t].volume=e}}get PlaybackTranspose(){return this.playbackTranspose}set PlaybackTranspose(e){this.playbackTranspose=e}get SubInstruments(){return this.subInstruments}getSubInstrument(e){for(let t=0,n=this.subInstruments.length;t<n;++t){const n=this.subInstruments[t];if(n.idString===e)return n}}get PartAbbreviation(){return this.partAbbreviation}set PartAbbreviation(e){this.partAbbreviation=e}get Visible(){return this.voices.length>0&&this.Voices[0].Visible}set Visible(e){for(let t=0,n=this.Voices.length;t<n;++t){this.Voices[t].Visible=e}}get Audible(){let e=!1;for(let t=0,n=this.Voices.length;t<n;++t){const n=this.Voices[t];e=e||n.Audible}return e}set Audible(e){for(let t=0,n=this.Voices.length;t<n;++t){this.Voices[t].Audible=e}for(let t=0,n=this.staves.length;t<n;++t){this.staves[t].audible=e}}get Solo(){let e=!1;for(let t=0,n=this.Voices.length;t<n;++t){const n=this.Voices[t];e=e||n.Solo}return e}set Solo(e){for(let t=0,n=this.Voices.length;t<n;++t){this.Voices[t].Solo=e}for(let t=0,n=this.Staves.length;t<n;++t){this.Staves[t].Solo=e}}get Following(){let e=!1;for(let t=0,n=this.Voices.length;t<n;++t){const n=this.Voices[t];e=e||n.Following}return e}set Following(e){for(let t=0,n=this.Voices.length;t<n;++t){this.Voices[t].Following=e}for(let t=0,n=this.staves.length;t<n;++t){this.staves[t].following=e}}SetVoiceAudible(e,t){for(let n=0,i=this.Voices.length;n<i;++n){const i=this.Voices[n];if(i.VoiceId===e){i.Audible=t;break}}}SetVoiceFollowing(e,t){for(let n=0,i=this.Voices.length;n<i;++n){const i=this.Voices[n];if(i.VoiceId===e){i.Following=t;break}}}SetStaffAudible(e,t){const n=this.staves[e-1];if(n.audible=t,t)for(let i=0,r=n.Voices.length;i<r;++i){n.Voices[i].Audible=!0}else for(let i=0,r=n.Voices.length;i<r;++i){const t=n.Voices[i];let r=!1;for(let n=0,i=this.Staves.length;n<i;++n){const i=this.Staves[n];if(i.Id!==e&&i.audible)for(let e=0,n=i.Voices.length;e<n;++e){i.Voices[e]===t&&(r=!0)}}r||(t.Audible=!1)}}SetStaffFollow(e,t){const n=this.staves[e-1];if(n.following=t,t)for(let i=0,r=n.Voices.length;i<r;++i){n.Voices[i].Following=!0}else for(let i=0,r=n.Voices.length;i<r;++i){const t=n.Voices[i];let r=!1;for(let n=0,i=this.Staves.length;n<i;++n){const i=this.Staves[n];if(i.Id!==e&&i.following)for(let e=0,n=i.Voices.length;e<n;++e){i.Voices[e]===t&&(r=!0)}}r||(t.Following=!1)}}areAllVoiceVisible(){for(const e of this.Voices)if(!e.Visible)return!1;return!0}createStaves(e){for(let t=0;t<e;t++)this.staves.push(new Staff(this,t+1))}toString(){return`${this.Name} , id: ${this.id}, idstring: ${this.idString}`}}class MusicSystem extends GraphicalObject{constructor(e){super(),this.needsToBeRedrawn=!0,this.staffLines=[],this.graphicalMeasures=[],this.labels=new _default,this.measureNumberLabels=[],this.objectsToRedraw=[],this.instrumentBrackets=[],this.groupBrackets=[],this.graphicalMarkedAreas=[],this.systemLines=[],this.breaksPage=!1,this.id=e,this.boundingBox=new BoundingBox$1(this),this.maxLabelLength=0}get Parent(){return this.parent}set Parent(e){if(this.parent){const e=this.parent.MusicSystems.indexOf(this,0);e>-1&&this.parent.MusicSystems.splice(e,1)}this.parent=e,this.boundingBox.Parent=e.PositionAndShape}get NextSystem(){const e=this.Parent.MusicSystems.indexOf(this);return e!==this.Parent.MusicSystems.length?this.Parent.MusicSystems[e+1]:void 0}get StaffLines(){return this.staffLines}get GraphicalMeasures(){return this.graphicalMeasures}get MeasureNumberLabels(){return this.measureNumberLabels}get Labels(){return this.labels.values()}get ObjectsToRedraw(){return this.objectsToRedraw}get InstrumentBrackets(){return this.instrumentBrackets}get GroupBrackets(){return this.groupBrackets}get GraphicalMarkedAreas(){return this.graphicalMarkedAreas}get SystemLines(){return this.systemLines}get Id(){return this.id}createSystemLeftLine(e,t,n){let i=-e/2;n&&(i=this.maxLabelLength+t-e/2);const r=this.staffLines[0].Measures[0];let o;this.staffLines.length>1&&(o=this.staffLines[this.staffLines.length-1].Measures[0]);const s=this.createSystemLine(i,e,SystemLinesEnum.SingleThin,SystemLinePosition.MeasureBegin,this,r,o);this.SystemLines.push(s),s.PositionAndShape.RelativePosition=new PointF2D(i,0),s.PositionAndShape.BorderLeft=0,s.PositionAndShape.BorderRight=e,s.PositionAndShape.BorderTop=s.PositionAndShape.Parent.BorderTop,s.PositionAndShape.BorderBottom=s.PositionAndShape.Parent.BorderBottom,this.createLinesForSystemLine(s)}createVerticalLineForMeasure(e,t,n,i,r,o){const s=o.ParentStaffLine,a=new PointF2D(s.PositionAndShape.RelativePosition.x,s.PositionAndShape.RelativePosition.y),l=s.ParentStaff.ParentInstrument.Staves;if(s.ParentStaff===l[0]){let c;l.length>1&&(c=this.getBottomStaffLine(s).Measures[r]);const u=this.createSystemLine(e,t,n,i,this,o,c),h=a.x+e;u.PositionAndShape.RelativePosition=new PointF2D(h,0),u.PositionAndShape.BorderLeft=0,u.PositionAndShape.BorderRight=t,this.SystemLines.push(u)}}setYPositionsToVerticalLineObjectsAndCreateLines(e){}calculateBorders(e){}alignBeginInstructions(){}GetLeftBorderAbsoluteXPosition(){return this.StaffLines[0].PositionAndShape.AbsolutePosition.x+this.StaffLines[0].Measures[0].beginInstructionsWidth}GetRightBorderAbsoluteXPosition(){return this.StaffLines[0].PositionAndShape.AbsolutePosition.x+this.StaffLines[0].StaffLines[0].End.x}AddGraphicalMeasures(e){for(let t=0,n=e.length;t<n;++t){e[t].ParentMusicSystem=this}this.graphicalMeasures.push(e)}GetSystemsFirstTimeStamp(){return this.graphicalMeasures[0][0].parentSourceMeasure.AbsoluteTimestamp}GetSystemsLastTimeStamp(){const e=this.graphicalMeasures[this.graphicalMeasures.length-1][0].parentSourceMeasure;return Fraction$1.plus(e.AbsoluteTimestamp,e.Duration)}createInstrumentBrackets(e,t){for(let n=0,i=e.length;n<i;++n){const t=e[n];if(t.Staves.length>1){let e,n;for(let i=0,r=this.staffLines.length;i<r;++i){const r=this.staffLines[i];r.ParentStaff===t.Staves[0]&&(e=r),r.ParentStaff===t.Staves[t.Staves.length-1]&&(n=r)}e&&n&&this.createInstrumentBracket(e,n)}}}createGroupBrackets(e,t,n){for(let i=0,r=e.length;i<r;++i){const r=e[i];if(r.InstrumentalGroups.length<1)continue;const o=this.findFirstVisibleInstrumentInInstrumentalGroup(r),s=this.findLastVisibleInstrumentInInstrumentalGroup(r);if(!o||!s)continue;let a,l;for(let e=0,t=this.staffLines.length;e<t;++e){const t=this.staffLines[e];t.ParentStaff===o.Staves[0]&&(a=t),t.ParentStaff===s.Staves[0]&&(l=t)}a&&l&&this.createGroupBracket(a,l,n),r.InstrumentalGroups.length<1||this.createGroupBrackets(r.InstrumentalGroups,t,n+1)}}createMusicSystemLabel(e,t,n,i=!1){const r=t;for(let l=0,c=this.staffLines.length;l<c;++l){var o;const n=this.staffLines[l].ParentStaff.ParentInstrument;let r;if(i){var s;r=n.NameLabel,this.rules.RenderPartNames&&null!==(s=r)&&void 0!==s&&s.print||(r=new Label("",n.NameLabel.textAlignment,n.NameLabel.font),t=0)}else{if(!this.rules.RenderPartAbbreviations||!this.rules.RenderPartNames||1===this.staffLines.length||!n.PartAbbreviation||""===n.PartAbbreviation)return;const e=n.PartAbbreviation;r=new Label(e,n.NameLabel.textAlignment,n.NameLabel.font)}if(null!=n&&null!==(o=n.NameLabel)&&void 0!==o&&o.print){const t=new GraphicalLabel(r,e,TextAlignmentEnum.LeftCenter,this.rules,this.boundingBox);t.setLabelPositionAndShapeBorders(),this.labels.setValue(n,t)}else t=0}this.maxLabelLength=0;const a=this.labels.values();for(let l=0,c=a.length;l<c;++l){const e=a[l];e.Label.print&&(e.PositionAndShape.Size.width>this.maxLabelLength&&(this.maxLabelLength=e.PositionAndShape.Size.width,t=r))}this.updateMusicSystemStaffLineXPosition(t)}setMusicSystemLabelsYPosition(){this.labels.forEach(((e,t)=>{let n=0,i=0;for(let r=0;r<this.staffLines.length;r++)if(this.staffLines[r].ParentStaff.ParentInstrument===e){for(let t=r;t<this.staffLines.length;t++){const r=this.staffLines[t];if(r.ParentStaff.ParentInstrument!==e)break;n+=r.PositionAndShape.RelativePosition.y,i++}break}i>0&&(t.PositionAndShape.RelativePosition=new PointF2D(0,n/i+2))}))}checkStaffEntriesForStaffEntryLink(){let e=!1,t=!1;for(let n=0;n<this.staffLines.length-1;n++){for(let t=0,i=this.staffLines[n].Measures.length;t<i;++t){const i=this.staffLines[n].Measures[t];for(let t=0,n=i.staffEntries.length;t<n;++t){i.staffEntries[t].sourceStaffEntry.Link&&(e=!0)}}for(let e=0,i=this.staffLines[n+1].Measures.length;e<i;++e){const i=this.staffLines[n+1].Measures[e];for(let e=0,n=i.staffEntries.length;e<n;++e){i.staffEntries[e].sourceStaffEntry.Link&&(t=!0)}}}return!(!e||!t)}getBottomStaffLine(e){const t=e.ParentStaff.ParentInstrument.Staves,n=t[t.length-1];for(const i of e.ParentMusicSystem.staffLines)if(i.ParentStaff===n)return i}createSystemLine(e,t,n,i,r,o,s=undefined){throw new Error("not implemented")}createLinesForSystemLine(e){}calcBracketsWidth(){let e=0;for(let t=0,n=this.GroupBrackets.length;t<n;++t){const n=this.GroupBrackets[t];e=Math.max(e,n.PositionAndShape.Size.width)}for(let t=0,n=this.InstrumentBrackets.length;t<n;++t){const n=this.InstrumentBrackets[t];e=Math.max(e,n.PositionAndShape.Size.width)}return e}createInstrumentBracket(e,t){}createGroupBracket(e,t,n){}findFirstVisibleInstrumentInInstrumentalGroup(e){for(let t=0,n=e.InstrumentalGroups.length;t<n;++t){const n=e.InstrumentalGroups[t];if(!(n instanceof Instrument))return this.findFirstVisibleInstrumentInInstrumentalGroup(n);if(!0===n.Visible)return n}}findLastVisibleInstrumentInInstrumentalGroup(e){let t;for(let n=e.InstrumentalGroups.length-1;n>=0;n--){if(t=e.InstrumentalGroups[n],!(t instanceof Instrument))return this.findLastVisibleInstrumentInInstrumentalGroup(t);if(!0===t.Visible)return t}}updateMusicSystemStaffLineXPosition(e){for(let t=0,n=this.StaffLines.length;t<n;++t){const n=this.StaffLines[t],i=n.PositionAndShape.RelativePosition;i.x=this.maxLabelLength+e,n.PositionAndShape.RelativePosition=i,n.PositionAndShape.BorderRight=this.boundingBox.Size.width-this.maxLabelLength-e;for(let e=0;e<n.StaffLines.length;e++){const t=new PointF2D(n.PositionAndShape.Size.width,n.StaffLines[e].End.y);n.StaffLines[e].End=t}}}}class SystemLine extends GraphicalObject{constructor(e,t,n,i,r=undefined){super(),this.lineType=e,this.linePosition=t,this.parentMusicSystem=n,this.topMeasure=i,this.bottomMeasure=r,this.parentTopStaffLine=null==i?void 0:i.ParentStaffLine,this.boundingBox=new BoundingBox$1(this,n.PositionAndShape)}static getObjectWidthForLineType(e,t){switch(t){case SystemLinesEnum.SingleThin:return e.SystemThinLineWidth;case SystemLinesEnum.DoubleThin:return 2*e.SystemThinLineWidth+e.DistanceBetweenVerticalSystemLines;case SystemLinesEnum.ThinBold:return e.SystemThinLineWidth+e.SystemBoldLineWidth+e.DistanceBetweenVerticalSystemLines;case SystemLinesEnum.BoldThinDots:case SystemLinesEnum.DotsThinBold:return e.SystemThinLineWidth+e.SystemBoldLineWidth+e.DistanceBetweenVerticalSystemLines+e.SystemDotWidth+e.DistanceBetweenDotAndLine;case SystemLinesEnum.DotsBoldBoldDots:return 2*e.SystemBoldLineWidth+2*e.SystemDotWidth+2*e.DistanceBetweenDotAndLine+e.DistanceBetweenVerticalSystemLines;default:return 0}}}const VF$9=Vex.Flow;class VexFlowInstrumentBracket extends GraphicalObject{constructor(e,t,n=0){super(),this.Visible=!0,this.PositionAndShape=new BoundingBox$1(this,e.ParentMusicSystem.PositionAndShape);const i=e.Measures[0],r=t.Measures[0];this.addConnector(i.getVFStave(),r.getVFStave(),VF$9.StaveConnector.type.BRACKET,n)}draw(e){this.Visible&&this.vexflowConnector.setContext(e).draw();const t=this.vexflowConnector,n=t.top_stave.getYForLine(0),i=t.bottom_stave.getYForLine(t.bottom_stave.getNumLines()-1)+t.thickness;this.PositionAndShape.AbsolutePosition.x=(t.top_stave.getX()-2+t.x_shift)/unitInPixels,this.PositionAndShape.AbsolutePosition.y=n/unitInPixels,this.PositionAndShape.Size.height=(i-n)/unitInPixels,this.PositionAndShape.Size.width=12/unitInPixels}addConnector(e,t,n,i){this.vexflowConnector=new VF$9.StaveConnector(e,t).setType(n).setXShift(-5*i)}}const VF$8=Vex.Flow;class VexFlowInstrumentBrace extends VexFlowInstrumentBracket{constructor(e,t,n=0){super(e,t,n),this.vexflowConnector.setType(VF$8.StaveConnector.type.BRACE)}}class VexFlowMusicSystem extends MusicSystem{constructor(e,t){super(e),this.rules=t}calculateBorders(e){if(0===this.staffLines.length)return;const t=this.calcBracketsWidth();this.boundingBox.BorderLeft=-t,this.boundingBox.BorderMarginLeft=-t,this.boundingBox.XBordersHaveBeenSet=!0;const n=this.staffLines[0].SkyBottomLineCalculator.getSkyLineMin();this.boundingBox.BorderTop=n,this.boundingBox.BorderMarginTop=n;const i=this.staffLines[this.staffLines.length-1],r=i.SkyBottomLineCalculator.getBottomLineMax()+i.PositionAndShape.RelativePosition.y;this.boundingBox.BorderBottom=r,this.boundingBox.BorderMarginBottom=r,this.boundingBox.XBordersHaveBeenSet=!0,this.boundingBox.YBordersHaveBeenSet=!0}createSystemLine(e,t,n,i,r,o,s=undefined){const a=o;let l=!1;if(s&&(l=!0,s.lineTo(o,VexFlowConverter.line(n,i)),s.addMeasureLine(n,i),n===SystemLinesEnum.DotsBoldBoldDots)){const e=s.ParentStaffLine.Measures.indexOf(s)+1,t=s.ParentStaffLine.Measures[e],n=o.ParentStaffLine.Measures[e];t&&n&&(t.lineTo(n,VexFlowConverter.line(SystemLinesEnum.BoldThinDots,i)),t.addMeasureLine(SystemLinesEnum.BoldThinDots,i))}return a&&a.addMeasureLine(n,i,l),new SystemLine(n,i,this,o,s)}createInstrumentBracket(e,t){const n=new VexFlowInstrumentBrace(e,t);this.InstrumentBrackets.push(n)}createGroupBracket(e,t,n){const i=e,r=t;if(0===n){const e=new VexFlowInstrumentBracket(i,r,n);this.GroupBrackets.push(e)}else{const e=new VexFlowInstrumentBrace(i,r,n);this.GroupBrackets.push(e)}}}class VexFlowVoiceEntry extends GraphicalVoiceEntry{constructor(e,t,n){super(e,t,n)}applyBordersFromVexflow(){var e;const t=this.vfStaveNote;if(!t.getNoteHeadBeginX)return;const n=t.getBoundingBox(),i=t.getNoteHeadBeginX()-n.x;this.PositionAndShape.RelativePosition.y=n.y/unitInPixels,this.PositionAndShape.BorderTop=0,this.PositionAndShape.BorderBottom=n.h/unitInPixels;const r=(t.width-(null!==(e=t.paddingRight)&&void 0!==e?e:0))/2;this.PositionAndShape.BorderLeft=-(i+r)/unitInPixels,this.PositionAndShape.BorderRight=(n.w-i)/unitInPixels}set vfStaveNote(e){this.mVexFlowStaveNote=e}get vfStaveNote(){return this.mVexFlowStaveNote}color(){const e=this.rules.DefaultColorNotehead,t=this.rules.DefaultColorRest,n=this.rules.DefaultColorStem,i="#00000000";let r,o;const s=this.vfStaveNote;for(let d=0;d<this.notes.length;d++){const n=this.notes[d];if(o=n.sourceNote.NoteheadColor,r=o,this.rules.ColoringMode===ColoringModes.AutoColoring||this.rules.ColoringMode===ColoringModes.CustomColorSet)if(n.sourceNote.isRest())r=this.rules.ColoringSetCurrent.getValue(-1);else{const e=n.sourceNote.Pitch.FundamentalNote;r=this.rules.ColoringSetCurrent.getValue(e)}if(n.sourceNote.PrintObject?r&&"#000000"!==r||(r=this.rules.DefaultColorNotehead):r=i,!o&&this.rules.ColoringMode===ColoringModes.XML&&n.sourceNote.PrintObject&&(!n.sourceNote.isRest()&&e?r=e:n.sourceNote.isRest()&&t&&(r=t)),r&&n.sourceNote.PrintObject)n.sourceNote.NoteheadColorCurrentlyRendered=r;else if(!r)continue;if(this.rules.ColoringEnabled&&n.sourceNote.NoteBeam&&this.rules.ColorBeams){const e=n.sourceNote.NoteBeam.Notes;let t=!0;for(let n=0;n<e.length;n++)e[n].NoteheadColorCurrentlyRendered!==r&&(t=!1);var a;if(t)null!=s&&null!==(a=s.beam)&&void 0!==a&&a.setStyle&&s.beam.setStyle({fillStyle:r,strokeStyle:r})}if(s){if(s.note_heads){const e=s.note_heads[d];e&&e.setStyle({fillStyle:r,strokeStyle:r})}s.setLedgerLineStyle&&(r===i?s.setLedgerLineStyle({fillStyle:r,strokeStyle:r,lineWidth:this.rules.LedgerLineWidth}):s.setLedgerLineStyle({fillStyle:this.rules.LedgerLineColorDefault,lineWidth:this.rules.LedgerLineWidth,strokeStyle:this.rules.LedgerLineColorDefault}))}}let l=n,c=!1;this.rules.ColoringEnabled&&(l=this.parentVoiceEntry.StemColor,l&&"#000000"!==l||(l=n),this.rules.ColorStemsLikeNoteheads&&r&&(l=r,c=!0));let u=!0;for(const d of this.parentVoiceEntry.Notes)if(d.PrintObject){u=!1;break}u&&(l=i);const h={fillStyle:l,strokeStyle:l};s&&s.setStemStyle&&(!u&&c&&(this.parentVoiceEntry.StemColor=l),s.setStemStyle(h),s.flag&&s.setFlagStyle&&this.rules.ColorFlags&&s.setFlagStyle(h))}}const VF$7=Vex.Flow,NoteSubGroup=VF$7.NoteSubGroup;class VexFlowMeasure extends GraphicalMeasure{constructor(e,t,n){super(e,t,n),this.octaveOffset=3,this.vfVoices={},this.vfTies=[],this.vfRepetitionWords=[],this.hasMetronomeMark=!1,this.connectors=[],this.beams={},this.autoVfBeams=[],this.autoTupletVfBeams=[],this.vfbeams={},this.tuplets={},this.vftuplets={},this.minimumStaffEntriesWidth=-1,this.rules=n?n.ParentMusicSystem.rules:t?t.Rules:new EngravingRules,this.resetLayout()}setAbsoluteCoordinates(e,t){this.stave.setX(e).setY(t)}resetLayout(){this.stave=new VF$7.Stave(0,0,0,{fill_style:this.rules.StaffLineColor,space_above_staff_ln:0,space_below_staff_ln:0,DYMusicScoreType:this.rules.DYMusicScoreType}),this.InitiallyActiveClef&&(this.stave.clef=VexFlowConverter.Clef(this.InitiallyActiveClef).type),this.stave.MeasureNumber=this.MeasureNumber,this.hasMetronomeMark=!1,this.ParentStaff&&this.setLineNumber(this.ParentStaff.StafflineCount),this.stave.setBegBarType(VF$7.Barline.type.NONE),this.parentSourceMeasure&&this.parentSourceMeasure.endingBarStyleEnum===SystemLinesEnum.None&&this.stave.setEndBarType(VF$7.Barline.type.NONE),this.updateInstructionWidth()}clean(){this.vfTies.length=0,this.connectors=[],this.resetLayout()}getLineWidth(e){switch(e){case SystemLinesEnum.BoldThinDots:case SystemLinesEnum.DotsThinBold:return 10/unitInPixels;case SystemLinesEnum.DotsBoldBoldDots:return 10/unitInPixels+this.rules.RepeatEndStartPadding;default:return 0}}addClefAtBegin(e){if(this.rules.RenderClefsAtBeginningOfStaffline){if(this.octaveOffset=e.OctaveOffset,"jianpu"!==this.rules.DYMusicScoreType)if(e.ClefType===ClefEnum.TAB)this.stave.addClef("tab",void 0,void 0,void 0);else{const t=VexFlowConverter.Clef(e,"default");this.stave.addClef(t.type,t.size,t.annotation,VF$7.StaveModifier.Position.BEGIN)}this.updateInstructionWidth()}}setLineNumber(e){5!==e&&(0===e?(this.stave.setNumLines(0),this.stave.getBottomLineY=function(){return this.getYForLine(this.options.num_lines)}):1===e?(this.stave.options.line_config=[{visible:!1},{visible:!1},{visible:!0},{visible:!1},{visible:!1}],this.stave.getBottomLineY=function(){return this.getYForLine(2)}):2===e?(this.stave.options.line_config=[{visible:!1},{visible:!1},{visible:!0},{visible:!0},{visible:!1}],this.stave.getBottomLineY=function(){return this.getYForLine(3)}):3===e?(this.stave.options.line_config=[{visible:!1},{visible:!0},{visible:!0},{visible:!0},{visible:!1}],this.stave.getBottomLineY=function(){return this.getYForLine(2)}):(this.stave.setNumLines(e),this.stave.getBottomLineY=function(){return this.getYForLine(this.options.num_lines)}))}addKeyAtBegin(e,t,n){var i;if(this.rules.RenderKeySignatures&&this.ShowKeySignature&&(!this.isTabMeasure||this.rules.TabKeySignatureRendered||this.rules.TabKeySignatureSpacingAdded)&&(null===(i=this.parentSourceMeasure)||void 0===i||!i.isReducedToMultiRest||this.rules.MultipleRestMeasureAddKeySignature)){if(this.stave.setKeySignature(VexFlowConverter.keySignature(e),VexFlowConverter.keySignature(t),void 0),this.isTabMeasure&&!this.rules.TabKeySignatureRendered){const e=this.stave.getModifiers();for(const t of e)if(t instanceof VF$7.KeySignature){t.setStyle({fillStyle:"#00000000"}),t.hidden=!0;break}}this.updateInstructionWidth()}}addRhythmAtBegin(e){if(this.isTabMeasure&&!this.rules.TabTimeSignatureRendered&&!this.rules.TabTimeSignatureSpacingAdded)return;const t=VexFlowConverter.TimeSignature(e);this.stave.addModifier(t,VF$7.StaveModifier.Position.BEGIN,{numerator:e.Rhythm.Numerator,denominator:e.Rhythm.Denominator}),(!this.ShowTimeSignature||this.isTabMeasure&&!this.rules.TabTimeSignatureRendered)&&(t.setStyle({fillStyle:"#00000000"}),t.hidden=!0),this.updateInstructionWidth()}addClefAtEnd(e,t=!0){const n=VexFlowConverter.Clef(e,"small");if(t||!this.stave.endClef){this.stave.setEndClef(n.type,n.size,n.annotation);for(const e of this.stave.getModifiers())if(t){const t=e.originalStrokeStyle,n=e.originalFillStyle;e.getStyle()&&(t&&n?(e.getStyle().strokeStyle=t,e.getStyle().fillStyle=n):(e.getStyle().strokeStyle=null,e.getStyle().fillStyle=null))}else if("clefs"===e.getCategory()&&e.getPosition()===VF$7.StaveModifier.Position.END&&e.type===n.type){const t="#12345600",n=e.getStyle();n&&(e.originalStrokeStyle=n.strokeStyle,e.originalFillStyle=n.fillStyle),e.setStyle({strokeStyle:t,fillStyle:t})}return this.parentSourceMeasure.hasEndClef=!0,this.updateInstructionWidth()}}addMeasureLine(e,t,n=!0){switch(t){case SystemLinePosition.MeasureBegin:if(e===SystemLinesEnum.BoldThinDots)n||(this.stave.modifiers[0].draw=function(e){switch(e.checkContext(),this.setRendered(),this.type){case VF$7.Barline.type.SINGLE:this.drawVerticalBar(e,this.x,!1);break;case VF$7.Barline.type.DOUBLE:this.drawVerticalBar(e,this.x,!0);break;case VF$7.Barline.type.END:this.drawVerticalEndBar(e,this.x);break;case VF$7.Barline.type.REPEAT_BEGIN:this.drawRepeatBar(e,this.x,!0);break;case VF$7.Barline.type.REPEAT_END:this.drawRepeatBar(e,this.x,!1);break;case VF$7.Barline.type.REPEAT_BOTH:this.drawRepeatBar(e,this.x,!1),this.drawRepeatBar(e,this.x,!0)}}),this.stave.setBegBarType(VF$7.Barline.type.REPEAT_BEGIN);break;case SystemLinePosition.MeasureEnd:switch(e){case SystemLinesEnum.DotsBoldBoldDots:this.stave.setEndBarType(VF$7.Barline.type.REPEAT_BOTH);break;case SystemLinesEnum.DotsThinBold:this.stave.setEndBarType(VF$7.Barline.type.REPEAT_END);break;case SystemLinesEnum.DoubleThin:this.stave.setEndBarType(VF$7.Barline.type.DOUBLE);break;case SystemLinesEnum.ThinBold:this.stave.setEndBarType(VF$7.Barline.type.END);break;case SystemLinesEnum.None:this.stave.setEndBarType(VF$7.Barline.type.NONE)}}}addMeasureNumber(){const e=this.MeasureNumber.toString();this.stave.setText(e,3,{justification:1,shift_x:0,shift_y:0})}addWordRepetition(e){let t,n=VF$7.StaveModifier.Position.END;const i=this.beginInstructionsWidth;switch(e.type){case RepetitionInstructionEnum.Segno:t=VF$7.Repetition.type.SEGNO_LEFT,n=VF$7.StaveModifier.Position.LEFT;break;case RepetitionInstructionEnum.Coda:t=VF$7.Repetition.type.CODA_LEFT,n=VF$7.StaveModifier.Position.LEFT;break;case RepetitionInstructionEnum.DaCapo:t=VF$7.Repetition.type.DC;break;case RepetitionInstructionEnum.DalSegno:t=VF$7.Repetition.type.DS;break;case RepetitionInstructionEnum.Fine:t=VF$7.Repetition.type.FINE;break;case RepetitionInstructionEnum.ToCoda:t=VF$7.Repetition.type.TO_CODA;break;case RepetitionInstructionEnum.DaCapoAlFine:t=VF$7.Repetition.type.DC_AL_FINE;break;case RepetitionInstructionEnum.DaCapoAlCoda:t=VF$7.Repetition.type.DC_AL_CODA;break;case RepetitionInstructionEnum.DalSegnoAlFine:t=VF$7.Repetition.type.DS_AL_FINE;break;case RepetitionInstructionEnum.DalSegnoAlCoda:t=VF$7.Repetition.type.DS_AL_CODA}if(t){if(this.stave.getModifiers().find((e=>e.symbol_type===t)))return;const e=new VF$7.Repetition(t,i,-this.rules.RepetitionSymbolsYOffset);return e.xShiftAsPercentOfStaveWidth=this.rules.RepetitionEndInstructionXShiftAsPercentOfStaveWidth,void this.stave.addModifier(e,n)}this.addVolta(e)}addVolta(e){let t=VF$7.Volta.type.BEGIN;if(e.type===RepetitionInstructionEnum.Ending){switch(e.alignment){case AlignmentType.Begin:t=this.parentSourceMeasure.endsRepetitionEnding()?VF$7.Volta.type.BEGIN_END:VF$7.Volta.type.BEGIN;break;case AlignmentType.End:if(this.parentSourceMeasure.beginsRepetitionEnding())return;t=VF$7.Volta.type.END}const i=this.ParentStaffLine.SkyBottomLineCalculator,r=this.PositionAndShape.AbsolutePosition.x+this.PositionAndShape.BorderMarginLeft+.4,o=Math.max(this.PositionAndShape.AbsolutePosition.x+this.PositionAndShape.BorderMarginRight,r+.4),s=i.getSkyLineMinInRange(r,o)-2;let a,l=-6.1+this.rules.VoltaOffset,c=this.rules.VoltaOffset;if(s<l){c+=s-l,l=s}const u=this.parentSourceMeasure.MeasureNumber;for(let e=0;e<this.ParentStaffLine.Measures.length;e++){var n;const t=this.ParentStaffLine.Measures[e];t instanceof VexFlowMeasure&&(t.MeasureNumber!==u-1&&t.MeasureNumber+(null===(n=t.parentSourceMeasure)||void 0===n?void 0:n.multipleRestMeasures)!==u||(a=t))}if(a){const e=a.stave.getModifiers();for(let t=0;t<e.length;t++){const n=e[t];if(n.hasOwnProperty("volta")){const e=a.ParentStaffLine.SkyBottomLineCalculator,t=a.PositionAndShape.AbsolutePosition.x+a.PositionAndShape.BorderMarginLeft+.4,i=Math.max(a.PositionAndShape.AbsolutePosition.x+a.PositionAndShape.BorderMarginRight,t+.4),r=e.getSkyLineMinInRange(t,i);if(r<=l){c+=r-l,l=r}else n.y_shift=c*unitInPixels,a.ParentStaffLine.SkyBottomLineCalculator.updateSkyLineInRange(t,i,l)}}}c*=10,this.stave.setVoltaType(t,e.endingIndices[0],c),i.updateSkyLineInRange(r,o,l)}}setWidth(e){super.setWidth(e),this.stave.setWidth(e*unitInPixels)}layoutSymbols(){}draw(e){var t,n,i,r,o,s,a;const l=e.openGroup();null==l||null===(t=l.classList)||void 0===t||t.add("vf-measure");const c=e.openGroup();null==c||null===(n=c.classList)||void 0===n||n.add("vf-stave"),null==c||c.setAttribute("id",null===(i=this.stave)||void 0===i||null===(r=i.attrs)||void 0===r?void 0:r.id),this.stave.setContext(e).draw(),e.closeGroup();const u=e.openGroup();null==u||null===(o=u.classList)||void 0===o||o.add("vf-voices");for(const p in this.vfVoices)this.vfVoices.hasOwnProperty(p)&&(e.save(),this.vfVoices[p].draw(e,this.stave),e.restore());e.closeGroup();const h=e.openGroup();if(null==h||null===(s=h.classList)||void 0===s||s.add("vf-beams"),"jianpu"!==this.rules.DYMusicScoreType)for(const p in this.vfbeams)if(this.vfbeams.hasOwnProperty(p))for(const t of this.vfbeams[p])t.setContext(e).draw();if(this.autoVfBeams)for(const p of this.autoVfBeams)p.setContext(e).draw();if(!this.isTabMeasure||this.rules.TupletNumbersInTabs){if(this.autoTupletVfBeams)for(const t of this.autoTupletVfBeams)t.setContext(e).draw();for(const t in this.vftuplets)if(this.vftuplets.hasOwnProperty(t))for(const n of this.vftuplets[t])if("jianpu"===this.rules.DYMusicScoreType){let e=n.getNotes();const t=new VF$7.StaveTie({first_note:e[0],last_note:e[e.length-1]},e.length+"");this.vfTies.push(t),n.setTupletLocation(1)}else n.setContext(e).draw()}e.closeGroup(),e.closeGroup();const d=e.openGroup();null==d||null===(a=d.classList)||void 0===a||a.add("vf-ties");for(const p of this.vfTies){if("jianpu"===this.rules.DYMusicScoreType&&p.setDirection(-1),p instanceof VF$7.TabSlide)return;p.setContext(e),p.draw()}e.closeGroup();for(const p of this.connectors)p.setContext(e).draw();return this.correctNotePositions(),l}format(){this.formatVoices&&this.formatVoices((this.PositionAndShape.Size.width-this.beginInstructionsWidth-this.endInstructionsWidth)*unitInPixels,this)}correctNotePositions(){if(!this.isTabMeasure)for(const e of this.getVoicesWithinMeasure())for(const t of e.VoiceEntries)for(const e of t.Notes){const t=this.rules.GNote(e);if(null==t||!t.vfnote)return;const n=t.vfnote[0];let i=0;t.parentVoiceEntry.parentVoiceEntry.StemDirection===StemDirectionType.Up&&"w"!==t.vfnote[0].getDuration()?i+=3.5:i+=.5;i+=-t.notehead(n).line+t.parentVoiceEntry.notes.last().notehead().line,t.PositionAndShape.RelativePosition.y=i}}getVoicesWithinMeasure(){const e=[];for(const t of this.staffEntries)for(const n of t.graphicalVoiceEntries)-1===e.indexOf(n.parentVoiceEntry.ParentVoice)&&e.push(n.parentVoiceEntry.ParentVoice);return e}getGraphicalVoiceEntriesPerVoice(e){const t=[];for(const n of this.staffEntries)for(const i of n.graphicalVoiceEntries)i.parentVoiceEntry.ParentVoice===e&&t.push(i);return t}getRestFilledVexFlowStaveNotesPerVoice(e){let t,n=this.getGraphicalVoiceEntriesPerVoice(e);for(let o=0;o<n.length;o++){const e=n[o],i=e.notes[0].sourceNote.getAbsoluteTimestamp();let r=new Fraction$1;for(const t of e.notes){const e=Fraction$1.plus(t.sourceNote.getAbsoluteTimestamp(),t.sourceNote.Length);r.lt(e)&&(r=e)}if(t){const e=Fraction$1.minus(i,t);if(e.RealValue>0){loglevelExports.trace(`Ghost Found in between (measure ${this.MeasureNumber})`);const t=this.createGhostGves(e);n.splice(o,0,...t),o+=t.length}}else{const e=Fraction$1.minus(i,this.parentSourceMeasure.AbsoluteTimestamp);if(e.RealValue>0){loglevelExports.trace(`Ghost Found at start (measure ${this.MeasureNumber})`);const t=this.createGhostGves(e);n.splice(0,0,...t),o+=t.length}}t=r}const i=Fraction$1.plus(this.parentSourceMeasure.AbsoluteTimestamp,this.parentSourceMeasure.Duration),r=Fraction$1.minus(i,t);if(r.RealValue>0){loglevelExports.trace(`Ghost Found at end (measure ${this.MeasureNumber})`);const e=this.createGhostGves(r);n=n.concat(e)}return n}createGhostGves(e){const t=VexFlowConverter.GhostNotes(e),n=[];for(const i of t){const e=new VexFlowVoiceEntry(void 0,void 0,this.rules);e.vfStaveNote=i,n.push(e)}return n}handleBeam(e,t){const n=e.sourceNote.ParentVoiceEntry.ParentVoice.VoiceId;let i,r=this.beams[n];r||(r=this.beams[n]=[]);for(const s of r)s[0]===t&&(i=s);i||(i=[t,[]],r.push(i));const o=e.parentVoiceEntry;i[1].indexOf(o)<0&&i[1].push(o)}handleTuplet(e,t){const n=e.sourceNote.ParentVoiceEntry.ParentVoice.VoiceId;t=e.sourceNote.NoteTuplet;let i,r=this.tuplets[n];r||(r=this.tuplets[n]=[]);for(const s of r)s[0]===t&&(i=s);i||(i=[t,[]],r.push(i));const o=e.parentVoiceEntry;i[1].indexOf(o)<0&&i[1].push(o)}finalizeBeams(){if(this.vfbeams={},this.isTabMeasure&&!this.rules.TabBeamsRendered)return;const e=[];for(const t in this.beams)if(this.beams.hasOwnProperty(t)){let n=this.vfbeams[t];n||(n=this.vfbeams[t]=[]);for(const i of this.beams[t]){let t=!1;for(const e of i[0].Notes)if(e.Length.RealValue>=new Fraction$1(1,4).RealValue&&(!e.TypeLength||e.TypeLength.RealValue>.125)){t=!0;break}if(t){loglevelExports.debug("Beam between note >= quarter, likely tremolo, currently unsupported. continuing.");continue}const r=[],o=i[0],s=i[1];let a=!0;for(const e of s)e.parentVoiceEntry.ParentVoice===o.Notes[0].ParentVoiceEntry.ParentVoice&&(a=e.parentVoiceEntry.WantedStemDirection===StemDirectionType.Undefined);let l,c=!1;const u=[];for(const n of s){const t=n.vfStaveNote;t&&(r.push(t),e.push(t)),n.parentVoiceEntry.IsGrace&&(c=!0),n.parentVoiceEntry.StemColor&&this.rules.ColoringEnabled&&u.push(n.parentVoiceEntry.StemColor)}if(r.length>1){const e=new VF$7.Beam(r,a);if(c&&(e.render_options.beam_width=3,e.render_options.partial_beam_length=4),u.length>=2&&this.rules.ColorBeams){l=u[0];for(const e of u)if(e!==l){l=void 0;break}e.setStyle({fillStyle:l,strokeStyle:l})}this.rules.FlatBeams&&(e.render_options.flat_beams=!0,e.render_options.flat_beam_offset=this.rules.FlatBeamOffset,e.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),n.push(e)}else loglevelExports.debug("Warning! Beam with no notes!")}}this.rules.AutoBeamNotes&&this.autoBeamNotes(e)}autoBeamNotes(e){if(!this.rules.AutoBeamTabs&&this.isTabMeasure)return;let t,n=60,i=[],r=[],o=[];this.autoTupletVfBeams=[];const s=[];this.autoVfBeams=[];let a=this.parentSourceMeasure.ActiveTimeSignature;a||(a=this.parentSourceMeasure.Duration);for(const u of this.staffEntries)for(const l of u.graphicalVoiceEntries){const c=l.vfStaveNote,h=l.notes[0],d={vfStaveNote:c,sourceNote:h.sourceNote},p=u.relInMeasureTimestamp.isOnBeat(a),f=r.length>=2,m=h.sourceNote.Length.RealValue-new Fraction$1(1,4).RealValue>-Fraction$1.FloatInaccuracyTolerance,g=l.parentVoiceEntry.IsGrace||m||e.contains(c);if(g||p){if(f){for(const e of r)i.push(e);s.push(i.slice()),i=[]}if(r=[],g)continue}const v=l.notes[0].sourceNote.NoteTuplet;if(v){let e=!1;for(const t of v.Notes){for(const n of t)if(n.NoteTypeXml>=NoteType.QUARTER||n.ParentVoiceEntry.IsGrace||n.isRest()&&!this.rules.AutoBeamOptions.beam_rests){e=!0;break}if(e)break}if(t){if(t!==v){if(o.length>1){const e=[];for(const n of o)e.push(n.vfStaveNote);const t=new VF$7.Beam(e,!0);this.rules.FlatBeams&&(t.render_options.flat_beams=!0,t.render_options.flat_beam_offset=this.rules.FlatBeamOffset,t.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoTupletVfBeams.push(t);const i=new Beam(n++);i.AutoGenerated=!0;for(const n of o)i.addNoteToBeam(n.sourceNote)}o=[],t=v}}else t=v;e||o.push(d)}else t=void 0,r.push(d)}if(o.length>=2){const e=[];for(const n of o)e.push(n.vfStaveNote);const t=new VF$7.Beam(e,!0);this.rules.FlatBeams&&(t.render_options.flat_beams=!0,t.render_options.flat_beam_offset=this.rules.FlatBeamOffset,t.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoTupletVfBeams.push(t);const i=new Beam(n++);i.AutoGenerated=!0;for(const n of o)i.addNoteToBeam(n.sourceNote)}if(r.length>=2){for(const e of r)i.push(e);s.push(i)}const l=this.rules.AutoBeamOptions,c={beam_middle_only:l.beam_middle_rests_only,beam_rests:l.beam_rests,maintain_stem_directions:l.maintain_stem_directions};if(l.groups&&l.groups.length){const e=[];for(const t of l.groups)e.push(new VF$7.Fraction(t[0],t[1]));c.groups=e}for(const u of s){const e=[];for(const n of u)e.push(n.vfStaveNote);const t=VF$7.Beam.generateBeams(e,c);for(const n of t)this.rules.FlatBeams&&(n.render_options.flat_beams=!0,n.render_options.flat_beam_offset=this.rules.FlatBeamOffset,n.render_options.flat_beam_offset_per_beam=this.rules.FlatBeamOffsetPerBeam),this.autoVfBeams.push(n)}}finalizeTuplets(){this.vftuplets={};for(const e in this.tuplets)if(this.tuplets.hasOwnProperty(e)){let t=this.vftuplets[e];t||(t=this.vftuplets[e]=[]);for(const n of this.tuplets[e]){const e=[],i=n[1];for(const t of i)e.push(t.vfStaveNote);if(e.length>1){const i=n[0],r=i.Notes[0][0].NormalNotes,o=i.shouldBeBracketed(this.rules.TupletsBracketedUseXMLValue,this.rules.TupletsBracketed,this.rules.TripletsBracketed,this.isTabMeasure,this.rules.TabTupletsBracketed);let s=VF$7.Tuplet.LOCATION_TOP;i.tupletLabelNumberPlacement===PlacementEnum.Below&&(s=VF$7.Tuplet.LOCATION_BOTTOM);let a=0;if(this.isTabMeasure&&(a=10*this.rules.TabTupletYOffsetBottom,s===VF$7.Tuplet.LOCATION_TOP)){a=-10*this.rules.TabTupletYOffsetTop;const e=i.Notes[0][0];null!=e&&e.hasTabEffects()&&(a-=10*this.rules.TabTupletYOffsetEffects)}const l=new VF$7.Tuplet(e,{bracketed:o,location:s,notes_occupied:r,num_notes:i.TupletLabelNumber,ratioed:this.rules.TupletsRatioed,y_offset:a});t.push(l)}else loglevelExports.debug("Warning! Tuplet with no notes! Trying to ignore, but this is a serious problem.")}}}layoutStaffEntry(e){}graphicalMeasureCreatedCalculations(){let e,t=[];const n=[];for(const r of this.staffEntries){e=!1,t=[];for(const i of r.graphicalVoiceEntries)if(i.parentVoiceEntry.IsGrace)t.push(i),n.push(i),e||(e=i.parentVoiceEntry.GraceSlur);else if(i.vfStaveNote=VexFlowConverter.StaveNote(i),t.length>0){const n=[];for(let e=0;e<t.length;e++){const i=t[e];i.GraceSlash=i.parentVoiceEntry.GraceNoteSlash,e>0&&(i.GraceSlash=!1);const r=VexFlowConverter.StaveNote(i);i.vfStaveNote=r,n.push(r)}const r=new VF$7.GraceNoteGroup(n,e);r.spacing=10*this.rules.GraceNoteGroupXMargin,i.vfStaveNote.addModifier(0,r),t=[]}}if(t.length>0)for(const r of t)r.vfStaveNote=VexFlowConverter.StaveNote(r),r.parentVoiceEntry.GraceAfterMainNote=!0;this.finalizeBeams(),this.finalizeTuplets();const i=this.getVoicesWithinMeasure();if(this.rules.RenderFingerings)for(const r of this.staffEntries)r.setModifierXOffsets();for(const r of i){if(!r)continue;this.vfVoices[r.VoiceId]=new VF$7.Voice({beat_value:this.parentSourceMeasure.ActiveTimeSignature.Denominator,num_beats:this.parentSourceMeasure.ActiveTimeSignature.Numerator,resolution:VF$7.RESOLUTION}).setMode(VF$7.Voice.Mode.SOFT);const e=this.getRestFilledVexFlowStaveNotesPerVoice(r);for(const t of e){if(t.parentVoiceEntry&&t.parentVoiceEntry.IsGrace&&!t.parentVoiceEntry.GraceAfterMainNote)continue;const e=t;if(0===e.vfStaveNote.getTicks().denominator&&(e.vfStaveNote.getTicks().denominator=1),0===t.notes.length||!t.notes[0]||!t.notes[0].sourceNote.PrintObject){this.vfVoices[r.VoiceId].addTickable(e.vfStaveNote);continue}const n=e.parentStaffEntry;if(n&&n.vfClefBefore){const t=new NoteSubGroup([n.vfClefBefore]);e.vfStaveNote.getCategory&&"stavenotes"===e.vfStaveNote.getCategory()&&e.vfStaveNote.addModifier(0,t)}t.parentVoiceEntry&&this.rules.RenderFingerings&&(this.rules.FingeringPosition!==PlacementEnum.Left&&this.rules.FingeringPosition!==PlacementEnum.Right||this.createFingerings(t),this.createStringNumber(t)),this.createArpeggio(t),this.vfVoices[r.VoiceId].addTickable(e.vfStaveNote)}}this.setStemDirectionFromVexFlow();for(const r of n)this.createFingerings(r),this.createStringNumber(r),this.createArpeggio(r);this.createArticulations(),this.createOrnaments()}createArpeggio(e){if(e.parentVoiceEntry&&e.parentVoiceEntry.Arpeggio){const t=e.parentVoiceEntry.Arpeggio;if(e.notes&&e.notes.length>1){const n=VexFlowConverter.StrokeTypeFromArpeggioType(t.type),i=new VF$7.Stroke(n,{all_voices:this.rules.ArpeggiosGoAcrossVoices});this.rules.RenderArpeggios&&e.vfStaveNote.addStroke(0,i)}else loglevelExports.debug(`[OSMD] arpeggio in measure ${this.MeasureNumber} could not be drawn.\n voice entry had less than two notes, arpeggio is likely between voice entries, not currently supported in Vexflow.`)}}setStemDirectionFromVexFlow(){for(const e of this.staffEntries)for(const t of e.graphicalVoiceEntries)for(const e of t.notes){const n=e.vfnote;if(!n||!n[0])continue;switch(n[0].getStemDirection()){case VF$7.Stem.UP:t.parentVoiceEntry.StemDirection=StemDirectionType.Up;break;case VF$7.Stem.DOWN:t.parentVoiceEntry.StemDirection=StemDirectionType.Down}}}createArticulations(){for(let e=0,t=this.staffEntries.length;e<t;++e){const t=this.staffEntries[e].graphicalVoiceEntries;for(const e of t){const t=e.vfStaveNote;VexFlowConverter.generateArticulations(t,e.notes[0],this.rules)}}}createOrnaments(){for(let e=0,t=this.staffEntries.length;e<t;++e){const t=this.staffEntries[e].graphicalVoiceEntries;for(const e in t)if(t.hasOwnProperty(e)){const n=t[e].vfStaveNote,i=t[e].notes[0].sourceNote.ParentVoiceEntry.OrnamentContainer;i&&VexFlowConverter.generateOrnaments(n,i)}}}createFingerings(e){const t=e;let n=0;for(const o of e.notes){o.sourceNote.Fingering&&n++}const i=[];for(const o of e.parentVoiceEntry.TechnicalInstructions)o.type===TechnicalInstructionType.Fingering&&i.push(o);if(i.length>n)for(const o of e.notes)if(!o.sourceNote.Fingering&&(o.sourceNote.Fingering=i.pop(),n++,0===i.length))break;let r=-1;for(const o of e.notes){const i=o.sourceNote.Fingering;if(!i){r++;continue}r++;let s=this.rules.FingeringPosition;this.rules.FingeringPositionGrace===PlacementEnum.AboveOrBelow&&(this.isUpperStaffOfInstrument()?s=PlacementEnum.Above:this.isLowerStaffOfInstrument()&&(s=PlacementEnum.Below)),i.placement!==PlacementEnum.NotYetDefined&&(s=i.placement);let a,l=this.rules.FingeringOffsetX;switch(s){default:case PlacementEnum.Left:a=VF$7.StaveModifier.Position.LEFT,l-=o.baseFingeringXOffset*unitInPixels;break;case PlacementEnum.Right:a=VF$7.StaveModifier.Position.RIGHT,l+=o.baseFingeringXOffset*unitInPixels;break;case PlacementEnum.Above:a=VF$7.StaveModifier.Position.ABOVE;break;case PlacementEnum.Below:a=VF$7.StaveModifier.Position.BELOW;break;case PlacementEnum.NotYetDefined:const t=e.parentStaffEntry.sourceStaffEntry.ParentStaff;e.notes.length>1||e.parentStaffEntry.graphicalVoiceEntries.length>1?a=VF$7.StaveModifier.Position.LEFT:0===t.idInMusicSheet?(a=VF$7.StaveModifier.Position.ABOVE,s=PlacementEnum.Above):(a=VF$7.StaveModifier.Position.BELOW,s=PlacementEnum.Below)}const c=new VF$7.FretHandFinger(i.value);if(c.setPosition(a),c.setOffsetX(l),s===PlacementEnum.Above||s===PlacementEnum.Below){const e=s===PlacementEnum.Above?-1:1,o=s===PlacementEnum.Above?r:n-1-r;if(this.rules.FingeringInsideStafflines&&n>1){const t=c.getWidth()/2,i=2.5*n;c.setOffsetY(e*(o+i)*t)}else if(!this.rules.FingeringInsideStafflines){const n=new VF$7.StringNumber(i.value);n.radius=0,n.setPosition(a),n.setOffsetY(e*o*n.getWidth()*2/3),t.vfStaveNote.addModifier(r,n);continue}}t.vfStaveNote.addModifier(r,c)}}createStringNumber(e){if(!this.rules.RenderStringNumbersClassical)return;const t=e;e.notes.forEach(((n,i)=>{const r=n.sourceNote.StringInstruction;if(r){let o=r.value;switch(o){case"1":o="I";break;case"2":o="II";break;case"3":o="III";break;case"4":o="IV";break;case"5":o="V";break;case"6":o="VI"}const s=new VF$7.StringNumber(o);s.radius=0;const a=-this.rules.StringNumberOffsetY;e.notes.length>1||e.parentStaffEntry.graphicalVoiceEntries.length>1?(s.setOffsetX(13*n.baseStringNumberXOffset),s.setPosition(VF$7.Modifier.Position.RIGHT)):s.setPosition(VF$7.Modifier.Position.ABOVE),s.setOffsetY(a),t.vfStaveNote.addModifier(i,s)}}))}lineTo(e,t){const n=new VF$7.StaveConnector(e.getVFStave(),this.stave);n.setType(t),this.connectors.push(n)}getVFStave(){return this.stave}updateInstructionWidth(){var e,t;let n=0,i=0;const r=this.stave.getModifiers();for(const o of r)5===o.getPosition()?n+=o.getWidth()+o.getPadding(void 0):6===o.getPosition()&&(i+=o.getWidth()+o.getPadding(void 0));this.beginInstructionsWidth=(null!==(e=n)&&void 0!==e?e:0)/unitInPixels,this.endInstructionsWidth=(null!==(t=i)&&void 0!==t?t:0)/unitInPixels}addStaveTie(e,t){this.vfTies.push(e),t.vfTie=e,t.Tie.TieDirection===PlacementEnum.Below&&e.setDirection(1)}}class GraphicalStaffEntry extends GraphicalObject{constructor(e,t=undefined,n=undefined){super(),this.graphicalChordContainers=[],this.tabStaffEntry=void 0,this.MaxAccidentals=0,this.graphicalInstructions=[],this.ties=[],this.graphicalTies=[],this.lyricsEntries=[],this.parentMeasure=e,this.graphicalVoiceEntries=[],this.sourceStaffEntry=t,n?(this.staffEntryParent=n,this.parentVerticalContainer=n.parentVerticalContainer,this.PositionAndShape=new BoundingBox$1(this,n.PositionAndShape)):this.PositionAndShape=new BoundingBox$1(this,e.PositionAndShape),t&&(this.relInMeasureTimestamp=t.Timestamp),this.FingeringEntries=[]}get GraphicalInstructions(){return this.graphicalInstructions}get GraphicalTies(){return this.graphicalTies}get LyricsEntries(){return this.lyricsEntries}set LyricsEntries(e){this.lyricsEntries=e}getAbsoluteTimestamp(){const e=this.parentMeasure.parentSourceMeasure.AbsoluteTimestamp.clone();return this.relInMeasureTimestamp&&e.Add(this.relInMeasureTimestamp),e}findTieGraphicalNoteFromNote(e){var t;const n=(null===(t=window.GYM)||void 0===t?void 0:t.graceCustom)||!1;for(const i of this.graphicalVoiceEntries)for(const t of i.notes){const i=t.sourceNote;if(n){if(e.NoteToGraphicalNoteObjectId==i.NoteToGraphicalNoteObjectId)return t}else if(!i.isRest()&&i.Pitch.FundamentalNote===e.Pitch.FundamentalNote&&i.Pitch.Octave===e.Pitch.Octave&&i.getAbsoluteTimestamp().Equals(e.getAbsoluteTimestamp()))return t}}findEndTieGraphicalNoteFromNoteWithStartingSlur(e,t){if(e)for(const n of this.graphicalVoiceEntries)if(n.parentVoiceEntry===e.ParentVoiceEntry)for(const e of n.notes){const n=e.sourceNote;if(n.NoteTie&&-1!==n.NoteSlurs.indexOf(t))return e}}findGraphicalNoteFromGraceNote(e){if(e)for(const t of this.graphicalVoiceEntries)if(t.parentVoiceEntry===e.ParentVoiceEntry)for(const n of t.notes)if(n.sourceNote===e)return n}findGraphicalNoteFromNote(e){if(e)for(const t of this.graphicalVoiceEntries)if(t.parentVoiceEntry===e.ParentVoiceEntry)for(const n of t.notes)if(n.sourceNote===e&&this.getAbsoluteTimestamp().Equals(e.getAbsoluteTimestamp()))return n}getGraphicalNoteDurationFromVoice(e){for(const t of this.graphicalVoiceEntries)if(t.parentVoiceEntry.ParentVoice===e)return t.notes[0].graphicalNoteLength;return new Fraction$1(0,1)}findVoiceEntryGraphicalNotes(e){for(const t of this.graphicalVoiceEntries)if(t.parentVoiceEntry===e)return t.notes}isVoiceEntryPartOfLinkedVoiceEntry(e){if(this.sourceStaffEntry.Link)for(let t=0,n=this.sourceStaffEntry.Link.LinkStaffEntries.length;t<n;++t){const n=this.sourceStaffEntry.Link.LinkStaffEntries[t];if(-1!==n.VoiceEntries.indexOf(e)&&n!==this.sourceStaffEntry)return!0}return!1}findStaffEntryMinNoteLength(){let e=new Fraction$1(Number.MAX_VALUE,1);for(const t of this.graphicalVoiceEntries)for(const n of t.notes){const t=n.graphicalNoteLength;t.lt(e)&&t.GetExpandedNumerator()>0&&(e=t)}return e}findStaffEntryMaxNoteLength(){let e=new Fraction$1(0,1);for(const t of this.graphicalVoiceEntries)for(const n of t.notes){const t=n.graphicalNoteLength;e.lt(t)&&t.GetExpandedNumerator()>0&&(e=t)}return e}findOrCreateGraphicalVoiceEntry(e){for(const n of this.graphicalVoiceEntries)if(n.parentVoiceEntry===e)return n;const t=MusicSheetCalculator.symbolFactory.createVoiceEntry(e,this);return this.graphicalVoiceEntries.push(t),t}findOrCreateGraphicalVoiceEntryFromGraphicalNote(e){for(const n of this.graphicalVoiceEntries)if(n===e.parentVoiceEntry)return n;const t=MusicSheetCalculator.symbolFactory.createVoiceEntry(e.sourceNote.ParentVoiceEntry,this);return this.graphicalVoiceEntries.push(t),t}addGraphicalNoteToListAtCorrectYPosition(e,t){const n=e.notes;if(0===n.length||t.PositionAndShape.RelativePosition.y<CollectionUtil.last(n).PositionAndShape.RelativePosition.y)n.push(t);else for(let i=n.length-1;i>=0;i--){if(n[i].PositionAndShape.RelativePosition.y>t.PositionAndShape.RelativePosition.y){n.splice(i+1,0,t);break}if(0===i){n.splice(0,0,t);break}}}hasOnlyRests(){return this.sourceStaffEntry.hasOnlyRests}getSkylineMin(){var e;const t=null===(e=this.parentMeasure)||void 0===e?void 0:e.ParentStaffLine.SkyBottomLineCalculator;if(!t)return;const[n,i]=this.getAbsoluteStartAndEnd();return t.getSkyLineMinInRange(n,i)}getHighestYAtEntry(){return this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.y+this.getSkylineMin()}getLowestYAtEntry(){return this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.y+this.getBottomlineMax()}getBottomlineMax(){var e;const t=null===(e=this.parentMeasure)||void 0===e?void 0:e.ParentStaffLine.SkyBottomLineCalculator;if(!t)return;const[n,i]=this.getAbsoluteStartAndEnd();return t.getBottomLineMaxInRange(n,i)}getAbsoluteStartAndEnd(){let e=this.PositionAndShape.AbsolutePosition.x;e-=this.parentMeasure.ParentStaffLine.PositionAndShape.AbsolutePosition.x;return[e,e+this.PositionAndShape.Size.width]}}class VexFlowStaffEntry extends GraphicalStaffEntry{constructor(e,t,n){super(e,t,n)}calculateXPosition(){const e=this.parentMeasure.getVFStave();let t=0;for(const n of this.graphicalVoiceEntries)if(n.vfStaveNote){if(n.vfStaveNote.setStave(e),!n.vfStaveNote.preFormatted)continue;n.applyBordersFromVexflow();let i=!1,r=this.PositionAndShape;n.notes[0].sourceNote.isWholeRest()&&!this.hasOnlyRests()&&(i=!0,r=n.PositionAndShape),this.parentMeasure.ParentStaff.isTab?r.RelativePosition.x=(n.vfStaveNote.getAbsoluteX()+n.vfStaveNote.glyph.getWidth())/unitInPixels:(r.RelativePosition.x=n.vfStaveNote.getBoundingBox().getX()/unitInPixels,i&&(r.RelativePosition.x-=e.getNoteStartX()/unitInPixels,r.RelativePosition.x-=1.3));const o=n.notes[0].sourceNote;o.isRest()&&o.Length.RealValue===this.parentMeasure.parentSourceMeasure.ActiveTimeSignature.RealValue&&(r.RelativePosition.x+=this.parentMeasure.parentSourceMeasure.Rules.WholeRestXShiftVexflow-.1,n.PositionAndShape.BorderLeft=-.7,n.PositionAndShape.BorderRight=.7),n.PositionAndShape.BorderLeft<t&&(t=n.PositionAndShape.BorderLeft)}this.PositionAndShape.RelativePosition.x-=t,this.PositionAndShape.calculateBoundingBox()}setMaxAccidentals(){for(const e of this.graphicalVoiceEntries)for(const t of e.notes)if(t.DrawnAccidental!==AccidentalEnum.NONE)return this.MaxAccidentals=1;return this.MaxAccidentals=0}setModifierXOffsets(){let e=[];for(const r of this.graphicalVoiceEntries)e=e.concat(r.notes);const t=e.map((e=>e.staffLine)),n=this.calculateModifierXOffsets(t,1),i=this.calculateModifierXOffsets(t,.5);e.forEach(((e,t)=>{e.baseFingeringXOffset=i[t],e.baseStringNumberXOffset=n[t]}))}calculateModifierXOffsets(e,t){const n=[];for(let i=0;i<e.length;i++){let r=0,o=!0;for(;o;)for(let s=i;s>=0;s--){if(Math.abs(e[i]-e[s])<=t&&r===n[s]){r++,o=!0;break}o=!1}n.push(r)}return n}}class VexFlowGraphicalNote extends GraphicalNote{constructor(e,t,n,i=OctaveEnum.NONE,r,o=undefined){if(super(e,t,r,o),this.clef=n,this.octaveShift=i,e.Pitch){const t=e.isRest()?e.Pitch:OctaveShift.getPitchFromOctaveShift(e.Pitch,i);this.vfpitch=VexFlowConverter.pitch(t,e.isRest(),this.clef,this.sourceNote.Notehead),this.vfpitch[1]=void 0}}setAccidental(e){const t=this.drawPitch(e);this.vfpitch=VexFlowConverter.pitch(t,this.sourceNote.isRest(),this.clef,this.sourceNote.Notehead),this.DrawnAccidental=t.Accidental}drawPitch(e){return OctaveShift.getPitchFromOctaveShift(e,this.octaveShift)}Transpose(e,t,n,i){const r=super.Transpose(e,t,n,i),o=OctaveShift.getPitchFromOctaveShift(r,this.octaveShift);return this.vfpitch=VexFlowConverter.pitch(o,this.sourceNote.isRest(),this.clef,this.sourceNote.Notehead),this.vfpitch[1]=void 0,o}setIndex(e,t){this.vfnote=[e,t],this.vfnoteIndex=t}notehead(e=undefined){let t=e;t||(t=this.vfnote[0]);const n=t.note_heads;return n&&n.length>this.vfnoteIndex&&n[this.vfnoteIndex]?t.note_heads[this.vfnoteIndex]:{line:0}}Clef(){return this.clef}getSVGId(){if(this.vfnote)return this.vfnote[0].getAttribute("id")}getSVGGElement(){if(this.vfnote)return this.vfnote[0].getAttribute("el")}getStemSVG(){return document.getElementById("vf-"+this.getSVGId()+"-stem")}getBeamSVGs(){const e=[];for(let t=0;;t++){const n=document.getElementById(`vf-${this.getSVGId()}-beam${t}`);if(!n)break;e.push(n)}return e}}class GraphicalChordSymbolContainer extends GraphicalObject{constructor(e,t,n,i,r,o){super(),this.chordSymbolContainer=e,this.boundingBox=new BoundingBox$1(this,t),this.rules=o,this.calculateLabel(n,r,i)}get GetChordSymbolContainer(){return this.chordSymbolContainer}get GraphicalLabel(){return this.graphicalLabel}calculateLabel(e,t,n){const i=ChordSymbolContainer.calculateChordText(this.chordSymbolContainer,t,n);this.graphicalLabel=new GraphicalLabel(new Label(i),e,this.rules.ChordSymbolTextAlignment,this.rules,this.boundingBox),this.graphicalLabel.PositionAndShape.RelativePosition=new PointF2D(this.rules.ChordSymbolRelativeXOffset,0),this.graphicalLabel.Label.colorDefault=this.rules.DefaultColorChordSymbol}}const VF$6=Vex.Flow;class VexFlowTabMeasure extends VexFlowMeasure{constructor(e,t=undefined,n=undefined){super(e,t,n),this.isTabMeasure=!0}resetLayout(){var e;const t=null!==(e=this.ParentStaff.StafflineCount)&&void 0!==e?e:6;this.stave=new VF$6.TabStave(0,0,0,{space_above_staff_ln:0,space_below_staff_ln:0,num_lines:t}),this.updateInstructionWidth()}graphicalMeasureCreatedCalculations(){for(let t=0,n=this.staffEntries.length;t<n;++t){const e=this.staffEntries[t];for(const t of e.graphicalVoiceEntries)if(t.notes[0].sourceNote.isRest()){const e=VexFlowConverter.GhostNotes(t.notes[0].sourceNote.Length);t.vfStaveNote=e[0],t.vfGhostNotes=e}else t.vfStaveNote=VexFlowConverter.CreateTabNote(t)}this.finalizeTuplets();const e=this.getVoicesWithinMeasure();for(const t of e){if(!t)continue;this.vfVoices[t.VoiceId]=new VF$6.Voice({beat_value:this.parentSourceMeasure.Duration.Denominator,num_beats:this.parentSourceMeasure.Duration.Numerator,resolution:VF$6.RESOLUTION}).setMode(VF$6.Voice.Mode.SOFT);const e=this.getRestFilledVexFlowStaveNotesPerVoice(t);for(const n of e){if(n.parentVoiceEntry&&n.parentVoiceEntry.IsGrace&&!n.parentVoiceEntry.GraceAfterMainNote)continue;const e=n;if(0!==n.notes.length&&n.notes[0]&&n.notes[0].sourceNote.PrintObject){if(n.parentVoiceEntry&&n.parentVoiceEntry.Arpeggio){const t=n.parentVoiceEntry.Arpeggio;if(n.notes&&n.notes.length>1){const n=VexFlowConverter.StrokeTypeFromArpeggioType(t.type),i=new VF$6.Stroke(n,{all_voices:this.rules.ArpeggiosGoAcrossVoices});this.rules.RenderArpeggios&&e.vfStaveNote.addStroke(0,i)}else loglevelExports.debug(`[OSMD] arpeggio in measure ${this.MeasureNumber} could not be drawn.\n voice entry had less than two notes, arpeggio is likely between voice entries, not currently supported in Vexflow.`)}if(e.vfGhostNotes)for(const n of e.vfGhostNotes)this.vfVoices[t.VoiceId].addTickable(n);else this.vfVoices[t.VoiceId].addTickable(e.vfStaveNote)}else if(e.vfGhostNotes)for(const n of e.vfGhostNotes)this.vfVoices[t.VoiceId].addTickable(n);else this.vfVoices[t.VoiceId].addTickable(e.vfStaveNote)}}}}class StaffLineActivitySymbol extends GraphicalObject{constructor(e){super(),this.parentStaffLine=e;const t=e.PositionAndShape;this.boundingBox=new BoundingBox$1(this,t),this.boundingBox.BorderRight=6,this.boundingBox.BorderBottom=4.5,this.boundingBox.BorderLeft=-1.5,this.boundingBox.BorderTop=-1.5}}class StaffLine extends GraphicalObject{constructor(e,t){super(),this.measures=[],this.staffLines=new Array(5),this.octaveShifts=[],this.lyricLines=[],this.lyricsDashes=[],this.abstractExpressions=[],this.graphicalSlurs=[],this.graphicalGlissandi=[],this.Pedals=[],this.WavyLines=[],this.parentMusicSystem=e,this.parentStaff=t,this.boundingBox=new BoundingBox$1(this,e.PositionAndShape),this.skyBottomLine=MusicSheetCalculator.symbolFactory.createSkyBottomLineCalculator(this),this.staffHeight=this.parentMusicSystem.rules.StaffHeight,this.topLineOffset=0,this.bottomLineOffset=4,this.calculateStaffLineOffsets()}calculateStaffLineOffsets(){if(this.ParentStaff.isTab)if(5===this.ParentStaff.StafflineCount)this.staffHeight=this.bottomLineOffset=6*this.ParentStaff.ParentInstrument.GetMusicSheet.Rules.TabStaffInterlineHeight;else this.staffHeight=this.bottomLineOffset=this.ParentStaff.ParentInstrument.GetMusicSheet.Rules.TabStaffInterlineHeight*this.ParentStaff.StafflineCount;else switch(this.ParentStaff.StafflineCount){case 4:this.bottomLineOffset=1;break;case 3:this.topLineOffset=1,this.bottomLineOffset=1;break;case 2:this.topLineOffset=2,this.bottomLineOffset=1;break;case 1:this.topLineOffset=2,this.bottomLineOffset=2}}get Measures(){return this.measures}set Measures(e){this.measures=e}get StaffLines(){return this.staffLines}set StaffLines(e){this.staffLines=e}get Index(){return this.parentMusicSystem.StaffLines.indexOf(this)}get NextStaffLine(){const e=this.Index;return e!==this.parentMusicSystem.StaffLines.length?this.parentMusicSystem.StaffLines[e+1]:void 0}get LyricLines(){return this.lyricLines}get AbstractExpressions(){return this.abstractExpressions}set AbstractExpressions(e){this.abstractExpressions=e}set LyricLines(e){this.lyricLines=e}get LyricsDashes(){return this.lyricsDashes}set LyricsDashes(e){this.lyricsDashes=e}get ParentMusicSystem(){return this.parentMusicSystem}set ParentMusicSystem(e){this.parentMusicSystem=e}get ParentStaff(){return this.parentStaff}set ParentStaff(e){this.parentStaff=e}get SkyBottomLineCalculator(){return this.skyBottomLine}get SkyLine(){return this.skyBottomLine.SkyLine}get BottomLine(){return this.skyBottomLine.BottomLine}get OctaveShifts(){return this.octaveShifts}set OctaveShifts(e){this.octaveShifts=e}get StaffHeight(){return this.staffHeight}get TopLineOffset(){return this.topLineOffset}get BottomLineOffset(){return this.bottomLineOffset}get GraphicalSlurs(){return this.graphicalSlurs}get GraphicalGlissandi(){return this.graphicalGlissandi}addSlurToStaffline(e){this.graphicalSlurs.push(e)}addGlissandoToStaffline(e){this.graphicalGlissandi.push(e),e.StaffLine=this}addActivitySymbolClickArea(){const e=new StaffLineActivitySymbol(this),t=this.PositionAndShape;e.PositionAndShape.RelativePosition=new PointF2D(t.RelativePosition.x+t.BorderRight+.5,t.RelativePosition.y+.5),e.PositionAndShape.Parent=this.parentMusicSystem.PositionAndShape}isPartOfMultiStaffInstrument(){return this.parentStaff.ParentInstrument.Staves.length>1}findClosestStaffEntry(e){let t;for(let n=0,i=this.Measures.length;n<i;++n){const i=this.Measures[n];for(let n=0,r=i.staffEntries.length;n<r;++n){const r=i.staffEntries[n];Math.abs(r.PositionAndShape.RelativePosition.x-e+i.PositionAndShape.RelativePosition.x)<10&&(t=r)}}return t}}class VexFlowContinuousDynamicExpression extends GraphicalContinuousDynamicExpression{constructor(e,t,n,i){if(super(e,t,n),this.IsVerbal){const t=new Label(e.Label);this.label=new GraphicalLabel(t,i||this.rules.ContinuousDynamicTextHeight,TextAlignmentEnum.LeftCenter,this.rules,this.PositionAndShape),this.label.Label.fontStyle=FontStyles.Italic,this.label.setLabelPositionAndShapeBorders(),this.PositionAndShape.calculateBoundingBox()}}}class AlignmentManager{constructor(e){this.parentStaffline=e,this.rules=this.parentStaffline.ParentMusicSystem.rules}alignDynamicExpressions(){const e=[];let t=new Array;for(let s=0;s<this.parentStaffline.AbstractExpressions.length-1;s++){var n,i;const r=this.parentStaffline.AbstractExpressions[s],o=this.parentStaffline.AbstractExpressions[s+1];if((null==r||null===(n=r.SourceExpression)||void 0===n?void 0:n.Placement)===(null==o||null===(i=o.SourceExpression)||void 0===i?void 0:i.Placement)){const n=this.getDistance(r.PositionAndShape,o.PositionAndShape);Math.abs(n.x)<this.rules.DynamicExpressionMaxDistance?(-1===t.indexOf(r)&&t.push(r),t.push(o)):(e.push(t),t=new Array)}}e.push(t);for(const s of e)if(s.length>0){var r,o;const e=s.map((e=>e.PositionAndShape.Center.y)),t=Math.max(...e),n=(null===(r=window.GYM)||void 0===r?void 0:r.noNeedContinuousDynamic)||!1,i=(null===(o=window.GYM)||void 0===o?void 0:o.noNeedGraphicalContinuousDynamic)||!1;for(let r=0;r<s.length;r++){const o=s[r],a=e[r]-t;if(o instanceof VexFlowContinuousDynamicExpression?n||(o.shiftYPosition(-a),o.calcPsi()):(i||(o.PositionAndShape.RelativePosition.y-=.8*a),o.PositionAndShape.calculateBoundingBox()),!n&&o.squeeze){const e=r<s.length-1?s[r+1]:void 0,t=r>0?s[r-1]:void 0;if(e){const t=this.getOverlap(o.PositionAndShape,e.PositionAndShape);o.squeeze(-(t.x+this.rules.DynamicExpressionSpacer))}if(t){const e=this.getOverlap(t.PositionAndShape,o.PositionAndShape);o.squeeze(e.x+this.rules.DynamicExpressionSpacer)}}}}}getDistance(e,t){const n=e.RelativePosition.x+e.BorderMarginRight,i=t.RelativePosition.x+t.BorderMarginLeft,r=e.RelativePosition.y+e.BorderMarginBottom,o=t.RelativePosition.y+t.BorderMarginTop;return new PointF2D(i-n,o-r)}getOverlap(e,t){return new PointF2D(e.RelativePosition.x+e.BorderMarginRight-(t.RelativePosition.x+t.BorderMarginLeft),e.RelativePosition.y+e.BorderMarginBottom-(t.RelativePosition.y+t.BorderMarginTop))}}class VexFlowStaffLine extends StaffLine{constructor(e,t){super(e,t),this.slursInVFStaffLine=[],this.alignmentManager=new AlignmentManager(this)}get SlursInVFStaffLine(){return this.slursInVFStaffLine}addVFSlurToVFStaffline(e){this.slursInVFStaffLine.push(e)}get AlignmentManager(){return this.alignmentManager}}const VF$5=Vex.Flow;class VexFlowMultiRestMeasure extends VexFlowMeasure{constructor(e,t=undefined,n=undefined){super(e,t,n),this.minimumStaffEntriesWidth=-1,n?this.rules=n.ParentMusicSystem.rules:t&&(this.rules=t.Rules),this.resetLayout(),this.multiRestElement=new VF$5.MultiMeasureRest(t.multipleRestMeasures,{})}draw(e){var t,n,i,r,o;const s=e.openGroup();null==s||null===(t=s.classList)||void 0===t||t.add("vf-measure");const a=e.openGroup();null==a||null===(n=a.classList)||void 0===n||n.add("vf-stave"),null==a||a.setAttribute("id",null===(i=this.stave)||void 0===i||null===(r=i.attrs)||void 0===r?void 0:r.id),this.stave.setContext(e).draw(),e.closeGroup();const l=e.openGroup();null==l||null===(o=l.classList)||void 0===o||o.add("vf-voices"),this.multiRestElement.setStave(this.stave),this.multiRestElement.setContext(e),this.multiRestElement.draw(),e.closeGroup();for(const c of this.connectors)c.setContext(e).draw();return e.closeGroup(),s}format(){}getVoicesWithinMeasure(){return[]}getGraphicalVoiceEntriesPerVoice(e){return[]}getRestFilledVexFlowStaveNotesPerVoice(e){return[]}handleBeam(e,t){}handleTuplet(e,t){}finalizeBeams(){}finalizeTuplets(){}layoutStaffEntry(e){}graphicalMeasureCreatedCalculations(){}createArticulations(){}createOrnaments(){}createFingerings(e){}getVFStave(){return this.stave}}class SkyBottomLineCalculationResult{constructor(e,t){this.skyLine=e,this.bottomLine=t}}const VF$4=Vex.Flow;class CanvasVexFlowBackend extends VexFlowBackend{constructor(e){super(),this.rules=e}getVexflowBackendType(){return VF$4.Renderer.Backends.CANVAS}getOSMDBackendType(){return BackendType.Canvas}getCanvasSize(){var e;return null===(e=document.getElementById("osmdCanvasPage"+this.graphicalMusicPage.PageNumber))||void 0===e?void 0:e.offsetHeight}initialize(e,t){this.zoom=t,this.canvas=document.createElement("canvas"),this.graphicalMusicPage||(this.graphicalMusicPage=new GraphicalMusicPage(void 0),this.graphicalMusicPage.PageNumber=1),this.canvas.id="osmdCanvasVexFlowBackendCanvas"+this.graphicalMusicPage.PageNumber,this.inner=document.createElement("div"),this.inner.id="osmdCanvasPage"+this.graphicalMusicPage.PageNumber,this.inner.style.position="relative",this.canvas.style.zIndex="0",this.inner.appendChild(this.canvas),e.appendChild(this.inner),this.renderer=new VF$4.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext()}initializeHeadless(e=300,t=300){this.graphicalMusicPage||(this.graphicalMusicPage=new GraphicalMusicPage(void 0),this.graphicalMusicPage.PageNumber=1),this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=t,this.renderer=new VF$4.Renderer(this.canvas,this.getVexflowBackendType()),this.ctx=this.renderer.getContext()}getContext(){return this.ctx}free(){this.canvas&&(this.canvas.width=0,this.canvas.height=0,this.canvas.remove(),delete this.canvas,this.canvas=null)}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.rules.PageBackgroundColor&&(this.ctx.save(),this.ctx.setFillStyle(this.rules.PageBackgroundColor),this.zoom=1,this.ctx.fillRect(0,0,this.canvas.width/this.zoom,this.canvas.height/this.zoom),this.ctx.restore())}scale(e){this.ctx.scale(e,e)}translate(e,t){this.CanvasRenderingCtx.translate(e,t)}renderText(e,t,n,i,r,o,s=undefined,a=undefined){const l=this.CanvasRenderingCtx.font;this.CanvasRenderingCtx.save(),this.CanvasRenderingCtx.font=VexFlowConverter.font(e,t,n,this.rules,a),this.CanvasRenderingCtx.fillStyle=s,this.CanvasRenderingCtx.strokeStyle=s,this.CanvasRenderingCtx.fillText(i,o.x,o.y+r),this.CanvasRenderingCtx.restore(),this.CanvasRenderingCtx.font=l}renderRectangle(e,t,n,i=1){const r=this.CanvasRenderingCtx.fillStyle;this.CanvasRenderingCtx.fillStyle=n||VexFlowConverter.style(t),this.CanvasRenderingCtx.globalAlpha=i,this.ctx.fillRect(e.x,e.y,e.width,e.height),this.CanvasRenderingCtx.fillStyle=r,this.CanvasRenderingCtx.globalAlpha=1}renderLine(e,t,n="#FF0000FF",i=2,r){const o=this.CanvasRenderingCtx.strokeStyle;this.CanvasRenderingCtx.strokeStyle=n,this.CanvasRenderingCtx.beginPath(),this.CanvasRenderingCtx.moveTo(e.x,e.y),this.CanvasRenderingCtx.lineTo(t.x,t.y),this.CanvasRenderingCtx.stroke(),this.CanvasRenderingCtx.strokeStyle=o}renderCurve(e){this.ctx.beginPath(),this.ctx.moveTo(e[0].x,e[0].y),this.ctx.bezierCurveTo(e[1].x,e[1].y,e[2].x,e[2].y,e[3].x,e[3].y),this.ctx.lineTo(e[7].x,e[7].y),this.ctx.bezierCurveTo(e[6].x,e[6].y,e[5].x,e[5].y,e[4].x,e[4].y),this.ctx.lineTo(e[0].x,e[0].y),this.ctx.closePath(),this.ctx.fill()}renderPath(e,t=!0,n){let i;this.ctx.beginPath();for(const r of e)i?this.ctx.lineTo(r.x,r.y):(this.ctx.moveTo(r.x,r.y),i=r);this.ctx.closePath(),t?this.ctx.fill():this.ctx.stroke()}get CanvasRenderingCtx(){return this.ctx.vexFlowCanvasContext}}class SkyBottomLineCalculator{constructor(e){this.mStaffLineParent=e,this.mRules=e.ParentMusicSystem.rules}updateLines(e){const t=this.StaffLineParent.Measures;if(e.length!==t.length)if(loglevelExports.warn("SkyBottomLineCalculator: lengths of calculation result array and measure array do not match"),e.length<t.length)for(;e.length<t.length;)e.push(new SkyBottomLineCalculationResult([],[]));else e=e.slice(0,t.length);const n=Math.max(Math.ceil(this.StaffLineParent.PositionAndShape.Size.width*this.SamplingUnit),1);this.mSkyLine=[],this.mBottomLine=[];for(const{skyLine:l,bottomLine:c}of e)this.mSkyLine.push(...l),this.mBottomLine.push(...c);const i=this.mSkyLine.length/n,r=[],o=[];for(let l=0;l<this.mSkyLine.length&&r.length!==n;l+=i){const e=Math.min(this.mSkyLine.length,l+i);let t=this.mSkyLine.slice(l,e+1);r.push(Math.min(...t)),t=this.mBottomLine.slice(l,e+1),o.push(Math.max(...t))}this.mSkyLine=r,this.mBottomLine=o,this.mSkyLine.length!==n&&loglevelExports.debug(`SkyLine calculation was not correct (${this.mSkyLine.length} instead of ${n})`);const s=Math.max(...this.mSkyLine);this.mSkyLine=this.mSkyLine.map((e=>(e-s)/unitInPixels+this.StaffLineParent.TopLineOffset));const a=Math.min(...this.mBottomLine);this.mBottomLine=this.mBottomLine.map((e=>(e-a)/unitInPixels+this.StaffLineParent.BottomLineOffset))}calculateLines(){const e=Math.max(Math.ceil(this.StaffLineParent.PositionAndShape.Size.width*this.SamplingUnit),1);this.mSkyLine=[],this.mBottomLine=[];const t=new CanvasVexFlowBackend(this.StaffLineParent.ParentMusicSystem.rules);for(const s of this.StaffLineParent.Measures){s.PositionAndShape.calculateAbsolutePositionsRecursive(0,0);const e=s.getVFStave();let n=e.getWidth();if(n>0||s.IsExtraGraphicalMeasure||(loglevelExports.warn("SkyBottomLineCalculator: width not > 0 in measure "+s.MeasureNumber),n=50),!(n>=50)&&s.IsExtraGraphicalMeasure)continue;t.initializeHeadless(n);const i=t.getContext(),r=t.getCanvas();n=r.width;const a=r.height;"jianpu"===this.mRules.DYMusicScoreType?e.setY(e.y-50):e.setY(e.y+100);const l=e.getWidth();e.setWidth(n),s.format(),e.setWidth(l);try{s.draw(i)}catch(o){loglevelExports.warn("SkyBottomLineCalculator.calculateLines.draw",o)}const c=i.getImageData(0,0,n,a),u=4,h=Math.max(Math.ceil(s.PositionAndShape.Size.width*this.mRules.SamplingUnit),1),d=new Array(h),p=new Array(h);for(let t=0;t<n;t++){for(let e=0;e<a;e++){const i=e*n*u+t*u;if(c.data[i+3]>0){d[t]=e;break}}for(let e=a;e>0;e--){const i=e*n*u+t*u;if(c.data[i+3]>0){p[t]=e;break}}}for(let t=0;t<d.length;t++)void 0===d[t]&&(d[t]=Math.max(this.findPreviousValidNumber(t,d),this.findNextValidNumber(t,d)));for(let t=0;t<p.length;t++)void 0===p[t]&&(p[t]=Math.max(this.findPreviousValidNumber(t,p),this.findNextValidNumber(t,p)));this.mSkyLine.push(...d),this.mBottomLine.push(...p),t.clear()}const n=this.mSkyLine.length/e,i=[],r=[];for(let s=0;s<this.mSkyLine.length&&i.length!==e;s+=n){const e=Math.min(this.mSkyLine.length,s+n);let t=this.mSkyLine.slice(s,e+1);i.push(Math.min(...t)),t=this.mBottomLine.slice(s,e+1),r.push(Math.max(...t))}this.mSkyLine=i,this.mBottomLine=r,this.mSkyLine.length!==e&&loglevelExports.debug(`SkyLine calculation was not correct (${this.mSkyLine.length} instead of ${e})`),this.mSkyLine=this.mSkyLine.map((e=>(e-Math.max(...this.mSkyLine))/unitInPixels+this.StaffLineParent.TopLineOffset)),this.mBottomLine=this.mBottomLine.map((e=>(e-Math.min(...this.mBottomLine))/unitInPixels+this.StaffLineParent.BottomLineOffset))}updateSkyLineWithLine(e,t,n){const i=Math.floor(e.x*this.SamplingUnit),r=Math.ceil(t.x*this.SamplingUnit);for(let o=i+1;o<Math.min(r,this.SkyLine.length);o++)this.SkyLine[o]=n}updateSkyLineWithWedge(e,t){let n=Math.floor(e.x*this.SamplingUnit),i=Math.ceil(t.x*this.SamplingUnit),r=(t.y-e.y)/(t.x-e.x);i-n<=1&&(i++,r=0),n<0&&(n=0),n>=this.BottomLine.length&&(n=this.BottomLine.length-1),i<0&&(i=0),i>=this.BottomLine.length&&(i=this.BottomLine.length),this.SkyLine[n]=e.y;for(let o=n+1;o<Math.min(i,this.SkyLine.length);o++)this.SkyLine[o]=this.SkyLine[o-1]+r/this.SamplingUnit}updateBottomLineWithWedge(e,t){let n=Math.floor(e.x*this.SamplingUnit),i=Math.ceil(t.x*this.SamplingUnit),r=(t.y-e.y)/(t.x-e.x);i-n<=1&&(i++,r=0),n<0&&(n=0),n>=this.BottomLine.length&&(n=this.BottomLine.length-1),i<0&&(i=0),i>=this.BottomLine.length&&(i=this.BottomLine.length),this.BottomLine[n]=e.y;for(let o=n+1;o<i;o++)this.BottomLine[o]=this.BottomLine[o-1]+r/this.SamplingUnit}updateSkyLineInRange(e,t,n){this.updateInRange(this.mSkyLine,e,t,n)}updateBottomLineInRange(e,t,n){this.updateInRange(this.BottomLine,e,t,n)}resetSkyLineInRange(e,t){this.updateInRange(this.SkyLine,e,t)}resetBottomLineInRange(e,t){this.setInRange(this.BottomLine,e,t)}setSkyLineWithValue(e){this.SkyLine.forEach((t=>e))}setBottomLineWithValue(e){this.BottomLine.forEach((t=>e))}getLeftIndexForPointX(e,t){const n=Math.floor(e*this.SamplingUnit);return n<0?0:n>=t?t-1:n}getRightIndexForPointX(e,t){const n=Math.ceil(e*this.SamplingUnit);return n<0?0:n>=t?t-1:n}updateStaffLineBorders(){this.mStaffLineParent.PositionAndShape.BorderTop=this.getSkyLineMin(),this.mStaffLineParent.PositionAndShape.BorderMarginTop=this.getSkyLineMin(),this.mStaffLineParent.PositionAndShape.BorderBottom=this.getBottomLineMax(),this.mStaffLineParent.PositionAndShape.BorderMarginBottom=this.getBottomLineMax()}getSkyLineMin(){return Math.min(...this.SkyLine.filter((e=>!isNaN(e))))}getSkyLineMinAtPoint(e){const t=Math.round(e*this.SamplingUnit);return this.mSkyLine[t]}getSkyLineMinInRange(e,t){return this.getMinInRange(this.SkyLine,e,t)}getBottomLineMax(){return Math.max(...this.BottomLine.filter((e=>!isNaN(e))))}getBottomLineMaxAtPoint(e){const t=Math.round(e*this.SamplingUnit);return this.mBottomLine[t]}getBottomLineMaxInRange(e,t){return this.getMaxInRange(this.BottomLine,e,t)}getBottomLineMaxInBoundingBox(e){const t=Math.floor(e.AbsolutePosition.x+e.BorderLeft),n=Math.ceil(e.AbsolutePosition.x+e.BorderRight);return this.getMaxInRange(this.mBottomLine,t,n)}updateWithBoundingBoxRecursively(e){if(e.ChildElements&&e.ChildElements.length>0)for(const t of e.ChildElements)this.updateWithBoundingBoxRecursively(t);else{const t=e.BorderTop+e.AbsolutePosition.y,n=e.BorderBottom+e.AbsolutePosition.y;if(t<0){const n=Math.floor(e.AbsolutePosition.x+e.BorderLeft),i=Math.ceil(e.AbsolutePosition.x+e.BorderRight);this.updateInRange(this.mSkyLine,n,i,t)}else if(n>this.StaffLineParent.StaffHeight){const t=Math.floor(e.AbsolutePosition.x+e.BorderLeft),i=Math.ceil(e.AbsolutePosition.x+e.BorderRight);this.updateInRange(this.mBottomLine,t,i,n)}}}findPreviousValidNumber(e,t){for(let n=e;n>=0;n--)if(!isNaN(t[n]))return t[n];return 0}findNextValidNumber(e,t){if(e>=t.length)return t[e-1];for(let n=e;n<t.length;n++)if(!isNaN(t[n]))return t[n];return 0}drawPixel(e,t,n="#FF0000FF"){const i=t.getContext(),r=i.fillStyle;i.fillStyle=n,i.fillRect(e.x,e.y,2,2),i.fillStyle=r}updateInRange(e,t=0,n=e.length,i=0){if(t=Math.floor(t*this.SamplingUnit),(n=Math.ceil(n*this.SamplingUnit))<t)throw new Error("start index of line is greater than the end index");t<0&&(t=0),n>e.length&&(n=e.length);for(let r=t;r<n;r++)e[r]=Math.abs(i)>Math.abs(e[r])?i:e[r]}setInRange(e,t=0,n=e.length,i=0){if(t=Math.floor(t*this.SamplingUnit),(n=Math.ceil(n*this.SamplingUnit))<t)throw new Error("start index of line is greater then the end index");t<0&&(t=0),n>e.length&&(n=e.length);for(let r=t;r<n;r++)e[r]=i}getMinInRange(e,t,n){return t=Math.floor(t*this.SamplingUnit),n=Math.ceil(n*this.SamplingUnit),e?(t<0&&(t=0),t>=e.length&&(t=e.length-1),n<0&&(n=0),n>=e.length&&(n=e.length),t>=0&&n<=e.length?Math.min(...e.slice(t,n+1)):void 0):Number.MAX_VALUE}getMaxInRange(e,t,n){return t=Math.floor(t*this.SamplingUnit),n=Math.ceil(n*this.SamplingUnit),e?(t<0&&(t=0),t>=e.length&&(t=e.length-1),n<0&&(n=0),n>=e.length&&(n=e.length),t>=0&&n<=e.length?Math.max(...e.slice(t,n+1)):void 0):Number.MIN_VALUE}get SamplingUnit(){return this.mRules.SamplingUnit}get StaffLineParent(){return this.mStaffLineParent}get SkyLine(){return this.mSkyLine}get BottomLine(){return this.mBottomLine}}var parserExports$1={},parser$2={get exports(){return parserExports$1},set exports(e){parserExports$1=e}};
  28. /*!
  29. * d-path-parser - v1.0.0
  30. * by Massimo Artizzu (MaxArt2501)
  31. *
  32. * https://github.com/MaxArt2501/d-path-parser
  33. *
  34. * Licensed under the MIT License
  35. * See LICENSE for details
  36. */
  37. !function(e,t){e.exports=function(e){for(var t={command:/\s*([achlmqstvz])/gi,number:/\s*([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/gi,comma:/\s*(?:(,)|\s)/g,flag:/\s*([01])/g},n={number:function(e){return+u("number",e)},"coordinate pair":function(e){var t=u("number",e);return null!==t||e?(u("comma"),{x:+t,y:+u("number",!0)}):null},"arc definition":function(e){var t=n["coordinate pair"](e);if(!t&&!e)return null;u("comma");var i=+u("number",!0);u("comma",!0);var r=!!+u("flag",!0);u("comma");var o=!!+u("flag",!0);return u("comma"),{radii:t,rotation:i,large:r,clockwise:o,end:n["coordinate pair"](!0)}}},i=0,r=[];i<e.length;){var o,s=u("command"),a=s.toUpperCase(),l=s!==a;switch(a){case"M":o=h("coordinate pair").map((function(e,t){return 1===t&&(s=l?"l":"L"),c({end:e})}));break;case"L":case"T":o=h("coordinate pair").map((function(e){return c({end:e})}));break;case"C":if((o=h("coordinate pair")).length%3)throw Error("Expected coordinate pair triplet at position "+i);o=o.reduce((function(e,t,n){var i=n%3;return i?e[e.length-1][1===i?"cp2":"end"]=t:e.push(c({cp1:t})),e}),[]);break;case"Q":case"S":if(1&(o=h("coordinate pair")).length)throw Error("Expected coordinate pair couple at position "+i);o=o.reduce((function(e,t,n){return 1&n?e[e.length-1].end=t:e.push(c({cp:t})),e}),[]);break;case"H":case"V":o=h("number").map((function(e){return c({value:e})}));break;case"A":o=h("arc definition").map(c);break;case"Z":o=[{code:"Z"}]}r.push.apply(r,o)}return r;function c(e){return e.code=s,e.relative=l,e}function u(n,r){t[n].lastIndex=i;var o=t[n].exec(e);if(!o||o.index!==i){if(!r)return null;throw Error("Expected "+n+" at position "+i)}return i=t[n].lastIndex,o[1]}function h(e){for(var t,i=[],r=!0;t=n[e](r);)i.push(t),r=!!u("comma");return i}}}(parser$2);class SkyBottomLineCalculatorSVG extends SkyBottomLineCalculator{recursiveUpdate(e,t,n,i){const r=e.getBBox(),o=r.y/unitInPixels,s=r.height/unitInPixels+o,[a,l]=i;if(o<t.top||s>t.bottom)switch(e.tagName.toLowerCase()){case"g":for(const r of e.children)this.recursiveUpdate(r,t,n,i);break;case"circle":case"rect":case"line":case"path":let c=Math.floor((r.x-n.x)/unitInPixels*this.mRules.SamplingUnit);const u=c+Math.ceil(r.width/unitInPixels*this.mRules.SamplingUnit);if(e.parentElement.classList.contains("vf-beams")&&e.hasAttribute("d")){const t=parserExports$1(e.getAttribute("d"));if(5===t.length){const e=t[0],n=t[3],i=(n.end.y-e.end.y)/(n.end.x-e.end.x);let r=e.end.y/unitInPixels;for(;c<=u;c++)r<a[c]&&(a[c]=r),r>l[c]&&(l[c]=r),r+=i/this.mRules.SamplingUnit}}else for(;c<=u;c++)o<a[c]&&(a[c]=o),s>l[c]&&(l[c]=s)}}calculateLinesForMeasure(e,t){var n,i;const r=t.getBBox(),o=Math.max(Math.round(e.PositionAndShape.Size.width*this.mRules.SamplingUnit),1),s=r.height/unitInPixels,a=t.getElementsByClassName("vf-stave")[0].getBBox();let l=(null==a?void 0:a.height)/unitInPixels,c=(null==a?void 0:a.y)/unitInPixels;const u=e.getVFStave();let h=(null!==(n=u.options)&&void 0!==n&&n.num_lines?u.options.num_lines:5)-1,d=-1,p=0;const f=[h];for(const x of null===(m=u.options)||void 0===m?void 0:m.line_config){var m;x.visible?(-1===d&&(d=p),f.push(p)):h--,p++}-1===d&&(d=0),h=f.pop()-d;const g=null===(i=u.options)||void 0===i?void 0:i.spacing_between_lines_px,v=h*g/unitInPixels;l-v>.2&&(l=v,c=d*g/unitInPixels);const b=c+l,y=new Array(o).fill(c),A=new Array(o).fill(b),S=[y,A];if(s>l)for(const x of t.children)this.recursiveUpdate(x,{top:c,bottom:b},r,[y,A]);return S}calculateLines(){this.mSkyLine=[],this.mBottomLine=[];const e=document.createElement("div");document.body.append(e);const t=new SvgVexFlowBackend(this.mRules);t.initialize(e,1,"0");const n=t.getContext(),i=n.openGroup();i.classList.add("staffline");for(const r of this.StaffLineParent.Measures){r.PositionAndShape.calculateAbsolutePositionsRecursive(0,0),r.setAbsoluteCoordinates(r.PositionAndShape.AbsolutePosition.x*unitInPixels,r.PositionAndShape.AbsolutePosition.y*unitInPixels);const e=r.draw(n),[t,i]=this.calculateLinesForMeasure(r,e);this.mSkyLine.push(...t),this.mBottomLine.push(...i)}n.closeGroup();for(const r of i.getElementsByClassName("vf-ties"))for(const e of r.childNodes)if("path"===e.nodeName.toLowerCase()){const t=e.getBBox();let n=Math.floor(t.x/unitInPixels*this.mRules.SamplingUnit);const i=n+Math.ceil(t.width/unitInPixels*this.mRules.SamplingUnit),r=t.y/unitInPixels,o=t.height/unitInPixels+r;for(;n<=i;n++)r<this.mSkyLine[n]&&(this.mSkyLine[n]=r),o>this.mBottomLine[n]&&(this.mBottomLine[n]=o)}t.clear(),e.remove()}}const VF$3=Vex.Flow;class VexFlowGraphicalSymbolFactory{constructor(){this.hasBBox=!1;void 0!==document.createElementNS("http://www.w3.org/2000/svg","g").getBBox&&(this.hasBBox=!0)}createMusicSystem(e,t){return new VexFlowMusicSystem(e,t)}createStaffLine(e,t){return new VexFlowStaffLine(e,t)}createSkyBottomLineCalculator(e){return e.ParentMusicSystem.rules.PerformanceMode&&this.hasBBox?new SkyBottomLineCalculatorSVG(e):new SkyBottomLineCalculator(e)}createGraphicalMeasure(e,t,n=!1){return new VexFlowMeasure(t,e,void 0)}createMultiRestMeasure(e,t,n){return new VexFlowMultiRestMeasure(t,e,n)}createTabStaffMeasure(e,t){return new VexFlowTabMeasure(t,e)}createExtraGraphicalMeasure(e){const t=new VexFlowMeasure(e.ParentStaff,void 0,e);return t.IsExtraGraphicalMeasure=!0,t.ExtraGraphicalMeasurePreviousMeasure=e.Measures.last(),t}createStaffEntry(e,t){return new VexFlowStaffEntry(t,e,void 0)}createVoiceEntry(e,t){return new VexFlowVoiceEntry(e,t)}createNote(e,t,n,i=OctaveEnum.NONE,r,o=undefined){return new VexFlowGraphicalNote(e,t,n,i,r,o)}createGraceNote(e,t,n,i,r=OctaveEnum.NONE){return new VexFlowGraphicalNote(e,t,n,r,i)}addGraphicalAccidental(e,t){e.setAccidental(t)}addFermataAtTiedEndNote(e,t){}createInStaffClef(e,t){const n=e,i=VexFlowConverter.Clef(t,"small");n.vfClefBefore=new VF$3.ClefNote(i.type,i.size,i.annotation)}createChordSymbols(e,t,n,i){const r=t.parentMeasure.parentSourceMeasure.Rules;let o=0;const s=r.ChordSymbolXSpacing;for(const a of e.ChordContainers){let e=t.PositionAndShape;1===t.graphicalVoiceEntries.length&&1===t.graphicalVoiceEntries[0].notes.length&&t.graphicalVoiceEntries[0].notes[0].sourceNote.isWholeRest()&&(e=t.parentMeasure.PositionAndShape,o+=t.parentMeasure.beginInstructionsWidth,o+=r.ChordSymbolWholeMeasureRestXOffset);const l=new GraphicalChordSymbolContainer(a,e,r.ChordSymbolTextHeight,n,i,t.parentMeasure.parentSourceMeasure.Rules),c=l.GraphicalLabel;c.PositionAndShape.RelativePosition.y-=r.ChordSymbolYOffset,c.setLabelPositionAndShapeBorders();let u=0;c.PositionAndShape.Size.width<r.ChordSymbolExtraXShiftWidthThreshold&&(u=r.ChordSymbolExtraXShiftForShortChordSymbols),c.PositionAndShape.RelativePosition.x+=o+u,c.setLabelPositionAndShapeBorders(),l.PositionAndShape.calculateBoundingBox(),t.graphicalChordContainers.push(l),o+=c.PositionAndShape.Size.width+s}}createGraphicalTechnicalInstruction(e,t){}}class GraphicalTie{constructor(e,t=undefined,n=undefined){this.tie=e,this.startNote=t,this.endNote=n}get SVGElement(){return this.vfTie.getAttribute("el")}get GetTie(){return this.tie}get StartNote(){return this.startNote}get Tie(){return this.tie}set StartNote(e){this.startNote=e}get EndNote(){return this.endNote}set EndNote(e){this.endNote=e}}class GraphicalLyricEntry{constructor(e,t,n,i){this.lyricsEntry=e,this.graphicalStaffEntry=t;const r=t.parentMeasure.parentSourceMeasure.Rules.LyricsAlignmentStandard;e.Text.length>=4&&e.Parent.Notes[0].Length.Denominator>4&&TextAlignmentEnum.LeftBottom;const o=new Label(e.Text),s=this.graphicalStaffEntry.parentMeasure.parentSourceMeasure.Rules;this.graphicalLabel=new GraphicalLabel(o,n,r,s,t.PositionAndShape),this.graphicalLabel.Label.colorDefault=s.DefaultColorLyrics,this.graphicalLabel.PositionAndShape.RelativePosition=new PointF2D(0,i),this.graphicalLabel.setLabelPositionAndShapeBorders(),this.graphicalLabel.PositionAndShape.Size.width<s.LyricsExtraXShiftForShortLyricsWidthThreshold&&(this.graphicalLabel.PositionAndShape.RelativePosition.x+=s.LyricsExtraXShiftForShortLyrics,this.graphicalLabel.CenteringXShift=s.LyricsExtraXShiftForShortLyrics),r===TextAlignmentEnum.LeftBottom&&(this.graphicalLabel.PositionAndShape.RelativePosition.x-=1)}hasDashFromLyricWord(){if(!this.ParentLyricWord)return!1;const e=this.ParentLyricWord.GraphicalLyricsEntries.indexOf(this);return this.ParentLyricWord.GraphicalLyricsEntries.length>1&&e<this.ParentLyricWord.GraphicalLyricsEntries.length-1}get LyricsEntry(){return this.lyricsEntry}get ParentLyricWord(){return this.graphicalLyricWord}set ParentLyricWord(e){this.graphicalLyricWord=e}get GraphicalLabel(){return this.graphicalLabel}set GraphicalLabel(e){this.graphicalLabel=e}get StaffEntryParent(){return this.graphicalStaffEntry}set StaffEntryParent(e){this.graphicalStaffEntry=e}}class GraphicalLyricWord{constructor(e){this.graphicalLyricsEntries=[],this.lyricWord=e,this.initialize()}get GetLyricWord(){return this.lyricWord}get GraphicalLyricsEntries(){return this.graphicalLyricsEntries}set GraphicalLyricsEntries(e){this.graphicalLyricsEntries=e}isFilled(){for(let e=0;e<this.graphicalLyricsEntries.length;e++)if(!this.graphicalLyricsEntries[e])return!1;return!0}initialize(){for(let e=0;e<this.lyricWord.Syllables.length;e++)this.graphicalLyricsEntries.push(void 0)}}class GraphicalOctaveShift extends GraphicalObject{constructor(e,t){super(),this.getOctaveShift=e,this.setSymbol(),this.PositionAndShape=new BoundingBox$1(this,t)}setSymbol(){switch(this.getOctaveShift.Type){case OctaveEnum.VA8:this.octaveSymbol=MusicSymbol.VA8;break;case OctaveEnum.VB8:this.octaveSymbol=MusicSymbol.VB8;break;case OctaveEnum.MA15:this.octaveSymbol=MusicSymbol.MA15;break;case OctaveEnum.MB15:this.octaveSymbol=MusicSymbol.MB15;break;default:throw new ArgumentOutOfRangeException("")}}}const VF$2=Vex.Flow;class VexFlowOctaveShift extends GraphicalOctaveShift{constructor(e,t){switch(super(e,t),e.Type){case OctaveEnum.VA8:this.position=VF$2.TextBracket.Positions.TOP,this.supscript="va",this.text="8";break;case OctaveEnum.MA15:this.position=VF$2.TextBracket.Positions.TOP,this.supscript="ma",this.text="15";break;case OctaveEnum.VB8:this.position=VF$2.TextBracket.Positions.BOTTOM,this.supscript="vb",this.text="8";break;case OctaveEnum.MB15:this.position=VF$2.TextBracket.Positions.BOTTOM,this.supscript="mb",this.text="15";break;default:loglevelExports.error("Unknown or NONE octaveshift. This should not be called!")}}setStartNote(e){for(const t of e.graphicalVoiceEntries){const e=t;if(null!=e&&e.vfStaveNote)return this.startNote=e.vfStaveNote,!0}return!1}setEndNote(e){for(const n of e.graphicalVoiceEntries){const i=n;var t;if(null!=i&&i.vfStaveNote)return this.endNote=i.vfStaveNote,this.endMeasure=e.parentMeasure,null!==(t=this.endMeasure)&&void 0!==t&&t.parentSourceMeasure.Rules.OctaveShiftOnWholeMeasureNoteUntilEndOfMeasure&&i.notes[0].sourceNote.isWholeMeasureNote()&&(this.graphicalEndAtMeasureEnd=!0),!0}return!1}getTextBracket(){let e,t=this.endNote;const n=this;this.graphicalEndAtMeasureEnd&&(e={getAbsoluteX:()=>10*(n.endMeasure.PositionAndShape.AbsolutePosition.x+n.endMeasure.PositionAndShape.Size.width),getGlyph:()=>({getWidth:()=>0})}),e&&(t=e);const i=new VF$2.TextBracket({position:this.position,start:this.startNote,stop:t,superscript:this.supscript,text:this.text});return this.endsOnDifferentStaffLine&&(i.render_options.show_bracket=!1),i}}class VexFlowInstantaneousDynamicExpression extends GraphicalInstantaneousDynamicExpression{constructor(e,t,n){super(e,t,n);const i=new Label(this.Expression);this.label=new GraphicalLabel(i,this.rules.ContinuousDynamicTextHeight,TextAlignmentEnum.CenterCenter,this.rules,this.PositionAndShape),this.label.Label.fontStyle=FontStyles.BoldItalic,this.label.setLabelPositionAndShapeBorders(),this.PositionAndShape.calculateBoundingBox()}get InstantaneousDynamic(){return this.mInstantaneousDynamicExpression}get Expression(){return DynamicEnum[this.mInstantaneousDynamicExpression.DynEnum]}}const _GraphicalCurve=class{constructor(){_GraphicalCurve.tPow3=new Array(_GraphicalCurve.bezierCurveStepSize),_GraphicalCurve.oneMinusTPow3=new Array(_GraphicalCurve.bezierCurveStepSize),_GraphicalCurve.bezierFactorOne=new Array(_GraphicalCurve.bezierCurveStepSize),_GraphicalCurve.bezierFactorTwo=new Array(_GraphicalCurve.bezierCurveStepSize);for(let e=0;e<_GraphicalCurve.bezierCurveStepSize;e++){const t=e/_GraphicalCurve.bezierCurveStepSize;_GraphicalCurve.tPow3[e]=Math.pow(t,3),_GraphicalCurve.oneMinusTPow3[e]=Math.pow(1-t,3),_GraphicalCurve.bezierFactorOne[e]=3*Math.pow(1-t,2)*t,_GraphicalCurve.bezierFactorTwo[e]=3*(1-t)*Math.pow(t,2)}}calculateCurvePointAtIndex(e){const t=Math.round(e*_GraphicalCurve.bezierCurveStepSize);return t<0||t>=_GraphicalCurve.bezierCurveStepSize?new PointF2D:new PointF2D(_GraphicalCurve.oneMinusTPow3[t]*this.bezierStartPt.x+_GraphicalCurve.bezierFactorOne[t]*this.bezierStartControlPt.x+_GraphicalCurve.bezierFactorTwo[t]*this.bezierEndControlPt.x+_GraphicalCurve.tPow3[t]*this.bezierEndPt.x,_GraphicalCurve.oneMinusTPow3[t]*this.bezierStartPt.y+_GraphicalCurve.bezierFactorOne[t]*this.bezierStartControlPt.y+_GraphicalCurve.bezierFactorTwo[t]*this.bezierEndControlPt.y+_GraphicalCurve.tPow3[t]*this.bezierEndPt.y)}};let GraphicalCurve=_GraphicalCurve;GraphicalCurve.bezierCurveStepSize=1e3;const VF$1=Vex.Flow,_GraphicalSlur=class extends GraphicalCurve{constructor(e,t){super(),this.staffEntries=[],this.slur=e,this.rules=t}static Compare(e,t){if(e.staffEntries.length<1)return-1;if(t.staffEntries.length<1)return 1;const n=Fraction$1.minus(e.staffEntries[e.staffEntries.length-1].getAbsoluteTimestamp(),e.staffEntries[0].getAbsoluteTimestamp()),i=Fraction$1.minus(t.staffEntries[t.staffEntries.length-1].getAbsoluteTimestamp(),t.staffEntries[0].getAbsoluteTimestamp());return n.RealValue>i.RealValue?1:i.RealValue>n.RealValue?-1:0}calculateCurve(e){const t=this.staffEntries[0],n=this.staffEntries[this.staffEntries.length-1];let i=t.findGraphicalNoteFromNote(this.slur.StartNote);!i&&this.graceStart&&(i=t.findGraphicalNoteFromGraceNote(this.slur.StartNote)),i||(i=t.findEndTieGraphicalNoteFromNoteWithStartingSlur(this.slur.StartNote,this.slur));let r=n.findGraphicalNoteFromNote(this.slur.EndNote);!r&&this.graceEnd&&(r=n.findGraphicalNoteFromGraceNote(this.slur.EndNote));const o=t.parentMeasure.ParentStaffLine,s=o.SkyBottomLineCalculator;this.calculatePlacement(s,o);const a=this.calculateStartAndEnd(i,r,o,e,s),l=a.startX,c=a.endX;let u=a.startY,h=a.endY;const d=e.SlurTangentMinAngle,p=e.SlurTangentMaxAngle;let f;if(this.placement===PlacementEnum.Above){u-=e.SlurNoteHeadYOffset,h-=e.SlurNoteHeadYOffset;const t=new PointF2D(this.staffEntries[0].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[0].PositionAndShape.RelativePosition.x,u);i?t.x+=this.staffEntries[0].PositionAndShape.BorderRight:t.x=this.staffEntries[0].parentMeasure.beginInstructionsWidth,this.graceStart&&(t.x+=n.PositionAndShape.RelativePosition.x);const a=new PointF2D(this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].PositionAndShape.RelativePosition.x,h);if(r?a.x+=this.staffEntries[this.staffEntries.length-1].PositionAndShape.BorderLeft:a.x=this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.Size.width,this.graceEnd&&(a.x+=n.staffEntryParent.PositionAndShape.RelativePosition.x),f=this.calculateTopPoints(t,a,o,s),0===f.length){const e=new PointF2D((a.x-t.x)/2+t.x,(a.y-t.y)/2+t.y);f.push(e)}const m=Math.atan((h-u)/(c-l)),g=new PointF2D(0,0);let v=new PointF2D(c-l,-(h-u));const b=Matrix2D.getRotationMatrix(m),y=b.getTransposeMatrix();v=b.vectorMultiplication(v);const A=this.calculateTranslatedAndRotatedPointListAbove(f,l,u,b),S=this.calculateMaxLeftSlope(A,g,v),x=this.calculateMaxRightSlope(A,g,v),E=g.y-g.x*S,w=v.y-v.x*x,_=new PointF2D;let M=!1;Math.abs(Math.abs(S)-Math.abs(x))<1e-4?(_.x=v.x/2,_.y=0,M=!0):(_.x=(w-E)/(S-x),_.y=S*_.x+E);const P=this.calculateHeightWidthRatio(v.x,A),T=0,C=0;let I=d,k=-d;if(!M){const e=this.calculateAngles(d,S,x,p);I=e.startAngle,k=e.endAngle}const B=this.calculateControlPoints(v.x,I,k,A,P,u,h);let R=B.startControlPoint,L=B.endControlPoint;R=y.vectorMultiplication(R),R.x+=l,R.y=-R.y+u,L=y.vectorMultiplication(L),L.x+=l,L.y=-L.y+u,this.bezierStartPt=new PointF2D(l,u-T),this.bezierStartControlPt=new PointF2D(R.x,R.y-T),this.bezierEndControlPt=new PointF2D(L.x,L.y-C),this.bezierEndPt=new PointF2D(c,h-C);const D=o.SkyLine.length,N=s.getLeftIndexForPointX(this.bezierStartPt.x,D),F=s.getLeftIndexForPointX(this.bezierEndPt.x,D),O=this.bezierEndPt.x-this.bezierStartPt.x,V=s.SamplingUnit;for(let e=N;e<F;e++){const t=e/V-this.bezierStartPt.x,n=this.calculateCurvePointAtIndex(Math.abs(t)/O);let i=s.getLeftIndexForPointX(n.x,D);i>=N&&(o.SkyLine[i]=Math.min(o.SkyLine[i],n.y)),i++,i<D&&(o.SkyLine[i]=Math.min(o.SkyLine[i],n.y))}}else{u+=e.SlurNoteHeadYOffset,h+=e.SlurNoteHeadYOffset;const t=new PointF2D(this.staffEntries[0].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[0].PositionAndShape.RelativePosition.x,u);i?t.x+=this.staffEntries[0].PositionAndShape.BorderRight:t.x=this.staffEntries[0].parentMeasure.beginInstructionsWidth,this.graceStart&&(t.x+=n.PositionAndShape.RelativePosition.x);const a=new PointF2D(this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].PositionAndShape.RelativePosition.x,h);if(r?a.x+=this.staffEntries[this.staffEntries.length-1].PositionAndShape.BorderLeft:a.x=this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.RelativePosition.x+this.staffEntries[this.staffEntries.length-1].parentMeasure.PositionAndShape.Size.width,this.graceEnd&&(a.x+=n.staffEntryParent.PositionAndShape.RelativePosition.x),f=this.calculateBottomPoints(t,a,o,s),0===f.length){const e=new PointF2D((a.x-t.x)/2+t.x,(a.y-t.y)/2+t.y);f.push(e)}const m=Math.atan((h-u)/(c-l)),g=new PointF2D(0,0);let v=new PointF2D(c-l,h-u);const b=Matrix2D.getRotationMatrix(-m),y=b.getTransposeMatrix();v=b.vectorMultiplication(v);const A=this.calculateTranslatedAndRotatedPointListBelow(f,l,u,b),S=this.calculateMaxLeftSlope(A,g,v),x=this.calculateMaxRightSlope(A,g,v),E=g.y-g.x*S,w=v.y-v.x*x,_=new PointF2D;let M=!1;Math.abs(Math.abs(S)-Math.abs(x))<1e-4?(_.x=v.x/2,_.y=0,M=!0):(_.x=(w-E)/(S-x),_.y=S*_.x+E);const P=this.calculateHeightWidthRatio(v.x,A),T=0,C=0;let I=d,k=-d;if(!M){const e=this.calculateAngles(d,S,x,p);I=e.startAngle,k=e.endAngle}const B=this.calculateControlPoints(v.x,I,k,A,P,u,h);let R=B.startControlPoint,L=B.endControlPoint;R=y.vectorMultiplication(R),R.x+=l,R.y+=u,L=y.vectorMultiplication(L),L.x+=l,L.y+=u,this.bezierStartPt=new PointF2D(l,u+T),this.bezierStartControlPt=new PointF2D(R.x,R.y+T),this.bezierEndControlPt=new PointF2D(L.x,L.y+C),this.bezierEndPt=new PointF2D(c,h+C);const D=o.BottomLine.length,N=s.getLeftIndexForPointX(this.bezierStartPt.x,D),F=s.getLeftIndexForPointX(this.bezierEndPt.x,D),O=this.bezierEndPt.x-this.bezierStartPt.x,V=s.SamplingUnit;for(let e=N;e<F;e++){const t=e/V-this.bezierStartPt.x,n=this.calculateCurvePointAtIndex(Math.abs(t)/O);let i=s.getLeftIndexForPointX(n.x,D);i>=N&&(o.BottomLine[i]=Math.max(o.BottomLine[i],n.y)),i++,i<D&&(o.BottomLine[i]=Math.max(o.BottomLine[i],n.y))}}}calculateStartAndEnd(e,t,n,i,r){let o=0,s=0,a=0,l=0;if(e){o=e.PositionAndShape.RelativePosition.x+e.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+e.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x,this.graceStart&&(o+=e.parentVoiceEntry.parentStaffEntry.staffEntryParent.PositionAndShape.RelativePosition.x);const t=e.parentVoiceEntry;this.placement===PlacementEnum.Above?(s=t.PositionAndShape.RelativePosition.y+t.PositionAndShape.BorderTop,this.rules.SlurPlacementUseSkyBottomLine&&(s=Math.min(l,t.parentStaffEntry.getSkylineMin()))):(s=t.PositionAndShape.RelativePosition.y+t.PositionAndShape.BorderBottom,this.rules.SlurPlacementUseSkyBottomLine&&(s=Math.max(l,t.parentStaffEntry.getBottomlineMax()))),t.parentVoiceEntry.StemDirection===StemDirectionType.Down&&this.placement===PlacementEnum.Below&&(o-=.5),t.parentVoiceEntry.StemDirection===StemDirectionType.Up&&this.placement===PlacementEnum.Above&&(o+=.5)}else o=0;if(t){a=t.PositionAndShape.RelativePosition.x+t.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+t.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x,this.graceEnd&&(a+=t.parentVoiceEntry.parentStaffEntry.staffEntryParent.PositionAndShape.RelativePosition.x);const e=t.parentVoiceEntry;let n;for(const i of e.parentVoiceEntry.Articulations)if(n=i.placement,i.placement===PlacementEnum.NotYetDefined)for(const e of t.vfnote[0].modifiers)if(e.getCategory()===VF$1.Articulation.CATEGORY){e.position===VF$1.Modifier.Position.ABOVE?(i.placement=PlacementEnum.Above,n=PlacementEnum.Above):e.position===VF$1.Modifier.Position.BELOW&&(i.placement=PlacementEnum.Below,n=PlacementEnum.Below);break}this.placement===PlacementEnum.Above?(l=e.PositionAndShape.RelativePosition.y+e.PositionAndShape.BorderTop,this.rules.SlurPlacementUseSkyBottomLine&&(l=Math.min(l,e.parentStaffEntry.getSkylineMin())),n===PlacementEnum.Above&&(l-=this.rules.SlurEndArticulationYOffset)):(l=e.PositionAndShape.RelativePosition.y+e.PositionAndShape.BorderBottom,this.rules.SlurPlacementUseSkyBottomLine&&(l=Math.max(l,e.parentStaffEntry.getBottomlineMax())),n===PlacementEnum.Below&&(l+=this.rules.SlurEndArticulationYOffset)),e.parentVoiceEntry.StemDirection===StemDirectionType.Down&&this.placement===PlacementEnum.Below&&(a-=.5),e.parentVoiceEntry.StemDirection===StemDirectionType.Up&&this.placement===PlacementEnum.Above&&(a+=.5)}else a=n.PositionAndShape.Size.width;return e||t||(s=-1.5,l=-1.5),e||(s=this.placement===PlacementEnum.Above?l-1:l+1),t||(l=this.placement===PlacementEnum.Above?s-1:s+1),this.slur.startNoteHasMoreStartingSlurs()&&this.slur.isSlurLonger()&&(this.placement===PlacementEnum.Above?s-=i.SlursStartingAtSameStaffEntryYOffset:s+=i.SlursStartingAtSameStaffEntryYOffset),this.slur.endNoteHasMoreEndingSlurs()&&this.slur.isSlurLonger()&&(this.placement===PlacementEnum.Above?l-=i.SlursStartingAtSameStaffEntryYOffset:l+=i.SlursStartingAtSameStaffEntryYOffset),this.placement===PlacementEnum.Above?(s=Math.min(s,1.5),l=Math.min(l,1.5)):(s=Math.max(s,n.StaffHeight-1.5),l=Math.max(l,n.StaffHeight-1.5)),{startX:o,startY:s,endX:a,endY:l}}calculatePlacement(e,t){if(this.rules.SlurPlacementFromXML&&this.slur.PlacementXml!==PlacementEnum.NotYetDefined)return void(this.placement=this.slur.PlacementXml);for(let o=0,s=this.staffEntries.length;o<s;++o){if(this.staffEntries[o].parentMeasure.hasMultipleVoices())return void(this.slur.StartNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice||this.slur.EndNote.ParentVoiceEntry.ParentVoice instanceof LinkedVoice?this.placement=PlacementEnum.Below:this.placement=PlacementEnum.Above)}for(let o=0,s=this.staffEntries.length;o<s;++o){if(this.staffEntries[o].LyricsEntries.length>0)return void(this.placement=PlacementEnum.Above)}const n=this.staffEntries[0],i=this.staffEntries[this.staffEntries.length-1],r=n.graphicalVoiceEntries[0].parentVoiceEntry.StemDirection;if(r===i.graphicalVoiceEntries[0].parentVoiceEntry.StemDirection)this.placement=r===StemDirectionType.Up?PlacementEnum.Below:PlacementEnum.Above,this.rules.SlurPlacementAtStems&&(this.placement=r===StemDirectionType.Up?PlacementEnum.Above:PlacementEnum.Below);else{let r=n.PositionAndShape.BorderLeft+n.PositionAndShape.RelativePosition.x+n.parentMeasure.PositionAndShape.RelativePosition.x,o=i.PositionAndShape.BorderRight+i.PositionAndShape.RelativePosition.x+i.parentMeasure.PositionAndShape.RelativePosition.x;this.graceStart&&(r+=i.PositionAndShape.RelativePosition.x),this.graceEnd&&(o+=i.staffEntryParent.PositionAndShape.RelativePosition.x);const s=-1*e.getSkyLineMinInRange(r,o),a=e.getBottomLineMaxInRange(r,o)-t.StaffHeight;this.placement=a>s?PlacementEnum.Above:PlacementEnum.Below}}calculateTopPoints(e,t,n,i){const r=[];let o=i.getRightIndexForPointX(e.x,n.SkyLine.length),s=i.getLeftIndexForPointX(t.x,n.SkyLine.length);o<0&&(o=0),s>=n.SkyLine.length&&(s=n.SkyLine.length-1);for(let a=o;a<s;a++){const e=n.SkyLine[a];if(0!==e){const t=new PointF2D((.5+a)/i.SamplingUnit,e);r.push(t)}}return r}calculateBottomPoints(e,t,n,i){const r=[];let o=i.getRightIndexForPointX(e.x,n.BottomLine.length),s=i.getLeftIndexForPointX(t.x,n.BottomLine.length);o<0&&(o=0),s>=n.BottomLine.length&&(s=n.BottomLine.length-1);for(let a=o;a<s;a++){const e=n.BottomLine[a];if(0!==e){const t=new PointF2D((.5+a)/i.SamplingUnit,e);r.push(t)}}return r}calculateMaxLeftSlope(e,t,n){let i=-Number.MAX_VALUE;const r=t.x,o=t.y;for(let s=0;s<e.length;s++)Math.abs(e[s].y-Number.MAX_VALUE)<1e-4||Math.abs(e[s].y- -Number.MAX_VALUE)<1e-4||(i=Math.max(i,(e[s].y-o)/(e[s].x-r)));return i=Math.max(i,Math.abs(n.y-o)/(n.x-r)),i=Math.min(i,5.6713),i}calculateMaxRightSlope(e,t,n){let i=Number.MAX_VALUE;const r=n.x,o=n.y;for(let s=0;s<e.length;s++)Math.abs(e[s].y-Number.MAX_VALUE)<1e-4||Math.abs(e[s].y- -Number.MAX_VALUE)<1e-4||(i=Math.min(i,(o-e[s].y)/(r-e[s].x)));return i=Math.min(i,(o-t.y)/(r-t.x)),i=Math.max(i,-5.6713),i}getPointListMaxY(e){let t=-Number.MAX_VALUE;for(let n=0,i=e.length;n<i;++n){const i=e[n];Math.abs(i.y- -Number.MAX_VALUE)<1e-4||Math.abs(i.y-Number.MAX_VALUE)<1e-4||(t=Math.max(t,i.y))}return t}calculateTranslatedAndRotatedPointListAbove(e,t,n,i){const r=[];for(let o=0;o<e.length;o++){if(Math.abs(e[o].y-Number.MAX_VALUE)<1e-4||Math.abs(e[o].y- -Number.MAX_VALUE)<1e-4)continue;let s=new PointF2D(e[o].x-t,-(e[o].y-n));s=i.vectorMultiplication(s),r.push(s)}return r}calculateTranslatedAndRotatedPointListBelow(e,t,n,i){const r=[];for(let o=0;o<e.length;o++){if(Math.abs(e[o].y-Number.MAX_VALUE)<1e-4||Math.abs(e[o].y- -Number.MAX_VALUE)<1e-4)continue;let s=new PointF2D(e[o].x-t,e[o].y-n);s=i.vectorMultiplication(s),r.push(s)}return r}calculateHeightWidthRatio(e,t){if(0===t.length)return 0;return Math.max(0,this.getPointListMaxY(t))/e}calculateControlPoints(e,t,n,i,r,o,s){let a=this.rules.SlurHeightFactor,l=1;const c=this.rules.SlurHeightFlattenLongSlursCutoffAngle,u=this.rules.SlurHeightFlattenLongSlursCutoffWidth;t>c&&e>u&&(l+=e/70*this.rules.SlurHeightFlattenLongSlursFactorByWidth,l*=1+t/30*this.rules.SlurHeightFlattenLongSlursFactorByAngle,a/=l);const h=Math.min(.5,Math.max(.1,1.7*t/80*a*Math.pow(Math.max(r,.05),.4))),d=Math.min(.5,Math.max(.1,1.7*-n/80*a*Math.pow(Math.max(r,.05),.4))),p=new PointF2D;p.x=e*h*Math.cos(t*_GraphicalSlur.degreesToRadiansFactor),p.y=e*h*Math.sin(t*_GraphicalSlur.degreesToRadiansFactor);const f=new PointF2D;f.x=e-e*d*Math.cos(n*_GraphicalSlur.degreesToRadiansFactor),f.y=-e*d*Math.sin(n*_GraphicalSlur.degreesToRadiansFactor);let m=p.y-f.y;for(;this.rules.SlurMaximumYControlPointDistance&&Math.abs(m)>this.rules.SlurMaximumYControlPointDistance;)m<0?(p.y+=1,f.y-=1):(p.y-=1,f.y+=1),m=p.y-f.y;return{startControlPoint:p,endControlPoint:f}}calculateAngles(e,t,n,i){let r=Math.atan(t)/_GraphicalSlur.degreesToRadiansFactor;t>0?r+=20:r-=20;let o=Math.atan(n)/_GraphicalSlur.degreesToRadiansFactor;n<0?o-=20:o+=20;return{startAngle:Math.min(Math.max(e,r),i),endAngle:Math.max(Math.min(-e,o),-i)}}};let GraphicalSlur=_GraphicalSlur;GraphicalSlur.degreesToRadiansFactor=Math.PI/180;class VexflowStafflineNoteCalculator{constructor(e){this.staffPitchListMapping=new Dictionary,this.baseLineNote=NoteEnum.B,this.baseLineOctave=1,this.rules=e}trackNote(e){if(!(e instanceof VexFlowGraphicalNote)||e.Clef().ClefType!==ClefEnum.percussion||e.sourceNote.isRest()||0===this.rules.PercussionOneLineCutoff||-1===this.rules.PercussionForceVoicesOneLineCutoff)return;const t=e.parentVoiceEntry.parentStaffEntry.sourceStaffEntry.ParentStaff.idInMusicSheet;let n;this.staffPitchListMapping.containsKey(t)||this.staffPitchListMapping.setValue(t,new Array),n=this.staffPitchListMapping.getValue(t);const i=e.sourceNote.Pitch;VexflowStafflineNoteCalculator.findOrInsert(n,i)}static PitchIndexOf(e,t,n=0){if(n>e.length-1)return-1;for(let i=n;i<e.length;i++){const n=e[i];if(t.OperatorEquals(n))return i}return-1}static findOrInsert(e,t){for(let n=0;n<e.length;n++){const i=e[n];if(t.OperatorEquals(i))return n;if(t.OperatorFundamentalLessThan(i))return e.splice(n,0,t),n}return e.push(t),e.length-1}positionNote(e){const t=e.parentVoiceEntry.parentStaffEntry.sourceStaffEntry.ParentStaff.idInMusicSheet;if(!(e instanceof VexFlowGraphicalNote)||e.sourceNote.isRest()||!this.staffPitchListMapping.containsKey(t))return e;const n=this.staffPitchListMapping.getValue(t),i=this.rules.PercussionUseXMLDisplayStep&&void 0!==e.sourceNote.displayStepUnpitched;if(n.length>this.rules.PercussionOneLineCutoff&&!i&&!this.rules.PercussionUseCajon2NoteSystem)return e;const r=e,o=e.sourceNote.Pitch;let s=this.baseLineNote,a=this.baseLineOctave;if(this.rules.PercussionUseCajon2NoteSystem?o.FundamentalNote===NoteEnum.C&&(s=NoteEnum.G,a=1):this.rules.PercussionUseXMLDisplayStep&&void 0!==e.sourceNote.displayStepUnpitched&&(s=e.sourceNote.displayStepUnpitched,a=e.sourceNote.displayOctaveUnpitched+this.rules.PercussionOneLineXMLDisplayStepOctaveOffset),n.length<=this.rules.PercussionForceVoicesOneLineCutoff)r.setAccidental(new Pitch(s,a,o.Accidental));else{const e=VexflowStafflineNoteCalculator.PitchIndexOf(n,o);if(e>-1){const t=Math.ceil(n.length/2);if(!this.rules.PercussionUseXMLDisplayStep)if(e>=t)switch(a=2,(e-t)%5){case 1:s=NoteEnum.E;break;case 2:s=NoteEnum.G;break;case 3:s=NoteEnum.B;break;case 4:s=NoteEnum.D,a=3;break;default:s=NoteEnum.C}else switch(e%5){case 1:s=NoteEnum.F;break;case 2:s=NoteEnum.D;break;case 3:s=NoteEnum.B,a=0;break;case 4:s=NoteEnum.G,a=0;break;default:s=NoteEnum.A}const i=new Pitch(s,a,o.Accidental);r.setAccidental(i);const l=r.parentVoiceEntry.parentVoiceEntry;!this.rules.SetWantedStemDirectionByXml&&l.Notes.length<2&&(i.Octave>this.baseLineOctave||i.FundamentalNote===this.baseLineNote&&i.Octave===this.baseLineOctave?r.parentVoiceEntry.parentVoiceEntry.WantedStemDirection=StemDirectionType.Up:r.parentVoiceEntry.parentVoiceEntry.WantedStemDirection=StemDirectionType.Down)}}return r}getStafflineUniquePositionCount(e){return this.staffPitchListMapping.containsKey(e)?this.staffPitchListMapping.getValue(e).length:0}}class GraphicalPedal extends GraphicalObject{constructor(e,t){super(),this.getPedal=e,this.setSymbol(),this.PositionAndShape=new BoundingBox$1(this,t)}setSymbol(){!this.getPedal.IsLine&&this.getPedal.IsSign?this.pedalSymbol=MusicSymbol.PEDAL_SYMBOL:this.getPedal.IsLine&&this.getPedal.IsSign?this.pedalSymbol=MusicSymbol.PEDAL_MIXED:this.pedalSymbol=MusicSymbol.PEDAL_BRACKET}}class VexFlowPedal extends GraphicalPedal{constructor(e,t,n=!1,i=!1){switch(super(e,t),this.vfStyle=Vex.Flow.PedalMarking.Styles.BRACKET,this.ChangeBegin=!1,this.ChangeEnd=!1,this.line=-3,this.EndSymbolPositionAndShape=void 0,this.ChangeBegin=e.ChangeBegin,this.ChangeEnd=e.ChangeEnd,this.pedalSymbol){case MusicSymbol.PEDAL_SYMBOL:this.vfStyle=Vex.Flow.PedalMarking.Styles.TEXT,this.EndSymbolPositionAndShape=new BoundingBox$1(this,t);break;case MusicSymbol.PEDAL_MIXED:this.vfStyle=n&&i?Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BOTH:n?Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BEGIN:i?Vex.Flow.PedalMarking.Styles.MIXED_OPEN_END:Vex.Flow.PedalMarking.Styles.MIXED;break;case MusicSymbol.PEDAL_BRACKET:default:this.vfStyle=n&&i?Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BOTH:n?Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_BEGIN:i?Vex.Flow.PedalMarking.Styles.BRACKET_OPEN_END:Vex.Flow.PedalMarking.Styles.BRACKET}}setStartNote(e){if(!e)return!1;for(const t of e.graphicalVoiceEntries){const e=t;if(null!=e&&e.vfStaveNote)return this.startNote=e.vfStaveNote,this.startVfVoiceEntry=e,!0}return!1}setEndNote(e){if(!e)return!1;for(const t of e.graphicalVoiceEntries){const e=t;if(null!=e&&e.vfStaveNote)return this.endNote=e.vfStaveNote,this.endVfVoiceEntry=e,!0}return!1}setEndMeasure(e){this.endMeasure=e}CalculateBoundingBox(){}setLine(e){this.line=e}getPedalMarking(){const e=new Vex.Flow.PedalMarking([this.startNote,this.endNote]);return this.endMeasure&&e.setEndStave(this.endMeasure.getVFStave()),e.setStyle(this.vfStyle),e.setLine(this.line),e.setCustomText(this.DepressText,this.ReleaseText),this.endVfVoiceEntry&&!this.getPedal.EndsStave||(e.EndsStave=!0),this.getPedal.BeginsStave&&(e.BeginsStave=!0),e.ChangeBegin=this.ChangeBegin,e.ChangeEnd=this.ChangeEnd,e}setEndsStave(e,t){null!=t&&t.gte(e.parentSourceMeasure.Duration)&&(this.getPedal.EndsStave=!0)}setBeginsStave(e,t){e&&0===t.RealValue&&(this.getPedal.BeginsStave=!0)}}class GraphicalGlissando{constructor(e){this.Glissando=e,this.staffEntries=[]}calculateLine(e){const t=this.staffEntries[0],n=this.staffEntries[this.staffEntries.length-1],i=t.findGraphicalNoteFromNote(this.Glissando.StartNote),r=n.findGraphicalNoteFromNote(this.Glissando.EndNote);if(!i&&!r)return;const o=t.parentMeasure.ParentStaffLine;let s,a,l,c;if(i&&t.parentMeasure.ParentStaffLine===this.StaffLine)s=i.PositionAndShape.RelativePosition.x+i.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+i.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x+e.GlissandoNoteOffset,l=i.PositionAndShape.AbsolutePosition.y;else{s=n.parentMeasure.beginInstructionsWidth-.4;const t=this.Glissando.Direction===ColDirEnum.Down?-1:1;l=r.PositionAndShape.AbsolutePosition.y+t*e.GlissandoStafflineStartYDistanceToNote}if(r&&n.parentMeasure.ParentStaffLine===this.StaffLine)a=r.PositionAndShape.RelativePosition.x+r.parentVoiceEntry.parentStaffEntry.PositionAndShape.RelativePosition.x+r.parentVoiceEntry.parentStaffEntry.parentMeasure.PositionAndShape.RelativePosition.x-.5-e.GlissandoNoteOffset,s>a&&(s=a-e.GlissandoStafflineStartMinimumWidth),c=r.PositionAndShape.AbsolutePosition.y;else{if(o.Measures.last().parentSourceMeasure.HasEndLine)return;a=o.PositionAndShape.Size.width,a-s>e.GlissandoStafflineEndOffset&&(s=a-e.GlissandoStafflineEndOffset);const t=this.Glissando.Direction===ColDirEnum.Down?1:-1;c=i.PositionAndShape.AbsolutePosition.y+t*e.GlissandoStafflineStartYDistanceToNote}const u=new PointF2D(s,l),h=new PointF2D(a,c);void 0===this.Width&&(this.Width=e.GlissandoDefaultWidth),this.Line=new GraphicalLine(u,h,this.Width)}}class VexFlowGlissando extends GraphicalGlissando{}class GraphicalWavyLine extends GraphicalObject{constructor(e,t){super(),this.getWavyLine=e,this.PositionAndShape=new BoundingBox$1(this,t)}}class VexflowVibratoBracket extends GraphicalWavyLine{constructor(e,t,n=!1){super(e,t),this.line=1,this.isVibrato=!1,this.toEndOfStopStave=!1,this.isVibrato=n}get ToEndOfStopStave(){return this.toEndOfStopStave}setStartNote(e){for(const t of e.graphicalVoiceEntries){const e=t;if(null!=e&&e.vfStaveNote)return this.startNote=e.vfStaveNote,this.startVfVoiceEntry=e,!0}return!1}setEndNote(e){for(const t of e.graphicalVoiceEntries){const e=t;if(null!=e&&e.vfStaveNote){this.endNote=e.vfStaveNote,this.endVfVoiceEntry=e;const t=this.endVfVoiceEntry.parentStaffEntry.parentMeasure.staffEntries,n=t[t.length-1];return this.toEndOfStopStave=n===this.endVfVoiceEntry.parentStaffEntry,!0}}return!1}CalculateBoundingBox(){const e=this.getVibratoBracket();this.boundingBox.Size.height=.2*e.render_options.wave_height}getVibratoBracket(){const e=new Vex.Flow.VibratoBracket({start:this.startNote,stop:this.endNote,toEndOfStopStave:this.toEndOfStopStave});return e.setLine(this.line),this.isVibrato?e.render_options.vibrato_width=20:e.render_options.wave_girth=4,e}}const VF=Vex.Flow;class VexFlowMusicSheetCalculator extends MusicSheetCalculator{constructor(e){var t,n,i,r,o;if(super(),this.beamsNeedUpdate=!1,this.rules=e,MusicSheetCalculator.symbolFactory=new VexFlowGraphicalSymbolFactory,MusicSheetCalculator.TextMeasurer=new VexFlowTextMeasurer(this.rules),MusicSheetCalculator.stafflineNoteCalculator=new VexflowStafflineNoteCalculator(this.rules),"gonville"===(null===(t=this.rules.DefaultVexFlowNoteFont)||void 0===t?void 0:t.toLowerCase()))Vex.Flow.DEFAULT_FONT_STACK=[null===(i=Vex.Flow.Fonts)||void 0===i?void 0:i.Gonville,null===(r=Vex.Flow.Fonts)||void 0===r?void 0:r.Bravura,null===(o=Vex.Flow.Fonts)||void 0===o?void 0:o.Custom];else if("petaluma"===(null===(n=this.rules.DefaultVexFlowNoteFont)||void 0===n?void 0:n.toLowerCase())){var s,a,l;Vex.Flow.DEFAULT_FONT_STACK=[null===(s=Vex.Flow.Fonts)||void 0===s?void 0:s.Petaluma,null===(a=Vex.Flow.Fonts)||void 0===a?void 0:a.Gonville,null===(l=Vex.Flow.Fonts)||void 0===l?void 0:l.Bravura]}}clearRecreatedObjects(){super.clearRecreatedObjects(),MusicSheetCalculator.stafflineNoteCalculator=new VexflowStafflineNoteCalculator(this.rules);for(const e of this.graphicalMusicSheet.MeasureList)for(const t of e)null==t||t.clean()}formatMeasures(){for(const e of this.graphicalMusicSheet.MeasureList){if(!e||!e[0])continue;e.find((e=>null==e?void 0:e.isVisible())).format();for(const t of e){for(const e of t.staffEntries)e.calculateXPosition();t.finalizeBeams()}}this.beamsNeedUpdate=!1}calculateMeasureXLayout(e){const t=[];for(const l of e)null!=l&&l.isVisible()&&t.push(l);if(0===t.length)return 0;e=t;const n=[],i=new VF.Formatter({softmaxFactor:this.rules.SoftmaxFactorVexFlow});let r=e[0].staffEntries.length,o=1;for(const l of e){if(!l)continue;let e=0;for(const n of l.staffEntries)e+=n.setMaxAccidentals();l.parentSourceMeasure.ImplicitMeasure&&(r=Math.max(l.staffEntries.length,r),o=Math.max(l.staffEntries.length+e,o));const t=l.vfVoices,s=[];for(const i in t)if(t.hasOwnProperty(i)){const e=t[i];l.hasOnlyRests&&!e.ticksUsed.equals(e.totalTicks)&&(e.ticksUsed=e.totalTicks),s.push(e),n.push(e)}0!==s.length?i.joinVoices(s):loglevelExports.debug("Found a measure with no voices. Continuing anyway.",t)}let s=12;const a=e[0].parentSourceMeasure;if(n.length>0){if(s=i.preCalculateMinTotalWidth(n)/unitInPixels*this.rules.VoiceSpacingMultiplierVexflow+this.rules.VoiceSpacingAddendVexflow+.3*r,null!=a&&a.ImplicitMeasure){s=a.Duration.RealValue/a.ActiveTimeSignature.RealValue*s;let e=0;const t=a.measureListIndex;if(t>1)for(const n of this.graphicalMusicSheet.MeasureList[t-1]){const t=null==n?void 0:n.parentSourceMeasure.endingBarStyleEnum;if(t===SystemLinesEnum.ThinBold||t===SystemLinesEnum.DotsThinBold){e=this.rules.PickupMeasureRepetitionSpacing;break}}s+=e,r>1?s+=.3*o*1.5:t>1&&1===r&&(s+=this.rules.PickupMeasureSpacingSingleNoteAddend),s*=this.rules.PickupMeasureWidthMultiplier}MusicSheetCalculator.setMeasuresMinStaffEntriesWidth(e,s);const t=(e,t)=>{i.formatToStave(n,t.getVFStave())},l=(e,t)=>{i.formatToStave(n,t.getVFStave(),{align_rests:!0,context:void 0})};for(const n of e){if(this.rules.AlignRests===AlignRestOption.Never)n.formatVoices=t;else if(this.rules.AlignRests===AlignRestOption.Always)n.formatVoices=l;else if(this.rules.AlignRests===AlignRestOption.Auto){let e=!1;for(const t of n.staffEntries){let n=0,i=0;for(const r of t.graphicalVoiceEntries)if(r.parentVoiceEntry.IsGrace||r&&r.notes&&r.notes[0]&&r.notes[0].sourceNote&&r.notes[0].sourceNote.PrintObject&&n++,r&&r.notes&&r.notes[0]&&r.notes[0].sourceNote&&r.notes[0].sourceNote.isRest()&&r.notes[0].sourceNote.PrintObject&&i++,n>1&&i>=1){e=!0;break}if(e)break}n.formatVoices=e?l:t}if(n===e[0]){const e=n;e.formatVoices(s*unitInPixels,e)}}}for(const l of e)if(l)for(const e of l.staffEntries)e.calculateXPosition();for(const l of e){if(!l)continue;const e=l.vfVoices,t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);0!==t.length?i.joinVoices(t):loglevelExports.debug("Found a measure with no voices. Continuing anyway.",e)}return s}calculateElongationFactor(e,t,n,i,r,o,s,a){let l=r,c=0;for(const u of e){const e=u.GraphicalLabel.Label.textAlignment;let h=s,d=a;if(u instanceof GraphicalLyricEntry&&u.ParentLyricWord){u.LyricsEntry.SyllableIndex>0&&(h=this.rules.BetweenSyllableMinimumDistance,TextAlignment.IsCenterAligned(e)&&(h+=1));const t=u.ParentLyricWord.GetLyricWord.Syllables;t.length>1&&u.LyricsEntry.SyllableIndex<t.length-1&&(void 0===this.dashSpace&&(this.dashSpace=1.5),d-=this.dashSpace)}const p=u instanceof GraphicalLyricEntry?u.GraphicalLabel.PositionAndShape:u.PositionAndShape,f=p.Size.width;let m,g,v,b,y=t.PositionAndShape.RelativePosition.x+p.BorderLeft;u instanceof GraphicalChordSymbolContainer&&u.PositionAndShape.Parent.DataObject instanceof GraphicalMeasure&&(y=this.rules.ChordSymbolWholeMeasureRestXOffset+p.BorderMarginLeft+u.PositionAndShape.Parent.DataObject.beginInstructionsWidth),void 0!==n[c]&&n[c].extend,n[c]&&(g=y-n[c].xPosition);const A=i*r;TextAlignment.IsCenterAligned(e)?(d/=4,v=A-y,b=f/2-d,n[c]&&(m=n[c].labelWidth/2+f/2+h)):TextAlignment.IsLeft(e)&&(v=A-y,b=f-d,n[c]&&(m=n[c].labelWidth+h));let S=1;const x=b/v;let E=1;if(u instanceof GraphicalLyricEntry&&u.LyricsEntry){if(n[c]){E=m/g,n[c].sourceNoteDuration.Denominator>4&&(E*=1.1)}}else n[c]&&(E=m/g);S=Math.max(x,E),l=Math.max(l,S);let w=Math.max(m-g||0,0);n[c]&&(w+=n[c].cumulativeOverlap),n[c]={cumulativeOverlap:w,extend:u instanceof GraphicalLyricEntry&&u.LyricsEntry.extend,labelWidth:f,measureNumber:o,sourceNoteDuration:u instanceof GraphicalLyricEntry&&(u.LyricsEntry&&u.LyricsEntry.Parent.Notes[0].Length),text:u instanceof GraphicalLyricEntry?u.LyricsEntry.Text:u.GraphicalLabel.Label.text,xPosition:y},c++}return l}calculateElongationFactorFromStaffEntries(e,t,n,i){let r=n;const o={},s={};for(const a of e)a.LyricsEntries.length>0&&this.rules.RenderLyrics&&(r=this.calculateElongationFactor(a.LyricsEntries,a,o,t,r,i,this.rules.HorizontalBetweenLyricsDistance,this.rules.LyricOverlapAllowedIntoNextMeasure)),a.graphicalChordContainers.length>0&&this.rules.RenderChordSymbols&&(r=this.calculateElongationFactor(a.graphicalChordContainers,a,s,t,r,i,this.rules.ChordSymbolXSpacing,this.rules.ChordOverlapAllowedIntoNextMeasure));return r}calculateMeasureWidthFromStaffEntries(e,t){var n;let i=1;if(!(null===(n=window.GYM)||void 0===n?void 0:n.multitrack))for(const r of e)r&&0!==r.staffEntries.length&&(i=this.calculateElongationFactorFromStaffEntries(r.staffEntries,t,i,r.MeasureNumber),i=1);i=Math.min(i,this.rules.MaximumLyricsElongationFactor);return t*i}createGraphicalTie(e,t,n,i,r){return new GraphicalTie(e,i,r)}updateStaffLineBorders(e){e.SkyBottomLineCalculator.updateStaffLineBorders()}graphicalMeasureCreatedCalculations(e){e.rules=this.rules,e.graphicalMeasureCreatedCalculations()}layoutVoiceEntry(e,t,n,i){for(let r=0;r<t.length;r++)t[r]=MusicSheetCalculator.stafflineNoteCalculator.positionNote(t[r])}layoutStaffEntry(e){e.parentMeasure.layoutStaffEntry(e)}initGraphicalMeasuresCreation(){}layoutArticulationMarks(e,t,n){}layoutGraphicalTie(e,t,n){const i=e.StartNote,r=e.EndNote;let o,s,a=0;i&&i.vfnote&&i.vfnote.length>=2&&(o=i.vfnote[0],a=i.vfnote[1]);let l=0;if(r&&r.vfnote&&r.vfnote.length>=2&&(s=r.vfnote[0],l=r.vfnote[1]),t){if(o){const t=new VF.StaveTie({first_indices:[a],first_note:o}),n=i.parentVoiceEntry.parentStaffEntry.parentMeasure;if(s){var c,u,h;"w"===s.getDuration()&&(null===(c=s.keyProps)||void 0===c||null===(u=c[0])||void 0===u?void 0:u.line)>=3&&s.setStemDirection(-1);let e=(null===(h=window.GYM)||void 0===h?void 0:h.tieDirection)||0;var d,p;if(1===Math.abs(e))(null===(d=s.keyProps)||void 0===d||null===(p=d[0])||void 0===p?void 0:p.line)>=3?s.setStemDirection(-e):s.setStemDirection(e);null==t||t.setDirection(s.getStemDirection())}if(n.vfTies.length>0){const e=n.vfTies[0].direction;null==t||t.setDirection(e?-e:1)}n.addStaveTie(t,e)}if(s){const t=new VF.StaveTie({last_indices:[l],last_note:s}),n=r.parentVoiceEntry.parentStaffEntry.parentMeasure;if(n.vfTies.length>0){const e=n.vfTies[0].direction;null==t||t.setDirection(e?-e:1)}n.addStaveTie(t,e)}}else if(o||s){var f;let t;if(n)if("S"===e.Tie.Type){const n=e.StartNote.sourceNote,i=e.EndNote.sourceNote;let r=1;n.FretNumber>i.FretNumber&&(r=-1),t=new VF.TabSlide({first_indices:[a],first_note:o,last_indices:[l],last_note:s},r)}else t=new VF.TabTie({first_indices:[a],first_note:o,last_indices:[l],last_note:s},e.Tie.Type);else{t=new VF.StaveTie({first_indices:[a],first_note:o,last_indices:[l],last_note:s});const n=e.Tie.getTieDirection(i.sourceNote);n===PlacementEnum.Below?t.setDirection(1):n===PlacementEnum.Above&&t.setDirection(-1)}const c=r.parentVoiceEntry.parentStaffEntry.parentMeasure,u=(null===(f=window.GYM)||void 0===f?void 0:f.graceCustom)||!1;u&&t.setDirection(u.direction),c.addStaveTie(t,e)}}calculateDynamicExpressionsForMultiExpression(t,n,i){if(n<this.rules.MinMeasureToDrawIndex||n>this.rules.MaxMeasureToDrawIndex)return;const r=t.AbsoluteTimestamp,o=this.graphicalMusicSheet.MeasureList[n],s=o[i].ParentStaffLine,a=o[i];if(!s)return;const l=t.StartingContinuousDynamic,c=void 0!==l&&!l.IsStartOfSoftAccent,u=this.getRelativePositionInStaffLineFromTimestamp(r,i,s,null==s?void 0:s.isPartOfMultiStaffInstrument(),void 0,c);if(u.x<=0&&(u.x=a.beginInstructionsWidth+this.rules.RhythmRightMargin),t.InstantaneousDynamic){const e=new VexFlowInstantaneousDynamicExpression(t.InstantaneousDynamic,s,a);this.calculateGraphicalInstantaneousDynamicExpression(e,u,r),this.dynamicExpressionMap.set(r.RealValue,e.PositionAndShape)}if(l){const n=new VexFlowContinuousDynamicExpression(l,s,a.parentSourceMeasure);if(n.StartMeasure=a,n.IsSoftAccent=t.StartingContinuousDynamic.IsStartOfSoftAccent,!n.IsVerbal&&l.EndMultiExpression)try{this.calculateGraphicalContinuousDynamic(n,u),n.updateSkyBottomLine()}catch(e){}else n.IsVerbal?this.calculateGraphicalVerbalContinuousDynamic(n,u):loglevelExports.warn("This continuous dynamic is not covered. measure"+t.SourceMeasureParent.MeasureNumber)}}createMetronomeMark(e,t){var n,i,r,o,s;const a=Math.max(e.ParentMultiTempoExpression.SourceMeasureParent.MeasureNumber-1,0),l=t||a,c=Math.max(e.StaffNumber-1,0),u=this.graphicalMusicSheet.MeasureList[l][c].getVFStave();let h="q";if(e.beatUnit){const t=NoteTypeHandler.getNoteDurationFromType(e.beatUnit);h=VexFlowConverter.durations(t,!1)[0]}let d=this.rules.MetronomeMarkYShift,p=!1;const f=[];if(e.parentMeasure){for(const t of e.parentMeasure.StaffLinkedExpressions)for(const e of t)e&&e instanceof UnknownExpression&&f.push(e);for(const t of e.parentMeasure.TempoExpressions){var m;const n=(null===(m=t.InstantaneousTempo)||void 0===m?void 0:m.Enum)===TempoEnum.metronomeMark;if(!e.beatUnit&&t.InstantaneousTempo.beatUnit){const t=NoteTypeHandler.getNoteDurationFromType(e.beatUnit);h=VexFlowConverter.durations(t,!1)[0]}if(t.getPlacementOfFirstEntry()===PlacementEnum.Above&&!n){p=!0;break}}}p&&(d-=1.4);const g=null===(n=this.graphicalMusicSheet.MeasureList[0][0].ParentStaffLine)||void 0===n?void 0:n.SkyLine;let v=e.TempoInBpm,b="",y="",A="";for(const C of this.graphicalMusicSheet.MeasureList[l][c].parentSourceMeasure.TempoExpressions){if(y=C.CombinedExpressionsText,isSpecialMark(C.CombinedExpressionsText)){b=C.CombinedExpressionsText;break}if(isSpeedKeyword(C.CombinedExpressionsText)||isSpeedHiddenKeyword(C.CombinedExpressionsText)){b=formatSpeedKeyword(C.CombinedExpressionsText),v=C.sourceMeasure.TempoInBPM,isSpeedKeyword(C.CombinedExpressionsText)&&(A=h);break}}const S={bpm:e.TempoInBpm,dots:e.dotted,duration:h,name:b};b&&(S.bpm=v/(S.dots?1.5:1),isSpeedKeyword(y)?S.duration=A:v!==SpeedTag[b]&&SpeedTag[b]||(S.duration=""));const x=(null===(i=this.graphicalMusicSheet.MeasureList[l][c])||void 0===i||null===(r=i.vfVoices)||void 0===r||null===(o=r[1])||void 0===o||null===(s=o.boundingBox)||void 0===s?void 0:s.y)||0;if(this.rules.MetronomeMarksDrawn){if(g){var E,w;const e=(null===(E=this.graphicalMusicSheet.MeasureList[0])||void 0===E||null===(w=E[c])||void 0===w?void 0:w.ParentStaffLine).Measures.map((e=>e.MeasureNumber-1));if(x&&e.includes(l)&&(isSpeedKeyword(y)||isSpeedHiddenKeyword(y))){const e=g.slice(0,9);let t=Math.min(...e);t=t<0?t-1:t,d+=t}e.includes(l)&&f.length?g[0]=Math.min(g[0],-4.5+d-4):g[0]=Math.min(g[0],-4.5+d)}u.options.line_config.reduce(((e,t)=>(t.visible&&e++,e)),0)<5&&(d-=2),u.setTempo(S,d*unitInPixels);let t=0;try{var _,M,P;t+=(null===(_=this.graphicalMusicSheet.MeasureList[l][c])||void 0===_||null===(M=_.vfVoices)||void 0===M||null===(P=M[1])||void 0===P?void 0:P.getTickables())[e.parentMeasure.metronomeNoteIndex].getBoundingBox().getX()-u.getNoteStartX()}catch(T){}u.getModifiers()[u.getModifiers().length-1].setShiftX(t)}}calculateRehearsalMark(e){var t,n,i,r,o,s;const a=e.rehearsalExpression;if(!a)return;const l=null===(t=e.VerticalMeasureList)||void 0===t||null===(n=t[0])||void 0===n||null===(i=n.getVFStave)||void 0===i?void 0:i.call(n);if(!l)return;const c=-this.rules.RehearsalMarkYOffsetDefault-this.rules.RehearsalMarkYOffset;let u=this.rules.RehearsalMarkXOffsetDefault+this.rules.RehearsalMarkXOffset;e.IsSystemStartMeasure&&(u+=this.rules.RehearsalMarkXOffsetSystemStartMeasure);const h=this.rules.RehearsalMarkFontSize,d=l.getModifiers(),p=d.find((e=>"repetitions"===e.getCategory().toLocaleLowerCase()));if(p&&p.setShiftY(p.y_shift-10),l.setSection(a.label,c,u,h),null!==(r=e.VerticalMeasureList)&&void 0!==r&&null!==(o=r[0])&&void 0!==o&&null!==(s=o.ParentStaffLine)&&void 0!==s&&s.AbstractExpressions){const t=d.find((e=>"stavesection"===e.getCategory().toLocaleLowerCase()));for(let n of(null==e||null===(f=e.VerticalMeasureList)||void 0===f||null===(m=f[0])||void 0===m||null===(g=m.ParentStaffLine)||void 0===g?void 0:g.AbstractExpressions)||[]){var f,m,g;n instanceof GraphicalUnknownExpression&&(t&&(n.Label.PositionAndShape.RelativePosition.y-=.5),p&&(n.Label.PositionAndShape.RelativePosition.y-=1.7))}}}calculateSingleOctaveShift(e,t,n,i){var r;const o=t.OctaveShiftStart,s=o.ParentStartMultiExpression.Timestamp,a=null===(r=o.ParentEndMultiExpression)||void 0===r?void 0:r.Timestamp,l=this.rules.MinMeasureToDrawIndex,c=this.rules.MaxMeasureToDrawIndex;let u,h,d=this.graphicalMusicSheet.MeasureList[n][i].ParentStaffLine;if(d||(d=this.graphicalMusicSheet.MeasureList[l][i].ParentStaffLine),u=o.ParentEndMultiExpression?this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentEndMultiExpression.SourceMeasureParent,i):this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(i,!0),u.MeasureNumber>c+1&&(u=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(i,!0)),h=o.ParentEndMultiExpression?this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentStartMultiExpression.SourceMeasureParent,i):this.graphicalMusicSheet.MeasureList[l][i],h.MeasureNumber<l+1&&(h=this.graphicalMusicSheet.MeasureList[l][i]),h.parentSourceMeasure.measureListIndex<l||h.parentSourceMeasure.measureListIndex>c||u.parentSourceMeasure.measureListIndex<l||u.parentSourceMeasure.measureListIndex>c)return;let p=u.ParentStaffLine;if(p||(p=d),u&&d&&p){const e=new VexFlowOctaveShift(o,d.PositionAndShape);if(!e.startNote){let t;for(const e of h.staffEntries)if(e){t=e;break}if(!t)return;if(e.setStartNote(t),!e.startNote)return}if(!e.endNote){let t;for(let e=u.staffEntries.length-1;e>=0;e++)if(u.staffEntries[e]){t=u.staffEntries[e];break}if(!t)return void(e.graphicalEndAtMeasureEnd=!0);if(e.setEndNote(t),!e.endNote)return}let t=h.findGraphicalStaffEntryFromTimestamp(s);t||(t=h.staffEntries[0]);let n=u.findGraphicalStaffEntryFromTimestamp(a);if(n||(n=u.staffEntries[u.staffEntries.length-1]),e.setStartNote(t),p!==d){e.endsOnDifferentStaffLine=!0;let r=this.findLastStafflineMeasure(d);void 0===r&&(r=u);const s=r.staffEntries[r.staffEntries.length-1];e.setEndNote(s),e.graphicalEndAtMeasureEnd=!0,e.endMeasure=r;const a=p.ParentMusicSystem.Id-d.ParentMusicSystem.Id;if(a>0)for(let e=d.ParentMusicSystem.Id;e<p.ParentMusicSystem.Id;e++){const t=e+1,r=this.musicSystems[t];let s;for(const e of r.StaffLines)if(e.ParentStaff.idInMusicSheet===i){s=e;break}if(!s)continue;const l=s.Measures[0],c=new VexFlowOctaveShift(o,l.PositionAndShape);let h=this.findLastStafflineMeasure(s);e<a-1&&(c.endsOnDifferentStaffLine=!0,c.graphicalEndAtMeasureEnd=!0,c.endMeasure=h);const d=l.staffEntries[0];let p=h.staffEntries[h.staffEntries.length-1];u.ParentStaffLine===s&&(h=u,p=n),1===p.graphicalVoiceEntries.length&&1===p.graphicalVoiceEntries[0].notes.length&&p.graphicalVoiceEntries[0].notes[0].sourceNote.isWholeMeasureNote()&&(c.graphicalEndAtMeasureEnd=!0,c.endMeasure=h);const f="VexFlowMusicSheetCalculator.calculateSingleOctaveShift: ";d||loglevelExports.warn(f+"no firstNote found"),p||loglevelExports.warn(f+"no lastNote found"),c.setStartNote(d),c.setEndNote(p),s.OctaveShifts.push(c),this.calculateOctaveShiftSkyBottomLine(d,p,c,s)}this.calculateOctaveShiftSkyBottomLine(t,s,e,d)}else e.setEndNote(n),this.calculateOctaveShiftSkyBottomLine(t,n,e,d);d.OctaveShifts.push(e)}else loglevelExports.warn("End measure or staffLines for octave shift are undefined! This should not happen!")}findLastStafflineMeasure(e){for(let t=e.Measures.length-1;t>=0;t--){const n=e.Measures[t];if(n.staffEntries.length>0)return n}}calculateSinglePedal(e,t,n,i){var r;const o=t.PedalStart,s=o.ParentStartMultiExpression.Timestamp,a=null===(r=o.ParentEndMultiExpression)||void 0===r?void 0:r.Timestamp,l=this.rules.MinMeasureToDrawIndex,c=this.rules.MaxMeasureToDrawIndex;let u,h,d=this.graphicalMusicSheet.MeasureList[n][i].ParentStaffLine;if(d||(d=this.graphicalMusicSheet.MeasureList[l][i].ParentStaffLine),u=o.ParentEndMultiExpression?this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentEndMultiExpression.SourceMeasureParent,i):this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(i,!0),u||(u=o.ParentStartMultiExpression.SourceMeasureParent.VerticalMeasureList[i]),u.MeasureNumber>c+1&&(u=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(i,!0)),o.ParentEndMultiExpression?h=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentStartMultiExpression.SourceMeasureParent,i):(h=this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentStartMultiExpression.SourceMeasureParent,i),h||(h=this.graphicalMusicSheet.MeasureList[l][i])),h.MeasureNumber<l+1&&(h=this.graphicalMusicSheet.MeasureList[l][i]),h.parentSourceMeasure.measureListIndex<l||h.parentSourceMeasure.measureListIndex>c||u.parentSourceMeasure.measureListIndex<l||u.parentSourceMeasure.measureListIndex>c)return;let p=u.ParentStaffLine;if(p||(p=d),u&&d&&p){let e=!1;d!==p&&(e=!0);const t=new VexFlowPedal(o,d.PositionAndShape,!1,e);t.setEndsStave(u,a);let n=h.findGraphicalStaffEntryFromTimestamp(s);n||(n=h.staffEntries[0]);let r=u.findGraphicalStaffEntryFromTimestamp(a);if(r||(r=u.staffEntries[u.staffEntries.length-1]),!t.setStartNote(n))return;if(t.setBeginsStave(t.startNote.isRest(),s),p!==d)if(t.pedalSymbol===MusicSymbol.PEDAL_SYMBOL){t.setEndNote(r),t.setEndMeasure(u),t.ReleaseText=" ",t.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(t.startVfVoiceEntry,t.endVfVoiceEntry,t,d);const e=p.Measures[0],n=new VexFlowPedal(o,e.PositionAndShape);t.setEndsStave(u,a);const i=e.staffEntries[0];if(!n.setStartNote(i))return;n.setEndNote(r),n.setEndMeasure(u),t.setEndMeasure(u),p.Pedals.push(n),n.CalculateBoundingBox(),n.DepressText=" ",this.calculatePedalSkyBottomLine(n.startVfVoiceEntry,n.endVfVoiceEntry,n,p)}else{let e=this.findLastStafflineMeasure(d);void 0===e&&(e=u);const n=e.staffEntries[e.staffEntries.length-1];t.setEndNote(n),t.setEndMeasure(u),t.ChangeEnd=!1;const s=p.ParentMusicSystem.Id-d.ParentMusicSystem.Id;if(s>0){let e=1;for(let n=d.ParentMusicSystem.Id;n<p.ParentMusicSystem.Id;n++){const l=this.musicSystems[n+1].StaffLines[i],c=l.Measures[0];let h=!1,d=!1;e<s?h=!0:d=!0,e++;const p=new VexFlowPedal(o,c.PositionAndShape,!0,h);t.setEndsStave(u,a),p.ChangeBegin=!1,p.ChangeEnd=!!d&&o.ChangeEnd;let f=this.findLastStafflineMeasure(l);const m=c.staffEntries[0];let g=f.staffEntries[f.staffEntries.length-1];if(u.ParentStaffLine===l?(f=u,p.setEndMeasure(u),g=r):p.setEndMeasure(l.Measures.last()),!p.setStartNote(m))break;p.setEndNote(g),t.setEndMeasure(u),l.Pedals.push(p),p.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(p.startVfVoiceEntry,p.endVfVoiceEntry,p,l)}}t.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(t.startVfVoiceEntry,t.endVfVoiceEntry,t,d)}else t.setEndNote(r),t.setEndMeasure(u),t.CalculateBoundingBox(),this.calculatePedalSkyBottomLine(t.startVfVoiceEntry,t.endVfVoiceEntry,t,d);d.Pedals.push(t)}else loglevelExports.warn("End measure or staffLines for pedal are undefined! This should not happen!")}calculateSingleWavyLine(e,t,n,i){var r;const o=t.WavyLineStart,s=o.ParentStartMultiExpression.Timestamp,a=null===(r=o.ParentEndMultiExpression)||void 0===r?void 0:r.Timestamp,l=this.rules.MinMeasureToDrawIndex,c=this.rules.MaxMeasureToDrawIndex;let u,h,d=this.graphicalMusicSheet.MeasureList[n][i].ParentStaffLine;if(d||(d=this.graphicalMusicSheet.MeasureList[l][i].ParentStaffLine),u=o.ParentEndMultiExpression?this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentEndMultiExpression.SourceMeasureParent,i):this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(i,!0),u.MeasureNumber>c+1&&(u=this.graphicalMusicSheet.getLastGraphicalMeasureFromIndex(i,!0)),h=o.ParentEndMultiExpression?this.graphicalMusicSheet.getGraphicalMeasureFromSourceMeasureAndIndex(o.ParentStartMultiExpression.SourceMeasureParent,i):this.graphicalMusicSheet.MeasureList[l][i],h.MeasureNumber<l+1&&(h=this.graphicalMusicSheet.MeasureList[l][i]),h.parentSourceMeasure.measureListIndex<l||h.parentSourceMeasure.measureListIndex>c||u.parentSourceMeasure.measureListIndex<l||u.parentSourceMeasure.measureListIndex>c)return;let p=u.ParentStaffLine;if(p||(p=d),u&&d&&p){const e=new VexflowVibratoBracket(o,d.PositionAndShape,h.ParentStaff.isTab);let t=h.findGraphicalStaffEntryFromTimestamp(s);t||(t=h.staffEntries[0]);let n=u.findGraphicalStaffEntryFromTimestamp(a);if(n||(n=u.staffEntries[u.staffEntries.length-1]),e.setStartNote(t),p!==d){let t=d.Measures[d.Measures.length-1];void 0===t&&(t=u);const r=t.staffEntries[t.staffEntries.length-1];e.setEndNote(r);if(p.ParentMusicSystem.Id-d.ParentMusicSystem.Id>0)for(let e=d.ParentMusicSystem.Id;e<p.ParentMusicSystem.Id;e++){const t=this.musicSystems[e+1].StaffLines[i],r=t.Measures[0],s=new VexflowVibratoBracket(o,r.PositionAndShape,t.ParentStaff.isTab);let a=t.Measures[t.Measures.length-1];const l=r.staffEntries[0];let c=a.staffEntries[a.staffEntries.length-1];u.ParentStaffLine===t&&(a=u,c=n),s.setStartNote(l),s.setEndNote(c),t.WavyLines.push(s),s.CalculateBoundingBox(),this.calculateWavyLineSkyBottomLine(s.startVfVoiceEntry,s.endVfVoiceEntry,s,t)}e.CalculateBoundingBox(),this.calculateWavyLineSkyBottomLine(e.startVfVoiceEntry,e.endVfVoiceEntry,e,d)}else e.setEndNote(n),e.CalculateBoundingBox(),this.calculateWavyLineSkyBottomLine(e.startVfVoiceEntry,e.endVfVoiceEntry,e,d);d.WavyLines.push(e)}else loglevelExports.warn("End measure or staffLines for wavy line are undefined! This should not happen!")}calculateWavyLineSkyBottomLine(e,t,n,i){var r,o;const s=n.startNote.getStave(),a=n.endNote.getStave(),l=Math.max(s.options.top_text_position,a.options.top_text_position);s.options.top_text_position=l,a.options.top_text_position=l;let c=-l,u=0,h=0,d=1/0,p=1/0;let f,m=e.PositionAndShape.AbsolutePosition.x+e.PositionAndShape.BorderLeft;if((null===(r=e.parentVoiceEntry)||void 0===r||null===(o=r.OrnamentContainer)||void 0===o?void 0:o.GetOrnament)===OrnamentEnum.Trill&&(u=m,m+=2,h=m,d=i.SkyBottomLineCalculator.getSkyLineMinInRange(u,h),p=d+1.85),n.ToEndOfStopStave)f=t.parentStaffEntry.parentMeasure.PositionAndShape.AbsolutePosition.x+t.parentStaffEntry.parentMeasure.PositionAndShape.BorderRight-1;else{f=t.PositionAndShape.AbsolutePosition.x+t.PositionAndShape.BorderRight;const e=t.parentStaffEntry.vfClefBefore;if(e){f+=e.getWidth()/10}}c=i.SkyBottomLineCalculator.getSkyLineMinInRange(m,f),c!==1/0&&(c<d?(s.options.top_text_position=-c,a.options.top_text_position=-c,i.SkyBottomLineCalculator.updateSkyLineInRange(u,h,c-1.85)):(n.line=-p,c=p),c-=n.PositionAndShape.Size.height,i.SkyBottomLineCalculator.updateSkyLineInRange(m,f,c))}calculatePedalSkyBottomLine(e,t,n,i){let r=null==t?void 0:t.PositionAndShape;r||(r=n.endMeasure.PositionAndShape);const o=Vex.Flow.PedalMarking.Styles,s=n.getPedalMarking(),a=s.line+3+(i.StaffLines.length-1),l=s.render_options.text_margin_right/10;let c,u=e.PositionAndShape.AbsolutePosition.x-l;s.style!==o.MIXED&&s.style!==o.MIXED_OPEN_END&&s.style!==o.TEXT||(u-=1);let h=i.StaffLines.length-1;for(const g of i.Pedals){const e=g.getPedalMarking().line+3+(i.StaffLines.length-1);h=Math.max(e,h)}if(n.EndSymbolPositionAndShape){const e=s.render_options.glyph_point_size/20;c=u+3.4;const t=r.AbsolutePosition.x-l,o=t+1.5;h=Math.max(i.SkyBottomLineCalculator.getBottomLineMaxInRange(u,c),h),h=Math.max(a+2*e,h);const d=i.SkyBottomLineCalculator.getBottomLineMaxInRange(t,o);n.DepressText||(h=Math.max(h,d)),n.setLine(h-3-(i.StaffLines.length-1)),i.SkyBottomLineCalculator.updateBottomLineInRange(u,c,h+e),i.SkyBottomLineCalculator.updateBottomLineInRange(t,o,h+e)}else{var d;const e=s.render_options.bracket_height/10;if(s.EndsStave)c=t?t.parentStaffEntry.parentMeasure.PositionAndShape.AbsolutePosition.x+t.parentStaffEntry.parentMeasure.PositionAndShape.Size.width-l:r.AbsolutePosition.x+r.Size.width;else switch(s.style){case o.BRACKET_OPEN_END:case o.BRACKET_OPEN_BOTH:case o.MIXED_OPEN_END:c=r.AbsolutePosition.x+r.BorderRight-l;break;default:c=r.AbsolutePosition.x+r.BorderLeft-l}const p=null==t||null===(d=t.parentStaffEntry)||void 0===d?void 0:d.vfClefBefore;if(p){c+=p.getWidth()/10}if(h=Math.max(i.SkyBottomLineCalculator.getBottomLineMaxInRange(u,c),h),h===1/0)return;if(h=Math.max(h,a+e),n.setLine(h-3-(i.StaffLines.length-1)),u>c){const e=c;c=u,u=e}i.SkyBottomLineCalculator.updateBottomLineInRange(u,c,h+e)}for(const g of i.Pedals){const e=g,t=e.getPedalMarking();if(h>t.line+3+(i.StaffLines.length-1)){var p;const n=t.render_options.text_margin_right/10;let r,a=e.startVfVoiceEntry.PositionAndShape.AbsolutePosition.x-n;e.setLine(h-3-(i.StaffLines.length-1));let l=null===(p=e.endVfVoiceEntry)||void 0===p?void 0:p.PositionAndShape;if(l||(l=e.endMeasure.PositionAndShape),e.EndSymbolPositionAndShape){const e=s.render_options.glyph_point_size/20;r=a+3.4;const t=l.AbsolutePosition.x-n,o=t+1.5;i.SkyBottomLineCalculator.updateBottomLineInRange(a,r,h+e),i.SkyBottomLineCalculator.updateBottomLineInRange(t,o,h+e)}else{var f,m;const c=t.render_options.bracket_height/10;if(t.EndsStave)r=l.AbsolutePosition.x+l.Size.width-n;else switch(s.style){case o.BRACKET_OPEN_END:case o.BRACKET_OPEN_BOTH:case o.MIXED_OPEN_END:r=l.AbsolutePosition.x+l.BorderRight-n;break;default:r=l.AbsolutePosition.x+l.BorderLeft-n}const u=null===(f=e.endVfVoiceEntry)||void 0===f||null===(m=f.parentStaffEntry)||void 0===m?void 0:m.vfClefBefore;if(u){r+=u.getWidth()/10}if(a>r){const e=a;a=r,r=e}i.SkyBottomLineCalculator.updateBottomLineInRange(a,r,h+c)}}}}calculateOctaveShiftSkyBottomLine(e,t,n,i){if(!t)return void loglevelExports.warn("octaveshift: no endStaffEntry");let r=t.PositionAndShape;n.graphicalEndAtMeasureEnd&&(r=t.parentMeasure.PositionAndShape);let o=e.PositionAndShape.Size.width,s=r.Size.width;e.hasOnlyRests()?o=-o:o/=2,n.graphicalEndAtMeasureEnd||(t.hasOnlyRests()?s*=2:s/=2,e===t&&(s*=2));let a=e.PositionAndShape.AbsolutePosition.x-o,l=r.AbsolutePosition.x+s;if(a>l){const e=a;a=l,l=e}n.PositionAndShape.Size.width=l-a;const c=n.getTextBracket(),u=c.font.size/10;if(c.position===VF.TextBracket.Positions.TOP){const e=Math.ceil(i.SkyBottomLineCalculator.getSkyLineMinInRange(a,l));if(e===1/0)return;c.start.getStave().options.top_text_position=Math.abs(e),i.SkyBottomLineCalculator.updateSkyLineInRange(a,l,e-2*u)}else{const n=i.SkyBottomLineCalculator.getBottomLineMaxInRange(a,l);if(n===1/0)return;c.start.getStave().options.bottom_text_position=n,e.parentMeasure!==t.parentMeasure&&(c.stop.getStave().options.bottom_text_position=n),i.SkyBottomLineCalculator.updateBottomLineInRange(a,l,n+1.5*u)}}calculateWordRepetitionInstruction(e,t){let n;const i=this.graphicalMusicSheet.MeasureList[t];for(let r=0,o=i.length;r<o;++r){const e=i[r];if(e&&e.ParentStaffLine&&e.ParentStaff.ParentInstrument.Visible){n=e;break}}n&&n.addWordRepetition(e)}calculateSkyBottomLines(){const e=CollectionUtil.flat(this.musicSystems.map((e=>e.StaffLines)));let t=0;for(const n of e)for(const e of n.Measures)e&&t++;this.rules.AlwaysSetPreferredSkyBottomLineBackendAutomatically&&this.rules.setPreferredSkyBottomLineBackendAutomatically(t);for(const n of e)n.SkyBottomLineCalculator.calculateLines()}calculateExpressionAlignements(){for(const t of this.musicSystems)for(const n of t.StaffLines)try{n.AlignmentManager.alignDynamicExpressions(),n.AbstractExpressions.forEach((e=>{e.updateSkyBottomLine()}))}catch(e){}}handleTiedGraphicalNote(e,t,n,i,r,o,s,a){}handleBeam(e,t,n){e.parentVoiceEntry.parentStaffEntry.parentMeasure.handleBeam(e,t)}handleVoiceEntryLyrics(e,t,n){e.LyricsEntries.forEach(((e,i)=>{const r=new GraphicalLyricEntry(i,t,this.rules.LyricsHeight,this.rules.StaffHeight);t.LyricsEntries.push(r);if(r.GraphicalLabel.setLabelPositionAndShapeBorders(),i.Word){const e=i.Word.Syllables.indexOf(i);let t=n.indexOf(i.Word);if(-1===t&&(n.push(i.Word),t=n.indexOf(i.Word)),0===this.graphicalLyricWords.length||t>this.graphicalLyricWords.length-1){const t=new GraphicalLyricWord(i.Word);r.ParentLyricWord=t,t.GraphicalLyricsEntries[e]=r,this.graphicalLyricWords.push(t)}else{const i=this.graphicalLyricWords[t];r.ParentLyricWord=i,i.GraphicalLyricsEntries[e]=r,i.isFilled()&&(n.splice(t,1),this.graphicalLyricWords.splice(this.graphicalLyricWords.indexOf(i),1))}}}))}handleVoiceEntryOrnaments(e,t,n){}handleVoiceEntryArticulations(e,t,n){}handleVoiceEntryTechnicalInstructions(e,t,n){}handleTuplet(e,t,n){e.parentVoiceEntry.parentStaffEntry.parentMeasure.handleTuplet(e,t)}findIndexGraphicalSlurFromSlur(e,t){for(let n=0;n<e.length;n++)if(e[n].slur===t)return n;return-1}indexOfGraphicalGlissFromGliss(e,t){for(let n=0;n<e.length;n++)if(e[n].Glissando===t)return n;return-1}calculateSlurs(){const e={};for(const t of this.graphicalMusicSheet.MeasureList[0])e[t.ParentStaff.idInMusicSheet]=[];for(const t of this.musicSystems)for(const n of t.StaffLines){const t=e[n.ParentStaff.idInMusicSheet];for(let e=0;e<t.length;e++){const i=t[e],r=new GraphicalSlur(i.slur,this.rules);n.addSlurToStaffline(r),t[e]=r}for(const e of n.Measures)for(const i of e.staffEntries){for(const e of i.graphicalVoiceEntries)for(const r of e.notes)for(const e of r.sourceNote.NoteSlurs)if(e.EndNote&&e.StartNote){if(e.StartNote===r.sourceNote){const i=new GraphicalSlur(e,this.rules);t.push(i),n.addSlurToStaffline(i)}if(e.EndNote===r.sourceNote){const n=this.findIndexGraphicalSlurFromSlur(t,e);if(n>=0){const e=t[n];-1===e.staffEntries.indexOf(i)&&e.staffEntries.push(i),t.splice(n,1)}}}for(const e of t)-1===e.staffEntries.indexOf(i)&&e.staffEntries.push(i)}}for(const t of this.musicSystems)for(const e of t.StaffLines){const t=e.GraphicalSlurs.sort(GraphicalSlur.Compare);for(const e of t)e.slur.isCrossed()||e.calculateCurve(this.rules)}}calculateGlissandi(){const e={};for(const t of this.graphicalMusicSheet.MeasureList[0])e[t.ParentStaff.idInMusicSheet]=[];for(const t of this.musicSystems)for(const n of t.StaffLines){const t=e[n.ParentStaff.idInMusicSheet];for(let e=0;e<t.length;e++){const i=t[e],r=new VexFlowGlissando(i.Glissando);n.addGlissandoToStaffline(r),t[e]=r}for(const e of n.Measures)for(const i of e.staffEntries){for(const e of i.graphicalVoiceEntries)for(const r of e.notes){const e=r.sourceNote.NoteGlissando;if(null!=e&&e.EndNote&&null!=e&&e.StartNote){if(e.StartNote===r.sourceNote){const i=new VexFlowGlissando(e);t.push(i),n.addGlissandoToStaffline(i)}if(e.EndNote===r.sourceNote){const n=this.indexOfGraphicalGlissFromGliss(t,e);if(n>=0){const e=t[n];-1===e.staffEntries.indexOf(i)&&e.staffEntries.push(i),t.splice(n,1)}}}}for(const e of t)-1===e.staffEntries.indexOf(i)&&e.staffEntries.push(i)}}for(const t of this.musicSystems)for(const e of t.StaffLines)for(const t of e.GraphicalGlissandi){if(e.ParentStaff.isTab){const e=t.Glissando.StartNote,n=t.Glissando.EndNote,i=t.staffEntries[0].findGraphicalNoteFromNote(e),r=t.staffEntries.last().findGraphicalNoteFromNote(n);if(!i&&!r)return;let o,s,a,l,c=1;e.FretNumber>n.FretNumber&&(c=-1),i&&i.vfnote&&i.vfnote.length>=2&&(a=i.vfnote[0],o=[0]),r&&r.vfnote&&r.vfnote.length>=2&&(l=r.vfnote[0],s=[0]);const u=new VF.TabSlide({first_indices:o,first_note:a,last_indices:s,last_note:l},c),h=null==i?void 0:i.parentVoiceEntry.parentStaffEntry.parentMeasure;h&&(h.vfTies.push(u),t.vfTie=u);const d=null==r?void 0:r.parentVoiceEntry.parentStaffEntry.parentMeasure;d&&(d.vfTies.push(u),t.vfTie=u)}}}}class MusicPartManager{constructor(e){this.musicSheet=e}reInit(){this.init()}init(){this.parts=this.musicSheet.Repetitions.slice(),this.sheetStart=this.musicSheet.SelectionStart=new Fraction$1(0,1),this.sheetEnd=this.musicSheet.SelectionEnd=this.musicSheet.SheetEndTimestamp,this.calcMapping()}getCurrentRepetitionTimestampTransform(e){let t;for(let n=this.timestamps.length-1;n>=0;n--)if(t=this.timestamps[n],e.gte(t.from))return t;return this.timestamps[0]}absoluteEnrolledToSheetTimestamp(e){if(0===this.timestamps.length)return e;const t=this.getCurrentRepetitionTimestampTransform(e);return Fraction$1.plus(e,Fraction$1.minus(t.to,t.from))}get Parts(){return this.parts}get MusicSheet(){return this.musicSheet}getIterator(e){return e?new MusicPartManagerIterator(this.musicSheet,e,void 0):new MusicPartManagerIterator(this.musicSheet,this.musicSheet.SelectionStart,this.musicSheet.SelectionEnd)}setSelectionStart(e){this.musicSheet.SelectionStart=e,this.musicSheet.SelectionEnd=void 0}setSelectionRange(e,t){this.musicSheet.SelectionStart=null!=e?e:this.sheetStart,this.musicSheet.SelectionEnd=null!=t?t:this.sheetEnd}calcMapping(){this.timestamps=[];const e=this.getIterator();let t=e.CurrentRepetition,n=new TimestampTransform(e.CurrentEnrolledTimestamp.clone(),e.CurrentSourceTimestamp.clone(),void 0,0);for(this.timestamps.push(n);!e.EndReached;){if(e.JumpOccurred||t!==e.CurrentRepetition){if(t=e.CurrentRepetition,e.backJumpOccurred){const t=e.JumpResponsibleRepetition;n.nextBackJump=e.CurrentEnrolledTimestamp,n.curRepetition=t,n.curRepetitionIteration=e.CurrentJumpResponsibleRepetitionIterationBeforeJump;for(let e=this.timestamps.length-2;e>=0&&(!t.AbsoluteTimestamp.gt(this.timestamps[e].to)&&!this.timestamps[e].curRepetition);e--)this.timestamps[e].nextBackJump=n.nextBackJump,this.timestamps[e].curRepetition=t,this.timestamps[e].curRepetitionIteration=n.curRepetitionIteration}n=new TimestampTransform(e.CurrentEnrolledTimestamp.clone(),e.CurrentSourceTimestamp.clone(),void 0,0),this.timestamps.push(n)}e.moveToNext()}}}class TimestampTransform{constructor(e,t,n,i){this.from=e,this.to=t,this.curRepetition=n,this.curRepetitionIteration=i,this.nextBackJump=void 0,this.nextForwardJump=void 0}}class PartListEntry{constructor(e){this.enrolledTimestamps=[],this.visible=!0,this.musicSheet=e}get Visible(){return this.visible}set Visible(e){this.visible=e}getFirstSourceMeasure(){return this.musicSheet.SourceMeasures[this.startIndex]}getLastSourceMeasure(){return this.musicSheet.SourceMeasures[this.endIndex]}}class SourceMusicPart extends PartListEntry{constructor(e,t,n){super(e),this.musicSheet=e,this.startIndex=t,this.endIndex=n}get MeasuresCount(){return this.endIndex-this.startIndex+1}get StartIndex(){return this.startIndex}get EndIndex(){return this.endIndex}get ParentRepetition(){return this.parentRepetition}set ParentRepetition(e){this.parentRepetition=e}get AbsoluteTimestamp(){return Fraction$1.createFromFraction(this.musicSheet.SourceMeasures[this.startIndex].AbsoluteTimestamp)}setStartIndex(e){this.startIndex=e}setEndIndex(e){this.endIndex=e}}class Repetition extends PartListEntry{constructor(e,t=!1){super(e),this.backwardJumpInstructions=[],this.endingParts=[],this.endingIndexDict={},this.userNumberOfRepetitions=0,this.visibles=[],this.fromWords=!1,this.repetitonIterationOrder=[],this.numberOfEndings=1,this.musicSheet2=e,this.virtualOverallRepetition=t}get BackwardJumpInstructions(){return this.backwardJumpInstructions}get EndingIndexDict(){return this.endingIndexDict}get EndingParts(){return this.endingParts}get Visibles(){return this.visibles}set Visibles(e){this.visibles=e}get DefaultNumberOfRepetitions(){let e=2;return this.virtualOverallRepetition&&(e=1),Math.max(e,Object.keys(this.endingIndexDict).length,this.checkRepetitionForMultipleLyricVerses())}get UserNumberOfRepetitions(){return this.userNumberOfRepetitions}set UserNumberOfRepetitions(e){this.userNumberOfRepetitions=e,this.repetitonIterationOrder=[];const t=this.userNumberOfRepetitions-this.NumberOfEndings;for(let n=1;n<=this.userNumberOfRepetitions;n++)n<=t?this.repetitonIterationOrder.push(1):this.repetitonIterationOrder.push(n-t)}getForwardJumpTargetForIteration(e){const t=this.repetitonIterationOrder[e-1];return this.endingIndexDict[t]?this.endingIndexDict[t].part.StartIndex:-1}getBackwardJumpTarget(){return this.startMarker.measureIndex}setEndingsStartIndex(e,t){const n=new RepetitionEndingPart(new SourceMusicPart(this.musicSheet2,t,t));this.endingParts.push(n);for(const i of e)try{this.endingIndexDict[i]=n,n.endingIndices.push(i),this.numberOfEndings<i&&(this.numberOfEndings=i)}catch(err){loglevelExports.error("Repetition: Exception.",err)}}setEndingStartIndex(e,t){const n=new RepetitionEndingPart(new SourceMusicPart(this.musicSheet2,t,t));this.EndingIndexDict[e]=n,this.endingParts.push(n),n.endingIndices.push(e),this.numberOfEndings<e&&(this.numberOfEndings=e)}setEndingEndIndex(e,t){this.endingIndexDict[e]&&this.endingIndexDict[e].part.setEndIndex(t)}get NumberOfEndings(){return this.numberOfEndings}get FromWords(){return this.fromWords}set FromWords(e){this.fromWords=e}get AbsoluteTimestamp(){return Fraction$1.createFromFraction(this.musicSheet2.SourceMeasures[this.startMarker.measureIndex].AbsoluteTimestamp)}get StartIndex(){return this.startMarker.measureIndex}get EndIndex(){if(0===this.BackwardJumpInstructions.length)return this.StartIndex;let e=this.backwardJumpInstructions[this.backwardJumpInstructions.length-1].measureIndex;return this.endingIndexDict[this.NumberOfEndings]&&(e=Math.max(this.endingIndexDict[this.NumberOfEndings].part.EndIndex,e)),e}checkRepetitionForMultipleLyricVerses(){let e=0;const t=this.StartIndex,n=this.EndIndex;for(let i=t;i<=n;i++){const t=this.musicSheet2.SourceMeasures[i];for(let n=0;n<t.CompleteNumberOfStaves;n++)if(t.VerticalSourceStaffEntryContainers[n])for(const i of t.VerticalSourceStaffEntryContainers[n].StaffEntries)if(i){let t=0;for(const e of i.VoiceEntries)t+=e.LyricsEntries.keys.length;e=Math.max(e,t)}}return e}get FirstSourceMeasureNumber(){return this.getFirstSourceMeasure().MeasureNumber}get LastSourceMeasureNumber(){return this.getLastSourceMeasure().MeasureNumber}coversIdenticalMeasures(e){return this.StartIndex===e.StartIndex&&this.EndIndex===e.EndIndex}removeFromRepetitionInstructions(){void 0!==this.startMarker&&(this.startMarker.parentRepetition=void 0),void 0!==this.endMarker&&(this.endMarker.parentRepetition=void 0);for(const e of this.BackwardJumpInstructions)e.parentRepetition=void 0}}class RepetitionEndingPart{constructor(e){this.endingIndices=[],this.part=e}ToString(){return this.endingIndices.join(", ")}}class PlaybackSettings{constructor(e=new Fraction$1,t=100){this.rhythm=e,this.beatsPerMinute=t,this.beatLengthInMilliseconds=6e4/t,this.beatRealValue=1/4}static createFrom(e){return new PlaybackSettings(e.Rhythm,e.BeatsPerMinute)}get BeatsPerMinute(){return this.beatsPerMinute}set BeatsPerMinute(e){this.beatsPerMinute=e,this.beatLengthInMilliseconds=6e4/this.beatsPerMinute}get Rhythm(){return this.rhythm}set Rhythm(e){this.rhythm=e}get BeatRealValue(){return this.beatRealValue}get BeatLengthInMilliseconds(){return this.beatLengthInMilliseconds}getDurationInMilliseconds(e){return("number"==typeof e?e:e.RealValue)*this.BeatLengthInMilliseconds/this.beatRealValue}getDurationAsNoteDuration(e,t=1024){const n=e/this.BeatLengthInMilliseconds;let i=Math.floor(n);const r=new Fraction$1(i,4),o=n-i;return i=Math.round(o/(1/t)/4),0!==o&&0===i&&e>0&&(i=1),r.Add(new Fraction$1(i,t)),r}}class MusicSheet{constructor(){this.idString="uninitialized",this.sourceMeasures=[],this.repetitions=[],this.dynListStaves=[],this.timestampSortedDynamicExpressionsList=[],this.timestampSortedTempoExpressionsList=[],this.instrumentalGroups=[],this.instruments=[],this.musicPartManager=void 0,this.musicSheetErrors=new MusicSheetErrors,this.staves=[],this.playbackDataDict=new Dictionary,this.transpose=0,this.defaultStartTempoInBpm=0,this.drawErroneousMeasures=!1,this.hasBeenOpenedForTheFirstTime=!1,this.currentEnrolledPosition=new Fraction$1(0,1),this.soundTempos=new Map,this.userStartTempoInBPM=100,this.playbackSettings=new PlaybackSettings(new Fraction$1(4,4,0,!1),this.userStartTempoInBPM),this.pageWidth=120,this.MusicPartManager=new MusicPartManager(this),this.hasBPMInfo=!1}get SoundTempos(){return this.soundTempos}set SoundTempos(e){this.soundTempos=e}static getIndexFromStaff(e){return e.idInMusicSheet}get CurrentKeyInstruction(){return this.currentKeyInstruction}set CurrentKeyInstruction(e){this.currentKeyInstruction=e}get SourceMeasures(){return this.sourceMeasures}set SourceMeasures(e){this.sourceMeasures=e}get Repetitions(){return this.repetitions}set Repetitions(e){this.repetitions=e}get DynListStaves(){return this.dynListStaves}get TimestampSortedTempoExpressionsList(){return this.timestampSortedTempoExpressionsList}get TimestampSortedDynamicExpressionsList(){return this.timestampSortedDynamicExpressionsList}get InstrumentalGroups(){return this.instrumentalGroups}get Parts(){return this.instruments}get Instruments(){return this.instruments}get SheetPlaybackSetting(){return this.playbackSettings}set SheetPlaybackSetting(e){this.playbackSettings=e}get DrawErroneousMeasures(){return this.drawErroneousMeasures}set DrawErroneousMeasures(e){this.drawErroneousMeasures=e}get HasBeenOpenedForTheFirstTime(){return this.hasBeenOpenedForTheFirstTime}set HasBeenOpenedForTheFirstTime(e){this.hasBeenOpenedForTheFirstTime=e}InitializeStartTempoInBPM(e){this.playbackSettings.BeatsPerMinute=e,this.userStartTempoInBPM=e}get DefaultStartTempoInBpm(){return this.defaultStartTempoInBpm}set DefaultStartTempoInBpm(e){this.defaultStartTempoInBpm=e,this.InitializeStartTempoInBPM(e)}get Path(){return this.path}set Path(e){this.path=e}get Staves(){return this.staves}get TitleString(){return this.title?this.title.text:""}set TitleString(e){this.Title=new Label(e)}get SubtitleString(){return this.subtitle?this.subtitle.text:""}set SubtitleString(e){this.Subtitle=new Label(e)}get ComposerString(){return this.composer?this.composer.text:""}set ComposerString(e){this.Composer=new Label(e)}get LyricistString(){return this.lyricist?this.lyricist.text:""}set LyricistString(e){this.Lyricist=new Label(e)}get CopyrightString(){return this.copyright?this.copyright.text:""}set CopyrightString(e){this.Copyright=new Label(e,TextAlignmentEnum.CenterBottom,void 0,!0)}get Title(){return this.title}set Title(e){this.title=e}get Subtitle(){return this.subtitle}set Subtitle(e){this.subtitle=e}get Composer(){return this.composer}set Composer(e){this.composer=e}get Lyricist(){return this.lyricist}set Lyricist(e){this.lyricist=e}get Copyright(){return this.copyright}set Copyright(e){this.copyright=e}get Rules(){return this.rules||(loglevelExports.debug("warning: sheet.Rules was undefined. Creating new EngravingRules."),this.rules=new EngravingRules),this.rules}set Rules(e){this.rules=e}get SheetErrors(){return this.musicSheetErrors}get PlaybackDataDict(){return this.playbackDataDict}get SelectionStart(){return this.selectionStart}set SelectionStart(e){this.selectionStart=e.clone(),this.currentEnrolledPosition=e.clone()}get SelectionEnd(){return this.selectionEnd}set SelectionEnd(e){this.selectionEnd=e}set HasBPMInfo(e){this.hasBPMInfo=e}get HasBPMInfo(){return this.hasBPMInfo}addMeasure(e){this.sourceMeasures.push(e),e.measureListIndex=this.sourceMeasures.length-1}checkForInstrumentWithNoVoice(){for(let e=0,t=this.instruments.length;e<t;++e){const t=this.instruments[e];if(0===t.Voices.length){const e=new Voice(t,1);t.Voices.push(e)}}}getStaffFromIndex(e){return this.staves[e]}fillStaffList(){let e=0;for(let t=0,n=this.instruments.length;t<n;++t){const n=this.instruments[t];for(let t=0,i=n.Staves.length;t<i;++t){const i=n.Staves[t];i.idInMusicSheet=e,this.staves.push(i),e++}}}get MusicPartManager(){return this.musicPartManager}set MusicPartManager(e){this.musicPartManager=e}getCompleteNumberOfStaves(){let e=0;for(let t=0,n=this.instruments.length;t<n;++t){e+=this.instruments[t].Staves.length}return e}getListOfMeasuresFromIndeces(e,t){const n=[];for(let i=e;i<=t;i++)n.push(this.sourceMeasures[i]);return n}getNextSourceMeasure(e){const t=this.sourceMeasures.indexOf(e);return t===this.sourceMeasures.length-1?e:this.sourceMeasures[t+1]}getFirstSourceMeasure(){return this.sourceMeasures[0]}getLastSourceMeasure(){return this.sourceMeasures[this.sourceMeasures.length-1]}resetAllNoteStates(){const e=this.MusicPartManager.getIterator();for(;!e.EndReached&&e.CurrentVoiceEntries;){for(let t=0,n=e.CurrentVoiceEntries.length;t<n;++t){const n=e.CurrentVoiceEntries[t];for(let e=0,t=n.Notes.length;e<t;++e){n.Notes[e].state=NoteState.Normal}}e.moveToNext()}}getMusicSheetInstrumentIndex(e){return this.Instruments.indexOf(e)}getGlobalStaffIndexOfFirstStaff(e){const t=this.getMusicSheetInstrumentIndex(e);let n=0;for(let i=0;i<t;i++)n+=this.Instruments[i].Staves.length;return n}setRepetitionNewUserNumberOfRepetitions(e,t){let n=0;for(let i=0;i<this.repetitions.length;i++)if(this.repetitions[i]instanceof Repetition){if(e===n){this.repetitions[i].UserNumberOfRepetitions=t;break}n++}}getRepetitionByIndex(e){let t=0;for(let n=0;n<this.repetitions.length;n++)if(this.repetitions[n]instanceof Repetition){if(e===t)return this.repetitions[n];t++}}CompareTo(e){return this.Title.text.localeCompare(e.Title.text)}getExpressionsStartTempoInBPM(){if(this.TimestampSortedTempoExpressionsList.length>0){const e=this.TimestampSortedTempoExpressionsList[0];if(e.InstantaneousTempo)return e.InstantaneousTempo.TempoInBpm;if(e.ContinuousTempo)return e.ContinuousTempo.StartTempo}return this.userStartTempoInBPM}get Errors(){return this.musicSheetErrors.measureErrors}get FirstMeasureNumber(){try{return this.getFirstSourceMeasure().MeasureNumber}catch(e){return loglevelExports.info("MusicSheet.FirstMeasureNumber: ",e),0}}get LastMeasureNumber(){try{return this.getLastSourceMeasure().MeasureNumber}catch(e){return loglevelExports.info("MusicSheet.LastMeasureNumber: ",e),0}}get CurrentEnrolledPosition(){return this.currentEnrolledPosition.clone()}set CurrentEnrolledPosition(e){this.currentEnrolledPosition=e.clone()}get Transpose(){return this.transpose}set Transpose(e){this.transpose=e}get FullNameString(){return this.ComposerString+" "+this.TitleString}get IdString(){return this.idString}set IdString(e){this.idString=e}getEnrolledSelectionStartTimeStampWorkaround(){const e=this.MusicPartManager.getIterator(this.SelectionStart);return Fraction$1.createFromFraction(e.CurrentEnrolledTimestamp)}get SheetEndTimestamp(){const e=this.getLastSourceMeasure();return Fraction$1.plus(e.AbsoluteTimestamp,e.Duration)}getSourceMeasureFromTimeStamp(e){for(let t=0,n=this.sourceMeasures.length;t<n;++t){const n=this.sourceMeasures[t];for(let t=0,i=n.VerticalSourceStaffEntryContainers.length;t<i;++t){const i=n.VerticalSourceStaffEntryContainers[t];if(e.Equals(i.getAbsoluteTimestamp()))return n}}return this.findSourceMeasureFromTimeStamp(e)}findSourceMeasureFromTimeStamp(e){for(const t of this.sourceMeasures)if(t.AbsoluteTimestamp.lte(e)&&e.lt(Fraction$1.plus(t.AbsoluteTimestamp,t.Duration)))return t}getVisibleInstruments(){const e=[];for(let t=0,n=this.Instruments.length;t<n;++t){const n=this.Instruments[t];n.Voices.length>0&&n.Voices[0].Visible&&e.push(n)}return e}}MusicSheet.defaultTitle="defaultTitle";class LyricWord{constructor(){this.syllables=[]}get Syllables(){return this.syllables}containsVoiceEntry(e){for(let t=0,n=this.Syllables.length;t<n;++t){if(this.Syllables[t].Parent===e)return!0}return!1}findLyricEntryInVoiceEntry(e){for(let t=0,n=this.Syllables.length;t<n;++t){const n=this.Syllables[t];if(n.Parent===e)return n}}}class LyricsEntry{constructor(e,t,n,i,r=-1){this.text=e,this.word=n,this.parent=i,this.verseNumber=t,r>=0&&(this.syllableIndex=r)}get Text(){return this.text}set Text(e){this.text=e}get Word(){return this.word}get Parent(){return this.parent}set Parent(e){this.parent=e}get VerseNumber(){return this.verseNumber}get SyllableIndex(){return this.syllableIndex}get IsTranslation(){return this.VerseNumber.endsWith("translation")}get IsChorus(){return this.VerseNumber.startsWith("chorus")}get FontStyle(){return this.IsChorus||this.IsTranslation?FontStyles.Italic:FontStyles.Regular}}class LyricsReader{constructor(e){this.openLyricWords={},this.musicSheet=e}addLyricEntry(e,t){if(e){const r=e;for(let e=0,o=r.length;e<o;++e){const o=r[e];try{let e="single";if(o.element("text")){let r=o.element("text");if(o.element("syllabic")&&(e=o.element("syllabic").value),r){let s="";const a=o.elements();for(const e of a)"text"!==e.name&&"elision"!==e.name||(s+=e.value);if(s=s.replace(" "," "),void 0!==o.element("elision")&&"-"===s){const t=o.elements();let n,i,s=0;for(let e=0;e<t.length;e++){if("elision"===t[e].name){s=e;break}}if(s>0)for(let e=s;e<t.length;e++){const r=t[e];"text"===r.name&&(n=r),"syllabic"===r.name&&(i=r)}void 0!==n&&i&&(r=n,e="middle")}let l,c="1";if(void 0!==o.attributes()&&o.attribute("number")&&(c=o.attribute("number").value),"single"===e||"end"===e){if(this.openLyricWords[c]){this.currentLyricWord=this.openLyricWords[c];const e=this.currentLyricWord.Syllables.length;l=new LyricsEntry(s,c,this.currentLyricWord,t,e),this.currentLyricWord.Syllables.push(l),delete this.openLyricWords[c],this.currentLyricWord=void 0}else l=new LyricsEntry(s,c,void 0,t);l.extend=void 0!==o.element("extend")}else if("begin"===e)this.openLyricWords[c]&&(delete this.openLyricWords[c],this.currentLyricWord=void 0),this.currentLyricWord=new LyricWord,this.openLyricWords[c]=this.currentLyricWord,l=new LyricsEntry(s,c,this.currentLyricWord,t,0),this.currentLyricWord.Syllables.push(l);else if("middle"===e)if(this.openLyricWords[c]){this.currentLyricWord=this.openLyricWords[c];const e=this.currentLyricWord.Syllables.length;l=new LyricsEntry(s,c,this.currentLyricWord,t,e),this.currentLyricWord.Syllables.push(l)}else l=new LyricsEntry(s,c,void 0,t);if(l){var n,i;if(!t.LyricsEntries[c])t.LyricsEntries.setValue(c,l),null!==(n=t.ParentSourceStaffEntry)&&void 0!==n&&null!==(i=n.VerticalContainerParent)&&void 0!==i&&i.ParentMeasure&&(t.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure.hasLyrics=!0);t.ParentVoice.Parent.LyricVersesNumbers.includes(c)||t.ParentVoice.Parent.LyricVersesNumbers.push(c)}}}}catch(err){const t=ITextTranslation.translateText("ReaderErrorMessages/LyricError","Error while reading lyric entry.");this.musicSheet.SheetErrors.pushMeasureError(t);continue}}}}}class Articulation{constructor(e,t){this.articulationEnum=e,this.placement=t}Equals(e){return e.articulationEnum===this.articulationEnum&&e.placement===this.placement}}class Slur{constructor(){}get StartNote(){return this.startNote}set StartNote(e){this.startNote=e}get EndNote(){return this.endNote}set EndNote(e){this.endNote=e}startNoteHasMoreStartingSlurs(){if(!this.startNote)return!1;for(let e=0,t=this.startNote.NoteSlurs.length;e<t;++e){const t=this.startNote.NoteSlurs[e];if(t!==this&&t.StartNote===this.startNote)return!0}return!1}endNoteHasMoreEndingSlurs(){if(!this.endNote)return!1;for(let e=0,t=this.endNote.NoteSlurs.length;e<t;++e){const t=this.endNote.NoteSlurs[e];if(t!==this&&t.EndNote===this.endNote)return!0}return!1}isCrossed(){return this.startNote.ParentStaffEntry.ParentStaff!==this.endNote.ParentStaffEntry.ParentStaff}isSlurLonger(){if(!this.endNote||!this.startNote)return!1;const e=Fraction$1.minus(this.endNote.getAbsoluteTimestamp(),this.startNote.getAbsoluteTimestamp());for(let t=0,n=this.startNote.NoteSlurs.length;t<n;++t){const n=this.startNote.NoteSlurs[t];if(n!==this&&void 0!==n.EndNote&&void 0!==n.StartNote&&-1===Fraction$1.minus(n.EndNote.getAbsoluteTimestamp(),n.StartNote.getAbsoluteTimestamp()).CompareTo(e))return!0}for(let t=0,n=this.endNote.NoteSlurs.length;t<n;++t){const n=this.endNote.NoteSlurs[t];if(n!==this&&void 0!==n.EndNote&&void 0!==n.StartNote&&Fraction$1.minus(n.EndNote.getAbsoluteTimestamp(),n.StartNote.getAbsoluteTimestamp()).CompareTo(e))return!0}return!1}}class ArticulationReader{constructor(e){this.rules=e}getAccEnumFromString(e){switch(e){case"sharp":return AccidentalEnum.SHARP;case"flat":return AccidentalEnum.FLAT;case"natural":return AccidentalEnum.NATURAL;case"double-sharp":case"sharp-sharp":return AccidentalEnum.DOUBLESHARP;case"double-flat":case"flat-flat":return AccidentalEnum.DOUBLEFLAT;case"triple-sharp":return AccidentalEnum.TRIPLESHARP;case"triple-flat":return AccidentalEnum.TRIPLEFLAT;case"quarter-sharp":return AccidentalEnum.QUARTERTONESHARP;case"quarter-flat":return AccidentalEnum.QUARTERTONEFLAT;case"three-quarters-sharp":return AccidentalEnum.THREEQUARTERSSHARP;case"three-quarters-flat":return AccidentalEnum.THREEQUARTERSFLAT;case"slash-quarter-sharp":return AccidentalEnum.SLASHQUARTERSHARP;case"slash-sharp":return AccidentalEnum.SLASHSHARP;case"double-slash-flat":return AccidentalEnum.DOUBLESLASHFLAT;case"sori":return AccidentalEnum.SORI;case"koron":return AccidentalEnum.KORON;default:return AccidentalEnum.NONE}}addArticulationExpression(e,t){if(void 0!==e&&e.elements().length>0){const o=e.elements();for(let e=0,s=o.length;e<s;++e){const s=o[e];let a=s.name;try{a=a.replace("-","");const e=ArticulationEnum[a];if(VoiceEntry.isSupportedArticulation(e)){var n;let r=PlacementEnum.NotYetDefined;const o=null===(n=s.attribute("placement"))||void 0===n?void 0:n.value;"above"===o?r=PlacementEnum.Above:"below"===o&&(r=PlacementEnum.Below);const l=new Articulation(e,r);if("staccato"===a)t.Articulations.length>0&&t.Articulations[0].articulationEnum!==ArticulationEnum.staccato&&t.Articulations.splice(0,0,l);else if("breathmark"===a)r===PlacementEnum.NotYetDefined&&(l.placement=PlacementEnum.Above);else if("strongaccent"===a){var i;const e=null==s||null===(i=s.attribute("type"))||void 0===i?void 0:i.value;"up"===e?l.articulationEnum=ArticulationEnum.marcatoup:"down"===e&&(l.articulationEnum=ArticulationEnum.marcatodown)}else if(e===ArticulationEnum.softaccent){const e=t.ParentSourceStaffEntry.ParentStaff.Id-1;r===PlacementEnum.NotYetDefined&&(r=PlacementEnum.Above,e>0&&(r=PlacementEnum.Below));const n=t.ParentSourceStaffEntry.VerticalContainerParent.ParentMeasure,i=new MultiExpression(n,t.Timestamp);i.StartingContinuousDynamic=new ContinuousDynamicExpression(ContDynamicEnum.crescendo,r,e,n,null,-1),i.StartingContinuousDynamic.IsStartOfSoftAccent=!0,i.StartingContinuousDynamic.StartMultiExpression=i,i.StartingContinuousDynamic.EndMultiExpression=i,i.EndingContinuousDynamic=new ContinuousDynamicExpression(ContDynamicEnum.diminuendo,r,e,n,null,-1),i.EndingContinuousDynamic.StartMultiExpression=i,i.EndingContinuousDynamic.EndMultiExpression=i,n.StaffLinkedExpressions[e].push(i)}if(!t.hasArticulation(l))switch(t.Articulations.push(l),l.articulationEnum){case ArticulationEnum.staccato:case ArticulationEnum.staccatissimo:t.DurationModifier=l;break;case ArticulationEnum.accent:case ArticulationEnum.strongaccent:t.VolumeModifier=l}}}catch(r){const e="Invalid note articulation.";return void loglevelExports.debug("addArticulationExpression",e,r)}}}}addFermata(e,t){var n;let i=ArticulationEnum.fermata;e.attributes().length>0&&e.attribute("type")&&"inverted"===e.attribute("type").value&&(i=ArticulationEnum.invertedfermata);let r=PlacementEnum.Above;"below"===(null===(n=e.attribute("placement"))||void 0===n?void 0:n.value)&&(r=PlacementEnum.Below),t.Articulations.push(new Articulation(i,r))}addTechnicalArticulations(e,t,n){const i={bend:ArticulationEnum.bend,"down-bow":ArticulationEnum.downbow,"open-string":ArticulationEnum.naturalharmonic,"snap-pizzicato":ArticulationEnum.snappizzicato,stopped:ArticulationEnum.lefthandpizzicato,"up-bow":ArticulationEnum.upbow,harmonic:ArticulationEnum.naturalharmonic};for(const l in i){if(!i.hasOwnProperty(l))continue;const n=i[l],s=e.element(l);if(s){var r,o;let e;"above"===(null===(r=s.attribute("placement"))||void 0===r?void 0:r.value)&&(e=PlacementEnum.Above),"below"===(null===(o=s.attribute("placement"))||void 0===o?void 0:o.value)&&(e=PlacementEnum.Below);const i=new Articulation(n,e);t.hasArticulation(i)||t.Articulations.push(i)}}const s=e.elements("fingering");for(const l of s){const e=this.createTechnicalInstruction(l,n);e.type=TechnicalInstructionType.Fingering,n.Fingering||(n.Fingering=e),t.TechnicalInstructions.push(e)}const a=e.element("string");if(a){const e=this.createTechnicalInstruction(a,n);e.type=TechnicalInstructionType.String,n.StringInstruction=e,t.TechnicalInstructions.push(e)}}createTechnicalInstruction(e,t){const n=new TechnicalInstruction;n.sourceNote=t,n.value=e.value;const i=e.attribute("placement");return this.rules.FingeringPositionFromXML&&(n.placement=this.getPlacement(i)),n}getPlacement(e,t=PlacementEnum.NotYetDefined){if(t!==PlacementEnum.NotYetDefined)return t;if(!e)return PlacementEnum.NotYetDefined;switch(e.value){case"above":return PlacementEnum.Above;case"below":return PlacementEnum.Below;case"left":return PlacementEnum.Left;case"right":return PlacementEnum.Right;default:return PlacementEnum.NotYetDefined}}addOrnament(e,t){if(e){let n;const i={"delayed-inverted-turn":OrnamentEnum.DelayedInvertedTurn,"delayed-turn":OrnamentEnum.DelayedTurn,"inverted-mordent":OrnamentEnum.InvertedMordent,"inverted-turn":OrnamentEnum.InvertedTurn,mordent:OrnamentEnum.Mordent,"trill-mark":OrnamentEnum.Trill,turn:OrnamentEnum.Turn};for(const t in i){if(!i.hasOwnProperty(t))continue;const r=e.element(t);if(r){n=new OrnamentContainer(i[t]);const e=r.attribute("placement");if(e){"below"===e.value&&(n.placement=PlacementEnum.Below)}}}if(n){const i=e.elements("accidental-mark");if(i){let e=PlacementEnum.Below,t=AccidentalEnum.NONE;const r=i;for(let i=0,o=r.length;i<o;++i){const o=r[i];let s=o.value;t=this.getAccEnumFromString(s);const a=o.attribute("placement");o.hasAttributes&&a&&(s=a.value,"above"===s?e=PlacementEnum.Above:"below"===s&&(e=PlacementEnum.Below)),e===PlacementEnum.Above?n.AccidentalAbove=t:e===PlacementEnum.Below&&(n.AccidentalBelow=t)}}t.OrnamentContainer=n}}}}class VoiceGenerator{constructor(e,t,n,i,r=undefined){this.openBeams=[],this.beamNumberOffset=0,this.currentOctaveShift=0,this.tupletDict={},this.openTupletNumber=0,this.currMeasureVoiceEntries=[],this.graceVoiceEntriesTempList=[],this.staff=t,this.instrument=t.ParentInstrument,this.musicSheet=this.instrument.GetMusicSheet,this.slurReader=i,this.pluginManager=e,this.voice=r?new LinkedVoice(this.instrument,n,r):new Voice(this.instrument,n),this.instrument.Voices.push(this.voice),this.staff.Voices.push(this.voice),this.lyricsReader=new LyricsReader(this.musicSheet),this.articulationReader=new ArticulationReader(this.musicSheet.Rules)}get openTieDict(){return this.staff.openTieDict}get GetVoice(){return this.voice}get OctaveShift(){return this.currentOctaveShift}set OctaveShift(e){this.currentOctaveShift=e}createVoiceEntry(e,t,n,i,r=!1,o=!1,s=!1){this.activeKey=n,this.activeRhythm=i,this.currentVoiceEntry=new VoiceEntry(Fraction$1.createFromFraction(e),this.voice,t,!0,r,o,s),r?this.graceVoiceEntriesTempList.push(this.currentVoiceEntry):(this.currentNormalVoiceEntry=this.currentVoiceEntry,this.currMeasureVoiceEntries.push(this.currentNormalVoiceEntry),this.graceVoiceEntriesTempList.length>0&&(this.currentVoiceEntry.GraceVoiceEntriesBefore=this.graceVoiceEntriesTempList,this.graceVoiceEntriesTempList=[]))}finalizeReadingMeasure(){this.graceVoiceEntriesTempList.length>0&&void 0!==this.currentNormalVoiceEntry&&this.currentNormalVoiceEntry.GraceVoiceEntriesAfter.concat(this.graceVoiceEntriesTempList),this.graceVoiceEntriesTempList=[],this.pluginManager.processVoiceMeasureReadPlugins(this.currMeasureVoiceEntries,this.activeKey,this.activeRhythm),this.currMeasureVoiceEntries.length=0,this.openBeams.length>1&&this.handleOpenBeam()}read(e,t,n,i,r,o,s,a,l,c,u,h,d,p,f,m,g,v,b,y,A,S,x){this.currentStaffEntry=s,this.currentMeasure=a;try{this.currentNote=o?this.addRestNote(e.element("rest"),t,i,n,r,d,p,b):this.addSingleNote(e,t,i,n,r,u,h,d,p,f,m,g,v,b,A,S,x),this.currentNote.DotsXml=y;const s=e.elements("lyric");void 0!==this.lyricsReader&&s&&(this.lyricsReader.addLyricEntry(s,this.currentVoiceEntry),this.voice.Parent.HasLyrics=!0);let a=!1;const E=e.element("notations");if(E){this.articulationReader&&this.readArticulations(E,this.currentVoiceEntry,this.currentNote);const t=E.elements("slur"),n=E.elements("slide"),i=E.elements("glissando");void 0!==this.slurReader&&(t.length>0||n.length>0)&&!this.currentNote.ParentVoiceEntry.IsGrace&&(this.slurReader.addSlur(t,this.currentNote),n.length>0&&this.slurReader.addSlur(n,this.currentNote),i.length>0&&this.slurReader.addSlur(i,this.currentNote));const r=E.elements("tuplet");r.length>0&&(this.openTupletNumber=this.addTuplet(e,r),a=!0);const o=E.element("arpeggiate");if(void 0!==o){let e;if(this.currentVoiceEntry.Arpeggio)e=this.currentVoiceEntry.Arpeggio;else{let t=!1;for(const n of this.currentStaffEntry.VoiceEntries)if(n.Arpeggio){t=!0,e=n.Arpeggio;break}if(!t){let t=ArpeggioType.ARPEGGIO_DIRECTIONLESS;const n=o.attribute("direction");if(n)switch(n.value){case"up":t=ArpeggioType.ROLL_UP;break;case"down":t=ArpeggioType.ROLL_DOWN;break;default:t=ArpeggioType.ARPEGGIO_DIRECTIONLESS}e=new Arpeggio(this.currentVoiceEntry,t),this.currentVoiceEntry.Arpeggio=e}}e.addNote(this.currentNote)}const s=E.elements("tied");s.length>0&&this.addTie(s,l,c,TieTypes.SIMPLE);const u=E.element("technical");if(u){const e=u.elements("hammer-on");e.length>0&&this.addTie(e,l,c,TieTypes.HAMMERON);const t=u.elements("pull-off");t.length>0&&this.addTie(t,l,c,TieTypes.PULLOFF)}}void 0===e.element("time-modification")||a||this.handleTimeModificationNode(e)}catch(err){loglevelExports.warn(err);const t=ITextTranslation.translateText("ReaderErrorMessages/NoteError","Ignored erroneous Note.");this.musicSheet.SheetErrors.pushMeasureError(t),this.musicSheet.SheetErrors.pushMeasureError(err)}return this.currentNote}checkForStaffEntryLink(e,t,n,i){const r=new StaffEntryLink(this.currentVoiceEntry);r.LinkStaffEntries.push(n),n.Link=r;const o=this.currentVoiceEntry.Timestamp.clone(),s=i.getVerticalContainerByTimestamp(o);return(n=s.StaffEntries[e])||(n=new SourceStaffEntry(s,t),s.StaffEntries[e]=n),n.VoiceEntries.push(this.currentVoiceEntry),r.LinkStaffEntries.push(n),n.Link=r,n}checkForOpenBeam(){this.openBeams.length>0&&this.currentNote&&this.handleOpenBeam()}checkOpenTies(){const e=this.openTieDict;for(const t in e)if(e.hasOwnProperty(t)){const n=e[t];Fraction$1.plus(n.StartNote.ParentStaffEntry.Timestamp,n.Duration).lt(n.StartNote.SourceMeasure.Duration)&&delete e[t]}}hasVoiceEntry(){return void 0!==this.currentVoiceEntry}readArticulations(e,t,n){const i=e.element("articulations");i&&this.articulationReader.addArticulationExpression(i,t);const r=e.element("fermata");r&&this.articulationReader.addFermata(r,t);const o=e.element("technical");o&&this.articulationReader.addTechnicalArticulations(o,t,n);const s=e.element("ornaments");s&&this.articulationReader.addOrnament(s,t)}addSingleNote(e,t,n,i,r,o,s,a,l,c,u,h,d,p,f,m,g){let v,b,y,A,S=0,x=AccidentalEnum.NONE,E=NoteEnum.C,w=NoteEnum.C,_=0,M=0;const P=e.elements();for(let N=0,F=P.length;N<F;++N){const e=P[N];try{if("pitch"===e.name){const t=e.elements();for(let e=0,n=t.length;e<n;++e){const n=t[e];y=void 0,A=void 0;try{if("step"===n.name){if(E=NoteEnum[n.value],void 0===E){const e=ITextTranslation.translateText("ReaderErrorMessages/NotePitchError","Invalid pitch while reading note.");throw this.musicSheet.SheetErrors.pushMeasureError(e),new MusicSheetReadingException(e,void 0)}}else if("alter"===n.name){if(S=parseFloat(n.value),isNaN(S)){const e=ITextTranslation.translateText("ReaderErrorMessages/NoteAlterationError","Invalid alteration while reading note.");throw this.musicSheet.SheetErrors.pushMeasureError(e),new MusicSheetReadingException(e,void 0)}x=Pitch.AccidentalFromHalfTones(S)}else if("octave"===n.name&&(_=parseInt(n.value,10),isNaN(_))){const e=ITextTranslation.translateText("ReaderErrorMessages/NoteOctaveError","Invalid octave value while reading note.");throw this.musicSheet.SheetErrors.pushMeasureError(e),new MusicSheetReadingException(e,void 0)}}catch(D){loglevelExports.info("VoiceGenerator.addSingleNote read Step: ",D.message)}}}else if("accidental"===e.name)v=e.value,"natural"===v?x=AccidentalEnum.NATURAL:"slash-flat"===v?x=AccidentalEnum.SLASHFLAT:"slash-quarter-sharp"===v?x=AccidentalEnum.SLASHQUARTERSHARP:"slash-sharp"===v?x=AccidentalEnum.SLASHSHARP:"double-slash-flat"===v?x=AccidentalEnum.DOUBLESLASHFLAT:"sori"===v?x=AccidentalEnum.SORI:"koron"===v&&(x=AccidentalEnum.KORON);else if("unpitched"===e.name){const t=e.element("display-step"),n=e.element("display-octave");if(n&&(_=parseInt(n.value,10),M=_-3,s&&(_+=1),1===this.instrument.Staves[0].StafflineCount&&(M+=1)),t){E=NoteEnum[t.value.toUpperCase()];let e=0,n=this.musicSheet.Rules.PercussionXMLDisplayStepNoteValueShift;1===this.instrument.Staves[0].StafflineCount&&(n-=3),[w,e]=Pitch.lineShiftFromNoteEnum(E,n),M+=e}}else"instrument"===e.name?e.firstAttribute&&(b=e.firstAttribute.value):"notehead"===e.name&&(y=e.value,e.attribute("filled")&&(A="yes"===e.attribute("filled").value))}catch(D){loglevelExports.info("VoiceGenerator.addSingleNote: ",D)}}_-=Pitch.OctaveXmlDifference;const T=new Pitch(E,_,x,v),C=Fraction$1.createFromFraction(t);let I,k=-1,B=-1;const R=[],L=e.element("notations");if(L){const e=L.element("technical");if(e){const t=e.element("string");t&&(k=parseInt(t.value,10));const n=e.element("fret");n&&(B=parseInt(n.value,10));e.elements("bend").forEach((function(e){const t=e.element("bend-alter");void 0!==e.element("release")?R.push({bendalter:parseInt(t.value,10),direction:"down"}):R.push({bendalter:parseInt(t.value,10),direction:"up"})}))}}return I=k<0||B<0?new Note$1(this.currentVoiceEntry,this.currentStaffEntry,C,T,this.currentMeasure):new TabNote(this.currentVoiceEntry,this.currentStaffEntry,C,T,this.currentMeasure,k,B,R),this.addNoteInfo(I,n,a,l,r,w,M,p,p),I.TypeLength=i,I.IsGraceNote=c,I.StemDirectionXml=u,I.TremoloInfo=h,I.PlaybackInstrumentId=b,(void 0!==y&&"normal"!==y||void 0!==A)&&(I.Notehead=new Notehead(I,y,A)),I.NoteheadColorXml=p,I.NoteheadColor=p,I.PlaybackInstrumentId=b,I.TremoloType=f,I.glissandoType=m,I.slideType=g,this.currentVoiceEntry.addNote(I),u===StemDirectionType.None&&(d="#00000000"),this.currentVoiceEntry.StemDirectionXml=u,d&&(this.currentVoiceEntry.StemColorXml=d,this.currentVoiceEntry.StemColor=d,I.StemColorXml=d),e.elements("beam")&&!o&&this.createBeam(e,I),I}addRestNote(e,t,n,i,r,o,s,a){const l=Fraction$1.createFromFraction(t),c=e.element("display-step"),u=e.element("display-octave");let h,d,p;c&&u&&(h=NoteEnum[c.value.toUpperCase()],d=parseInt(u.value,10),p=new Pitch(h,d,AccidentalEnum.NONE,void 0,!0));const f=new Note$1(this.currentVoiceEntry,this.currentStaffEntry,l,p,this.currentMeasure,!0);return this.addNoteInfo(f,n,o,s,r,h,d,a,a),f.TypeLength=i,this.currentVoiceEntry.Notes.push(f),this.openBeams.length>0&&this.openBeams.last().ExtendedNoteList.push(f),f}addNoteInfo(e,t,n,i,r,o,s,a,l){e.NoteTypeXml=t,e.PrintObject=n,e.IsCueNote=i,e.NormalNotes=r,e.displayStepUnpitched=o,e.displayOctaveUnpitched=s,e.NoteheadColorXml=a,e.NoteheadColor=a}createBeam(t,n){try{const e=t.element("beam");let r;if(void 0!==e&&e.hasAttributes&&(r=e.attribute("number")),r){let e=parseInt(r.value,10);const o=t.elements("beam"),s=o[0].value;var i;if(o)if("begin"===s)e===(null===(i=this.openBeams.last())||void 0===i?void 0:i.BeamNumber)?(this.beamNumberOffset++,e+=this.beamNumberOffset):this.openBeams.last()&&this.handleOpenBeam(),this.openBeams.push(new Beam(e,this.beamNumberOffset));else e+=this.beamNumberOffset;let a=!1;if(!(e>0&&e<=this.openBeams.length&&this.openBeams[e-1]))return void loglevelExports.debug("[OSMD] invalid beamnumber");for(let t=0,n=this.openBeams[e-1].Notes.length;t<n;++t){const n=this.openBeams[e-1].Notes[t];this.currentVoiceEntry===n.ParentVoiceEntry&&(a=!0)}if(!a){this.openBeams[e-1].addNoteToBeam(n),"end"===s&&this.endBeam()}}}catch(e){const n=ITextTranslation.translateText("ReaderErrorMessages/BeamError","Error while reading beam.");throw this.musicSheet.SheetErrors.pushMeasureError(n),new MusicSheetReadingException("",e)}}endBeam(){this.openBeams.pop(),this.beamNumberOffset=Math.max(0,this.beamNumberOffset-1)}handleOpenBeam(){const e=this.openBeams.last();if(0!==e.Notes.length){if(1===e.Notes.length){return e.Notes[0].NoteBeam=void 0,void this.endBeam()}if(this.currentNote===CollectionUtil.last(e.Notes))this.endBeam();else{const t=CollectionUtil.last(e.Notes).ParentStaffEntry,n=this.currentMeasure.getVerticalContainerIndexByTimestamp(t.Timestamp),i=t.VerticalContainerParent.StaffEntries.indexOf(t);if(n<this.currentMeasure.VerticalSourceStaffEntryContainers.length-1){const e=this.currentMeasure.VerticalSourceStaffEntryContainers[n+1].StaffEntries[i];if(e)for(let t=0,n=e.VoiceEntries.length;t<n;++t){const n=e.VoiceEntries[t];if(n.ParentVoice===this.voice){const e=n.Notes[0];e.Length.lte(new Fraction$1(1,8))?(this.openBeams.last().addNoteToBeam(e),this.endBeam()):this.endBeam()}}}else this.endBeam()}}else this.endBeam()}addTuplet(e,t){let n,i=!1;if(void 0!==t&&t.length>1){let r=e.element("time-modification");r&&(r=r.element("actual-notes"));const o=t;for(let t=0,s=o.length;t<s;++t){const s=o[t];if(void 0!==s&&s.attributes()){const t=s.attribute("bracket");t&&"yes"===t.value?(i=!0,n=!0):t&&"no"===t.value&&(n=!1);const o=this.readShowNumberNoneGiven(s),a=s.attribute("type");if(a&&"start"===a.value){let t=1;s.attribute("number")&&(t=parseInt(s.attribute("number").value,10));let a=0;if(r&&(a=parseInt(r.value,10),isNaN(a))){const e=ITextTranslation.translateText("ReaderErrorMessages/TupletNoteDurationError","Invalid tuplet note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(e),new MusicSheetReadingException(e,void 0)}const l=new Tuplet(a,i);l.BracketedXmlValue=n,l.ShowNumberNoneGivenInXml=o,l.tupletLabelNumberPlacement=PlacementEnum.Above;const c=s.attribute("placement");c&&("below"===c.value&&(l.tupletLabelNumberPlacement=PlacementEnum.Below),l.PlacementFromXml=!0),this.tupletDict[t]&&(delete this.tupletDict[t],0===Object.keys(this.tupletDict).length?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--),this.tupletDict[t]=l;const u=[];u.push(this.currentNote),l.Notes.push(u),l.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=l,this.openTupletNumber=t}else if("stop"===a.value){let t=1;s.attribute("number")&&(t=parseInt(s.attribute("number").value,10));const n=this.tupletDict[t];if(n){const i=s.attribute("placement");i&&("below"===i.value?n.tupletLabelNumberPlacement=PlacementEnum.Below:n.tupletLabelNumberPlacement=PlacementEnum.Above,n.PlacementFromXml=!0);const r=[];if(r.push(this.currentNote),n.Notes.push(r),!n.PlacementFromXml){let e=!1;for(const t of n.Notes){for(const i of t)if(!i.isRest()){i.StemDirectionXml===StemDirectionType.Down?n.tupletLabelNumberPlacement=PlacementEnum.Below:n.tupletLabelNumberPlacement=PlacementEnum.Above,e=!0;break}if(e)break}}n.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=n,delete this.tupletDict[t],0===Object.keys(this.tupletDict).length?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--}}}}}else if(t[0]){const r=t[0];if(r.hasAttributes){const t=r.attribute("type").value;let o=1;r.attribute("number")&&(o=parseInt(r.attribute("number").value,10));const s=isNaN(o),a=this.readShowNumberNoneGiven(r),l=r.attribute("bracket");if(l&&"yes"===l.value?(i=!0,n=!0):l&&"no"===l.value&&(n=!1),"start"===t){let t=0,l=e.element("time-modification");if(l&&(l=l.element("actual-notes")),l&&(t=parseInt(l.value,10),isNaN(t))){const e=ITextTranslation.translateText("ReaderErrorMessages/TupletNoteDurationError","Invalid tuplet note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(e),new MusicSheetReadingException(e)}s&&(this.openTupletNumber++,o=this.openTupletNumber);let c=this.tupletDict[o];c||(c=this.tupletDict[o]=new Tuplet(t,i),c.BracketedXmlValue=n,c.ShowNumberNoneGivenInXml=a,c.tupletLabelNumberPlacement=PlacementEnum.Above);const u=r.attribute("placement");u&&("below"===u.value?c.tupletLabelNumberPlacement=PlacementEnum.Below:c.tupletLabelNumberPlacement=PlacementEnum.Above,c.PlacementFromXml=!0);const h=[];h.push(this.currentNote),c.Notes.push(h),c.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=c,this.openTupletNumber=o}else if("stop"===t){s&&(o=this.openTupletNumber);const t=this.tupletDict[this.openTupletNumber];if(t){const n=r.attribute("placement");n&&("below"===n.value?t.tupletLabelNumberPlacement=PlacementEnum.Below:t.tupletLabelNumberPlacement=PlacementEnum.Above,t.PlacementFromXml=!0);const i=[];if(i.push(this.currentNote),t.Notes.push(i),!t.PlacementFromXml){let e=!1;for(const n of t.Notes){for(const i of n)if(!i.isRest()){i.StemDirectionXml===StemDirectionType.Down?t.tupletLabelNumberPlacement=PlacementEnum.Below:t.tupletLabelNumberPlacement=PlacementEnum.Above,e=!0;break}if(e)break}}t.Fractions.push(this.getTupletNoteDurationFromType(e)),this.currentNote.NoteTuplet=t,0===Object.keys(this.tupletDict).length?this.openTupletNumber=0:Object.keys(this.tupletDict).length>1&&this.openTupletNumber--,delete this.tupletDict[o]}}}}return this.openTupletNumber}readShowNumberNoneGiven(e){const t=e.attribute("show-number");return!(null==t||!t.value||"none"!==t.value)}handleTimeModificationNode(e){if(this.tupletDict[this.openTupletNumber])try{const t=this.tupletDict[this.openTupletNumber],n=CollectionUtil.last(t.Notes);let i;n[0].ParentVoiceEntry.Timestamp.Equals(this.currentVoiceEntry.Timestamp)?i=n:(i=[],t.Notes.push(i),t.Fractions.push(this.getTupletNoteDurationFromType(e))),i.push(this.currentNote),this.currentNote.NoteTuplet=t}catch(t){const e=ITextTranslation.translateText("ReaderErrorMessages/TupletNumberError","Invalid tuplet number.");throw this.musicSheet.SheetErrors.pushMeasureError(e),t}else if(this.currentVoiceEntry.Notes.length>0){const e=this.currentVoiceEntry.Notes[0];if(e.NoteTuplet){const t=e.NoteTuplet;CollectionUtil.last(t.Notes).push(this.currentNote),this.currentNote.NoteTuplet=t}}}addTie(e,t,n,i){if(e)if(1===e.length){const t=e[0];if(void 0!==t&&t.attributes()){const e=this.getTieDirection(t),n=t.attribute("type").value;try{if("start"===n){const t=this.findCurrentNoteInTieDict(this.currentNote);t<0&&delete this.openTieDict[t];const n=this.getNextAvailableNumberForTie(),r=new Tie(this.currentNote,i);this.openTieDict[n]=r,r.TieNumber=n,r.TieDirection=e}else if("stop"===n){const e=this.findCurrentNoteInTieDict(this.currentNote),t=this.openTieDict[e];t&&(t.AddNote(this.currentNote),delete this.openTieDict[e])}}catch(err){const t=ITextTranslation.translateText("ReaderErrorMessages/TieError","Error while reading tie.");this.musicSheet.SheetErrors.pushMeasureError(t)}}}else if(2===e.length){const t=this.findCurrentNoteInTieDict(this.currentNote);if(t>=0){const n=this.openTieDict[t];n.AddNote(this.currentNote);for(const t of e){if("start"===t.attribute("type").value){const e=this.getTieDirection(t);n.NoteIndexToTieDirection[n.Notes.length-1]=e}}}}}getTieDirection(e){let t=PlacementEnum.NotYetDefined;const n=e.attribute("placement");n&&("above"===n.value?t=PlacementEnum.Above:"below"===n.value&&(t=PlacementEnum.Below));const i=e.attribute("orientation");return i&&("over"===i.value?t=PlacementEnum.Above:"under"===i.value&&(t=PlacementEnum.Below)),t}getNextAvailableNumberForTie(){const e=Object.keys(this.openTieDict);if(0===e.length)return 1;e.sort(((e,t)=>+e-+t));for(let t=0;t<e.length;t++)if(""+(t+1)!==e[t])return t+1;return+e[e.length-1]+1}findCurrentNoteInTieDict(e){const t=this.openTieDict;for(const n in t)if(t.hasOwnProperty(n)){const i=t[n],r=i.Notes[0],o=e;if(i.Pitch.FundamentalNote===e.Pitch.FundamentalNote&&i.Pitch.Octave===e.Pitch.Octave)return parseInt(n,10);if(void 0!==r.StringNumberTab&&r.StringNumberTab===o.StringNumberTab)return parseInt(n,10)}return-1}getTupletNoteDurationFromType(t){if(t.element("type")){const n=t.element("type");if(n){const t=n.value;try{return NoteTypeHandler.getNoteDurationFromType(t)}catch(e){const n=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid note duration.");throw this.musicSheet.SheetErrors.pushMeasureError(n),new MusicSheetReadingException("",e)}}}}}class ChordSymbolReader{static readChordSymbol(e,t,n){const i=e.element("root"),r=e.element("kind"),o=r.attribute("text");if(!i||!r)return;const s=i.element("root-step"),a=i.element("root-alter");if(!s)return;let l;try{l=NoteEnum[s.value.trim()]}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");return t.SheetErrors.pushMeasureError(e),void loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}let c=AccidentalEnum.NONE;if(a)try{c=Pitch.AccidentalFromHalfTones(parseInt(a.value,10))}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");t.SheetErrors.pushMeasureError(e),loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}const u=new Pitch(l,1,c);let h,d,p=r.value.trim().replace("-","");if(o)switch(o.value){case"aug":p="augmented";break;case"dim":p="diminished"}try{h=ChordSymbolEnum[p]}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");return t.SheetErrors.pushMeasureError(e),void loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}const f=e.element("bass");if(f){const e=f.element("bass-step"),n=f.element("bass-alter");let i=NoteEnum.C;if(e)try{i=NoteEnum[e.value.trim()]}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");return t.SheetErrors.pushMeasureError(e),void loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}let r=AccidentalEnum.NONE;if(n)try{r=Pitch.AccidentalFromHalfTones(parseInt(n.value,10))}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");t.SheetErrors.pushMeasureError(e),loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}d=new Pitch(i,1,r)}const m=[],g=e.elements("degree");for(const b of g)if(b){const e=b.element("degree-value"),n=b.element("degree-alter"),i=b.element("degree-type");if(!e||!n||!i)return;let r,o,s;try{r=parseInt(e.value.trim(),10)}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");return t.SheetErrors.pushMeasureError(e),void loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}try{o=Pitch.AccidentalFromHalfTones(parseInt(n.value,10))}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");return t.SheetErrors.pushMeasureError(e),void loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}try{s=ChordDegreeText[i.value.trim().toLowerCase()]}catch(v){const e=ITextTranslation.translateText("ReaderErrorMessages/ChordSymbolError","Invalid chord symbol");return t.SheetErrors.pushMeasureError(e),void loglevelExports.debug("InstrumentReader.readChordSymbol",e,v)}m.push(new Degree(r,o,s))}return new ChordSymbolContainer(u,h,d,m,t.Rules)}}class Pedal{constructor(e=!1,t=!0){this.ChangeEnd=!1,this.ChangeBegin=!1,this.EndsStave=!1,this.BeginsStave=!1,this.line=e,this.sign=t}get IsLine(){return this.line}get IsSign(){return this.sign}}class WavyLine extends AbstractExpression{constructor(e){super(e)}}class ExpressionReader{constructor(e,t,n){this.openContinuousDynamicExpressions=[],this.musicSheet=e,this.staffNumber=n,this.globalStaffIndex=e.getGlobalStaffIndexOfFirstStaff(t)+(n-1),this.initialize()}readExpressionParameters(e,t,n,i,r,o,s){this.initialize();const a=e.element("offset");if(void 0!==a&&!s)try{this.offsetDivisions=parseInt(a.value,10)}catch(p){const e="ReaderErrorMessages/ExpressionOffsetError, Invalid expression offset -> set to default.";loglevelExports.debug("ExpressionReader.readExpressionParameters",e,p),this.musicSheet.SheetErrors.pushMeasureError(e),this.offsetDivisions=0}this.directionTimestamp=Fraction$1.createFromFraction(i);let l,c=new Fraction$1(Math.abs(this.offsetDivisions),4*n);this.offsetDivisions>0?i.RealValue>0?(c=Fraction$1.multiply(Fraction$1.minus(i,r),c),this.directionTimestamp=Fraction$1.plus(c,i)):this.directionTimestamp=Fraction$1.createFromFraction(c):this.offsetDivisions<0&&(i.RealValue>0?(c=Fraction$1.multiply(Fraction$1.minus(i,r),c),this.directionTimestamp=Fraction$1.minus(i,c)):this.directionTimestamp=Fraction$1.createFromFraction(c));const u=e.element("direction-type");let h;if(u&&(h=u.element("wedge"),h)){const e=h.attribute("default-y");e&&(l=this.readPosition(e))}this.WedgeYPosXml=l;const d=e.attribute("placement");if(d)try{const e=d.value;"below"===e?this.placement=PlacementEnum.Below:"above"===e&&(this.placement=PlacementEnum.Above)}catch(p){const e=ITextTranslation.translateText("ReaderErrorMessages/ExpressionPlacementError","Invalid expression placement -> set to default.");loglevelExports.debug("ExpressionReader.readExpressionParameters",e,p),this.musicSheet.SheetErrors.pushMeasureError(e),this.placement=PlacementEnum.Below}if(this.placement===PlacementEnum.NotYetDefined)try{if(u){const e=u.element("dynamics");if(e){const t=e.attribute("default-y");t&&this.readExpressionPlacement(t,"read dynamics y pos")}if(h){const e=h.attribute("default-y");e&&this.readExpressionPlacement(e,"read wedge y pos")}const t=u.element("words");if(t){const e=t.attribute("default-y");e&&this.readExpressionPlacement(e,"read words y pos")}const n=u.element("rehearsal");if(n){const e=n.attribute("default-y");e&&this.readExpressionPlacement(e,"read rehearsal pos")}}}catch(p){const e=ITextTranslation.translateText("ReaderErrorMessages/ExpressionPlacementError","Invalid expression placement. Set to default.");loglevelExports.debug("ExpressionReader.readExpressionParameters",e,p),this.musicSheet.SheetErrors.pushMeasureError(e),this.placement=PlacementEnum.Below}this.placement===PlacementEnum.NotYetDefined&&(t.Staves.length>1?this.placement=PlacementEnum.Below:t.HasLyrics?this.placement=PlacementEnum.Above:this.placement=PlacementEnum.Below)}read(e,t,n,i=undefined,r=0,o){let s=!1,a=!1;const l=e.element("sound");if(l){const e=l.attribute("tempo"),n=l.attribute("dynamics");if(e){const n=e.value.match(/^(\d+)(\.\d+)?$/);(null==n?void 0:n.length)>0?this.soundTempo=Math.round(Number.parseFloat(e.value)):(loglevelExports.info("invalid xml tempo: "+e.value),this.soundTempo=100),t.TempoInBPM=this.soundTempo,0===this.musicSheet.DefaultStartTempoInBpm&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),this.musicSheet.HasBPMInfo=!0,s=!0}if(n){const e=n.value.match(/\d+/);this.soundDynamic=void 0!==e?parseInt(e[0],10):100,a=!0}}const c=e.element("direction-type");if(!c)return;let u=c.element("metronome");if(u){t.metronomeNoteIndex=r;const e=u.element("beat-unit"),i=void 0!==u.element("beat-unit-dot"),s=u.element("per-minute");if(void 0!==e&&s){u.hasAttributes&&void 0!==u.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(n));const r=parseFloat(s.value);!o&&this.createNewTempoExpressionIfNeeded(t);const a=new InstantaneousTempoExpression(void 0,this.placement,this.staffNumber,r,this.currentMultiTempoExpression,!0);a.parentMeasure=t,this.soundTempo=r,t.TempoInBPM=this.soundTempo*(i?1.5:1),0===this.musicSheet.DefaultStartTempoInBpm&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),1===t.MeasureNumberXML&&0===this.musicSheet.SourceMeasures.length&&(this.musicSheet.DefaultStartTempoInBpm=this.soundTempo),this.musicSheet.HasBPMInfo=!0,a.dotted=i,a.beatUnit=e.value,this.currentMultiTempoExpression.addExpression(a,""),this.currentMultiTempoExpression.CombinedExpressionsText="test"}}else if(u=c.element("dynamics"),u){const i=void 0!==e.element("notations");this.interpretInstantaneousDynamics(u,t,n,i)}else if(u=c.element("words"),u){const e=c.elements("words");let i="";for(const t of e)i+=t.value;if(u.value=i,s||isSpeedKeyword(u.value)||isSpeedHiddenKeyword(u.value)){this.createNewTempoExpressionIfNeeded(t),this.currentMultiTempoExpression.CombinedExpressionsText=u.value,(isSpeedKeyword(u.value)||isSpeedHiddenKeyword(u.value))&&(u.value=void 0);const e=new InstantaneousTempoExpression(u.value,this.placement,this.staffNumber,this.soundTempo,this.currentMultiTempoExpression);this.currentMultiTempoExpression.addExpression(e,"")}else a||this.interpretWords(u,t,n)}else u=c.element("wedge"),u?this.interpretWedge(u,t,i,t.MeasureNumber):(u=c.element("rehearsal"),u&&this.interpretRehearsalMark(u,t,n,t.MeasureNumber))}closeOpenExpressions(e,t){for(const n of this.openContinuousDynamicExpressions)this.createNewMultiExpressionIfNeeded(e,n.NumberXml,t),this.closeOpenContinuousDynamic(n,e,t);this.openContinuousTempoExpression&&this.closeOpenContinuousTempo(Fraction$1.plus(e.AbsoluteTimestamp,t))}addOctaveShift(e,t,n){let i=1;const r=e.element("staff");if(r)try{i=parseInt(r.value,10)}catch(a){const e=ITextTranslation.translateText("ReaderErrorMessages/OctaveShiftStaffError","Invalid octave shift staff number. Set to default");this.musicSheet.SheetErrors.pushMeasureError(e),i=1,loglevelExports.debug("ExpressionReader.addOctaveShift",e,a)}const o=e.element("direction-type");if(o){const r=o.element("octave-shift"),l=this.readPlacement(e);if(void 0!==r&&r.hasAttributes)try{const e=this.readNumber(r);if(r.attribute("size")){var s;const o=parseInt(r.attribute("size").value,10);let a=0;8===o?a=1:15===o&&(a=2);let c=null===(s=r.attribute("type"))||void 0===s?void 0:s.value;if(c||(l===PlacementEnum.Above?c="down":l===PlacementEnum.Below&&(c="up")),"up"===c||"down"===c){const n=new OctaveShift(c,a);n.StaffNumber=i,this.getMultiExpression=this.createNewMultiExpressionIfNeeded(t,e),this.getMultiExpression.OctaveShiftStart=n,n.ParentStartMultiExpression=this.getMultiExpression,this.openOctaveShift=n}else if("stop"===c){if(this.openOctaveShift){this.getMultiExpression=this.createNewMultiExpressionIfNeeded(t,this.openOctaveShift.numberXml,n);this.getMultiExpression.OctaveShiftEnd=this.openOctaveShift,this.openOctaveShift.ParentEndMultiExpression=this.getMultiExpression,this.openOctaveShift=void 0}}else c||loglevelExports.debug("octave-shift missing type in xml")}}catch(a){const e=ITextTranslation.translateText("ReaderErrorMessages/OctaveShiftError","Error while reading octave shift.");this.musicSheet.SheetErrors.pushMeasureError(e),loglevelExports.debug("ExpressionReader.addOctaveShift",e,a)}}}addPedalMarking(e,t,n){const i=e.element("direction-type");if(i){const e=i.element("pedal");if(void 0!==e&&e.hasAttributes){let i=!1,l=!1;try{var r,o,s;switch("yes"===(null===(r=e.attribute("line"))||void 0===r?void 0:r.value)?l=!0:"no"===(null===(o=e.attribute("line"))||void 0===o?void 0:o.value)?(l=!1,i=!0):"yes"===(null===(s=e.attribute("sign"))||void 0===s?void 0:s.value)?i=!0:(i=!1,l=!0),e.attribute("type").value){case"start":this.openPedal&&this.openPedal.IsLine&&this.endOpenPedal(t),this.createNewMultiExpressionIfNeeded(t,-1),this.openPedal=new Pedal(l,i),this.getMultiExpression.PedalStart=this.openPedal,this.openPedal.ParentStartMultiExpression=this.getMultiExpression;break;case"stop":this.openPedal&&this.endOpenPedal(t,n);break;case"change":this.openPedal&&this.openPedal.IsLine&&(this.openPedal.ChangeEnd=!0,this.createNewMultiExpressionIfNeeded(t,-1),this.getMultiExpression.PedalEnd=this.openPedal,this.openPedal.ParentEndMultiExpression=this.getMultiExpression,this.createNewMultiExpressionIfNeeded(t,-1),this.openPedal=new Pedal(l,i),this.openPedal.ChangeBegin=!0,this.getMultiExpression.PedalStart=this.openPedal,this.openPedal.ParentStartMultiExpression=this.getMultiExpression)}}catch(a){const e=ITextTranslation.translateText("ReaderErrorMessages/PedalError","Error while reading pedal.");this.musicSheet.SheetErrors.pushMeasureError(e),loglevelExports.debug("ExpressionReader.addPedalMarking",e,a)}}}}endOpenPedal(e,t){this.createNewMultiExpressionIfNeeded(e,-1,t),this.getMultiExpression.PedalEnd=this.openPedal,this.openPedal.ParentEndMultiExpression=this.getMultiExpression,this.openPedal=void 0}addWavyLine(e,t,n,i){if(e&&e.hasAttributes)try{switch(e.attribute("type").value){case"start":this.createNewMultiExpressionIfNeeded(t,-1),this.openWavyLine=new WavyLine(this.placement),this.getMultiExpression.WavyLineStart=this.openWavyLine,this.openWavyLine.ParentStartMultiExpression=this.getMultiExpression;break;case"stop":this.openWavyLine&&(this.createNewMultiExpressionIfNeeded(t,-1,n),this.getMultiExpression.WavyLineEnd=this.openWavyLine,this.openWavyLine.ParentEndMultiExpression=this.getMultiExpression,this.openWavyLine=void 0)}}catch(r){const e=ITextTranslation.translateText("ReaderErrorMessages/WavyLineError","Error while reading wavy-line.");this.musicSheet.SheetErrors.pushMeasureError(e),loglevelExports.debug("ExpressionReader.addWavyLine",e,r)}}initialize(){this.placement=PlacementEnum.NotYetDefined,this.soundTempo=0,this.soundDynamic=0,this.offsetDivisions=0}readPlacement(e){var t;const n=null===(t=e.attribute("placement"))||void 0===t?void 0:t.value;return"above"===n?PlacementEnum.Above:"below"===n?PlacementEnum.Below:PlacementEnum.NotYetDefined}readExpressionPlacement(e,t){try{const t=this.readPosition(e);t<0?this.placement=PlacementEnum.Below:t>0&&(this.placement=PlacementEnum.Above)}catch(n){loglevelExports.debug("ExpressionReader.readExpressionParameters",t,n)}}readPosition(e){try{const t=parseInt(e.value,10);return t<0?this.placement=PlacementEnum.Below:t>0&&(this.placement=PlacementEnum.Above),t}catch(t){loglevelExports.debug("ExpressionReader.readExpressionParameters",t)}}interpretInstantaneousDynamics(e,t,n,i){if(e.hasElements){var r;e.hasAttributes&&e.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(n));const a=this.readNumber(e);let l=null===(r=e.elements()[0])||void 0===r?void 0:r.name;if("other-dynamics"===l&&(l=e.elements()[0].value),l){var o;if(null!==(o=t.Rules)&&void 0!==o&&o.IgnoreRepeatedDynamics){var s;let e;try{e=DynamicEnum[l]}catch(err){const t=ITextTranslation.translateText("ReaderErrorMessages/DynamicError","Error while reading dynamic.");return void this.musicSheet.SheetErrors.pushMeasureError(t)}if((null===(s=this.activeInstantaneousDynamic)||void 0===s?void 0:s.DynEnum)===e)return}i?this.createNewMultiExpressionIfNeeded(t,a,Fraction$1.createFromFraction(n)):this.createNewMultiExpressionIfNeeded(t,a);const e=new InstantaneousDynamicExpression(l,this.soundDynamic,this.placement,this.staffNumber,t);e.InMeasureTimestamp=n.clone(),this.getMultiExpression.addExpression(e,""),this.initialize(),this.activeInstantaneousDynamic?this.activeInstantaneousDynamic.DynEnum=e.DynEnum:this.activeInstantaneousDynamic=new InstantaneousDynamicExpression(l,0,PlacementEnum.NotYetDefined,1,t)}}}interpretWords(e,t,n){const i=e.value;if(t.Rules.IgnoreBracketsWords&&(/^\(\s*\)$/.test(i)||/^\[\s*\]$/.test(i)))return;let r;const o=e.attribute("font-style");let s,a,l;o&&(s=o.value,"italic"===s&&(r=FontStyles.Italic));const c=e.attribute("font-weight");c&&(a=c.value,"bold"===a&&(r=FontStyles.Bold,"italic"===s&&(r=FontStyles.BoldItalic)));const u=e.attribute("color");let h;if(u&&(l=u.value),t.Rules.PlaceWordsInsideStafflineFromXml){var d;const t=null===(d=e.attribute("default-y"))||void 0===d?void 0:d.value;(null==t?void 0:t.length)>0&&(h=Number.parseInt(t,10))}if(i.length>0){if(e.hasAttributes&&e.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(n)),this.checkIfWordsNodeIsRepetitionInstruction(i))return;this.fillMultiOrTempoExpression(i,t,n,r,l,h),this.initialize()}}readNumber(e){var t;let n=1;const i=null===(t=e.attribute("number"))||void 0===t?void 0:t.value;return i&&(n=Number.parseInt(i,10)),n}interpretWedge(e,t,n,i){var r,o;void 0!==e&&e.hasAttributes&&e.attribute("default-x")&&(this.directionTimestamp=Fraction$1.createFromFraction(n));const s=this.readNumber(e),a=null===(r=e.attribute("type"))||void 0===r||null===(o=r.value)||void 0===o?void 0:o.toLowerCase();this.lastWedge&&this.lastWedge.parentMeasure.MeasureNumberXML===t.MeasureNumberXML&&this.lastWedge.StaffNumber===this.staffNumber&&this.placement===this.lastWedge.Placement&&void 0!==this.WedgeYPosXml&&this.lastWedge.YPosXml===this.WedgeYPosXml&&this.lastWedge.StartMultiExpression.Timestamp.Equals(this.directionTimestamp)&&this.lastWedge.DynamicType===ContDynamicEnum[a]||("stop"===a?this.createNewMultiExpressionIfNeeded(t,s,n):this.createNewMultiExpressionIfNeeded(t,s),this.addWedge(e,t,n),this.initialize())}interpretRehearsalMark(e,t,n,i){t.rehearsalExpression=new RehearsalExpression(e.value,this.placement)}createNewMultiExpressionIfNeeded(e,t,n=undefined){n||(n=this.directionTimestamp);let i=this.getMultiExpression;return(!i||i&&(i.SourceMeasureParent!==e||i.numberXml!==t||i.SourceMeasureParent===e&&i.Timestamp!==n))&&(this.getMultiExpression=i=new MultiExpression(e,Fraction$1.createFromFraction(n)),e.StaffLinkedExpressions[this.globalStaffIndex].push(i)),i}createNewTempoExpressionIfNeeded(e){this.currentMultiTempoExpression&&this.currentMultiTempoExpression.SourceMeasureParent===e&&this.currentMultiTempoExpression.Timestamp===this.directionTimestamp||(this.currentMultiTempoExpression=new MultiTempoExpression(e,Fraction$1.createFromFraction(this.directionTimestamp)),e.TempoExpressions.push(this.currentMultiTempoExpression))}addWedge(e,t,n){if(void 0!==e&&e.hasAttributes){const r=this.readNumber(e),o=e.attribute("type").value.toLowerCase();try{if("crescendo"===o||"diminuendo"===o){const e=new ContinuousDynamicExpression(ContDynamicEnum[o],this.placement,this.staffNumber,t,this.activeInstantaneousDynamic,r);this.lastWedge=e,this.lastWedge.YPosXml=this.WedgeYPosXml,this.openContinuousDynamicExpressions.push(e);let n=this.getMultiExpression;n||(n=this.createNewMultiExpressionIfNeeded(t,r)),n.StartingContinuousDynamic=e,e.StartMultiExpression=n,void 0!==this.activeInstantaneousDynamic&&this.activeInstantaneousDynamic.StaffNumber===e.StaffNumber&&(this.activeInstantaneousDynamic=void 0)}else if("stop"===o)for(const e of this.openContinuousDynamicExpressions)e.NumberXml===r&&this.closeOpenContinuousDynamic(e,t,n)}catch(i){const e="ReaderErrorMessages/WedgeError, Error while reading Crescendo / Diminuendo.";this.musicSheet.SheetErrors.pushMeasureError(e),loglevelExports.debug("ExpressionReader.addWedge",e,i)}}}fillMultiOrTempoExpression(e,t,n,i,r,o=undefined){if(!e)return;const s=e.trim();this.createExpressionFromString("",s,t,n,e,i,r,o)}createExpressionFromString(e,t,n,i,r,o,s,a=undefined){if(InstantaneousTempoExpression.isInputStringInstantaneousTempo(t)||ContinuousTempoExpression.isInputStringContinuousTempo(t)){if(n.TempoExpressions.length>0)for(let e=0,i=n.TempoExpressions.length;e<i;++e){const i=n.TempoExpressions[e];if(i.Timestamp===this.directionTimestamp&&void 0!==i.InstantaneousTempo&&-1!==i.InstantaneousTempo.Label.indexOf(t))return!1}if(this.createNewTempoExpressionIfNeeded(n),this.currentMultiTempoExpression.CombinedExpressionsText=r,InstantaneousTempoExpression.isInputStringInstantaneousTempo(t)){const n=new InstantaneousTempoExpression(t,this.placement,this.staffNumber,this.soundTempo,this.currentMultiTempoExpression);return n.ColorXML=s,this.currentMultiTempoExpression.addExpression(n,e),!0}if(ContinuousTempoExpression.isInputStringContinuousTempo(t)){const n=new ContinuousTempoExpression(t,this.placement,this.staffNumber,this.currentMultiTempoExpression);return n.ColorXML=s,this.currentMultiTempoExpression.addExpression(n,e),!0}}if(ContinuousDynamicExpression.isInputStringContinuousDynamic(t)){const r=new ContinuousDynamicExpression(void 0,this.placement,this.staffNumber,n,this.activeInstantaneousDynamic,-1,t);r.ColorXML=s;const o=this.getMultiExpression;return o&&this.closeOpenContinuousDynamic(o.StartingContinuousDynamic,n,i),this.createNewMultiExpressionIfNeeded(n,-1),void 0!==this.activeInstantaneousDynamic&&this.activeInstantaneousDynamic.StaffNumber===r.StaffNumber&&(this.activeInstantaneousDynamic=void 0),this.openContinuousDynamicExpressions.push(r),r.StartMultiExpression=this.getMultiExpression,this.getMultiExpression.addExpression(r,e),!0}if(MoodExpression.isInputStringMood(t)){const i=this.createNewMultiExpressionIfNeeded(n,-1);n.hasMoodExpressions=!0;const r=new MoodExpression(t,this.placement,this.staffNumber);return r.fontStyle=o,r.ColorXML=s,i.addExpression(r,e),!0}const l=this.createNewMultiExpressionIfNeeded(n,-1);if(n.TempoExpressions.length>0)for(let h=0,d=n.TempoExpressions.length;h<d;++h){const e=n.TempoExpressions[h];if(e.Timestamp===this.directionTimestamp&&void 0!==e.InstantaneousTempo&&e.EntriesList.length>0&&!this.hasDigit(t)&&this.globalStaffIndex>0){if(e.EntriesList[0].label.indexOf(t)>=0)return!1;break}}let c=TextAlignmentEnum.CenterBottom;this.musicSheet.Rules.CompactMode&&(c=TextAlignmentEnum.LeftBottom);const u=new UnknownExpression(t,this.placement,c,this.staffNumber);return u.fontStyle=o,u.ColorXML=s,u.defaultYXml=a,l.addExpression(u,e),!1}closeOpenContinuousDynamic(e,t,n){if(!e)return;const i=e.NumberXml;e.EndMultiExpression=this.createNewMultiExpressionIfNeeded(t,i,n),e.StartMultiExpression.EndingContinuousDynamic=e,this.openContinuousDynamicExpressions=this.openContinuousDynamicExpressions.filter((t=>t!==e))}closeOpenContinuousTempo(e){this.openContinuousTempoExpression.AbsoluteEndTimestamp=e,this.openContinuousTempoExpression=void 0}checkIfWordsNodeIsRepetitionInstruction(e){return"coda"===(e=e.trim().toLowerCase())||"tocoda"===e||"to coda"===e||"fine"===e||"d.c."===e||"dacapo"===e||"da capo"===e||"d.s."===e||"dalsegno"===e||"dal segno"===e||"d.c. al fine"===e||"d.s. al fine"===e||"d.c. al coda"===e||"d.s. al coda"===e}hasDigit(e){return/\d/.test(e)}}class SlurReader{constructor(e){this.openSlurDict={},this.musicSheet=e}addSlur(e,t){try{if(e)for(const i of e)if(i.attributes().length>0){const e=i.attribute("type").value;let r=1;try{i.attribute("number")&&(r=parseInt(i.attribute("number").value,10))}catch(n){loglevelExports.debug("VoiceGenerator.addSlur number: ",n)}let o=PlacementEnum.NotYetDefined;const s=i.attribute("placement");s&&s.value&&("above"===s.value?o=PlacementEnum.Above:"below"===s.value&&(o=PlacementEnum.Below));const a=i.attribute("orientation");if(a&&a.value&&("over"===a.value?o=PlacementEnum.Above:"under"===a.value&&(o=PlacementEnum.Below)),"start"===e){let e=this.openSlurDict[r];e||(e=new Slur,this.openSlurDict[r]=e),e.StartNote=t,e.PlacementXml=o}else if("stop"===e){const e=this.openSlurDict[r];if(e){const n=i.name;if("slide"===n||"glissando"===n){const n=e.StartNote,i=new Glissando(n);i.AddNote(t),i.EndNote=t,t.NoteGlissando=i,delete this.openSlurDict[r]}else{if(e.EndNote=t,!t.isDuplicateSlur(e)){t.NoteSlurs.push(e);e.StartNote.NoteSlurs.push(e)}delete this.openSlurDict[r]}}}}}catch(err){const t=ITextTranslation.translateText("ReaderErrorMessages/SlurError","Error while reading slur.");this.musicSheet.SheetErrors.pushMeasureError(t)}}}class InstrumentReader{constructor(e,t,n,i){this.voiceGeneratorsDict={},this.staffMainVoiceGeneratorDict={},this.divisions=0,this.currentClefNumber=1,this.currentXmlMeasureIndex=0,this.activeKeyHasBeenInitialized=!1,this.abstractInstructions=[],this.soundTempos=new Map,this.xmlNotes=[],this.repetitionInstructionReader=t,this.xmlMeasureList=n,this.musicSheet=i.GetMusicSheet,this.instrument=i,this.activeClefs=new Array(i.Staves.length),this.activeClefsHaveBeenInitialized=new Array(i.Staves.length);for(let r=0;r<i.Staves.length;r++)this.activeClefsHaveBeenInitialized[r]=!1;this.createExpressionGenerators(i.Staves.length),this.slurReader=new SlurReader(this.musicSheet),this.pluginManager=e}get SoundTempos(){return this.soundTempos}get ActiveKey(){return this.activeKey}get MaxTieNoteFraction(){return this.maxTieNoteFraction}get ActiveRhythm(){return this.activeRhythm}set ActiveRhythm(e){this.activeRhythm=e}readNextXmlMeasure(t,n,i){if(this.currentXmlMeasureIndex>=this.xmlMeasureList.length)return!1;this.currentMeasure=t,this.followingMultirestMeasures=Math.max(this.followingMultirestMeasures-1,0),this.inSourceMeasureInstrumentIndex=this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.instrument),this.repetitionInstructionReader&&this.repetitionInstructionReader.prepareReadingMeasure(t,this.currentXmlMeasureIndex);let r=new Fraction$1(0,1),o=new Fraction$1(0,1),s=!1;this.maxTieNoteFraction=new Fraction$1(0,1);let a=!1;const l=[];let c=!1;try{const y=this.xmlMeasureList[this.currentXmlMeasureIndex],A=y.elements();if(t.Rules.UseXMLMeasureNumbers&&!Number.isInteger(t.MeasureNumberXML)){var u;const e=parseInt(null===(u=y.attribute("number"))||void 0===u?void 0:u.value,10);Number.isInteger(e)&&(t.MeasureNumberXML=e)}let S;for(let u=0;u<A.length;u++){const y=A[u];if(u>0&&(S=A[u-1]),"print"===y.name){const e=y.attribute("new-system");"yes"===(null==e?void 0:e.value)&&(t.printNewSystemXml=!0);const n=y.attribute("new-page");"yes"===(null==n?void 0:n.value)&&(t.printNewPageXml=!0)}else if("attributes"===y.name){const n=y.element("divisions");if(n&&(this.divisions=parseInt(n.value,10),isNaN(this.divisions))){const e=ITextTranslation.translateText("ReaderErrorMessages/DivisionError","Invalid divisions value at Instrument: ");if(loglevelExports.debug("InstrumentReader.readNextXmlMeasure",e),this.divisions=this.readDivisionsFromNotes(),!(this.divisions>0))throw s=!0,new MusicSheetReadingException(e+this.instrument.Name);this.musicSheet.SheetErrors.push(e+this.instrument.Name)}if(!y.element("divisions")&&0===this.divisions&&0===this.currentXmlMeasureIndex){const e=ITextTranslation.translateText("ReaderErrorMessages/DivisionError","Invalid divisions value at Instrument: ");if(this.divisions=this.readDivisionsFromNotes(),!(this.divisions>0))throw s=!0,new MusicSheetReadingException(e+this.instrument.Name);this.musicSheet.SheetErrors.push(e+this.instrument.Name)}this.addAbstractInstruction(y,i,S,r.clone()),r.Equals(new Fraction$1(0,1))&&this.isAttributesNodeAtBeginOfMeasure(this.xmlMeasureList[this.currentXmlMeasureIndex],y)&&this.saveAbstractInstructionList(this.instrument.Staves.length,!0),this.isAttributesNodeAtEndOfMeasure(this.xmlMeasureList[this.currentXmlMeasureIndex],y,r)&&this.saveClefInstructionAtEndOfMeasure();const o=y.elements("staff-details");for(const e of o){const t=e.element("staff-lines");if(t){let n=1;const i=e.attribute("number");i&&(n=parseInt(i.value,10)),this.instrument.Staves[n-1].StafflineCount=parseInt(t.value,10)}}const a=y.element("measure-style");if(a){const n=a.element("multiple-rest");if(n){const i=n.value;let r=0;try{r=Number.parseInt(i,10),void 0!==t.multipleRestMeasures&&r!==t.multipleRestMeasures?t.multipleRestMeasures=0:(t.multipleRestMeasures=r,this.currentMultirestStartMeasure=t,this.followingMultirestMeasures=r+1)}catch(e){console.log("multirest parse error: "+e)}}}}else if("note"===y.name){var h;let e=!0;"no"===(null===(h=y.attribute("print-object"))||void 0===h?void 0:h.value)&&(e=!1);const t=this.getNoteStaff(y);this.currentStaff=this.instrument.Staves[t-1];const s=void 0!==y.element("chord");if(y.element("voice")){const e=parseInt(y.element("voice").value,10);this.currentVoiceGenerator=this.getOrCreateVoiceGenerator(e,t-1)}else s&&this.currentVoiceGenerator||(this.currentVoiceGenerator=this.getOrCreateVoiceGenerator(1,t-1));let c,u=0,d=new Fraction$1(0,1),p=2,f=!1;if(y.element("duration")){if(u=parseInt(y.element("duration").value,10),isNaN(u)){const e=ITextTranslation.translateText("ReaderErrorMessages/NoteDurationError","Invalid Note Duration.");this.musicSheet.SheetErrors.pushMeasureError(e),loglevelExports.debug("InstrumentReader.readNextXmlMeasure",e);continue}if(d=new Fraction$1(u,4*this.divisions),0===u?d=this.getNoteDurationFromTypeNode(y):c=this.getNoteDurationFromTypeNode(y),y.element("time-modification")){d=this.getNoteDurationForTuplet(y);const e=y.element("time-modification");null!=e&&e.element("normal-notes")&&(p=parseInt(e.element("normal-notes").value,10)),f=!0}}const m=void 0!==y.element("rest"),g=y.combinedElement("notations"),v=void 0!==y.element("grace")||0===u||s&&a;let b=!1,A=!1;if(v){const e=y.element("duration"),t=y.element("grace");if(t&&t.attributes()&&t.attribute("slash")){"yes"===t.attribute("slash").value&&(b=!0)}e||(d=this.getNoteDurationFromTypeNode(y)),g&&g.element("slur")&&(A=!0)}const[S,x]=this.getCueNoteAndNoteTypeXml(y),[E,w,_]=this.getStemDirectionAndColors(y);let M,P=0,T="",C="",I="";if(g){const e=g.element("ornaments");if(e){M=this.getTremoloInfo(e),this.getWavyLines(e,y,r,o);const t=e.element("tremolo");if(t){const e=t.attribute("type");if(T=e.value,e){const n=parseInt(t.value,10);n>0&&(P=n),"start"!==e.value&&"stop"!==e.value||(d=new Fraction$1(parseInt(y.element("duration").value,10),4*this.divisions))}}const n=e.elements("wavy-line");if(void 0!==n)for(const e of n){const t=this.expressionReaders[this.readExpressionStaffNumber(y)-1];t&&(t.readExpressionParameters(e,this.instrument,this.divisions,r,o,this.currentMeasure.MeasureNumber,!1),t.addWavyLine(e,this.currentMeasure,r,o))}}const t=g.elements("glissando");t.find((e=>"start"===e.attribute("type").value))&&(C="start");const n=g.elements("slide");n.find((e=>"start"===e.attribute("type").value))&&(I="start")}const k=s?o.clone():r.clone();this.currentStaffEntry=this.currentMeasure.findOrCreateStaffEntry(k,this.inSourceMeasureInstrumentIndex+t-1,this.currentStaff).staffEntry,(!this.currentVoiceGenerator.hasVoiceEntry()||!s&&!v&&!a||v&&!a||v&&!s||!v&&a)&&this.currentVoiceGenerator.createVoiceEntry(k,this.currentStaffEntry,this.activeKey,this.ActiveRhythm,v,b,A),v||s||(o=r.clone(),r.Add(d)),s&&void 0!==this.currentStaffEntry&&this.currentStaffEntry.ParentStaff!==this.currentStaff&&(this.currentStaffEntry=this.currentVoiceGenerator.checkForStaffEntryLink(this.inSourceMeasureInstrumentIndex+t-1,this.currentStaff,this.currentStaffEntry,this.currentMeasure));const B=void 0!==this.currentStaffEntry&&void 0!==this.currentStaffEntry.Timestamp&&this.currentStaffEntry.Timestamp.Equals(new Fraction$1(0,1))&&!this.currentStaffEntry.hasNotes();this.saveAbstractInstructionList(this.instrument.Staves.length,B),this.activeRhythm,f||v||(d=new Fraction$1(u,4*this.divisions));const R=y.elements("dot").length;if(this.currentVoiceGenerator.read(y,d,c,x,p,m,this.currentStaffEntry,this.currentMeasure,n,this.maxTieNoteFraction,s,i,e,S,v,E,M,w,_,R,T,C,I),void 0!==g&&g.element("dynamics")){const e=this.expressionReaders[this.readExpressionStaffNumber(y)-1];e&&(e.readExpressionParameters(y,this.instrument,this.divisions,r,o,this.currentMeasure.MeasureNumber,!1),e.read(y,this.currentMeasure,o,void 0,l.length))}a=v}else if("forward"===y.name){const e=parseInt(y.element("duration").value,10);r.Add(new Fraction$1(e,4*this.divisions))}else if("backup"===y.name){const e=parseInt(y.element("duration").value,10);r.Sub(new Fraction$1(e,4*this.divisions)),r.IsNegative()&&(r=new Fraction$1(0,1)),o.Sub(new Fraction$1(e,4*this.divisions)),o.IsNegative()&&(o=new Fraction$1(0,1))}else if("direction"===y.name){const e=y.elements("direction-type"),t=y.element("direction-type");let n=Math.min(1,r.RealValue);void 0!==this.activeRhythm&&this.activeRhythm.Rhythm&&(n/=this.activeRhythm.Rhythm.RealValue);let i=!1;if(this.repetitionInstructionReader&&(i=this.repetitionInstructionReader.handleRepetitionInstructionsFromWordsOrSymbols(t,n)),!i){let n=this.expressionReaders[0];const i=this.readExpressionStaffNumber(y)-1;if(i<this.expressionReaders.length&&(n=this.expressionReaders[i]),n){var d;t.element("octave-shift")&&(n.readExpressionParameters(y,this.instrument,this.divisions,r,o,this.currentMeasure.MeasureNumber,!0),n.addOctaveShift(y,this.currentMeasure,o.clone())),t.element("pedal")&&(n.readExpressionParameters(y,this.instrument,this.divisions,r,o,this.currentMeasure.MeasureNumber,!0),n.addPedalMarking(y,this.currentMeasure,r.clone()));const i=t.element("words");if(i){var p,f,m,g;var v;if(GradientWords.map((e=>null==e?void 0:e.toLocaleLowerCase())).includes(null===(p=i.value)||void 0===p?void 0:p.toLocaleLowerCase()))this.currentGradualChangeMeasure=this.currentMeasure,this.currentMeasure.speedInfo={startWord:null===(v=i.value)||void 0===v?void 0:v.toLocaleLowerCase(),startXmlNoteIndex:l.length,endXmlNoteIndex:0,resetXmlNoteIndex:0,startMeasureListIndex:this.currentXmlMeasureIndex,endMeasureListIndex:0,resetMeasureListIndex:0},this.xmlNotes=[];if(i.value.startsWith(GRADIENT_SPEED_CLOSE_TAG)&&null!==(f=this.currentGradualChangeMeasure)&&void 0!==f&&f.speedInfo&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:this.xmlNotes.length,endMeasureListIndex:this.currentXmlMeasureIndex}),(null===(m=i.value)||void 0===m?void 0:m.toLocaleLowerCase())==="a tempo".toLocaleLowerCase()&&null!==(g=this.currentGradualChangeMeasure)&&void 0!==g&&g.speedInfo){const{endXmlNoteIndex:e,resetXmlNoteIndex:t,endMeasureListIndex:n}=this.currentGradualChangeMeasure.speedInfo;0===t&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:e||this.xmlNotes.length,endMeasureListIndex:n||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.xmlNotes=[]}c=!(!i.value||"hiddenspeed"!==i.value.toLocaleLowerCase())}if(e.find((e=>e.element("metronome")))&&null!==(d=this.currentGradualChangeMeasure)&&void 0!==d&&d.speedInfo){const{endXmlNoteIndex:e,resetXmlNoteIndex:t,endMeasureListIndex:n}=this.currentGradualChangeMeasure.speedInfo;0===t&&(this.currentGradualChangeMeasure.speedInfo={...this.currentGradualChangeMeasure.speedInfo,endXmlNoteIndex:e||this.xmlNotes.length,endMeasureListIndex:n||this.currentXmlMeasureIndex,resetXmlNoteIndex:this.xmlNotes.length,resetMeasureListIndex:this.currentXmlMeasureIndex}),this.xmlNotes=[]}n.readExpressionParameters(y,this.instrument,this.divisions,r,o,this.currentMeasure.MeasureNumber,!1),n.read(y,this.currentMeasure,r,o.clone(),l.length,c)}}}else if("barline"===y.name){if(this.repetitionInstructionReader){this.repetitionInstructionReader.handleLineRepetitionInstructions(y)&&(this.currentMeasure.HasEndLine=!0)}const e=y.attribute("location");if(u===A.length-1||e&&"right"===e.value){var b;const e=null===(b=y.element("bar-style"))||void 0===b?void 0:b.value;e&&(this.currentMeasure.endingBarStyleXml=e,this.currentMeasure.endingBarStyleEnum=SystemLinesEnumHelper.xmlBarlineStyleToSystemLinesEnum(e))}}else if("sound"===y.name)try{if(y.attribute("tempo")){const e=parseFloat(y.attribute("tempo").value);y.element("offset")&&(this.soundTempos.has(this.currentXmlMeasureIndex)||this.soundTempos.set(this.currentXmlMeasureIndex,[]),this.soundTempos.get(this.currentXmlMeasureIndex).push(e)),0===this.currentXmlMeasureIndex&&(this.musicSheet.DefaultStartTempoInBpm=e,this.musicSheet.HasBPMInfo=!0)}}catch(e){loglevelExports.debug("InstrumentReader.readTempoInstruction",e)}else if("harmony"===y.name){const e=this.getNoteStaff(y);this.currentStaff=this.instrument.Staves[e-1];const t=r.clone();this.currentStaffEntry=this.currentMeasure.findOrCreateStaffEntry(t,this.inSourceMeasureInstrumentIndex+e-1,this.currentStaff).staffEntry,this.currentStaffEntry.ChordContainers.push(ChordSymbolReader.readChordSymbol(y,this.musicSheet,this.activeKey))}}for(const e in this.voiceGeneratorsDict)if(this.voiceGeneratorsDict.hasOwnProperty(e)){this.voiceGeneratorsDict[e].checkForOpenBeam()}if(this.currentXmlMeasureIndex===this.xmlMeasureList.length-1){for(let e=0;e<this.instrument.Staves.length;e++)this.activeClefsHaveBeenInitialized[e]||this.createDefaultClefInstruction(this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.instrument)+e);this.activeKeyHasBeenInitialized||this.createDefaultKeyInstruction();for(let e=0;e<this.expressionReaders.length;e++){const t=this.expressionReaders[e];t&&t.closeOpenExpressions(this.currentMeasure,r)}}Object.keys(this.voiceGeneratorsDict).forEach((e=>{this.voiceGeneratorsDict[e].finalizeReadingMeasure()})),this.musicSheet.HasBPMInfo?0===t.TempoInBPM&&this.previousMeasure&&(this.currentMeasure.TempoInBPM=this.previousMeasure.TempoInBPM):this.currentMeasure.TempoInBPM=120}catch(e){if(s)throw new MusicSheetReadingException(e.Message);const n=ITextTranslation.translateText("ReaderErrorMessages/MeasureError","Error while reading Measure.");this.musicSheet.SheetErrors.pushMeasureError(n),loglevelExports.debug("InstrumentReader.readNextXmlMeasure",n,e)}return this.previousMeasure=this.currentMeasure,this.currentXmlMeasureIndex+=1,!0}getStemDirectionAndColors(e){let t,n=StemDirectionType.Undefined;const i=e.element("stem");if(i){n=this.getStemDirectionType(i);const e=i.attribute("color");e&&(t=this.parseXmlColor(e.value))}let r=this.getNoteHeadColorXml(e);const o=this.getNoteColorXml(e);return o&&!r&&(r=o),o&&!t&&(t=o),[n,t,r]}parseXmlColor(e){if(e)return 7===e.length?e:9===e.length?"#"+e.substr(3):void 0}doCalculationsAfterDurationHasBeenSet(){for(const e in this.voiceGeneratorsDict)this.voiceGeneratorsDict.hasOwnProperty(e)&&this.voiceGeneratorsDict[e].checkOpenTies()}getOrCreateVoiceGenerator(e,t){const n=this.instrument.Staves[t];let i=this.voiceGeneratorsDict[e];if(i)-1===n.Voices.indexOf(i.GetVoice)&&n.Voices.push(i.GetVoice);else{const r=this.staffMainVoiceGeneratorDict[t];r?(i=new VoiceGenerator(this.pluginManager,n,e,this.slurReader,r.GetVoice),n.Voices.push(i.GetVoice),this.voiceGeneratorsDict[e]=i):(i=new VoiceGenerator(this.pluginManager,n,e,this.slurReader),n.Voices.push(i.GetVoice),this.voiceGeneratorsDict[e]=i,this.staffMainVoiceGeneratorDict[t]=i)}return i}createExpressionGenerators(e){this.expressionReaders=new Array(e);for(let t=0;t<e;t++)this.expressionReaders[t]=new ExpressionReader(this.musicSheet,this.instrument,t+1)}createDefaultClefInstruction(e){let t;t=this.musicSheet.SourceMeasures.length>0?this.musicSheet.SourceMeasures[0]:this.currentMeasure;const n=new ClefInstruction(ClefEnum.G,0,2);let i;t.FirstInstructionsStaffEntries[e]?(i=t.FirstInstructionsStaffEntries[e],i.removeFirstInstructionOfTypeClefInstruction()):(i=new SourceStaffEntry(void 0,void 0),t.FirstInstructionsStaffEntries[e]=i),n.Parent=i,i.Instructions.splice(0,0,n)}createDefaultKeyInstruction(){let e;e=this.musicSheet.SourceMeasures.length>0?this.musicSheet.SourceMeasures[0]:this.currentMeasure;const t=new KeyInstruction(void 0,0,KeyEnum.major);for(let n=this.inSourceMeasureInstrumentIndex;n<this.inSourceMeasureInstrumentIndex+this.instrument.Staves.length;n++)if(e.FirstInstructionsStaffEntries[n]){const i=e.FirstInstructionsStaffEntries[n];t.Parent=i,i.removeFirstInstructionOfTypeKeyInstruction(),i.Instructions[0]instanceof ClefInstruction?i.Instructions.splice(1,0,t):i.Instructions.splice(0,0,t)}else{const i=new SourceStaffEntry(void 0,void 0);e.FirstInstructionsStaffEntries[n]=i,t.Parent=i,i.Instructions.push(t)}}isAttributesNodeAtBeginOfMeasure(e,t){const n=e.elements(),i=n.indexOf(t);if(i>0&&"backup"===n[i-1].name)return!0;let r=-1;for(let o=0;o<n.length;o++)if("note"===n[o].name){r=o;break}return i<r&&r>0||r<0}isAttributesNodeAtEndOfMeasure(e,t,n){var i;if(n.Equals(null===(i=this.ActiveRhythm)||void 0===i?void 0:i.Rhythm))return!0;const r=e.elements().slice();let o=0;for(let a=0;a<r.length;a++)if(r[a]===t){o=a;break}let s=0;for(let a=o;a<r.length;a++)if("note"===r[a].name){s=a;break}return o>s}getNoteDurationFromTypeNode(e){const t=e.element("type");if(t){const e=t.value;return NoteTypeHandler.getNoteDurationFromType(e)}return new Fraction$1(0,4*this.divisions)}addAbstractInstruction(t,n,i,r){if(t.element("divisions")&&1===t.elements().length)return;const o=t.element("transpose");if(o){const e=o.element("chromatic");e&&(this.instrument.PlaybackTranspose=parseInt(e.value,10))}const s=t.elements("clef");let a;if(s.length>0)for(let c=0,u=s.length;c<u;++c){const t=s[c];let n=ClefEnum.G,i=2,o=1,u=0;const h=t.element("line");if(h)try{i=parseInt(h.value,10)}catch(l){a=ITextTranslation.translateText("ReaderErrorMessages/ClefLineError","Invalid clef line. Using default."),this.musicSheet.SheetErrors.pushMeasureError(a),i=2,loglevelExports.debug("InstrumentReader.addAbstractInstruction",a,l)}const d=t.element("sign");if(d)try{n=ClefEnum[d.value],ClefInstruction.isSupportedClef(n)||(a=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Unsupported clef. Using default."),this.musicSheet.SheetErrors.pushMeasureError(a),n=ClefEnum.G,i=2),n===ClefEnum.TAB&&(u=-1)}catch(e){a=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Invalid clef. Using default."),this.musicSheet.SheetErrors.pushMeasureError(a),n=ClefEnum.G,i=2,loglevelExports.debug("InstrumentReader.addAbstractInstruction",a,e)}const p=t.element("clef-octave-change");if(p)try{u=parseInt(p.value,10)}catch(e){a=ITextTranslation.translateText("ReaderErrorMessages/ClefOctaveError","Invalid clef octave. Using default."),this.musicSheet.SheetErrors.pushMeasureError(a),u=0}if(t.hasAttributes&&t.attribute("number"))try{o=parseInt(t.attribute("number").value,10),o>this.currentClefNumber&&(o=this.currentClefNumber),this.currentClefNumber=o+1}catch(err){a=ITextTranslation.translateText("ReaderErrorMessages/ClefError","Invalid clef. Using default."),this.musicSheet.SheetErrors.pushMeasureError(a),o=1,this.currentClefNumber=o+1}const f=new ClefInstruction(n,u,i);this.abstractInstructions.push([o,f,r])}if(void 0!==t.element("key")&&this.instrument.MidiInstrumentId!==MidiInstrument.Percussion){let e=0;const n=t.element("key").element("fifths");if(n)try{e=parseInt(n.value,10)}catch(l){a=ITextTranslation.translateText("ReaderErrorMessages/KeyError","Invalid key. Set to default."),this.musicSheet.SheetErrors.pushMeasureError(a),e=0,loglevelExports.debug("InstrumentReader.addAbstractInstruction",a,l)}let i=KeyEnum.none,o=t.element("key");if(o&&(o=o.element("mode")),o)try{i=KeyEnum[o.value]}catch(l){a=ITextTranslation.translateText("ReaderErrorMessages/KeyError","Invalid key/mode. Set to default."),this.musicSheet.SheetErrors.pushMeasureError(a),i=KeyEnum.major,loglevelExports.debug("InstrumentReader.addAbstractInstruction",a,l)}const s=new KeyInstruction(void 0,e,i);this.abstractInstructions.push([1,s,r])}if(t.element("time")){const e=t.element("time");let n=RhythmSymbolEnum.NONE,i=!0;if(void 0!==e&&e.hasAttributes){const t=e.attribute("symbol");t&&("common"===t.value?n=RhythmSymbolEnum.COMMON:"cut"===t.value&&(n=RhythmSymbolEnum.CUT));const r=e.attribute("print-object");r&&"no"===r.value&&(i=!1)}let o=0,s=0;const c=e&&void 0!==e.element("senza-misura"),u=t.elements("time"),h=[],d=[];for(let t=0,r=u.length;t<r;++t){const e=u[t];h.push.apply(h,e.elements("beats")),d.push.apply(d,e.elements("beat-type"))}if(c)this.abstractInstructions.push([1,new RhythmInstruction(new Fraction$1(4,4,0,!1),RhythmSymbolEnum.NONE),r]);else{try{if(void 0!==h&&h.length>0&&void 0!==d&&h.length===d.length){const e=h.length,t=new Array(e);let n=0;for(let i=0;i<e;i++){const e=h[i].value;let r=0,o=0;if(-1!==e.indexOf("+")){const t=e.split("+");for(let e=0,n=t.length;e<n;++e)r+=parseInt(t[e],10)}else r=parseInt(e,10);o=parseInt(d[i].value,10),n=Math.max(n,o),t[i]=new Fraction$1(r,o,0,!1)}for(let i=0;i<e;i++)t[i].Denominator===n?o+=t[i].Numerator:o+=n/t[i].Denominator*t[i].Numerator;s=n}else o=parseInt(t.element("time").element("beats").value,10),s=parseInt(t.element("time").element("beat-type").value,10)}catch(l){a=ITextTranslation.translateText("ReaderErrorMessages/RhythmError","Invalid rhythm. Set to default."),this.musicSheet.SheetErrors.pushMeasureError(a),o=4,s=4,loglevelExports.debug("InstrumentReader.addAbstractInstruction",a,l)}const e=new RhythmInstruction(new Fraction$1(o,s,0,!1),n);e.PrintObject=i,this.abstractInstructions.push([1,e,r])}}}saveAbstractInstructionList(e,t){for(let n=this.abstractInstructions.length-1;n>=0;n--){const i=this.abstractInstructions[n],r=i[0],o=i[1],s=i[2];if(o instanceof ClefInstruction){const e=o;if(0===this.currentXmlMeasureIndex||r<=this.activeClefs.length&&e!==this.activeClefs[r-1])if(t||void 0===this.currentStaffEntry||this.currentStaffEntry.hasNotes()||r-1!==this.instrument.Staves.indexOf(this.currentStaffEntry.ParentStaff))if(t){if(0!==s.RealValue)continue;let t;if(this.currentMeasure){const i=e,o=this.inSourceMeasureInstrumentIndex+r-1,s=this.currentMeasure.FirstInstructionsStaffEntries[o];if(0===this.currentXmlMeasureIndex)if(s)if(void 0===this.currentMeasure.FirstInstructionsStaffEntries[o]||s.Instructions[0]instanceof ClefInstruction){const e=new SourceStaffEntry(void 0,void 0);this.currentMeasure.LastInstructionsStaffEntries[o]=e,i.Parent=e,e.Instructions.push(i)}else t=s,i.Parent=t,t.removeFirstInstructionOfTypeClefInstruction(),t.Instructions.splice(0,0,i),this.activeClefsHaveBeenInitialized[r-1]=!0;else t=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[o]=t,i.Parent=t,t.Instructions.push(i),this.activeClefsHaveBeenInitialized[r-1]=!0;else if(this.activeClefsHaveBeenInitialized[r-1]){let e=this.previousMeasure;this.followingMultirestMeasures>0&&this.currentMeasure.Rules.RenderMultipleRestMeasures&&(e=this.currentMultirestStartMeasure);const t=new SourceStaffEntry(void 0,void 0);e.LastInstructionsStaffEntries[o]=t,i.Parent=t,t.Instructions.push(i)}else{const e=this.musicSheet.SourceMeasures[0];e.FirstInstructionsStaffEntries[o]?(t=e.FirstInstructionsStaffEntries[o],t.removeFirstInstructionOfTypeClefInstruction()):t=new SourceStaffEntry(void 0,void 0),i.Parent=t,t.Instructions.splice(0,0,i),this.activeClefsHaveBeenInitialized[r-1]=!0}this.activeClefs[r-1]=e,this.abstractInstructions.splice(n,1)}}else{let t;const i=this.activeRhythm.Rhythm;i.RealValue>0&&s.RealValue/i.RealValue>.9&&i.RealValue!==s.RealValue&&(this.currentMeasure.LastInstructionsStaffEntries[r-1]||(this.currentMeasure.LastInstructionsStaffEntries[r-1]=new SourceStaffEntry(void 0,this.instrument.Staves[r-1])),t=this.currentMeasure.LastInstructionsStaffEntries[r-1]),t&&(e.Parent=t,t.Instructions.push(e),this.activeClefs[r-1]=e,this.abstractInstructions.splice(n,1))}else{const t=e,i=this.currentStaffEntry;if(s&&Math.abs(s.RealValue-i.Timestamp.RealValue)>.01)continue;t.Parent=i,i.removeFirstInstructionOfTypeClefInstruction(),i.Instructions.push(t),this.activeClefs[r-1]=e,this.abstractInstructions.splice(n,1)}else r<=this.activeClefs.length&&e===this.activeClefs[r-1]&&this.abstractInstructions.splice(n,1)}if(o instanceof KeyInstruction){const t=o;if(this.activeKey&&this.activeKey.Key===t.Key)this.abstractInstructions.splice(n,1);else{let i;if(this.activeKey=t,this.abstractInstructions.splice(n,1),this.activeKeyHasBeenInitialized?i=this.currentMeasure:(this.activeKeyHasBeenInitialized=!0,i=this.currentXmlMeasureIndex>0?this.musicSheet.SourceMeasures[0]:this.currentMeasure),i)for(let n=this.inSourceMeasureInstrumentIndex;n<this.inSourceMeasureInstrumentIndex+e;n++){const e=t;if(i.FirstInstructionsStaffEntries[n]){const t=i.FirstInstructionsStaffEntries[n];e.Parent=t,t.removeFirstInstructionOfTypeKeyInstruction(),0===t.Instructions.length?t.Instructions.push(e):t.Instructions[0]instanceof ClefInstruction?t.Instructions.splice(1,0,e):t.Instructions.splice(0,0,e)}else{const t=new SourceStaffEntry(void 0,void 0);i.FirstInstructionsStaffEntries[n]=t,e.Parent=t,t.Instructions.push(e)}}}}if(o instanceof RhythmInstruction){const t=o;if(this.activeRhythm&&this.activeRhythm===t)this.abstractInstructions.splice(n,1);else if(this.activeRhythm=t,this.abstractInstructions.splice(n,1),this.currentMeasure)for(let n=this.inSourceMeasureInstrumentIndex;n<this.inSourceMeasureInstrumentIndex+e;n++){const e=t;let i;this.currentMeasure.FirstInstructionsStaffEntries[n]?(i=this.currentMeasure.FirstInstructionsStaffEntries[n],i.removeFirstInstructionOfTypeRhythmInstruction()):(i=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[n]=i),e.Parent=i,i.Instructions.push(e)}}}}saveClefInstructionAtEndOfMeasure(){for(let e=this.abstractInstructions.length-1;e>=0;e--){const t=this.abstractInstructions[e][0],n=this.abstractInstructions[e][1];if(n instanceof ClefInstruction){const i=n;if(!this.activeClefs[t-1]||i.ClefType!==this.activeClefs[t-1].ClefType||i.ClefType===this.activeClefs[t-1].ClefType&&i.Line!==this.activeClefs[t-1].Line){const n=new SourceStaffEntry(void 0,void 0);this.currentMeasure.LastInstructionsStaffEntries[this.inSourceMeasureInstrumentIndex+t-1]=n;const r=i;r.Parent=n,n.Instructions.push(r),this.activeClefs[t-1]=i,this.abstractInstructions.splice(e,1)}}}}getNoteDurationForTuplet(e){let t=new Fraction$1(0,1);const n=this.getNoteDurationFromTypeNode(e);if(e.element("time-modification")){const i=e.element("time-modification");if(i&&void 0!==i.element("actual-notes")&&i.element("normal-notes")){const e=i.element("actual-notes"),r=i.element("normal-notes");if(void 0!==e&&r){const i=parseInt(e.value,10),o=parseInt(r.value,10);t=new Fraction$1(o*n.Numerator,i*n.Denominator)}}}return t}readExpressionStaffNumber(e){let t=1;if(e.element("staff")){const i=e.element("staff");if(i)try{t=parseInt(i.value,10)}catch(n){const e=ITextTranslation.translateText("ReaderErrorMessages/ExpressionStaffError","Invalid Expression staff number. Set to default.");this.musicSheet.SheetErrors.pushMeasureError(e),t=1,loglevelExports.debug("InstrumentReader.readExpressionStaffNumber",e,n)}}return t}readDivisionsFromNotes(){let e=0,t=this.currentXmlMeasureIndex,n=!1;for(;!n;){const r=this.xmlMeasureList[t].elements();for(let t=0,o=r.length;t<o;++t){const o=r[t];if("note"===o.name&&!o.element("time-modification")){const t=o.element("duration"),n=o.element("type");if(void 0!==t&&n){const r=n.value;let o=0;try{o=parseInt(t.value,10)}catch(i){loglevelExports.debug("InstrumentReader.readDivisionsFromNotes",i);continue}switch(r){case"1024th":e=o/4*1024;break;case"512th":e=o/4*512;break;case"256th":e=o/4*256;break;case"128th":e=o/4*128;break;case"64th":e=o/4*64;break;case"32nd":e=o/4*32;break;case"16th":e=o/4*16;break;case"eighth":e=o/4*8;break;case"quarter":e=o/4*4;break;case"half":e=o/4*2;break;case"whole":e=o/4;break;case"breve":e=o/4/2;break;case"long":e=o/4/4;break;case"maxima":e=o/4/8}}}if(e>0){n=!0;break}}if(0===e&&(t++,t===this.xmlMeasureList.length)){const e=ITextTranslation.translateText("ReaderErrorMEssages/DivisionsError","Invalid divisions value at Instrument: ");throw new MusicSheetReadingException(e+this.instrument.Name)}}return e}getCueNoteAndNoteTypeXml(e){let t=!1;e.element("cue")&&(t=!0);const n=e.element("type");let i=NoteType.UNDEFINED;if(n){const e=n.attribute("size");"cue"===(null==e?void 0:e.value)&&(t=!0),i=NoteTypeHandler.StringToNoteType(n.value)}return[t,i]}getStemDirectionType(e){switch(e.value){case"down":return StemDirectionType.Down;case"up":return StemDirectionType.Up;case"double":return StemDirectionType.Double;case"none":return StemDirectionType.None;default:return StemDirectionType.Undefined}}getNoteHeadColorXml(e){const t=e.element("notehead");if(t){const e=t.attribute("color");if(e)return this.parseXmlColor(e.value)}return null}getNoteColorXml(e){const t=e.attribute("color");return t?this.parseXmlColor(t.value):null}getTremoloInfo(e){let t,n;const i=e.element("tremolo");if(i){const e=i.attribute("type");if(e){if("single"===e.value){const e=parseInt(i.value,10);e>0&&(t=e)}else t=0;"unmeasured"===e.value&&(n=!0)}}return{tremoloStrokes:t,tremoloUnmeasured:n}}getWavyLines(e,t,n,i){const r=e.elements("wavy-line");if(r)for(const o of r){const e=this.expressionReaders[this.readExpressionStaffNumber(t)-1];e&&(e.readExpressionParameters(o,this.instrument,this.divisions,n,i,this.currentMeasure.MeasureNumber,!1),e.addWavyLine(o,this.currentMeasure,n,i))}}getNoteStaff(e){let t=1;return this.instrument.Staves.length>1&&e.element("staff")&&(t=parseInt(e.element("staff").value,10),isNaN(t)&&(loglevelExports.debug("InstrumentReader.readNextXmlMeasure.get staff number"),t=1)),t}}class InstrumentNames{}InstrumentNames.MidiInstrument={banjo:MidiInstrument.Banjo,blockfloete:MidiInstrument.Recorder,brass:MidiInstrument.Trombone,bratsche:MidiInstrument.Viola,cello:MidiInstrument.Cello,clarinet:MidiInstrument.Clarinet,contrabass:MidiInstrument.Contrabass,"steel drum":MidiInstrument.Steel_Drums,drums:MidiInstrument.Percussion,flute:MidiInstrument.Flute,floete:MidiInstrument.Flute,frenchhorn:MidiInstrument.French_Horn,gitarre:MidiInstrument.Acoustic_Guitar_nylon,guitar:MidiInstrument.Acoustic_Guitar_nylon,harfe:MidiInstrument.Orchestral_Harp,harp:MidiInstrument.Orchestral_Harp,klarinette:MidiInstrument.Clarinet,klavier:MidiInstrument.Acoustic_Grand_Piano,kontrabass:MidiInstrument.Contrabass,oboe:MidiInstrument.Oboe,organ:MidiInstrument.Church_Organ,orgel:MidiInstrument.Church_Organ,orgue:MidiInstrument.Church_Organ,percussion:MidiInstrument.Percussion,piano:MidiInstrument.Acoustic_Grand_Piano,piccolo:MidiInstrument.Piccolo,posaune:MidiInstrument.Trombone,recorder:MidiInstrument.Recorder,sax:MidiInstrument.Tenor_Sax,schlagwerk:MidiInstrument.Percussion,schlagzeug:MidiInstrument.Percussion,steeldrum:MidiInstrument.Steel_Drums,streicher:MidiInstrument.String_Ensemble_1,strings:MidiInstrument.String_Ensemble_1,tpt:MidiInstrument.Trumpet,trombone:MidiInstrument.Trombone,trompete:MidiInstrument.Trumpet,trumpet:MidiInstrument.Trumpet,tuba:MidiInstrument.Tuba,unnamed:MidiInstrument.Acoustic_Grand_Piano,viola:MidiInstrument.Viola,violin:MidiInstrument.Violin,"violon-c":MidiInstrument.Cello,"violon.":MidiInstrument.Violin,voice:MidiInstrument.Synth_Voice,woodblock:MidiInstrument.Woodblock,alt:MidiInstrument.Synth_Voice,alto:MidiInstrument.Synth_Voice,bariton:MidiInstrument.Synth_Voice,baritone:MidiInstrument.Synth_Voice,bass:MidiInstrument.Synth_Voice,sopran:MidiInstrument.Synth_Voice,tenor:MidiInstrument.Synth_Voice},InstrumentNames.MidiInstrumentSounds={"brass.alphorn":MidiInstrument.French_Horn,"brass.alto-horn":MidiInstrument.French_Horn,"brass.baritone-horn":MidiInstrument.French_Horn,"brass.bugle":MidiInstrument.Trumpet,"brass.bugle.alto":MidiInstrument.Trumpet,"brass.bugle.baritone":MidiInstrument.Trombone,"brass.bugle.contrabass":MidiInstrument.Trombone,"brass.bugle.euphonium-bugle":MidiInstrument.French_Horn,"brass.bugle.mellophone-bugle":MidiInstrument.French_Horn,"brass.bugle.soprano":MidiInstrument.Trumpet,"brass.cimbasso":MidiInstrument.Trombone,"brass.conch-shell":MidiInstrument.Flute,"brass.cornet":MidiInstrument.Trumpet,"brass.cornet.soprano":MidiInstrument.Trumpet,"brass.cornett":MidiInstrument.Trumpet,"brass.cornett.tenor":MidiInstrument.Trumpet,"brass.cornettino":MidiInstrument.Trumpet,"brass.didgeridoo":MidiInstrument.Flute,"brass.euphonium":MidiInstrument.French_Horn,"brass.fiscorn":MidiInstrument.French_Horn,"brass.flugelhorn":MidiInstrument.French_Horn,"brass.french-horn":MidiInstrument.French_Horn,"brass.group":MidiInstrument.Brass_Section,"brass.group.synth":MidiInstrument.Synth_Brass_1,"brass.helicon":MidiInstrument.French_Horn,"brass.horagai":MidiInstrument.Trumpet,"brass.kuhlohorn":MidiInstrument.French_Horn,"brass.mellophone":MidiInstrument.French_Horn,"brass.natural-horn":MidiInstrument.French_Horn,"brass.ophicleide":MidiInstrument.French_Horn,"brass.posthorn":MidiInstrument.French_Horn,"brass.saxhorn":MidiInstrument.French_Horn,"brass.sousaphone":MidiInstrument.Tuba,"brass.trombone":MidiInstrument.Trombone,"brass.trombone.alto":MidiInstrument.Trombone,"brass.trombone.bass":MidiInstrument.Trombone,"brass.trombone.contrabass":MidiInstrument.Trombone,"brass.trombone.tenor":MidiInstrument.Trombone,"brass.trumpet":MidiInstrument.Trumpet,"brass.trumpet.baroque":MidiInstrument.Trumpet,"brass.trumpet.bass":MidiInstrument.Trombone,"brass.trumpet.bflat":MidiInstrument.Trumpet,"brass.trumpet.c":MidiInstrument.Trumpet,"brass.trumpet.d":MidiInstrument.Trumpet,"brass.trumpet.piccolo":MidiInstrument.Trumpet,"brass.trumpet.pocket":MidiInstrument.Trumpet,"brass.trumpet.slide":MidiInstrument.Trumpet,"brass.trumpet.tenor":MidiInstrument.Trumpet,"brass.tuba":MidiInstrument.Tuba,"brass.tuba.bass":MidiInstrument.Tuba,"brass.tuba.subcontrabass":MidiInstrument.Tuba,"brass.vienna-horn":MidiInstrument.French_Horn,"brass.wagner-tuba":MidiInstrument.French_Horn,"drum.ashiko":MidiInstrument.Shakuhachi,"drum.bass-drum":MidiInstrument.Percussion,"drum.bongo":MidiInstrument.Percussion,"drum.bougarabou":MidiInstrument.Percussion,"drum.buffalo-drum":MidiInstrument.Percussion,"drum.cajon":MidiInstrument.Percussion,"drum.chenda":MidiInstrument.Percussion,"drum.chu-daiko":MidiInstrument.Percussion,"drum.conga":MidiInstrument.Percussion,"drum.cuica":MidiInstrument.Percussion,"drum.dabakan":MidiInstrument.Percussion,"drum.daff":MidiInstrument.Percussion,"drum.dafli":MidiInstrument.Percussion,"drum.daibyosi":MidiInstrument.Percussion,"drum.damroo":MidiInstrument.Percussion,"drum.darabuka":MidiInstrument.Percussion,"drum.def":MidiInstrument.Percussion,"drum.dhol":MidiInstrument.Percussion,"drum.dholak":MidiInstrument.Percussion,"drum.djembe":MidiInstrument.Percussion,"drum.doira":MidiInstrument.Percussion,"drum.dondo":MidiInstrument.Percussion,"drum.doun-doun-ba":MidiInstrument.Percussion,"drum.duff":MidiInstrument.Percussion,"drum.dumbek":MidiInstrument.Percussion,"drum.fontomfrom":MidiInstrument.Percussion,"drum.frame-drum":MidiInstrument.Percussion,"drum.frame-drum.arabian":MidiInstrument.Percussion,"drum.geduk":MidiInstrument.Percussion,"drum.ghatam":MidiInstrument.Percussion,"drum.gome":MidiInstrument.Percussion,"drum.group":MidiInstrument.Percussion,"drum.group.chinese":MidiInstrument.Percussion,"drum.group.ewe":MidiInstrument.Percussion,"drum.group.indian":MidiInstrument.Percussion,"drum.group.set":MidiInstrument.Percussion,"drum.hand-drum":MidiInstrument.Percussion,"drum.hira-daiko":MidiInstrument.Percussion,"drum.ibo":MidiInstrument.Percussion,"drum.igihumurizo":MidiInstrument.Percussion,"drum.inyahura":MidiInstrument.Percussion,"drum.ishakwe":MidiInstrument.Percussion,"drum.jang-gu":MidiInstrument.Percussion,"drum.kagan":MidiInstrument.Percussion,"drum.kakko":MidiInstrument.Percussion,"drum.kanjira":MidiInstrument.Percussion,"drum.kendhang":MidiInstrument.Percussion,"drum.kendhang.ageng":MidiInstrument.Percussion,"drum.kendhang.ciblon":MidiInstrument.Percussion,"drum.kenkeni":MidiInstrument.Percussion,"drum.khol":MidiInstrument.Percussion,"drum.kick-drum":MidiInstrument.Percussion,"drum.kidi":MidiInstrument.Percussion,"drum.ko-daiko":MidiInstrument.Percussion,"drum.kpanlogo":MidiInstrument.Percussion,"drum.kudum":MidiInstrument.Percussion,"drum.lambeg":MidiInstrument.Percussion,"drum.lion-drum":MidiInstrument.Percussion,"drum.log-drum":MidiInstrument.Percussion,"drum.log-drum.african":MidiInstrument.Percussion,"drum.log-drum.native":MidiInstrument.Percussion,"drum.log-drum.nigerian":MidiInstrument.Percussion,"drum.madal":MidiInstrument.Percussion,"drum.maddale":MidiInstrument.Percussion,"drum.mridangam":MidiInstrument.Percussion,"drum.naal":MidiInstrument.Percussion,"drum.nagado-daiko":MidiInstrument.Percussion,"drum.nagara":MidiInstrument.Percussion,"drum.naqara":MidiInstrument.Percussion,"drum.o-daiko":MidiInstrument.Percussion,"drum.okawa":MidiInstrument.Percussion,"drum.okedo-daiko":MidiInstrument.Percussion,"drum.pahu-hula":MidiInstrument.Percussion,"drum.pakhawaj":MidiInstrument.Percussion,"drum.pandeiro":MidiInstrument.Percussion,"drum.pandero":MidiInstrument.Percussion,"drum.powwow":MidiInstrument.Percussion,"drum.pueblo":MidiInstrument.Percussion,"drum.repinique":MidiInstrument.Percussion,"drum.riq":MidiInstrument.Percussion,"drum.rototom":MidiInstrument.Percussion,"drum.sabar":MidiInstrument.Percussion,"drum.sakara":MidiInstrument.Percussion,"drum.sampho":MidiInstrument.Percussion,"drum.sangban":MidiInstrument.Percussion,"drum.shime-daiko":MidiInstrument.Percussion,"drum.slit-drum":MidiInstrument.Percussion,"drum.slit-drum.krin":MidiInstrument.Percussion,"drum.snare-drum":MidiInstrument.Percussion,"drum.snare-drum.electric":MidiInstrument.Synth_Drum,"drum.sogo":MidiInstrument.Percussion,"drum.surdo":MidiInstrument.Percussion,"drum.tabla":MidiInstrument.Percussion,"drum.tabla.bayan":MidiInstrument.Percussion,"drum.tabla.dayan":MidiInstrument.Percussion,"drum.tabor":MidiInstrument.Percussion,"drum.taiko":MidiInstrument.Taiko_Drum,"drum.talking":MidiInstrument.Percussion,"drum.tama":MidiInstrument.Percussion,"drum.tamborim":MidiInstrument.Percussion,"drum.tamborita":MidiInstrument.Percussion,"drum.tambourine":MidiInstrument.Percussion,"drum.tamte":MidiInstrument.Percussion,"drum.tangku":MidiInstrument.Percussion,"drum.tan-tan":MidiInstrument.Percussion,"drum.taphon":MidiInstrument.Percussion,"drum.tar":MidiInstrument.Percussion,"drum.tasha":MidiInstrument.Percussion,"drum.tenor-drum":MidiInstrument.Percussion,"drum.teponaxtli":MidiInstrument.Percussion,"drum.thavil":MidiInstrument.Percussion,"drum.the-box":MidiInstrument.Percussion,"drum.timbale":MidiInstrument.Percussion,"drum.timpani":MidiInstrument.Timpani,"drum.tinaja":MidiInstrument.Percussion,"drum.toere":MidiInstrument.Percussion,"drum.tombak":MidiInstrument.Percussion,"drum.tom-tom":MidiInstrument.Melodic_Tom,"drum.tom-tom.synth":MidiInstrument.Melodic_Tom,"drum.tsuzumi":MidiInstrument.Percussion,"drum.tumbak":MidiInstrument.Percussion,"drum.uchiwa-daiko":MidiInstrument.Percussion,"drum.udaku":MidiInstrument.Percussion,"drum.udu":MidiInstrument.Percussion,"drum.zarb":MidiInstrument.Percussion,"effect.applause":MidiInstrument.Applause,"effect.gunshot":MidiInstrument.Gunshot,"effect.helicopter":MidiInstrument.Helicopter,"effect.telephone-ring":MidiInstrument.Telephone_Ring,"keyboard.accordion":MidiInstrument.Accordion,"keyboard.bandoneon":MidiInstrument.Accordion,"keyboard.celesta":MidiInstrument.Celesta,"keyboard.clavichord":MidiInstrument.Harpsichord,"keyboard.clavichord.synth":MidiInstrument.Harpsichord,"keyboard.concertina":MidiInstrument.Accordion,"keyboard.fortepiano":MidiInstrument.Acoustic_Grand_Piano,"keyboard.harmonium":MidiInstrument.Drawbar_Organ,"keyboard.harpsichord":MidiInstrument.Harpsichord,"keyboard.ondes-martenot":MidiInstrument.Pad_3_polysynth,"keyboard.organ":MidiInstrument.Church_Organ,"keyboard.organ.drawbar":MidiInstrument.Percussive_Organ,"keyboard.organ.percussive":MidiInstrument.Rock_Organ,"keyboard.organ.pipe":MidiInstrument.Church_Organ,"keyboard.organ.reed":MidiInstrument.Church_Organ,"keyboard.organ.rotary":MidiInstrument.Rock_Organ,"keyboard.piano":MidiInstrument.Acoustic_Grand_Piano,"keyboard.piano.electric":MidiInstrument.Electric_Grand_Piano,"keyboard.piano.grand":MidiInstrument.Acoustic_Grand_Piano,"keyboard.piano.honky-tonk":MidiInstrument.Honky_tonk_Piano,"keyboard.piano.prepared":MidiInstrument.Acoustic_Grand_Piano,"keyboard.piano.toy":MidiInstrument.Honky_tonk_Piano,"keyboard.piano.upright":MidiInstrument.Acoustic_Grand_Piano,"keyboard.virginal":MidiInstrument.Acoustic_Grand_Piano,"metal.adodo":MidiInstrument.Xylophone,"metal.anvil":MidiInstrument.Xylophone,"metal.babendil":MidiInstrument.Xylophone,"metal.bells.agogo":MidiInstrument.Agogo,"metal.bells.almglocken":MidiInstrument.Tubular_Bells,"metal.bells.bell-plate":MidiInstrument.Tubular_Bells,"metal.bells.bell-tree":MidiInstrument.Tubular_Bells,"metal.bells.carillon":MidiInstrument.Tubular_Bells,"metal.bells.chimes":MidiInstrument.Tinkle_Bell,"metal.bells.chimta":MidiInstrument.Tubular_Bells,"metal.bells.chippli":MidiInstrument.Tubular_Bells,"metal.bells.church":MidiInstrument.Tubular_Bells,"metal.bells.cowbell":MidiInstrument.Percussion,"metal.bells.dawuro":MidiInstrument.Percussion,"metal.bells.gankokwe":MidiInstrument.Percussion,"metal.bells.ghungroo":MidiInstrument.Percussion,"metal.bells.hatheli":MidiInstrument.Percussion,"metal.bells.jingle-bell":MidiInstrument.Percussion,"metal.bells.khartal":MidiInstrument.Percussion,"metal.bells.mark-tree":MidiInstrument.Percussion,"metal.bells.sistrum":MidiInstrument.Percussion,"metal.bells.sleigh-bells":MidiInstrument.Percussion,"metal.bells.temple":MidiInstrument.Percussion,"metal.bells.tibetan":MidiInstrument.Percussion,"metal.bells.tinklebell":MidiInstrument.Percussion,"metal.bells.trychel":MidiInstrument.Percussion,"metal.bells.wind-chimes":MidiInstrument.Percussion,"metal.bells.zills":MidiInstrument.Percussion,"metal.berimbau":MidiInstrument.Flute,"metal.brake-drums":MidiInstrument.Percussion,"metal.crotales":MidiInstrument.Percussion,"metal.cymbal.bo":MidiInstrument.Percussion,"metal.cymbal.ceng-ceng":MidiInstrument.Percussion,"metal.cymbal.chabara":MidiInstrument.Percussion,"metal.cymbal.chinese":MidiInstrument.Percussion,"metal.cymbal.ching":MidiInstrument.Percussion,"metal.cymbal.clash":MidiInstrument.Percussion,"metal.cymbal.crash":MidiInstrument.Percussion,"metal.cymbal.finger":MidiInstrument.Percussion,"metal.cymbal.hand":MidiInstrument.Percussion,"metal.cymbal.kesi":MidiInstrument.Percussion,"metal.cymbal.manjeera":MidiInstrument.Percussion,"metal.cymbal.reverse":MidiInstrument.Percussion,"metal.cymbal.ride":MidiInstrument.Percussion,"metal.cymbal.sizzle":MidiInstrument.Percussion,"metal.cymbal.splash":MidiInstrument.Percussion,"metal.cymbal.suspended":MidiInstrument.Percussion,"metal.cymbal.tebyoshi":MidiInstrument.Percussion,"metal.cymbal.tibetan":MidiInstrument.Percussion,"metal.cymbal.tingsha":MidiInstrument.Percussion,"metal.flexatone":MidiInstrument.Percussion,"metal.gong":MidiInstrument.Percussion,"metal.gong.ageng":MidiInstrument.Percussion,"metal.gong.agung":MidiInstrument.Percussion,"metal.gong.chanchiki":MidiInstrument.Percussion,"metal.gong.chinese":MidiInstrument.Percussion,"metal.gong.gandingan":MidiInstrument.Percussion,"metal.gong.kempul":MidiInstrument.Percussion,"metal.gong.kempyang":MidiInstrument.Percussion,"metal.gong.ketuk":MidiInstrument.Percussion,"metal.gong.kkwenggwari":MidiInstrument.Percussion,"metal.gong.luo":MidiInstrument.Percussion,"metal.gong.singing":MidiInstrument.Percussion,"metal.gong.thai":MidiInstrument.Percussion,"metal.guira":MidiInstrument.Percussion,"metal.hang":MidiInstrument.Percussion,"metal.hi-hat":MidiInstrument.Percussion,"metal.jaw-harp":MidiInstrument.Percussion,"metal.kengong":MidiInstrument.Percussion,"metal.murchang":MidiInstrument.Percussion,"metal.musical-saw":MidiInstrument.Percussion,"metal.singing-bowl":MidiInstrument.Percussion,"metal.spoons":MidiInstrument.Percussion,"metal.steel-drums":MidiInstrument.Percussion,"metal.tamtam":MidiInstrument.Percussion,"metal.thundersheet":MidiInstrument.Percussion,"metal.triangle":MidiInstrument.Percussion,"metal.washboard":MidiInstrument.Percussion,"pitched-percussion.angklung":MidiInstrument.Xylophone,"pitched-percussion.balafon":MidiInstrument.Xylophone,"pitched-percussion.bell-lyre":MidiInstrument.Xylophone,"pitched-percussion.bells":MidiInstrument.Tubular_Bells,"pitched-percussion.bianqing":MidiInstrument.Xylophone,"pitched-percussion.bianzhong":MidiInstrument.Xylophone,"pitched-percussion.bonang":MidiInstrument.Xylophone,"pitched-percussion.cimbalom":MidiInstrument.Xylophone,"pitched-percussion.crystal-glasses":MidiInstrument.Xylophone,"pitched-percussion.dan-tam-thap-luc":MidiInstrument.Xylophone,"pitched-percussion.fangxiang":MidiInstrument.Xylophone,"pitched-percussion.gandingan-a-kayo":MidiInstrument.Xylophone,"pitched-percussion.gangsa":MidiInstrument.Xylophone,"pitched-percussion.gender":MidiInstrument.Xylophone,"pitched-percussion.giying":MidiInstrument.Xylophone,"pitched-percussion.glass-harmonica":MidiInstrument.Xylophone,"pitched-percussion.glockenspiel":MidiInstrument.Glockenspiel,"pitched-percussion.glockenspiel.alto":MidiInstrument.Glockenspiel,"pitched-percussion.glockenspiel.soprano":MidiInstrument.Glockenspiel,"pitched-percussion.gyil":MidiInstrument.Xylophone,"pitched-percussion.hammer-dulcimer":MidiInstrument.Dulcimer,"pitched-percussion.handbells":MidiInstrument.Tubular_Bells,"pitched-percussion.handchimes":MidiInstrument.Tubular_Bells,"pitched-percussion.kalimba":MidiInstrument.Kalimba,"pitched-percussion.kantil":MidiInstrument.Xylophone,"pitched-percussion.khim":MidiInstrument.Xylophone,"pitched-percussion.kulintang":MidiInstrument.Xylophone,"pitched-percussion.kulintang-a-kayo":MidiInstrument.Xylophone,"pitched-percussion.kulintang-a-tiniok":MidiInstrument.Xylophone,"pitched-percussion.likembe":MidiInstrument.Xylophone,"pitched-percussion.luntang":MidiInstrument.Xylophone,"pitched-percussion.marimba":MidiInstrument.Marimba,"pitched-percussion.marimba.bass":MidiInstrument.Marimba,"pitched-percussion.mbira":MidiInstrument.Marimba,"pitched-percussion.mbira.array":MidiInstrument.Marimba,"pitched-percussion.metallophone":MidiInstrument.Xylophone,"pitched-percussion.metallophone.alto":MidiInstrument.Xylophone,"pitched-percussion.metallophone.bass":MidiInstrument.Xylophone,"pitched-percussion.metallophone.soprano":MidiInstrument.Xylophone,"pitched-percussion.music-box":MidiInstrument.Glockenspiel,"pitched-percussion.pelog-panerus":MidiInstrument.Xylophone,"pitched-percussion.pemade":MidiInstrument.Xylophone,"pitched-percussion.penyacah":MidiInstrument.Xylophone,"pitched-percussion.ranat.ek":MidiInstrument.Xylophone,"pitched-percussion.ranat.ek-lek":MidiInstrument.Xylophone,"pitched-percussion.ranat.thum":MidiInstrument.Xylophone,"pitched-percussion.ranat.thum-lek":MidiInstrument.Xylophone,"pitched-percussion.reyong":MidiInstrument.Xylophone,"pitched-percussion.sanza":MidiInstrument.Xylophone,"pitched-percussion.saron-barung":MidiInstrument.Xylophone,"pitched-percussion.saron-demong":MidiInstrument.Xylophone,"pitched-percussion.saron-panerus":MidiInstrument.Xylophone,"pitched-percussion.slendro-panerus":MidiInstrument.Xylophone,"pitched-percussion.slentem":MidiInstrument.Xylophone,"pitched-percussion.tsymbaly":MidiInstrument.Xylophone,"pitched-percussion.tubes":MidiInstrument.Tubular_Bells,"pitched-percussion.tubular-bells":MidiInstrument.Tubular_Bells,"pitched-percussion.vibraphone":MidiInstrument.Vibraphone,"pitched-percussion.xylophone":MidiInstrument.Xylophone,"pitched-percussion.xylophone.alto":MidiInstrument.Xylophone,"pitched-percussion.xylophone.bass":MidiInstrument.Xylophone,"pitched-percussion.xylophone.soprano":MidiInstrument.Xylophone,"pitched-percussion.xylorimba":MidiInstrument.Xylophone,"pitched-percussion.yangqin":MidiInstrument.Xylophone,"pluck.archlute":MidiInstrument.Acoustic_Guitar_nylon,"pluck.autoharp":MidiInstrument.Orchestral_Harp,"pluck.baglama":MidiInstrument.Orchestral_Harp,"pluck.bajo":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.alto":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.bass":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.contrabass":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.piccolo":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.prima":MidiInstrument.Acoustic_Guitar_steel,"pluck.balalaika.secunda":MidiInstrument.Acoustic_Guitar_steel,"pluck.bandola":MidiInstrument.Acoustic_Guitar_steel,"pluck.bandura":MidiInstrument.Acoustic_Guitar_steel,"pluck.bandurria":MidiInstrument.Acoustic_Guitar_steel,"pluck.banjo":MidiInstrument.Banjo,"pluck.banjo.tenor":MidiInstrument.Banjo,"pluck.banjolele":MidiInstrument.Banjo,"pluck.barbat":MidiInstrument.Acoustic_Guitar_steel,"pluck.bass":MidiInstrument.Electric_Bass_finger,"pluck.bass.acoustic":MidiInstrument.Acoustic_Bass,"pluck.bass.bolon":MidiInstrument.Electric_Bass_finger,"pluck.bass.electric":MidiInstrument.Electric_Bass_finger,"pluck.bass.fretless":MidiInstrument.Fretless_Bass,"pluck.bass.guitarron":MidiInstrument.Acoustic_Bass,"pluck.bass.synth":MidiInstrument.Synth_Bass_1,"pluck.bass.synth.lead":MidiInstrument.Synth_Bass_2,"pluck.celtic-harp":MidiInstrument.Orchestral_Harp,"pluck.charango":MidiInstrument.Acoustic_Guitar_nylon,"pluck.chitarra-battente":MidiInstrument.Acoustic_Guitar_nylon,"pluck.cithara":MidiInstrument.Acoustic_Guitar_nylon,"pluck.cittern":MidiInstrument.Acoustic_Guitar_nylon,"pluck.cuatro":MidiInstrument.Acoustic_Guitar_nylon,"pluck.dulcimer":MidiInstrument.Dulcimer,"pluck.dutar":MidiInstrument.Acoustic_Grand_Piano,"pluck.duxianqin":MidiInstrument.Dulcimer,"pluck.ektara":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.acoustic":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.electric":MidiInstrument.Electric_Guitar_clean,"pluck.guitar.nylon-string":MidiInstrument.Electric_Guitar_clean,"pluck.guitar.pedal-steel":MidiInstrument.Electric_Guitar_clean,"pluck.guitar.portuguese":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.requinto":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.resonator":MidiInstrument.Acoustic_Guitar_nylon,"pluck.guitar.steel-string":MidiInstrument.Acoustic_Guitar_steel,"pluck.harp":MidiInstrument.Orchestral_Harp,"pluck.harp-guitar":MidiInstrument.Orchestral_Harp,"pluck.huapanguera":MidiInstrument.Orchestral_Harp,"pluck.lute":MidiInstrument.Acoustic_Grand_Piano,"pluck.lyre":MidiInstrument.Orchestral_Harp,"pluck.mandobass":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandocello":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandola":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandolin":MidiInstrument.Acoustic_Guitar_nylon,"pluck.mandolin.octave":MidiInstrument.Acoustic_Guitar_nylon,"pluck.setar":MidiInstrument.Acoustic_Guitar_nylon,"pluck.shamisen":MidiInstrument.Shamisen,"pluck.sitar":MidiInstrument.Sitar,"pluck.synth":MidiInstrument.Electric_Bass_pick,"pluck.synth.charang":MidiInstrument.Electric_Bass_pick,"pluck.synth.chiff":MidiInstrument.Electric_Bass_pick,"pluck.synth.stick":MidiInstrument.Electric_Bass_pick,"pluck.tambura":MidiInstrument.Acoustic_Grand_Piano,"pluck.ukulele":MidiInstrument.Banjo,"pluck.ukulele.tenor":MidiInstrument.Banjo,"strings.arpeggione":MidiInstrument.Cello,"strings.cello":MidiInstrument.Cello,"strings.cello.piccolo":MidiInstrument.Cello,"strings.contrabass":MidiInstrument.Contrabass,"strings.fiddle":MidiInstrument.Fiddle,"strings.fiddle.hardanger":MidiInstrument.Fiddle,"strings.group":MidiInstrument.String_Ensemble_1,"strings.group.synth":MidiInstrument.Synth_Strings_1,"strings.octobass":MidiInstrument.Contrabass,"strings.tromba-marina":MidiInstrument.Contrabass,"strings.vielle":MidiInstrument.Violin,"strings.viol":MidiInstrument.Violin,"strings.viol.alto":MidiInstrument.Violin,"strings.viol.bass":MidiInstrument.Violin,"strings.viol.tenor":MidiInstrument.Violin,"strings.viol.treble":MidiInstrument.Violin,"strings.viol.violone":MidiInstrument.Violin,"strings.viola":MidiInstrument.Viola,"strings.viola-damore":MidiInstrument.Viola,"strings.violin":MidiInstrument.Violin,"strings.violono.piccolo":MidiInstrument.Violin,"strings.violotta":MidiInstrument.Viola,"synth.group":MidiInstrument.Pad_3_polysynth,"synth.group.fifths":MidiInstrument.Pad_3_polysynth,"synth.group.orchestra":MidiInstrument.Orchestra_Hit,"synth.pad":MidiInstrument.Pad_1_new_age,"synth.pad.bowed":MidiInstrument.Pad_1_new_age,"synth.pad.choir":MidiInstrument.Pad_4_choir,"synth.pad.halo":MidiInstrument.Acoustic_Grand_Piano,"synth.pad.polysynth":MidiInstrument.Pad_3_polysynth,"voice.alto":MidiInstrument.Voice_Oohs,"voice.baritone":MidiInstrument.Voice_Oohs,"voice.bass":MidiInstrument.Voice_Oohs,"voice.female":MidiInstrument.Synth_Voice,"voice.kazoo":MidiInstrument.Flute,"voice.male":MidiInstrument.Voice_Oohs,"voice.mezzo-soprano":MidiInstrument.Voice_Oohs,"voice.soprano":MidiInstrument.Voice_Oohs,"voice.synth":MidiInstrument.Synth_Voice,"voice.tenor":MidiInstrument.Voice_Oohs,"voice.vocals":MidiInstrument.Choir_Aahs,"wind.flutes.flute":MidiInstrument.Flute,"wind.flutes.flute.alto":MidiInstrument.Flute,"wind.flutes.flute.bass":MidiInstrument.Flute,"wind.flutes.flute.contra-alto":MidiInstrument.Flute,"wind.flutes.flute.contrabass":MidiInstrument.Flute,"wind.flutes.flute.double-contrabass":MidiInstrument.Flute,"wind.flutes.flute.irish":MidiInstrument.Flute,"wind.flutes.flute.piccolo":MidiInstrument.Piccolo,"wind.flutes.flute.subcontrabass":MidiInstrument.Flute,"wind.flutes.ocarina":MidiInstrument.Ocarina,"wind.flutes.panpipes":MidiInstrument.Pan_Flute,"wind.flutes.recorder":MidiInstrument.Acoustic_Grand_Piano,"wind.flutes.recorder.alto":MidiInstrument.Recorder,"wind.flutes.recorder.bass":MidiInstrument.Recorder,"wind.flutes.recorder.contrabass":MidiInstrument.Recorder,"wind.flutes.recorder.descant":MidiInstrument.Recorder,"wind.flutes.recorder.garklein":MidiInstrument.Recorder,"wind.flutes.recorder.great-bass":MidiInstrument.Recorder,"wind.flutes.recorder.sopranino":MidiInstrument.Recorder,"wind.flutes.recorder.soprano":MidiInstrument.Recorder,"wind.flutes.recorder.tenor":MidiInstrument.Recorder,"wind.flutes.shakuhachi":MidiInstrument.Shakuhachi,"wind.flutes.whistle":MidiInstrument.Whistle,"wind.flutes.whistle.alto":MidiInstrument.Whistle,"wind.flutes.whistle.low-irish":MidiInstrument.Whistle,"wind.flutes.whistle.shiva":MidiInstrument.Whistle,"wind.flutes.whistle.slide":MidiInstrument.Whistle,"wind.flutes.whistle.tin":MidiInstrument.Whistle,"wind.flutes.whistle.tin.bflat":MidiInstrument.Whistle,"wind.flutes.whistle.tin.c":MidiInstrument.Whistle,"wind.flutes.whistle.tin.d":MidiInstrument.Whistle,"wind.group":MidiInstrument.Flute,"wind.pipes.bagpipes":MidiInstrument.Bag_pipe,"wind.reed.basset-horn":MidiInstrument.Bassoon,"wind.reed.bassoon":MidiInstrument.Bassoon,"wind.reed.bombarde":MidiInstrument.Bassoon,"wind.reed.clarinet":MidiInstrument.Clarinet,"wind.reed.clarinet.a":MidiInstrument.Clarinet,"wind.reed.clarinet.alto":MidiInstrument.Clarinet,"wind.reed.clarinet.bass":MidiInstrument.Clarinet,"wind.reed.clarinet.basset":MidiInstrument.Clarinet,"wind.reed.clarinet.bflat":MidiInstrument.Clarinet,"wind.reed.clarinet.contra-alto":MidiInstrument.Clarinet,"wind.reed.clarinet.contrabass":MidiInstrument.Clarinet,"wind.reed.clarinet.d":MidiInstrument.Clarinet,"wind.reed.clarinet.eflat":MidiInstrument.Clarinet,"wind.reed.clarinet.g":MidiInstrument.Clarinet,"wind.reed.clarinet.piccolo":MidiInstrument.Clarinet,"wind.reed.clarinet.piccolo.aflat":MidiInstrument.Clarinet,"wind.reed.clarinette-damour":MidiInstrument.Clarinet,"wind.reed.contrabass":MidiInstrument.Clarinet,"wind.reed.contrabassoon":MidiInstrument.Clarinet,"wind.reed.cornamuse":MidiInstrument.Bag_pipe,"wind.reed.english-horn":MidiInstrument.English_Horn,"wind.reed.harmonica":MidiInstrument.Harmonica,"wind.reed.harmonica.bass":MidiInstrument.Harmonica,"wind.reed.oboe":MidiInstrument.Oboe,"wind.reed.oboe.bass":MidiInstrument.Oboe,"wind.reed.oboe.piccolo":MidiInstrument.Oboe,"wind.reed.oboe-da-caccia":MidiInstrument.Oboe,"wind.reed.oboe-damore":MidiInstrument.Oboe,"wind.reed.saxonette":MidiInstrument.Soprano_Sax,"wind.reed.saxophone":MidiInstrument.Alto_Sax,"wind.reed.saxophone.alto":MidiInstrument.Alto_Sax,"wind.reed.saxophone.aulochrome":MidiInstrument.Alto_Sax,"wind.reed.saxophone.baritone":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.bass":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.contrabass":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.melody":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.mezzo-soprano":MidiInstrument.Alto_Sax,"wind.reed.saxophone.sopranino":MidiInstrument.Soprano_Sax,"wind.reed.saxophone.sopranissimo":MidiInstrument.Soprano_Sax,"wind.reed.saxophone.soprano":MidiInstrument.Soprano_Sax,"wind.reed.saxophone.subcontrabass":MidiInstrument.Baritone_Sax,"wind.reed.saxophone.tenor":MidiInstrument.Tenor_Sax,"wood.bones":MidiInstrument.Woodblock,"wood.castanets":MidiInstrument.Woodblock,"wood.claves":MidiInstrument.Woodblock,"wood.drum-sticks":MidiInstrument.Woodblock,"wood.gourd":MidiInstrument.Woodblock,"wood.granite-block":MidiInstrument.Woodblock,"wood.guban":MidiInstrument.Woodblock,"wood.guiro":MidiInstrument.Woodblock,"wood.hyoushigi":MidiInstrument.Woodblock,"wood.ipu":MidiInstrument.Woodblock,"wood.jam-block":MidiInstrument.Woodblock,"wood.kaekeeke":MidiInstrument.Woodblock,"wood.kagul":MidiInstrument.Woodblock,"wood.kalaau":MidiInstrument.Woodblock,"wood.kashiklar":MidiInstrument.Woodblock,"wood.kubing":MidiInstrument.Woodblock,"wood.pan-clappers":MidiInstrument.Woodblock,"wood.sand-block":MidiInstrument.Woodblock,"wood.slapstick":MidiInstrument.Woodblock,"wood.stir-drum":MidiInstrument.Woodblock,"wood.temple-block":MidiInstrument.Woodblock,"wood.tic-toc-block":MidiInstrument.Woodblock,"wood.tonetang":MidiInstrument.Woodblock,"wood.wood-block":MidiInstrument.Woodblock};class SubInstrument{constructor(e){this.parentInstrument=e,this.fixedKey=-1,this.name=this.parseMidiInstrument(this.parentInstrument.Name),this.midiInstrumentID=InstrumentNames.MidiInstrument[this.name],this.volume=1}get ParentInstrument(){return this.parentInstrument}static isPianoInstrument(e){return e===MidiInstrument.Acoustic_Grand_Piano||e===MidiInstrument.Bright_Acoustic_Piano||e===MidiInstrument.Electric_Grand_Piano||e===MidiInstrument.Electric_Piano_1||e===MidiInstrument.Electric_Piano_2}setMidiInstrumentSound(e){this.midiInstrumentID=InstrumentNames.MidiInstrumentSounds[e]}setMidiInstrument(e){this.midiInstrumentID=InstrumentNames.MidiInstrument[this.parseMidiInstrument(e)]}parseMidiInstrument(t){try{if(t){const e=t.toLowerCase().trim();for(const t in InstrumentNames.MidiInstrument)if(-1!==e.indexOf(t))return t}if(this.parentInstrument.Name){const e=this.parentInstrument.Name.toLowerCase().trim();for(const t in InstrumentNames.MidiInstrument)if(-1!==e.indexOf(t))return t}}catch(e){loglevelExports.error("Error parsing MIDI Instrument. Default to Grand Piano.")}return"unnamed"}}class StringUtil{static StringContainsSeparatedWord(e,t,n=!1){return new RegExp("( |^)"+t+"([ .]|$)",n?"i":void 0).test(e)}}class RepetitionInstructionReader{set MusicSheet(e){this.musicSheet=e,this.xmlMeasureList=new Array(this.musicSheet.Instruments.length),this.repetitionInstructions=[]}prepareReadingMeasure(e,t){this.currentMeasureIndex=t}handleLineRepetitionInstructions(e){let t=!1;if(e.elements().length>0){let n="",i=!1,r="",o="",s="";const a=[],l=e.element("bar-style");l&&(s=l.value),n=e.attributes().length>0&&e.attribute("location")?e.attribute("location").value:"right";const c=e.elements();for(let e=0,t=c.length;e<t;++e){const t=c[e];if("repeat"===t.name&&t.hasAttributes)i=!0,r=t.attribute("direction").value;else if("ending"===t.name&&t.hasAttributes&&void 0!==t.attribute("type")&&t.attribute("number")){o=t.attribute("type").value;const e=t.attribute("number").value.split("[,+]");for(let t=0,n=e.length;t<n;++t){const n=e[t],i=n.match("[0-9]");if(-1!==n.search("-")&&2===i.length){const e=parseInt(i[0],10),t=parseInt(i[1],10);for(let n=e;n<=t;n++)a.push(n)}else for(let e=0,t=i.length;e<t;++e){const t=i[e];a.push(parseInt(t,10))}}}}if("light-heavy"!==s||0!==a.length||i||(t=!0),i||a.length>0)if("left"===n){if("start"===o){const e=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Ending,AlignmentType.Begin,void 0,a);this.addInstruction(this.repetitionInstructions,e)}if("forward"===r){const e=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.StartLine);this.addInstruction(this.repetitionInstructions,e)}}else{if("stop"===o){const e=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Ending,AlignmentType.End,void 0,a);this.addInstruction(this.repetitionInstructions,e)}if("backward"===r){const e=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.BackJumpLine);this.addInstruction(this.repetitionInstructions,e)}}}return t}handleRepetitionInstructionsFromWordsOrSymbols(e,t){const n=e.element("words"),i=this.currentMeasureIndex;if(n){const e="d\\s?\\.s\\.",t=n.value.trim().toLowerCase();if(StringUtil.StringContainsSeparatedWord(t,e+" al fine",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.DalSegnoAlFine);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,e+" al coda",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.DalSegnoAlCoda);return this.addInstruction(this.repetitionInstructions,e),!0}const r="d\\.\\s?c\\.";if(StringUtil.StringContainsSeparatedWord(t,r+" al fine",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.DaCapoAlFine);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,r+" al coda",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.DaCapoAlCoda);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,r)||StringUtil.StringContainsSeparatedWord(t,"da\\s?capo",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.DaCapo);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,e,!0)||StringUtil.StringContainsSeparatedWord(t,"dal\\s?segno",!0)){let e;return e=StringUtil.StringContainsSeparatedWord(t,"al\\s?coda",!0)?new RepetitionInstruction(i,RepetitionInstructionEnum.DalSegnoAlCoda):new RepetitionInstruction(i,RepetitionInstructionEnum.DalSegno),this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,"to\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(t,"a (la )?coda",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.ToCoda);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,"fine",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.Fine);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,"coda",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.Coda);return this.addInstruction(this.repetitionInstructions,e),!0}if(StringUtil.StringContainsSeparatedWord(t,"segno",!0)){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.Segno);return this.addInstruction(this.repetitionInstructions,e),!0}}else{if(e.element("segno")){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.Segno);return this.addInstruction(this.repetitionInstructions,e),!0}if(e.element("coda")){const e=new RepetitionInstruction(i,RepetitionInstructionEnum.Coda);return this.addInstruction(this.repetitionInstructions,e),!0}}return!1}removeRedundantInstructions(){let e=0,t=0,n=0,i=0;for(let r=0;r<this.repetitionInstructions.length;r++){const o=this.repetitionInstructions[r];switch(o.type){case RepetitionInstructionEnum.Coda:n>0&&this.findInstructionInPreviousMeasure(r,o.measureIndex,RepetitionInstructionEnum.ToCoda)&&(o.type=RepetitionInstructionEnum.None),0===t&&0===n&&(o.type=RepetitionInstructionEnum.ToCoda,o.alignment=AlignmentType.End,o.measureIndex--);break;case RepetitionInstructionEnum.Segno:if(e-i>0){let e=!1;for(let i=0,r=this.repetitionInstructions.length;i<r;++i){const r=this.repetitionInstructions[i];if(o.measureIndex-r.measureIndex==1)switch(r.type){case RepetitionInstructionEnum.BackJumpLine:r.type=n-t>0?RepetitionInstructionEnum.DalSegnoAlCoda:RepetitionInstructionEnum.DalSegno,o.type=RepetitionInstructionEnum.None,e=!0;break;case RepetitionInstructionEnum.DalSegno:case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:o.type=RepetitionInstructionEnum.None,e=!0}if(e)break}if(e)break;o.type=n-t>0?RepetitionInstructionEnum.DalSegnoAlCoda:RepetitionInstructionEnum.DalSegno,o.alignment=AlignmentType.End,o.measureIndex--}}if(this.backwardSearchForPreviousIdenticalInstruction(r,o)||o.type===RepetitionInstructionEnum.None)this.repetitionInstructions.splice(r,1),r--;else switch(o.type){case RepetitionInstructionEnum.Fine:break;case RepetitionInstructionEnum.ToCoda:n++;break;case RepetitionInstructionEnum.Coda:t++;break;case RepetitionInstructionEnum.Segno:e++;break;case RepetitionInstructionEnum.DalSegnoAlFine:case RepetitionInstructionEnum.DalSegnoAlCoda:i++}}this.repetitionInstructions.sort(RepetitionInstructionComparer.Compare)}findInstructionInPreviousMeasure(e,t,n){for(let i=e-1;i>=0;i--){const e=this.repetitionInstructions[i];if(t-e.measureIndex==1&&e.type===n)return!0}return!1}backwardSearchForPreviousIdenticalInstruction(e,t){for(let n=e-1;n>=0;n--){if(this.repetitionInstructions[n].equals(t))return!0}return!1}addInstruction(e,t){let n=!0;for(let i=0,r=e.length;i<r;++i){const r=e[i];if(t.equals(r)){n=!1;break}}n&&e.push(t)}}class RepetitionCalculator{constructor(){this.repetitionInstructions=[],this.openRepetitions=[],this.lastRepetitionCommonPartStartIndex=0}calculateRepetitions(e,t){this.musicSheet=e,this.repetitionInstructions=t,this.openRepetitions.length=0,this.lastRepetitionCommonPartStartIndex=0;const n=this.musicSheet.SourceMeasures;for(const s of this.repetitionInstructions){this.currentMeasureIndex=s.measureIndex;try{this.currentMeasure=n[this.currentMeasureIndex],this.handleRepetitionInstructions(s)}catch(o){loglevelExports.error("RepetitionCalculator: calculateRepetitions",o)}}for(;this.openRepetitions.length>0;)try{const e=this.openRepetitions.last();if(e.RepetitonUnderConstruction.FromWords){if(e.WaitingForCoda){let t=e.RepetitonUnderConstruction.BackwardJumpInstructions.last().measureIndex+1;t>=this.musicSheet.SourceMeasures.length&&(t=-1),e.RepetitonUnderConstruction.setEndingStartIndex(2,t)}else if(0===e.RepetitonUnderConstruction.BackwardJumpInstructions.length){this.openRepetitions.splice(this.openRepetitions.length-1,1);continue}}else if(0===e.RepetitonUnderConstruction.BackwardJumpInstructions.length){const t=n.length-1,i=new RepetitionInstruction(t,RepetitionInstructionEnum.BackJumpLine,AlignmentType.End,e.RepetitonUnderConstruction);e.RepetitonUnderConstruction.BackwardJumpInstructions.push(i),n[t].LastRepetitionInstructions.push(i)}this.finalizeRepetition(this.openRepetitions.last())}catch(err){try{const e=this.openRepetitions.last().RepetitonUnderConstruction;for(const t of this.repetitionInstructions)t.parentRepetition===e&&(t.parentRepetition=void 0);this.openRepetitions.splice(this.openRepetitions.length-1,1)}catch(o){loglevelExports.error("RepetitionCalculator: calculateRepetitions2",o)}}let i=!1;const r=this.musicSheet.SourceMeasures.length-1;for(const s of this.musicSheet.Repetitions)if(0===s.StartIndex&&s.EndIndex===r){i=!0;break}if(!i){const e=new Repetition(this.musicSheet,!0);e.FromWords=!0,e.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.StartLine),e.startMarker.parentRepetition=e,this.musicSheet.SourceMeasures[0].FirstRepetitionInstructions.push(e.startMarker),e.endMarker=new RepetitionInstruction(r,RepetitionInstructionEnum.BackJumpLine),e.endMarker.parentRepetition=e,e.BackwardJumpInstructions.push(e.endMarker),e.UserNumberOfRepetitions=e.DefaultNumberOfRepetitions,this.musicSheet.Repetitions.push(e)}for(let s=0,a=this.musicSheet.SourceMeasures.length;s<a;++s){const e=this.musicSheet.SourceMeasures[s];e.FirstRepetitionInstructions.length>1&&e.FirstRepetitionInstructions.sort(RepetitionInstructionComparer.Compare),e.LastRepetitionInstructions.length>1&&e.LastRepetitionInstructions.sort(RepetitionInstructionComparer.Compare)}}handleRepetitionInstructions(e){let t;switch(e.type){case RepetitionInstructionEnum.StartLine:t=this.createNewRepetition(this.currentMeasureIndex),e.parentRepetition=t.RepetitonUnderConstruction,t.RepetitonUnderConstruction.FromWords=!1,t.RepetitonUnderConstruction.startMarker=e,this.currentMeasure.FirstRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.BackJumpLine:t=this.getOrCreateCurrentRepetition2(!1),e.parentRepetition=t.RepetitonUnderConstruction,t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e),0===t.RepetitonUnderConstruction.EndingParts.length&&this.finalizeRepetition(t);break;case RepetitionInstructionEnum.Ending:t=this.getOrCreateCurrentRepetition(),e.parentRepetition=t.RepetitonUnderConstruction;if(e.endingIndices.contains(1)&&e.alignment===AlignmentType.Begin){if(t.RepetitonUnderConstruction.BackwardJumpInstructions.length>0||t.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)){t=void 0;for(let e=this.openRepetitions.length-1;e>=0;e--){const n=this.openRepetitions[e];if(0===n.RepetitonUnderConstruction.BackwardJumpInstructions.length)for(t=n;this.openRepetitions.length-1>e;){const e=this.openRepetitions.last();this.finalizeRepetition(e)}}void 0===t&&(t=this.createNewRepetition(0),t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None))}void 0===t.RepetitonUnderConstruction.forwardJumpInstruction&&(t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(this.currentMeasureIndex-1,RepetitionInstructionEnum.ForwardJump,AlignmentType.End,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[this.currentMeasureIndex-1].LastRepetitionInstructions.push(t.RepetitonUnderConstruction.forwardJumpInstruction))}if(e.alignment===AlignmentType.Begin)t.RepetitonUnderConstruction.setEndingsStartIndex(e.endingIndices,this.currentMeasureIndex),this.currentMeasure.FirstRepetitionInstructions.push(e);else for(let n=0,i=e.endingIndices.length;n<i;++n){const i=e.endingIndices[n];t.RepetitonUnderConstruction.setEndingEndIndex(i,this.currentMeasureIndex),this.currentMeasure.LastRepetitionInstructions.push(e)}break;case RepetitionInstructionEnum.Segno:if(t=this.getCurrentRepetition(!0),void 0!==t&&t.SegnoFound&&t.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&Math.abs(t.RepetitonUnderConstruction.BackwardJumpInstructions.last().measureIndex-this.currentMeasureIndex)<=1)break;if(this.openRepetitions.length&&this.openRepetitions.find((e=>e.RepetitonUnderConstruction.startMarker.type===RepetitionInstructionEnum.StartLine)).RepetitonUnderConstruction.StartIndex===this.currentMeasureIndex)break;t=this.createNewRepetition(this.currentMeasureIndex),e.parentRepetition=t.RepetitonUnderConstruction,t.RepetitonUnderConstruction.FromWords=!0,t.SegnoFound=!0,t.RepetitonUnderConstruction.startMarker=e,this.currentMeasure.FirstRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.Fine:if(0===this.openRepetitions.length)break;if(t=this.getCurrentRepetition(!0),void 0===t)break;e.parentRepetition=t.RepetitonUnderConstruction,t.RepetitonUnderConstruction.FromWords=!0,void 0===t.RepetitonUnderConstruction.forwardJumpInstruction?(t.FineFound=!0,t.RepetitonUnderConstruction.forwardJumpInstruction=e,t.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.currentMeasure.LastRepetitionInstructions.push(e)):this.currentMeasure.LastRepetitionInstructions.push(new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Fine,AlignmentType.End,void 0));break;case RepetitionInstructionEnum.ToCoda:if(0===this.openRepetitions.length)break;if(t=this.getCurrentRepetition(!0),void 0===t)break;void 0===t.RepetitonUnderConstruction.forwardJumpInstruction&&(e.parentRepetition=t.RepetitonUnderConstruction,t.RepetitonUnderConstruction.FromWords=!0,t.ToCodaFound=!0,t.RepetitonUnderConstruction.forwardJumpInstruction=e,this.currentMeasure.LastRepetitionInstructions.push(e));break;case RepetitionInstructionEnum.Coda:if(0===this.openRepetitions.length)break;t=this.getOrCreateCurrentRepetition2(!0),e.parentRepetition=t.RepetitonUnderConstruction,t.WaitingForCoda?(t.CodaFound=!0,t.RepetitonUnderConstruction.setEndingStartIndex(2,this.currentMeasureIndex),this.currentMeasure.LastRepetitionInstructions.push(e),this.finalizeRepetition(t),this.currentMeasureIndex>0&&(this.musicSheet.SourceMeasures[this.currentMeasureIndex-1].printNewSystemXml=!0)):t.ToCodaFound||(0===t.RepetitonUnderConstruction.BackwardJumpInstructions.length?(t.ToCodaFound=!0,t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.ToCoda,AlignmentType.End,t.RepetitonUnderConstruction),this.currentMeasure.LastRepetitionInstructions.push(t.RepetitonUnderConstruction.forwardJumpInstruction)):this.currentMeasure.LastRepetitionInstructions.push(new RepetitionInstruction(this.currentMeasureIndex,RepetitionInstructionEnum.Coda,AlignmentType.Begin,void 0)));break;case RepetitionInstructionEnum.DaCapo:t=this.getOrCreateCurrentRepetition(),t.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&this.finalizeRepetition(t),0!==t.RepetitonUnderConstruction.StartIndex&&(t=this.createNewRepetition(0)),e.parentRepetition=t.RepetitonUnderConstruction,t.RepetitonUnderConstruction.FromWords=!0,t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,t.RepetitonUnderConstruction),t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e),0===t.RepetitonUnderConstruction.EndingParts.length&&this.finalizeRepetition(t);break;case RepetitionInstructionEnum.DalSegno:if(t=this.getOrCreateCurrentRepetition2(!0),t.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&(this.finalizeRepetition(t),t=this.createNewRepetition(0),t.RepetitonUnderConstruction.FromWords=!0,t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,t.RepetitonUnderConstruction)),e.parentRepetition=t.RepetitonUnderConstruction,!t.SegnoFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,e.measureIndex);n>=0&&(t.SegnoFound=!0,t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(n,RepetitionInstructionEnum.Segno,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].FirstRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.startMarker))}t.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)&&t.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DalSegnoAlFine:if(0===this.openRepetitions.length)break;if(t=this.getOrCreateCurrentRepetition2(!0),e.parentRepetition=t.RepetitonUnderConstruction,!t.SegnoFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,e.measureIndex);n>=0&&(t.SegnoFound=!0,t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(n,RepetitionInstructionEnum.Segno,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].FirstRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.startMarker))}if(!t.FineFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Fine,e.measureIndex);n>=0&&(t.FineFound=!0,t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(n,RepetitionInstructionEnum.Fine,AlignmentType.Begin,t.RepetitonUnderConstruction),t.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.musicSheet.SourceMeasures[n].LastRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.forwardJumpInstruction))}t.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||t.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DaCapoAlFine:if(t=this.getOrCreateCurrentRepetition(),t.RepetitonUnderConstruction.BackwardJumpInstructions.length>0&&(this.finalizeRepetition(t),t=this.createNewRepetition(0)),void 0!==t.RepetitonUnderConstruction.startMarker&&0!==t.RepetitonUnderConstruction.StartIndex&&(t=this.createNewRepetition(0)),t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,t.RepetitonUnderConstruction),t.RepetitonUnderConstruction.FromWords=!0,e.parentRepetition=t.RepetitonUnderConstruction,!t.FineFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Fine,e.measureIndex);n>=0&&(t.FineFound=!0,t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(n,RepetitionInstructionEnum.Fine,AlignmentType.Begin,t.RepetitonUnderConstruction),t.RepetitonUnderConstruction.setEndingStartIndex(2,-2),this.musicSheet.SourceMeasures[n].LastRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.forwardJumpInstruction))}t.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||t.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DalSegnoAlCoda:if(0===this.openRepetitions.length)break;if(t=this.getOrCreateCurrentRepetition2(!0),e.parentRepetition=t.RepetitonUnderConstruction,!t.SegnoFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Segno,e.measureIndex);n>=0&&(t.SegnoFound=!0,t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(n,RepetitionInstructionEnum.Segno,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].FirstRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.startMarker))}if(!t.ToCodaFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.ToCoda,e.measureIndex);if(n>=0)t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(n,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].LastRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.forwardJumpInstruction),t.ToCodaFound=!0;else{const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Coda,e.measureIndex);n>=0&&(t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(n,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].LastRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.forwardJumpInstruction),t.ToCodaFound=!0)}}t.ToCodaFound&&(t.WaitingForCoda=!0),t.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||t.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.DaCapoAlCoda:if(t=this.getOrCreateCurrentRepetition(),(t.RepetitonUnderConstruction.BackwardJumpInstructions.length>0||0===t.RepetitonUnderConstruction.EndingParts.length)&&(this.finalizeRepetition(t),t=this.createNewRepetition(0)),void 0!==t.RepetitonUnderConstruction.startMarker&&0!==t.RepetitonUnderConstruction.StartIndex&&(t=this.createNewRepetition(0)),t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,t.RepetitonUnderConstruction),t.RepetitonUnderConstruction.FromWords=!0,e.parentRepetition=t.RepetitonUnderConstruction,!t.ToCodaFound){const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.ToCoda,e.measureIndex);if(n>=0)t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(n,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].LastRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.forwardJumpInstruction),t.ToCodaFound=!0;else{const n=this.findInstructionInMainListBackwards(RepetitionInstructionEnum.Coda,e.measureIndex);n>=0&&(t.RepetitonUnderConstruction.forwardJumpInstruction=new RepetitionInstruction(n,RepetitionInstructionEnum.ToCoda,AlignmentType.Begin,t.RepetitonUnderConstruction),this.musicSheet.SourceMeasures[n].LastRepetitionInstructions.splice(0,0,t.RepetitonUnderConstruction.forwardJumpInstruction),t.ToCodaFound=!0)}}t.ToCodaFound&&(t.WaitingForCoda=!0),t.RepetitonUnderConstruction.EndingIndexDict.hasOwnProperty(1)||t.RepetitonUnderConstruction.setEndingEndIndex(1,this.currentMeasureIndex),t.RepetitonUnderConstruction.BackwardJumpInstructions.push(e),this.currentMeasure.LastRepetitionInstructions.push(e);break;case RepetitionInstructionEnum.None:break;default:throw new ArgumentOutOfRangeException("currentRepetitionInstruction")}return!0}findInstructionInMainListBackwards(e,t){for(let n=this.repetitionInstructions.length-1;n>=0;n--){const i=this.repetitionInstructions[n];if(i.measureIndex<=t&&i.type===e)return i.measureIndex}return-1}finalizeRepetition(e){const t=e.RepetitonUnderConstruction;if(t.BackwardJumpInstructions.length>0){let e=!0;const n=this.getLastFinalizedRepetition();if(void 0!==n&&t.coversIdenticalMeasures(n)){if(t.NumberOfEndings>n.NumberOfEndings){const e=this.musicSheet.Repetitions.indexOf(n,0);e>-1&&this.musicSheet.Repetitions.splice(e,1),n.removeFromRepetitionInstructions(),this.musicSheet.Repetitions.push(t)}e=!1,t.removeFromRepetitionInstructions()}else this.musicSheet.Repetitions.push(t);e&&(t.startMarker.type===RepetitionInstructionEnum.None&&this.musicSheet.SourceMeasures[t.StartIndex].FirstRepetitionInstructions.push(t.startMarker),t.UserNumberOfRepetitions=t.DefaultNumberOfRepetitions)}this.openRepetitions.splice(this.openRepetitions.length-1,1)}getCurrentRepetition(e){let t;for(let n=this.openRepetitions.length-1;n>=0;n--)if(this.openRepetitions[n].RepetitonUnderConstruction.FromWords===e){for(t=this.openRepetitions[n];n<this.openRepetitions.length-1;)this.finalizeRepetition(this.openRepetitions.last());return t}return t}getOrCreateCurrentRepetition(){if(this.openRepetitions.length>0)return this.openRepetitions.last();const e=this.createNewRepetition(0);return e.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(0,RepetitionInstructionEnum.None,AlignmentType.Begin,e.RepetitonUnderConstruction),e}getOrCreateCurrentRepetition2(e){let t;if(this.openRepetitions.length){if(this.openRepetitions.last().RepetitonUnderConstruction.EndingParts.length<2)for(let n=this.openRepetitions.length-1;n>=0;n--)if(t=this.openRepetitions[n],t.RepetitonUnderConstruction.FromWords===e){for(;n<this.openRepetitions.length-1;)this.finalizeRepetition(this.openRepetitions.last());return t}}return t=this.createNewRepetition(this.lastRepetitionCommonPartStartIndex),t.RepetitonUnderConstruction.startMarker=new RepetitionInstruction(this.lastRepetitionCommonPartStartIndex,RepetitionInstructionEnum.None,AlignmentType.Begin,t.RepetitonUnderConstruction),t.RepetitonUnderConstruction.FromWords=e,t}createNewRepetition(e){if(this.openRepetitions.length>0){const e=this.openRepetitions.last(),t=e.RepetitonUnderConstruction;if(t.BackwardJumpInstructions.length>0){const n=Object.keys(t.EndingIndexDict);(0===n.length||t.EndingIndexDict[n[n.length-1]].part.EndIndex>=0)&&this.finalizeRepetition(e)}}const t=new RepetitionBuildingContainer(this.musicSheet);return this.lastRepetitionCommonPartStartIndex=e,this.openRepetitions.push(t),t}getLastFinalizedRepetition(){if(this.musicSheet.Repetitions.length>0)return this.musicSheet.Repetitions.last()}}class RepetitionBuildingContainer{constructor(e){this.RepetitonUnderConstruction=new Repetition(e)}}class MusicSymbolModuleFactory{static createRepetitionInstructionReader(){return new RepetitionInstructionReader}static createRepetitionCalculator(){return new RepetitionCalculator}}class ReaderPluginManager{constructor(){this.voiceMeasureReadPlugins=[]}addVoiceMeasureReadPlugin(e){this.voiceMeasureReadPlugins.push(e)}processVoiceMeasureReadPlugins(e,t,n){for(const r of this.voiceMeasureReadPlugins)try{r.measureReadCalculations(e,t,n)}catch(i){loglevelExports.info("VoiceGenerator.addSingleNote: ",i)}}}class MusicSheetReader{constructor(e=undefined,t=new EngravingRules){this.completeNumberOfStaves=0,this.pluginManager=new ReaderPluginManager,this.afterSheetReadingModules=e||[],this.repetitionInstructionReader=MusicSymbolModuleFactory.createRepetitionInstructionReader(),this.repetitionCalculator=MusicSymbolModuleFactory.createRepetitionCalculator(),this.rules=t}get PluginManager(){return this.pluginManager}get CompleteNumberOfStaves(){return this.completeNumberOfStaves}static doCalculationsAfterDurationHasBeenSet(e){for(const t of e)t.doCalculationsAfterDurationHasBeenSet()}createMusicSheet(t,n){try{return this._createMusicSheet(t,n)}catch(e){return void loglevelExports.error("MusicSheetReader.CreateMusicSheet",e)}}_removeFromArray(e,t){const n=e.indexOf(t);-1!==n&&e.splice(n,1)}trimString(e){return e.replace(/^\s+|\s+$/g,"")}_lastElement(e){return e[e.length-1]}_createMusicSheet(t,n){const i=[];let r=0;if(this.musicSheet=new MusicSheet,this.musicSheet.Path=n,this.musicSheet.Rules=this.rules,!t)throw new MusicSheetReadingException("Undefined root element");this.pushSheetLabels(t,n);const o=t.element("part-list");if(!o)throw new MusicSheetReadingException("Undefined partListNode");const s=t.elements("part"),a=o.elements();this.initializeReading(a,s,i);let l=!0;this.currentFraction=new Fraction$1(0,1);let c=!1,u=t.element("identification");for(u&&(u=u.element("encoding")),u&&(u=u.element("software")),void 0!==u&&"Guitar Pro 5"===u.value&&(c=!0);l;){void 0!==this.currentMeasure&&this.currentMeasure.HasEndLine&&this.rules.NewPartAndSystemAfterFinalBarline&&(r=0),this.currentMeasure=new SourceMeasure(this.completeNumberOfStaves,this.musicSheet.Rules);for(const t of i)try{l=l&&t.readNextXmlMeasure(this.currentMeasure,this.currentFraction,c)}catch(e){const n=ITextTranslation.translateText("ReaderErrorMessages/InstrumentError","Error while reading instruments.");throw new MusicSheetReadingException(n,e)}l&&(this.musicSheet.addMeasure(this.currentMeasure),this.checkIfRhythmInstructionsAreSetAndEqual(i),this.checkSourceMeasureForNullEntries(),r=this.setSourceMeasureDuration(i,r),MusicSheetReader.doCalculationsAfterDurationHasBeenSet(i),this.currentMeasure.AbsoluteTimestamp=this.currentFraction.clone(),this.musicSheet.SheetErrors.finalizeMeasure(this.currentMeasure.MeasureNumber),this.currentFraction.Add(this.currentMeasure.Duration),this.previousMeasure=this.currentMeasure)}this.repetitionInstructionReader&&(this.repetitionInstructionReader.removeRedundantInstructions(),this.repetitionCalculator&&this.repetitionCalculator.calculateRepetitions(this.musicSheet,this.repetitionInstructionReader.repetitionInstructions)),0===this.musicSheet.DefaultStartTempoInBpm&&(this.musicSheet.DefaultStartTempoInBpm=100),this.musicSheet.checkForInstrumentWithNoVoice(),this.musicSheet.fillStaffList();for(let e=0,h=this.afterSheetReadingModules.length;e<h;++e){this.afterSheetReadingModules[e].calculate(this.musicSheet)}return this.musicSheet.userStartTempoInBPM=this.musicSheet.userStartTempoInBPM||this.musicSheet.DefaultStartTempoInBpm,this.musicSheet.InitializeStartTempoInBPM(this.musicSheet.userStartTempoInBPM),this.musicSheet.MusicPartManager.init(),this.musicSheet}initializeReading(e,t,n){const i=this.createInstrumentGroups(e);this.completeNumberOfStaves=this.getCompleteNumberOfStavesFromXml(t),0!==t.length&&(this.repetitionInstructionReader.MusicSheet=this.musicSheet,this.currentFraction=new Fraction$1(0,1),this.currentMeasure=void 0,this.previousMeasure=void 0);let r=0;for(const o of t){const e=o.attribute("id");if(e){const t=i[e.value],s=o.elements("measure");let a=1;try{a=this.getInstrumentNumberOfStavesFromXml(o)}catch(err){const n=ITextTranslation.translateText("ReaderErrorMessages/InstrumentStavesNumberError","Invalid number of staves at instrument: ");this.musicSheet.SheetErrors.push(n+t.Name);continue}t.createStaves(a),n.push(new InstrumentReader(this.pluginManager,this.repetitionInstructionReader,s,t)),this.repetitionInstructionReader&&(this.repetitionInstructionReader.xmlMeasureList[r]=s),r++}}}checkIfRhythmInstructionsAreSetAndEqual(e){const t=[];for(let r=0;r<this.completeNumberOfStaves;r++)if(this.currentMeasure.FirstInstructionsStaffEntries[r]){const e=this.currentMeasure.FirstInstructionsStaffEntries[r].Instructions[this.currentMeasure.FirstInstructionsStaffEntries[r].Instructions.length-1];e instanceof RhythmInstruction&&t.push(e)}let n=0,i=-1;for(let r=0,o=t.length;r<o;++r){const e=t[r];if(e.Rhythm.RealValue>n){if(this.areRhythmInstructionsMixed(t)&&e.SymbolEnum!==RhythmSymbolEnum.NONE)continue;n=e.Rhythm.RealValue,i=t.indexOf(e)}}if(t.length>0&&t.length<this.completeNumberOfStaves){const n=t[i].clone();for(let e=0;e<this.completeNumberOfStaves;e++)void 0===this.currentMeasure.FirstInstructionsStaffEntries[e]||this._lastElement(this.currentMeasure.FirstInstructionsStaffEntries[e].Instructions)instanceof RhythmInstruction||(this.currentMeasure.FirstInstructionsStaffEntries[e].removeAllInstructionsOfTypeRhythmInstruction(),this.currentMeasure.FirstInstructionsStaffEntries[e].Instructions.push(n.clone())),this.currentMeasure.FirstInstructionsStaffEntries[e]||(this.currentMeasure.FirstInstructionsStaffEntries[e]=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[e].Instructions.push(n.clone()));for(let t=0,i=e.length;t<i;++t){e[t].ActiveRhythm=n}}if(0===t.length&&this.currentMeasure===this.musicSheet.SourceMeasures[0]){const t=new RhythmInstruction(new Fraction$1(4,4,0,!1),RhythmSymbolEnum.NONE);for(let e=0;e<this.completeNumberOfStaves;e++)this.currentMeasure.FirstInstructionsStaffEntries[e]?this.currentMeasure.FirstInstructionsStaffEntries[e].removeAllInstructionsOfTypeRhythmInstruction():this.currentMeasure.FirstInstructionsStaffEntries[e]=new SourceStaffEntry(void 0,void 0),this.currentMeasure.FirstInstructionsStaffEntries[e].Instructions.push(t);for(let n=0,i=e.length;n<i;++n){e[n].ActiveRhythm=t}}for(let r=0,o=t.length;r<o;++r){const e=t[r];if(e.Rhythm.RealValue<n&&this._lastElement(this.currentMeasure.FirstInstructionsStaffEntries[t.indexOf(e)].Instructions)instanceof RhythmInstruction){const n=this.currentMeasure.FirstInstructionsStaffEntries[t.indexOf(e)].Instructions;n[n.length-1]=t[i].clone()}Math.abs(e.Rhythm.RealValue-n)<1e-6&&e.SymbolEnum!==RhythmSymbolEnum.NONE&&this.areRhythmInstructionsMixed(t)&&(e.SymbolEnum=RhythmSymbolEnum.NONE)}}areRhythmInstructionsMixed(e){for(let t=1;t<e.length;t++)if(Math.abs(e[t].Rhythm.RealValue-e[0].Rhythm.RealValue)<1e-6&&e[t].SymbolEnum!==e[0].SymbolEnum)return!0;return!1}setSourceMeasureDuration(e,t){let n=new Fraction$1(0,1);const i=[];for(const s of e){i.push(s.MaxTieNoteFraction);const e=s.ActiveRhythm.Rhythm;n.lt(e)&&(n=new Fraction$1(e.Numerator,e.Denominator,0,!1))}const r=this.currentMeasure.calculateInstrumentsDuration(this.musicSheet,i);let o=new Fraction$1(0,1);for(const s of r)o.lt(s)&&(o=s);Fraction$1.Equal(o,n)?this.checkFractionsForEquivalence(o,n):o.lt(n)&&(o=this.currentMeasure.reverseCheck(this.musicSheet,o),this.checkFractionsForEquivalence(o,n)),this.currentMeasure.ImplicitMeasure=this.checkIfMeasureIsImplicit(o,n),this.currentMeasure.ImplicitMeasure||t++,this.currentMeasure.Duration=o,this.currentMeasure.ActiveTimeSignature=n,this.currentMeasure.MeasureNumber=t;for(let s=0;s<r.length;s++){const e=r[s];if(this.currentMeasure.ImplicitMeasure&&e!==o||!Fraction$1.Equal(e,n)&&!this.allInstrumentsHaveSameDuration(r,o)){const e=this.musicSheet.getGlobalStaffIndexOfFirstStaff(this.musicSheet.Instruments[s]);for(let t=0;t<this.musicSheet.Instruments[s].Staves.length;t++)if(!this.graphicalMeasureIsEmpty(e+t)){this.currentMeasure.setErrorInGraphicalMeasure(e+t,!0);const n=ITextTranslation.translateText("ReaderErrorMessages/MissingNotesError","Given Notes don't correspond to measure duration.");this.musicSheet.SheetErrors.pushMeasureError(n)}}}return t}checkFractionsForEquivalence(e,t){if(t.Denominator>e.Denominator){const n=t.Denominator/e.Denominator;e.expand(n)}}checkIfMeasureIsImplicit(e,t){return!(this.previousMeasure||!e.lt(t))||!!this.previousMeasure&&Fraction$1.plus(this.previousMeasure.Duration,e).Equals(t)}allInstrumentsHaveSameDuration(e,t){let n=0;for(let i=0,r=e.length;i<r;++i){e[i].Equals(t)&&n++}return n===e.length&&t!==new Fraction$1(0,1)}graphicalMeasureIsEmpty(e){let t=0;for(let n=0;n<this.currentMeasure.VerticalSourceStaffEntryContainers.length;n++)this.currentMeasure.VerticalSourceStaffEntryContainers[n].StaffEntries[e]||t++;return t===this.currentMeasure.VerticalSourceStaffEntryContainers.length}checkSourceMeasureForNullEntries(){for(let e=this.currentMeasure.VerticalSourceStaffEntryContainers.length-1;e>=0;e--)for(let t=this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries.length-1;t>=0;t--){const n=this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries[t];if(n)for(let e=n.VoiceEntries.length-1;e>=0;e--){const t=n.VoiceEntries[e];0===t.Notes.length&&(this._removeFromArray(t.ParentVoice.VoiceEntries,t),this._removeFromArray(n.VoiceEntries,t))}void 0!==n&&0===n.VoiceEntries.length&&0===n.ChordContainers.length&&(this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries[t]=void 0)}for(let e=this.currentMeasure.VerticalSourceStaffEntryContainers.length-1;e>=0;e--){let t=0;for(let n=0,i=this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries.length;n<i;++n){this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries[n]||t++}t===this.currentMeasure.VerticalSourceStaffEntryContainers[e].StaffEntries.length&&this._removeFromArray(this.currentMeasure.VerticalSourceStaffEntryContainers,this.currentMeasure.VerticalSourceStaffEntryContainers[e])}}pushSheetLabels(e,t){this.readComposer(e),this.readTitle(e),this.readCopyright(e);try{this.musicSheet.Title&&this.musicSheet.Composer&&this.musicSheet.Subtitle||this.readTitleAndComposerFromCredits(e)}catch(n){loglevelExports.info("MusicSheetReader.pushSheetLabels","readTitleAndComposerFromCredits",n)}try{if(!this.musicSheet.Title){const e=Math.max(0,t.lastIndexOf("/"),t.lastIndexOf("\\")),n=t.substr(e).split(".",1);this.musicSheet.Title=new Label(n[0])}}catch(n){loglevelExports.info("MusicSheetReader.pushSheetLabels","read title from file name",n)}}presentAttrsWithValue(e,t){for(const n of e.attributes())if(n.value===t)return!0;return!1}readComposer(e){const t=e.element("identification");if(t){const e=t.elements("creator");for(let t=0,n=e.length;t<n;++t){const n=e[t];if(n.hasAttributes){if(this.presentAttrsWithValue(n,"composer")){this.musicSheet.Composer=new Label(this.trimString(n.value));continue}(this.presentAttrsWithValue(n,"lyricist")||this.presentAttrsWithValue(n,"poet"))&&(this.musicSheet.Lyricist=new Label(this.trimString(n.value)))}}}}readCopyright(e){const t=e.elements("identification");if(t.length>0){const e=t[0].elements("rights");if(e.length>0)for(let t=0,n=e.length;t<n;++t){const n=e[t];if(n.value){this.musicSheet.Copyright=new Label(n.value,TextAlignmentEnum.CenterBottom,void 0,!0);break}}}}readTitleAndComposerFromCredits(e){if(this.rules.SheetComposerSubtitleUseLegacyParsing)return void this.readTitleAndComposerFromCreditsLegacy(e);const t=this.computeSystemYCoordinates(e);if(0===t)return;let n,i,r;const o=e.elements("credit");for(let h=0,d=o.length;h<d;++h){const e=o[h];if(!e.attribute("page"))return;if("1"===e.attribute("page").value){let o;if(e){let c=!1,u=!1;const h=e.element("credit-type");"subtitle"===(null==h?void 0:h.value)?c=!0:"composer"===(null==h?void 0:h.value)&&(u=!0);let d=c||u;o=e.elements("credit-words");for(const e of o){var s,a,l;const o=null===(s=e.value)||void 0===s?void 0:s.trim();if("Copyright ©"===o)continue;const h=null===(a=e.attribute("justify"))||void 0===a?void 0:a.value;"right"===h?(u=!0,d=!0):"center"===h&&n&&(c=!0,d=!0);const p=null===(l=e.attribute("default-y"))||void 0===l?void 0:l.value,f=null!=p,m=f?parseFloat(p):Number.MIN_VALUE;if(f&&m>t||d)if(n||d){if(u||"right"===h)r?r+="\n"+o:r=o;else if(c||"right"!==h&&"left"!==h)i?i+="\n"+o:i=o;else if("left"===h){this.musicSheet.Lyricist||(this.musicSheet.Lyricist=new Label(o));break}}else n=o}}}}if(!this.musicSheet.Title&&n&&(this.musicSheet.Title=new Label(this.trimString(n))),!this.musicSheet.Subtitle&&i&&(this.musicSheet.Subtitle=new Label(this.trimString(i))),r){let e=!1;if(this.musicSheet.Composer){var c,u;(null!==(c=r.match("\n"))&&void 0!==c?c:[]).length+1>=(null!==(u=this.musicSheet.Composer.text.match("\n"))&&void 0!==u?u:[]).length+1&&(e=!0)}else e=!0;e&&(this.musicSheet.Composer=new Label(this.trimString(r)))}}readTitleAndComposerFromCreditsLegacy(e){const t=this.computeSystemYCoordinates(e);if(0===t)return;let n,i,r,o=1,s=0;const a=e.elements("credit");for(let h=0,d=a.length;h<d;++h){const e=a[h];if(!e.attribute("page"))return;if("1"===e.attribute("page").value){let a;if(e){var l,c;if(a=e.element("credit-words"),!a.attribute("justify"))break;const h=null===(l=a.attribute("justify"))||void 0===l?void 0:l.value,d=null===(c=a.attribute("default-y"))||void 0===c?void 0:c.value,p=null!=d,f=p?parseFloat(d):Number.MIN_VALUE;let m=!1;const g=e.element("credit-type");if("subtitle"===(null==g?void 0:g.value)&&(m=!0),p&&f>t||m){if(!this.musicSheet.Title&&!m){var u;const e=null===(u=a.attribute("font-size"))||void 0===u?void 0:u.value;if(e){const t=parseFloat(e);o<t&&(o=t,n=a.value)}}switch(this.musicSheet.Subtitle||("right"!==h&&"left"!==h||m)&&(s<f?(s=f,r?(i=r,r=a.value):r=a.value):i?i+="\n"+a.value:i=a.value),h){case"right":this.musicSheet.Composer||(this.musicSheet.Composer=new Label(this.trimString(a.value)));break;case"left":this.musicSheet.Lyricist||(this.musicSheet.Lyricist=new Label(this.trimString(a.value)))}}}}}!this.musicSheet.Title&&n&&(this.musicSheet.Title=new Label(this.trimString(n))),!this.musicSheet.Subtitle&&i&&(this.musicSheet.Subtitle=new Label(this.trimString(i)))}computeSystemYCoordinates(t){if(!t.element("defaults"))return 0;let n=0,i=0;try{const e=t.element("defaults").element("page-layout").element("page-height").value;n=parseFloat(e)}catch(e){return loglevelExports.info("MusicSheetReader.computeSystemYCoordinates(): couldn't find page height, not reading title/composer."),0}let r=!1;const o=t.elements("part");for(let e=0,s=o.length;e<s;++e){const t=o[e].elements("measure");for(let e=0,n=t.length;e<n;++e){const n=t[e];if(n.element("print")){const e=n.element("print").elements("system-layout");for(let t=0,n=e.length;t<n;++t){const n=e[t];if(n.element("top-system-distance")){const e=n.element("top-system-distance").value;i=parseFloat(e),r=!0;break}}break}}if(r)break}if(t.element("defaults").element("system-layout")){if(t.element("defaults").element("system-layout").element("top-system-distance")){const e=t.element("defaults").element("system-layout").element("top-system-distance").value;i=parseFloat(e)}}return 0===i?0:n-i}readTitle(e){const t=e.element("work");let n;t&&(n=t.element("work-title"),n&&n.value&&(this.musicSheet.Title=new Label(this.trimString(n.value))));const i=e.element("movement-title");let r="";if(i&&(this.musicSheet.Title?r=this.trimString(i.value):this.musicSheet.Title=new Label(this.trimString(i.value))),t){const e=t.element("work-number");if(e){const t=e.value;t&&(r=""===r?t:r+", "+t)}}r&&(this.musicSheet.Subtitle=new Label(r))}createInstrumentGroups(t){let n=0;const i={};let r;try{const e=t;for(let t=0,s=e.length;t<s;++t){const s=e[t];if("score-part"===s.name){const e=s.attribute("id").value,t=new Instrument(n,e,this.musicSheet,r);n++;const a=s.elements();for(let n=0,i=a.length;n<i;++n){const e=a[n];try{if("part-name"===e.name)t.Name=e.value,e.attribute("print-object")&&"no"===e.attribute("print-object").value&&(t.NameLabel.print=!1);else if("part-abbreviation"===e.name)t.PartAbbreviation=e.value;else if("score-instrument"===e.name){const n=new SubInstrument(t);n.idString=e.firstAttribute.value,t.SubInstruments.push(n);const i=e.element("instrument-name");i&&(n.name=i.value,n.setMidiInstrument(i.value));const r=e.element("instrument-sound");r&&(n.instrumentSound=r.value,n.setMidiInstrumentSound(r.value))}else if("midi-instrument"===e.name){let n=t.getSubInstrument(e.firstAttribute.value);for(let r=0,o=t.SubInstruments.length;r<o;++r){const i=t.SubInstruments[r];if(i.idString===e.value){n=i;break}}const i=e.elements();for(let e=0,r=i.length;e<r;++e){const r=i[e];try{if("midi-channel"===r.name)10===parseInt(r.value,10)&&(t.MidiInstrumentId=MidiInstrument.Percussion);else if("midi-program"===r.name)t.SubInstruments.length>0&&t.MidiInstrumentId!==MidiInstrument.Percussion&&(n.midiInstrumentID=Math.max(0,parseInt(r.value,10)-1));else if("midi-unpitched"===r.name)n.fixedKey=Math.max(0,parseInt(r.value,10));else if("volume"===r.name)try{const e=parseFloat(r.value);n.volume=e/127}catch(o){loglevelExports.debug("ExpressionReader.readExpressionParameters","read volume",o)}else if("pan"===r.name)try{const e=parseFloat(r.value);n.pan=e/64}catch(o){loglevelExports.debug("ExpressionReader.readExpressionParameters","read pan",o)}}catch(o){loglevelExports.info("MusicSheetReader.createInstrumentGroups midi settings: ",o)}}}}catch(o){loglevelExports.info("MusicSheetReader.createInstrumentGroups: ",o)}}if(0===t.SubInstruments.length){const e=new SubInstrument(t);t.SubInstruments.push(e)}i[e]=t,r?(r.InstrumentalGroups.push(t),this.musicSheet.Instruments.push(t)):(this.musicSheet.InstrumentalGroups.push(t),this.musicSheet.Instruments.push(t))}else if("part-group"===s.name&&"start"===s.attribute("type").value){const e=new InstrumentalGroup("group",this.musicSheet,r);r?r.InstrumentalGroups.push(e):this.musicSheet.InstrumentalGroups.push(e),r=e}else if("part-group"===s.name&&"stop"===s.attribute("type").value&&r){if(1===r.InstrumentalGroups.length){const e=r.InstrumentalGroups[0];r.Parent?(r.Parent.InstrumentalGroups.push(e),this._removeFromArray(r.Parent.InstrumentalGroups,r)):(this.musicSheet.InstrumentalGroups.push(e),this._removeFromArray(this.musicSheet.InstrumentalGroups,r))}r=r.Parent}}}catch(e){const n=ITextTranslation.translateText("ReaderErrorMessages/InstrumentError","Error while reading Instruments");throw new MusicSheetReadingException(n,e)}for(let e=0,s=this.musicSheet.Instruments.length;e<s;++e){const t=this.musicSheet.Instruments[e];t.Name||(t.Name="Instr. "+t.IdString)}return i}getCompleteNumberOfStavesFromXml(e){let t=0;for(const n of e){const e=n.elements("measure");if(e.length>0){const n=e[0];if(n){let e=n.element("attributes");e&&(e=e.element("staves")),e?t+=parseInt(e.value,10):t++}}}if(isNaN(t)||t<=0){const e=ITextTranslation.translateText("ReaderErrorMessages/StaffError","Invalid number of staves.");throw new MusicSheetReadingException(e)}return t}getInstrumentNumberOfStavesFromXml(e){let t=0;const n=e.element("measure");if(n){const e=n.element("attributes");let i;e&&(i=e.element("staves")),t=e&&i?parseInt(i.value,10):1}if(isNaN(t)||t<=0){const e=ITextTranslation.translateText("ReaderErrorMessages/StaffError","Invalid number of Staves.");throw new MusicSheetReadingException(e)}return t}}function commonjsRequire(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var jszip_minExports={},jszip_min={get exports(){return jszip_minExports},set exports(e){jszip_minExports=e}};
  38. /*!
  39. JSZip v3.10.1 - A JavaScript class for generating and reading zip files
  40. <http://stuartk.com/jszip>
  41. (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
  42. Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
  43. JSZip uses the library pako released under the MIT license :
  44. https://github.com/nodeca/pako/blob/main/LICENSE
  45. */
  46. !function(e,t){e.exports=function e(t,n,i){function r(s,a){if(!n[s]){if(!t[s]){var l="function"==typeof commonjsRequire&&commonjsRequire;if(!a&&l)return l(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[s]={exports:{}};t[s][0].call(u.exports,(function(e){return r(t[s][1][e]||e)}),u,u.exports,e,t,n,i)}return n[s].exports}for(var o="function"==typeof commonjsRequire&&commonjsRequire,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(e,t,n){var i=e("./utils"),r=e("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(e){for(var t,n,r,s,a,l,c,u=[],h=0,d=e.length,p=d,f="string"!==i.getTypeOf(e);h<e.length;)p=d-h,r=f?(t=e[h++],n=h<d?e[h++]:0,h<d?e[h++]:0):(t=e.charCodeAt(h++),n=h<d?e.charCodeAt(h++):0,h<d?e.charCodeAt(h++):0),s=t>>2,a=(3&t)<<4|n>>4,l=1<p?(15&n)<<2|r>>6:64,c=2<p?63&r:64,u.push(o.charAt(s)+o.charAt(a)+o.charAt(l)+o.charAt(c));return u.join("")},n.decode=function(e){var t,n,i,s,a,l,c=0,u=0,h="data:";if(e.substr(0,h.length)===h)throw new Error("Invalid base64 input, it looks like a data url.");var d,p=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===o.charAt(64)&&p--,e.charAt(e.length-2)===o.charAt(64)&&p--,p%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=r.uint8array?new Uint8Array(0|p):new Array(0|p);c<e.length;)t=o.indexOf(e.charAt(c++))<<2|(s=o.indexOf(e.charAt(c++)))>>4,n=(15&s)<<4|(a=o.indexOf(e.charAt(c++)))>>2,i=(3&a)<<6|(l=o.indexOf(e.charAt(c++))),d[u++]=t,64!==a&&(d[u++]=n),64!==l&&(d[u++]=i);return d}},{"./support":30,"./utils":32}],2:[function(e,t,n){var i=e("./external"),r=e("./stream/DataWorker"),o=e("./stream/Crc32Probe"),s=e("./stream/DataLengthProbe");function a(e,t,n,i,r){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=i,this.compressedContent=r}a.prototype={getContentWorker:function(){var e=new r(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),t=this;return e.on("end",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),e},getCompressedWorker:function(){return new r(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,n){return e.pipe(new o).pipe(new s("uncompressedSize")).pipe(t.compressWorker(n)).pipe(new s("compressedSize")).withStreamInfo("compression",t)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,n){var i=e("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},n.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,n){var i=e("./utils"),r=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==i.getTypeOf(e)?function(e,t,n,i){var o=r,s=i+n;e^=-1;for(var a=i;a<s;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,n,i){var o=r,s=i+n;e^=-1;for(var a=i;a<s;a++)e=e>>>8^o[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,n){n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(e,t,n){var i=null;i="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:i}},{lie:37}],7:[function(e,t,n){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,r=e("pako"),o=e("./utils"),s=e("./stream/GenericWorker"),a=i?"uint8array":"array";function l(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}n.magic="\b\0",o.inherits(l,s),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(o.transformTo(a,e.data),!1)},l.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new r[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},n.compressWorker=function(e){return new l("Deflate",e)},n.uncompressWorker=function(){return new l("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,n){function i(e,t){var n,i="";for(n=0;n<t;n++)i+=String.fromCharCode(255&e),e>>>=8;return i}function r(e,t,n,r,s,u){var h,d,p=e.file,f=e.compression,m=u!==a.utf8encode,g=o.transformTo("string",u(p.name)),v=o.transformTo("string",a.utf8encode(p.name)),b=p.comment,y=o.transformTo("string",u(b)),A=o.transformTo("string",a.utf8encode(b)),S=v.length!==p.name.length,x=A.length!==b.length,E="",w="",_="",M=p.dir,P=p.date,T={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(T.crc32=e.crc32,T.compressedSize=e.compressedSize,T.uncompressedSize=e.uncompressedSize);var C=0;t&&(C|=8),m||!S&&!x||(C|=2048);var I=0,k=0;M&&(I|=16),"UNIX"===s?(k=798,I|=function(e,t){var n=e;return e||(n=t?16893:33204),(65535&n)<<16}(p.unixPermissions,M)):(k=20,I|=function(e){return 63&(e||0)}(p.dosPermissions)),h=P.getUTCHours(),h<<=6,h|=P.getUTCMinutes(),h<<=5,h|=P.getUTCSeconds()/2,d=P.getUTCFullYear()-1980,d<<=4,d|=P.getUTCMonth()+1,d<<=5,d|=P.getUTCDate(),S&&(w=i(1,1)+i(l(g),4)+v,E+="up"+i(w.length,2)+w),x&&(_=i(1,1)+i(l(y),4)+A,E+="uc"+i(_.length,2)+_);var B="";return B+="\n\0",B+=i(C,2),B+=f.magic,B+=i(h,2),B+=i(d,2),B+=i(T.crc32,4),B+=i(T.compressedSize,4),B+=i(T.uncompressedSize,4),B+=i(g.length,2),B+=i(E.length,2),{fileRecord:c.LOCAL_FILE_HEADER+B+g+E,dirRecord:c.CENTRAL_FILE_HEADER+i(k,2)+B+i(y.length,2)+"\0\0\0\0"+i(I,4)+i(r,4)+g+E+y}}var o=e("../utils"),s=e("../stream/GenericWorker"),a=e("../utf8"),l=e("../crc32"),c=e("../signature");function u(e,t,n,i){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=i,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(u,s),u.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-i-1))/n:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=r(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,n=r(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),t)this.push({data:function(e){return c.DATA_DESCRIPTOR+i(e.crc32,4)+i(e.compressedSize,4)+i(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var n=this.bytesWritten-e,r=function(e,t,n,r,s){var a=o.transformTo("string",s(r));return c.CENTRAL_DIRECTORY_END+"\0\0\0\0"+i(e,2)+i(e,2)+i(t,4)+i(n,4)+i(a.length,2)+a}(this.dirRecords.length,n,e,this.zipComment,this.encodeFileName);this.push({data:r,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()})),e.on("error",(function(e){t.error(e)})),this},u.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var n=0;n<t.length;n++)try{t[n].error(e)}catch(e){}return!0},u.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,n){var i=e("../compressions"),r=e("./ZipFileWorker");n.generateWorker=function(e,t,n){var o=new r(t.streamFiles,n,t.platform,t.encodeFileName),s=0;try{e.forEach((function(e,n){s++;var r=function(e,t){var n=e||t,r=i[n];if(!r)throw new Error(n+" is not a valid compression method !");return r}(n.options.compression,t.compression),a=n.options.compressionOptions||t.compressionOptions||{},l=n.dir,c=n.date;n._compressWorker(r,a).withStreamInfo("file",{name:e,dir:l,date:c,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(o)})),o.entriesCount=s}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,n){function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new i;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(i.prototype=e("./object")).loadAsync=e("./load"),i.support=e("./support"),i.defaults=e("./defaults"),i.version="3.10.1",i.loadAsync=function(e,t){return(new i).loadAsync(e,t)},i.external=e("./external"),t.exports=i},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,n){var i=e("./utils"),r=e("./external"),o=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function c(e){return new r.Promise((function(t,n){var i=e.decompressed.getContentWorker().pipe(new a);i.on("error",(function(e){n(e)})).on("end",(function(){i.streamInfo.crc32!==e.decompressed.crc32?n(new Error("Corrupted zip : CRC32 mismatch")):t()})).resume()}))}t.exports=function(e,t){var n=this;return t=i.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),l.isNode&&l.isStream(e)?r.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then((function(e){var n=new s(t);return n.load(e),n})).then((function(e){var n=[r.Promise.resolve(e)],i=e.files;if(t.checkCRC32)for(var o=0;o<i.length;o++)n.push(c(i[o]));return r.Promise.all(n)})).then((function(e){for(var r=e.shift(),o=r.files,s=0;s<o.length;s++){var a=o[s],l=a.fileNameStr,c=i.resolve(a.fileNameStr);n.file(c,a.decompressed,{binary:!0,optimizedBinaryString:!0,date:a.date,dir:a.dir,comment:a.fileCommentStr.length?a.fileCommentStr:null,unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions,createFolders:t.createFolders}),a.dir||(n.file(c).unsafeOriginalName=l)}return r.zipComment.length&&(n.comment=r.zipComment),n}))}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,n){var i=e("../utils"),r=e("../stream/GenericWorker");function o(e,t){r.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}i.inherits(o,r),o.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",(function(e){t.push({data:e,meta:{percent:0}})})).on("error",(function(e){t.isPaused?this.generatedError=e:t.error(e)})).on("end",(function(){t.isPaused?t._upstreamEnded=!0:t.end()}))},o.prototype.pause=function(){return!!r.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,n){var i=e("readable-stream").Readable;function r(e,t,n){i.call(this,t),this._helper=e;var r=this;e.on("data",(function(e,t){r.push(e)||r._helper.pause(),n&&n(t)})).on("error",(function(e){r.emit("error",e)})).on("end",(function(){r.push(null)}))}e("../utils").inherits(r,i),r.prototype._read=function(){this._helper.resume()},t.exports=r},{"../utils":32,"readable-stream":16}],14:[function(e,t,n){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,n){function i(e,t,n){var i,r=o.getTypeOf(t),a=o.extend(n||{},l);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),"string"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=m(e)),a.createFolders&&(i=f(e))&&g.call(this,i,!0);var h="string"===r&&!1===a.binary&&!1===a.base64;n&&void 0!==n.binary||(a.binary=!h),(t instanceof c&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t="",a.compression="STORE",r="string");var v=null;v=t instanceof c||t instanceof s?t:d.isNode&&d.isStream(t)?new p(e,t):o.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var b=new u(e,v,a);this.files[e]=b}var r=e("./utf8"),o=e("./utils"),s=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),l=e("./defaults"),c=e("./compressedObject"),u=e("./zipObject"),h=e("./generate"),d=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),f=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},m=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},g=function(e,t){return t=void 0!==t?t:l.createFolders,e=m(e),this.files[e]||i.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function v(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var b={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,n,i;for(t in this.files)i=this.files[t],(n=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(n,i)},filter:function(e){var t=[];return this.forEach((function(n,i){e(n,i)&&t.push(i)})),t},file:function(e,t,n){if(1!==arguments.length)return e=this.root+e,i.call(this,e,t,n),this;if(v(e)){var r=e;return this.filter((function(e,t){return!t.dir&&r.test(e)}))}var o=this.files[this.root+e];return o&&!o.dir?o:null},folder:function(e){if(!e)return this;if(v(e))return this.filter((function(t,n){return n.dir&&e.test(t)}));var t=this.root+e,n=g.call(this,t),i=this.clone();return i.root=n.name,i},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var n=this.filter((function(t,n){return n.name.slice(0,e.length)===e})),i=0;i<n.length;i++)delete this.files[n[i].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,n={};try{if((n=o.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:r.utf8encode})).type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw new Error("No output type specified.");o.checkSupport(n.type),"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX"),"win32"===n.platform&&(n.platform="DOS");var i=n.comment||this.comment||"";t=h.generateWorker(this,n,i)}catch(e){(t=new s("error")).error(e)}return new a(t,n.type||"string",n.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=b},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,n){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,n){var i=e("./DataReader");function r(e){i.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(r,i),r.prototype.byteAt=function(e){return this.data[this.zero+e]},r.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),o=this.length-4;0<=o;--o)if(this.data[o]===t&&this.data[o+1]===n&&this.data[o+2]===i&&this.data[o+3]===r)return o-this.zero;return-1},r.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),o=this.readData(4);return t===o[0]&&n===o[1]&&i===o[2]&&r===o[3]},r.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./DataReader":18}],18:[function(e,t,n){var i=e("../utils");function r(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}r.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,n=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return i.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=r},{"../utils":32}],19:[function(e,t,n){var i=e("./Uint8ArrayReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,n){var i=e("./DataReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},r.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},r.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./DataReader":18}],21:[function(e,t,n){var i=e("./ArrayReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,n){var i=e("../utils"),r=e("../support"),o=e("./ArrayReader"),s=e("./StringReader"),a=e("./NodeBufferReader"),l=e("./Uint8ArrayReader");t.exports=function(e){var t=i.getTypeOf(e);return i.checkSupport(t),"string"!==t||r.uint8array?"nodebuffer"===t?new a(e):r.uint8array?new l(i.transformTo("uint8array",e)):new o(i.transformTo("array",e)):new s(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,n){n.LOCAL_FILE_HEADER="PK",n.CENTRAL_FILE_HEADER="PK",n.CENTRAL_DIRECTORY_END="PK",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",n.ZIP64_CENTRAL_DIRECTORY_END="PK",n.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,n){var i=e("./GenericWorker"),r=e("../utils");function o(e){i.call(this,"ConvertWorker to "+e),this.destType=e}r.inherits(o,i),o.prototype.processChunk=function(e){this.push({data:r.transformTo(this.destType,e.data),meta:e.meta})},t.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,n){var i=e("./GenericWorker"),r=e("../crc32");function o(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(o,i),o.prototype.processChunk=function(e){this.streamInfo.crc32=r(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,n){var i=e("../utils"),r=e("./GenericWorker");function o(e){r.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}i.inherits(o,r),o.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}r.prototype.processChunk.call(this,e)},t.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,n){var i=e("../utils"),r=e("./GenericWorker");function o(e){r.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then((function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=i.getTypeOf(e),t.isPaused||t._tickAndRepeat()}),(function(e){t.error(e)}))}i.inherits(o,r),o.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,n){function i(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.end()})),e.on("error",(function(e){t.error(e)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=i},{}],29:[function(e,t,n){var i=e("../utils"),r=e("./ConvertWorker"),o=e("./GenericWorker"),s=e("../base64"),a=e("../support"),l=e("../external"),c=null;if(a.nodestream)try{c=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function u(e,t){return new l.Promise((function(n,r){var o=[],a=e._internalType,l=e._outputType,c=e._mimeType;e.on("data",(function(e,n){o.push(e),t&&t(n)})).on("error",(function(e){o=[],r(e)})).on("end",(function(){try{var e=function(e,t,n){switch(e){case"blob":return i.newBlob(i.transformTo("arraybuffer",t),n);case"base64":return s.encode(t);default:return i.transformTo(e,t)}}(l,function(e,t){var n,i=0,r=null,o=0;for(n=0;n<t.length;n++)o+=t[n].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(r=new Uint8Array(o),n=0;n<t.length;n++)r.set(t[n],i),i+=t[n].length;return r;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(a,o),c);n(e)}catch(e){r(e)}o=[]})).resume()}))}function h(e,t,n){var s=t;switch(t){case"blob":case"arraybuffer":s="uint8array";break;case"base64":s="string"}try{this._internalType=s,this._outputType=t,this._mimeType=n,i.checkSupport(s),this._worker=e.pipe(new r(s)),e.lock()}catch(e){this._worker=new o("error"),this._worker.error(e)}}h.prototype={accumulate:function(e){return u(this,e)},on:function(e,t){var n=this;return"data"===e?this._worker.on(e,(function(e){t.call(n,e.data,e.meta)})):this._worker.on(e,(function(){i.delay(t,arguments,n)})),this},resume:function(){return i.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(i.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new c(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=h},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,n){if(n.base64=!0,n.array=!0,n.string=!0,n.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,n.nodebuffer="undefined"!=typeof Buffer,n.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)n.blob=!1;else{var i=new ArrayBuffer(0);try{n.blob=0===new Blob([i],{type:"application/zip"}).size}catch(e){try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);r.append(i),n.blob=0===r.getBlob("application/zip").size}catch(e){n.blob=!1}}}try{n.nodestream=!!e("readable-stream").Readable}catch(e){n.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,n){for(var i=e("./utils"),r=e("./support"),o=e("./nodejsUtils"),s=e("./stream/GenericWorker"),a=new Array(256),l=0;l<256;l++)a[l]=252<=l?6:248<=l?5:240<=l?4:224<=l?3:192<=l?2:1;function c(){s.call(this,"utf-8 decode"),this.leftOver=null}function u(){s.call(this,"utf-8 encode")}a[254]=a[254]=1,n.utf8encode=function(e){return r.nodebuffer?o.newBufferFrom(e,"utf-8"):function(e){var t,n,i,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=r.uint8array?new Uint8Array(l):new Array(l),o=s=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),n<128?t[s++]=n:(n<2048?t[s++]=192|n>>>6:(n<65536?t[s++]=224|n>>>12:(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63),t[s++]=128|n>>>6&63),t[s++]=128|63&n);return t}(e)},n.utf8decode=function(e){return r.nodebuffer?i.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,n,r,o,s=e.length,l=new Array(2*s);for(t=n=0;t<s;)if((r=e[t++])<128)l[n++]=r;else if(4<(o=a[r]))l[n++]=65533,t+=o-1;else{for(r&=2===o?31:3===o?15:7;1<o&&t<s;)r=r<<6|63&e[t++],o--;1<o?l[n++]=65533:r<65536?l[n++]=r:(r-=65536,l[n++]=55296|r>>10&1023,l[n++]=56320|1023&r)}return l.length!==n&&(l.subarray?l=l.subarray(0,n):l.length=n),i.applyFromCharCode(l)}(e=i.transformTo(r.uint8array?"uint8array":"array",e))},i.inherits(c,s),c.prototype.processChunk=function(e){var t=i.transformTo(r.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(r.uint8array){var o=t;(t=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),t.set(o,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var s=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0||0===n?t:n+a[e[n]]>t?n:t}(t),l=t;s!==t.length&&(r.uint8array?(l=t.subarray(0,s),this.leftOver=t.subarray(s,t.length)):(l=t.slice(0,s),this.leftOver=t.slice(s,t.length))),this.push({data:n.utf8decode(l),meta:e.meta})},c.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=c,i.inherits(u,s),u.prototype.processChunk=function(e){this.push({data:n.utf8encode(e.data),meta:e.meta})},n.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,n){var i=e("./support"),r=e("./base64"),o=e("./nodejsUtils"),s=e("./external");function a(e){return e}function l(e,t){for(var n=0;n<e.length;++n)t[n]=255&e.charCodeAt(n);return t}e("setimmediate"),n.newBlob=function(t,i){n.checkSupport("blob");try{return new Blob([t],{type:i})}catch(e){try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return r.append(t),r.getBlob(i)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var c={stringifyByChunk:function(e,t,n){var i=[],r=0,o=e.length;if(o<=n)return String.fromCharCode.apply(null,e);for(;r<o;)"array"===t||"nodebuffer"===t?i.push(String.fromCharCode.apply(null,e.slice(r,Math.min(r+n,o)))):i.push(String.fromCharCode.apply(null,e.subarray(r,Math.min(r+n,o)))),r+=n;return i.join("")},stringifyByChar:function(e){for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,o.allocBuffer(1)).length}catch(e){return!1}}()}};function u(e){var t=65536,i=n.getTypeOf(e),r=!0;if("uint8array"===i?r=c.applyCanBeUsed.uint8array:"nodebuffer"===i&&(r=c.applyCanBeUsed.nodebuffer),r)for(;1<t;)try{return c.stringifyByChunk(e,i,t)}catch(e){t=Math.floor(t/2)}return c.stringifyByChar(e)}function h(e,t){for(var n=0;n<e.length;n++)t[n]=e[n];return t}n.applyFromCharCode=u;var d={};d.string={string:a,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return d.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,o.allocBuffer(e.length))}},d.array={string:u,array:a,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(e)}},d.arraybuffer={string:function(e){return u(new Uint8Array(e))},array:function(e){return h(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:a,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(new Uint8Array(e))}},d.uint8array={string:u,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:a,nodebuffer:function(e){return o.newBufferFrom(e)}},d.nodebuffer={string:u,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return d.nodebuffer.uint8array(e).buffer},uint8array:function(e){return h(e,new Uint8Array(e.length))},nodebuffer:a},n.transformTo=function(e,t){if(t=t||"",!e)return t;n.checkSupport(e);var i=n.getTypeOf(t);return d[i][e](t)},n.resolve=function(e){for(var t=e.split("/"),n=[],i=0;i<t.length;i++){var r=t[i];"."===r||""===r&&0!==i&&i!==t.length-1||(".."===r?n.pop():n.push(r))}return n.join("/")},n.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":i.nodebuffer&&o.isBuffer(e)?"nodebuffer":i.uint8array&&e instanceof Uint8Array?"uint8array":i.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(e){if(!i[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(e){var t,n,i="";for(n=0;n<(e||"").length;n++)i+="\\x"+((t=e.charCodeAt(n))<16?"0":"")+t.toString(16).toUpperCase();return i},n.delay=function(e,t,n){setImmediate((function(){e.apply(n||null,t||[])}))},n.inherits=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n},n.extend=function(){var e,t,n={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===n[t]&&(n[t]=arguments[e][t]);return n},n.prepareContent=function(e,t,o,a,c){return s.Promise.resolve(t).then((function(e){return i.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new s.Promise((function(t,n){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=function(e){n(e.target.error)},i.readAsArrayBuffer(e)})):e})).then((function(t){var u=n.getTypeOf(t);return u?("arraybuffer"===u?t=n.transformTo("uint8array",t):"string"===u&&(c?t=r.decode(t):o&&!0!==a&&(t=function(e){return l(e,i.uint8array?new Uint8Array(e.length):new Array(e.length))}(t))),t):s.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))}))}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,n){var i=e("./reader/readerFor"),r=e("./utils"),o=e("./signature"),s=e("./zipEntry"),a=e("./support");function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+r.pretty(t)+", expected "+r.pretty(e)+")")}},isSignature:function(e,t){var n=this.reader.index;this.reader.setIndex(e);var i=this.reader.readString(4)===t;return this.reader.setIndex(n),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",n=r.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,n,i=this.zip64EndOfCentralSize-44;0<i;)e=this.reader.readInt(2),t=this.reader.readInt(4),n=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===r.MAX_VALUE_16BITS||this.diskWithCentralDirStart===r.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===r.MAX_VALUE_16BITS||this.centralDirRecords===r.MAX_VALUE_16BITS||this.centralDirSize===r.MAX_VALUE_32BITS||this.centralDirOffset===r.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var i=t-n;if(0<i)this.isSignature(t,o.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(e){this.reader=i(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=l},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,n){var i=e("./reader/readerFor"),r=e("./utils"),o=e("./compressedObject"),s=e("./crc32"),a=e("./utf8"),l=e("./compressions"),c=e("./support");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(Object.prototype.hasOwnProperty.call(l,t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+r.pretty(this.compressionMethod)+" unknown (inner file : "+r.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===r.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===r.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===r.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===r.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,n,i,r=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<r;)t=e.readInt(2),n=e.readInt(2),i=e.readData(n),this.extraFields[t]={id:t,length:n,value:i};e.setIndex(r)},handleUTF8:function(){var e=c.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var n=r.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var o=r.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(o)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=i(e.value);return 1!==t.readInt(1)||s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=i(e.value);return 1!==t.readInt(1)||s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,n){function i(e,t,n){this.name=e,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=t,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}}var r=e("./stream/StreamHelper"),o=e("./stream/DataWorker"),s=e("./utf8"),a=e("./compressedObject"),l=e("./stream/GenericWorker");i.prototype={internalStream:function(e){var t=null,n="string";try{if(!e)throw new Error("No output type specified.");var i="string"===(n=e.toLowerCase())||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),t=this._decompressWorker();var o=!this._dataBinary;o&&!i&&(t=t.pipe(new s.Utf8EncodeWorker)),!o&&i&&(t=t.pipe(new s.Utf8DecodeWorker))}catch(e){(t=new l("error")).error(e)}return new r(t,n,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new s.Utf8EncodeWorker)),a.createWorkerFrom(n,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof l?this._data:new o(this._data)}};for(var c=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<c.length;h++)i.prototype[c[h]]=u;t.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,n){(function(e){var n,i,r=e.MutationObserver||e.WebKitMutationObserver;if(r){var o=0,s=new r(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),n=function(){a.data=o=++o%2}}else if(e.setImmediate||void 0===e.MessageChannel)n="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var l=new e.MessageChannel;l.port1.onmessage=u,n=function(){l.port2.postMessage(0)}}var c=[];function u(){var e,t;i=!0;for(var n=c.length;n;){for(t=c,c=[],e=-1;++e<n;)t[e]();n=c.length}i=!1}t.exports=function(e){1!==c.push(e)||i||n()}}).call(this,void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,n){var i=e("immediate");function r(){}var o={},s=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function c(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==r&&p(this,e)}function u(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}function h(e,t,n){i((function(){var i;try{i=t(n)}catch(i){return o.reject(e,i)}i===e?o.reject(e,new TypeError("Cannot resolve promise with itself")):o.resolve(e,i)}))}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function p(e,t){var n=!1;function i(t){n||(n=!0,o.reject(e,t))}function r(t){n||(n=!0,o.resolve(e,t))}var s=f((function(){t(r,i)}));"error"===s.status&&i(s.value)}function f(e,t){var n={};try{n.value=e(t),n.status="success"}catch(e){n.status="error",n.value=e}return n}(t.exports=c).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){throw n}))}))},c.prototype.catch=function(e){return this.then(null,e)},c.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var n=new this.constructor(r);return this.state!==l?h(n,this.state===a?e:t,this.outcome):this.queue.push(new u(n,e,t)),n},u.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){o.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},o.resolve=function(e,t){var n=f(d,t);if("error"===n.status)return o.reject(e,n.value);var i=n.value;if(i)p(e,i);else{e.state=a,e.outcome=t;for(var r=-1,s=e.queue.length;++r<s;)e.queue[r].callFulfilled(t)}return e},o.reject=function(e,t){e.state=s,e.outcome=t;for(var n=-1,i=e.queue.length;++n<i;)e.queue[n].callRejected(t);return e},c.resolve=function(e){return e instanceof this?e:o.resolve(new this(r),e)},c.reject=function(e){var t=new this(r);return o.reject(t,e)},c.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=new Array(n),a=0,l=-1,c=new this(r);++l<n;)u(e[l],l);return c;function u(e,r){t.resolve(e).then((function(e){s[r]=e,++a!==n||i||(i=!0,o.resolve(c,s))}),(function(e){i||(i=!0,o.reject(c,e))}))}},c.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s,a=-1,l=new this(r);++a<n;)s=e[a],t.resolve(s).then((function(e){i||(i=!0,o.resolve(l,e))}),(function(e){i||(i=!0,o.reject(l,e))}));return l}},{immediate:36}],38:[function(e,t,n){var i={};(0,e("./lib/utils/common").assign)(i,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=i},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,n){var i=e("./zlib/deflate"),r=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/messages"),a=e("./zlib/zstream"),l=Object.prototype.toString,c=0,u=-1,h=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=r.assign({level:u,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:h,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var n=i.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==c)throw new Error(s[n]);if(t.header&&i.deflateSetHeader(this.strm,t.header),t.dictionary){var f;if(f="string"==typeof t.dictionary?o.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=i.deflateSetDictionary(this.strm,f))!==c)throw new Error(s[n]);this._dict_set=!0}}function f(e,t){var n=new p(t);if(n.push(e,!0),n.err)throw n.msg||s[n.err];return n.result}p.prototype.push=function(e,t){var n,s,a=this.strm,u=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=o.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new r.Buf8(u),a.next_out=0,a.avail_out=u),1!==(n=i.deflate(a,s))&&n!==c)return this.onEnd(n),!(this.ended=!0);0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(o.buf2binstring(r.shrinkBuf(a.output,a.next_out))):this.onData(r.shrinkBuf(a.output,a.next_out)))}while((0<a.avail_in||0===a.avail_out)&&1!==n);return 4===s?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===c):2!==s||(this.onEnd(c),!(a.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Deflate=p,n.deflate=f,n.deflateRaw=function(e,t){return(t=t||{}).raw=!0,f(e,t)},n.gzip=function(e,t){return(t=t||{}).gzip=!0,f(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,n){var i=e("./zlib/inflate"),r=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/constants"),a=e("./zlib/messages"),l=e("./zlib/zstream"),c=e("./zlib/gzheader"),u=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=i.inflateInit2(this.strm,t.windowBits);if(n!==s.Z_OK)throw new Error(a[n]);this.header=new c,i.inflateGetHeader(this.strm,this.header)}function d(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}h.prototype.push=function(e,t){var n,a,l,c,h,d,p=this.strm,f=this.options.chunkSize,m=this.options.dictionary,g=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?p.input=o.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new r.Buf8(f),p.next_out=0,p.avail_out=f),(n=i.inflate(p,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&m&&(d="string"==typeof m?o.string2buf(m):"[object ArrayBuffer]"===u.call(m)?new Uint8Array(m):m,n=i.inflateSetDictionary(this.strm,d)),n===s.Z_BUF_ERROR&&!0===g&&(n=s.Z_OK,g=!1),n!==s.Z_STREAM_END&&n!==s.Z_OK)return this.onEnd(n),!(this.ended=!0);p.next_out&&(0!==p.avail_out&&n!==s.Z_STREAM_END&&(0!==p.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=o.utf8border(p.output,p.next_out),c=p.next_out-l,h=o.buf2string(p.output,l),p.next_out=c,p.avail_out=f-c,c&&r.arraySet(p.output,p.output,l,c,0),this.onData(h)):this.onData(r.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(g=!0)}while((0<p.avail_in||0===p.avail_out)&&n!==s.Z_STREAM_END);return n===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(n=i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(p.avail_out=0))},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Inflate=h,n.inflate=d,n.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},n.ungzip=d},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,n){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;n.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}}return e},n.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var o=0;o<i;o++)e[r+o]=t[n+o]},flattenChunks:function(e){var t,n,i,r,o,s;for(t=i=0,n=e.length;t<n;t++)i+=e[t].length;for(s=new Uint8Array(i),t=r=0,n=e.length;t<n;t++)o=e[t],s.set(o,r),r+=o.length;return s}},o={arraySet:function(e,t,n,i,r){for(var o=0;o<i;o++)e[r+o]=t[n+o]},flattenChunks:function(e){return[].concat.apply([],e)}};n.setTyped=function(e){e?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,r)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,o))},n.setTyped(i)},{}],42:[function(e,t,n){var i=e("./common"),r=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){o=!1}for(var s=new i.Buf8(256),a=0;a<256;a++)s[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function l(e,t){if(t<65537&&(e.subarray&&o||!e.subarray&&r))return String.fromCharCode.apply(null,i.shrinkBuf(e,t));for(var n="",s=0;s<t;s++)n+=String.fromCharCode(e[s]);return n}s[254]=s[254]=1,n.string2buf=function(e){var t,n,r,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=new i.Buf8(l),o=s=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[s++]=n:(n<2048?t[s++]=192|n>>>6:(n<65536?t[s++]=224|n>>>12:(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63),t[s++]=128|n>>>6&63),t[s++]=128|63&n);return t},n.buf2binstring=function(e){return l(e,e.length)},n.binstring2buf=function(e){for(var t=new i.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},n.buf2string=function(e,t){var n,i,r,o,a=t||e.length,c=new Array(2*a);for(n=i=0;n<a;)if((r=e[n++])<128)c[i++]=r;else if(4<(o=s[r]))c[i++]=65533,n+=o-1;else{for(r&=2===o?31:3===o?15:7;1<o&&n<a;)r=r<<6|63&e[n++],o--;1<o?c[i++]=65533:r<65536?c[i++]=r:(r-=65536,c[i++]=55296|r>>10&1023,c[i++]=56320|1023&r)}return l(c,i)},n.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0||0===n?t:n+s[e[n]]>t?n:t}},{"./common":41}],43:[function(e,t,n){t.exports=function(e,t,n,i){for(var r=65535&e|0,o=e>>>16&65535|0,s=0;0!==n;){for(n-=s=2e3<n?2e3:n;o=o+(r=r+t[i++]|0)|0,--s;);r%=65521,o%=65521}return r|o<<16|0}},{}],44:[function(e,t,n){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,n){var i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t,n,r){var o=i,s=r+n;e^=-1;for(var a=r;a<s;a++)e=e>>>8^o[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,n){var i,r=e("../utils/common"),o=e("./trees"),s=e("./adler32"),a=e("./crc32"),l=e("./messages"),c=0,u=4,h=0,d=-2,p=-1,f=4,m=2,g=8,v=9,b=286,y=30,A=19,S=2*b+1,x=15,E=3,w=258,_=w+E+1,M=42,P=113,T=1,C=2,I=3,k=4;function B(e,t){return e.msg=l[t],t}function R(e){return(e<<1)-(4<e?9:0)}function L(e){for(var t=e.length;0<=--t;)e[t]=0}function D(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function N(e,t){o._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,D(e.strm)}function F(e,t){e.pending_buf[e.pending++]=t}function O(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function V(e,t){var n,i,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-_?e.strstart-(e.w_size-_):0,c=e.window,u=e.w_mask,h=e.prev,d=e.strstart+w,p=c[o+s-1],f=c[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(c[(n=t)+s]===f&&c[n+s-1]===p&&c[n]===c[o]&&c[++n]===c[o+1]){o+=2,n++;do{}while(c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&o<d);if(i=w-(d-o),o=d-w,s<i){if(e.match_start=t,a<=(s=i))break;p=c[o+s-1],f=c[o+s]}}}while((t=h[t&u])>l&&0!=--r);return s<=e.lookahead?s:e.lookahead}function G(e){var t,n,i,o,l,c,u,h,d,p,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-_)){for(r.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;i=e.head[--t],e.head[t]=f<=i?i-f:0,--n;);for(t=n=f;i=e.prev[--t],e.prev[t]=f<=i?i-f:0,--n;);o+=f}if(0===e.strm.avail_in)break;if(c=e.strm,u=e.window,h=e.strstart+e.lookahead,p=void 0,(d=o)<(p=c.avail_in)&&(p=d),n=0===p?0:(c.avail_in-=p,r.arraySet(u,c.input,c.next_in,p,h),1===c.state.wrap?c.adler=s(c.adler,u,p,h):2===c.state.wrap&&(c.adler=a(c.adler,u,p,h)),c.next_in+=p,c.total_in+=p,p),e.lookahead+=n,e.lookahead+e.insert>=E)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+E-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<E)););}while(e.lookahead<_&&0!==e.strm.avail_in)}function z(e,t){for(var n,i;;){if(e.lookahead<_){if(G(e),e.lookahead<_&&t===c)return T;if(0===e.lookahead)break}if(n=0,e.lookahead>=E&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+E-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-_&&(e.match_length=V(e,n)),e.match_length>=E)if(i=o._tr_tally(e,e.strstart-e.match_start,e.match_length-E),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=E){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+E-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(N(e,!1),0===e.strm.avail_out))return T}return e.insert=e.strstart<E-1?e.strstart:E-1,t===u?(N(e,!0),0===e.strm.avail_out?I:k):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?T:C}function H(e,t){for(var n,i,r;;){if(e.lookahead<_){if(G(e),e.lookahead<_&&t===c)return T;if(0===e.lookahead)break}if(n=0,e.lookahead>=E&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+E-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=E-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-_&&(e.match_length=V(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===E&&4096<e.strstart-e.match_start)&&(e.match_length=E-1)),e.prev_length>=E&&e.match_length<=e.prev_length){for(r=e.strstart+e.lookahead-E,i=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-E),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+E-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=E-1,e.strstart++,i&&(N(e,!1),0===e.strm.avail_out))return T}else if(e.match_available){if((i=o._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return T}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=o._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<E-1?e.strstart:E-1,t===u?(N(e,!0),0===e.strm.avail_out?I:k):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?T:C}function U(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}function j(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=g,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(2*S),this.dyn_dtree=new r.Buf16(2*(2*y+1)),this.bl_tree=new r.Buf16(2*(2*A+1)),L(this.dyn_ltree),L(this.dyn_dtree),L(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(x+1),this.heap=new r.Buf16(2*b+1),L(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*b+1),L(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Y(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=m,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?M:P,e.adler=2===t.wrap?0:1,t.last_flush=c,o._tr_init(t),h):B(e,d)}function W(e){var t=Y(e);return t===h&&function(e){e.window_size=2*e.w_size,L(e.head),e.max_lazy_match=i[e.level].max_lazy,e.good_match=i[e.level].good_length,e.nice_match=i[e.level].nice_length,e.max_chain_length=i[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=E-1,e.match_available=0,e.ins_h=0}(e.state),t}function Q(e,t,n,i,o,s){if(!e)return d;var a=1;if(t===p&&(t=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),o<1||v<o||n!==g||i<8||15<i||t<0||9<t||s<0||f<s)return B(e,d);8===i&&(i=9);var l=new j;return(e.state=l).strm=e,l.wrap=a,l.gzhead=null,l.w_bits=i,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=o+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+E-1)/E),l.window=new r.Buf8(2*l.w_size),l.head=new r.Buf16(l.hash_size),l.prev=new r.Buf16(l.w_size),l.lit_bufsize=1<<o+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new r.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=n,W(e)}i=[new U(0,0,0,0,(function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(G(e),0===e.lookahead&&t===c)return T;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,N(e,!1),0===e.strm.avail_out))return T;if(e.strstart-e.block_start>=e.w_size-_&&(N(e,!1),0===e.strm.avail_out))return T}return e.insert=0,t===u?(N(e,!0),0===e.strm.avail_out?I:k):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),T)})),new U(4,4,8,4,z),new U(4,5,16,8,z),new U(4,6,32,32,z),new U(4,4,16,16,H),new U(8,16,32,32,H),new U(8,16,128,128,H),new U(8,32,128,256,H),new U(32,128,258,1024,H),new U(32,258,258,4096,H)],n.deflateInit=function(e,t){return Q(e,t,g,15,8,0)},n.deflateInit2=Q,n.deflateReset=W,n.deflateResetKeep=Y,n.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?d:(e.state.gzhead=t,h):d},n.deflate=function(e,t){var n,r,s,l;if(!e||!e.state||5<t||t<0)return e?B(e,d):d;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||666===r.status&&t!==u)return B(e,0===e.avail_out?-5:d);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===M)if(2===r.wrap)e.adler=0,F(r,31),F(r,139),F(r,8),r.gzhead?(F(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),F(r,255&r.gzhead.time),F(r,r.gzhead.time>>8&255),F(r,r.gzhead.time>>16&255),F(r,r.gzhead.time>>24&255),F(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),F(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(F(r,255&r.gzhead.extra.length),F(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(F(r,0),F(r,0),F(r,0),F(r,0),F(r,0),F(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),F(r,3),r.status=P);else{var p=g+(r.w_bits-8<<4)<<8;p|=(2<=r.strategy||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(p|=32),p+=31-p%31,r.status=P,O(r,p),0!==r.strstart&&(O(r,e.adler>>>16),O(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),D(e),s=r.pending,r.pending!==r.pending_buf_size));)F(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),D(e),s=r.pending,r.pending===r.pending_buf_size)){l=1;break}l=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,F(r,l)}while(0!==l);r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===l&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),D(e),s=r.pending,r.pending===r.pending_buf_size)){l=1;break}l=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,F(r,l)}while(0!==l);r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===l&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&D(e),r.pending+2<=r.pending_buf_size&&(F(r,255&e.adler),F(r,e.adler>>8&255),e.adler=0,r.status=P)):r.status=P),0!==r.pending){if(D(e),0===e.avail_out)return r.last_flush=-1,h}else if(0===e.avail_in&&R(t)<=R(n)&&t!==u)return B(e,-5);if(666===r.status&&0!==e.avail_in)return B(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==c&&666!==r.status){var f=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(G(e),0===e.lookahead)){if(t===c)return T;break}if(e.match_length=0,n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return T}return e.insert=0,t===u?(N(e,!0),0===e.strm.avail_out?I:k):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?T:C}(r,t):3===r.strategy?function(e,t){for(var n,i,r,s,a=e.window;;){if(e.lookahead<=w){if(G(e),e.lookahead<=w&&t===c)return T;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=E&&0<e.strstart&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){s=e.strstart+w;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&r<s);e.match_length=w-(s-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=E?(n=o._tr_tally(e,1,e.match_length-E),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(N(e,!1),0===e.strm.avail_out))return T}return e.insert=0,t===u?(N(e,!0),0===e.strm.avail_out?I:k):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?T:C}(r,t):i[r.level].func(r,t);if(f!==I&&f!==k||(r.status=666),f===T||f===I)return 0===e.avail_out&&(r.last_flush=-1),h;if(f===C&&(1===t?o._tr_align(r):5!==t&&(o._tr_stored_block(r,0,0,!1),3===t&&(L(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),D(e),0===e.avail_out))return r.last_flush=-1,h}return t!==u?h:r.wrap<=0?1:(2===r.wrap?(F(r,255&e.adler),F(r,e.adler>>8&255),F(r,e.adler>>16&255),F(r,e.adler>>24&255),F(r,255&e.total_in),F(r,e.total_in>>8&255),F(r,e.total_in>>16&255),F(r,e.total_in>>24&255)):(O(r,e.adler>>>16),O(r,65535&e.adler)),D(e),0<r.wrap&&(r.wrap=-r.wrap),0!==r.pending?h:1)},n.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==M&&69!==t&&73!==t&&91!==t&&103!==t&&t!==P&&666!==t?B(e,d):(e.state=null,t===P?B(e,-3):h):d},n.deflateSetDictionary=function(e,t){var n,i,o,a,l,c,u,p,f=t.length;if(!e||!e.state)return d;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==M||n.lookahead)return d;for(1===a&&(e.adler=s(e.adler,t,f,0)),n.wrap=0,f>=n.w_size&&(0===a&&(L(n.head),n.strstart=0,n.block_start=0,n.insert=0),p=new r.Buf8(n.w_size),r.arraySet(p,t,f-n.w_size,n.w_size,0),t=p,f=n.w_size),l=e.avail_in,c=e.next_in,u=e.input,e.avail_in=f,e.next_in=0,e.input=t,G(n);n.lookahead>=E;){for(i=n.strstart,o=n.lookahead-(E-1);n.ins_h=(n.ins_h<<n.hash_shift^n.window[i+E-1])&n.hash_mask,n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++,--o;);n.strstart=i,n.lookahead=E-1,G(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=E-1,n.match_available=0,e.next_in=c,e.input=u,e.avail_in=l,n.wrap=a,h},n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,n){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,n){t.exports=function(e,t){var n,i,r,o,s,a,l,c,u,h,d,p,f,m,g,v,b,y,A,S,x,E,w,_,M;n=e.state,i=e.next_in,_=e.input,r=i+(e.avail_in-5),o=e.next_out,M=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),l=n.dmax,c=n.wsize,u=n.whave,h=n.wnext,d=n.window,p=n.hold,f=n.bits,m=n.lencode,g=n.distcode,v=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;e:do{f<15&&(p+=_[i++]<<f,f+=8,p+=_[i++]<<f,f+=8),y=m[p&v];t:for(;;){if(p>>>=A=y>>>24,f-=A,0==(A=y>>>16&255))M[o++]=65535&y;else{if(!(16&A)){if(0==(64&A)){y=m[(65535&y)+(p&(1<<A)-1)];continue t}if(32&A){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}S=65535&y,(A&=15)&&(f<A&&(p+=_[i++]<<f,f+=8),S+=p&(1<<A)-1,p>>>=A,f-=A),f<15&&(p+=_[i++]<<f,f+=8,p+=_[i++]<<f,f+=8),y=g[p&b];n:for(;;){if(p>>>=A=y>>>24,f-=A,!(16&(A=y>>>16&255))){if(0==(64&A)){y=g[(65535&y)+(p&(1<<A)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(x=65535&y,f<(A&=15)&&(p+=_[i++]<<f,(f+=8)<A&&(p+=_[i++]<<f,f+=8)),l<(x+=p&(1<<A)-1)){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=A,f-=A,(A=o-s)<x){if(u<(A=x-A)&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(w=d,(E=0)===h){if(E+=c-A,A<S){for(S-=A;M[o++]=d[E++],--A;);E=o-x,w=M}}else if(h<A){if(E+=c+h-A,(A-=h)<S){for(S-=A;M[o++]=d[E++],--A;);if(E=0,h<S){for(S-=A=h;M[o++]=d[E++],--A;);E=o-x,w=M}}}else if(E+=h-A,A<S){for(S-=A;M[o++]=d[E++],--A;);E=o-x,w=M}for(;2<S;)M[o++]=w[E++],M[o++]=w[E++],M[o++]=w[E++],S-=3;S&&(M[o++]=w[E++],1<S&&(M[o++]=w[E++]))}else{for(E=o-x;M[o++]=M[E++],M[o++]=M[E++],M[o++]=M[E++],2<(S-=3););S&&(M[o++]=M[E++],1<S&&(M[o++]=M[E++]))}break}}break}}while(i<r&&o<a);i-=S=f>>3,p&=(1<<(f-=S<<3))-1,e.next_in=i,e.next_out=o,e.avail_in=i<r?r-i+5:5-(i-r),e.avail_out=o<a?a-o+257:257-(o-a),n.hold=p,n.bits=f}},{}],49:[function(e,t,n){var i=e("../utils/common"),r=e("./adler32"),o=e("./crc32"),s=e("./inffast"),a=e("./inftrees"),l=1,c=2,u=0,h=-2,d=1,p=852,f=592;function m(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function g(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function v(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=d,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(p),t.distcode=t.distdyn=new i.Buf32(f),t.sane=1,t.back=-1,u):h}function b(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,v(e)):h}function y(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?h:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,b(e))):h}function A(e,t){var n,i;return e?(i=new g,(e.state=i).window=null,(n=y(e,t))!==u&&(e.state=null),n):h}var S,x,E=!0;function w(e){if(E){var t;for(S=new i.Buf32(512),x=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(l,e.lens,0,288,S,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,x,0,e.work,{bits:5}),E=!1}e.lencode=S,e.lenbits=9,e.distcode=x,e.distbits=5}function _(e,t,n,r){var o,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new i.Buf8(s.wsize)),r>=s.wsize?(i.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(r<(o=s.wsize-s.wnext)&&(o=r),i.arraySet(s.window,t,n-r,o,s.wnext),(r-=o)?(i.arraySet(s.window,t,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}n.inflateReset=b,n.inflateReset2=y,n.inflateResetKeep=v,n.inflateInit=function(e){return A(e,15)},n.inflateInit2=A,n.inflate=function(e,t){var n,p,f,g,v,b,y,A,S,x,E,M,P,T,C,I,k,B,R,L,D,N,F,O,V=0,G=new i.Buf8(4),z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return h;12===(n=e.state).mode&&(n.mode=13),v=e.next_out,f=e.output,y=e.avail_out,g=e.next_in,p=e.input,b=e.avail_in,A=n.hold,S=n.bits,x=b,E=y,N=u;e:for(;;)switch(n.mode){case d:if(0===n.wrap){n.mode=13;break}for(;S<16;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(2&n.wrap&&35615===A){G[n.check=0]=255&A,G[1]=A>>>8&255,n.check=o(n.check,G,2,0),S=A=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&A)<<8)+(A>>8))%31){e.msg="incorrect header check",n.mode=30;break}if(8!=(15&A)){e.msg="unknown compression method",n.mode=30;break}if(S-=4,D=8+(15&(A>>>=4)),0===n.wbits)n.wbits=D;else if(D>n.wbits){e.msg="invalid window size",n.mode=30;break}n.dmax=1<<D,e.adler=n.check=1,n.mode=512&A?10:12,S=A=0;break;case 2:for(;S<16;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(n.flags=A,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=30;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=30;break}n.head&&(n.head.text=A>>8&1),512&n.flags&&(G[0]=255&A,G[1]=A>>>8&255,n.check=o(n.check,G,2,0)),S=A=0,n.mode=3;case 3:for(;S<32;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}n.head&&(n.head.time=A),512&n.flags&&(G[0]=255&A,G[1]=A>>>8&255,G[2]=A>>>16&255,G[3]=A>>>24&255,n.check=o(n.check,G,4,0)),S=A=0,n.mode=4;case 4:for(;S<16;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}n.head&&(n.head.xflags=255&A,n.head.os=A>>8),512&n.flags&&(G[0]=255&A,G[1]=A>>>8&255,n.check=o(n.check,G,2,0)),S=A=0,n.mode=5;case 5:if(1024&n.flags){for(;S<16;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}n.length=A,n.head&&(n.head.extra_len=A),512&n.flags&&(G[0]=255&A,G[1]=A>>>8&255,n.check=o(n.check,G,2,0)),S=A=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(b<(M=n.length)&&(M=b),M&&(n.head&&(D=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),i.arraySet(n.head.extra,p,g,M,D)),512&n.flags&&(n.check=o(n.check,p,M,g)),b-=M,g+=M,n.length-=M),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===b)break e;for(M=0;D=p[g+M++],n.head&&D&&n.length<65536&&(n.head.name+=String.fromCharCode(D)),D&&M<b;);if(512&n.flags&&(n.check=o(n.check,p,M,g)),b-=M,g+=M,D)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===b)break e;for(M=0;D=p[g+M++],n.head&&D&&n.length<65536&&(n.head.comment+=String.fromCharCode(D)),D&&M<b;);if(512&n.flags&&(n.check=o(n.check,p,M,g)),b-=M,g+=M,D)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;S<16;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(A!==(65535&n.check)){e.msg="header crc mismatch",n.mode=30;break}S=A=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=12;break;case 10:for(;S<32;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}e.adler=n.check=m(A),S=A=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=v,e.avail_out=y,e.next_in=g,e.avail_in=b,n.hold=A,n.bits=S,2;e.adler=n.check=1,n.mode=12;case 12:if(5===t||6===t)break e;case 13:if(n.last){A>>>=7&S,S-=7&S,n.mode=27;break}for(;S<3;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}switch(n.last=1&A,S-=1,3&(A>>>=1)){case 0:n.mode=14;break;case 1:if(w(n),n.mode=20,6!==t)break;A>>>=2,S-=2;break e;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=30}A>>>=2,S-=2;break;case 14:for(A>>>=7&S,S-=7&S;S<32;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if((65535&A)!=(A>>>16^65535)){e.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&A,S=A=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(M=n.length){if(b<M&&(M=b),y<M&&(M=y),0===M)break e;i.arraySet(f,p,g,M,v),b-=M,g+=M,y-=M,v+=M,n.length-=M;break}n.mode=12;break;case 17:for(;S<14;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(n.nlen=257+(31&A),A>>>=5,S-=5,n.ndist=1+(31&A),A>>>=5,S-=5,n.ncode=4+(15&A),A>>>=4,S-=4,286<n.nlen||30<n.ndist){e.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;S<3;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}n.lens[z[n.have++]]=7&A,A>>>=3,S-=3}for(;n.have<19;)n.lens[z[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,F={bits:n.lenbits},N=a(0,n.lens,0,19,n.lencode,0,n.work,F),n.lenbits=F.bits,N){e.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;I=(V=n.lencode[A&(1<<n.lenbits)-1])>>>16&255,k=65535&V,!((C=V>>>24)<=S);){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(k<16)A>>>=C,S-=C,n.lens[n.have++]=k;else{if(16===k){for(O=C+2;S<O;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(A>>>=C,S-=C,0===n.have){e.msg="invalid bit length repeat",n.mode=30;break}D=n.lens[n.have-1],M=3+(3&A),A>>>=2,S-=2}else if(17===k){for(O=C+3;S<O;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}S-=C,D=0,M=3+(7&(A>>>=C)),A>>>=3,S-=3}else{for(O=C+7;S<O;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}S-=C,D=0,M=11+(127&(A>>>=C)),A>>>=7,S-=7}if(n.have+M>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=30;break}for(;M--;)n.lens[n.have++]=D}}if(30===n.mode)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,F={bits:n.lenbits},N=a(l,n.lens,0,n.nlen,n.lencode,0,n.work,F),n.lenbits=F.bits,N){e.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,F={bits:n.distbits},N=a(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,F),n.distbits=F.bits,N){e.msg="invalid distances set",n.mode=30;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(6<=b&&258<=y){e.next_out=v,e.avail_out=y,e.next_in=g,e.avail_in=b,n.hold=A,n.bits=S,s(e,E),v=e.next_out,f=e.output,y=e.avail_out,g=e.next_in,p=e.input,b=e.avail_in,A=n.hold,S=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;I=(V=n.lencode[A&(1<<n.lenbits)-1])>>>16&255,k=65535&V,!((C=V>>>24)<=S);){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(I&&0==(240&I)){for(B=C,R=I,L=k;I=(V=n.lencode[L+((A&(1<<B+R)-1)>>B)])>>>16&255,k=65535&V,!(B+(C=V>>>24)<=S);){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}A>>>=B,S-=B,n.back+=B}if(A>>>=C,S-=C,n.back+=C,n.length=k,0===I){n.mode=26;break}if(32&I){n.back=-1,n.mode=12;break}if(64&I){e.msg="invalid literal/length code",n.mode=30;break}n.extra=15&I,n.mode=22;case 22:if(n.extra){for(O=n.extra;S<O;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}n.length+=A&(1<<n.extra)-1,A>>>=n.extra,S-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;I=(V=n.distcode[A&(1<<n.distbits)-1])>>>16&255,k=65535&V,!((C=V>>>24)<=S);){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(0==(240&I)){for(B=C,R=I,L=k;I=(V=n.distcode[L+((A&(1<<B+R)-1)>>B)])>>>16&255,k=65535&V,!(B+(C=V>>>24)<=S);){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}A>>>=B,S-=B,n.back+=B}if(A>>>=C,S-=C,n.back+=C,64&I){e.msg="invalid distance code",n.mode=30;break}n.offset=k,n.extra=15&I,n.mode=24;case 24:if(n.extra){for(O=n.extra;S<O;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}n.offset+=A&(1<<n.extra)-1,A>>>=n.extra,S-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===y)break e;if(M=E-y,n.offset>M){if((M=n.offset-M)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=30;break}P=M>n.wnext?(M-=n.wnext,n.wsize-M):n.wnext-M,M>n.length&&(M=n.length),T=n.window}else T=f,P=v-n.offset,M=n.length;for(y<M&&(M=y),y-=M,n.length-=M;f[v++]=T[P++],--M;);0===n.length&&(n.mode=21);break;case 26:if(0===y)break e;f[v++]=n.length,y--,n.mode=21;break;case 27:if(n.wrap){for(;S<32;){if(0===b)break e;b--,A|=p[g++]<<S,S+=8}if(E-=y,e.total_out+=E,n.total+=E,E&&(e.adler=n.check=n.flags?o(n.check,f,E,v-E):r(n.check,f,E,v-E)),E=y,(n.flags?A:m(A))!==n.check){e.msg="incorrect data check",n.mode=30;break}S=A=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;S<32;){if(0===b)break e;b--,A+=p[g++]<<S,S+=8}if(A!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=30;break}S=A=0}n.mode=29;case 29:N=1;break e;case 30:N=-3;break e;case 31:return-4;default:return h}return e.next_out=v,e.avail_out=y,e.next_in=g,e.avail_in=b,n.hold=A,n.bits=S,(n.wsize||E!==e.avail_out&&n.mode<30&&(n.mode<27||4!==t))&&_(e,e.output,e.next_out,E-e.avail_out)?(n.mode=31,-4):(x-=e.avail_in,E-=e.avail_out,e.total_in+=x,e.total_out+=E,n.total+=E,n.wrap&&E&&(e.adler=n.check=n.flags?o(n.check,f,E,e.next_out-E):r(n.check,f,E,e.next_out-E)),e.data_type=n.bits+(n.last?64:0)+(12===n.mode?128:0)+(20===n.mode||15===n.mode?256:0),(0==x&&0===E||4===t)&&N===u&&(N=-5),N)},n.inflateEnd=function(e){if(!e||!e.state)return h;var t=e.state;return t.window&&(t.window=null),e.state=null,u},n.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?h:((n.head=t).done=!1,u):h},n.inflateSetDictionary=function(e,t){var n,i=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?h:11===n.mode&&r(1,t,i,0)!==n.check?-3:_(e,t,i,i)?(n.mode=31,-4):(n.havedict=1,u):h},n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,n){var i=e("../utils/common"),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,n,l,c,u,h,d){var p,f,m,g,v,b,y,A,S,x=d.bits,E=0,w=0,_=0,M=0,P=0,T=0,C=0,I=0,k=0,B=0,R=null,L=0,D=new i.Buf16(16),N=new i.Buf16(16),F=null,O=0;for(E=0;E<=15;E++)D[E]=0;for(w=0;w<l;w++)D[t[n+w]]++;for(P=x,M=15;1<=M&&0===D[M];M--);if(M<P&&(P=M),0===M)return c[u++]=20971520,c[u++]=20971520,d.bits=1,0;for(_=1;_<M&&0===D[_];_++);for(P<_&&(P=_),E=I=1;E<=15;E++)if(I<<=1,(I-=D[E])<0)return-1;if(0<I&&(0===e||1!==M))return-1;for(N[1]=0,E=1;E<15;E++)N[E+1]=N[E]+D[E];for(w=0;w<l;w++)0!==t[n+w]&&(h[N[t[n+w]]++]=w);if(b=0===e?(R=F=h,19):1===e?(R=r,L-=257,F=o,O-=257,256):(R=s,F=a,-1),E=_,v=u,C=w=B=0,m=-1,g=(k=1<<(T=P))-1,1===e&&852<k||2===e&&592<k)return 1;for(;;){for(y=E-C,S=h[w]<b?(A=0,h[w]):h[w]>b?(A=F[O+h[w]],R[L+h[w]]):(A=96,0),p=1<<E-C,_=f=1<<T;c[v+(B>>C)+(f-=p)]=y<<24|A<<16|S|0,0!==f;);for(p=1<<E-1;B&p;)p>>=1;if(0!==p?(B&=p-1,B+=p):B=0,w++,0==--D[E]){if(E===M)break;E=t[n+h[w]]}if(P<E&&(B&g)!==m){for(0===C&&(C=P),v+=_,I=1<<(T=E-C);T+C<M&&!((I-=D[T+C])<=0);)T++,I<<=1;if(k+=1<<T,1===e&&852<k||2===e&&592<k)return 1;c[m=B&g]=P<<24|T<<16|v-u|0}}return 0!==B&&(c[v+B]=E-C<<24|64<<16|0),d.bits=P,0}},{"../utils/common":41}],51:[function(e,t,n){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,n){var i=e("../utils/common"),r=0,o=1;function s(e){for(var t=e.length;0<=--t;)e[t]=0}var a=0,l=29,c=256,u=c+1+l,h=30,d=19,p=2*u+1,f=15,m=16,g=7,v=256,b=16,y=17,A=18,S=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],x=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],w=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_=new Array(2*(u+2));s(_);var M=new Array(2*h);s(M);var P=new Array(512);s(P);var T=new Array(256);s(T);var C=new Array(l);s(C);var I,k,B,R=new Array(h);function L(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function D(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?P[e]:P[256+(e>>>7)]}function F(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function O(e,t,n){e.bi_valid>m-n?(e.bi_buf|=t<<e.bi_valid&65535,F(e,e.bi_buf),e.bi_buf=t>>m-e.bi_valid,e.bi_valid+=n-m):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function V(e,t,n){O(e,n[2*t],n[2*t+1])}function G(e,t){for(var n=0;n|=1&e,e>>>=1,n<<=1,0<--t;);return n>>>1}function z(e,t,n){var i,r,o=new Array(f+1),s=0;for(i=1;i<=f;i++)o[i]=s=s+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=G(o[a]++,a))}}function H(e){var t;for(t=0;t<u;t++)e.dyn_ltree[2*t]=0;for(t=0;t<h;t++)e.dyn_dtree[2*t]=0;for(t=0;t<d;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*v]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function U(e){8<e.bi_valid?F(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function j(e,t,n,i){var r=2*t,o=2*n;return e[r]<e[o]||e[r]===e[o]&&i[t]<=i[n]}function Y(e,t,n){for(var i=e.heap[n],r=n<<1;r<=e.heap_len&&(r<e.heap_len&&j(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!j(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i}function W(e,t,n){var i,r,o,s,a=0;if(0!==e.last_lit)for(;i=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],r=e.pending_buf[e.l_buf+a],a++,0===i?V(e,r,t):(V(e,(o=T[r])+c+1,t),0!==(s=S[o])&&O(e,r-=C[o],s),V(e,o=N(--i),n),0!==(s=x[o])&&O(e,i-=R[o],s)),a<e.last_lit;);V(e,v,t)}function Q(e,t){var n,i,r,o=t.dyn_tree,s=t.stat_desc.static_tree,a=t.stat_desc.has_stree,l=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=p,n=0;n<l;n++)0!==o[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):o[2*n+1]=0;for(;e.heap_len<2;)o[2*(r=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[r]=0,e.opt_len--,a&&(e.static_len-=s[2*r+1]);for(t.max_code=c,n=e.heap_len>>1;1<=n;n--)Y(e,o,n);for(r=l;n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Y(e,o,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,o[2*r]=o[2*n]+o[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,o[2*n+1]=o[2*i+1]=r,e.heap[1]=r++,Y(e,o,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,o,s,a,l=t.dyn_tree,c=t.max_code,u=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,m=t.stat_desc.extra_base,g=t.stat_desc.max_length,v=0;for(o=0;o<=f;o++)e.bl_count[o]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<p;n++)g<(o=l[2*l[2*(i=e.heap[n])+1]+1]+1)&&(o=g,v++),l[2*i+1]=o,c<i||(e.bl_count[o]++,s=0,m<=i&&(s=d[i-m]),a=l[2*i],e.opt_len+=a*(o+s),h&&(e.static_len+=a*(u[2*i+1]+s)));if(0!==v){do{for(o=g-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[g]--,v-=2}while(0<v);for(o=g;0!==o;o--)for(i=e.bl_count[o];0!==i;)c<(r=e.heap[--n])||(l[2*r+1]!==o&&(e.opt_len+=(o-l[2*r+1])*l[2*r],l[2*r+1]=o),i--)}}(e,t),z(o,c,e.bl_count)}function $(e,t,n){var i,r,o=-1,s=t[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=s,s=t[2*(i+1)+1],++a<l&&r===s||(a<c?e.bl_tree[2*r]+=a:0!==r?(r!==o&&e.bl_tree[2*r]++,e.bl_tree[2*b]++):a<=10?e.bl_tree[2*y]++:e.bl_tree[2*A]++,o=r,c=(a=0)===s?(l=138,3):r===s?(l=6,3):(l=7,4))}function X(e,t,n){var i,r,o=-1,s=t[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),i=0;i<=n;i++)if(r=s,s=t[2*(i+1)+1],!(++a<l&&r===s)){if(a<c)for(;V(e,r,e.bl_tree),0!=--a;);else 0!==r?(r!==o&&(V(e,r,e.bl_tree),a--),V(e,b,e.bl_tree),O(e,a-3,2)):a<=10?(V(e,y,e.bl_tree),O(e,a-3,3)):(V(e,A,e.bl_tree),O(e,a-11,7));o=r,c=(a=0)===s?(l=138,3):r===s?(l=6,3):(l=7,4)}}s(R);var K=!1;function q(e,t,n,r){O(e,(a<<1)+(r?1:0),3),function(e,t,n,r){U(e),r&&(F(e,n),F(e,~n)),i.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n,!0)}n._tr_init=function(e){K||(function(){var e,t,n,i,r,o=new Array(f+1);for(i=n=0;i<l-1;i++)for(C[i]=n,e=0;e<1<<S[i];e++)T[n++]=i;for(T[n-1]=i,i=r=0;i<16;i++)for(R[i]=r,e=0;e<1<<x[i];e++)P[r++]=i;for(r>>=7;i<h;i++)for(R[i]=r<<7,e=0;e<1<<x[i]-7;e++)P[256+r++]=i;for(t=0;t<=f;t++)o[t]=0;for(e=0;e<=143;)_[2*e+1]=8,e++,o[8]++;for(;e<=255;)_[2*e+1]=9,e++,o[9]++;for(;e<=279;)_[2*e+1]=7,e++,o[7]++;for(;e<=287;)_[2*e+1]=8,e++,o[8]++;for(z(_,u+1,o),e=0;e<h;e++)M[2*e+1]=5,M[2*e]=G(e,5);I=new L(_,S,c+1,u,f),k=new L(M,x,0,h,f),B=new L(new Array(0),E,0,d,g)}(),K=!0),e.l_desc=new D(e.dyn_ltree,I),e.d_desc=new D(e.dyn_dtree,k),e.bl_desc=new D(e.bl_tree,B),e.bi_buf=0,e.bi_valid=0,H(e)},n._tr_stored_block=q,n._tr_flush_block=function(e,t,n,i){var s,a,l=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return o;for(t=32;t<c;t++)if(0!==e.dyn_ltree[2*t])return o;return r}(e)),Q(e,e.l_desc),Q(e,e.d_desc),l=function(e){var t;for($(e,e.dyn_ltree,e.l_desc.max_code),$(e,e.dyn_dtree,e.d_desc.max_code),Q(e,e.bl_desc),t=d-1;3<=t&&0===e.bl_tree[2*w[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),s=e.opt_len+3+7>>>3,(a=e.static_len+3+7>>>3)<=s&&(s=a)):s=a=n+5,n+4<=s&&-1!==t?q(e,t,n,i):4===e.strategy||a===s?(O(e,2+(i?1:0),3),W(e,_,M)):(O(e,4+(i?1:0),3),function(e,t,n,i){var r;for(O(e,t-257,5),O(e,n-1,5),O(e,i-4,4),r=0;r<i;r++)O(e,e.bl_tree[2*w[r]+1],3);X(e,e.dyn_ltree,t-1),X(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,l+1),W(e,e.dyn_ltree,e.dyn_dtree)),H(e),i&&U(e)},n._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(T[n]+c+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},n._tr_align=function(e){O(e,2,3),V(e,v,_),function(e){16===e.bi_valid?(F(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,n){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,n){(function(e){!function(e,t){if(!e.setImmediate){var n,i,r,o,s=1,a={},l=!1,c=e.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(e);u=u&&u.setTimeout?u:e,n="[object process]"==={}.toString.call(e.process)?function(e){process.nextTick((function(){d(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(o="setImmediate$"+Math.random()+"$",e.addEventListener?e.addEventListener("message",p,!1):e.attachEvent("onmessage",p),function(t){e.postMessage(o+t,"*")}):e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){d(e.data)},function(e){r.port2.postMessage(e)}):c&&"onreadystatechange"in c.createElement("script")?(i=c.documentElement,function(e){var t=c.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):function(e){setTimeout(d,0,e)},u.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),i=0;i<t.length;i++)t[i]=arguments[i+1];var r={callback:e,args:t};return a[s]=r,n(s),s++},u.clearImmediate=h}function h(e){delete a[e]}function d(e){if(l)setTimeout(d,0,e);else{var n=a[e];if(n){l=!0;try{!function(e){var n=e.callback,i=e.args;switch(i.length){case 0:n();break;case 1:n(i[0]);break;case 2:n(i[0],i[1]);break;case 3:n(i[0],i[1],i[2]);break;default:n.apply(t,i)}}(n)}finally{h(e),l=!1}}}}function p(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&d(+t.data.slice(o.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)}(jszip_min);class MXLHelper{static MXLtoIXmlElement(e){const t=new jszip_minExports;return t.loadAsync(e).then((e=>t.file("META-INF/container.xml").async("text")),(e=>{throw e})).then((e=>{const n=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("rootfile")[0].getAttribute("full-path");return t.file(n).async("text")}),(e=>{throw e})).then((e=>{const t=(new DOMParser).parseFromString(e,"text/xml"),n=new IXmlElement(t.documentElement);return Promise.resolve(n)}),(e=>{throw e})).then((e=>e),(e=>{throw new Error("extractSheetFromMxl: "+e.message)}))}static MXLtoXMLstring(e){const t=new jszip_minExports;return t.loadAsync(e).then((e=>t.file("META-INF/container.xml").async("text")),(e=>{throw loglevelExports.error(e),e})).then((e=>{const n=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("rootfile")[0].getAttribute("full-path");return t.file(n).async("text")}),(e=>{throw e}))}}class PlaybackNoteGenerator{calculate(e){const t=new MusicPartManagerIterator(e);for(;!t.EndReached;){const n=t.CurrentEnrolledTimestamp,i=t.CurrentAudibleVoiceEntries();for(const t of i)this.handleVoiceEntry(e,t,n);t.moveToNext()}}handleVoiceEntry(e,t,n){if(t.IsGrace)return;const i=t.ParentVoice;let r;e.PlaybackDataDict.containsKey(i)?r=e.PlaybackDataDict.getValue(i):(r=[],e.PlaybackDataDict.setValue(i,r));for(const o of t.PlaybackEntries)if(o.HasNotes){for(const t of o.Notes)t.setLength();const e=Fraction$1.plus(n,o.TimestampShift);PlaybackNoteGenerator.addEntrySorted(r,o,e)}}static addEntrySorted(e,t,n){if(0===e.length)e.push({enrolledTimestamp:n,playbackEntry:t});else for(let i=e.length-1;i>=0;i--){const r=e[i];if(n.RealValue>r.enrolledTimestamp.RealValue){if(i===e.length-1){e.push({enrolledTimestamp:n,playbackEntry:t});break}e.splice(i+1,0,{enrolledTimestamp:n,playbackEntry:t});break}}}}class ScreenViewingRegion{constructor(e,t,n,i){this.psi=new BoundingBox$1(void 0),this.displaySizeInPixel=e,this.RelativeDisplaySize=t,this.RelativeDisplayPosition=n,this.WidthInUnits=i}static createWithRelativeDefaults(e,t){return new ScreenViewingRegion(e,new SizeF2D(1,1),new PointF2D(0,0),t)}static createWithDefaults(){return new ScreenViewingRegion(new SizeF2D(1,1),new SizeF2D(1,1),new PointF2D(0,0),1)}get UpperLeftPositionInUnits(){return this.psi.AbsolutePosition}set UpperLeftPositionInUnits(e){this.psi.AbsolutePosition=e}get DisplaySizeInPixel(){return this.displaySizeInPixel}set DisplaySizeInPixel(e){this.displaySizeInPixel=e,this.regionSizeInPixel=new SizeF2D(this.displaySizeInPixel.width*this.relativeRegionSize.width,this.displaySizeInPixel.height*this.relativeRegionSize.height),this.recalculateDependentVariables()}get RelativeDisplaySize(){return this.relativeRegionSize}set RelativeDisplaySize(e){this.relativeRegionSize=e,this.regionSizeInPixel=new SizeF2D(this.displaySizeInPixel.width*this.relativeRegionSize.width,this.displaySizeInPixel.height*this.relativeRegionSize.height),this.recalculateDependentVariables()}get RegionSizeInPixel(){return this.regionSizeInPixel}get WidthInUnits(){return this.psi.BorderRight}set WidthInUnits(e){this.psi.BorderRight=e,this.recalculateDependentVariables()}get ViewRegionInUnits(){return new SizeF2D(this.psi.BorderRight,this.psi.BorderBottom)}isVisible(e,t){const n=this.psi.collisionDetection(e);return this.psi.liesInsideBorders(e),n}isInsideDisplayArea(e,t){return this.RelativeDisplayPosition.x<=e&&e<=this.RelativeDisplayPosition.x+this.RelativeDisplaySize.width&&this.RelativeDisplayPosition.y<=t&&t<=this.RelativeDisplayPosition.y+this.RelativeDisplaySize.height}transformToUnitCoordinates(e){return new PointF2D(this.UpperLeftPositionInUnits.x+this.ViewRegionInUnits.width*((e.x-this.RelativeDisplayPosition.x)/this.RelativeDisplaySize.width),this.UpperLeftPositionInUnits.y+this.ViewRegionInUnits.height*((e.y-this.RelativeDisplayPosition.y)/this.RelativeDisplaySize.height))}transformLengthXToUnitCoordinates(e){return e/this.horizontalUnitToPixelRatio}transformLengthYToUnitCoordinates(e){return e/this.verticalUnitToPixelRatio}recalculateDependentVariables(){const e=this.regionSizeInPixel.width/this.regionSizeInPixel.height;this.psi.BorderBottom=this.psi.BorderRight/e,this.horizontalUnitToPixelRatio=this.regionSizeInPixel.width/this.ViewRegionInUnits.width,this.verticalUnitToPixelRatio=this.regionSizeInPixel.height/this.ViewRegionInUnits.height}}class AbstractZoomView{constructor(e){this.aspectRatio=1,this.zoomViews=[],this.mouseZoomMode=!1,this.autoScrollY=!0,this.displayInteractionManager=e,this.displayInteractionManager.addListener(this),this.offsetXMin=Number.MIN_VALUE,this.offsetYMin=Number.MIN_VALUE,this.rangeXMin=1,this.rangeYMin=1,this.offsetXMax=Number.MAX_VALUE,this.offsetYMax=Number.MAX_VALUE,this.rangeXMax=1e9,this.rangeYMax=1e9,this.XScrollingEnabled=!1,this.YScrollingEnabled=!0}positionTouched(e,t){if(!this.convertToUnitsReady())return;const n=this.getPositionInUnits(e,t);this.unitPosTouched(n,e,t)}get TouchActive(){return this.displayInteractionManager.TouchActive}get TouchMoving(){return this.displayInteractionManager.TouchMoving}positionDoubleTouched(e,t){if(!this.convertToUnitsReady())return;const n=this.getPositionInUnits(e,t);this.unitPosDoubleTouched(n,e,t)}get UsesManuallyControlledZoomMode(){return this.usesManuallyControlledZoomMode}set UsesManuallyControlledZoomMode(e){this.usesManuallyControlledZoomMode=e}mouseDown(e,t,n=!1){if(!this.convertToUnitsReady())return;this.selectScrollControllerY(!1),this.lastRangeX=Math.max(1,this.RangeX),this.lastRangeY=Math.max(1,this.RangeY),this.lastOffsetX=this.OffsetX,this.lastOffsetY=this.OffsetY;const i=this.getPositionInUnits(e,t);this.unitPosTouchDown(i,e,t),this.usesManuallyControlledZoomMode||(this.mouseZoomMode=!!n)}mouseUp(e,t){const n=this.getPositionInUnits(e,t);this.unitPosTouchUp(n,e,t)}mouseMove(e,t,n,i){this.mouseZoomMode?(Math.abs(n-0)>1e-8&&(this.RangeX=Math.abs(this.lastRangeX/(1+n))),!this.lockRanges&&Math.abs(i-0)>1e-8&&(this.RangeY=Math.abs(this.lastRangeY/(1-i)))):(Math.abs(n-0)>1e-8&&(this.OffsetX=this.lastOffsetX-n*this.RangeX),Math.abs(i-0)>1e-8&&(this.OffsetY=this.lastOffsetY-i*this.RangeY));const r=this.getPositionInUnits(e,t);this.unitPosMove(r,e,t)}zoom(e){this.RangeX=Math.abs(this.lastRangeX/e)}addZoomView(e){this.zoomViews.push(e)}get OffsetX(){return this.offsetX}set OffsetX(e){this.offsetX=Math.min(this.offsetXMax,Math.max(this.offsetXMin,e));for(const t of this.zoomViews)t.viewportXChanged(this.offsetX,this.RangeX)}get OffsetY(){return this.offsetY}set OffsetY(e){this.offsetY=e,this.offsetY>this.offsetYMax?this.offsetY=this.offsetYMax:this.offsetY<this.offsetYMin&&(this.offsetY=this.offsetYMin);for(const t of this.zoomViews)t.viewportYChanged(this.offsetY,this.RangeY)}get RangeX(){return this.rangeX}set RangeX(e){if(this.rangeX=Math.min(this.rangeXMax,Math.max(this.rangeXMin,e)),this.lockRanges){this.RangeY=this.RangeX/this.aspectRatio;for(const e of this.zoomViews)e.viewportXChanged(this.OffsetX,this.RangeX),e.viewportYChanged(this.OffsetY,this.RangeY)}else for(const t of this.zoomViews)t.viewportXChanged(this.OffsetX,this.RangeX)}get RangeY(){return this.rangeY}set RangeY(e){this.rangeY=Math.min(this.rangeYMax,Math.max(this.rangeYMin,e));for(const t of this.zoomViews)t.viewportYChanged(this.OffsetY,this.RangeY)}set AspectRatio(e){this.aspectRatio=e}initialize(e,t,n,i){this.setVerticalViewport(n,i),this.setHorizontalViewport(e,t)}setHorizontalViewport(e,t){this.RangeX=t,this.OffsetX=e,this.lastRangeX=this.RangeX,this.lastOffsetX=this.OffsetX}setVerticalViewport(e,t){this.RangeY=t,this.OffsetY=e,this.lastRangeY=this.RangeY,this.lastOffsetY=this.OffsetY}viewSizeChanged(e,t){this.lockRanges&&(this.aspectRatio=e/t,this.RangeY=this.RangeX/this.aspectRatio,this.lastRangeY=this.RangeY)}outputChanged(e,t,n){this.OffsetY=t}setOffsetXValueOnly(e){this.offsetX=Math.min(this.offsetXMax,Math.max(this.offsetXMin,e))}setXOffset(e,t){!this.displayInteractionManager.TouchActive&&this.XScrollingEnabled}setOffsetYValueOnly(e){this.offsetY=Math.min(this.offsetYMax,Math.max(this.offsetYMin,e))}setYOffset(e,t){!this.displayInteractionManager.TouchActive&&this.YScrollingEnabled&&t&&this.selectScrollControllerY(!0)}selectScrollControllerY(e){this.autoScrollY!==e&&(this.autoScrollY=e)}displaySizeChanged(e,t){throw new Error("Method not implemented.")}}var InteractionType=(e=>(e[e.SingleTouch=0]="SingleTouch",e[e.DoubleTouch=1]="DoubleTouch",e[e.TouchUp=2]="TouchUp",e[e.TouchDown=3]="TouchDown",e[e.Move=4]="Move",e))(InteractionType||{});class VoiceEntryInteractionListener{constructor(e){this.renderingManager=e}userDisplayInteraction(e,t,n){switch(n){case InteractionType.TouchDown:case InteractionType.SingleTouch:case InteractionType.DoubleTouch:{const e=this.renderingManager.GraphicalMusicSheet.GetNearestVoiceEntry(t);if(e&&void 0!==e.parentStaffEntry.parentVerticalContainer){var i;const t=e.parentStaffEntry.parentVerticalContainer.AbsoluteTimestamp;var r;if(this.renderingManager.setStartPosition(t),void 0!==(null===(i=e.notes[0])||void 0===i?void 0:i.sourceNote.Pitch))null===(r=this.renderingManager.PlaybackManager)||void 0===r||r.playVoiceEntry(e.parentVoiceEntry)}break}}}}class SheetRenderingManager extends AbstractZoomView{constructor(e,t){super(e),this.mainViewingRegion=ScreenViewingRegion.createWithDefaults(),this.tryAgainToRenderCount=0,this.yOffsetMouseDown=Number.MIN_VALUE,this.unlockCursorDistancePixel=50,this.relativeTopPosition=.06,this.internalPreviewImageScale=3,this.listeners=[],this.LockDisplayToCursor=!0,this.ZoomActive=!1,this.rules=t,this.addZoomView(this),this.lockRanges=!0,this.TopBarHeightInPixel=70,this.BottomBarHeightInPixel=0,this.rules.UseDefaultVoiceInteractionListener&&this.listeners.push(new VoiceEntryInteractionListener(this))}addListener(e){this.listeners.push(e)}get Listeners(){return this.listeners}convertToUnitsReady(){return void 0!==this.graphicalMusicSheet}unitPosTouched(e,t,n){if(!this.SingleTouchDisabled){const i=new PointF2D(t,n);this.handleUserDisplayInteraction(i,e,InteractionType.SingleTouch)}}unitPosDoubleTouched(e,t,n){if(!this.DoubleTouchDisabled){const i=new PointF2D(t,n);this.handleUserDisplayInteraction(i,e,InteractionType.DoubleTouch)}}unitPosTouchDown(e,t,n){const i=new PointF2D(t,n);this.handleUserDisplayInteraction(i,e,InteractionType.TouchDown),this.yOffsetMouseDown=e.y}unitPosTouchUp(e,t,n){const i=new PointF2D(t,n);this.handleUserDisplayInteraction(i,e,InteractionType.TouchUp),!1===this.displayInteractionManager.WasZoomGestureActive&&this.unlockFromCursorIfNecessary(e),this.yOffsetMouseDown=Number.MIN_VALUE}unitPosMove(e,t,n){const i=new PointF2D(t,n);this.handleUserDisplayInteraction(i,e,InteractionType.Move),this.unlockFromCursorIfNecessary(e)}get MainViewingRegion(){return this.mainViewingRegion}setMusicSheet(e){this.graphicalMusicSheet=e,this.adaptDisplayLimitsToSheet(),this.setYOffset(0,!0)}viewportXChanged(e,t){void 0!==this.graphicalMusicSheet&&this.horizontalViewportChanged(e,t)}viewportYChanged(e,t){void 0!==this.graphicalMusicSheet&&(this.yOffsetMouseDown<=Number.MIN_VALUE+.5&&(this.yOffsetMouseDown=e),this.verticalViewportChanged(e,t))}displaySizeChanged(e,t){super.viewSizeChanged(e,t),Math.abs(e-0)<1e-7||Math.abs(t-0)<1e-7||(void 0!==this.graphicalMusicSheet&&this.graphicalMusicSheet.EnforceRedrawOfMusicSystems(),this.mainViewingRegion.DisplaySizeInPixel=new SizeF2D(e,t),this.adaptDisplayLimitsToSheet())}calcDisplayYPosition(e){return e.PositionAndShape.AbsolutePosition.y+e.PositionAndShape.BorderMarginTop-this.topBarHeightInUnits()-this.relativeTopPosition*this.heightWithoutTopBottomBarsInUnits()}yPositionForLastSystem(e){return e.PositionAndShape.AbsolutePosition.y+e.PositionAndShape.BorderMarginBottom-this.topBarHeightInUnits()-(1-this.relativeTopPosition)*this.heightWithoutTopBottomBarsInUnits()}scorePositionChanged(e,t,n,i,r,o){const s=this.calcDisplayYPosition(i);this.setYPosition(s,o)}setXPosition(e,t){this.LockDisplayToCursor&&this.setXOffset(e,t)}setYPosition(e,t){this.LockDisplayToCursor&&this.setYOffset(e,t)}get DrawingParameters(){return this.musicSheetDrawer.drawingParameters}topBarHeightInUnits(){return this.mainViewingRegion.transformLengthYToUnitCoordinates(this.TopBarHeightInPixel)}bottomBarHeightInUnits(){return this.mainViewingRegion.transformLengthYToUnitCoordinates(this.BottomBarHeightInPixel)}heightWithoutTopBottomBarsInUnits(){return this.mainViewingRegion.ViewRegionInUnits.height-this.topBarHeightInUnits()-this.bottomBarHeightInUnits()}activePositionToBottomBarHeight(){return(this.mainViewingRegion.ViewRegionInUnits.height-this.topBarHeightInUnits()-this.bottomBarHeightInUnits())*(1-2*this.relativeTopPosition)}getClickPosition(e,t){return this.mainViewingRegion.transformToUnitCoordinates(new PointF2D(e,t))}graphicalObjectIsVisible(e){return this.mainViewingRegion.isVisible(e,!1)}adaptDisplayLimitsToSheet(){if(void 0===this.graphicalMusicSheet||0===this.graphicalMusicSheet.MusicPages.length||0===this.graphicalMusicSheet.MusicPages[0].MusicSystems.length)return;this.offsetXMin=0,this.rangeXMin=this.graphicalMusicSheet.MinAllowedSystemWidth,this.rangeXMax=300,this.offsetYMin=-.3*this.RangeY;const e=this.graphicalMusicSheet.MusicPages.last().PositionAndShape;this.offsetYMax=Math.max(0,e.BorderMarginBottom-.7*this.RangeY),this.OffsetY>this.offsetYMax&&this.setYOffset(this.offsetYMax,!0)}horizontalViewportChanged(e,t){this.mainViewingRegion.WidthInUnits!==t&&(this.mainViewingRegion.WidthInUnits=t)}verticalViewportChanged(e,t){this.mainViewingRegion.UpperLeftPositionInUnits=new PointF2D(this.mainViewingRegion.UpperLeftPositionInUnits.x,e)}unlockFromCursorIfNecessary(e){if(!1===this.LockDisplayToCursor||this.ZoomActive)return;if(this.displayInteractionManager.ZoomGestureActive||this.displayInteractionManager.WasZoomGestureActive)return;Math.abs((e.y-this.yOffsetMouseDown)*this.mainViewingRegion.RegionSizeInPixel.height/this.mainViewingRegion.ViewRegionInUnits.height)>this.unlockCursorDistancePixel&&(this.LockDisplayToCursor=!1)}getPositionInUnits(e,t){return this.mainViewingRegion.transformToUnitCoordinates(new PointF2D(e,t))}handleUserDisplayInteraction(e,t,n){switch(n){case InteractionType.TouchDown:case InteractionType.SingleTouch:case InteractionType.DoubleTouch:case InteractionType.TouchUp:case InteractionType.TouchDown:case InteractionType.Move:for(const i of this.listeners)i.userDisplayInteraction(e,t,n);break;default:throw new Error("type")}}setStartPosition(e){var t;void 0!==this.graphicalMusicSheet&&(this.graphicalMusicSheet.ParentMusicSheet.SelectionStart=e,null===(t=this.PlaybackManager)||void 0===t||t.reset())}get GraphicalMusicSheet(){return this.graphicalMusicSheet}}class WebSheetRenderingManager extends SheetRenderingManager{mouseMove(e,t,n,i){const r=this.getPositionInUnits(e,t);this.unitPosMove(r,e,t)}}class AbstractDisplayInteractionManager{constructor(){this.listeners=[],this.zoomGestureActive=!1,this.touchCount=0,this.touchActive=!1,this.touchMoving=!1,this.displayWidth=1,this.displayHeight=1,this.displayDpi=96,this.maxNumerOfFingers=2,this.movementThreshInch=.075,this.interactionWasZoomGesture=!1}addListener(e){this.listeners.push(e)}get ZoomGestureActive(){return this.zoomGestureActive}get WasZoomGestureActive(){return this.interactionWasZoomGesture}displaySizeChanged(e,t){this.displayWidth=e,this.displayHeight=t;for(const n of this.listeners)n.displaySizeChanged(this.displayWidth,this.displayHeight)}Dispose(){this.dispose()}Initialize(){this.initialize()}get DisplayDpi(){return this.displayDpi}get TouchActive(){return this.touchActive}get TouchMoving(){return this.touchMoving}touchDown(e,t,n){this.interactionWasZoomGesture=!1;const i=e/this.displayWidth,r=t/this.displayHeight;this.lastRelPosX=i,this.lastRelPosY=r,this.lastPixelX=e,this.lastPixelY=t,this.touchActive=!0,this.touchMoving=!1,this.touchCount=Math.min(this.touchCount+1,this.maxNumerOfFingers);for(const o of this.listeners)o.mouseDown(i,r,!n)}move(e,t){if(this.touchActive&&!this.zoomGestureActive){const n=e/this.displayWidth,i=t/this.displayHeight,r=n-this.lastRelPosX,o=i-this.lastRelPosY;this.touchMoving=!0;for(const e of this.listeners)e.mouseMove(n,i,r,o)}}zoomGestureStarted(){this.zoomGestureActive=!0}zoomGestureCompleted(){this.zoomGestureActive=!1,this.interactionWasZoomGesture=!0}zoomGestureMove(e){this.zoomGestureActive&&this.listeners.forEach((function(t){t.zoom(e)}))}touchUp(e,t){this.touchActive=!1,this.touchMoving=!1,this.touchCount=Math.max(0,this.touchCount-1);const n=e/this.displayWidth,i=t/this.displayHeight;for(const r of this.listeners)r.mouseUp(n,i)}click(e,t){if(!this.mouseDidMove(this.lastPixelX,e,this.lastPixelY,t)&&!this.ZoomGestureActive){const n=e/this.displayWidth,i=t/this.displayHeight;for(const e of this.listeners)e.positionTouched(n,i)}}doubleClick(e,t){if(!this.mouseDidMove(this.lastPixelX,e,this.lastPixelY,t)&&!this.ZoomGestureActive){const n=e/this.displayWidth,i=t/this.displayHeight;for(const e of this.listeners)e.positionDoubleTouched(n,i)}}mouseDidMove(e,t,n,i){const r=Math.abs(e-t)/this.displayDpi,o=Math.abs(n-i)/this.displayDpi;return r>this.movementThreshInch||o>this.movementThreshInch}}class WebDisplayInteractionManager extends AbstractDisplayInteractionManager{constructor(e){super(),this.fullOffsetLeft=0,this.fullOffsetTop=0,this.fullScrollTop=0,this.fullScrollLeft=0,this.parentScrollMap=new Map,this.scrollCallbackMap=new Map,this.timeout=void 0,this.resizeObserver=void 0,this.EventCallbackMap=new Dictionary,this.DOUBLE_CLICK_WINDOW=200,this.lastClick=0,this.osmdSheetMusicContainer=e,this.listenForInteractions()}get FullOffsetTop(){return this.fullOffsetTop}get FullScrollTop(){return this.fullScrollTop}get FullOffsetLeft(){return this.fullOffsetLeft}get FullScrollLeft(){return this.fullScrollLeft}static resizeCallback(e,t){clearTimeout(t.timeout),t.timeout=setTimeout((()=>{t.fullOffsetLeft=0,t.fullOffsetTop=0;let e=t.osmdSheetMusicContainer;for(;e;)t.fullOffsetLeft+=e.offsetLeft,t.fullOffsetTop+=e.offsetTop,e=e.offsetParent;t.resizeEventListener(),t.deregisterScrollOffsets(),t.registerScrollOffsets()}),500)}registerScrollOffsets(){let e=this.osmdSheetMusicContainer;this.fullScrollTop=0,this.fullScrollLeft=0;const t=this;for(;e&&e!==document.documentElement;){if(this.parentScrollMap.set(e,[e.scrollTop,e.scrollLeft]),this.fullScrollLeft+=e.scrollLeft,this.fullScrollTop+=e.scrollTop,e.scrollHeight>e.clientHeight){const n=function(e){const n=t.parentScrollMap.get(this),i=n[0],r=n[1];t.fullScrollTop=t.fullScrollTop-i+this.scrollTop,t.fullScrollLeft=t.fullScrollLeft-r+this.scrollLeft,t.parentScrollMap.set(this,[this.scrollTop,this.scrollLeft])};this.scrollCallbackMap.set(e,n),e.addEventListener("scroll",n)}e=e.parentElement}}deregisterScrollOffsets(){for(const e of this.scrollCallbackMap.keys())e.removeEventListener("scroll",this.scrollCallbackMap.get(e));this.scrollCallbackMap.clear()}initialize(){this.fullOffsetLeft=0,this.fullOffsetTop=0;let e=this.osmdSheetMusicContainer;const t=[],n=this;for(window.ResizeObserver&&(this.resizeObserver=new ResizeObserver((e=>{WebDisplayInteractionManager.resizeCallback(e,n)})));e;)this.fullOffsetLeft+=e.offsetLeft,this.fullOffsetTop+=e.offsetTop,this.resizeObserver?this.resizeObserver.observe(e):t.push(e),e=e.offsetParent;if(this.resizeObserver)this.disposeResizeListener=()=>{n.resizeObserver.disconnect(),n.resizeObserver=void 0};else{let e=()=>{WebDisplayInteractionManager.resizeCallback(t,n)};window.addEventListener("resize",e),this.disposeResizeListener=()=>{window.removeEventListener("resize",e),e=void 0}}n.registerScrollOffsets()}dispose(){this.disposeResizeListener();for(const e of this.EventCallbackMap.keys()){const t=this.EventCallbackMap.getValue(e);t[0].removeEventListener(e,t[1])}this.EventCallbackMap.clear(),this.deregisterScrollOffsets(),this.scrollCallbackMap.clear(),this.parentScrollMap.clear()}isTouch(){if("ontouchstart"in window||window.DocumentTouch)return!0;if(!window.matchMedia)return!1;const e=["(",["-webkit-","-moz-","-o-","-ms-"].join("touch-enabled),("),"heartz",")"].join("");return window.matchMedia(e).matches}get downEventName(){return this.isTouch()?"touchstart":"mousedown"}get moveEventName(){return this.isTouch()?"touchmove":"mousemove"}listenForInteractions(){const e=this.downEventListener.bind(this),t=this.touchEndEventListener.bind(this),n=this.moveEventListener.bind(this);this.osmdSheetMusicContainer.addEventListener("mousedown",e),this.osmdSheetMusicContainer.addEventListener("touchend",t),document.addEventListener(this.moveEventName,n),this.EventCallbackMap.setValue("mousedown",[this.osmdSheetMusicContainer,e]),this.EventCallbackMap.setValue("touchend",[this.osmdSheetMusicContainer,t]),this.EventCallbackMap.setValue(this.moveEventName,[document,n])}downEventListener(e){const t=(new Date).getTime(),n=t-this.lastClick;clearTimeout(this.clickTimeout);let i=0,r=0;this.isTouch()&&e instanceof TouchEvent?(i=e.touches[0].pageX,r=e.touches[0].pageY):e instanceof MouseEvent&&(i=e.pageX,r=e.pageY);const o=this.getOffsetCoordinates(i,r);if(n<this.DOUBLE_CLICK_WINDOW&&n>0)this.doubleClick(o.x,o.y);else{const e=this;this.clickTimeout=setTimeout((function(){clearTimeout(this.clickTimeout),e.isTouch()?e.touchDown(o.x,o.y,void 0):e.click(o.x,o.y)}),this.DOUBLE_CLICK_WINDOW)}this.lastClick=t}moveEventListener(e){let t=0,n=0;if(this.isTouch()&&e instanceof TouchEvent){var i,r;let o;e.touches&&e.touches.length>0?o=e.touches[0]:e.changedTouches&&e.changedTouches.length>0&&(o=e.changedTouches[0]),t=null===(i=o)||void 0===i?void 0:i.clientX,n=null===(r=o)||void 0===r?void 0:r.clientY}else e instanceof MouseEvent&&(t=e.clientX,n=e.clientY);const o=this.getOffsetCoordinates(t,n);this.move(o.x,o.y)}touchEndEventListener(e){var t,n;let i;e.touches&&e.touches.length>0?i=e.touches[0]:e.changedTouches&&e.changedTouches.length>0&&(i=e.changedTouches[0]);const r=this.getOffsetCoordinates(null===(t=i)||void 0===t?void 0:t.pageX,null===(n=i)||void 0===n?void 0:n.pageY);this.touchUp(r.x,r.y)}resizeEventListener(){this.displaySizeChanged(this.osmdSheetMusicContainer.clientWidth,this.osmdSheetMusicContainer.clientHeight)}getOffsetCoordinates(e,t){const n=e-this.fullOffsetLeft+this.fullScrollLeft,i=t-this.fullOffsetTop+this.fullScrollTop;return new PointF2D(n,i)}}class DynamicsCalculator{static fillDynamicsList(e,t,n){for(let i=0;i<t.StaffLinkedExpressions.length;i++)for(let r=0,o=t.StaffLinkedExpressions[i].length;r<o;++r){const o=t.StaffLinkedExpressions[i][r];if(void 0!==o.InstantaneousDynamic||void 0!==o.StartingContinuousDynamic){if(o.StaffNumber=i,void 0!==o.StartingContinuousDynamic&&o.StartingContinuousDynamic.isWedge()&&void 0!==o.StartingContinuousDynamic.EndMultiExpression){const e=o.AbsoluteTimestamp,t=o.StartingContinuousDynamic.EndMultiExpression.AbsoluteTimestamp;if(e.Equals(t))continue}if(void 0!==o.InstantaneousDynamic){n[i].push(new DynamicsContainer(o.InstantaneousDynamic,o.StaffNumber));const t=this.getOtherStaffIndexIfLinkedStavesAreDetected(e,i,o.InstantaneousDynamic.Placement);t>=0&&n[t].push(new DynamicsContainer(o.InstantaneousDynamic,t))}if(void 0!==o.StartingContinuousDynamic){n[i].push(new DynamicsContainer(o.StartingContinuousDynamic,o.StaffNumber));const t=this.getOtherStaffIndexIfLinkedStavesAreDetected(e,i,o.StartingContinuousDynamic.Placement);t>=0&&n[t].push(new DynamicsContainer(o.StartingContinuousDynamic,t))}}}}static getOtherStaffIndexIfLinkedStavesAreDetected(e,t,n){const i=e.getStaffFromIndex(t),r=i.ParentInstrument.Staves.indexOf(i),o=i.ParentInstrument.Staves.length;return o>1&&0===r&&n===PlacementEnum.Below?t+1:o>1&&1===r&&n===PlacementEnum.Above?t-1:-1}static fillDynamicExpressions(e){const t=e.DynListStaves,n=e.getCompleteNumberOfStaves(),i=e.TimestampSortedDynamicExpressionsList;for(let r=0;r<n;r++)t.push([]);for(let r=0,o=e.SourceMeasures.length;r<o;++r){const n=e.SourceMeasures[r];DynamicsCalculator.fillDynamicsList(e,n,t)}for(let r=0;r<t.length;r++)for(let e=0,n=t[r].length;e<n;++e){const n=t[r][e];(void 0===n.instantaneousDynamicExpression||InstantaneousDynamicExpression.dynamicToRelativeVolumeDict.containsKey(n.instantaneousDynamicExpression.DynEnum))&&i.push(n)}i.sort(DynamicsContainer.Compare)}calculate(e){DynamicsCalculator.fillDynamicExpressions(e)}}const _OpenSheetMusicDisplay=class{constructor(e,t=OSMDOptions.OSMDOptionsStandard(),n=new EngravingRules){if(this.version="1.8.7-audio-extended",this.cursorsOptions=[],this.cursors=[],this.zoom=1,this.zoomUpdated=!1,this.loadUrlTimeout=5e3,this.rules=n,"string"==typeof e?this.container=document.getElementById(e):e&&"appendChild"in e&&(this.container=e),!this.container)throw new Error("Please pass a valid div container to OpenSheetMusicDisplay");void 0===t.autoResize&&(t.autoResize=!0),this.backendType=BackendType.SVG,this.setOptions(t),this.interactionManager=new WebDisplayInteractionManager(this.container),this.renderingManager=new WebSheetRenderingManager(this.interactionManager,this.rules)}get cursor(){return this.cursors[0]}get Cursor(){return this.cursor}get RenderingManager(){return this.renderingManager}set PlaybackManager(e){this.renderingManager&&(this.renderingManager.PlaybackManager=e)}get PlaybackManager(){var e;return null===(e=this.renderingManager)||void 0===e?void 0:e.PlaybackManager}isUrl(e){return e.length<2083}isMxl(e){return"PK"===e.substr(0,4)}processMxl(e,t,n){MXLHelper.MXLtoXMLstring(e).then((e=>{t(this.processStringXml(e))}),(e=>{loglevelExports.error(new Error("[OSMD] Invalid MXL file: "+e)),n(new Error("[OSMD] Invalid MXL file: "+e))}))}processStringXml(e){const t=new DOMParser;if(""===e.substr(0,3))return loglevelExports.debug("[OSMD] UTF with BOM detected, truncate first three bytes and pass along: "+e),t.parseFromString(e.substr(3),"application/xml");if(e.substr(0,6).includes("<?xml")){const n=this.OnXMLRead(e);return loglevelExports.debug("[OSMD] Finally parsing XML content, length: "+n.length),t.parseFromString(n,"application/xml")}}load(e,t="Untitled Score"){this.reset();const n=this;return new Promise((function(t,i){new Promise((function(t,i){if("string"==typeof e){const r=e.trim();if(n.isMxl(r))loglevelExports.debug("[OSMD] This is a zip file, unpack it first: "+r),n.processMxl(r,t,i);else{const e=n.processStringXml(r);if(e)t(e);else if(n.isUrl(r))AJAX.ajax(r).then((e=>{n.isMxl(e)?n.processMxl(e,t,i):t(n.processStringXml(e))}),(e=>{throw i(e),e}));else{const e=new Error("[OSMD] osmd.load(string): Could not process string. Did not find <?xml at beginning.");console.error(e.message),i(e)}}}else if(e instanceof Document)t(e);else{const e=new Error("[OSMD] osmd.load(): content is not string or Document. Could not load.");console.error(e.message),i(e)}})).then((function(e){e&&e.nodeName||i(new Error("OpenSheetMusicDisplay: The document which was provided is invalid"));const r=e.childNodes;let o;loglevelExports.debug("[OSMD] load(), Document url: "+e.URL);for(let t=0,n=r.length;t<n;t+=1){const e=r[t];if(e.nodeType===Node.ELEMENT_NODE&&"score-partwise"===e.nodeName.toLowerCase()){o=e;break}}o||(console.error("Could not parse MusicXML, no valid partwise element found"),i(new Error("OpenSheetMusicDisplay: Document is not a valid 'partwise' MusicXML")));const s=new IXmlElement(o),a=new DynamicsCalculator,l=new PlaybackNoteGenerator,c=new MusicSheetReader([a,l],n.rules);n.sheet=c.createMusicSheet(s,"Untitled Score"),void 0===n.sheet&&i(new Error("given music sheet was incomplete or could not be loaded.")),loglevelExports.info(`[OSMD] Loaded sheet ${n.sheet.TitleString} successfully.`),n.needBackendUpdate=!0,n.updateGraphic(),t()})).catch((function(e){loglevelExports.debug("Content XML Promise was rejected"),i(e)}))}))}updateGraphic(){const e=new VexFlowMusicSheetCalculator(this.rules);this.graphic=new GraphicalMusicSheet(this.sheet,e),this.drawingParameters.drawCursors&&this.cursors.forEach((e=>{e.init(this.sheet.MusicPartManager,this.graphic)})),this.drawingParameters.DrawingParametersEnum===DrawingParametersEnum.leadsheet&&(this.graphic.LeadSheet=!0),this.renderingManager.setMusicSheet(this.graphic),this.interactionManager.Initialize()}render(){var e;if(!this.graphic)throw new Error("OpenSheetMusicDisplay: Before rendering a music sheet, please load a MusicXML file");null===(e=this.drawer)||void 0===e||e.clear();let t=this.container.offsetWidth;this.rules.RenderSingleHorizontalStaffline&&(t=this.rules.SheetMaximumWidth),this.sheet.pageWidth=t/this.zoom/10,this.renderingManager.MainViewingRegion.WidthInUnits=this.sheet.pageWidth,this.rules.PageFormat&&!this.rules.PageFormat.IsUndefined?(this.rules.PageHeight=this.sheet.pageWidth/this.rules.PageFormat.aspectRatio,loglevelExports.debug("[OSMD] PageHeight: "+this.rules.PageHeight)):(loglevelExports.debug("[OSMD] endless/undefined pageformat, id: "+this.rules.PageFormat.idString),this.rules.PageHeight=100001),this.graphic.reCalculate(),this.drawingParameters.drawCursors&&(this.graphic.Cursors.length=0),this.createOrRefreshRenderBackend(),this.needBackendUpdate=!1,this.drawer.setZoom(this.zoom);for(const n of this.sheet.SourceMeasures)n.WasRendered=!1;this.drawer.drawSheet(this.graphic),this.enableOrDisableCursors(this.drawingParameters.drawCursors),this.drawingParameters.drawCursors&&this.cursors.forEach((e=>{e.update()})),this.zoomUpdated=!1,this.interactionManager.displaySizeChanged(this.container.clientWidth,this.container.clientHeight),this.rules.RenderCount++}createOrRefreshRenderBackend(){if(this.drawer&&this.drawer.Backends){this.drawer.Backends[0]&&this.drawer.Backends[0].removeAllChildrenFromContainer(this.container);for(const e of this.drawer.Backends)e.free();this.drawer.Backends.clear()}this.drawingParameters.Rules=this.rules,this.drawer=new VexFlowMusicSheetDrawer(this.drawingParameters),this.drawer.drawableBoundingBoxElement=this.DrawBoundingBox,this.drawer.bottomLineVisible=this.drawBottomLine,this.drawer.skyLineVisible=this.drawSkyLine;let e,t=this.container.offsetWidth;this.rules.RenderSingleHorizontalStaffline&&(t=10*(this.EngravingRules.PageLeftMargin+this.graphic.MusicPages[0].PositionAndShape.Size.width+this.EngravingRules.PageRightMargin)*this.zoom);const n=32767;for(const i of this.graphic.MusicPages){if(i.PageNumber>this.rules.MaxPageToDrawNumber)break;const r=this.createBackend(this.backendType,i),o=" exceeds CanvasBackend limit of 32767. Cutting off score.";r.getOSMDBackendType()===BackendType.Canvas&&t>n&&(loglevelExports.warn("[OSMD] Warning: width of "+t+o),t=n),this.rules.PageFormat&&!this.rules.PageFormat.IsUndefined?e=t/this.rules.PageFormat.aspectRatio:(e=i.PositionAndShape.Size.height,e+=this.rules.PageBottomMargin,r.getOSMDBackendType()===BackendType.Canvas&&(e+=.1),e+=i.PositionAndShape.BorderTop,this.rules.RenderTitle&&(e+=this.rules.TitleTopDistance),e*=10*this.zoom),r.getOSMDBackendType()===BackendType.Canvas&&e>n&&(loglevelExports.warn("[OSMD] Warning: height of "+e+o),e=Math.min(e,n)),r.resize(t,e),r.clear(),r.getContext().setFillStyle(this.rules.DefaultColorMusic),r.getContext().setStrokeStyle(this.rules.DefaultColorMusic),this.drawer.Backends.push(r),this.graphic.drawer=this.drawer}}exportSVG(){for(const t of null===(e=this.drawer)||void 0===e?void 0:e.Backends){var e;t instanceof SvgVexFlowBackend&&t.export()}}IsReadyToRender(){return void 0!==this.graphic}clear(){var e;null===(e=this.drawer)||void 0===e||e.clear(),this.reset()}dispose(){this.disposeResizeListener&&this.disposeResizeListener(),this.InteractionManager&&this.InteractionManager.Dispose()}setOptions(e){if(this.rules||(this.rules=new EngravingRules),this.drawingParameters||e.drawingParameters?e.drawingParameters&&(this.drawingParameters?this.drawingParameters.DrawingParametersEnum=DrawingParametersEnum[e.drawingParameters.toLowerCase()]:this.drawingParameters=new DrawingParameters(DrawingParametersEnum[e.drawingParameters],this.rules)):this.drawingParameters=new DrawingParameters(DrawingParametersEnum.default,this.rules),null==e)return void loglevelExports.warn("warning: osmd.setOptions() called without an options parameter, has no effect.\nexample usage: osmd.setOptions({drawCredits: false, drawPartNames: false})");this.OnXMLRead=function(e){return e},e.onXMLRead&&(this.OnXMLRead=e.onXMLRead);let t=!this.drawer||!this.drawer.Backends||this.drawer.Backends.length<1;if(void 0!==e.backend){const n=OSMDOptions.BackendTypeFromString(e.backend);t=t||this.backendType!==n,this.backendType=n}this.needBackendUpdate=t,void 0!==e.autoBeam&&(this.rules.AutoBeamNotes=e.autoBeam);const n=e.autoBeamOptions;if(n&&(void 0===n.maintain_stem_directions&&(n.maintain_stem_directions=!1),this.rules.AutoBeamOptions=n,n.groups&&n.groups.length))for(const i of n.groups)if(2!==i.length)throw new Error("Each fraction in autoBeamOptions.groups must be of length 2, e.g. [3,4] for beaming three fourths");void 0!==e.percussionOneLineCutoff&&(this.rules.PercussionOneLineCutoff=e.percussionOneLineCutoff),0!==this.rules.PercussionOneLineCutoff&&void 0!==e.percussionForceVoicesOneLineCutoff&&(this.rules.PercussionForceVoicesOneLineCutoff=e.percussionForceVoicesOneLineCutoff),void 0!==e.alignRests&&(this.rules.AlignRests=e.alignRests),void 0!==e.coloringMode&&this.setColoringMode(e),void 0!==e.coloringEnabled&&(this.rules.ColoringEnabled=e.coloringEnabled),void 0!==e.colorStemsLikeNoteheads&&(this.rules.ColorStemsLikeNoteheads=e.colorStemsLikeNoteheads),e.disableCursor&&(this.drawingParameters.drawCursors=!1),e.drawHiddenNotes&&(this.drawingParameters.drawHiddenNotes=!0),void 0!==e.drawCredits&&(this.drawingParameters.DrawCredits=e.drawCredits),void 0!==e.drawComposer&&(this.drawingParameters.DrawComposer=e.drawComposer),void 0!==e.drawTitle&&(this.drawingParameters.DrawTitle=e.drawTitle),void 0!==e.drawSubtitle&&(this.drawingParameters.DrawSubtitle=e.drawSubtitle),void 0!==e.drawLyricist&&(this.drawingParameters.DrawLyricist=e.drawLyricist),void 0!==e.drawMetronomeMarks&&(this.rules.MetronomeMarksDrawn=e.drawMetronomeMarks),void 0!==e.drawPartNames&&(this.drawingParameters.DrawPartNames=e.drawPartNames,e.drawPartAbbreviations||(this.rules.RenderPartAbbreviations=e.drawPartNames)),void 0!==e.drawPartAbbreviations&&(this.rules.RenderPartAbbreviations=e.drawPartAbbreviations),!1===e.drawFingerings&&(this.rules.RenderFingerings=!1),void 0!==e.drawMeasureNumbers&&(this.rules.RenderMeasureNumbers=e.drawMeasureNumbers),e.drawMeasureNumbersOnlyAtSystemStart&&(this.rules.RenderMeasureNumbersOnlyAtSystemStart=e.drawMeasureNumbersOnlyAtSystemStart),void 0!==e.drawLyrics&&(this.rules.RenderLyrics=e.drawLyrics),void 0!==e.drawTimeSignatures&&(this.rules.RenderTimeSignatures=e.drawTimeSignatures),void 0!==e.drawSlurs&&(this.rules.RenderSlurs=e.drawSlurs),void 0!==e.measureNumberInterval&&(this.rules.MeasureNumberLabelOffset=e.measureNumberInterval),void 0!==e.useXMLMeasureNumbers&&(this.rules.UseXMLMeasureNumbers=e.useXMLMeasureNumbers),void 0!==e.fingeringPosition&&(this.rules.FingeringPosition=AbstractExpression.PlacementEnumFromString(e.fingeringPosition)),void 0!==e.fingeringInsideStafflines&&(this.rules.FingeringInsideStafflines=e.fingeringInsideStafflines),void 0!==e.newSystemFromXML&&(this.rules.NewSystemAtXMLNewSystemAttribute=e.newSystemFromXML),void 0!==e.newSystemFromNewPageInXML&&(this.rules.NewSystemAtXMLNewPageAttribute=e.newSystemFromNewPageInXML),void 0!==e.newPageFromXML&&(this.rules.NewPageAtXMLNewPageAttribute=e.newPageFromXML),void 0!==e.fillEmptyMeasuresWithWholeRest&&(this.rules.FillEmptyMeasuresWithWholeRest=e.fillEmptyMeasuresWithWholeRest),void 0!==e.followCursor&&(this.FollowCursor=e.followCursor),void 0!==e.setWantedStemDirectionByXml&&(this.rules.SetWantedStemDirectionByXml=e.setWantedStemDirectionByXml),e.darkMode?(this.rules.applyDefaultColorMusic("#FFFFFF"),this.rules.PageBackgroundColor="#000000"):!1===e.darkMode&&(this.rules.applyDefaultColorMusic("#000000"),this.rules.PageBackgroundColor=void 0),e.defaultColorMusic&&this.rules.applyDefaultColorMusic(e.defaultColorMusic),e.defaultColorNotehead&&(this.rules.DefaultColorNotehead=e.defaultColorNotehead),e.defaultColorRest&&(this.rules.DefaultColorRest=e.defaultColorRest),e.defaultColorStem&&(this.rules.DefaultColorStem=e.defaultColorStem),e.defaultColorLabel&&(this.rules.DefaultColorLabel=e.defaultColorLabel),e.defaultColorTitle&&(this.rules.DefaultColorTitle=e.defaultColorTitle),e.defaultFontFamily&&(this.rules.DefaultFontFamily=e.defaultFontFamily),e.defaultFontStyle&&(this.rules.DefaultFontStyle=e.defaultFontStyle),e.drawUpToMeasureNumber&&(this.rules.MaxMeasureToDrawIndex=e.drawUpToMeasureNumber-1),e.drawFromMeasureNumber&&(this.rules.MinMeasureToDrawIndex=e.drawFromMeasureNumber-1),e.drawUpToPageNumber&&(this.rules.MaxPageToDrawNumber=e.drawUpToPageNumber),e.drawUpToSystemNumber&&(this.rules.MaxSystemToDrawNumber=e.drawUpToSystemNumber),e.tupletsRatioed&&(this.rules.TupletsRatioed=!0),e.tupletsBracketed&&(this.rules.TupletsBracketed=!0),e.tripletsBracketed&&(this.rules.TripletsBracketed=!0),e.autoResize?(this.resizeHandlerAttached||this.autoResize(),this.autoResizeEnabled=!0):!1===e.autoResize&&(this.autoResizeEnabled=!1),void 0!==e.pageFormat&&this.setPageFormat(e.pageFormat),void 0!==e.pageBackgroundColor&&(this.rules.PageBackgroundColor=e.pageBackgroundColor),void 0!==e.performanceMode&&(this.rules.PerformanceMode=e.performanceMode),void 0!==e.renderSingleHorizontalStaffline&&(this.rules.RenderSingleHorizontalStaffline=e.renderSingleHorizontalStaffline),void 0!==e.spacingFactorSoftmax&&(this.rules.SoftmaxFactorVexFlow=e.spacingFactorSoftmax),void 0!==e.spacingBetweenTextLines&&(this.rules.SpacingBetweenTextLines=e.spacingBetweenTextLines),void 0!==e.stretchLastSystemLine&&(this.rules.StretchLastSystemLine=e.stretchLastSystemLine),void 0!==e.autoGenerateMultipleRestMeasuresFromRestMeasures&&(this.rules.AutoGenerateMultipleRestMeasuresFromRestMeasures=e.autoGenerateMultipleRestMeasuresFromRestMeasures),void 0!==e.cursorsOptions?this.cursorsOptions=e.cursorsOptions:this.cursorsOptions=[{type:CursorType.Standard,color:this.EngravingRules.DefaultColorCursor,alpha:.5,follow:!0}],void 0!==e.preferredSkyBottomLineBatchCalculatorBackend&&(this.rules.PreferredSkyBottomLineBatchCalculatorBackend=e.preferredSkyBottomLineBatchCalculatorBackend),void 0!==e.skyBottomLineBatchMinMeasures&&(this.rules.SkyBottomLineBatchMinMeasures=e.skyBottomLineBatchMinMeasures)}setColoringMode(e){if(e.coloringMode===ColoringModes.XML)return void(this.rules.ColoringMode=ColoringModes.XML);const t=[NoteEnum.C,NoteEnum.D,NoteEnum.E,NoteEnum.F,NoteEnum.G,NoteEnum.A,NoteEnum.B];let n;if(e.coloringMode===ColoringModes.CustomColorSet){if(!e.coloringSetCustom||8!==e.coloringSetCustom.length)throw new Error("Invalid amount of colors: With coloringModes.customColorSet, you have to provide a coloringSetCustom parameter (array) with 8 strings (C to B, rest note).");for(const t of e.coloringSetCustom){if(!/^\#[0-9a-fA-F]{6}$/.test(t))throw new Error("One of the color strings in options.coloringSetCustom was not a valid HTML Hex color:\n"+t)}n=e.coloringSetCustom}else if(e.coloringMode===ColoringModes.AutoColoring){n=[];const e=Object.keys(AutoColorSet);for(let t=0;t<e.length;t++)n.push(AutoColorSet[e[t]])}const i=new Dictionary;for(let r=0;r<t.length;r++)i.setValue(t[r],n[r]);i.setValue(-1,n.last()),this.rules.ColoringSetCurrent=i,this.rules.ColoringMode=e.coloringMode}setLogLevel(e){switch(e){case"trace":loglevelExports.setLevel(loglevelExports.levels.TRACE);break;case"debug":loglevelExports.setLevel(loglevelExports.levels.DEBUG);break;case"info":loglevelExports.setLevel(loglevelExports.levels.INFO);break;case"warn":loglevelExports.setLevel(loglevelExports.levels.WARN);break;case"error":loglevelExports.setLevel(loglevelExports.levels.ERROR);break;case"silent":loglevelExports.setLevel(loglevelExports.levels.SILENT);break;default:loglevelExports.warn(`Could not set log level to ${e}. Using warn instead.`),loglevelExports.setLevel(loglevelExports.levels.WARN)}}getLogLevel(){return loglevelExports.getLevel()}reset(){this.drawingParameters.drawCursors&&this.cursors.forEach((e=>{e.hide()})),this.sheet=void 0,this.graphic=void 0,this.zoom=1,this.rules.RenderCount=0}autoResize(){const e=this;this.handleResize((()=>{}),(()=>{var t;(null===(t=this.graphic)||void 0===t?void 0:t.GetCalculator)instanceof VexFlowMusicSheetCalculator&&(this.graphic.GetCalculator.beamsNeedUpdate=!0),e.IsReadyToRender()&&e.render()}))}handleResize(e,t){let n,i;const r=this;function o(){r.AutoResizeEnabled&&(n=(new Date).getTime(),i||(e(),n=(new Date).getTime(),i=window.setTimeout(s,200)))}function s(){i=void 0,window.clearTimeout(i),(new Date).getTime()-n<200?i=window.setTimeout(s,200):t()}window.attachEvent?window.attachEvent("onresize",o):window.addEventListener("resize",o),this.disposeResizeListener=()=>{window.detachEvent?window.detachEvent("onresize",o):window.removeEventListener("resize",o),this.resizeHandlerAttached=!1},this.resizeHandlerAttached=!0,window.setTimeout(e,0),window.setTimeout(t,1)}enableOrDisableCursors(e){if(this.drawingParameters.drawCursors=e,e){var t;for(let e=0;e<this.cursorsOptions.length;e++){var n,i,r,o,s;const t=null!==(n=null===(i=this.cursors[e])||void 0===i?void 0:i.Hidden)&&void 0!==n&&n,l=null===(r=this.cursors[e])||void 0===r?void 0:r.Iterator;null===(o=this.cursors[e])||void 0===o||o.hide();let c=null===(s=this.drawer)||void 0===s?void 0:s.Backends[0];if(c&&this.rules.RestoreCursorAfterRerender&&this.cursors[e]){const t=this.cursors[e].updateCurrentPage();c=this.drawer.Backends[t-1]}if(c&&c.getRenderElement()){var a;if(this.cursors[e])null===(a=this.PlaybackManager)||void 0===a||a.removeListener(this.cursors[e]),this.cursors[e].Dispose();this.cursors[e]=new Cursor(c.getRenderElement(),this,this.cursorsOptions[e])}this.sheet&&this.graphic&&this.cursors[e]&&this.cursors[e].init(this.sheet.MusicPartManager,this.graphic),this.rules.RestoreCursorAfterRerender&&(l&&(this.cursors[e].iterator=l),t?this.cursors[e].hide():this.cursors[e].show())}null===(t=this.renderingManager.PlaybackManager)||void 0===t||t.addListener(this.cursor)}else this.cursors.forEach((e=>{e.hide()}))}createBackend(e,t){let n;return n=void 0===e||e===BackendType.SVG?new SvgVexFlowBackend(this.rules):new CanvasVexFlowBackend(this.rules),n.graphicalMusicPage=t,n.initialize(this.container,this.zoom),n}static StringToPageFormat(e){let t=PageFormat.UndefinedPageFormat;if(e.match("^[0-9]+x[0-9]+$")){const n=e.split("x"),i=Number.parseInt(n[0],10),r=Number.parseInt(n[1],10);i>0&&i<32768&&r>0&&r<32768&&(t=new PageFormat(i,r,`customPageFormat${e}`))}return e=(e=(e=e.replace(" ","_")).replace("Landscape","L")).replace("Portrait","P"),_OpenSheetMusicDisplay.PageFormatStandards.hasOwnProperty(e)?(t=_OpenSheetMusicDisplay.PageFormatStandards[e],t):t}setPageFormat(e){const t=_OpenSheetMusicDisplay.StringToPageFormat(e);this.needBackendUpdate=!t.Equals(this.rules.PageFormat),this.rules.PageFormat=t}setCustomPageFormat(e,t){if(e>0&&t>0){const n=new PageFormat(e,t);this.rules.PageFormat=n}}set DrawSkyLine(e){this.drawSkyLine=e,this.drawer&&(this.drawer.skyLineVisible=e)}get DrawSkyLine(){return this.drawer.skyLineVisible}set DrawBottomLine(e){this.drawBottomLine=e,this.drawer&&(this.drawer.bottomLineVisible=e)}get DrawBottomLine(){return this.drawer.bottomLineVisible}set DrawBoundingBox(e){this.setDrawBoundingBox(e,!0)}get DrawBoundingBox(){return this.drawBoundingBox}setDrawBoundingBox(e,t=!1){this.drawBoundingBox=e,this.drawer&&(this.drawer.drawableBoundingBoxElement=e),t&&this.render()}get AutoResizeEnabled(){return this.autoResizeEnabled}set AutoResizeEnabled(e){this.autoResizeEnabled=e}get Zoom(){return this.zoom}set Zoom(e){var t;this.zoom=e,this.zoomUpdated=!0,(null===(t=this.graphic)||void 0===t?void 0:t.GetCalculator)instanceof VexFlowMusicSheetCalculator&&(this.graphic.GetCalculator.beamsNeedUpdate=this.zoomUpdated)}set FollowCursor(e){this.followCursor=e}get FollowCursor(){return this.followCursor}set TransposeCalculator(e){MusicSheetCalculator.transposeCalculator=e}get TransposeCalculator(){return MusicSheetCalculator.transposeCalculator}get Sheet(){return this.sheet}get Drawer(){return this.drawer}get GraphicSheet(){return this.graphic}get DrawingParameters(){return this.drawingParameters}get EngravingRules(){return this.rules}get InteractionManager(){return this.interactionManager}get Version(){return this.version}};let OpenSheetMusicDisplay=_OpenSheetMusicDisplay;OpenSheetMusicDisplay.PageFormatStandards={A3_L:new PageFormat(420,297,"A3_L"),A3_P:new PageFormat(297,420,"A3_P"),A4_L:new PageFormat(297,210,"A4_L"),A4_P:new PageFormat(210,297,"A4_P"),A5_L:new PageFormat(210,148,"A5_L"),A5_P:new PageFormat(148,210,"A5_P"),A6_L:new PageFormat(148,105,"A6_L"),A6_P:new PageFormat(105,148,"A6_P"),Endless:PageFormat.UndefinedPageFormat,Letter_L:new PageFormat(279.4,215.9,"Letter_L"),Letter_P:new PageFormat(215.9,279.4,"Letter_P")};var handlebarsExports={},handlebars={get exports(){return handlebarsExports},set exports(e){handlebarsExports=e}},handlebars_runtimeExports={},handlebars_runtime={get exports(){return handlebars_runtimeExports},set exports(e){handlebars_runtimeExports=e}},base$1={},utils={__esModule:!0};utils.extend=extend,utils.indexOf=indexOf,utils.escapeExpression=escapeExpression,utils.isEmpty=isEmpty,utils.createFrame=createFrame,utils.blockParams=blockParams,utils.appendContextPath=appendContextPath;var escape$1={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},badChars=/[&<>"'`=]/g,possible=/[&<>"'`=]/;function escapeChar(e){return escape$1[e]}function extend(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var toString=Object.prototype.toString;utils.toString=toString;var isFunction=function(e){return"function"==typeof e};isFunction(/x/)&&(utils.isFunction=isFunction=function(e){return"function"==typeof e&&"[object Function]"===toString.call(e)}),utils.isFunction=isFunction;var isArray=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===toString.call(e)};function indexOf(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}function escapeExpression(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return possible.test(e)?e.replace(badChars,escapeChar):e}function isEmpty(e){return!e&&0!==e||!(!isArray(e)||0!==e.length)}function createFrame(e){var t=extend({},e);return t._parent=e,t}function blockParams(e,t){return e.path=t,e}function appendContextPath(e,t){return(e?e+".":"")+t}utils.isArray=isArray;var exceptionExports={},exception={get exports(){return exceptionExports},set exports(e){exceptionExports=e}};!function(e,t){t.__esModule=!0;var n=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function i(e,t){var r=t&&t.loc,o=void 0,s=void 0,a=void 0,l=void 0;r&&(o=r.start.line,s=r.end.line,a=r.start.column,l=r.end.column,e+=" - "+o+":"+a);for(var c=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=c[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,i);try{r&&(this.lineNumber=o,this.endLineNumber=s,Object.defineProperty?(Object.defineProperty(this,"column",{value:a,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:l,enumerable:!0})):(this.column=a,this.endColumn=l))}catch(h){}}i.prototype=new Error,t.default=i,e.exports=t.default}(exception,exceptionExports);var helpers$1={},blockHelperMissingExports={},blockHelperMissing={get exports(){return blockHelperMissingExports},set exports(e){blockHelperMissingExports=e}};!function(e,t){t.__esModule=!0;var n=utils;t.default=function(e){e.registerHelper("blockHelperMissing",(function(t,i){var r=i.inverse,o=i.fn;if(!0===t)return o(this);if(!1===t||null==t)return r(this);if(n.isArray(t))return t.length>0?(i.ids&&(i.ids=[i.name]),e.helpers.each(t,i)):r(this);if(i.data&&i.ids){var s=n.createFrame(i.data);s.contextPath=n.appendContextPath(i.data.contextPath,i.name),i={data:s}}return o(t,i)}))},e.exports=t.default}(blockHelperMissing,blockHelperMissingExports);var eachExports={},each={get exports(){return eachExports},set exports(e){eachExports=e}};!function(e,t){t.__esModule=!0;var n,i=utils,r=(n=exceptionExports)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("each",(function(e,t){if(!t)throw new r.default("Must pass iterator to #each");var n,o=t.fn,s=t.inverse,a=0,l="",c=void 0,u=void 0;function h(t,n,r){c&&(c.key=t,c.index=n,c.first=0===n,c.last=!!r,u&&(c.contextPath=u+t)),l+=o(e[t],{data:c,blockParams:i.blockParams([e[t],t],[u+t,null])})}if(t.data&&t.ids&&(u=i.appendContextPath(t.data.contextPath,t.ids[0])+"."),i.isFunction(e)&&(e=e.call(this)),t.data&&(c=i.createFrame(t.data)),e&&"object"==typeof e)if(i.isArray(e))for(var d=e.length;a<d;a++)a in e&&h(a,a,a===e.length-1);else if("function"==typeof Symbol&&e[Symbol.iterator]){for(var p=[],f=e[Symbol.iterator](),m=f.next();!m.done;m=f.next())p.push(m.value);for(d=(e=p).length;a<d;a++)h(a,a,a===e.length-1)}else n=void 0,Object.keys(e).forEach((function(e){void 0!==n&&h(n,a-1),n=e,a++})),void 0!==n&&h(n,a-1,!0);return 0===a&&(l=s(this)),l}))},e.exports=t.default}(each,eachExports);var helperMissingExports={},helperMissing={get exports(){return helperMissingExports},set exports(e){helperMissingExports=e}};!function(e,t){t.__esModule=!0;var n,i=(n=exceptionExports)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("helperMissing",(function(){if(1!==arguments.length)throw new i.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}))},e.exports=t.default}(helperMissing,helperMissingExports);var _ifExports={},_if={get exports(){return _ifExports},set exports(e){_ifExports=e}};!function(e,t){t.__esModule=!0;var n,i=utils,r=(n=exceptionExports)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("if",(function(e,t){if(2!=arguments.length)throw new r.default("#if requires exactly one argument");return i.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||i.isEmpty(e)?t.inverse(this):t.fn(this)})),e.registerHelper("unless",(function(t,n){if(2!=arguments.length)throw new r.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}))},e.exports=t.default}(_if,_ifExports);var logExports={},log$1={get exports(){return logExports},set exports(e){logExports=e}};!function(e,t){t.__esModule=!0,t.default=function(e){e.registerHelper("log",(function(){for(var t=[void 0],n=arguments[arguments.length-1],i=0;i<arguments.length-1;i++)t.push(arguments[i]);var r=1;null!=n.hash.level?r=n.hash.level:n.data&&null!=n.data.level&&(r=n.data.level),t[0]=r,e.log.apply(e,t)}))},e.exports=t.default}(log$1,logExports);var lookupExports={},lookup={get exports(){return lookupExports},set exports(e){lookupExports=e}};!function(e,t){t.__esModule=!0,t.default=function(e){e.registerHelper("lookup",(function(e,t,n){return e?n.lookupProperty(e,t):e}))},e.exports=t.default}(lookup,lookupExports);var _withExports={},_with={get exports(){return _withExports},set exports(e){_withExports=e}};function _interopRequireDefault$7(e){return e&&e.__esModule?e:{default:e}}!function(e,t){t.__esModule=!0;var n,i=utils,r=(n=exceptionExports)&&n.__esModule?n:{default:n};t.default=function(e){e.registerHelper("with",(function(e,t){if(2!=arguments.length)throw new r.default("#with requires exactly one argument");i.isFunction(e)&&(e=e.call(this));var n=t.fn;if(i.isEmpty(e))return t.inverse(this);var o=t.data;return t.data&&t.ids&&((o=i.createFrame(t.data)).contextPath=i.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:o,blockParams:i.blockParams([e],[o&&o.contextPath])})}))},e.exports=t.default}(_with,_withExports),helpers$1.__esModule=!0,helpers$1.registerDefaultHelpers=registerDefaultHelpers,helpers$1.moveHelperToHooks=moveHelperToHooks;var _helpersBlockHelperMissing=blockHelperMissingExports,_helpersBlockHelperMissing2=_interopRequireDefault$7(_helpersBlockHelperMissing),_helpersEach=eachExports,_helpersEach2=_interopRequireDefault$7(_helpersEach),_helpersHelperMissing=helperMissingExports,_helpersHelperMissing2=_interopRequireDefault$7(_helpersHelperMissing),_helpersIf=_ifExports,_helpersIf2=_interopRequireDefault$7(_helpersIf),_helpersLog=logExports,_helpersLog2=_interopRequireDefault$7(_helpersLog),_helpersLookup=lookupExports,_helpersLookup2=_interopRequireDefault$7(_helpersLookup),_helpersWith=_withExports,_helpersWith2=_interopRequireDefault$7(_helpersWith);function registerDefaultHelpers(e){_helpersBlockHelperMissing2.default(e),_helpersEach2.default(e),_helpersHelperMissing2.default(e),_helpersIf2.default(e),_helpersLog2.default(e),_helpersLookup2.default(e),_helpersWith2.default(e)}function moveHelperToHooks(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])}var decorators={},inlineExports={},inline={get exports(){return inlineExports},set exports(e){inlineExports=e}};function _interopRequireDefault$6(e){return e&&e.__esModule?e:{default:e}}!function(e,t){t.__esModule=!0;var n=utils;t.default=function(e){e.registerDecorator("inline",(function(e,t,i,r){var o=e;return t.partials||(t.partials={},o=function(r,o){var s=i.partials;i.partials=n.extend({},s,t.partials);var a=e(r,o);return i.partials=s,a}),t.partials[r.args[0]]=r.fn,o}))},e.exports=t.default}(inline,inlineExports),decorators.__esModule=!0,decorators.registerDefaultDecorators=registerDefaultDecorators;var _decoratorsInline=inlineExports,_decoratorsInline2=_interopRequireDefault$6(_decoratorsInline);function registerDefaultDecorators(e){_decoratorsInline2.default(e)}var loggerExports={},logger={get exports(){return loggerExports},set exports(e){loggerExports=e}};!function(e,t){t.__esModule=!0;var n=utils,i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if("string"==typeof e){var t=n.indexOf(i.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=i.lookupLevel(e),"undefined"!=typeof console&&i.lookupLevel(i.level)<=e){var t=i.methodMap[e];console[t]||(t="log");for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];console[t].apply(console,r)}}};t.default=i,e.exports=t.default}(logger,loggerExports);var protoAccess={},createNewLookupObject$1={__esModule:!0};createNewLookupObject$1.createNewLookupObject=createNewLookupObject;var _utils$4=utils;function createNewLookupObject(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return _utils$4.extend.apply(void 0,[Object.create(null)].concat(t))}function _interopRequireDefault$5(e){return e&&e.__esModule?e:{default:e}}protoAccess.__esModule=!0,protoAccess.createProtoAccessControl=createProtoAccessControl,protoAccess.resultIsAllowed=resultIsAllowed,protoAccess.resetLoggedProperties=resetLoggedProperties;var _createNewLookupObject=createNewLookupObject$1,_logger$1=loggerExports,_logger2$1=_interopRequireDefault$5(_logger$1),loggedProperties=Object.create(null);function createProtoAccessControl(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var n=Object.create(null);return n.__proto__=!1,{properties:{whitelist:_createNewLookupObject.createNewLookupObject(n,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:_createNewLookupObject.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}}function resultIsAllowed(e,t,n){return checkWhiteList("function"==typeof e?t.methods:t.properties,n)}function checkWhiteList(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(logUnexpecedPropertyAccessOnce(t),!1)}function logUnexpecedPropertyAccessOnce(e){!0!==loggedProperties[e]&&(loggedProperties[e]=!0,_logger2$1.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details'))}function resetLoggedProperties(){Object.keys(loggedProperties).forEach((function(e){delete loggedProperties[e]}))}function _interopRequireDefault$4(e){return e&&e.__esModule?e:{default:e}}base$1.__esModule=!0,base$1.HandlebarsEnvironment=HandlebarsEnvironment;var _utils$3=utils,_exception$3=exceptionExports,_exception2$3=_interopRequireDefault$4(_exception$3),_helpers$2=helpers$1,_decorators=decorators,_logger=loggerExports,_logger2=_interopRequireDefault$4(_logger),_internalProtoAccess$1=protoAccess,VERSION="4.7.8";base$1.VERSION=VERSION;var COMPILER_REVISION=8;base$1.COMPILER_REVISION=COMPILER_REVISION;var LAST_COMPATIBLE_COMPILER_REVISION=7;base$1.LAST_COMPATIBLE_COMPILER_REVISION=LAST_COMPATIBLE_COMPILER_REVISION;var REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};base$1.REVISION_CHANGES=REVISION_CHANGES;var objectType="[object Object]";function HandlebarsEnvironment(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},_helpers$2.registerDefaultHelpers(this),_decorators.registerDefaultDecorators(this)}HandlebarsEnvironment.prototype={constructor:HandlebarsEnvironment,logger:_logger2.default,log:_logger2.default.log,registerHelper:function(e,t){if(_utils$3.toString.call(e)===objectType){if(t)throw new _exception2$3.default("Arg not supported with multiple helpers");_utils$3.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(_utils$3.toString.call(e)===objectType)_utils$3.extend(this.partials,e);else{if(void 0===t)throw new _exception2$3.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(_utils$3.toString.call(e)===objectType){if(t)throw new _exception2$3.default("Arg not supported with multiple decorators");_utils$3.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){_internalProtoAccess$1.resetLoggedProperties()}};var log=_logger2.default.log;base$1.log=log,base$1.createFrame=_utils$3.createFrame,base$1.logger=_logger2.default;var safeStringExports={},safeString={get exports(){return safeStringExports},set exports(e){safeStringExports=e}};!function(e,t){function n(e){this.string=e}t.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},t.default=n,e.exports=t.default}(safeString,safeStringExports);var runtime={},wrapHelper$1={};function wrapHelper(e,t){if("function"!=typeof e)return e;return function(){return arguments[arguments.length-1]=t(arguments[arguments.length-1]),e.apply(this,arguments)}}function _interopRequireDefault$3(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard$1(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}wrapHelper$1.__esModule=!0,wrapHelper$1.wrapHelper=wrapHelper,runtime.__esModule=!0,runtime.checkRevision=checkRevision,runtime.template=template,runtime.wrapProgram=wrapProgram,runtime.resolvePartial=resolvePartial,runtime.invokePartial=invokePartial,runtime.noop=noop;var _utils$2=utils,Utils=_interopRequireWildcard$1(_utils$2),_exception$2=exceptionExports,_exception2$2=_interopRequireDefault$3(_exception$2),_base=base$1,_helpers$1=helpers$1,_internalWrapHelper=wrapHelper$1,_internalProtoAccess=protoAccess;function checkRevision(e){var t=e&&e[0]||1,n=_base.COMPILER_REVISION;if(!(t>=_base.LAST_COMPATIBLE_COMPILER_REVISION&&t<=_base.COMPILER_REVISION)){if(t<_base.LAST_COMPATIBLE_COMPILER_REVISION){var i=_base.REVISION_CHANGES[n],r=_base.REVISION_CHANGES[t];throw new _exception2$2.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+i+") or downgrade your runtime to an older version ("+r+").")}throw new _exception2$2.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function template(e,t){if(!t)throw new _exception2$2.default("No environment passed to template");if(!e||!e.main)throw new _exception2$2.default("Unknown template object: "+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&7===e.compiler[0];var i={strict:function(e,t,n){if(!e||!(t in e))throw new _exception2$2.default('"'+t+'" not defined in '+e,{loc:n});return i.lookupProperty(e,t)},lookupProperty:function(e,t){var n=e[t];return null==n||Object.prototype.hasOwnProperty.call(e,t)||_internalProtoAccess.resultIsAllowed(n,i.protoAccessControl,t)?n:void 0},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++){if(null!=(e[r]&&i.lookupProperty(e[r],t)))return e[r][t]}},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:Utils.escapeExpression,invokePartial:function(n,i,r){r.hash&&(i=Utils.extend({},i,r.hash),r.ids&&(r.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,i,r);var o=Utils.extend({},r,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),s=t.VM.invokePartial.call(this,n,i,o);if(null==s&&t.compile&&(r.partials[r.name]=t.compile(n,e.compilerOptions,t),s=r.partials[r.name](i,o)),null!=s){if(r.indent){for(var a=s.split("\n"),l=0,c=a.length;l<c&&(a[l]||l+1!==c);l++)a[l]=r.indent+a[l];s=a.join("\n")}return s}throw new _exception2$2.default("The partial "+r.name+" could not be compiled when running in runtime-only mode")},fn:function(t){var n=e[t];return n.decorator=e[t+"_d"],n},programs:[],program:function(e,t,n,i,r){var o=this.programs[e],s=this.fn(e);return t||r||i||n?o=wrapProgram(this,e,s,t,n,i,r):o||(o=this.programs[e]=wrapProgram(this,e,s)),o},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=Utils.extend({},t,e)),n},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function r(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],o=n.data;r._setup(n),!n.partial&&e.useData&&(o=initData(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;function l(t){return""+e.main(i,t,i.helpers,i.partials,o,a,s)}return e.useDepths&&(s=n.depths?t!=n.depths[0]?[t].concat(n.depths):n.depths:[t]),(l=executeDecorators(e.main,l,i,n.depths||[],o,a))(t,n)}return r.isTop=!0,r._setup=function(r){if(r.partial)i.protoAccessControl=r.protoAccessControl,i.helpers=r.helpers,i.partials=r.partials,i.decorators=r.decorators,i.hooks=r.hooks;else{var o=Utils.extend({},t.helpers,r.helpers);wrapHelpersToPassLookupProperty(o,i),i.helpers=o,e.usePartial&&(i.partials=i.mergeIfNeeded(r.partials,t.partials)),(e.usePartial||e.useDecorators)&&(i.decorators=Utils.extend({},t.decorators,r.decorators)),i.hooks={},i.protoAccessControl=_internalProtoAccess.createProtoAccessControl(r);var s=r.allowCallsToHelperMissing||n;_helpers$1.moveHelperToHooks(i,"helperMissing",s),_helpers$1.moveHelperToHooks(i,"blockHelperMissing",s)}},r._child=function(t,n,r,o){if(e.useBlockParams&&!r)throw new _exception2$2.default("must pass block params");if(e.useDepths&&!o)throw new _exception2$2.default("must pass parent depths");return wrapProgram(i,t,e[t],n,0,r,o)},r}function wrapProgram(e,t,n,i,r,o,s){function a(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],a=s;return!s||t==s[0]||t===e.nullContext&&null===s[0]||(a=[t].concat(s)),n(e,t,e.helpers,e.partials,r.data||i,o&&[r.blockParams].concat(o),a)}return(a=executeDecorators(n,a,e,s,i,o)).program=t,a.depth=s?s.length:0,a.blockParams=r||0,a}function resolvePartial(e,t,n){return e?e.call||n.name||(n.name=e,e=n.partials[e]):e="@partial-block"===n.name?n.data["partial-block"]:n.partials[n.name],e}function invokePartial(e,t,n){var i=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var r=void 0;if(n.fn&&n.fn!==noop&&function(){n.data=_base.createFrame(n.data);var e=n.fn;r=n.data["partial-block"]=function(t){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return n.data=_base.createFrame(n.data),n.data["partial-block"]=i,e(t,n)},e.partials&&(n.partials=Utils.extend({},n.partials,e.partials))}(),void 0===e&&r&&(e=r),void 0===e)throw new _exception2$2.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)}function noop(){return""}function initData(e,t){return t&&"root"in t||((t=t?_base.createFrame(t):{}).root=e),t}function executeDecorators(e,t,n,i,r,o){if(e.decorator){var s={};t=e.decorator(t,s,n,i&&i[0],r,o,i),Utils.extend(t,s)}return t}function wrapHelpersToPassLookupProperty(e,t){Object.keys(e).forEach((function(n){var i=e[n];e[n]=passLookupPropertyOption(i,t)}))}function passLookupPropertyOption(e,t){var n=t.lookupProperty;return _internalWrapHelper.wrapHelper(e,(function(e){return Utils.extend({lookupProperty:n},e)}))}var noConflictExports={},noConflict={get exports(){return noConflictExports},set exports(e){noConflictExports=e}};!function(e,t){t.__esModule=!0,t.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",(function(){return this})),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},e.exports=t.default}(noConflict,noConflictExports),function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0;var r=i(base$1),o=n(safeStringExports),s=n(exceptionExports),a=i(utils),l=i(runtime),c=n(noConflictExports);function u(){var e=new r.HandlebarsEnvironment;return a.extend(e,r),e.SafeString=o.default,e.Exception=s.default,e.Utils=a,e.escapeExpression=a.escapeExpression,e.VM=l,e.template=function(t){return l.template(t,e)},e}var h=u();h.create=u,c.default(h),h.default=h,t.default=h,e.exports=t.default}(handlebars_runtime,handlebars_runtimeExports);var astExports={},ast={get exports(){return astExports},set exports(e){astExports=e}};!function(e,t){t.__esModule=!0;var n={helpers:{helperExpression:function(e){return"SubExpression"===e.type||("MustacheStatement"===e.type||"BlockStatement"===e.type)&&!!(e.params&&e.params.length||e.hash)},scopedId:function(e){return/^\.|this\b/.test(e.original)},simpleId:function(e){return 1===e.parts.length&&!n.helpers.scopedId(e)&&!e.depth}}};t.default=n,e.exports=t.default}(ast,astExports);var base={},parserExports={},parser$1={get exports(){return parserExports},set exports(e){parserExports=e}};!function(e,t){t.__esModule=!0;var n=function(){var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(e,t,n,i,r,o,s){var a=o.length-1;switch(r){case 1:return o[a-1];case 2:this.$=i.prepareProgram(o[a]);break;case 3:case 4:case 5:case 6:case 7:case 8:case 20:case 27:case 28:case 33:case 34:case 40:case 41:this.$=o[a];break;case 9:this.$={type:"CommentStatement",value:i.stripComment(o[a]),strip:i.stripFlags(o[a],o[a]),loc:i.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:o[a],value:o[a],loc:i.locInfo(this._$)};break;case 11:this.$=i.prepareRawBlock(o[a-2],o[a-1],o[a],this._$);break;case 12:this.$={path:o[a-3],params:o[a-2],hash:o[a-1]};break;case 13:this.$=i.prepareBlock(o[a-3],o[a-2],o[a-1],o[a],!1,this._$);break;case 14:this.$=i.prepareBlock(o[a-3],o[a-2],o[a-1],o[a],!0,this._$);break;case 15:this.$={open:o[a-5],path:o[a-4],params:o[a-3],hash:o[a-2],blockParams:o[a-1],strip:i.stripFlags(o[a-5],o[a])};break;case 16:case 17:this.$={path:o[a-4],params:o[a-3],hash:o[a-2],blockParams:o[a-1],strip:i.stripFlags(o[a-5],o[a])};break;case 18:this.$={strip:i.stripFlags(o[a-1],o[a-1]),program:o[a]};break;case 19:var l=i.prepareBlock(o[a-2],o[a-1],o[a],o[a],!1,this._$),c=i.prepareProgram([l],o[a-1].loc);c.chained=!0,this.$={strip:o[a-2].strip,program:c,chain:!0};break;case 21:this.$={path:o[a-1],strip:i.stripFlags(o[a-2],o[a])};break;case 22:case 23:this.$=i.prepareMustache(o[a-3],o[a-2],o[a-1],o[a-4],i.stripFlags(o[a-4],o[a]),this._$);break;case 24:this.$={type:"PartialStatement",name:o[a-3],params:o[a-2],hash:o[a-1],indent:"",strip:i.stripFlags(o[a-4],o[a]),loc:i.locInfo(this._$)};break;case 25:this.$=i.preparePartialBlock(o[a-2],o[a-1],o[a],this._$);break;case 26:this.$={path:o[a-3],params:o[a-2],hash:o[a-1],strip:i.stripFlags(o[a-4],o[a])};break;case 29:this.$={type:"SubExpression",path:o[a-3],params:o[a-2],hash:o[a-1],loc:i.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:o[a],loc:i.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:i.id(o[a-2]),value:o[a],loc:i.locInfo(this._$)};break;case 32:this.$=i.id(o[a-1]);break;case 35:this.$={type:"StringLiteral",value:o[a],original:o[a],loc:i.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(o[a]),original:Number(o[a]),loc:i.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:"true"===o[a],original:"true"===o[a],loc:i.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:i.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:i.locInfo(this._$)};break;case 42:this.$=i.preparePath(!0,o[a],this._$);break;case 43:this.$=i.preparePath(!1,o[a],this._$);break;case 44:o[a-2].push({part:i.id(o[a]),original:o[a],separator:o[a-1]}),this.$=o[a-2];break;case 45:this.$=[{part:i.id(o[a]),original:o[a]}];break;case 46:case 48:case 50:case 58:case 64:case 70:case 78:case 82:case 86:case 90:case 94:this.$=[];break;case 47:case 49:case 51:case 59:case 65:case 71:case 79:case 83:case 87:case 91:case 95:case 99:case 101:o[a-1].push(o[a]);break;case 98:case 100:this.$=[o[a]]}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(e,t){throw new Error(e)},parse:function(e){var t=this,n=[0],i=[null],r=[],o=this.table,s="",a=0,l=0;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var c=this.lexer.yylloc;r.push(c);var u=this.lexer.options&&this.lexer.options.ranges;function h(){var e;return"number"!=typeof(e=t.lexer.lex()||1)&&(e=t.symbols_[e]||e),e}"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var d,p,f,m,g,v,b,y,A={};;){if(p=n[n.length-1],this.defaultActions[p]?f=this.defaultActions[p]:(null==d&&(d=h()),f=o[p]&&o[p][d]),void 0===f||!f.length||!f[0]){var S="";for(g in y=[],o[p])this.terminals_[g]&&g>2&&y.push("'"+this.terminals_[g]+"'");S=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+y.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(S,{text:this.lexer.match,token:this.terminals_[d]||d,line:this.lexer.yylineno,loc:c,expected:y})}if(f[0]instanceof Array&&f.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+d);switch(f[0]){case 1:n.push(d),i.push(this.lexer.yytext),r.push(this.lexer.yylloc),n.push(f[1]),d=null,l=this.lexer.yyleng,s=this.lexer.yytext,a=this.lexer.yylineno,c=this.lexer.yylloc;break;case 2:if(v=this.productions_[f[1]][1],A.$=i[i.length-v],A._$={first_line:r[r.length-(v||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(v||1)].first_column,last_column:r[r.length-1].last_column},u&&(A._$.range=[r[r.length-(v||1)].range[0],r[r.length-1].range[1]]),void 0!==(m=this.performAction.call(A,s,l,a,this.yy,f[1],i,r)))return m;v&&(n=n.slice(0,-1*v*2),i=i.slice(0,-1*v),r=r.slice(0,-1*v)),n.push(this.productions_[f[1]][0]),i.push(A.$),r.push(A._$),b=o[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this},more:function(){return this._more=!0,this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;var e,t,n,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),s=0;s<o.length&&(!(n=this._input.match(this.rules[o[s]]))||t&&!(n[0].length>t[0].length)||(t=n,i=s,this.options.flex));s++);return t?((r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,o[i],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e||void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return void 0!==e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)},options:{},performAction:function(e,t,n,i){function r(e,n){return t.yytext=t.yytext.substring(e,t.yyleng-n+e)}switch(n){case 0:if("\\\\"===t.yytext.slice(-2)?(r(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(r(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 15;break;case 1:case 5:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(r(5,9),"END_RAW_BLOCK");case 6:case 22:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:case 23:return 48;case 21:this.unput(t.yytext),this.popState(),this.begin("com");break;case 24:return 73;case 25:case 26:case 41:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return t.yytext=r(1,2).replace(/\\"/g,'"'),80;case 32:return t.yytext=r(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 42:return t.yytext=t.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return e}();function n(){this.yy={}}return e.lexer=t,n.prototype=e,e.Parser=n,new n}();t.default=n,e.exports=t.default}(parser$1,parserExports);var whitespaceControlExports={},whitespaceControl={get exports(){return whitespaceControlExports},set exports(e){whitespaceControlExports=e}},visitorExports={},visitor={get exports(){return visitorExports},set exports(e){visitorExports=e}};!function(e,t){t.__esModule=!0;var n,i=(n=exceptionExports)&&n.__esModule?n:{default:n};function r(){this.parents=[]}function o(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")}function s(e){o.call(this,e),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")}function a(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")}r.prototype={constructor:r,mutating:!1,acceptKey:function(e,t){var n=this.accept(e[t]);if(this.mutating){if(n&&!r.prototype[n.type])throw new i.default('Unexpected node type "'+n.type+'" found when accepting '+t+" on "+e.type);e[t]=n}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new i.default(e.type+" requires "+t)},acceptArray:function(e){for(var t=0,n=e.length;t<n;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,n--)},accept:function(e){if(e){if(!this[e.type])throw new i.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var t=this[e.type](e);return this.current=this.parents.shift(),!this.mutating||t?t:!1!==t?e:void 0}},Program:function(e){this.acceptArray(e.body)},MustacheStatement:o,Decorator:o,BlockStatement:s,DecoratorBlock:s,PartialStatement:a,PartialBlockStatement:function(e){a.call(this,e),this.acceptKey(e,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:o,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(e){this.acceptArray(e.pairs)},HashPair:function(e){this.acceptRequired(e,"value")}},t.default=r,e.exports=t.default}(visitor,visitorExports),function(e,t){t.__esModule=!0;var n,i=(n=visitorExports)&&n.__esModule?n:{default:n};function r(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=e}function o(e,t,n){void 0===t&&(t=e.length);var i=e[t-1],r=e[t-2];return i?"ContentStatement"===i.type?(r||!n?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(i.original):void 0:n}function s(e,t,n){void 0===t&&(t=-1);var i=e[t+1],r=e[t+2];return i?"ContentStatement"===i.type?(r||!n?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(i.original):void 0:n}function a(e,t,n){var i=e[null==t?0:t+1];if(i&&"ContentStatement"===i.type&&(n||!i.rightStripped)){var r=i.value;i.value=i.value.replace(n?/^\s+/:/^[ \t]*\r?\n?/,""),i.rightStripped=i.value!==r}}function l(e,t,n){var i=e[null==t?e.length-1:t-1];if(i&&"ContentStatement"===i.type&&(n||!i.leftStripped)){var r=i.value;return i.value=i.value.replace(n?/\s+$/:/[ \t]+$/,""),i.leftStripped=i.value!==r,i.leftStripped}}r.prototype=new i.default,r.prototype.Program=function(e){var t=!this.options.ignoreStandalone,n=!this.isRootSeen;this.isRootSeen=!0;for(var i=e.body,r=0,c=i.length;r<c;r++){var u=i[r],h=this.accept(u);if(h){var d=o(i,r,n),p=s(i,r,n),f=h.openStandalone&&d,m=h.closeStandalone&&p,g=h.inlineStandalone&&d&&p;h.close&&a(i,r,!0),h.open&&l(i,r,!0),t&&g&&(a(i,r),l(i,r)&&"PartialStatement"===u.type&&(u.indent=/([ \t]+$)/.exec(i[r-1].original)[1])),t&&f&&(a((u.program||u.inverse).body),l(i,r)),t&&m&&(a(i,r),l((u.inverse||u.program).body))}}return e},r.prototype.BlockStatement=r.prototype.DecoratorBlock=r.prototype.PartialBlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,n=e.program&&e.inverse,i=n,r=n;if(n&&n.chained)for(i=n.body[0].program;r.chained;)r=r.body[r.body.length-1].program;var c={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:s(t.body),closeStandalone:o((i||t).body)};if(e.openStrip.close&&a(t.body,null,!0),n){var u=e.inverseStrip;u.open&&l(t.body,null,!0),u.close&&a(i.body,null,!0),e.closeStrip.open&&l(r.body,null,!0),!this.options.ignoreStandalone&&o(t.body)&&s(i.body)&&(l(t.body),a(i.body))}else e.closeStrip.open&&l(t.body,null,!0);return c},r.prototype.Decorator=r.prototype.MustacheStatement=function(e){return e.strip},r.prototype.PartialStatement=r.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}},t.default=r,e.exports=t.default}(whitespaceControl,whitespaceControlExports);var helpers={};function _interopRequireDefault$2(e){return e&&e.__esModule?e:{default:e}}helpers.__esModule=!0,helpers.SourceLocation=SourceLocation,helpers.id=id,helpers.stripFlags=stripFlags,helpers.stripComment=stripComment,helpers.preparePath=preparePath,helpers.prepareMustache=prepareMustache,helpers.prepareRawBlock=prepareRawBlock,helpers.prepareBlock=prepareBlock,helpers.prepareProgram=prepareProgram,helpers.preparePartialBlock=preparePartialBlock;var _exception$1=exceptionExports,_exception2$1=_interopRequireDefault$2(_exception$1);function validateClose(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var n={loc:e.path.loc};throw new _exception2$1.default(e.path.original+" doesn't match "+t,n)}}function SourceLocation(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function id(e){return/^\[.*\]$/.test(e)?e.substring(1,e.length-1):e}function stripFlags(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}}function stripComment(e){return e.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function preparePath(e,t,n){n=this.locInfo(n);for(var i=e?"@":"",r=[],o=0,s=0,a=t.length;s<a;s++){var l=t[s].part,c=t[s].original!==l;if(i+=(t[s].separator||"")+l,c||".."!==l&&"."!==l&&"this"!==l)r.push(l);else{if(r.length>0)throw new _exception2$1.default("Invalid path: "+i,{loc:n});".."===l&&o++}}return{type:"PathExpression",data:e,depth:o,parts:r,original:i,loc:n}}function prepareMustache(e,t,n,i,r,o){var s=i.charAt(3)||i.charAt(2),a="{"!==s&&"&"!==s;return{type:/\*/.test(i)?"Decorator":"MustacheStatement",path:e,params:t,hash:n,escaped:a,strip:r,loc:this.locInfo(o)}}function prepareRawBlock(e,t,n,i){validateClose(e,n);var r={type:"Program",body:t,strip:{},loc:i=this.locInfo(i)};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:r,openStrip:{},inverseStrip:{},closeStrip:{},loc:i}}function prepareBlock(e,t,n,i,r,o){i&&i.path&&validateClose(e,i);var s=/\*/.test(e.open);t.blockParams=e.blockParams;var a=void 0,l=void 0;if(n){if(s)throw new _exception2$1.default("Unexpected inverse block on decorator",n);n.chain&&(n.program.body[0].closeStrip=i.strip),l=n.strip,a=n.program}return r&&(r=a,a=t,t=r),{type:s?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:a,openStrip:e.strip,inverseStrip:l,closeStrip:i&&i.strip,loc:this.locInfo(o)}}function prepareProgram(e,t){if(!t&&e.length){var n=e[0].loc,i=e[e.length-1].loc;n&&i&&(t={source:n.source,start:{line:n.start.line,column:n.start.column},end:{line:i.end.line,column:i.end.column}})}return{type:"Program",body:e,strip:{},loc:t}}function preparePartialBlock(e,t,n,i){return validateClose(e,n),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:n&&n.strip,loc:this.locInfo(i)}}function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function _interopRequireDefault$1(e){return e&&e.__esModule?e:{default:e}}base.__esModule=!0,base.parseWithoutProcessing=parseWithoutProcessing,base.parse=parse$2;var _parser=parserExports,_parser2=_interopRequireDefault$1(_parser),_whitespaceControl=whitespaceControlExports,_whitespaceControl2=_interopRequireDefault$1(_whitespaceControl),_helpers=helpers,Helpers=_interopRequireWildcard(_helpers),_utils$1=utils;base.parser=_parser2.default;var yy={};function parseWithoutProcessing(e,t){return"Program"===e.type?e:(_parser2.default.yy=yy,yy.locInfo=function(e){return new yy.SourceLocation(t&&t.srcName,e)},_parser2.default.parse(e))}function parse$2(e,t){var n=parseWithoutProcessing(e,t);return new _whitespaceControl2.default(t).accept(n)}_utils$1.extend(yy,Helpers);var compiler={};function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}compiler.__esModule=!0,compiler.Compiler=Compiler,compiler.precompile=precompile,compiler.compile=compile;var _exception=exceptionExports,_exception2=_interopRequireDefault(_exception),_utils=utils,_ast=astExports,_ast2=_interopRequireDefault(_ast),slice=[].slice;function Compiler(){}function precompile(e,t,n){if(null==e||"string"!=typeof e&&"Program"!==e.type)throw new _exception2.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);"data"in(t=t||{})||(t.data=!0),t.compat&&(t.useDepths=!0);var i=n.parse(e,t),r=(new n.Compiler).compile(i,t);return(new n.JavaScriptCompiler).compile(r,t)}function compile(e,t,n){if(void 0===t&&(t={}),null==e||"string"!=typeof e&&"Program"!==e.type)throw new _exception2.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);"data"in(t=_utils.extend({},t))||(t.data=!0),t.compat&&(t.useDepths=!0);var i=void 0;function r(){var i=n.parse(e,t),r=(new n.Compiler).compile(i,t),o=(new n.JavaScriptCompiler).compile(r,t,void 0,!0);return n.template(o)}function o(e,t){return i||(i=r()),i.call(this,e,t)}return o._setup=function(e){return i||(i=r()),i._setup(e)},o._child=function(e,t,n,o){return i||(i=r()),i._child(e,t,n,o)},o}function argEquals(e,t){if(e===t)return!0;if(_utils.isArray(e)&&_utils.isArray(t)&&e.length===t.length){for(var n=0;n<e.length;n++)if(!argEquals(e[n],t[n]))return!1;return!0}}function transformLiteralToPath(e){if(!e.path.parts){var t=e.path;e.path={type:"PathExpression",data:!1,depth:0,parts:[t.original+""],original:t.original+"",loc:t.loc}}}Compiler.prototype={compiler:Compiler,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var n=0;n<t;n++){var i=this.opcodes[n],r=e.opcodes[n];if(i.opcode!==r.opcode||!argEquals(i.args,r.args))return!1}t=this.children.length;for(n=0;n<t;n++)if(!this.children[n].equals(e.children[n]))return!1;return!0},guid:0,compile:function(e,t){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=t,this.stringParams=t.stringParams,this.trackIds=t.trackIds,t.blockParams=t.blockParams||[],t.knownHelpers=_utils.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},t.knownHelpers),this.accept(e)},compileProgram:function(e){var t=(new this.compiler).compile(e,this.options),n=this.guid++;return this.usePartial=this.usePartial||t.usePartial,this.children[n]=t,this.useDepths=this.useDepths||t.useDepths,n},accept:function(e){if(!this[e.type])throw new _exception2.default("Unknown type: "+e.type,e);this.sourceNode.unshift(e);var t=this[e.type](e);return this.sourceNode.shift(),t},Program:function(e){this.options.blockParams.unshift(e.blockParams);for(var t=e.body,n=t.length,i=0;i<n;i++)this.accept(t[i]);return this.options.blockParams.shift(),this.isSimple=1===n,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){transformLiteralToPath(e);var t=e.program,n=e.inverse;t=t&&this.compileProgram(t),n=n&&this.compileProgram(n);var i=this.classifySexpr(e);"helper"===i?this.helperSexpr(e,t,n):"simple"===i?(this.simpleSexpr(e),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue",e.path.original)):(this.ambiguousSexpr(e,t,n),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(e){var t=e.program&&this.compileProgram(e.program),n=this.setupFullMustacheParams(e,t,void 0),i=e.path;this.useDecorators=!0,this.opcode("registerDecorator",n.length,i.original)},PartialStatement:function(e){this.usePartial=!0;var t=e.program;t&&(t=this.compileProgram(e.program));var n=e.params;if(n.length>1)throw new _exception2.default("Unsupported number of partial arguments: "+n.length,e);n.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):n.push({type:"PathExpression",parts:[],depth:0}));var i=e.name.original,r="SubExpression"===e.name.type;r&&this.accept(e.name),this.setupFullMustacheParams(e,t,void 0,!0);var o=e.indent||"";this.options.preventIndent&&o&&(this.opcode("appendContent",o),o=""),this.opcode("invokePartial",r,i,o),this.opcode("append")},PartialBlockStatement:function(e){this.PartialStatement(e)},MustacheStatement:function(e){this.SubExpression(e),e.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(e){this.DecoratorBlock(e)},ContentStatement:function(e){e.value&&this.opcode("appendContent",e.value)},CommentStatement:function(){},SubExpression:function(e){transformLiteralToPath(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,n){var i=e.path,r=i.parts[0],o=null!=t||null!=n;this.opcode("getContext",i.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",n),i.strict=!0,this.accept(i),this.opcode("invokeAmbiguous",r,o)},simpleSexpr:function(e){var t=e.path;t.strict=!0,this.accept(t),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,n){var i=this.setupFullMustacheParams(e,t,n),r=e.path,o=r.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",i.length,o);else{if(this.options.knownHelpersOnly)throw new _exception2.default("You specified knownHelpersOnly, but used the unknown helper "+o,e);r.strict=!0,r.falsy=!0,this.accept(r),this.opcode("invokeHelper",i.length,r.original,_ast2.default.helpers.simpleId(r))}},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],n=_ast2.default.helpers.scopedId(e),i=!e.depth&&!n&&this.blockParamIndex(t);i?this.opcode("lookupBlockParam",i,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts,e.strict)):this.opcode("lookupOnContext",e.parts,e.falsy,e.strict,n):this.opcode("pushContext")},StringLiteral:function(e){this.opcode("pushString",e.value)},NumberLiteral:function(e){this.opcode("pushLiteral",e.value)},BooleanLiteral:function(e){this.opcode("pushLiteral",e.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(e){var t=e.pairs,n=0,i=t.length;for(this.opcode("pushHash");n<i;n++)this.pushParam(t[n].value);for(;n--;)this.opcode("assignToHash",t[n].key);this.opcode("popHash")},opcode:function(e){this.opcodes.push({opcode:e,args:slice.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=_ast2.default.helpers.simpleId(e.path),n=t&&!!this.blockParamIndex(e.path.parts[0]),i=!n&&_ast2.default.helpers.helperExpression(e),r=!n&&(i||t);if(r&&!i){var o=e.path.parts[0],s=this.options;s.knownHelpers[o]?i=!0:s.knownHelpersOnly&&(r=!1)}return i?"helper":r?"ambiguous":"simple"},pushParams:function(e){for(var t=0,n=e.length;t<n;t++)this.pushParam(e[t])},pushParam:function(e){var t=null!=e.value?e.value:e.original||"";if(this.stringParams)t.replace&&(t=t.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),e.depth&&this.addDepth(e.depth),this.opcode("getContext",e.depth||0),this.opcode("pushStringParam",t,e.type),"SubExpression"===e.type&&this.accept(e);else{if(this.trackIds){var n=void 0;if(!e.parts||_ast2.default.helpers.scopedId(e)||e.depth||(n=this.blockParamIndex(e.parts[0])),n){var i=e.parts.slice(1).join(".");this.opcode("pushId","BlockParam",n,i)}else(t=e.original||t).replace&&(t=t.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",e.type,t)}this.accept(e)}},setupFullMustacheParams:function(e,t,n,i){var r=e.params;return this.pushParams(r),this.opcode("pushProgram",t),this.opcode("pushProgram",n),e.hash?this.accept(e.hash):this.opcode("emptyHash",i),r},blockParamIndex:function(e){for(var t=0,n=this.options.blockParams.length;t<n;t++){var i=this.options.blockParams[t],r=i&&_utils.indexOf(i,e);if(i&&r>=0)return[t,r]}}};var javascriptCompilerExports={},javascriptCompiler={get exports(){return javascriptCompilerExports},set exports(e){javascriptCompilerExports=e}},codeGenExports={},codeGen={get exports(){return codeGenExports},set exports(e){codeGenExports=e}},sourceMap={},sourceMapGenerator={},base64Vlq={},base64$1={},hasRequiredBase64,hasRequiredBase64Vlq;function requireBase64(){if(hasRequiredBase64)return base64$1;hasRequiredBase64=1;var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");return base64$1.encode=function(t){if(0<=t&&t<e.length)return e[t];throw new TypeError("Must be between 0 and 63: "+t)},base64$1.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1},base64$1}function requireBase64Vlq(){if(hasRequiredBase64Vlq)return base64Vlq;hasRequiredBase64Vlq=1;var e=requireBase64();return base64Vlq.encode=function(t){var n,i="",r=function(e){return e<0?1+(-e<<1):0+(e<<1)}(t);do{n=31&r,(r>>>=5)>0&&(n|=32),i+=e.encode(n)}while(r>0);return i},base64Vlq.decode=function(t,n,i){var r,o,s,a,l=t.length,c=0,u=0;do{if(n>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(o=e.decode(t.charCodeAt(n++))))throw new Error("Invalid base64 digit: "+t.charAt(n-1));r=!!(32&o),c+=(o&=31)<<u,u+=5}while(r);i.value=(a=(s=c)>>1,1==(1&s)?-a:a),i.rest=n},base64Vlq}var util={},hasRequiredUtil;function requireUtil(){return hasRequiredUtil||(hasRequiredUtil=1,function(e){e.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var t=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function i(e){var n=e.match(t);return n?{scheme:n[1],auth:n[2],host:n[3],port:n[4],path:n[5]}:null}function r(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(t){var n=t,o=i(t);if(o){if(!o.path)return t;n=o.path}for(var s,a=e.isAbsolute(n),l=n.split(/\/+/),c=0,u=l.length-1;u>=0;u--)"."===(s=l[u])?l.splice(u,1):".."===s?c++:c>0&&(""===s?(l.splice(u+1,c),c=0):(l.splice(u,2),c--));return""===(n=l.join("/"))&&(n=a?"/":"."),o?(o.path=n,r(o)):n}function s(e,t){""===e&&(e="."),""===t&&(t=".");var s=i(t),a=i(e);if(a&&(e=a.path||"/"),s&&!s.scheme)return a&&(s.scheme=a.scheme),r(s);if(s||t.match(n))return t;if(a&&!a.host&&!a.path)return a.host=t,r(a);var l="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return a?(a.path=l,r(a)):l}e.urlParse=i,e.urlGenerate=r,e.normalize=o,e.join=s,e.isAbsolute=function(e){return"/"===e.charAt(0)||t.test(e)},e.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var i=e.lastIndexOf("/");if(i<0)return t;if((e=e.slice(0,i)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var a=!("__proto__"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}e.toSetString=a?l:function(e){return c(e)?"$"+e:e},e.fromSetString=a?l:function(e){return c(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,t,n){var i=u(e.source,t.source);return 0!==i||0!==(i=e.originalLine-t.originalLine)||0!==(i=e.originalColumn-t.originalColumn)||n||0!==(i=e.generatedColumn-t.generatedColumn)||0!==(i=e.generatedLine-t.generatedLine)?i:u(e.name,t.name)},e.compareByGeneratedPositionsDeflated=function(e,t,n){var i=e.generatedLine-t.generatedLine;return 0!==i||0!==(i=e.generatedColumn-t.generatedColumn)||n||0!==(i=u(e.source,t.source))||0!==(i=e.originalLine-t.originalLine)||0!==(i=e.originalColumn-t.originalColumn)?i:u(e.name,t.name)},e.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=u(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},e.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var a=i(n);if(!a)throw new Error("sourceMapURL could not be parsed");if(a.path){var l=a.path.lastIndexOf("/");l>=0&&(a.path=a.path.substring(0,l+1))}t=s(r(a),t)}return o(t)}}(util)),util}var arraySet={},hasRequiredArraySet;function requireArraySet(){if(hasRequiredArraySet)return arraySet;hasRequiredArraySet=1;var e=requireUtil(),t=Object.prototype.hasOwnProperty,n="undefined"!=typeof Map;function i(){this._array=[],this._set=n?new Map:Object.create(null)}return i.fromArray=function(e,t){for(var n=new i,r=0,o=e.length;r<o;r++)n.add(e[r],t);return n},i.prototype.size=function(){return n?this._set.size:Object.getOwnPropertyNames(this._set).length},i.prototype.add=function(i,r){var o=n?i:e.toSetString(i),s=n?this.has(i):t.call(this._set,o),a=this._array.length;s&&!r||this._array.push(i),s||(n?this._set.set(i,a):this._set[o]=a)},i.prototype.has=function(i){if(n)return this._set.has(i);var r=e.toSetString(i);return t.call(this._set,r)},i.prototype.indexOf=function(i){if(n){var r=this._set.get(i);if(r>=0)return r}else{var o=e.toSetString(i);if(t.call(this._set,o))return this._set[o]}throw new Error('"'+i+'" is not in the set.')},i.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},i.prototype.toArray=function(){return this._array.slice()},arraySet.ArraySet=i,arraySet}var mappingList={},hasRequiredMappingList,hasRequiredSourceMapGenerator;function requireMappingList(){if(hasRequiredMappingList)return mappingList;hasRequiredMappingList=1;var e=requireUtil();function t(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}return t.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},t.prototype.add=function(t){var n,i,r,o,s,a;n=this._last,i=t,r=n.generatedLine,o=i.generatedLine,s=n.generatedColumn,a=i.generatedColumn,o>r||o==r&&a>=s||e.compareByGeneratedPositionsInflated(n,i)<=0?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))},t.prototype.toArray=function(){return this._sorted||(this._array.sort(e.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},mappingList.MappingList=t,mappingList}function requireSourceMapGenerator(){if(hasRequiredSourceMapGenerator)return sourceMapGenerator;hasRequiredSourceMapGenerator=1;var e=requireBase64Vlq(),t=requireUtil(),n=requireArraySet().ArraySet,i=requireMappingList().MappingList;function r(e){e||(e={}),this._file=t.getArg(e,"file",null),this._sourceRoot=t.getArg(e,"sourceRoot",null),this._skipValidation=t.getArg(e,"skipValidation",!1),this._sources=new n,this._names=new n,this._mappings=new i,this._sourcesContents=null}return r.prototype._version=3,r.fromSourceMap=function(e){var n=e.sourceRoot,i=new r({file:e.file,sourceRoot:n});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=n&&(r.source=t.relative(n,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),i.addMapping(r)})),e.sources.forEach((function(r){var o=r;null!==n&&(o=t.relative(n,r)),i._sources.has(o)||i._sources.add(o);var s=e.sourceContentFor(r);null!=s&&i.setSourceContent(r,s)})),i},r.prototype.addMapping=function(e){var n=t.getArg(e,"generated"),i=t.getArg(e,"original",null),r=t.getArg(e,"source",null),o=t.getArg(e,"name",null);this._skipValidation||this._validateMapping(n,i,r,o),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:n.line,generatedColumn:n.column,originalLine:null!=i&&i.line,originalColumn:null!=i&&i.column,source:r,name:o})},r.prototype.setSourceContent=function(e,n){var i=e;null!=this._sourceRoot&&(i=t.relative(this._sourceRoot,i)),null!=n?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[t.toSetString(i)]=n):this._sourcesContents&&(delete this._sourcesContents[t.toSetString(i)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},r.prototype.applySourceMap=function(e,i,r){var o=i;if(null==i){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');o=e.file}var s=this._sourceRoot;null!=s&&(o=t.relative(s,o));var a=new n,l=new n;this._mappings.unsortedForEach((function(n){if(n.source===o&&null!=n.originalLine){var i=e.originalPositionFor({line:n.originalLine,column:n.originalColumn});null!=i.source&&(n.source=i.source,null!=r&&(n.source=t.join(r,n.source)),null!=s&&(n.source=t.relative(s,n.source)),n.originalLine=i.line,n.originalColumn=i.column,null!=i.name&&(n.name=i.name))}var c=n.source;null==c||a.has(c)||a.add(c);var u=n.name;null==u||l.has(u)||l.add(u)}),this),this._sources=a,this._names=l,e.sources.forEach((function(n){var i=e.sourceContentFor(n);null!=i&&(null!=r&&(n=t.join(r,n)),null!=s&&(n=t.relative(s,n)),this.setSourceContent(n,i))}),this)},r.prototype._validateMapping=function(e,t,n,i){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||i)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:i}))},r.prototype._serializeMappings=function(){for(var n,i,r,o,s=0,a=1,l=0,c=0,u=0,h=0,d="",p=this._mappings.toArray(),f=0,m=p.length;f<m;f++){if(n="",(i=p[f]).generatedLine!==a)for(s=0;i.generatedLine!==a;)n+=";",a++;else if(f>0){if(!t.compareByGeneratedPositionsInflated(i,p[f-1]))continue;n+=","}n+=e.encode(i.generatedColumn-s),s=i.generatedColumn,null!=i.source&&(o=this._sources.indexOf(i.source),n+=e.encode(o-h),h=o,n+=e.encode(i.originalLine-1-c),c=i.originalLine-1,n+=e.encode(i.originalColumn-l),l=i.originalColumn,null!=i.name&&(r=this._names.indexOf(i.name),n+=e.encode(r-u),u=r)),d+=n}return d},r.prototype._generateSourcesContent=function(e,n){return e.map((function(e){if(!this._sourcesContents)return null;null!=n&&(e=t.relative(n,e));var i=t.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null}),this)},r.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},r.prototype.toString=function(){return JSON.stringify(this.toJSON())},sourceMapGenerator.SourceMapGenerator=r,sourceMapGenerator}var sourceMapConsumer={},binarySearch={},hasRequiredBinarySearch;function requireBinarySearch(){return hasRequiredBinarySearch||(hasRequiredBinarySearch=1,function(e){function t(n,i,r,o,s,a){var l=Math.floor((i-n)/2)+n,c=s(r,o[l],!0);return 0===c?l:c>0?i-l>1?t(l,i,r,o,s,a):a==e.LEAST_UPPER_BOUND?i<o.length?i:-1:l:l-n>1?t(n,l,r,o,s,a):a==e.LEAST_UPPER_BOUND?l:n<0?-1:n}e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2,e.search=function(n,i,r,o){if(0===i.length)return-1;var s=t(-1,i.length,n,i,r,o||e.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===r(i[s],i[s-1],!0);)--s;return s}}(binarySearch)),binarySearch}var quickSort={},hasRequiredQuickSort,hasRequiredSourceMapConsumer;function requireQuickSort(){if(hasRequiredQuickSort)return quickSort;function e(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function t(n,i,r,o){if(r<o){var s=r-1;e(n,(u=r,h=o,Math.round(u+Math.random()*(h-u))),o);for(var a=n[o],l=r;l<o;l++)i(n[l],a)<=0&&e(n,s+=1,l);e(n,s+1,l);var c=s+1;t(n,i,r,c-1),t(n,i,c+1,o)}var u,h}return hasRequiredQuickSort=1,quickSort.quickSort=function(e,n){t(e,n,0,e.length-1)},quickSort}function requireSourceMapConsumer(){if(hasRequiredSourceMapConsumer)return sourceMapConsumer;hasRequiredSourceMapConsumer=1;var e=requireUtil(),t=requireBinarySearch(),n=requireArraySet().ArraySet,i=requireBase64Vlq(),r=requireQuickSort().quickSort;function o(t,n){var i=t;return"string"==typeof t&&(i=e.parseSourceMapInput(t)),null!=i.sections?new l(i,n):new s(i,n)}function s(t,i){var r=t;"string"==typeof t&&(r=e.parseSourceMapInput(t));var o=e.getArg(r,"version"),s=e.getArg(r,"sources"),a=e.getArg(r,"names",[]),l=e.getArg(r,"sourceRoot",null),c=e.getArg(r,"sourcesContent",null),u=e.getArg(r,"mappings"),h=e.getArg(r,"file",null);if(o!=this._version)throw new Error("Unsupported version: "+o);l&&(l=e.normalize(l)),s=s.map(String).map(e.normalize).map((function(t){return l&&e.isAbsolute(l)&&e.isAbsolute(t)?e.relative(l,t):t})),this._names=n.fromArray(a.map(String),!0),this._sources=n.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(t){return e.computeSourceURL(l,t,i)})),this.sourceRoot=l,this.sourcesContent=c,this._mappings=u,this._sourceMapURL=i,this.file=h}function a(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function l(t,i){var r=t;"string"==typeof t&&(r=e.parseSourceMapInput(t));var s=e.getArg(r,"version"),a=e.getArg(r,"sections");if(s!=this._version)throw new Error("Unsupported version: "+s);this._sources=new n,this._names=new n;var l={line:-1,column:0};this._sections=a.map((function(t){if(t.url)throw new Error("Support for url field in sections not implemented.");var n=e.getArg(t,"offset"),r=e.getArg(n,"line"),s=e.getArg(n,"column");if(r<l.line||r===l.line&&s<l.column)throw new Error("Section offsets must be ordered and non-overlapping.");return l=n,{generatedOffset:{generatedLine:r+1,generatedColumn:s+1},consumer:new o(e.getArg(t,"map"),i)}}))}return o.fromSourceMap=function(e,t){return s.fromSourceMap(e,t)},o.prototype._version=3,o.prototype.__generatedMappings=null,Object.defineProperty(o.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),o.prototype.__originalMappings=null,Object.defineProperty(o.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),o.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return";"===n||","===n},o.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},o.GENERATED_ORDER=1,o.ORIGINAL_ORDER=2,o.GREATEST_LOWER_BOUND=1,o.LEAST_UPPER_BOUND=2,o.prototype.eachMapping=function(t,n,i){var r,s=n||null;switch(i||o.GENERATED_ORDER){case o.GENERATED_ORDER:r=this._generatedMappings;break;case o.ORIGINAL_ORDER:r=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;r.map((function(t){var n=null===t.source?null:this._sources.at(t.source);return{source:n=e.computeSourceURL(a,n,this._sourceMapURL),generatedLine:t.generatedLine,generatedColumn:t.generatedColumn,originalLine:t.originalLine,originalColumn:t.originalColumn,name:null===t.name?null:this._names.at(t.name)}}),this).forEach(t,s)},o.prototype.allGeneratedPositionsFor=function(n){var i=e.getArg(n,"line"),r={source:e.getArg(n,"source"),originalLine:i,originalColumn:e.getArg(n,"column",0)};if(r.source=this._findSourceIndex(r.source),r.source<0)return[];var o=[],s=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",e.compareByOriginalPositions,t.LEAST_UPPER_BOUND);if(s>=0){var a=this._originalMappings[s];if(void 0===n.column)for(var l=a.originalLine;a&&a.originalLine===l;)o.push({line:e.getArg(a,"generatedLine",null),column:e.getArg(a,"generatedColumn",null),lastColumn:e.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++s];else for(var c=a.originalColumn;a&&a.originalLine===i&&a.originalColumn==c;)o.push({line:e.getArg(a,"generatedLine",null),column:e.getArg(a,"generatedColumn",null),lastColumn:e.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++s]}return o},sourceMapConsumer.SourceMapConsumer=o,s.prototype=Object.create(o.prototype),s.prototype.consumer=o,s.prototype._findSourceIndex=function(t){var n,i=t;if(null!=this.sourceRoot&&(i=e.relative(this.sourceRoot,i)),this._sources.has(i))return this._sources.indexOf(i);for(n=0;n<this._absoluteSources.length;++n)if(this._absoluteSources[n]==t)return n;return-1},s.fromSourceMap=function(t,i){var o=Object.create(s.prototype),l=o._names=n.fromArray(t._names.toArray(),!0),c=o._sources=n.fromArray(t._sources.toArray(),!0);o.sourceRoot=t._sourceRoot,o.sourcesContent=t._generateSourcesContent(o._sources.toArray(),o.sourceRoot),o.file=t._file,o._sourceMapURL=i,o._absoluteSources=o._sources.toArray().map((function(t){return e.computeSourceURL(o.sourceRoot,t,i)}));for(var u=t._mappings.toArray().slice(),h=o.__generatedMappings=[],d=o.__originalMappings=[],p=0,f=u.length;p<f;p++){var m=u[p],g=new a;g.generatedLine=m.generatedLine,g.generatedColumn=m.generatedColumn,m.source&&(g.source=c.indexOf(m.source),g.originalLine=m.originalLine,g.originalColumn=m.originalColumn,m.name&&(g.name=l.indexOf(m.name)),d.push(g)),h.push(g)}return r(o.__originalMappings,e.compareByOriginalPositions),o},s.prototype._version=3,Object.defineProperty(s.prototype,"sources",{get:function(){return this._absoluteSources.slice()}}),s.prototype._parseMappings=function(t,n){for(var o,s,l,c,u,h=1,d=0,p=0,f=0,m=0,g=0,v=t.length,b=0,y={},A={},S=[],x=[];b<v;)if(";"===t.charAt(b))h++,b++,d=0;else if(","===t.charAt(b))b++;else{for((o=new a).generatedLine=h,c=b;c<v&&!this._charIsMappingSeparator(t,c);c++);if(l=y[s=t.slice(b,c)])b+=s.length;else{for(l=[];b<c;)i.decode(t,b,A),u=A.value,b=A.rest,l.push(u);if(2===l.length)throw new Error("Found a source, but no line and column");if(3===l.length)throw new Error("Found a source and line, but no column");y[s]=l}o.generatedColumn=d+l[0],d=o.generatedColumn,l.length>1&&(o.source=m+l[1],m+=l[1],o.originalLine=p+l[2],p=o.originalLine,o.originalLine+=1,o.originalColumn=f+l[3],f=o.originalColumn,l.length>4&&(o.name=g+l[4],g+=l[4])),x.push(o),"number"==typeof o.originalLine&&S.push(o)}r(x,e.compareByGeneratedPositionsDeflated),this.__generatedMappings=x,r(S,e.compareByOriginalPositions),this.__originalMappings=S},s.prototype._findMapping=function(e,n,i,r,o,s){if(e[i]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[i]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return t.search(e,n,o,s)},s.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},s.prototype.originalPositionFor=function(t){var n={generatedLine:e.getArg(t,"line"),generatedColumn:e.getArg(t,"column")},i=this._findMapping(n,this._generatedMappings,"generatedLine","generatedColumn",e.compareByGeneratedPositionsDeflated,e.getArg(t,"bias",o.GREATEST_LOWER_BOUND));if(i>=0){var r=this._generatedMappings[i];if(r.generatedLine===n.generatedLine){var s=e.getArg(r,"source",null);null!==s&&(s=this._sources.at(s),s=e.computeSourceURL(this.sourceRoot,s,this._sourceMapURL));var a=e.getArg(r,"name",null);return null!==a&&(a=this._names.at(a)),{source:s,line:e.getArg(r,"originalLine",null),column:e.getArg(r,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},s.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},s.prototype.sourceContentFor=function(t,n){if(!this.sourcesContent)return null;var i=this._findSourceIndex(t);if(i>=0)return this.sourcesContent[i];var r,o=t;if(null!=this.sourceRoot&&(o=e.relative(this.sourceRoot,o)),null!=this.sourceRoot&&(r=e.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if("file"==r.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!r.path||"/"==r.path)&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(n)return null;throw new Error('"'+o+'" is not in the SourceMap.')},s.prototype.generatedPositionFor=function(t){var n=e.getArg(t,"source");if((n=this._findSourceIndex(n))<0)return{line:null,column:null,lastColumn:null};var i={source:n,originalLine:e.getArg(t,"line"),originalColumn:e.getArg(t,"column")},r=this._findMapping(i,this._originalMappings,"originalLine","originalColumn",e.compareByOriginalPositions,e.getArg(t,"bias",o.GREATEST_LOWER_BOUND));if(r>=0){var s=this._originalMappings[r];if(s.source===i.source)return{line:e.getArg(s,"generatedLine",null),column:e.getArg(s,"generatedColumn",null),lastColumn:e.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},sourceMapConsumer.BasicSourceMapConsumer=s,l.prototype=Object.create(o.prototype),l.prototype.constructor=o,l.prototype._version=3,Object.defineProperty(l.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),l.prototype.originalPositionFor=function(n){var i={generatedLine:e.getArg(n,"line"),generatedColumn:e.getArg(n,"column")},r=t.search(i,this._sections,(function(e,t){var n=e.generatedLine-t.generatedOffset.generatedLine;return n||e.generatedColumn-t.generatedOffset.generatedColumn})),o=this._sections[r];return o?o.consumer.originalPositionFor({line:i.generatedLine-(o.generatedOffset.generatedLine-1),column:i.generatedColumn-(o.generatedOffset.generatedLine===i.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:n.bias}):{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return this._sections.every((function(e){return e.consumer.hasContentsOfAllSources()}))},l.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var i=this._sections[n].consumer.sourceContentFor(e,!0);if(i)return i}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(t){for(var n=0;n<this._sections.length;n++){var i=this._sections[n];if(-1!==i.consumer._findSourceIndex(e.getArg(t,"source"))){var r=i.consumer.generatedPositionFor(t);if(r)return{line:r.line+(i.generatedOffset.generatedLine-1),column:r.column+(i.generatedOffset.generatedLine===r.line?i.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},l.prototype._parseMappings=function(t,n){this.__generatedMappings=[],this.__originalMappings=[];for(var i=0;i<this._sections.length;i++)for(var o=this._sections[i],s=o.consumer._generatedMappings,a=0;a<s.length;a++){var l=s[a],c=o.consumer._sources.at(l.source);c=e.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL),this._sources.add(c),c=this._sources.indexOf(c);var u=null;l.name&&(u=o.consumer._names.at(l.name),this._names.add(u),u=this._names.indexOf(u));var h={source:c,generatedLine:l.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:l.generatedColumn+(o.generatedOffset.generatedLine===l.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:l.originalLine,originalColumn:l.originalColumn,name:u};this.__generatedMappings.push(h),"number"==typeof h.originalLine&&this.__originalMappings.push(h)}r(this.__generatedMappings,e.compareByGeneratedPositionsDeflated),r(this.__originalMappings,e.compareByOriginalPositions)},sourceMapConsumer.IndexedSourceMapConsumer=l,sourceMapConsumer}var sourceNode={},hasRequiredSourceNode,hasRequiredSourceMap;function requireSourceNode(){if(hasRequiredSourceNode)return sourceNode;hasRequiredSourceNode=1;var e=requireSourceMapGenerator().SourceMapGenerator,t=requireUtil(),n=/(\r?\n)/,i="$$$isSourceNode$$$";function r(e,t,n,r,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==o?null:o,this[i]=!0,null!=r&&this.add(r)}return r.fromStringWithSourceMap=function(e,i,o){var s=new r,a=e.split(n),l=0,c=function(){return e()+(e()||"");function e(){return l<a.length?a[l++]:void 0}},u=1,h=0,d=null;return i.eachMapping((function(e){if(null!==d){if(!(u<e.generatedLine)){var t=(n=a[l]||"").substr(0,e.generatedColumn-h);return a[l]=n.substr(e.generatedColumn-h),h=e.generatedColumn,p(d,t),void(d=e)}p(d,c()),u++,h=0}for(;u<e.generatedLine;)s.add(c()),u++;if(h<e.generatedColumn){var n=a[l]||"";s.add(n.substr(0,e.generatedColumn)),a[l]=n.substr(e.generatedColumn),h=e.generatedColumn}d=e}),this),l<a.length&&(d&&p(d,c()),s.add(a.splice(l).join(""))),i.sources.forEach((function(e){var n=i.sourceContentFor(e);null!=n&&(null!=o&&(e=t.join(o,e)),s.setSourceContent(e,n))})),s;function p(e,n){if(null===e||void 0===e.source)s.add(n);else{var i=o?t.join(o,e.source):e.source;s.add(new r(e.originalLine,e.originalColumn,i,n,e.name))}}},r.prototype.add=function(e){if(Array.isArray(e))e.forEach((function(e){this.add(e)}),this);else{if(!e[i]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},r.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[i]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)(t=this.children[n])[i]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},r.prototype.join=function(e){var t,n,i=this.children.length;if(i>0){for(t=[],n=0;n<i-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},r.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[i]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},r.prototype.setSourceContent=function(e,n){this.sourceContents[t.toSetString(e)]=n},r.prototype.walkSourceContents=function(e){for(var n=0,r=this.children.length;n<r;n++)this.children[n][i]&&this.children[n].walkSourceContents(e);var o=Object.keys(this.sourceContents);for(n=0,r=o.length;n<r;n++)e(t.fromSetString(o[n]),this.sourceContents[o[n]])},r.prototype.toString=function(){var e="";return this.walk((function(t){e+=t})),e},r.prototype.toStringWithSourceMap=function(t){var n={code:"",line:1,column:0},i=new e(t),r=!1,o=null,s=null,a=null,l=null;return this.walk((function(e,t){n.code+=e,null!==t.source&&null!==t.line&&null!==t.column?(o===t.source&&s===t.line&&a===t.column&&l===t.name||i.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column},name:t.name}),o=t.source,s=t.line,a=t.column,l=t.name,r=!0):r&&(i.addMapping({generated:{line:n.line,column:n.column}}),o=null,r=!1);for(var c=0,u=e.length;c<u;c++)10===e.charCodeAt(c)?(n.line++,n.column=0,c+1===u?(o=null,r=!1):r&&i.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column},name:t.name})):n.column++})),this.walkSourceContents((function(e,t){i.setSourceContent(e,t)})),{code:n.code,map:i}},sourceNode.SourceNode=r,sourceNode}function requireSourceMap(){return hasRequiredSourceMap||(hasRequiredSourceMap=1,sourceMap.SourceMapGenerator=requireSourceMapGenerator().SourceMapGenerator,sourceMap.SourceMapConsumer=requireSourceMapConsumer().SourceMapConsumer,sourceMap.SourceNode=requireSourceNode().SourceNode),sourceMap}!function(e,t){t.__esModule=!0;var n=utils,i=void 0;try{var r=requireSourceMap();i=r.SourceNode}catch(err){}function o(e,t,i){if(n.isArray(e)){for(var r=[],o=0,s=e.length;o<s;o++)r.push(t.wrap(e[o],i));return r}return"boolean"==typeof e||"number"==typeof e?e+"":e}function s(e){this.srcFile=e,this.source=[]}i||((i=function(e,t,n,i){this.src="",i&&this.add(i)}).prototype={add:function(e){n.isArray(e)&&(e=e.join("")),this.src+=e},prepend:function(e){n.isArray(e)&&(e=e.join("")),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),s.prototype={isEmpty:function(){return!this.source.length},prepend:function(e,t){this.source.unshift(this.wrap(e,t))},push:function(e,t){this.source.push(this.wrap(e,t))},merge:function(){var e=this.empty();return this.each((function(t){e.add([" ",t,"\n"])})),e},each:function(e){for(var t=0,n=this.source.length;t<n;t++)e(this.source[t])},empty:function(){var e=this.currentLocation||{start:{}};return new i(e.start.line,e.start.column,this.srcFile)},wrap:function(e){var t=arguments.length<=1||void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return e instanceof i?e:(e=o(e,this,t),new i(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,n){return n=this.generateList(n),this.wrap([e,t?"."+t+"(":"(",n,")"])},quotedString:function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(e){var t=this,n=[];Object.keys(e).forEach((function(i){var r=o(e[i],t);"undefined"!==r&&n.push([t.quotedString(i),":",r])}));var i=this.generateList(n);return i.prepend("{"),i.add("}"),i},generateList:function(e){for(var t=this.empty(),n=0,i=e.length;n<i;n++)n&&t.add(","),t.add(o(e[n],this));return t},generateArray:function(e){var t=this.generateList(e);return t.prepend("["),t.add("]"),t}},t.default=s,e.exports=t.default}(codeGen,codeGenExports),function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=base$1,r=n(exceptionExports),o=utils,s=n(codeGenExports);function a(e){this.value=e}function l(){}l.prototype={nameLookup:function(e,t){return this.internalNameLookup(e,t)},depthedLookup:function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},compilerInfo:function(){var e=i.COMPILER_REVISION;return[e,i.REVISION_CHANGES[e]]},appendToBuffer:function(e,t,n){return o.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(e,t){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(t),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(e,t,n,i){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!i,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,t),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var o=e.opcodes,s=void 0,a=void 0,l=void 0,c=void 0;for(l=0,c=o.length;l<c;l++)s=o[l],this.source.currentLocation=s.loc,a=a||s.loc,this[s.opcode].apply(this,s.args);if(this.source.currentLocation=a,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new r.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),";\n"]),this.decorators.push("return fn;"),i?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge()));var u=this.createFunctionContext(i);if(this.isChild)return u;var h={compiler:this.compilerInfo(),main:u};this.decorators&&(h.main_d=this.decorators,h.useDecorators=!0);var d=this.context,p=d.programs,f=d.decorators;for(l=0,c=p.length;l<c;l++)p[l]&&(h[l]=p[l],f[l]&&(h[l+"_d"]=f[l],h.useDecorators=!0));return this.environment.usePartial&&(h.usePartial=!0),this.options.data&&(h.useData=!0),this.useDepths&&(h.useDepths=!0),this.useBlockParams&&(h.useBlockParams=!0),this.options.compat&&(h.compat=!0),i?h.compilerOptions=this.options:(h.compiler=JSON.stringify(h.compiler),this.source.currentLocation={start:{line:1,column:0}},h=this.objectLiteral(h),t.srcName?(h=h.toStringWithSourceMap({file:t.destName})).map=h.map&&h.map.toString():h=h.toString()),h},preamble:function(){this.lastContext=0,this.source=new s.default(this.options.srcName),this.decorators=new s.default(this.options.srcName)},createFunctionContext:function(e){var t=this,n="",i=this.stackVars.concat(this.registers.list);i.length>0&&(n+=", "+i.join(", "));var r=0;Object.keys(this.aliases).forEach((function(e){var i=t.aliases[e];i.children&&i.referenceCount>1&&(n+=", alias"+ ++r+"="+e,i.children[0]="alias"+r)})),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var o=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var s=this.mergeSource(n);return e?(o.push(s),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),") {\n ",s,"}"])},mergeSource:function(e){var t=this.environment.isSimple,n=!this.forceBuffer,i=void 0,r=void 0,o=void 0,s=void 0;return this.source.each((function(e){e.appendToBuffer?(o?e.prepend(" + "):o=e,s=e):(o&&(r?o.prepend("buffer += "):i=!0,s.add(";"),o=s=void 0),r=!0,t||(n=!1))})),n?o?(o.prepend("return "),s.add(";")):r||this.source.push('return "";'):(e+=", buffer = "+(i?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),s.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(i?"":";\n")),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return"\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n ".trim()},blockValue:function(e){var t=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var i=this.popStack();n.splice(1,0,i),this.push(this.source.functionCall(t,"call",n))},ambiguousBlockValue:function(){var e=this.aliasable("container.hooks.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var n=this.topStack();t.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(e,"call",t),"}"])},appendContent:function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},append:function(){if(this.isInline())this.replaceStack((function(e){return[" != null ? ",e,' : ""']})),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(e){this.lastContext=e},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(e,t,n,i){var r=0;i||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[r++])),this.resolvePath("context",e,r,t,n)},lookupBlockParam:function(e,t){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",t,1)},lookupData:function(e,t,n){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",t,0,!0,n)},resolvePath:function(e,t,n,i,r){var o=this;if(this.options.strict||this.options.assumeObjects)this.push(function(e,t,n,i,r){var o=t.popStack(),s=n.length;e&&s--;for(;i<s;i++)o=t.nameLookup(o,n[i],r);return e?[t.aliasable("container.strict"),"(",o,", ",t.quotedString(n[i]),", ",JSON.stringify(t.source.currentLocation)," )"]:o}(this.options.strict&&r,this,t,n,e));else for(var s=t.length;n<s;n++)this.replaceStack((function(r){var s=o.nameLookup(r,t[n],e);return i?[" && ",s]:[" != null ? ",s," : ",r]}))},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(e,t){this.pushContext(),this.pushString(t),"SubExpression"!==t&&("string"==typeof e?this.pushString(e):this.pushStackLiteral(e))},emptyHash:function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},pushString:function(e){this.pushStackLiteral(this.quotedString(e))},pushLiteral:function(e){this.pushStackLiteral(e)},pushProgram:function(e){null!=e?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},registerDecorator:function(e,t){var n=this.nameLookup("decorators",t,"decorator"),i=this.setupHelperArgs(t,e);this.decorators.push(["fn = ",this.decorators.functionCall(n,"",["fn","props","container",i])," || fn;"])},invokeHelper:function(e,t,n){var i=this.popStack(),r=this.setupHelper(e,t),o=[];n&&o.push(r.name),o.push(i),this.options.strict||o.push(this.aliasable("container.hooks.helperMissing"));var s=["(",this.itemsSeparatedBy(o,"||"),")"],a=this.source.functionCall(s,"call",r.callParams);this.push(a)},itemsSeparatedBy:function(e,t){var n=[];n.push(e[0]);for(var i=1;i<e.length;i++)n.push(t,e[i]);return n},invokeKnownHelper:function(e,t){var n=this.setupHelper(e,t);this.push(this.source.functionCall(n.name,"call",n.callParams))},invokeAmbiguous:function(e,t){this.useRegister("helper");var n=this.popStack();this.emptyHash();var i=this.setupHelper(0,e,t),r=["(","(helper = ",this.lastHelper=this.nameLookup("helpers",e,"helper")," || ",n,")"];this.options.strict||(r[0]="(helper = ",r.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",r,i.paramsInit?["),(",i.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",i.callParams)," : helper))"])},invokePartial:function(e,t,n){var i=[],r=this.setupParams(t,1,i);e&&(t=this.popStack(),delete r.name),n&&(r.indent=JSON.stringify(n)),r.helpers="helpers",r.partials="partials",r.decorators="container.decorators",e?i.unshift(t):i.unshift(this.nameLookup("partials",t,"partial")),this.options.compat&&(r.depths="depths"),r=this.objectLiteral(r),i.push(r),this.push(this.source.functionCall("container.invokePartial","",i))},assignToHash:function(e){var t=this.popStack(),n=void 0,i=void 0,r=void 0;this.trackIds&&(r=this.popStack()),this.stringParams&&(i=this.popStack(),n=this.popStack());var o=this.hash;n&&(o.contexts[e]=n),i&&(o.types[e]=i),r&&(o.ids[e]=r),o.values[e]=t},pushId:function(e,t,n){"BlockParam"===e?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(n?" + "+JSON.stringify("."+n):"")):"PathExpression"===e?this.pushString(t):"SubExpression"===e?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:l,compileChildren:function(e,t){for(var n=e.children,i=void 0,r=void 0,o=0,s=n.length;o<s;o++){i=n[o],r=new this.compiler;var a=this.matchExistingProgram(i);if(null==a){this.context.programs.push("");var l=this.context.programs.length;i.index=l,i.name="program"+l,this.context.programs[l]=r.compile(i,t,this.context,!this.precompile),this.context.decorators[l]=r.decorators,this.context.environments[l]=i,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams,i.useDepths=this.useDepths,i.useBlockParams=this.useBlockParams}else i.index=a.index,i.name="program"+a.index,this.useDepths=this.useDepths||a.useDepths,this.useBlockParams=this.useBlockParams||a.useBlockParams}},matchExistingProgram:function(e){for(var t=0,n=this.context.environments.length;t<n;t++){var i=this.context.environments[t];if(i&&i.equals(e))return i}},programExpression:function(e){var t=this.environment.children[e],n=[t.index,"data",t.blockParams];return(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths"),"container.program("+n.join(", ")+")"},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof a||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new a(e))},pushSource:function(e){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),e&&this.source.push(e)},replaceStack:function(e){var t=["("],n=void 0,i=void 0,o=void 0;if(!this.isInline())throw new r.default("replaceStack on non-inline");var s=this.popStack(!0);if(s instanceof a)t=["(",n=[s.value]],o=!0;else{i=!0;var l=this.incrStack();t=["((",this.push(l)," = ",s,")"],n=this.topStack()}var c=e.call(this,n);o||this.popStack(),i&&this.stackSlot--,this.push(t.concat(c,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var e=this.inlineStack;this.inlineStack=[];for(var t=0,n=e.length;t<n;t++){var i=e[t];if(i instanceof a)this.compileStack.push(i);else{var r=this.incrStack();this.pushSource([r," = ",i,";"]),this.compileStack.push(r)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),n=(t?this.inlineStack:this.compileStack).pop();if(!e&&n instanceof a)return n.value;if(!t){if(!this.stackSlot)throw new r.default("Invalid stack pop");this.stackSlot--}return n},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof a?t.value:t},contextName:function(e){return this.useDepths&&e?"depths["+e+"]":"depth"+e},quotedString:function(e){return this.source.quotedString(e)},objectLiteral:function(e){return this.source.objectLiteral(e)},aliasable:function(e){var t=this.aliases[e];return t?(t.referenceCount++,t):((t=this.aliases[e]=this.source.wrap(e)).aliasable=!0,t.referenceCount=1,t)},setupHelper:function(e,t,n){var i=[];return{params:i,paramsInit:this.setupHelperArgs(t,e,i,n),name:this.nameLookup("helpers",t,"helper"),callParams:[this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : (container.nullContext || {})")].concat(i)}},setupParams:function(e,t,n){var i={},r=[],o=[],s=[],a=!n,l=void 0;a&&(n=[]),i.name=this.quotedString(e),i.hash=this.popStack(),this.trackIds&&(i.hashIds=this.popStack()),this.stringParams&&(i.hashTypes=this.popStack(),i.hashContexts=this.popStack());var c=this.popStack(),u=this.popStack();(u||c)&&(i.fn=u||"container.noop",i.inverse=c||"container.noop");for(var h=t;h--;)l=this.popStack(),n[h]=l,this.trackIds&&(s[h]=this.popStack()),this.stringParams&&(o[h]=this.popStack(),r[h]=this.popStack());return a&&(i.args=this.source.generateArray(n)),this.trackIds&&(i.ids=this.source.generateArray(s)),this.stringParams&&(i.types=this.source.generateArray(o),i.contexts=this.source.generateArray(r)),this.options.data&&(i.data="data"),this.useBlockParams&&(i.blockParams="blockParams"),i},setupHelperArgs:function(e,t,n,i){var r=this.setupParams(e,t,n);return r.loc=JSON.stringify(this.source.currentLocation),r=this.objectLiteral(r),i?(this.useRegister("options"),n.push("options"),["options=",r]):n?(n.push(r),""):r}},function(){for(var e="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),t=l.RESERVED_WORDS={},n=0,i=e.length;n<i;n++)t[e[n]]=!0}(),l.isValidJavaScriptVariableName=function(e){return!l.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)},t.default=l,e.exports=t.default}(javascriptCompiler,javascriptCompilerExports),function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(handlebars_runtimeExports),r=n(astExports),o=base,s=compiler,a=n(javascriptCompilerExports),l=n(visitorExports),c=n(noConflictExports),u=i.default.create;function h(){var e=u();return e.compile=function(t,n){return s.compile(t,n,e)},e.precompile=function(t,n){return s.precompile(t,n,e)},e.AST=r.default,e.Compiler=s.Compiler,e.JavaScriptCompiler=a.default,e.Parser=o.parser,e.parse=o.parse,e.parseWithoutProcessing=o.parseWithoutProcessing,e}var d=h();d.create=h,c.default(d),d.Visitor=l.default,d.default=d,t.default=d,e.exports=t.default}(handlebars,handlebarsExports);var libExports$2={},lib$2={get exports(){return libExports$2},set exports(e){libExports$2=e}},libExports$1={},lib$1={get exports(){return libExports$1},set exports(e){libExports$1=e}};function b64ToUint6(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:43===e?62:47===e?63:0}function decode(e,t){for(var n,i,r=e.replace(/[^A-Za-z0-9\+\/]/g,""),o=r.length,s=t?Math.ceil((3*o+1>>2)/t)*t:3*o+1>>2,a=new Uint8Array(s),l=0,c=0,u=0;u<o;u++)if(i=3&u,l|=b64ToUint6(r.charCodeAt(u))<<18-6*i,3===i||o-u==1){for(n=0;n<3&&c<s;n++,c++)a[c]=l>>>(16>>>n&24)&255;l=0}return a}var base64={decode:decode},fetch$1=function(e,t){return new Promise((function(n,i){var r=new XMLHttpRequest;t&&(r.responseType=t),r.open("GET",e),r.onload=function(){200===r.status?n(r.response):i(Error(r.statusText))},r.onerror=function(){i(Error("Network Error"))},r.send()}))};!function(e){var t=base64,n=fetch$1;function i(e){return function(t){return"string"==typeof t&&e.test(t)}}function r(e,t){return"string"==typeof e?e+t:"function"==typeof e?e(t):t}function o(e,t,n,i){var r=t instanceof ArrayBuffer?s:a(t)?l:function(e){return e&&"function"==typeof e.then}(t)?c:u(t)?h:function(e){return e&&"object"==typeof e}(t)?d:p(t)?f:m(t)?g:v(t)?b:null;return r?r(e,t,n||{}):i?Promise.resolve(i):Promise.reject("Source not valid ("+t+")")}function s(e,t,n){return new Promise((function(n,i){e.decodeAudioData(t,(function(e){n(e)}),(function(){i("Can't decode audio data ("+t.slice(0,30)+"...)")}))}))}o.fetch=n;var a=i(/\.(mp3|wav|ogg)(\?.*)?$/i);function l(e,t,n){var i=r(n.from,t);return o(e,o.fetch(i,"arraybuffer"),n)}function c(e,t,n){return t.then((function(t){return o(e,t,n)}))}var u=Array.isArray;function h(e,t,n){return Promise.all(t.map((function(t){return o(e,t,n,t)})))}function d(e,t,n){var i={},r=Object.keys(t).map((function(r){if(n.only&&-1===n.only.indexOf(r))return null;var s=t[r];return o(e,s,n,s).then((function(e){i[r]=e}))}));return Promise.all(r).then((function(){return i}))}var p=i(/\.json(\?.*)?$/i);function f(e,t,n){var i=r(n.from,t);return o(e,o.fetch(i,"text").then(JSON.parse),n)}var m=i(/^data:audio/);function g(e,n,i){var r=n.indexOf(",");return o(e,t.decode(n.slice(r+1)).buffer,i)}var v=i(/\.js(\?.*)?$/i);function b(e,t,n){var i=r(n.from,t);return o(e,o.fetch(i,"text").then(y),n)}function y(e){var t=e.indexOf("MIDI.Soundfont.");if(t<0)throw Error("Invalid MIDI.js Soundfont format");t=e.indexOf("=",t)+2;var n=e.lastIndexOf(",");return JSON.parse(e.slice(t,n)+"}")}e.exports&&(e.exports=o),"undefined"!=typeof window&&(window.loadAudio=o)}(lib$1);var libExports={},lib={get exports(){return libExports},set exports(e){libExports=e}},adsr=ADSR$1;function ADSR$1(e){var t=e.createGain(),n=t._voltage=getVoltage(e),i=scale(n),r=scale(n),o=scale(n);return t._startAmount=scale(r),t._endAmount=scale(o),t._multiplier=scale(i),t._multiplier.connect(t),t._startAmount.connect(t),t._endAmount.connect(t),t.value=i.gain,t.startValue=r.gain,t.endValue=o.gain,t.startValue.value=0,t.endValue.value=0,Object.defineProperties(t,props),t}var props={attack:{value:0,writable:!0},decay:{value:0,writable:!0},sustain:{value:1,writable:!0},release:{value:0,writable:!0},getReleaseDuration:{value:function(){return this.release}},start:{value:function(e){var t=this._multiplier.gain,n=this._startAmount.gain,i=this._endAmount.gain;this._voltage.start(e),this._decayFrom=this._decayFrom=e+this.attack,this._startedAt=e;var r=this.sustain;t.cancelScheduledValues(e),n.cancelScheduledValues(e),i.cancelScheduledValues(e),i.setValueAtTime(0,e),this.attack?(t.setValueAtTime(0,e),t.linearRampToValueAtTime(1,e+this.attack),n.setValueAtTime(1,e),n.linearRampToValueAtTime(0,e+this.attack)):(t.setValueAtTime(1,e),n.setValueAtTime(0,e)),this.decay&&t.setTargetAtTime(r,this._decayFrom,getTimeConstant(this.decay))}},stop:{value:function(e,t){t&&(e-=this.release);var n=e+this.release;if(this.release){var i=this._multiplier.gain,r=this._startAmount.gain,o=this._endAmount.gain;i.cancelScheduledValues(e),r.cancelScheduledValues(e),o.cancelScheduledValues(e);var s=getTimeConstant(this.release);if(this.attack&&e<this._decayFrom){var a=getValue(0,1,this._startedAt,this._decayFrom,e);i.linearRampToValueAtTime(a,e),r.linearRampToValueAtTime(1-a,e),r.setTargetAtTime(0,e,s)}o.setTargetAtTime(1,e,s),i.setTargetAtTime(0,e,s)}return this._voltage.stop(n),n}},onended:{get:function(){return this._voltage.onended},set:function(e){this._voltage.onended=e}}},flat=new Float32Array([1,1]);function getVoltage(e){var t=e.createBufferSource(),n=e.createBuffer(1,2,e.sampleRate);return n.getChannelData(0).set(flat),t.buffer=n,t.loop=!0,t}function scale(e){var t=e.context.createGain();return e.connect(t),t}function getTimeConstant(e){return Math.log(e+1)/Math.log(100)}function getValue(e,t,n,i,r){var o=e+(r-n)/(i-n)*(t-e);return o<=e&&(o=e),o>=t&&(o=t),o}var ADSR=adsr,EMPTY={},DEFAULTS={gain:1,attack:.01,decay:.1,sustain:.9,release:.3,loop:!1,cents:0,loopStart:0,loopEnd:0};function SamplePlayer(e,t,n){var i=!1,r=0,o={},s=e.createGain();s.gain.value=1;var a=Object.assign({},DEFAULTS,n),l={context:e,out:s,opts:a};return t instanceof AudioBuffer?l.buffer=t:l.buffers=t,l.start=function(t,n,s){if(l.buffer&&null!==t)return l.start(null,t,n);var a=t?l.buffers[t]:l.buffer;if(a){if(i){var u=s||EMPTY;n=Math.max(e.currentTime,n||0),l.emit("start",n,t,u);var h=c(t,a,u);return h.id=function(t,n){return n.id=r++,o[n.id]=n,n.startTime=e.currentTime,n.source.onended=function(){var t=e.currentTime;n.source.disconnect(),n.env.disconnect(),n.disconnect(),l.emit("ended",t,n.id,n)},n.id}(0,h),h.env.start(n),h.source.start(n),l.emit("started",n,h.id,h),u.duration&&h.stop(n+u.duration),h}console.warn("SamplePlayer not connected to any node.")}else console.warn("Buffer "+t+" not found.")},l.play=function(e,t,n){return l.start(e,t,n)},l.stop=function(e,t){var n;return(t=t||Object.keys(o)).map((function(t){return(n=o[t])?(n.stop(e),n.id):null}))},l.connect=function(e){return i=!0,s.connect(e),l},l.emit=function(e,t,n,i){l.onevent&&l.onevent(e,t,n,i);var r=l["on"+e];r&&r.forEach((e=>{e(t,n,i)}))},l;function c(t,n,i){var r=e.createGain();return r.gain.value=0,r.connect(s),r.env=envelope(e,i,a),r.env.connect(r.gain),r.source=e.createBufferSource(),r.source.buffer=n,r.source.connect(r),r.source.loop=i.loop||a.loop,r.source.playbackRate.value=centsToRate(i.cents||a.cents),r.source.loopStart=i.loopStart||a.loopStart,r.source.loopEnd=i.loopEnd||a.loopEnd,r.stop=function(n){var i=n||e.currentTime;l.emit("stop",i,t);var o=r.env.stop(i);r.source.stop(o)},r}}function isNum$1(e){return"number"==typeof e}var PARAMS=["attack","decay","sustain","release"];function envelope(e,t,n){var i=ADSR(e),r=t.adsr||n.adsr;return PARAMS.forEach((function(e,o){i[e]=r?r[o]:t[e]||n[e]})),i.value.value=isNum$1(t.gain)?t.gain:isNum$1(n.gain)?n.gain:1,i}function centsToRate(e){return e?Math.pow(2,e/1200):1}var player=SamplePlayer,events=function(e){return e.on=function(t,n){if(1===arguments.length&&"function"==typeof t)return e.on("event",t);var i="on"+t;return e[i]?e[i].push(n):e[i]=[n],e},e},REGEX$1=/^([a-gA-G])(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)\s*$/;function regex$1(){return REGEX$1}var SEMITONES$1=[0,2,4,5,7,9,11];function parse$1(e,t,n){if("string"!=typeof e)return null;var i=REGEX$1.exec(e);if(!i||!t&&i[4])return null;var r={letter:i[1].toUpperCase(),acc:i[2].replace(/x/g,"##")};return r.pc=r.letter+r.acc,r.step=(r.letter.charCodeAt(0)+3)%7,r.alt="b"===r.acc[0]?-r.acc.length:r.acc.length,r.chroma=SEMITONES$1[r.step]+r.alt,i[3]&&(r.oct=+i[3],r.midi=r.chroma+12*(r.oct+1),r.freq=midiToFreq$1(r.midi,n)),t&&(r.tonicOf=i[4]),r}function midiToFreq$1(e,t){return Math.pow(2,(e-69)/12)*(t||440)}var parser={parse:parse$1,regex:regex$1,midiToFreq:midiToFreq$1},FNS=["letter","acc","pc","step","alt","chroma","oct","midi","freq"];FNS.forEach((function(e){parser[e]=function(t){var n=parse$1(t);return n&&void 0!==n[e]?n[e]:null}}));var noteParser$1=parser,note$1=noteParser$1,isMidi=function(e){return null!==e&&e!==[]&&e>=0&&e<129},toMidi=function(e){return isMidi(e)?+e:note$1.midi(e)},notes=function(e){if(e.buffers){var t=e.opts.map,n="function"==typeof t?t:toMidi,i=function(e){return e?n(e)||e:null};e.buffers=mapBuffers(e.buffers,i);var r=e.start;e.start=function(e,t,n){var o=i(e),s=o%1;return s&&(o=Math.floor(o),n=Object.assign(n||{},{cents:Math.floor(100*s)})),r(o,t,n)}}return e};function mapBuffers(e,t){return Object.keys(e).reduce((function(n,i){return n[t(i)]=e[i],n}),{})}var isArr=Array.isArray,isObj=function(e){return e&&"object"==typeof e},OPTS={},scheduler=function(e){return e.schedule=function(t,n){var i,r,o,s,a=e.context.currentTime,l=t<a?a:t;return e.emit("schedule",l,n),n.map((function(t){return t?(isArr(t)?(i=t[0],r=t[1]):(i=t.time,r=t),isObj(r)?(o=r.name||r.key||r.note||r.midi||null,s=r):(o=r,s=OPTS),e.start(o,l+(i||0),s)):null}))},e},index_minExports={},index_min={get exports(){return index_minExports},set exports(e){index_minExports=e}};!function(e,t){e.exports=function e(t,n,i){function r(s,a){if(!n[s]){if(!t[s]){var l="function"==typeof commonjsRequire&&commonjsRequire;if(!a&&l)return l(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[s]={exports:{}};t[s][0].call(u.exports,(function(e){var n=t[s][1][e];return r(n||e)}),u,u.exports,e,t,n,i)}return n[s].exports}for(var o="function"==typeof commonjsRequire&&commonjsRequire,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){function t(e){if(this._event=e,this._data=e.data,this.receivedTime=e.receivedTime,this._data&&this._data.length<2)console.warn("Illegal MIDI message of length",this._data.length);else switch(this._messageCode=240&e.data[0],this.channel=15&e.data[0],this._messageCode){case 128:this.messageType="noteoff",this.key=127&e.data[1],this.velocity=127&e.data[2];break;case 144:this.messageType="noteon",this.key=127&e.data[1],this.velocity=127&e.data[2];break;case 160:this.messageType="keypressure",this.key=127&e.data[1],this.pressure=127&e.data[2];break;case 176:this.messageType="controlchange",this.controllerNumber=127&e.data[1],this.controllerValue=127&e.data[2],120===this.controllerNumber&&0===this.controllerValue?this.channelModeMessage="allsoundoff":121===this.controllerNumber?this.channelModeMessage="resetallcontrollers":122===this.controllerNumber?0===this.controllerValue?this.channelModeMessage="localcontroloff":this.channelModeMessage="localcontrolon":123===this.controllerNumber&&0===this.controllerValue?this.channelModeMessage="allnotesoff":124===this.controllerNumber&&0===this.controllerValue?this.channelModeMessage="omnimodeoff":125===this.controllerNumber&&0===this.controllerValue?this.channelModeMessage="omnimodeon":126===this.controllerNumber?this.channelModeMessage="monomodeon":127===this.controllerNumber&&(this.channelModeMessage="polymodeon");break;case 192:this.messageType="programchange",this.program=e.data[1];break;case 208:this.messageType="channelpressure",this.pressure=127&e.data[1];break;case 224:this.messageType="pitchbendchange";var t=127&e.data[2],n=127&e.data[1];this.pitchBend=(t<<8)+n}}return new t(e)},t.exports=n.default},{}]},{},[1])(1)}(index_min);var midimessage=index_minExports,midi$1=function(e){return e.listenToMidi=function(t,n){var i={},r=n||{},o=r.gain||function(e){return e/127};return t.onmidimessage=function(t){var n=t.messageType?t:midimessage(t);if("noteon"===n.messageType&&0===n.velocity&&(n.messageType="noteoff"),!r.channel||n.channel===r.channel)switch(n.messageType){case"noteon":i[n.key]=e.play(n.key,0,{gain:o(n.velocity)});break;case"noteoff":i[n.key]&&(i[n.key].stop(),delete i[n.key])}},e},e};function fillStr(e,t){return Array(t+1).join(e)}function isNum(e){return"number"==typeof e}function isStr(e){return"string"==typeof e}function isDef(e){return void 0!==e}function midiToFreq(e,t){return Math.pow(2,(e-69)/12)*(t||440)}!function(e){var t=player,n=events,i=notes,r=scheduler,o=midi$1;function s(e,s,a){return o(r(i(n(t(e,s,a)))))}e.exports&&(e.exports=s),"undefined"!=typeof window&&(window.SamplePlayer=s)}(lib);var REGEX=/^([a-gA-G])(#{1,}|b{1,}|x{1,}|)(-?\d*)\s*(.*)\s*$/;function regex(){return REGEX}var SEMITONES=[0,2,4,5,7,9,11];function parse(e,t,n){if("string"!=typeof e)return null;var i=REGEX.exec(e);if(!i||!t&&i[4])return null;var r={letter:i[1].toUpperCase(),acc:i[2].replace(/x/g,"##")};r.pc=r.letter+r.acc,r.step=(r.letter.charCodeAt(0)+3)%7,r.alt="b"===r.acc[0]?-r.acc.length:r.acc.length;var o=SEMITONES[r.step]+r.alt;return r.chroma=o<0?12+o:o%12,i[3]&&(r.oct=+i[3],r.midi=o+12*(r.oct+1),r.freq=midiToFreq(r.midi,n)),t&&(r.tonicOf=i[4]),r}var LETTERS="CDEFGAB";function accStr(e){return isNum(e)?e<0?fillStr("b",-e):fillStr("#",e):""}function octStr(e){return isNum(e)?""+e:""}function build(e,t,n){return null==e?null:e.step?build(e.step,e.alt,e.oct):e<0||e>6?null:LETTERS.charAt(e)+accStr(t)+octStr(n)}function midi(e){if((isNum(e)||isStr(e))&&e>=0&&e<128)return+e;var t=parse(e);return t&&isDef(t.midi)?t.midi:null}function freq(e,t){var n=midi(e);return null===n?null:midiToFreq(n,t)}function letter(e){return(parse(e)||{}).letter}function acc(e){return(parse(e)||{}).acc}function pc(e){return(parse(e)||{}).pc}function step(e){return(parse(e)||{}).step}function alt(e){return(parse(e)||{}).alt}function chroma(e){return(parse(e)||{}).chroma}function oct(e){return(parse(e)||{}).oct}const noteParser=Object.freeze(Object.defineProperty({__proto__:null,acc:acc,alt:alt,build:build,chroma:chroma,freq:freq,letter:letter,midi:midi,oct:oct,parse:parse,pc:pc,regex:regex,step:step},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(noteParser);var legacy,hasRequiredLegacy;function requireLegacy(){if(hasRequiredLegacy)return legacy;hasRequiredLegacy=1;var e=require$$0;function t(e,n){if(console.warn("new Soundfont() is deprected"),console.log("Please use Soundfont.instrument() instead of new Soundfont().instrument()"),!(this instanceof t))return new t(e);this.nameToUrl=n||t.nameToUrl,this.ctx=e,this.instruments={},this.promises=[]}function n(t,n){return n=n||{},function(i,r,o,s){console.warn("The oscillator player is deprecated."),console.log("Starting with version 0.9.0 you will have to wait until the soundfont is loaded to play sounds.");var a=i>0&&i<129?+i:e.midi(i),l=a?e.midiToFreq(a,440):null;if(l){o=o||.2;var c=(s=s||{}).destination||n.destination||t.destination,u=s.vcoType||n.vcoType||"sine",h=s.gain||n.gain||.4,d=t.createOscillator();d.type=u,d.frequency.value=l;var p=t.createGain();return p.gain.value=h,d.connect(p),p.connect(c),d.start(r),o>0&&d.stop(r+o),d}}}return t.prototype.onready=function(e){console.warn("deprecated API"),console.log("Please use Promise.all(Soundfont.instrument(), Soundfont.instrument()).then() instead of new Soundfont().onready()"),Promise.all(this.promises).then(e)},t.prototype.instrument=function(e,i){console.warn("new Soundfont().instrument() is deprecated."),console.log("Please use Soundfont.instrument() instead.");var r=this.ctx;if((e=e||"default")in this.instruments)return this.instruments[e];var o={name:e,play:n(r,i)};if(this.instruments[e]=o,"default"!==e){var s=t.instrument(r,e,i).then((function(e){return o.play=e.play,o}));this.promises.push(s),o.onready=function(e){console.warn("onready is deprecated. Use Soundfont.instrument().then()"),s.then(e)}}else o.onready=function(e){console.warn("onready is deprecated. Use Soundfont.instrument().then()"),e()};return o},t.loadBuffers=function(e,n,i){return console.warn("Soundfont.loadBuffers is deprecate."),console.log("Use Soundfont.instrument(..) and get buffers properties from the result."),t.instrument(e,n,i).then((function(e){return e.buffers}))},t.noteToMidi=e.midi,legacy=t}!function(e){var t=libExports$1,n=libExports;function i(e){return/\.js(\?.*)?$/i.test(e)}function r(e,t,n){return"https://gleitz.github.io/midi-js-soundfonts/"+(t="FluidR3_GM"===t?t:"MusyngKite")+"/"+e+"-"+(n="ogg"===n?n:"mp3")+".js"}var o=requireLegacy();o.instrument=function e(o,s,a){if(1===arguments.length)return function(t,n){return e(o,t,n)};var l=a||{},c=l.isSoundfontURL||i,u=l.nameToUrl||r,h=c(s)?s:u(s,l.soundfont,l.format);return t(o,h,{only:l.only||l.notes}).then((function(e){var t=n(o,e,l).connect(l.destination?l.destination:o.destination);return t.url=h,t.name=s,t}))},o.nameToUrl=r,e.exports&&(e.exports=o),"undefined"!=typeof window&&(window.Soundfont=o)}(lib$2),NoteEnum.C,NoteEnum.D,NoteEnum.E,NoteEnum.F,NoteEnum.G,NoteEnum.A,NoteEnum.B;const speedInfo={"rall.":1.333333333,"poco rit.":1.333333333,"rit.":1.333333333,"molto rit.":1.333333333,"molto rall":1.333333333,molto:1.333333333,lentando:1.333333333,allargando:1.333333333,morendo:1.333333333,"accel.":.8,calando:2,"poco accel.":.8,"gradually slowing":1.333333333,slowing:1.333333333,slow:1.333333333,slowly:1.333333333,faster:1.333333333},getNextNote=(e,t)=>{let n=0;const i=e.closest(t);let r=i;const o=null==i?void 0:i.closest("measure");let s=null;for(;!s&&n<((null==o?void 0:o.childNodes.length)||50);){var a,l,c,u;if(n++,"note"===(null===(a=r)||void 0===a||null===(l=a.nextElementSibling)||void 0===l?void 0:l.tagName))s=null===(u=r)||void 0===u?void 0:u.nextElementSibling;r=null===(c=r)||void 0===c?void 0:c.nextElementSibling}return s},getGradualLengthByXml=e=>{const t=(new DOMParser).parseFromString(e,"text/xml"),n=Array.from(t.querySelectorAll("measure")),i=Array.from(t.querySelectorAll("note")),r=Array.from(t.querySelectorAll("words")),o=Array.from(t.querySelectorAll("metronome")),s=[];for(const p of[...r,...o]){const e=getNextNote(p,"direction");if(e){const t=null==e?void 0:e.closest("measure"),r=Array.from(t.querySelectorAll("note")),o=Array.from(t.childNodes).filter((e=>"note"===e.nodeName)).findIndex((t=>t===e));let l=0,c=0;for(let e=0;e<r.length;e++){var a;l+=+((null===(a=r[e].querySelector("duration"))||void 0===a?void 0:a.textContent)||"0"),e<o&&(c=l)}s.push({ele:p,index:i.indexOf(e),noteInMeasureIndex:o,textContent:p.textContent,measureIndex:n.indexOf(t),type:p.tagName,allDuration:l,leftDuration:c})}}s.push({ele:i[i.length-1],index:i.length,noteInMeasureIndex:0,textContent:"",type:"metronome",allDuration:1,leftDuration:1,measureIndex:n.length});const l=[];s.sort(((e,t)=>e.index-t.index));const c=Object.keys(speedInfo).map((e=>e.toLocaleLowerCase()));for(const p of s){var u;let e=!1,t=0;const n=null===(u=p.textContent)||void 0===u?void 0:u.toLocaleLowerCase().trim();var h;if(p===s[s.length-1])1===(null===(h=l[l.length-1])||void 0===h?void 0:h.length)&&(e=!0);const i=c.find((e=>{const t=e.split(" ");return n&&t.includes(n)}));if("metronome"===p.type||"words"===p.type&&(n.startsWith("a tempo")||i)||e){var d;const e=l.findIndex((e=>1===e.length));e>-1&&p.index>(null===(d=l[e])||void 0===d?void 0:d[0].start)&&(t=-1,l[e][1]={start:p.index,measureIndex:p.measureIndex,closedMeasureIndex:p.measureIndex,noteInMeasureIndex:p.noteInMeasureIndex,allDuration:p.allDuration,leftDuration:p.leftDuration,type:n})}"words"===p.type&&i&&l.push([{start:p.index,measureIndex:p.measureIndex,closedMeasureIndex:p.measureIndex+t,noteInMeasureIndex:p.noteInMeasureIndex,allDuration:p.allDuration,leftDuration:p.leftDuration,type:n}])}return l},browserInfo=browser();dayjs.extend(duration);const getFixTime=e=>{const t=getDuration(state$1.osmd);let n=t.numerator||0,i=t.denominator||4;const r=t.beatUnit||"quarter";return state$1.repeatedBeats&&(n*=2),state$1.isOpenMetronome?60/e*formatBeatUnit(r)*(n/i):0},retain=e=>Math.ceil(1e6*e)/1e6,formatLyricsEntries=e=>{var t;const n=(null===(t=e.parentStaffEntry)||void 0===t?void 0:t.voiceEntries)||[],i=[];for(const o of n){var r;if(null!==(r=o.lyricsEntries)&&void 0!==r&&r.table){const e=Object.values(o.lyricsEntries.table);for(const t of e)i.push(null==t?void 0:t.value.text)}}return i},createSpeedInfo=(e,t)=>{var n;if(e&&speedInfo[null===(n=e.startWord)||void 0===n?void 0:n.toLocaleLowerCase()]){var i;const n=Math.max(e.endXmlNoteIndex,3),r=[],o=t,s=t/speedInfo[null===(i=e.startWord)||void 0===i?void 0:i.toLocaleLowerCase()];for(let e=0;e<n;e++){const t=o+(s-o)/n*(e+1);r.push(t)}return r}},tranTime=(e="")=>{let t=e;const n=e.split(":");return 1===n.length?t=`00:${n[0]}:00`:2===n.length&&(t=`00:${n[0]}:${n[1]}`),`1970-01-01 00:${t}0`},getDuration=e=>{if(e){var t;const{Duration:n,TempoInBPM:i,ActiveTimeSignature:r,TempoExpressions:o}=null===(t=e.GraphicSheet.MeasureList[0][0])||void 0===t?void 0:t.parentSourceMeasure;if(n){let e="quarter";for(const t of o)e=t.InstantaneousTempo.beatUnit||"quarter";return{...formatDuration(r),TempoInBPM:i,beatUnit:e}}}return{...new Fraction$1,TempoInBPM:90,beatUnit:"quarter"}};function formatDuration(e,t){return e}function formatBeatUnit(e){let t=4;switch(e){case"1024th":t=1024;break;case"512th":t=512;break;case"256th":t=256;break;case"128th":t=128;break;case"64th":t=64;break;case"32nd":t=32;break;case"16th":t=16;break;case"eighth":t=8;break;case"quarter":t=4;break;case"half":t=2;break;case"whole":t=1;break;case"breve":t=.5;break;case"long":t=.25;break;case"maxima":t=.125}return t}function getTimeByBeatUnit(e,t,n){return n/formatBeatUnit(e)*t}const setElementNoteBefore=(e,t,n)=>{let i=0;if(t){for(let n=0;n<t.childNodes.length;n++){const r=t.childNodes[n];if("note"===r.nodeName&&i++,r===e)break}if(0===i&&n)n.insertBefore(e,n.childNodes[0]);else if(n&&n.childNodes.length>0){let t=0;const r=Array.from(n.childNodes).filter((e=>"note"===e.nodeName)),o=r[r.length-1];if(i>=r.length&&o)return void n.insertBefore(e,n.childNodes[Array.from(n.childNodes).indexOf(o)]);for(let s=0;s<r.length;s++){const o=r[s];if("note"===o.nodeName&&(t+=1,t===i)){n.insertBefore(e,o);break}}}}},isRepeatWord=e=>{if(e){const t=e.toLocaleLowerCase(),n="d\\s?\\.s\\.",i="d\\.\\s?c\\.";return"@"===t||StringUtil.StringContainsSeparatedWord(t,n+" al fine",!0)||StringUtil.StringContainsSeparatedWord(t,n+" al coda",!0)||StringUtil.StringContainsSeparatedWord(t,i+" al fine",!0)||StringUtil.StringContainsSeparatedWord(t,i+" al coda",!0)||StringUtil.StringContainsSeparatedWord(t,i)||StringUtil.StringContainsSeparatedWord(t,"da\\s?capo",!0)||StringUtil.StringContainsSeparatedWord(t,n,!0)||StringUtil.StringContainsSeparatedWord(t,"dal\\s?segno",!0)||StringUtil.StringContainsSeparatedWord(t,"al\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(t,"to\\s?coda",!0)||StringUtil.StringContainsSeparatedWord(t,"a (la )?coda",!0)||StringUtil.StringContainsSeparatedWord(t,"fine",!0)||StringUtil.StringContainsSeparatedWord(t,"coda",!0)||StringUtil.StringContainsSeparatedWord(t,"segno",!0)}return!1},onlyVisible=(e,t)=>{var n,i,r,o,s,a,l,c,u;if(!e)return"";const h=state$1.examSongId+"",d=(new DOMParser).parseFromString(e,"text/xml"),p=(null===(n=d.getElementsByTagName("part-list"))||void 0===n||null===(i=n[0])||void 0===i?void 0:i.getElementsByTagName("score-part"))||[],f=Array.from(p).map((e=>{var t,n,i;return(null===(t=e.getElementsByTagName("part-name"))||void 0===t||null===(n=t[0])||void 0===n||null===(i=n.textContent)||void 0===i?void 0:i.trim())||""})),m=d.getElementsByTagName("part"),g=[...null===(r=m[0])||void 0===r?void 0:r.getElementsByTagName("measure")],v=[...null===(o=m[0])||void 0===o?void 0:o.getElementsByTagName("metronome")],b=[...null===(s=m[0])||void 0===s?void 0:s.getElementsByTagName("words")],y=[...null===(a=m[0])||void 0===a?void 0:a.getElementsByTagName("coda")],A=[...null===(l=m[0])||void 0===l?void 0:l.getElementsByTagName("rehearsal")];"COMMON"===(null===(c=f[0])||void 0===c||null===(u=c.toLocaleUpperCase)||void 0===u?void 0:u.call(c))&&(t++,f.shift());const S=p[t];if(state$1.partListNames=f,S){const e=S.getAttribute("id");Array.from(m).forEach((t=>{var n;if(t&&t.getAttribute("id")!==e)null===(n=t.parentNode)||void 0===n||n.removeChild(t);else if(t&&"P1"!==t.getAttribute("id")){const e={};for(let t=0;t<v.length;t++){var i,r;const n=v[t],o=null===(i=n.parentElement)||void 0===i||null===(r=i.parentElement)||void 0===r?void 0:r.parentElement;if(o){e[g.indexOf(o)]=n}}Object.values(e).forEach((e=>{var n;const i=null===(n=e.parentElement)||void 0===n?void 0:n.parentElement,r=null==i?void 0:i.parentElement,o=[...(null==r?void 0:r.childNodes)||[]],s=i?o.indexOf(i):-1;if(r&&s>-1){const e=g.indexOf(r),n=t.getElementsByTagName("measure")[e];setElementNoteBefore(i,r,n)}})),b.forEach((e=>{let n=e.textContent||"";if(n=["cresc."].includes(n)?"":n,(isSpecialMark(n)||isSpeedKeyword(n)||isGradientWords(n)||isRepeatWord(n)||GRADIENT_SPEED_RESET_TAG)&&n){var i;const r=null===(i=e.parentElement)||void 0===i?void 0:i.parentElement,o=null==r?void 0:r.parentElement,s=[...(null==o?void 0:o.childNodes)||[]],a=r?s.indexOf(r):-1;if(r&&o&&a>-1){const e=g.indexOf(o),i=t.getElementsByTagName("measure")[e];0===Array.from((null==i?void 0:i.getElementsByTagName("words"))||[]).reduce(((e,t)=>{var i;return null!==(i=t.textContent)&&void 0!==i&&i.includes(n)&&e++,e}),0)&&(["12280"].includes(h)?null==i||i.insertBefore(r.cloneNode(!0),null==i?void 0:i.childNodes[a]):setElementNoteBefore(r,o,i))}}})),y.forEach((e=>{var n;const i=null===(n=e.parentElement)||void 0===n?void 0:n.parentElement,r=null==i?void 0:i.parentElement,o=[...(null==r?void 0:r.childNodes)||[]],s=i?o.indexOf(i):-1;if(i&&r&&s>-1){const e=g.indexOf(r),n=t.getElementsByTagName("measure")[e];["12280"].includes(h)?null==n||n.insertBefore(i.cloneNode(!0),null==n?void 0:n.childNodes[s]):setElementNoteBefore(i,r,n)}})),A.forEach((e=>{var n;const i=null===(n=e.parentElement)||void 0===n?void 0:n.parentElement,r=null==i?void 0:i.parentElement;if(r){var o;const e=g.indexOf(r);null===(o=t.getElementsByTagName("measure")[e])||void 0===o||o.appendChild(i.cloneNode(!0))}}))}else b.forEach(((e,t)=>{const n=e.textContent||"";if(isSpeedKeyword(n)&&n){var i,r;const t=null===(i=e.parentElement)||void 0===i||null===(r=i.parentElement)||void 0===r?void 0:r.parentElement;if(t&&t.firstElementChild&&t.firstElementChild!==e){var o;const n=null===(o=e.parentElement)||void 0===o?void 0:o.parentElement,i=t.firstElementChild;t.insertBefore(n,i)}}}));if(t&&t.getAttribute("id")===e){var o,s;const e=t.getElementsByTagName("barline"),n=null===(o=e[e.length-1])||void 0===o?void 0:o.parentElement;if("barline"!==(null==n||null===(s=n.lastElementChild)||void 0===s?void 0:s.tagName)){const e=(null==n?void 0:n.children)||[];for(let t of e)if("barline"===t.tagName){null==n||n.appendChild(t);break}}}})),Array.from(p).forEach((t=>{var n;t&&t.getAttribute("id")!==e&&(null===(n=t.parentNode)||void 0===n||n.removeChild(t))}))}return(new XMLSerializer).serializeToString(appoggianceFormate(d))},appoggianceFormate=e=>{if(!e)return e;const t=e.querySelectorAll("grace");if(!t.length)return e;const n=e=>e.querySelector("grace")?n(null==e?void 0:e.nextElementSibling):e;for(let a of t){var i;const e=null===(i=a.parentElement)||void 0===i?void 0:i.querySelector("notations");if(e&&e.querySelectorAll("slur").length>1){var r;let t=n(null===(r=a.parentElement)||void 0===r?void 0:r.nextElementSibling);if(t&&t.querySelectorAll("slur").length>0){var o;const n=Array.from((null===(o=t.querySelector("notations"))||void 0===o?void 0:o.children)||[]).map((e=>e.getAttribute("number"))),i=e.querySelectorAll("slur");for(let e of i){var s;if(!n.includes(e.getAttribute("number")))null===(s=t.querySelector("notations"))||void 0===s||s.appendChild(e)}}}}return e},formatXML=e=>{if(!e)return"";const t=(new DOMParser).parseFromString(e,"text/xml"),n=Array.from(t.getElementsByTagName("measure")),i=Array.from(t.querySelectorAll("repeat"));compatibleXmlPitchVoice(t),parseXmlToRepeat(i);let r=-1,o=-1,s=-1;for(const u of n){var a,l;if(-1===o&&u.getElementsByTagName("beats").length&&(o=parseInt(u.getElementsByTagName("beats")[0].textContent||"4")),-1===s&&u.getElementsByTagName("beat-type").length&&(s=parseInt(u.getElementsByTagName("beat-type")[0].textContent||"4")),-1===r&&u.getElementsByTagName("per-minute").length)r=Number(null===(l=u.getElementsByTagName("per-minute")[0])||void 0===l?void 0:l.textContent);const e=parseInt((null===(a=u.getElementsByTagName("divisions")[0])||void 0===a?void 0:a.textContent)||"256");if(0===u.getElementsByTagName("note").length){var c;const t=null===(c=u.getElementsByTagName("forward")[0])||void 0===c?void 0:c.getElementsByTagName("duration")[0];t&&(t.textContent="0"),u.innerHTML=u.innerHTML+`\n <note>\n <rest measure="yes"/>\n <duration>${e*o}</duration>\n <voice>1</voice>\n <type>whole</type>\n </note>`}}return state$1.originSpeed||(state$1.originSpeed=state$1.speed=r||100),(new XMLSerializer).serializeToString(t)},formateTimes=exports("ap",(e=>{const t=customData.customNoteRealValue,n=customData.customNoteCurrentTime;state$1.examSongId,state$1.partIndex;let i=browserInfo.huawei?.08:0;const r=[],o=[],s=[],{originSpeed:a}=state$1;let l=0;const c=(e,t)=>{var n;if(["906"].includes(state$1.cbsExamSongId))return(null===(n=t.measures[0])||void 0===n?void 0:n.realKey)||e;if(["782","784"].includes(state$1.cbsExamSongId)){var i;var o;if([14,16,30,32].includes(null===(i=t.firstVerticalMeasure)||void 0===i?void 0:i.measureNumber))return(null===(o=r[r.length-1])||void 0===o?void 0:o.realKey)||e}var s,a,l;if(["900","901","640","641","739","740","800","801","773","774","869","872","714","715"].includes(state$1.cbsExamSongId)&&(3===(null===(s=t.firstVerticalMeasure)||void 0===s?void 0:s.measureNumber)||9===(null===(a=t.firstVerticalMeasure)||void 0===a?void 0:a.measureNumber)))return(null===(l=t.measures[0])||void 0===l?void 0:l.realKey)||e;return e};if(!e.cursor)return[];const u=e.cursor.Iterator;console.time("音符跑完时间");let h,d,p=0,f=0,m=[],g=[],v=0,b=0,y=0,A="quarter",S=0,x=0,E=0,w=0,_=0;const M=[];state$1.gradualTimes&&console.log("后台设置的渐慢小节时间",state$1.gradual,state$1.gradualTimes);let P=u.currentTimeStamp.RealValue;const T=[];let C=!1,I=0;for(;!u.EndReached;){var k,B,R,L,D;const e=null!==(k=u.CurrentVoiceEntries)&&void 0!==k&&k[0]?[null===(B=u.CurrentVoiceEntries)||void 0===B?void 0:B[0]]:[];let t=[],n=0;n=(null===(R=u.currentMeasure)||void 0===R||null===(L=R.verticalSourceStaffEntryContainers)||void 0===L?void 0:L.length)||0,t=state$1.multitrack>0?[...u.CurrentVoiceEntries]:[...u.CurrentVoiceEntries].filter((e=>{var t;return e&&1!=(null==e||null===(t=e.ParentVoice)||void 0===t?void 0:t.VoiceId)}));let i=0,r=!1,o=!1;if(t.length&&!C){var N,F,O;r=!0;let e=[...u.CurrentVoiceEntries].reduce(((e,t)=>(e.push(...t.Notes),e)),[]);if(e=e.sort(((e,t)=>{var n,i;return(null==e||null===(n=e.length)||void 0===n?void 0:n.realValue)-(null==t||null===(i=t.length)||void 0===i?void 0:i.realValue)})),i=(null===(N=e)||void 0===N||null===(F=N[0])||void 0===F||null===(O=F.length)||void 0===O?void 0:O.realValue)||0,state$1.multitrack>0&&2===t.length){var V,G,z,H;const t=(null===(V=e[0])||void 0===V||null===(G=V.length)||void 0===G?void 0:G.realValue)||0;I=((null===(z=e[e.length-1])||void 0===z||null===(H=z.length)||void 0===H?void 0:H.realValue)||0)-t,C=0!==I}}null!==(D=M[M.length-1])&&void 0!==D&&D.isDouble&&!t.length&&(o=!0),state$1.multitrack>0&&!r&&C&&(r=!0,i=I,C=!1,I=0),T.push(u.currentTimeStamp.realValue-P),P=u.currentTimeStamp.realValue;for(const s of e){var U,j,Y,W;let e=s.notes[0];if(e.IsGraceNote){const t=e.parentStaffEntry.voiceEntries.find((e=>!e.isGrace));e=t.notes[0]}if(e.fixedKey=e.ParentVoiceEntry.ParentVoice.Parent.SubInstruments[0].fixedKey||0,null!==(U=e)&&void 0!==U&&null!==(j=U.voiceEntry)&&void 0!==j&&j.isGrace){var Q,$,X,K,q,J;r=!0;let e=[...u.currentVoiceEntries].reduce(((e,t)=>(e.push(...t.notes),e)),[]);e=e.sort(((e,t)=>{var n,i;return(null==t||null===(n=t.length)||void 0===n?void 0:n.realValue)-(null==e||null===(i=e.length)||void 0===i?void 0:i.realValue)})),i=0!=i?Math.min(null===(Q=e)||void 0===Q||null===($=Q[0])||void 0===$||null===(X=$.length)||void 0===X?void 0:X.realValue,i):null===(K=e)||void 0===K||null===(q=K[0])||void 0===q||null===(J=q.length)||void 0===J?void 0:J.realValue}state$1.multitrack>0&&i>e.length.realValue&&(i=e.length.realValue),e.maxNoteNum=n,M.push({note:e,iterator:{...u},currentTime:i,isDouble:r,isMutileSubject:o,measuresTempoInBPM:null===(Y=e)||void 0===Y||null===(W=Y.sourceMeasure)||void 0===W?void 0:W.tempoInBPM})}u.moveToNextVisibleVoiceEntry(!1)}const Z=M.some((e=>e.measuresTempoInBPM!==M[0].measuresTempoInBPM));console.log("变速曲子",Z);for(let{note:_e,iterator:Me,currentTime:Pe,isDouble:Te,isMutileSubject:Ce}of M){if(_e){var ee,te,ne,ie,re,oe,se,ae,le,ce,ue,he,de,pe,fe,me,ge;if(l!=(null==_e||null===(ee=_e.sourceMeasure)||void 0===ee?void 0:ee.MeasureNumberXML)&&(f=0),0===f&&l!=(null==_e||null===(te=_e.sourceMeasure)||void 0===te?void 0:te.MeasureNumberXML))l=null==_e||null===(me=_e.sourceMeasure)||void 0===me?void 0:me.MeasureNumberXML,s.push(_e.sourceMeasure);if(0===f&&state$1.isSpecialBookCategory)for(const e of null===(ve=_e.sourceMeasure)||void 0===ve?void 0:ve.TempoExpressions){var ve,be;null!=e&&null!==(be=e.InstantaneousTempo)&&void 0!==be&&be.beatUnit&&(A=e.InstantaneousTempo.beatUnit)}if(_==(null===(ne=_e.sourceMeasure)||void 0===ne?void 0:ne.MeasureNumberXML)&&0!==p)w++;else _=null===(ge=_e.sourceMeasure)||void 0===ge?void 0:ge.MeasureNumberXML,w=0;let u=_e.sourceMeasure.tempoInBPM;const{metronomeNoteIndex:M}=Me.currentMeasure;var ye;if(0!==M&&M>f)u=(null===(ye=r[r.length-1])||void 0===ye?void 0:ye.speed)||100;let P=[];P=[null===(ie=_e.sourceMeasure)||void 0===ie||null===(re=ie.verticalMeasureList)||void 0===re?void 0:re[0]];const{realValue:C}=Me.currentTimeStamp,{RealValue:I,Denominator:k}=formatDuration(Me.currentMeasure.activeTimeSignature,Me.currentMeasure.duration);let{wholeValue:B,numerator:R,denominator:L,realValue:D}=_e.length;t[p]&&(D=t[p]),Te&&Pe>0&&Pe!=D&&(D=Pe),n&&Ce&&T[p+1]>0&&D>T[p+1]&&(D=T[p+1]);let N=b,F=0;F=u===a||Z?(state$1.isSpecialBookCategory?u:a)||1:a||u||100,0===p&&(i+=getFixTime(F),state$1.fixtime=i);let O=0,V=(state$1.isSpecialBookCategory?u:a)||1;d=Me.currentMeasure.speedInfo||d,h=(null===(oe=e.Sheet.SoundTempos)||void 0===oe?void 0:oe.get(_e.sourceMeasure.measureListIndex))||h,(!h||h.length<2)&&(h=createSpeedInfo(d,V));const G=Me.currentMeasure.measureListIndex;if(state$1.gradualTimes&&Object.keys(state$1.gradualTimes).length>0){const e=state$1.gradual.find(((e,t)=>{var n;const i=state$1.gradual[t+1];return e[0].measureIndex<=G&&(null===(n=e[1])||void 0===n?void 0:n.measureIndex)>=G&&(!i||(null==i?void 0:i[0].measureIndex)!==G)})),[t,n]=e||[];if(t&&n){const e=n.measureIndex-t.measureIndex,i=t.closedMeasureIndex==G&&f>=t.noteInMeasureIndex,r=n.closedMeasureIndex===G&&f<n.noteInMeasureIndex,o=t.closedMeasureIndex!==G&&n.closedMeasureIndex!==G;if(i||r||o){const i=state$1.gradualTimes[t.measureIndex],r=state$1.gradualTimes[n.measureIndex];if(i&&r){O=D/I/(e-t.leftDuration/t.allDuration+n.leftDuration/n.allDuration)*dayjs(tranTime(r)).diff(dayjs(tranTime(i)),"millisecond")/1e3}}}}else if("GYM"===state$1.appName&&d&&h&&(d.startXmlNoteIndex===f||S>0)){const e=h[0]-(h[1]-h[0]),{resetXmlNoteIndex:t,endXmlNoteIndex:n}=d,i=n;let o=(h[h.length-1]-e)/i;if(o=_e.DotsXml?o/1.5:o,S<i){let e=getTimeByBeatUnit(A,Math.ceil(V+o*S),Me.currentMeasure.activeTimeSignature.Denominator);const t=(B+R/L)*k*(60/e);V+=Math.ceil(o*(S+1)),e=getTimeByBeatUnit(A,V,Me.currentMeasure.activeTimeSignature.Denominator);O=(t+(B+R/L)*k*(60/e))/2}else if(t>S){var Ae;V=null===(Ae=r[p-1])||void 0===Ae?void 0:Ae.speed}F=(state$1.isSpecialBookCategory?getTimeByBeatUnit(A,V,Me.currentMeasure.activeTimeSignature.Denominator):a)||1;const s=!(S<i||t>S);S++,s&&(S=0,d=void 0,h=void 0,g=[])}const z=D;let H=O||Math.min(I,D)*formatBeatUnit(A)*(60/F);const U=I*k*(60/F);b+=H,y+=H;let j=H+N;const Y=_e.fixedKey||0,W=null===(se=P[0])||void 0===se||null===(ae=se.vfVoices[1])||void 0===ae?void 0:ae.tickables[w];if(r.length&&r[r.length-1].relativeTime===N)continue;if(0===p&&!state$1.isAppPlay){var Se,xe;let e=0;((null===(Se=_e.sourceMeasure.verticalMeasureList)||void 0===Se||null===(xe=Se[0])||void 0===xe?void 0:xe.staffEntries)||[]).forEach((t=>{var n,i,r,o,s,a;null!=t&&null!==(n=t.sourceStaffEntry)&&void 0!==n&&null!==(i=n.voiceEntries)&&void 0!==i&&null!==(r=i[0])&&void 0!==r&&null!==(o=r.notes)&&void 0!==o&&null!==(s=o[0])&&void 0!==s&&null!==(a=s.length)&&void 0!==a&&a.realValue&&(e+=t.sourceStaffEntry.voiceEntries[0].notes[0].length.realValue)})),e<I&&(v=U-e*formatBeatUnit(A)*(60/F)),["2670"].includes(state$1.cbsExamSongId)||v>0&&(i+=v)}let Q=null===(le=P[0])||void 0===le?void 0:le.stave;_e.sourceMeasure.multipleRestMeasures&&(x=_e.sourceMeasure.multipleRestMeasures,E=0),E<x?E++:(E=0,x=0);const $={isStaccato:_e.voiceEntry.isStaccato(),isRestFlag:_e.isRestFlag,noteId:_e.NoteToGraphicalNoteObjectId,measureListIndex:_e.sourceMeasure.measureListIndex,MeasureNumberXML:_e.sourceMeasure.MeasureNumberXML,_noteLength:z,svgElement:W,frequency:(null==_e||null===(ce=_e.pitch)||void 0===ce?void 0:ce.frequency)||-1,nextFrequency:(null==_e||null===(ue=_e.pitch)||void 0===ue?void 0:ue.nextFrequency)||-1,prevFrequency:(null==_e||null===(he=_e.pitch)||void 0===he?void 0:he.prevFrequency)||-1,difftime:v,octaveOffset:null===(de=P[0])||void 0===de?void 0:de.octaveOffset,speed:V,beatSpeed:F,i:p,si:f,stepSpeeds:g,measureOpenIndex:s.length-1,measures:m,tempoInBPM:_e.sourceMeasure.tempoInBPM,measureLength:U,relaMeasureLength:y,id:null==W?void 0:W.attrs.id,note:_e.halfTone+12,fixtime:i,relativeTime:retain(N),time:retain(N+i),endtime:retain(j+i),relaEndtime:retain(j),realValue:C,halfTone:_e.halfTone,noteElement:_e,fixedKey:Y,realKey:0,duration:0,formatLyricsEntries:formatLyricsEntries(_e),stave:Q,firstVerticalMeasure:P[0],noteLength:1,osdmContext:e,speedbeatUnit:A,multipleRestMeasures:E,measureSpeed:u,maxNoteNum:_e.maxNoteNum};$.realKey=c(_e.halfTone-12*Y,$),$.duration=$.endtime-$.time;let X=(null===(pe=P[0])||void 0===pe||null===(fe=pe.vfVoices[1])||void 0===fe?void 0:fe.tickables)||[];[121].includes(state$1.subjectId)&&(X=_e.sourceMeasure.verticalSourceStaffEntryContainers),X=X.filter((e=>{var t;return"GhostNote"!==(null===(t=e.attrs)||void 0===t?void 0:t.type)}));const K=state$1.isCombineRender&&_e.maxNoteNum?_e.maxNoteNum:X.length;$.noteLength=K||1,r.push($),o.push($.id),m.push($),f<K-1?f++:(f=0,y=0,m=[])}p++}const Ee=r.sort(((e,t)=>e.relativeTime-t.relativeTime)).map(((e,t)=>({...e,i:t})));console.timeEnd("音符跑完时间");try{e.cursor.reset()}catch(we){}return state$1.activeMeasureIndex=Ee[0].MeasureNumberXML,Ee})),getNoteByMeasuresSlursStart=exports("H",(e=>{let t,n=e;if(e.noteElement.tie&&e.noteElement.tie.StartNote&&(t=e.noteElement.tie.StartNote),n&&t&&t!==n.noteElement){const n=[];for(const e of state$1.times)t===e.noteElement&&n.push(e);if(n.length)return n.find((t=>t.i===e.i-1))||n[0]}return n})),parseXmlToRepeat=e=>{if(!e.length)return;let t=[],n=0,i=0;for(let r=0;r<e.length;r++){const o=e[r],s=o.getAttribute("direction");let a=o.parentNode;for(;a&&"measure"!==a.tagName;)a=a.parentNode;let l=a.getAttribute("number");l=l?Number(l):0,"forward"===s?n=l:"backward"===s&&(i=l,t.push({start:n,end:i}))}state$1.repeatInfo=t,console.log("重播",t)},verifyCanRepeat=(e,t)=>{let n=-1;if(state$1.repeatInfo.length){for(let i=state$1.repeatInfo.length-1;i>=0;i--){const{start:r,end:o}=state$1.repeatInfo[i];if(e<=r&&t>=o)return n=i,{repeatIdx:n,canRepeat:!0}}return{repeatIdx:n,canRepeat:!1}}return{repeatIdx:n,canRepeat:!1}},compatibleXmlPitchVoice=e=>{if(1==Array.from(e.getElementsByTagName("part-name")).map((e=>{var t,n;return"COMMON"!==(null===(t=e[0])||void 0===t||null===(n=t.textContent)||void 0===n?void 0:n.trim().toLocaleUpperCase)})).length){var t,n,i;const r=(null===(t=(Array.from(e.getElementsByTagName("instrument-name"))||[])[0])||void 0===t||null===(n=t.textContent)||void 0===n||null===(i=n.trim())||void 0===i?void 0:i.toLocaleLowerCase())||"";let o=!1;switch(state$1.musicalCodeId){case 37:case 38:o=!(r&&!r.includes("solo")&&!r.includes("tenor recorder"));break;case 33:o=!(r&&!r.includes("solo")&&!r.includes("panpipes"));break;case 34:o=!(r&&!r.includes("solo")&&!r.includes("ocarina"));break;case 35:o=!(r&&!r.includes("solo")&&!r.includes("woodwind"));break;case 39:o=!(r&&!r.includes("solo")&&!r.includes("whistling"));break;default:o=!(r&&!r.includes("solo"))}window.xmlNeedAdjustVoice=o}},selectionContainer="_selectionContainer_1ofh0_1",position="_position_1ofh0_8",note="_note_1ofh0_11",staveBox="_staveBox_1ofh0_14",leftStaveBox="_leftStaveBox_1ofh0_17",rightStaveBox="_rightStaveBox_1ofh0_31",centerStaveBox="_centerStaveBox_1ofh0_45",prepareStaveBox="_prepareStaveBox_1ofh0_70",disable="_disable_1ofh0_73",line="_line_1ofh0_76",eyeLine="_eyeLine_1ofh0_88",lineStaff="_lineStaff_1ofh0_91",lineJianPu="_lineJianPu_1ofh0_94",scoreItem="_scoreItem_1ofh0_100",dotWrap="_dotWrap_1ofh0_137",noteFollow="_noteFollow_1ofh0_152",linePC="_linePC_1ofh0_188",noteDot="_noteDot_1ofh0_192",styles$2={selectionContainer:selectionContainer,position:position,note:note,staveBox:staveBox,leftStaveBox:leftStaveBox,rightStaveBox:rightStaveBox,centerStaveBox:centerStaveBox,prepareStaveBox:prepareStaveBox,disable:disable,line:line,eyeLine:eyeLine,lineStaff:lineStaff,lineJianPu:lineJianPu,scoreItem:scoreItem,dotWrap:dotWrap,noteFollow:noteFollow,linePC:linePC,noteDot:noteDot},noteMove="_noteMove_6dz5a_1",activeModel="_activeModel_6dz5a_14",toolBox="_toolBox_6dz5a_17",moveDisabled="_moveDisabled_6dz5a_33",hideTool="_hideTool_6dz5a_36",rightHideIcon$1="_rightHideIcon_6dz5a_39",styles$1={noteMove:noteMove,activeModel:activeModel,toolBox:toolBox,moveDisabled:moveDisabled,hideTool:hideTool,rightHideIcon:rightHideIcon$1},tooltip="",TooltipSfc="",buttonGroup="",ButtonGroupSfc="",rightHideIcon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAB4CAYAAACjK+FPAAAAAXNSR0IArs4c6QAAA9hJREFUeF7tnctrE1EUxr+J7wfqRsdCA2okIhMfNCXZVKyKWOzSZVbdCS5KcetON6J/RKEQBKFLwVWpUgvddNFVNkWbGrptSCsVm8otmTDpTDptb+49cx8Xumrn3PM735m5Z5r2HAf86zyAqwAuAjgF4HTr6xi/6Z5Z+Occ0dQZANdbgOeOaEPmZYcGPQHgJoAbAFIyPeXc61CgaQAeAAar2joQKEvv2wAyqtEF/I0FPQ4gD+CKwpDM9X1BmZJFAJcVh4wFZfcje+josLoqyh4893UgbDFEgp4E8AQAuz91WZGgOqWsL1QI9CyAxwCOWjElNQNCoHcAXEuqtxx+hUCftgpyDpuJvLQD9BKAB4l0k9+pDtBbALL8NhNpoQOUVUGql3rdotwB+hDAhUTqwe9UB+gzAKxY0HG1QdlL9KiOhHtLQPYyPWJB1Y9AO3WtouqLuUtgFdVEyDaGVdQqqmgEbOoqKlxXt62iVlFFI2BTV1Hh7MPIpq5NXUUjYFNXUeHsU9emLmnqzszMvCgUCqOO4zgLCwtfhoeHP3M6lDxFl5aWXuZyuecBsJ3Jycn3Y2NjPzhgkwUaAbnLtry8/D2TyXzQArQbJIObm5srDw0NfVIedD/IRqPx23XdV5ubm02lQWMga4ODgxOVSuUPByT9b+olQdKCSoSkA5UMSQNKACkflAhSLighpDxQYkg5oCsrK2/S6XQh6hxsNBq9OifjjlmxtW61Wn3T399PDSle0e3t7elUKhX6S+6NjY1aPp/vRcUTp6T/fbGKNpvNacdxQqD1er3qed7E6urq34N6yvlzYkFrtdrbvr6+e1FO1uv1X57nvZYEKxaUAa6trb1zXfcuMax4UAZYqVTGs9ks+8+L0JKkrBzQBMDKAyWGlQtKCCsflAiWBpQAlg5UMiwtqERYetA42PX19Z+u645vbW3tcJSByQCNg52dnZ3i/PwlOaD7wWr1kYSfllHlYrlc/lgqlb5pkbpBiPn5+dLAwMAI+9hwcXHxa7FYnOKAFP/izelcLy9P1j3aS7I9tiyowOCSmLaKkoRd4KZWUYHBJTFtFSUJu8BNraICg0ti2ipKEnaBm1pFBQaXxLRVlCTsAje1igoMLolpqyhJ2AVuahUVGFwS021FjWncxMJsRCsuBmpMczVj2uUZ0wDRmJaW7D41okkpA821JgqQHHYCN22fo/4erJHwI8WmChwkPiFQdpERraEZqDHNvhmsEe3b/ZzXKYUj71Ef1JgRCwzYiKEZQWW1H4MSPKO0H2wThDViVFEQWPvhU1HlVnCcGBsl5o8US9Q4sf9BGvvA8pV1NwAAAABJRU5ErkJggg==";let extStyleConfigJson={};window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;const showToolBox=ref(!0),moveData=reactive({open:!1,zoom:state$1.zoom,partIndex:"0",hasExtJson:!1,isWeb:!1,modelList:[],activeIndex:-1,sw:0,tool:{isAddAndSub:!1},noteCoords:[]}),initNoteCoord=()=>{const e=Array.from(document.querySelectorAll(".node-dot"));moveData.noteCoords=e.map((e=>{var t;const n=(null==e||null===(t=e.getBoundingClientRect)||void 0===t?void 0:t.call(e))||{x:0,y:0};return{x:n.x,y:n.y}}))},computedDistance=(e,t)=>{let n,i,r,o=-1,s=0;return moveData.noteCoords.forEach(((a,l)=>{n=Math.abs(a.x-e),i=Math.abs(a.y-t),r=Math.sqrt(n*n+i*i),r=Number(r.toFixed(0)),0!==r&&(-1===o||r<o)&&(o=r,s=l)})),s};function initSvgId(){const e=document.querySelector("#osmdSvgPage1");if(!e)return;const t=Array.from(e.querySelectorAll(".vf-stavetempo")),n=Array.from(e.querySelectorAll(".vf-text")),i=Array.from(e.querySelectorAll(".vf-Repetition")),r=Array.from(e.querySelectorAll(".vf-lineGroup"));let o=1;[...t].forEach((e=>{setEleId(e,"temp"+o),o++}));let s=1;[...n].forEach((e=>{setEleId(e,"text"+s),s++}));let a=1;[].forEach((e=>{setEleId(e,"section"+a),a++}));let l=1;[...i].forEach((e=>{setEleId(e,"repet"+l),l++}));let c=1;[...r].forEach((e=>{setEleId(e,"line"+c),c++}))}function setEleId(e,t){if(!e||!t)return;e.getAttribute("id")||e.setAttribute("id",t),createModelBox(e)}function createModelBox(e){var t;const n=(null===(t=document.getElementById("musicAndSelection"))||void 0===t?void 0:t.getBoundingClientRect())||{x:0,y:0},i=n.x||0,r=n.y||0,o=e.getBoundingClientRect(),s={left:o.x-i+"px",top:o.y-r+"px",width:o.width+"px",height:o.height+"px"},a=e.getAttribute("class");moveData.modelList.push({id:e.getAttribute("id"),bbox:s,type:a,isMove:!1,left:o.left,top:o.top,width:o.width,height:o.height,x:0,y:0,zoom:state$1.zoom,isDelete:!1,d2:getLineGroupPathDx(e),dx:0})}function getBox(e){var t;if(!e)return{};const n=(null===(t=document.getElementById("musicAndSelection"))||void 0===t?void 0:t.getBoundingClientRect())||{x:0,y:0},i=n.x||0,r=n.y||0,o=e.getBoundingClientRect();return{left:o.x-i,top:o.y-r,width:o.width,height:o.height}}const filterMoveData=async()=>{const e=state$1.examSongId;if(e){const t=window.fontSize,n=moveData.modelList.filter((e=>e.isMove)).map((e=>{var n,i;const r=e.left+e.x,o=e.top+e.y,s=computedDistance(r,o),a=r-(null===(n=moveData.noteCoords[s])||void 0===n?void 0:n.x),l=o-(null===(i=moveData.noteCoords[s])||void 0===i?void 0:i.y);let c={id:e.id,isMove:e.isMove,isDelete:e.isDelete,x:e.x,y:e.y,xRem:Math.abs(e.x/t),yRem:Math.abs(e.y/t),zoom:e.zoom,w:moveData.sw,type:e.type,noteIdx:s,noteRelativeX:a,noteRelativeY:l};if("vf-lineGroup"===e.type&&(c.dx=e.dx),e.id.includes("text")){var u,h;const t=(null===(u=document.querySelector("#"+e.id))||void 0===u||null===(h=u.querySelector("text"))||void 0===h?void 0:h.innerHTML)||"";c.textContent=t}return c}));extStyleConfigJson[moveData.partIndex]=n,console.log("🚀 ~ extStyleConfigJson",extStyleConfigJson);const i=await request.post("/musicSheet/img",{requestType:"json",data:{id:e,extStyleConfigJson:JSON.stringify(extStyleConfigJson)}});i&&200==i.code&&showToast("保存成功"),clearActiveModel()}},dragData={open:!1,startX:0,startY:0,x:0,y:0,repeatEdit:!1},undoData=reactive({undoList:[],redoList:[],activeItem:null});function onDown(e){const t=e.target,n=moveData.modelList.findIndex((e=>e.id===t.dataset.id));if(n>-1){const t=moveData.modelList[n];return moveData.activeIndex=n,dragData.startX=e.clientX,dragData.startY=e.clientY,dragData.x=t.x,dragData.y=t.y,dragData.repeatEdit=t.noteIdx>=0,document.onmousemove=onMove,document.onmouseup=onUp,dragData.open=!0,"vf-lineGroup"===t.type?moveData.tool.isAddAndSub=!0:moveData.tool.isAddAndSub=!1,void(undoData.activeItem={...t})}moveData.activeIndex=-1}function onMove(e){if(dragData.open){const t=e.clientX-dragData.startX+dragData.x,n=e.clientY-dragData.startY+dragData.y;setModelPostion(moveData.modelList[moveData.activeIndex],t,n,dragData.repeatEdit)}}function onUp(e){document.onmousemove=null,document.onmouseup=null,dragData.open=!1;const t=e.clientX-dragData.startX+dragData.x,n=e.clientY-dragData.startY+dragData.y;(t||n)&&(moveData.modelList[moveData.activeIndex].isMove=!0,moveData.modelList[moveData.activeIndex].x=t,moveData.modelList[moveData.activeIndex].y=n,undoData.activeItem&&undoData.undoList.push({...undoData.activeItem})),undoData.activeItem=null}const renderSvgItem=e=>{if(setModelPostion(e,e.x,e.y),e.isDelete){const t=document.querySelector("#"+e.id);t&&(t.style.display="none")}else{const t=document.querySelector("#"+e.id);t&&(t.style.display="")}};async function setModelPostion(e,t,n,i){if(e){const o=document.querySelector("#"+e.id),s=document.querySelector(`[data-id=${e.id}]`);if(0===t&&0===n)o&&o.removeAttribute("transform"),s&&(s.style.transform="");else{let a=t,l=n;if(e.noteIdx>=0&&!i){var r;moveData.noteCoords.length||await initNoteCoord();const t=moveData.noteCoords[e.noteIdx].x+e.noteRelativeX,n=moveData.noteCoords[e.noteIdx].y+e.noteRelativeY,i=(null===(r=document.getElementById(e.id))||void 0===r?void 0:r.getBoundingClientRect())||{x:0,y:0};a=t-i.x,l=n-i.y,o&&o.setAttribute("transform",`translate(${a/moveData.zoom}, ${l/moveData.zoom})`),s&&(s.style.transform=`translate(${a}px, ${l}px)`)}else o&&o.setAttribute("transform",`translate(${a/moveData.zoom}, ${l/moveData.zoom})`),s&&(s.style.transform=`translate(${a}px, ${l}px)`)}}}const handleDeleteMoveNote=()=>{const e=moveData.modelList[moveData.activeIndex];if(e){moveData.modelList[moveData.activeIndex].isMove=!0,undoData.undoList.push({...moveData.modelList[moveData.activeIndex]}),moveData.modelList[moveData.activeIndex].isDelete=!e.isDelete;const t=document.querySelector("#"+e.id);t&&(t.style.display=moveData.modelList[moveData.activeIndex].isDelete?"none":"")}else showToast("选中需要删除的元素")},resetMoveNote=()=>{for(let e=0;e<moveData.modelList.length;e++)moveData.modelList[e].x=0,moveData.modelList[e].y=0,moveData.modelList[e].isMove=!1,moveData.modelList[e].isDelete=!1,moveData.modelList[e].dx=0,renderSvgItem(moveData.modelList[e]),"vf-lineGroup"===moveData.modelList[e].type&&renderLineGroup(moveData.modelList[e]);clearActiveModel()};function clearActiveModel(){for(let t=0;t<moveData.modelList.length;t++){var e;const n=document.querySelector(`[data-id=${moveData.modelList[t].id}]`);null!=n&&null!==(e=n.classList)&&void 0!==e&&e.contains("activeModel")&&n.classList.remove("activeModel")}moveData.activeIndex=-1,moveData.tool.isAddAndSub=!1}const handleAddAndSub=e=>{if(!["add","sub"].includes(e))return;const t=moveData.modelList[moveData.activeIndex];if(!t||"vf-lineGroup"!==t.type)return;t.isMove=!0;const n="add"===e?10:-10;undoData.undoList.push({...moveData.modelList[moveData.activeIndex]}),moveData.modelList[moveData.activeIndex].dx=t.dx+n,renderLineGroup(moveData.modelList[moveData.activeIndex])};function getLineGroupPathDx(e){if(!e)return 0;const t=e.querySelectorAll("path");if(null!=t&&t.length)for(let s=0;s<t.length;s++){let e=t[s].getAttribute("d");if(e){var n,i,r,o;let t=(null===(n=e.split("M"))||void 0===n||null===(i=n[1])||void 0===i?void 0:i.split(" "))||[],s=(null===(r=e.split("L"))||void 0===r||null===(o=r[1])||void 0===o?void 0:o.split(" "))||[];if(t=t[0]&&!isNaN(Number(t[0]))?Number(t[0]):0,s=s[0]&&!isNaN(Number(s[0]))?Number(s[0]):0,t&&s)return t<s?s:t}}return 0}function renderLineGroup(e){const t=document.querySelector("#"+e.id);if(!t)return;const n=t.querySelectorAll("path");if(null!=n&&n.length){for(let t=0;t<n.length;t++){const a=n[t];let l=a.getAttribute("d");if(l){var i,r,o,s;let t=(null===(i=l.split("M"))||void 0===i||null===(r=i[1])||void 0===r?void 0:r.split(" "))||[],n=(null===(o=l.split("L"))||void 0===o||null===(s=o[1])||void 0===s?void 0:s.split(" "))||[];t=t[0]&&!isNaN(Number(t[0]))?Number(t[0]):0,n=n[0]&&!isNaN(Number(n[0]))?Number(n[0]):0,t&&n&&(l=t<n?l.replace(n,e.d2+e.dx+""):l.replace(t,e.d2+e.dx+""),a.setAttribute("d",l))}}const{width:a}=getBox(t),l=document.querySelector(`[data-id=${e.id}]`);l&&(l.style.width=a+"px")}}const handleUndo=()=>{const e=undoData.undoList.pop();if(e){const t=moveData.modelList.findIndex((t=>t.id===e.id));t>-1&&(moveData.modelList[t]=e,renderSvgItem(moveData.modelList[t]),"vf-lineGroup"===e.type&&renderLineGroup(e))}},renderForMoveData=()=>{var e,t;if(state$1.extStyleConfigJson)try{extStyleConfigJson=JSON.parse(state$1.extStyleConfigJson)}catch(i){extStyleConfigJson={}}if(!extStyleConfigJson||null===(e=extStyleConfigJson)||void 0===e||!e[moveData.partIndex])return void initSvgId();initSvgId();const n=null===(t=extStyleConfigJson)||void 0===t?void 0:t[moveData.partIndex];n&&Array.isArray(n)&&nextTick((()=>{console.log("🚀 ~ list",n),n.forEach((e=>{let t=moveData.modelList.findIndex((t=>t.id===e.id));if("vf-text"===e.type&&e.textContent){var n,i,r;let c=t,u=!1,h=t,d=t;if(((null===(n=document.querySelector("#"+(null===(r=moveData.modelList[t])||void 0===r?void 0:r.id)))||void 0===n||null===(i=n.querySelector("text"))||void 0===i?void 0:i.innerHTML)||"")!==e.textContent)for(;!u;){var o,s,a,l;let t=moveData.modelList[h]&&(null===(o=document.querySelector("#"+moveData.modelList[h].id))||void 0===o||null===(s=o.querySelector("text"))||void 0===s?void 0:s.innerHTML)||"",n=moveData.modelList[d]&&(null===(a=document.querySelector("#"+moveData.modelList[d].id))||void 0===a||null===(l=a.querySelector("text"))||void 0===l?void 0:l.innerHTML)||"";t===e.textContent||n===e.textContent?(u=!0,c=t===e.textContent?h:d):(t||n||(u=!0,c=-1),h-=1,d+=1)}t=c,e.id=`text${c+1}`}t>-1&&(moveData.modelList[t]={...moveData.modelList[t],...e},renderSvgItem(moveData.modelList[t]),"vf-lineGroup"===e.type&&renderLineGroup(moveData.modelList[t]))}))}))},MoveMusicScore=defineComponent({name:"move-music-score",setup(){const e="1"===getQuery().isMove;return console.log("🚀 ~ isOpen:",e),onMounted((()=>{nextTick((()=>initNoteCoord()));const e=document.getElementById("toolBox");e&&document.body.appendChild(e)})),()=>createVNode("div",{class:[moveData.open?"":styles$1.moveDisabled]},[createVNode("div",{id:"toolBox"},[createVNode("div",{class:[styles$1.toolBox,!showToolBox.value&&styles$1.hideTool]},[createVNode(Switch,{modelValue:moveData.open,"onUpdate:modelValue":e=>moveData.open=e},null),moveData.open&&createVNode(Fragment,null,[moveData.tool.isAddAndSub&&createVNode(ButtonGroup,{size:"small",elevation:!1},{default:()=>[createVNode(Button,{onClick:()=>handleAddAndSub("add")},{default:()=>[createTextVNode("加")]}),createVNode(Button,{onClick:()=>handleAddAndSub("sub")},{default:()=>[createTextVNode("减")]})]}),createVNode(Button,{size:"small",onClick:handleUndo,disabled:!undoData.undoList.length},{default:()=>[createVNode(Icon,{name:"arrow-down",style:{transform:"rotate(90deg)"}},null)]}),createVNode(Button,{size:"small",onClick:handleDeleteMoveNote,disabled:!(moveData.activeIndex>-1)},{default:()=>{var e;return[null!==(e=moveData.modelList[moveData.activeIndex])&&void 0!==e&&e.isDelete?"显示元素":"删除元素"]}}),createVNode(Button,{size:"small",onClick:resetMoveNote},{default:()=>[createTextVNode("重置数据")]}),createVNode(Button,{size:"small",type:"primary",onClick:filterMoveData},{default:()=>[createTextVNode("保存数据")]}),createVNode(Button,{size:"small",type:"primary",onClick:()=>showToolBox.value=!1},{default:()=>[createTextVNode("收起")]})])]),!showToolBox.value&&createVNode("img",{class:[styles$1.rightHideIcon,showToolBox.value?"":styles$1.rightIconShow],src:rightHideIcon,onClick:()=>showToolBox.value=!0},null)]),moveData.modelList.map(((e,t)=>createVNode("div",{class:[styles$1.noteMove,moveData.activeIndex===t&&styles$1.activeModel],style:e.bbox,"data-id":e.id,onMousedown:onDown},null)))])}}),selectData=reactive({notes:[],staves:[],measureHeight:0}),calcNoteData=()=>{var e;const t=(null===(e=document.getElementById("musicAndSelection"))||void 0===e?void 0:e.getBoundingClientRect())||{x:0,y:0},n=t.x||0,i=t.y||0,r=state$1.times,o=[],s=[];let a=0;for(let x=0;x<r.length;x++){const e=r[x],t={...e,index:e.i,bbox:null,staveBox:null};if(!o.includes(e.noteId)){var l,c;let r={};if(null!==(l=e.stave)&&void 0!==l&&null!==(c=l.attrs)&&void 0!==c&&c.id){var u,h,d,p;const t=document.querySelector(`#${e.stave.attrs.id}`);r=(null==t||null===(u=t.parentElement)||void 0===u||null===(h=u.parentElement)||void 0===h||null===(d=(p=h).getBoundingClientRect)||void 0===d?void 0:d.call(p))||{x:0,width:0}}if(e.svgElement){var f,m;const s=document.querySelector(`#vf-${null===(f=e.svgElement)||void 0===f||null===(m=f.attrs)||void 0===m?void 0:m.id}`);if(s){var g;const o=(null===(g=s.getBoundingClientRect)||void 0===g?void 0:g.call(s))||{x:0,width:0};if(state$1.musicRenderType!==EnumMusicRenderType.staff){var v;t.bbox={left:o.x-n-o.width/4+"px",top:o.y-i-o.height+"px",width:1.5*o.width+"px",height:3*o.height+"px"};const r=s.querySelector(".vf-numbered-note-head"),a=null==r||null===(v=r.getBoundingClientRect)||void 0===v?void 0:v.call(r);a&&(e.bbox={left:a.x-n-a.width/4,width:1.5*a.width})}else t.bbox={left:o.x-n-o.width/4+"px",top:r.y-i+"px",width:1.5*o.width+"px",height:r.height+"px"}}selectData.notes.find((e=>e.id===t.id))||selectData.notes.push(t),o.push(e.noteId)}}if(!s.includes(e.MeasureNumberXML))if(e.stave){var b,y;if(null!==(b=e.stave)&&void 0!==b&&null!==(y=b.attrs)&&void 0!==y&&y.id){var A;const r=document.querySelector(`#${e.stave.attrs.id}`),o=[Array.from((null==r?void 0:r.querySelectorAll(".vf-clef"))||[]),Array.from((null==r?void 0:r.querySelectorAll(".vf-keysignature"))||[]),Array.from((null==r?void 0:r.getElementsByTagName("text"))||[])].flat();try{o.length&&o.forEach((e=>{var t;null==e||null===(t=e.style)||void 0===t||t.setProperty("display","none")}))}catch(S){}const s=(null==r||null===(A=r.getBoundingClientRect)||void 0===A?void 0:A.call(r))||{x:0,width:0,y:0,height:0};0===x&&(a=s.height);try{o.length&&o.forEach((e=>{var t;null==e||null===(t=e.style)||void 0===t||t.removeProperty("display")}))}catch(S){}selectData.measureHeight=s.height;let l=s.height-a;l=l>0?l:0,t.staveBox={left:s.x-n+"px",top:s.y-i+l+"px",width:s.width+"px",height:s.height-l+"px"},selectData.staves.push(t)}s.push(e.MeasureNumberXML)}else if(e.multipleRestMeasures){const n=selectData.staves.find((t=>t.MeasureNumberXML===e.MeasureNumberXML-1));null!=n&&n.staveBox&&(t.staveBox={left:n.staveBox.left,top:n.staveBox.top,width:n.staveBox.width},selectData.staves.push(t),s.push(e.MeasureNumberXML))}}console.log("🚀 ~ selectData.notes:",selectData.notes,selectData.staves)},Selection=defineComponent({name:"selection",setup(){const e=useRoute$1(),t={...getQuery(),...e.query},n=computed((()=>state$1.sectionStatus||"practise"!==state$1.modeType)),i=computed((()=>e=>{if(state$1.sectionStatus){if(1===state$1.section.length&&e.MeasureNumberXML==state$1.section[0].MeasureNumberXML)return styles$2.leftStaveBox;if(2===state$1.section.length){const n=state$1.userChooseEndIndex>state$1.section[1].MeasureNumberXML?state$1.userChooseEndIndex:state$1.section[1].MeasureNumberXML;if(state$1.sectionFirst&&e.MeasureNumberXML===state$1.sectionFirst.MeasureNumberXML)return e.staveBox.height=selectData.measureHeight+"px",styles$2.prepareStaveBox;var t;if(e.MeasureNumberXML>=state$1.section[0].MeasureNumberXML&&e.MeasureNumberXML<=n)return e.MeasureNumberXML==state$1.section[0].MeasureNumberXML&&e.MeasureNumberXML==n?styles$2.centerStaveBox:e.MeasureNumberXML==state$1.section[0].MeasureNumberXML?styles$2.leftStaveBox:e.MeasureNumberXML==n?(null!==(t=e.staveBox)&&void 0!==t&&t.height||(e.staveBox.height=selectData.measureHeight+"px"),styles$2.rightStaveBox):styles$2.staveBox}}else if(state$1.activeMeasureIndex==e.MeasureNumberXML&&!state$1.isReport)return e.staveBox.height=selectData.measureHeight+"px",styles$2.staveBox}));return onMounted((()=>{calcNoteData();try{moveData.partIndex=t["part-index"]||"0",nextTick((()=>renderForMoveData()))}catch(e){}})),()=>createVNode("div",{id:"selectionBox",class:styles$2.selectionContainer,onClick:e=>e.stopPropagation()},[selectData.staves.map((e=>{var t;const n=e.id&&evaluatingData.evaluatings[e.measureListIndex],r=!state$1.isReport&&2===metronomeData.cursorMode&&e.MeasureNumberXML===(null===(t=metronomeData.activeMetro)||void 0===t?void 0:t.measureNumberXML)&&state$1.times[state$1.activeNoteIndex].MeasureNumberXML===e.MeasureNumberXML;return createVNode(Fragment,null,[e.staveBox&&createVNode("div",{class:[styles$2.position,i.value(e),n?`scoreItemLeve${n.leve}`:"",state$1.platform===IPlatform.PC?styles$2.linePC:""],style:e.staveBox,onClick:()=>handleSelection(e)},[r&&createVNode("div",{style:{height:selectData.measureHeight+"px",position:"relative"}},[createVNode("div",{class:[styles$2.line,state$1.setting.eyeProtection?styles$2.eyeLine:"",state$1.musicRenderType==EnumMusicRenderType.staff?styles$2.lineStaff:styles$2.lineJianPu],style:{left:metronomeData.activeMetro.left}},null)]),!state$1.isReport&&!!e.multipleRestMeasures&&state$1.activeMeasureIndex==e.MeasureNumberXML&&createVNode("div",{class:styles$2.dotWrap},[e.multipleRestMeasures]),createVNode(Transition,{name:"centerTop",onAfterEnter:()=>{n.show=!1}},{default:()=>{var e,t;return[(null==n?void 0:n.show)&&createVNode("div",{class:styles$2.scoreItem,style:{color:(null===(e=leveByScoreMeasureIcons[n.leve])||void 0===e?void 0:e.color)||""}},[createVNode("img",{src:null===(t=leveByScoreMeasureIcons[n.leve])||void 0===t?void 0:t.icon},null),createVNode("span",null,[n.score])])]}})])])})),selectData.notes.map((e=>createVNode("div",{class:[styles$2.position,n.value&&styles$2.disable,styles$2.note,`noteIndex_${e.index}`],style:e.bbox,onClick:()=>skipNotePlay(e.index)},[createVNode("div",{class:styles$2.noteFollow,"data-vf":"vf"+e.id},[createVNode(Icon$1,{name:"success"},null),createVNode(Icon$1,{name:"cross"},null)]),createVNode("div",{class:[styles$2.noteDot,"node-dot"]},null)]))),"1"==t.isMove&&createVNode(MoveMusicScore,null,null)])}}),inGradualRange="_inGradualRange_ycrkh_22",styles={inGradualRange:inGradualRange},query=getQuery(),container=ref(),resetGivenFormate=()=>{const e={12200:[{parts:["0","1"],tieId:["1483"]},{parts:["2"],tieId:["1463"]},{parts:["10"],tieId:["1246"]},{parts:["11"],tieId:["2455"]},{parts:["13"],tieId:["1488","1688"]},{parts:["14","15"],tieId:["1272"]},{parts:["16"],tieId:["1264","1368"],staveSection:[{id:"section-0",y:-10}]}],12420:[{parts:["0"],tieId:["1298","1405","1998","2598","3229","2731","2617"]}],7729:[{parts:["3"],tieId:["1498","1660"]}],7439:[{parts:["23"],vfmodifiers:[{id:"modifiers-130",y:-18,isLast:!0}]}],12711:[{parts:["0"],voltas:-12},{parts:["4"],voltas:-8}],3581:[{parts:["0"],voltas:-8}],6244:[{parts:["15"],stavenote:[{id:"vf-auto1608",y:-15}]}],7473:[{parts:["0"],voltas:-8}]}[state$1.cbsExamSongId];if(e){const i=query["part-index"]||"0",r=e.find((e=>e.parts.includes(i)));if(!r)return;if(r.tieId&&r.tieId.length)for(let e=0;e<r.tieId.length;e++){var t,n;const i=document.querySelector(`#vf-auto${r.tieId[e]}-tie`),o=null==i||null===(t=i.parentNode)||void 0===t||null===(n=t.parentNode)||void 0===n?void 0:n.querySelectorAll(".vf-curve");if(o&&o.length)for(let e=0;e<o.length;e++){if(collisionDetection(i,o[e]).isCollision){o[e].style.transform="translateY(-8px)";break}}}if(r.staveSection&&r.staveSection.length){document.querySelectorAll(".vf-StaveSection").forEach(((e,t)=>{e.classList.add(`section-${t}`)}));for(let e=0;e<r.staveSection.length;e++){const t=document.querySelector("."+r.staveSection[e].id);t&&(t.style.transform=`translateY(${r.staveSection[e].y}px)`)}}if(r.vfmodifiers&&r.vfmodifiers.length){document.querySelectorAll(".vf-modifiers").forEach(((e,t)=>{e.classList.add(`modifiers-${t}`)}));for(let e=0;e<r.vfmodifiers.length;e++){const t=r.vfmodifiers[e],n=document.querySelector("."+t.id);if(n&&t.isLast){const e=Array.from(n.childNodes).at(-1);e&&(e.style.transform=`translateY(${t.y}px)`)}}}if(r.voltas){document.querySelectorAll(".vf-Volta").forEach(((e,t)=>{e.style.transform=`translateY(${r.voltas}px)`}))}if(r.stavenote&&r.stavenote.length)for(let e=0;e<r.stavenote.length;e++){const t=r.stavenote[e],n=document.querySelector("#"+t.id);n&&(n.style.transform=`translateY(${t.y}px)`)}}},resetFormate=()=>{if(container.value=document.getElementById("scrollContainer"),!container.value)return;const e=Array.from(container.value.querySelectorAll(".staffline"));for(let r=0,o=e.length;r<o;r++){var t;const o=e[r],s=o.getBBox(),a=s.y+s.height/2,l=Array.from(o.querySelectorAll(".vf-measure")),c=Array.from(o.querySelectorAll(".vf-curve")),u=Array.from(o.querySelectorAll(".vf-measure > .vf-voices")),h=Array.from(o.querySelectorAll(".vf-measure > .vf-beams")),d=Array.from(o.querySelectorAll(".vf-ties")),p=Array.from(o.querySelectorAll(".vf-line")),f=Array.from(o.querySelectorAll(".vf-measure > .vf-stave text"));Array.from(o.querySelectorAll(".vf-measure > .vf-stave rect[fill=none]"));const m=Array.from(o.querySelectorAll(".vf-measure .vf-staveSection")),g=Array.from(o.querySelectorAll(".vf-measure > .vf-stave path")),v=Array.from(o.querySelectorAll(".vf-measure .vf-stopDot")),b=(null===(t=g[0])||void 0===t?void 0:t.getBBox().y)||0,y=["To Coda","D.S. al Coda","Coda"];f.filter((e=>y.includes(e.textContent||""))).forEach((e=>{h.forEach((t=>{const n=collisionDetection(e,t),i=null==e?void 0:e.previousSibling;if(n.isCollision){var r;const t=Number(e.getAttribute("y"))-(n.b1-n.t2)-4+"";e.setAttribute("y",t),i&&"0.3"===i.getAttribute("stroke-width")&&"none"===i.getAttribute("stroke")&&((null===(r=i.getAttribute("d"))||void 0===r?void 0:r.length)||0)>3e3&&(i.style.transform=`translateY(${-(n.b1-n.t2+4)}px)`)}})),u.forEach((t=>{const n=collisionDetection(e,t),i=null==e?void 0:e.previousSibling;if(n.isCollision){var r;const t=Number(e.getAttribute("y"))-(n.b1-n.t2)-4+"";e.setAttribute("y",t),i&&"0.3"===i.getAttribute("stroke-width")&&"none"===i.getAttribute("stroke")&&((null===(r=i.getAttribute("d"))||void 0===r?void 0:r.length)||0)>3e3&&(i.style.transform=`translateY(${-(n.b1-n.t2+4)}px)`)}}))})),m.forEach((e=>{let t=0;[...c,...d,...u].forEach((n=>{const i=collisionDetection(e,n);i.isCollision&&(t=Math.min(t,i.t2-i.b1-4))})),e.style.transform=`translateY(${t}px)`}));let A=Array.from(o.querySelectorAll(".vf-text > text")).filter((e=>e.getBBox().y<a));for(let e=0;e<A.length;e++){const t=A[e];for(let e=0;e<A.length;e++){if(t.parentNode===A[e].parentNode)continue;var n;if(collisionDetection(t,A[e]).isCollision&&t.textContent===A[e].textContent)null===(n=A[e].parentNode)||void 0===n||n.removeChild(A[e]);else;}}A=Array.from(o.querySelectorAll(".vf-text > text")).filter((e=>e.getBBox().y<a));let S=0,x=[];A.forEach((e=>{const t=e.getBBox();t.y<a&&(S=Math.max(S,t.y+t.height),x.push(e))})),0!==S&&x.length>1&&x.forEach((e=>{e.setAttribute("y",S+"")})),A.forEach((e=>{[...c,...l,...p].forEach((t=>{let n=collisionDetection(e,t);if(n.isCollision&&n.b1<n.b2&&n.t1<n.b2-(n.b2-n.t2)/2){const t=Number(e.getAttribute("y"))-(n.b1-n.t2)-4+"";e.setAttribute("y",t)}}))})),A.forEach((e=>{A.forEach((t=>{if(e.parentNode!==t.parentNode&&!["marcato","legato"].includes(e.textContent))if(["marcato","legato"].includes(t.textContent)){if(collisionDetection(e,t,30,30).isCollision){const n=e.getBBox();t.setAttribute("x",n.x+n.width+5+""),t.setAttribute("y",n.y+n.height-5+"")}}else{const n=collisionDetection(e,t);if(n.isCollision){const i=Number(e.getAttribute("y")),r=n.b2-n.t2<24?24:n.b2-n.t2;t.setAttribute("y",i-r-.5+"")}}}))}));const E=["C","G","D","A","E","B","F#","C#","G#","F","Bb","Eb","Ab","Db","Gb","Cb","Fb","D#","A#","E#"],w=["Bb","Eb","Ab","Db","Gb","Cb","Fb"],_=["F#","C#","G#","D#","A#","E#","B#"];A.forEach((e=>{const t=e.textContent;if(E.includes(t)){const t=Number(e.getAttribute("y")),n=b?b-28:t;e.setAttribute("y",n)}w.includes(t)&&(e.textContent=t.replace("b","♭")),_.includes(t)&&(e.textContent=t.replace("#","♯"))})),v.forEach((e=>{"fixedTone"===state$1.musicRenderType?e.setAttribute("transform","translate(3,-12)"):e.setAttribute("transform","translate(3,-7)")}));const M=Array.from(o.querySelectorAll(".vf-text > text")).filter((e=>e.getBBox().y>a)),P=Array.from(o.querySelectorAll(".vf-line")).filter((e=>e.getBBox().y>a));for(let e=0;e<M.length;e++){const t=M[e];for(let e=0;e<M.length;e++){if(t.parentNode===M[e].parentNode)continue;var i;if(collisionDetection(t,M[e]).isCollision&&t.textContent===M[e].textContent)null===(i=M[e].parentNode)||void 0===i||i.removeChild(M[e]);else;}}M.forEach((e=>{[...l].forEach((t=>{let n=collisionDetection(e,t);n.isCollision&&e.setAttribute("y",n.b2+Math.abs(n.t1-Number(e.getAttribute("y")))+"")}))})),P.forEach((e=>{var t;const n=[];if(null!==(t=e.nextElementSibling)&&void 0!==t&&t.classList.contains("vf-line")&&M.forEach((t=>{let i=collisionDetection(e,t,20,20);i.isCollision&&n.push({text:t,result:i})})),1===n.length){const e=n[0].result,t=n[0].text;e.x2+e.w2<e.x1||e.x2>e.x1+e.w1?Math.abs(e.y2-e.y1)>10&&t.setAttribute("y",e.y1+e.h2/2+""):Math.abs(e.x2-e.x1)<Math.abs(e.x2+e.w2-e.x1-e.w1)?(t.setAttribute("x",e.x1-e.w2-5+""),Math.abs(e.y2-e.y1)>10&&t.setAttribute("y",e.y1+e.h2/2+"")):(t.setAttribute("x",e.x1+e.w1+5+""),Math.abs(e.y2-e.y1)>10&&t.setAttribute("y",e.y1+e.h2/2+""))}else if(2===n.length){const e=n[0].result,t=n[0].text,i=n[1].result,r=n[1].text;t.setAttribute("x",e.x1-e.w2-5+""),Math.abs(e.y2-e.y1)>10&&t.setAttribute("y",e.y1+e.h2/2+""),r.setAttribute("x",i.x1+i.w1+5+""),Math.abs(i.y2-i.y1)>10&&r.setAttribute("y",i.y1+i.h2/2+"")}})),M.forEach((e=>{M.forEach((t=>{if(e.parentNode!==t.parentNode&&!["marcato","legato","cresc.","Cantabile"].includes(e.textContent))if(["marcato","legato","cresc.","Cantabile"].includes(t.textContent)){if(collisionDetection(e,t,30,30).isCollision){const n=e.getBBox();t.setAttribute("x",n.x+n.width+5+""),t.setAttribute("y",n.y+n.height-5+"")}}else{const n=collisionDetection(e,t);n.isCollision&&t.setAttribute("y",n.y1+n.h1+n.h2+"")}}))}));for(let e=0;e<c.length;e++){let t=e+1;const n=c[e];let i=c[t],r=!1;for(;t<=c.length-1&&!r;){collisionDetection(n,i).isCollision?(r=!0,i.style.transform="translateY(-12px)"):(t+=1,i=c[t])}}}},collisionDetection=(e,t,n=0,i=0)=>{const r=e.getBBox(),o=t.getBBox();let s=r.y-i,a=r.x-n,l=r.x+r.width+n,c=r.y+r.height+i,u=o.y,h=o.x,d=o.x+o.width,p=o.y+o.height;return c<u||a>d||s>p||l<h?{isCollision:!1,t1:s,l1:a,r1:l,b1:c,t2:u,l2:h,r2:d,b2:p,x1:r.x,y1:r.y,x2:o.x,y2:o.y,h1:r.height,h2:o.height,w1:r.width,w2:o.width}:{isCollision:!0,t1:s,l1:a,r1:l,b1:c,t2:u,l2:h,r2:d,b2:p,x1:r.x,y1:r.y,x2:o.x,y2:o.y,h1:r.height,h2:o.height,w1:r.width,w2:o.width}},setGlobalMusicSheet=()=>{const e=query["part-index"]||"0",t=[{id:"12644",part_index:"25",direction:1}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));setGlobalData("tieDirection",t?t.direction:void 0);const n=[{id:"3509",part_index:"16",direction:1}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));n&&setGlobalData("graceCustom",{direction:n.direction});const i=[{id:"3030",part_index:"17",line:4},{id:"12704",part_index:"23",line:3}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));i&&setGlobalData("customBassDrum",i.line);const r=[{id:"11654",part_index:"16",stemNotes:[{id:124,direction:0},{id:125,direction:0},{id:126,direction:0},{id:127,direction:0},{id:128,direction:0}]},{id:"3581",part_index:"4",stemNotes:[{id:380,direction:1}]},{id:"3470",part_index:"0",stemNotes:[{id:36,direction:1},{id:37,direction:1}]},{id:"3470",part_index:"11",stemNotes:[{id:33,direction:1},{id:56,direction:1}]},{id:"12644",part_index:"22",stemNotes:[{id:22,direction:1},{id:26,direction:1},{id:135,direction:1},{id:163,direction:1},{id:199,direction:1},{id:204,direction:1},{id:206,direction:1},{id:208,direction:1},{id:210,direction:1},{id:213,direction:1}]},{id:"12303",part_index:"18",stemNotes:[{id:1,direction:1},{id:4,direction:1},{id:6,direction:1},{id:9,direction:1},{id:12,direction:1},{id:14,direction:1}]},{id:"12669",part_index:"24",stemNotes:[{id:65,direction:1},{id:296,direction:1},{id:298,direction:1},{id:300,direction:1},{id:338,direction:1}]},{id:"12420",part_index:"21",stemNotes:[{id:614,direction:0},{id:617,direction:0},{id:619,direction:0},{id:621,direction:0}]},{id:"12711",part_index:"22",stemNotes:[]},{id:"12973",part_index:"21",stemNotes:[{id:619,direction:1},{id:622,direction:1},{id:745,direction:1}]}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));r&&setGlobalData("stemDirectionNote",r.stemNotes);const o=[{id:"12711",part_index:"4",vfcurve:[{MeasureNumberXML:25,index:1,bezierEndControlPt:{y:-2}},{MeasureNumberXML:33,index:1,bezierEndControlPt:{y:-2}}]},{id:"12059",part_index:"0",vfcurve:[{MeasureNumberXML:15,bezierEndControlPt:{y:2.8},bezierEndPt:{y:1.1}},{MeasureNumberXML:16,bezierEndControlPt:{y:-1}},{MeasureNumberXML:19,index:1,bezierEndControlPt:{y:2}},{MeasureNumberXML:20,bezierEndControlPt:{y:-1}},{MeasureNumberXML:42,index:1,bezierEndControlPt:{y:-1.5},bezierStartControlPt:{y:-1.5}},{MeasureNumberXML:46,index:3,bezierEndControlPt:{y:-1.5},bezierStartControlPt:{y:-1.5}}]},{id:"12668",part_index:"11",vfcurve:[{MeasureNumberXML:8,index:2,bezierEndControlPt:{y:-3},bezierStartControlPt:{y:-3},bezierEndPt:{y:-1}}]},{id:"11976",part_index:"0",vfcurve:[{MeasureNumberXML:14,index:4,bezierEndControlPt:{y:-3}},{MeasureNumberXML:14,index:1,bezierEndPt:{y:1.5},bezierEndControlPt:{y:1}}]}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));o&&setGlobalData("vfcurveItem",o.vfcurve);const s=[{id:"12644",part_index:"25"}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));s&&setGlobalData("customArtPosition",!0);const a=[{id:"12645",part_index:"5"}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));a&&setGlobalData("customTenutoItem",!0);const l=[{id:"12711",part_index:"22"},{id:"12711",part_index:"25"}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));l&&setGlobalData("customAccentItem",!0);const c=[{id:"12711",part_index:"25"},{id:"7755",part_index:"10"},{id:"6226",part_index:"16"}].find((({id:t,part_index:n})=>t==state$1.cbsExamSongId&&n==e));c&&setGlobalData("customLefthandpizzicatoItem",!0)},setCustomGradual=exports("bo",(()=>{if(state$1.gradualTimes){const e=state$1.cbsExamSongId+"",t=state$1.partIndex+"";["12280"].includes(e)&&["24"].includes(t)&&(state$1.gradualTimes[8]="00:26:10",state$1.gradualTimes[66]="01:53:35",state$1.gradualTimes[90]="02:41:40")}})),setCustomNoteRealValue=exports("bp",(()=>{const e=state$1.cbsExamSongId+"",t=state$1.partIndex+"";["2670"].includes(e)&&(customData.customNoteRealValue={0:.03125}),["12673"].includes(e)&&["22"].includes(t)&&(customData.customNoteRealValue={208:.125}),["12667","12673"].includes(e)&&(customData.customNoteCurrentTime=!0)})),musicRenderTypeKey=exports("aC","musicRenderType");let osmd=null;const musicData=reactive({showSelection:!1,isRenderLoading:!0,score:"",containerWidth:0}),resetMusicScore=exports("ae",(()=>{var e;const t=(null===(e=document.getElementById("musicAndSelection"))||void 0===e?void 0:e.offsetWidth)||625;state$1.musicZoom=t/musicData.containerWidth})),resetRenderMusicScore=exports("aD",(e=>{const t=queryString.parse(location.search),n=queryString.stringify({...t,_t:Date.now(),musicRenderType:e});location.search="?"+n})),MusicScore=exports("ai",defineComponent({name:"music-score",emits:["rendered"],props:{showSelection:{type:Boolean,default:!0},renderTypeKey:{type:String,default:""},musicColor:{type:String,default:""},showPartNames:{type:Boolean,default:!1}},setup(e,{emit:t}){onMounted((async()=>{var n;musicData.containerWidth=(null===(n=document.getElementById("musicAndSelection"))||void 0===n?void 0:n.offsetWidth)||625,(()=>{const t=sessionStorage.getItem(e.renderTypeKey||musicRenderTypeKey);t in EnumMusicRenderType&&(state$1.musicRenderType=t)})(),await(async()=>{const e=await fetch(state$1.xmlUrl).then((e=>e.text())),t=formatXML(e);musicData.score=state$1.isCombineRender?t:onlyVisible(t,state$1.partIndex),state$1.gradualTimes&&(state$1.gradual=getGradualLengthByXml(t))})(),await(async()=>{const n=document.getElementById("musicAndSelection");if(!n||!musicData.score)return;setGlobalMusicSheet(),osmd=new OpenSheetMusicDisplay(n,{drawTitle:!1,drawSubtitle:!1,autoResize:!1,followCursor:!1,drawPartNames:e.showPartNames,drawComposer:!1,defaultColorMusic:e.musicColor}),osmd.EngravingRules.PageRightMargin=2,osmd.EngravingRules.PageTopMargin=10,osmd.EngravingRules.PageTopMarginNarrow=3,osmd.EngravingRules.PageLeftMargin=2,osmd.EngravingRules.PageBottomMargin=2,osmd.EngravingRules.DYMusicScoreType=state$1.musicRenderType===EnumMusicRenderType.staff?"staff":"jianpu",state$1.musicRenderType===EnumMusicRenderType.fixedTone&&(window.sett={keySignature:!0}),osmd.EngravingRules.DYMusicScoreId=state$1.examSongId||"",await osmd.load(musicData.score),osmd.zoom=state$1.zoom,osmd.render();const i=document.getElementById("osmdSvgPage1");state$1.osmdSvgDom=i,t("rendered",osmd),resetFormate(),resetGivenFormate(),musicData.showSelection=!0})(),musicData.isRenderLoading=!1}));const n=computed((()=>{var e;let t=!1;const n=(null===(e=state$1.times[state$1.activeNoteIndex])||void 0===e?void 0:e.measureListIndex)||-1;for(const[i,r]of state$1.gradual)if(i&&r&&(t=i.measureIndex<=n&&n<r.measureIndex,t))break;return t}));return()=>createVNode("div",{id:"musicAndSelection",style:{"--music-zoom":state$1.musicZoom},class:[n.value&&styles.inGradualRange,state$1.musicRenderType==EnumMusicRenderType.staff?"staff":"jianpuTone"]},[e.showSelection&&musicData.showSelection&&!state$1.isPreView&&!state$1.isEvaluatReport&&createVNode(Selection,null,null)])}})),Notfind=exports("ax",defineComponent({name:"notfund",render(){return createVNode(Empty,{image:"error",description:this.$route.path+" 路径不存在"},{default:()=>[createVNode(Button$1,{type:"primary",onClick:()=>this.$router.replace("/")},{default:()=>[createTextVNode("返回首页")]})]})}}))}}}))})();