PageSourceSearch

https://hamradioshop.pl/themes/AngarTheme/assets/cache/bottom-f68fa72692.js

js hamradioshop.pl collected 2026-10-04 03:33:46 UTC 2,723,180 bytes, 39,588 lines download raw bytes

1/*! For license information please see core.js.LICENSE.txt */
2(()=>{"use strict";var e={26:(e,t,n)=>{var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){var e;e={country:".js-country",address:".js-address-form"},(0,r.default)("body").on("change",e.country,(function(){var t={id_country:(0,r.default)(e.country).val(),id_address:(0,r.default)("".concat(e.address," form")).data("id-address")},n=(0,r.default)("".concat(e.address," form")).data("refresh-url"),i="".concat(e.address," input");r.default.post(n,t).then((function(t){var n=[];(0,r.default)(i).each((function(){n[(0,r.default)(this).prop("name")]=(0,r.default)(this).val()})),(0,r.default)(e.address).replaceWith(t.address_form),(0,r.default)(i).each((function(){(0,r.default)(this).val(n[(0,r.default)(this).prop("name")])})),o.default.emit("updatedAddressForm",{target:(0,r.default)(e.address),resp:t})})).fail((function(e){o.default.emit("handleError",{eventType:"updateAddressForm",resp:e})}))}))}))},999:(e,t,n)=>{var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){o.default.on("updateCart",(function(e){o.default.cart=e.resp.cart;var t=(0,r.default)(".js-cart").data("refresh-url");if(t){var n={};e&&e.reason&&(n={id_product_attribute:e.reason.idProductAttribute,id_product:e.reason.idProduct}),r.default.post(t,n).then((function(e){(0,r.default)(o.default.selectors.cart.detailedTotals).replaceWith(e.cart_detailed_totals),(0,r.default)(o.default.selectors.cart.summaryItemsSubtotal).replaceWith(e.cart_summary_items_subtotal),(0,r.default)(o.default.selectors.cart.summarySubTotalsContainer).replaceWith(e.cart_summary_subtotals_container),(0,r.default)(o.default.selectors.cart.summaryProducts).replaceWith(e.cart_summary_products),(0,r.default)(o.default.selectors.cart.summaryTotals).replaceWith(e.cart_summary_totals),(0,r.default)(o.default.selectors.cart.detailedActions).replaceWith(e.cart_detailed_actions),(0,r.default)(o.default.selectors.cart.voucher).replaceWith(e.cart_voucher),(0,r.default)(o.default.selectors.cart.overview).replaceWith(e.cart_detailed),(0,r.default)(o.default.selectors.cart.summaryTop).replaceWith(e.cart_summary_top),(0,r.default)(o.default.selectors.cart.productCustomizationId).val(0),(0,r.default)(o.default.selectors.cart.lineProductQuantity).each((function(e,t){var n=(0,r.default)(t);n.attr("value",n.val())})),(0,r.default)(o.default.selectors.checkout.cartPaymentStepRefresh).length&&(0,i.refreshCheckoutPage)(),o.default.emit("updatedCart",{eventType:"updateCart",resp:e})})).fail((function(e){o.default.emit("handleError",{eventType:"updateCart",resp:e})}))}}));var e=(0,r.default)("body");e.on("click",'[data-button-action="add-to-cart"]',(function(e){e.preventDefault();var t=(0,r.default)(e.currentTarget.form),n="".concat(t.serialize(),"&add=1&action=update"),i=t.attr("action"),a=(0,r.default)(e.currentTarget);a.prop("disabled",!0);var s,u=function(e){e.parents(o.default.selectors.product.addToCart).first().find(o.default.selectors.product.minimalQuantity).addClass("error"),e.parent().find("label").addClass("error")},c=t.find("input[min]");s=!0,c.each((function(e,t){var n=(0,r.default)(t),o=parseInt(n.attr("min"),10);o&&n.val()<o&&(u(n),s=!1)})),s?r.default.post(i,n,null,"json").then((function(e){o.default.emit("updateCart",{reason:{idProduct:e.id_product,idProductAttribute:e.id_product_attribute,idCustomization:e.id_customization,linkAction:"add-to-cart",cart:e.cart},resp:e})})).fail((function(e){o.default.emit("handleError",{eventType:"addProductToCart",resp:e})})).always((function(){setTimeout((function(){a.prop("disabled",!1)}),1e3)})):u(c)})),e.on("submit",'[data-link-action="add-voucher"]',(function(e){e.preventDefault();var t=(0,r.default)(e.currentTarget),n=t.attr("action");0===t.find("[name=action]").length&&t.append((0,r.default)("<input>",{type:"hidden",name:"ajax",value:1})),0===t.find("[name=action]").length&&t.append((0,r.default)("<input>",{type:"hidden",name:"action",value:"update"})),r.default.post(n,t.serialize(),null,"json").then((function(t){t.hasError?(0,r.default)(".js-error").show().find(".js-error-text").text(t.errors[0]):o.default.emit("updateCart",{reason:e.target.dataset,resp:t})})).fail((function(e){o.default.emit("handleError",{eventType:"updateCart",resp:e})}))}))}))},673:(e,t,n)=>
2{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){(0,r.default)(o.default.selectors.checkout.editAddresses).on("click",(function(e){e.stopPropagation(),(0,r.default)(o.default.selectors.checkout.addressesStep).trigger("click"),o.default.emit("editAddress")})),(0,r.default)(o.default.selectors.checkout.deliveryAddressRadios).on("click",(function(){(0,r.default)(o.default.selectors.checkout.addressItem).removeClass("selected"),(0,r.default)(o.default.selectors.checkout.addressItemChecked).addClass("selected");var e=(0,r.default)(o.default.selectors.checkout.addressError).prop("id").split("-").pop(),t=(0,r.default)(o.default.selectors.checkout.notValidAddresses).val(),n=this.name.split("_").pop(),i=(0,r.default)("".concat(o.default.selectors.checkout.addressError,"[name=alert-").concat(n,"]"));c(!1,e,n),""!==t&&null===s&&t.split(",").indexOf(this.value)>=0?(i.show(),c(!0,this.value,n),(0,r.default)(o.default.selectors.checkout.addressError).prop("id","id-failure-address-".concat(this.value))):i.hide();var a=(0,r.default)("".concat(o.default.selectors.checkout.addressError,":visible"));l(a.length<=0)}))};var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}var s=(0,i.psGetRequestParameter)("editAddress"),u=(0,i.psGetRequestParameter)("use_same_address");(0,r.default)(window).on("load",(function(){var e=(0,r.default)("".concat(o.default.selectors.checkout.addressError,":visible"));if(0===parseInt(u,10)&&(0,r.default)(o.default.selectors.checkout.invoiceAddresses).trigger("click"),(null!==s||(0,r.default)("".concat(o.default.selectors.checkout.addressForm,":visible")).length>1)&&e.hide(),e.length>0){var t=(0,r.default)(o.default.selectors.checkout.addressError).prop("id").split("-").pop();e.each((function(){c(!0,t,(0,r.default)(this).attr("name").split("-").pop())}))}e=(0,r.default)("".concat(o.default.selectors.checkout.addressError,":visible")),l(e.length<=0)}));var c=function(e,t,n){var o=(0,r.default)("#id-address-".concat(n,"-address-").concat(t," a.edit-address")),i=["text-info","address-item-invalid"];(0,r.default)("#".concat(n,"-addresses a.edit-address")).removeClass(i),o.toggleClass(i,e)},l=function(e){(0,r.default)("button[name=confirm-addresses]").prop("disabled",!e)}},107:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=(0,r.default)("body"),t=o.default.selectors.checkout.deliveryFormSelector,n=o.default.selectors.checkout.summarySelector,a=o.default.selectors.checkout.deliveryStepSelector,s=o.default.selectors.checkout.editDeliveryButtonSelector;e.on("change","".concat(t," input"),(function(e){var a=(0,r.default)(t),s=a.serialize(),u=(0,r.default)(e.currentTarget).parents(o.default.selectors.checkout.deliveryOption);r.default.post(a.data("url-update"),s).then((function(e){(0,r.default)(n).replaceWith(e.preview),(0,r.default)(o.default.selectors.checkout.cartPaymentStepRefresh).length&&(0,i.refreshCheckoutPage)(),o.default.emit("updatedDeliveryForm",{dataForm:a.serializeArray(),deliveryOption:u,resp:e})})).fail((function(e){o.default.trigger("handleError",{eventType:"updateDeliveryOptions",resp:e})}))})),e.on("click",s,(function(e){e.stopPropagation(),(0,r.default)(a).trigger("click"),o.default.emit("editDelivery")}))};var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}},870:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=new s;return e.init(),e};var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.confirmationSelector=o.default.selectors.checkout.confirmationSelector,this.conditionsSelector=o.default.selectors.checkout.conditionsSelector,this.conditionAlertSelector=o.default.selectors.checkout.conditionAlertSelector,this.additionalInformatonSelector=o.default.selectors.checkout.additionalInformatonSelector,this.optionsForm=o.default.selectors.checkout.optionsForm,this.termsCheckboxSelector=o.default.selectors.checkout.termsCheckboxSelector}var t,n;return t=e,(n=[{key:"init",value:function(){var e=(0,r.default)("body");e.on("change","".concat(this.conditionsSelector,' input[type="checkbox"]'),r.default.proxy(this.toggleOrderButton,this)),e.on("change",'input[name="payment-option"]',r.default.proxy(this.toggleOrderButton,this)),e.on("click","".concat(this.confirmationSelector," button"),r.default.proxy(this.confirm,this)),this.collapseOptions()}},{key:"collapseOptions",value:function(){(0,r.default)("".concat(this.additionalInformatonSelector,", ").concat(this.optionsForm)).hide()}},{key:"getSelectedOption",value:function(){return(0,r.default)('input[name="payment-option"]:checked').attr("id")}},{key:"haveTermsBeenAccepted",value:function(){return(0,r.default)(this.termsCheckboxSelector).prop("checked")}},{key:"hideConfirmation",value:function(){(0,r.default)(this.confirmationSelector).hide()}},{key:"showConfirmation",value:function(){(0,r.default)(this.confirmationSelector).show()}},{key:"toggleOrderButton",value:function(){var e=!0;(0,r.default)("".concat(this.conditionsSelector,' input[type="checkbox"]')).each((function(t,n){n.checked||(e=!1)})),o.default.emit("termsUpdated",{isChecked:e}),this.collapseOptions();var t=this.getSelectedOption();if(t||(e=!1),(0,r.default)("#".concat(t,"-additional-information")).show(),(0,r.default)("#pay-with-".concat(t,"-form")).show(),(0,r.default)(o.default.selectors.checkout.paymentBinary).hide(),(0,r.default)("#".concat(t)).hasClass("binary")){var n=this.getPaymentOptionSelector(t);this.hideConfirmation(),(0,r.default)(n).show(),document.querySelectorAll("".concat(n," button, ").concat(n," input")).forEac
2h((function(t){e?t.removeAttribute("disabled"):t.setAttribute("disabled",!e)})),e?(0,r.default)(n).removeClass("disabled"):(0,r.default)(n).addClass("disabled")}else this.showConfirmation(),(0,r.default)("".concat(this.confirmationSelector," button")).toggleClass("disabled",!e),(0,r.default)("".concat(this.confirmationSelector," button")).attr("disabled",!e),e?(0,r.default)(this.conditionAlertSelector).hide():(0,r.default)(this.conditionAlertSelector).show()}},{key:"getPaymentOptionSelector",value:function(e){var t=(0,r.default)("#".concat(e)).data("module-name");return".js-payment-".concat(t)}},{key:"showNativeFormErrors",value:function(){(0,r.default)("input[name=payment-option], ".concat(this.termsCheckboxSelector)).each((function(){this.reportValidity()}))}},{key:"confirm",value:function(){var e=this.getSelectedOption(),t=this.haveTermsBeenAccepted();void 0!==e&&!1!==t?((0,r.default)("".concat(this.confirmationSelector," button")).addClass("disabled"),(0,r.default)("#pay-with-".concat(e,"-form form")).submit()):this.showNativeFormErrors()}}])&&a(t.prototype,n),e}()},597:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}var c=o.default.selectors.checkout.currentStep,l=".".concat(c),d=function(){function e(){a(this,e),this.$steps=(0,r.default)(o.default.selectors.checkout.step),this.$steps.off("click"),this.$clickableSteps=(0,r.default)(l).prevAll().andSelf(),this.$clickableSteps.addClass("-clickable")}return u(e,[{key:"getClickableSteps",value:function(){return this.$clickableSteps}},{key:"makeCurrent",value:function(e){this.$steps.removeClass("-current"),this.$steps.removeClass(c),e.makeCurrent()}}],[{key:"getClickedStep",value:function(e){return new f((0,r.default)(e.target).closest(o.default.selectors.checkout.step))}}]),e}();t.default=d;var f=function(){function e(t){a(this,e),this.$step=t}return u(e,[{key:"isUnreachable",value:function(){return this.$step.hasClass("-unreachable")}},{key:"makeCurrent",value:function(){this.$step.addClass("-current"),this.$step.addClass(c)}},{key:"hasContinueButton",value:function(){return(0,r.default)("button.continue",this.$step).length>0}},{key:"disableAllAfter",value:function(){var e=this.$step.nextAll();e.addClass("-unreachable").removeClass("-complete"),(0,r.default)(o.default.selectors.checkout.stepTitle,e).addClass("not-allowed")}},{key:"enableAllBefore",value:function(){var e=this.$step.nextAll("".concat(o.default.selectors.checkout.step,".-clickable"));e.removeClass("-unreachable").addClass("-complete"),(0,r.default)(o.default.selectors.checkout.stepTitle,e).removeClass("not-allowed")}}]),e}()},982:(e,t,n)=>{var r=c(n(339)),o=c(n(825)),i=c(n(673)),a=c(n(107)),s=c(n(870)),u=c(n(597));function c(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){var e,t;1===(0,r.default)("#checkout").length&&((0,i.default)(),(0,a.default)(),(0,s.default)(),(e=new u.default).getClickableSteps().on("click",(function(t){var n=u.default.getClickedStep(t);n.isUnreachable()||(e.makeCurrent(n),n.hasContinueButton()?n.disableAllAfter():n.enableAllBefore()),o.default.emit("changedCheckoutStep",{event:t})})),t=o.default.selectors.checkout.form,(0,r.default)(t).submit((function(e){!0===(0,r.default)(this).data("disabled")&&e.preventDefault(),(0,r.default)(this).data("disabled",!0),(0,r.default)('button[type="submit"]',this).addClass("disabled")})))}))},988:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.psShowHide=function(){(0,o.default)(".ps-shown-by-js").show(),(0,o.default)(".ps-hidden-by-js").hide()},t.psGetRequestParameter=i,t.refreshCheckoutPage=function(){var e=i();if(e.updatedTransaction)window.location.reload();else{e.updatedTransaction=1;var t=Object.entries(e).map((function(e){return e.join("=")})).join("&");window.location.href="".concat(window.location.pathname,"?").concat(t)}};var r,o=(r=n(339))&&r.__esModule?r:{default:r};function i(e){var t={};return window.location.href.replace(location.hash,"").replace(/[?&]+([^=&]+)=?([^&]*)?/gi,(function(e,n,r){t[n]=void 0!==r?r:""})),void 0!==e?t[e]?t[e]:null:t}},247:(e,t,n)=>
2{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(339)),o=i(n(204));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=(0,r.default)(e);r.default.each(t,(function(e,t){if(!t.checkValidity()){var n=t.value.split("@");o.default.toASCII(n[0])===n[0]&&(t.value=o.default.toASCII(t.value))}}))}},432:(e,t,n)=>{var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}var a=null;function s(e){o.default.emit("updateProductList",e),window.history.pushState(e,document.title,e.current_url)}function u(e,t){return"abort"!==t}function c(e){a===e&&(a=null)}(0,r.default)(document).ready((function(){o.default.on("updateFacets",(function(e){!function(e){a&&a.abort();var t=e.indexOf("?")>=0?"&":"?",n="".concat(e+t,"from-xhr");a=r.default.ajax({url:n,dataType:"json",success:s,error:u,complete:c})}(e)}))}))},90:(e,t,n)=>{var r=i(n(339)),o=i(n(825));function i(e){return e&&e.__esModule?e:{default:e}}(0,r.default)(document).ready((function(){(0,r.default)("body").on("click",o.default.selectors.listing.quickview,(function(e){o.default.emit("clickQuickView",{dataset:(0,r.default)(e.target).closest(o.default.selectors.product.miniature).data()}),e.preventDefault()}))}))},52:(e,t,n)=>{var r,o=(r=n(339))&&r.__esModule?r:{default:r};void 0===o.default.migrateMute&&(o.default.migrateMute=!window.prestashop.debug)},226:(e,t,n)=>{var r=a(n(339)),o=a(n(825)),i=n(988);function a(e){return e&&e.__esModule?e:{default:e}}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){u(e,t,n[t])}))}return e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c=null,l=null,d=!1,f=[],p=!1;function h(e){var t,n,o;t=(0,r.default)(".quickview #product-availability, .page-product:not(.modal-open) .row #product-availability, .page-product:not(.modal-open) .product-container #product-availability"),n=e,o=(0,r.default)('<div class="alert alert-danger ajax-error" role="alert">'.concat(n,"</div>")),t.replaceWith(o)}function v(e){var t=(0,r.default)(e.$targetParent.find(e.targetSelector));if(!(t.length<=0)){var n=e.$addToCartSnippet.find(e.targetSelector);n.length>0?t.replaceWith(n[0].outerHTML):t.html("")}}(0,r.default)(document).ready((function(){var e=(0,r.default)(o.default.selectors.product.actions);(0,r.default)("body").on("change touchspin.on.startspin","".concat(o.default.selectors.product.variants," *[name]"),(function(e){p=!0,o.default.emit("updateProduct",{eventType:"updatedProductCombination",event:e,resp:{},reason:{productUrl:o.default.urls.pages.product||""}})})),(0,r.default)(e.find("form:first").serializeArray()).each((function(e,t){var n=t.value,r=t.name;f.push({value:n,name:r})})),window.addEventListener("popstate",(function(e){if(d=!0,!(!e.state||e.state&&e.state.form&&0===e.state.form.length)||p){var t=(0,r.default)(o.default.selectors.product.actions).find("form:first");e.state&&e.state.form?e.state.form.forEach((function(e){t.find('[name="'.concat(e.name,'"]')).val(e.value)})):f.forEach((function(e){t.find('[name="'.concat(e.name,'"]')).val(e.value)})),o.default.emit("updateProduct",{eventType:"updatedProductCombination",event:e,resp:{},reason:{productUrl:o.default.urls.pages.product||""}})}})),(0,r.default)("body").on("click",o.default.selectors.product.refresh,(function(e,t){e.preventDefault();var n="updatedProductCombination";void 0!==t&&t.eventType&&(n=t.eventType),o.default.emit("updateProduct",{eventType:n,event:e,resp:{},reason:{productUrl:o.default.urls.pages.product||""}})})),o.default.on("updateProduct",(function(e){var t=e.eventType,n=e.event;(function(){var e=r.default.Deferred(),t=(0,r.default)(o.default.selectors.product.actions),n=(0,r.default)(o.default.selectors.quantityWanted);if(null!==o.default&&null!==o.default.urls&&null!==o.default.urls.pages&&""!==o.default.urls.pages.product&&null!==o.default.urls.pages.product)return e.resolve(o.default.urls.pages.product),e.promise();var i={};return(0,r.default)(t.find("form:first").serializeArray()).each((function(e,t){i[t.name]=t.value})),r.default.ajax({url:t.find("form:first").attr("action"),method:"POST",data:s({ajax:1,action:"productrefresh",quantity_wanted:n.val()},i),dataType:"json",success:function(t){var n=t.productUrl;o.default.page.canonical=n,e.resolve(n)},error:function(t,n,r){e.reject({jqXHR:t,textStatus:n,errorThrown:r})}}),e.promise()})().done((function(e){return function(e,t,n){var a,s=(0,r.default)(o.default.selectors.product.actions),u=s.find(o.default.selectors.quantityWanted),d=s.find("form:first"),f=d.serialize(),p=(0,i.psGetRequestParameter)("preview");if("function"==typeof Event?a=new Event("updateRating"):(a=document.createEvent("Event")).initEvent("updateRating",!0,!0),p=null!==p?"&preview=".concat(p):"",null!==n){if(!e||"keyup"!==e.type||u.val()!==u.data("old-value")){u.data("old-value",u.val()),l&&clearTimeout(l);var m=30;"updatedProductQuantity"===t&&(m=750),l=setTimeout((function(){""!==f&&(c=r.default.ajax({url:n+(-1===n.indexOf("?")?"?":"&")+f+p,method:"POST",data:{quickview:(0,r.default)(".modal.quickview.in").length,ajax:1,action:"refresh",quantity_wanted:"updatedProductCombination"===t?u.attr("min"):u.val()},dataType:"json",beforeSend:function(){null!==c&&c.abort()},error:function(e,t){"abort"!==t&&0===(0,r.default)("section#main > .ajax-error").length&&h()},success:function(e){var n=(0,r.default)("<div>").append(e.product_cover_thumbnails);(0,r.default)(o.default.selectors.product.imageContainer).html()!==n.find(o.default.selectors.product.imageContainer).html()&&(0,r.default)(o.default.selectors.product.imageContainer).replaceWith(e.product_cover_thumbnails),(0,r.default)(o.default.selectors.product.prices).first().replaceWith(e.product_prices),(0,r.default)(o.default.selectors.product.customization).first().replaceWith(e.product_customization),(0,r.default)(o.default.selectors.product.inputCustomization).val(0),(0,r.default)(o.default.selectors.product.variantsUpdate).first().replaceWith(e.product_variants),(0,r.default)(o.default.selectors.product.discounts).first().replaceWith(e.product_discounts),(0,r.default)(o.default.selectors.product.additionalInfos).first().replaceWith(e.product_additional_info),(0,r.default)(o.default.selectors.product.details).replaceWith(e.product_details),(0,r.default)(o.default.selectors.product.flags).first().replaceWith(e.product_flags),function(e){var t=null;(0,r.default)(e.product_add_to_cart).each((function(e,n){return!(0,r.default)(n).hasClass("product-add-to-cart")||(t=(0,r.default)(n),!1)})),null===t&&h();var n=(0,r.default)(o.default.selectors.product.addToCart);v({$addToCartSnippet:t,$targetParent:n,targetSelector:".add"}),v({$addToCartSnippet:t,$targetParent:n,targetSelector:"#product-availability"}),v({$addToCartSnippet:t,$targetParent:n,targetSelector:".product-minimal-quantity"})}(e);var i=parseInt(e.product_minimal_quantity,10);document.dispatchEvent(a),isNaN(i)||"updatedProductQuantity"===t||(u.attr("min",i),u.val(i)),o.default.emit("updatedProduct",e,d.serializeArray())},complete:function(){c=null,l=null}}))}),m)}}else h()}(n,t,e)})).fail((function(){0===(0,r.default)("section#main > .ajax-error").length&&h()}))})),o.default.on("updatedProduct",(function(e,t){if(e.product_url&&e.id_product_attribute&&!(0,r.default)(".modal.quickview").length){var n=document.title;e.product_title&&(n=e.product_title,(0,r.default)(document).attr("title",n)),d||window.history.pushState({id_product_attribute:e.id_product_attribute,form:t},n,e.product_url),d=!1}})),o.default.on("updateCart",(function(e){e&&e.reason&&"add-to-cart"===e.reason.linkAction&&(0,r.default)("#quantity_wanted").val(1)})),o.default.on("showErrorNextToAddtoCartButton",(function(e){e&&e.errorMessage&&h(e.errorMessage)}))}))},965:(e,t,n)=>{var r=i(n(825)),o=i(n(339));
2function i(e){return e&&e.__esModule?e:{default:e}}r.default.selectors={quantityWanted:"#quantity_wanted",product:{imageContainer:".quickview .images-container, .page-product:not(.modal-open) .row .images-container, .page-product:not(.modal-open) .product-container .images-container, .quickview .js-images-container, .page-product:not(.modal-open) .row .js-images-container, .page-product:not(.modal-open) .product-container .js-images-container",container:".product-container, .js-product-container",availability:"#product-availability, .js-product-availability",actions:".product-actions, .js-product-actions",variants:".product-variants, .js-product-variants",refresh:".product-refresh, .js-product-refresh",miniature:".js-product-miniature",minimalQuantity:".product-minimal-quantity, .js-product-minimal-quantity",addToCart:".quickview .product-add-to-cart, .page-product:not(.modal-open) .row .product-add-to-cart, .page-product:not(.modal-open) .product-container .product-add-to-cart, .quickview .js-product-add-to-cart, .page-product:not(.modal-open) .row .js-product-add-to-cart, .page-product:not(.modal-open) .product-container .js-product-add-to-cart",prices:".quickview .product-prices, .page-product:not(.modal-open) .row .product-prices, .page-product:not(.modal-open) .product-container .product-prices, .quickview .js-product-prices, .page-product:not(.modal-open) .row .js-product-prices, .page-product:not(.modal-open) .product-container .js-product-prices",inputCustomization:'.product-actions input[name="id_customization"], .js-product-actions .js-product-customization-id',customization:".quickview .product-customization, .page-product:not(.modal-open) .row .product-customization, .page-product:not(.modal-open) .product-container .product-customization, .quickview .js-product-customization, .page-product:not(.modal-open) .row .js-product-customization, .page-product:not(.modal-open) .product-container .js-product-customization",variantsUpdate:".quickview .product-variants, .page-product:not(.modal-open) .row .product-variants, .page-product:not(.modal-open) .product-container .product-variants, .quickview .js-product-variants, .page-product:not(.modal-open) .row .js-product-variants, .page-product:not(.modal-open) .js-product-container .js-product-variants",discounts:".quickview .product-discounts, .page-product:not(.modal-open) .row .product-discounts, .page-product:not(.modal-open) .product-container .product-discounts, .quickview .js-product-discounts, .page-product:not(.modal-open) .row .js-product-discounts, .page-product:not(.modal-open) .product-container .js-product-discounts",additionalInfos:".quickview .product-additional-info, .page-product:not(.modal-open) .row .product-additional-info, .page-product:not(.modal-open) .product-container .product-additional-info, .quickview .js-product-additional-info, .page-product:not(.modal-open) .row .js-product-additional-info, .page-product:not(.modal-open) .js-product-container .js-product-additional-info",details:".quickview #product-details, #product-details, .quickview .js-product-details, .js-product-details",flags:".quickview .product-flags, .page-product:not(.modal-open) .row .product-flags, .page-product:not(.modal-open) .product-container .product-flags, .quickview .js-product-flags, .page-product:not(.modal-open) .row .js-product-flags, .page-product:not(.modal-open) .js-product-container .js-product-flags"},listing:{quickview:".quick-view, .js-quick-view"},checkout:{form:".checkout-step form",currentStep:"js-current-step",step:".checkout-step",stepTitle:".step-title, .js-step-title",confirmationSelector:"#payment-confirmation button, .js-payment-confirmation",conditionsSelector:'#conditions-to-approve input[type="checkbox"], .js-conditions-to-approve',conditionAlertSelector:".js-alert-payment-conditions",additionalInformatonSelector:".js-additional-information",optionsForm:".js-payment-option-form",termsCheckboxSelector:'#conditions-to-approve input[name="conditions_to_approve[terms-and-conditions]"], .js-conditions-to-approve input[name="conditions_to_approve[terms-and-conditions]"]',paymentBinary:".payment-binary, .js-payment-binary",deliveryFormSelector:"#js-delivery",summarySelector:"#js-checkout-summary",deliveryStepSelector:"#checkout-delivery-step",editDeliveryButtonSelector:".js-edit-delivery",deliveryOption:".delivery-option, .js-delivery-option",cartPaymentStepRefresh:".js-cart-payment-step-refresh",editAddresses:".js-edit-addresses",deliveryAddressRadios:"#delivery-addresses input[type=radio], #invoice-addresses input[type=radio], .js-address-selector input[type=radio]",addressItem:".address-item, .js-address-item",addressesStep:"#checkout-addresses-step",addressItemChecked:".address-item:has(input[type=radio]:checked), .js-address-item:has(input[type=radio]:checked)",addressError:".js-address-error",n
2otValidAddresses:"#not-valid-addresses, .js-not-valid-addresses",invoiceAddresses:"#invoice-addresses, .js-address-selector",addressForm:".js-address-form"},cart:{detailedTotals:".cart-detailed-totals, .js-cart-detailed-totals",summaryItemsSubtotal:".cart-summary-items-subtotal, .js-cart-summary-items-subtotal",summarySubTotalsContainer:".cart-summary-subtotals-container, .js-cart-summary-subtotals-container",summaryTotals:".cart-summary-totals, .js-cart-summary-totals",summaryProducts:".cart-summary-products, .js-cart-summary-products",detailedActions:".cart-detailed-actions, .js-cart-detailed-actions",voucher:".cart-voucher, .js-cart-voucher",overview:".cart-overview",summaryTop:".cart-summary-top, .js-cart-summary-top",productCustomizationId:"#product_customization_id, .js-product-customization-id",lineProductQuantity:".js-cart-line-product-quantity"}},(0,o.default)(document).ready((function(){r.default.emit("selectorsInit")}))},827:(e,t,n)=>{var r,o,i;o=[n(339)],void 0===(i="function"==typeof(r=function(e){var t=e.fn.init;e.fn.init=function(e){var n=Array.prototype.slice.call(arguments);"string"==typeof e&&"#"===e&&(console.warn("jQuery('#') is not a valid selector"),n[0]=[]);var r=t.apply(this,arguments);return r.selector="string"==typeof e?e:"",r},e.fn.init.prototype=e.fn,void 0!==e.fn.live&&e.isFunction(e.fn.live)||e.fn.extend({live:function(t,n,r){return this.selector&&e(document).on(t,this.selector,n,r),console.warn("jQuery.live() has been removed since jquery v1.9, please use jQuery.on() instead."),this}})})?r.apply(t,o):r)||(e.exports=i)},291:e=>{function t(e){return(t="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})(e)}var n,r="object"===("undefined"==typeof Reflect?"undefined":t(Reflect))?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};n=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function o(n){e.removeListener(t,i),r(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}m(e,t,i,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,o)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var s=10;function u(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+t(e))}function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var o,i,a,s;if(u(n),void 0===(i=e._events)?(i=e._events=Object.create(null),e._eventsCount=0):(void 0!==i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]),void 0===a)a=i[t]=n,++e._eventsCount;else if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(o=c(e))>0&&a.length>o&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,s=l,console&&console.warn&&console.warn(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=d.bind(r);return o.listener=n,r.wrapFn=o,o}function p(e,t,n){var r=e._events;if(void 0===r)return[];var o=r[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):v(o,o.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function v(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function m(e,n,r,o){if("function"==typeof e.on)o.once?e.once(n,r):e.on(n,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+t(e));e.addEventListener(n,(function t(i){o.once&&e.removeEventListener(n,t),r(i)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)o(u,this,t);else{var c=u.length,l=v(u,c);for(n=0;n<c;++n)o(l[n],this,t)}return!0},a.prototype.addListener=function(e,t){return l(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return l(this,e,t,!0)},a.prototype.once=function(e,t){return u(t),this.on(e,f(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,f(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,o,i,a;if(u(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit
2("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length-1;i>=0;i--)if(n[i]===t||n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,a||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,i=Object.keys(n);for(r=0;r<i.length;++r)"removeListener"!==(o=i[r])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},a.prototype.listenerCount=h,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},882:(e,t,n)=>{var r,o;function i(e){return(i="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})(e)}r=[n(339)],void 0===(o=function(e){return function(e,t){function n(t){return function(e,t){for(var n=/^(\d+)\.(\d+)\.(\d+)/,r=n.exec(e)||[],o=n.exec(t)||[],i=1;i<=3;i++){if(+r[i]>+o[i])return 1;if(+r[i]<+o[i])return-1}return 0}(e.fn.jquery,t)>=0}e.migrateVersion="3.1.0",t.console&&t.console.log&&(e&&n("3.0.0")||t.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),e.migrateWarnings&&t.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),t.console.log("JQMIGRATE: Migrate is installed"+(e.migrateMute?"":" with logging active")+", version "+e.migrateVersion));var r={};function o(n){var o=t.console;r[n]||(r[n]=!0,e.migrateWarnings.push(n),o&&o.warn&&!e.migrateMute&&(o.warn("JQMIGRATE: "+n),e.migrateTrace&&o.trace&&o.trace()))}function a(e,t,n,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return o(r),n},set:function(e){o(r),n=e}})}function s(e,t,n,r){e[t]=function(){return o(r),n.apply(this,arguments)}}e.migrateWarnings=[],void 0===e.migrateTrace&&(e.migrateTrace=!0),e.migrateReset=function(){r={},e.migrateWarnings.length=0},"BackCompat"===t.document.compatMode&&o("jQuery is not compatible with Quirks Mode");var u,c=e.fn.init,l=e.isNumeric,d=e.find,f=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,p=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;for(u in e.fn.init=function(e){var t=Array.prototype.slice.call(arguments);return"string"==typeof e&&"#"===e&&(o("jQuery( '#' ) is not a valid selector"),t[0]=[]),c.apply(this,t)},e.fn.init.prototype=e.fn,e.find=function(e){var n=Array.prototype.slice.call(arguments);if("string"==typeof e&&f.test(e))try{t.document.querySelector(e)}catch(r){e=e.replace(p,(function(e,t,n,r){return"["+t+n+'"'+r+'"]'}));try{t.document.querySelector(e),o("Attribute selector with '#' must be quoted: "+n[0]),n[0]=e}catch(e){o("Attribute selector with '#' was not fixed: "+n[0])}}return d.apply(this,n)},d)Object.prototype.hasOwnProperty.call(d,u)&&(e.find[u]=d[u]);e.fn.size=function(){return o("jQuery.fn.size() is deprecated and removed; use the .length property"),this.length},e.parseJSON=function(){return o("jQuery.parseJSON is deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},e.isNumeric=function(t){var n,r,i=l(t),a=(r=(n=t)&&n.toString(),!e.isArray(n)&&r-parseFloat(r)+1>=0);return i!==a&&o("jQuery.isNumeric() should not be called on constructed objects"),a},n("3.3.0")&&s(e,"isWindow",(function(e){return null!=e&&e===e.window}),"jQuery.isWindow() is deprecated"),s(e,"holdReady",e.holdReady,"jQuery.holdReady is deprecated"),s(e,"unique",e.uniqueSort,"jQuery.unique is deprecated; use jQuery.uniqueSort"),a(e.expr,"filters",e.expr.pseudos,"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),a(e.expr,":",e.expr.pseudos,"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),n("3.2.0")&&s(e,"nodeName",e.nodeName,"jQuery.nodeName is deprecated");var h=e.ajax;e.ajax=function(){var e=h.apply(this,arguments);return e.promise&&(s(e,"success",e.done,"jQXHR.success is deprecated and removed"),s(e,"error",e.fail,"jQXHR.error is deprecated and removed"),s(e,"complete",e.always,"jQXHR.complete is deprecated and removed")),e};var v=e.fn.removeAttr,m=e.fn.toggleClass,y=/\S+/g;e.fn.removeAttr=function(t){var n=this;return e.each(t.match(y),(function(t,r){e.expr.match.bool.test(r)&&(o("jQuery.fn.removeAttr no longer sets boolean properties: "+r),n.prop(r,!1))})),v.apply(this,arguments)},e.fn.toggleClass=function(t){return void 0!==t&&"boolean"!=typeof t?m.apply(this,arguments):(o("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each((function(){var n=this.getAttribute&&this.getAttribute("class")||"";n&&e.data(this,"__className__",n),this.setAttribute&&this.setAttribute("class",n||!1===t?"":e.data(this,"__className__")||"")})))};var g=!1;e.swap&&e.each(["height","width","reliableMarginRight"],(function(t,n){var r=e.cssHooks[n]&&e.cssHooks[n].get;r&&(e.cssHooks[n].get=function(){var e;return g=!0,e=r.apply(this,arguments),g=!1,e})})),e.swap=function(e,t,n,r){var i,a,s={};for(a in g||o("jQuery.swap() is undocumented and deprecated"),t)s[a]=e.style[a],e.style[a]=t[a];for(a in i=n.apply(e,r||[]),t)e.style[a]=s[a];return i};var b=e.data;e.data=function(t,n,r){var a;if(n&&"object"===i(n)&&2===arguments.length){a=e.hasData(t)&&b.call(this,t);var s={};for(var u in n)u!==e.camelCase(u)?(o("jQuery.data() always sets/gets camelCased names: "+u),a[u]=n[u]):s[u]=n[u];return b.call(this,t,s),n}return n&&"string"==typeof n&&n!==e.camelCase(n)&&(a=e.hasData(t)&&b.call(this,t))&&n in a?(o("jQuery.data() always sets/gets camelCased names: "+n),arguments.length>2&&(a[n]=r),a[n]):b.apply(this,arguments)};var x=e.Tween.prototype.run,w=function(e){return e};e.Tween.prototype.run=function(){e.easing[this.easing].length>1&&(o("'jQuery.easing."+this.easing.toString()+"' should use only one argument"),e.easing[this.easing]=w),x.apply(this,arguments)};var k=e.fx.interval||13,C="jQuery.fx.interval is deprecated";t.requestAnimationFrame&&Object.defineProperty(e.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return t.document.hidden||o(C),k},set:function(e){o(C),k=e}});var j=e.fn.load,T=e.event.add,S=e.event.fix;e.event.props=[],e.event.fixHooks={},a(e.event.props,"concat",e.event.props.concat,"jQuery.event.props.concat() is deprecated and removed"),e.event.fix=function(t){var n,r=t.type,i=this.fixHooks[r],a=e.event.props;if(a.length)for(o("jQuery.event.props are deprecated and removed: "+a.join());a.length;)e.event.addProp(a.pop());if(i&&!i._migrated_&&(i._migrated_=!0,o("jQuery.event.fixHooks are deprecated and removed: "+r),(a=i.props)&&a.length))for(;a.length;)e.event.addProp(a.pop());return n=S.call(this,t),i&&i.filter?i.filter(n,t):n},e.event.add=function(e,n){return e===t&&"load"===n&&"complete"===t.document.readyState&&o("jQuery(window).on('load'...) called after load event occurred"),T.apply(this,arguments)},e.each(["load","unload","error"],(function(t,n){e.fn[n]=function(){var e=Array.prototype.slice.call(arguments,0);return"load"===n&&"string"==typeof e[0]?j.apply(this,e):(o("jQuery.fn."+n+"() is deprecated"),e.splice(0,0,n),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))}})),e.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(t,n){e.fn[n]=function(e,t){return o("jQuery.fn."+n+"() event shorthand is deprecated"),arguments.length>0?this.on(n,null,e,t):this.trigger(n)}})),e((function(){e(t.document).triggerHandler("ready")})),e.event.special.ready={setup:function(){this===t.document&&o("'ready' event is deprecated")}},e.fn.extend({bind:function(e,t,n){return o("jQuery.fn.bind() is deprecated"),this.on(e,null,t,n)},unbind:function(e,t){return o("jQuery.fn.unbind() is deprecated"),this.off(e,null,t)},delegate:function(e,t,n,r){return o("jQuery.fn.delegate() is deprecated"),this.on(t,e,n,r)},undelegate:function(e,t,n){return o("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return o("jQuery.fn.hover() is deprecated"),this.on("mouseenter",e).on("mouseleave",t||e)}});var A=e.fn.offset;e.fn.offset=function(){var n,r=this[0],i={top:0,left:0};return r&&r.nodeType?(n=(r.ownerDocument||t.document).documentElement,e.contains(n,r)?A.apply(this,arguments):(o("jQuery.fn.offset() requires an element connected to a document"),i)):(o("jQuery.fn.offset() requires a valid DOM element"),i)};var E=e.param;e.param=function(t,n){var r=e.ajaxSettings&&e.ajaxSettings.traditional;return void 0===n&&r&&(o("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),n=r),E.call(this,t,n)};var _=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return o("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),_.apply(this,arguments)};var N=e.Deferred,q=[["resolve","done",e.Callbacks("once memory"),e.Callbacks("once memory"),"resolved"],["reject","fail",e.Callbacks("once memory"),e.Callbacks("once memory"),"rejected"],["notify","progress",e.Callbacks("memory"),e.Callbacks("memory")]];return e.Deferred=function(t){var n=N(),r=n.promise();return n.pipe=r.pipe=function(){var t=arguments;return o("deferred.pipe() is deprecated"),e.Deferred((function(o){e.each(q,(function(i,a){var s=e.isFunction(t[i])&&t[i];n[a[1]]((function(){var t=s&&s.apply(this,arguments);t&&e.isFunction(t.promise)?t.promise().done(o.resolve).fail(o.reject).progress(o.notify):o[a[0]+"With"](this===r?o.promise():this,s?[t]:arguments)}))})),t=null})).promise()},t&&t.call(n,n),n},e.Deferred.exceptionHook=N.exceptionHook,e}(e,window)}.apply(t,r))||(e.exports=o)},165:(e,t,n)=>{var r,o;r=[n(339)],void 0===(o=function(e){return function(e){function t(e){void 0===e&&(e=window.navigator.userAgent),e=e.toLowerCase();var t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[],r={},o={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",versionNumber:t[4]||t[2]||"0",platform:n[0]||""};if(o.browser&&(r[o.browser]=!0,r.version=o.version,r.versionNumber=parseInt(o.versionNumber,10)),o.platform&&(r[o.platform]=!0),(r.android||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r["windows phone"])&&(r.mobile=!0),(r.cros||r.mac||r.linux||r.win)&&(r.desktop=!0),(r.chrome||r.opr||r.safari)&&(r.webkit=!0),r.rv||r.iemobile){var i="msie";o.browser=i,r[i]=!0}if(r.edge){delete r.edge;var a="msedge";o.browser=a,r.msedge=!0}if(r.safari&&r.blackberry){var s="blackberry";o.browser=s,r.blackberry=!0}if(r.safari&&r.playbook){var u="playbook";o.browser=u,r.playbook=!0}if(r.bb){var c="blackberry";o.browser=c,r[c]=!0}if(r.opr){var l="opera";o.browser=l,r.opera=!0}if(r.safari&&r.android){var d="android";o.browser=d,r.android=!0}if(r.safari&&r.kindle){var f="kindle";o.browser=f,r.kindle=!0}if(r.safari&&r.silk){var p="silk";o.browser=p,r.silk=!0}return r.name=o.browser,r.platform=o.platform,r}return window.jQBrowser=t(window.navigator.userAgent),window.jQBrowser.uaMatch=t,e&&(e.browser=window.jQBrowser),window.jQBrowser}(e)}.apply(t,r))||(e.exports=o)}
vendor: 6,529 bytes, line 2
2,339:(e,t,n)=>{var r,o,i;function a(e){return(a="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})(e)}e=n.nmd(e),o="undefined"!=typeof window?window:void 0,i=function(n,o){var i=[],s=Object.getPrototypeOf,u=i.slice,c=i.flat?function(e){return i.flat.call(e)}:function(e){return i.concat.apply([],e)},l=i.push,d=i.indexOf,f={},p=f.toString,h=f.hasOwnProperty,v=h.toString,m=v.call(Object),y={},g=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},b=function(e){return null!=e&&e===e.window},x=n.document,w={type:!0,src:!0,nonce:!0,noModule:!0};function k(e,t,n){var r,o,i=(n=n||x).createElement("script");if(i.text=e,t)for(r in w)(o=t[r]||t.getAttribute&&t.getAttribute(r))&&i.setAttribute(r,o);n.head.appendChild(i).parentNode.removeChild(i)}function C(e){return null==e?e+"":"object"===a(e)||"function"==typeof e?f[p.call(e)]||"object":a(e)}var j="3.5.1",T=function e(t,n){return new e.fn.init(t,n)};function S(e){var t=!!e&&"length"in e&&e.length,n=C(e);return!g(e)&&!b(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}T.fn=T.prototype={jquery:j,constructor:T,length:0,toArray:function(){return u.call(this)},get:function(e){return null==e?u.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=T.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return T.each(this,e)},map:function(e){return this.pushStack(T.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(u.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(T.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(T.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:l,sort:i.sort,splice:i.splice},T.extend=T.fn.extend=function(){var e,t,n,r,o,i,s=arguments[0]||{},u=1,c=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[u]||{},u++),"object"===a(s)||g(s)||(s={}),u===c&&(s=this,u--);u<c;u++)if(null!=(e=arguments[u]))for(t in e)r=e[t],"__proto__"!==t&&s!==r&&(l&&r&&(T.isPlainObject(r)||(o=Array.isArray(r)))?(n=s[t],i=o&&!Array.isArray(n)?[]:o||T.isPlainObject(n)?n:{},o=!1,s[t]=T.extend(l,i,r)):void 0!==r&&(s[t]=r));return s},T.extend({expando:"jQuery"+(j+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==p.call(e)||(t=s(e))&&("function"!=typeof(n=h.call(t,"constructor")&&t.constructor)||v.call(n)!==m))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){k(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(S(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(S(Object(e))?T.merge(n,"string"==typeof e?[e]:e):l.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:d.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(e,t,n){var r,o,i=0,a=[];if(S(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return c(a)},guid:1,support:y}),"function"==typeof Symbol&&(T.fn[Symbol.iterator]=i[Symbol.iterator]),T.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){f["[object "+t+"]"]=t.toLowerCase()}));var A=function(e){var t,n,r,o,i,a,s,u,c,l,d,f,p,h,v,m,y,g,b,x="sizzle"+1*new Date,w=e.document,k=0,C=0,j=ue(),T=ue(),S=ue(),A=ue(),E=function(e,t){return e===t&&(d=!0),0},_={}.hasOwnProperty,N=[],q=N.pop,D=N.push,L=N.push,O=N.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},M="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",H="[\\x20\\t\\r\\n\\f]",R="(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",I="\\[[\\x20\\t\\r\\n\\f]*("+R+")(?:"+H+"*([*^$|!~]?=)"+H+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+H+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",F=new RegExp(H+"+","g"),$=new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),Q=new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),B=new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),z=new RegExp(H+"|>"),U=new RegExp(W),X=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+M+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,J=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,oe=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){f()},ae=xe((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{L.apply(N=O.call(w.childNodes),w.childNodes),N[w.childNodes.length].nodeType}catch(e){L={apply:N.length?function(e,t){D.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,o){var i,s,c,l,d,h,y,g=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;
vendor: 7,572 bytes, line 2
2if(!o&&(f(t),t=t||p,v)){if(11!==w&&(d=Z.exec(e)))if(i=d[1]){if(9===w){if(!(c=t.getElementById(i)))return r;if(c.id===i)return r.push(c),r}else if(g&&(c=g.getElementById(i))&&b(t,c)&&c.id===i)return r.push(c),r}else{if(d[2])return L.apply(r,t.getElementsByTagName(e)),r;if((i=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!A[e+" "]&&(!m||!m.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,g=t,1===w&&(z.test(e)||B.test(e))){for((g=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((l=t.getAttribute("id"))?l=l.replace(re,oe):t.setAttribute("id",l=x)),s=(h=a(e)).length;s--;)h[s]=(l?"#"+l:":scope")+" "+be(h[s]);y=h.join(",")}try{return L.apply(r,g.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{l===x&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,o)}function ue(){var e=[];return function t(n,o){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=o}}function ce(e){return e[x]=!0,e}function le(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),o=n.length;o--;)r.attrHandle[n[o]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ve(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function me(e){return ce((function(t){return t=+t,ce((function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!G.test(t||n&&n.nodeName||"HTML")},f=se.setDocument=function(e){var t,o,a=e?e.ownerDocument||e:w;return a!=p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,v=!i(p),w!=p&&(o=p.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",ie,!1):o.attachEvent&&o.attachEvent("onunload",ie)),n.scope=le((function(e){return h.appendChild(e).appendChild(p.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=le((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=le((function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(p.getElementsByClassName),n.getById=le((function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&v){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&v){var n,r,o,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&v)return t.getElementsByClassName(e)},y=[],m=[],(n.qsa=K.test(p.querySelectorAll))&&(le((function(e){var t;h.appendChild(e).innerHTML="<a id='"+x+"'></a><select id='"+x+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+M+")"),e.querySelectorAll("[id~="+x+"-]").length||m.push("~="),(t=p.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||m.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||m.push(".#.+[+~]"),e.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")})),le((function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")}))),(n.matchesSelector=K.test(g=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&le((function(e){n.disconnectedMatch=g.call(e,"*"),g.call(e,"[s!='']:x"),y.push("!=",W)})),m=m.length&&new RegExp(m.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),b=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},E=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==p||e.ownerDocument==w&&b(w,e)?-1:t==p||t.ownerDocument==w&&b(w,t)?1:l?P(l,e)-P(l,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!o||!i)return e==p?-1:t==p?1:o?-1:i?1:l?P(l,e)-P(l,t):0;if(o===i)return fe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?fe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(f(e),n.matchesSelector&&v&&!A[t+" "]&&(!y||!y.test(t))&&(!m||!m.test(t)))try{var r=g.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=p&&f(e),b(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=p&&f(e);var o=r.attrHandle[t.toLowerCase()],i=o&&_.call(r.attrHandle,t.toLowerCase())?o(e,t,!v):void 0;return void 0!==i?i:n.attributes||!v?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},se.escape=function(e){return(e+"").replace(re,oe)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],o=0,i=0;if(d=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(E),d){for(;t=e[i++];)t===e[i]&&(o=r.push(i));for(;o--;
vendor: 10,446 bytes, line 2
2)e.splice(r[o],1)}return l=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=j[e+" "];return t||(t=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+e+"("+H+"|$)"))&&j(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var o=se.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,d,f,p,h,v=i!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),g=!u&&!s,b=!1;if(m){if(i){for(;v;){for(f=t;f=f[v];)if(s?f.nodeName.toLowerCase()===y:1===f.nodeType)return!1;h=v="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&g){for(b=(p=(c=(l=(d=(f=m)[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&c[1])&&c[2],f=p&&m.childNodes[p];f=++p&&f&&f[v]||(b=p=0)||h.pop();)if(1===f.nodeType&&++b&&f===t){l[e]=[k,p,b];break}}else if(g&&(b=p=(c=(l=(d=(f=t)[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===k&&c[1]),!1===b)for(;(f=++p&&f&&f[v]||(b=p=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==y:1!==f.nodeType)||!++b||(g&&((l=(d=f[x]||(f[x]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]=[k,b]),f!==t)););return(b-=o)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,o=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return o[x]?o(t):o.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce((function(e,n){for(var r,i=o(e,t),a=i.length;a--;)e[r=P(e,i[a])]=!(n[r]=i[a])})):function(e){return o(e,0,n)}):o}},pseudos:{not:ce((function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[x]?ce((function(e,t,n,o){for(var i,a=r(e,null,o,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))})):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}})),has:ce((function(e){return function(t){return se(e,t).length>0}})),contains:ce((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||o(t)).indexOf(e)>-1}})),lang:ce((function(e){return X.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=v?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ve(!1),disabled:ve(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return J.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:me((function(){return[0]})),last:me((function(e,t){return[t-1]})),eq:me((function(e,t,n){return[n<0?n+t:n]})),even:me((function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e})),odd:me((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:me((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e})),gt:me((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=pe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function ge(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=C++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var c,l,d,f=[k,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(l=(d=t[x]||(t[x]={}))[t.uniqueID]||(d[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[i])&&c[0]===k&&c[1]===s)return f[2]=c[2];if(l[i]=f,f[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function ke(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,c=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),c&&t.push(s)));return a}function Ce(e,t,n,r,o,i){return r&&!r[x]&&(r=Ce(r)),o&&!o[x]&&(o=Ce(o,i)),ce((function(i,a,s,u){var c,l,d,f=[],p=[],h=a.length,v=i||function(e,t,n){for(var r=0,o=t.length;r<o;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),m=!e||!i&&t?v:ke(v,f,e,s,u),y=n?o||(i?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r)for(c=ke(y,p),r(c,[],s,u),l=c.length;l--;)(d=c[l])&&(y[p[l]]=!(m[p[l]]=d));if(i){if(o||e){if(o){for(c=[],l=y.length;l--;)(d=y[l])&&c.push(m[l]=d);o(null,y=[],c,u)}for(l=y.length;l--;)(d=y[l])&&(c=o?P(i,d):f[l])>-1&&(i[c]=!(a[c]=d))}}else y=ke(y===a?y.splice(h,y.length):y),o?o(null,a,y,u):L.apply(a,y)}))}function je(e){for(var t,n,o,i=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,l=xe((function(e){return e===t}),s,!0),d=xe((function(e){return P(t,e)>-1}),s,!0),f=[function(e,n,r){var o=!a&&(r||n!==c)||((t=n).nodeType?l(e,n,r):d(e,n,r));return t=null,o}];u<i;u++)if(n=r.relative[e[u].type])f=[xe(we(f),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[x]){for(o=++u;o<i&&!r.relative[e[o].type];o++);return Ce(u>1&&we(f),u>1&&be(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<o&&je(e.slice(u,o)),o<i&&je(e=e.slice(o)),o<i&&be(e))}f.push(n)}return we(f)}return ge.prototype=r.filters=r.pseudos,r.setFilters=new ge,a=se.tokenize=function(e,t){var n,o,i,a,s,u,c,l=T[e+" "];if(l)return t?0:l.slice(0);for(s=e,u=[],c=r.preFilter;s;){for(a in n&&!(o=Q.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),n=!1,(o=B.exec(s))&&(n=o.shift(),i.push({value:n,type:o[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(o=V[a].exec(s))||c[a]&&!(o=c[a](o))||(n=o.shift(),i.push({value:n,type:a,matches:o}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):T(e,u).slice(0)},s=se.compile=function(e,t){var n,o=[],i=[],s=S[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=je(t[n]))[x]?o.push(s):i.push(s);(s=S(e,function(e,t){var n=t.length>0,o=e.length>0,i=function(i,a,s,u,l){var d,h,m,y=0,g="0",b=i&&[],x=[],w=c,C=i||o&&r.find.TAG("*",l),j=k+=null==w?1:Math.random()||.1,T=C.length;for(l&&(c=a==p||a||l);g!==T&&null!=(d=C[g]);g++){if(o&&d){for(h=0,a||d.ownerDocument==p||(f(d),s=!v);m=e[h++];)if(m(d,a||p,s)){u.push(d);break}l&&(k=j)}n&&((d=!m&&d)&&y--,i&&b.push(d))}if(y+=g,n&&g!==y){for(h=0;m=t[h++];)m(b,x,a,s);if(i){if(y>0)for(;g--;)b[g]||x[g]||(x[g]=q.call(u));x=ke(x)}L.apply(u,x),l&&!i&&x.length>0&&y+t.length>1&&se.uniqueSort(u)}return l&&(k=j,c=w),b};return n?ce(i):i}(i,o))).selector=e}return s},u=se.select=function(e,t,n,o){var i,u,c,l,d,f="function"==typeof e&&e,p=!o&&a(e=f.selector||e);if(n=n||[],1===p.length){if((u=p[0]=p[0].slice(0)).length>2&&"ID"===(c=u[0]).type&&9===t.nodeType&&v&&r.relative[u[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(i=V.needsContext.test(e)?0:u.length;i--&&(c=u[i],!r.relative[l=c.type]);)if((d=r.find[l])&&(o=d(c.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(i,1),!(e=o.length&&be(u)))return L.apply(n,o),n;break}}return(f||s(e,p))(o,t,!v,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=x.split("").sort(E).join("")===x,n.detectDuplicates=!!d,f(),n.sortDetached=le((function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))})),le((function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")}))||de("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&le((function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||de("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),le((function(e){return null==e.getAttribute("disabled")}))||de(M,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(n);T.find=A,(T.expr=A.selectors)[":"]=T.expr.pseudos,T.uniqueSort=T.unique=A.uniqueSort,T.text=A.getText,T.isXMLDoc=A.isXML,T.contains=A.contains,T.escapeSelector=A.escape;var E=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&T(e).is(n))break;r.push(e)}return r},_=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=T.expr.match.needsContext;
vendor: 5,861 bytes, line 2
2function q(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?T.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?T.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?T.grep(e,(function(e){return d.call(t,e)>-1!==n})):T.filter(t,e,n)}T.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?T.find.matchesSelector(r,e)?[r]:[]:T.find.matches(e,T.grep(t,(function(e){return 1===e.nodeType})))},T.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(T(e).filter((function(){for(t=0;t<r;t++)if(T.contains(o[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)T.find(e,o[t],n);return r>1?T.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&N.test(e)?T(e):e||[],!1).length}});var O,P=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(T.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||O,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:P.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof T?t[0]:t,T.merge(this,T.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:x,!0)),D.test(r[1])&&T.isPlainObject(t))for(r in t)g(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(o=x.getElementById(r[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(T):T.makeArray(e,this)}).prototype=T.fn,O=T(x);var M=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function R(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}T.fn.extend({has:function(e){var t=T(e,this),n=t.length;return this.filter((function(){for(var e=0;e<n;e++)if(T.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&T(e);if(!N.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&T.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?T.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?d.call(T(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(T.uniqueSort(T.merge(this.get(),T(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),T.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,n){return E(e,"parentNode",n)},next:function(e){return R(e,"nextSibling")},prev:function(e){return R(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,n){return E(e,"nextSibling",n)},prevUntil:function(e,t,n){return E(e,"previousSibling",n)},siblings:function(e){return _((e.parentNode||{}).firstChild,e)},children:function(e){return _(e.firstChild)},contents:function(e){return null!=e.contentDocument&&s(e.contentDocument)?e.contentDocument:(q(e,"template")&&(e=e.content||e),T.merge([],e.childNodes))}},(function(e,t){T.fn[e]=function(n,r){var o=T.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=T.filter(r,o)),this.length>1&&(H[e]||T.uniqueSort(o),M.test(e)&&o.reverse()),this.pushStack(o)}}));var I=/[^\x20\t\r\n\f]+/g;function W(e){return e}function F(e){throw e}function $(e,t,n,r){var o;try{e&&g(o=e.promise)?o.call(e).done(t).fail(n):e&&g(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}T.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return T.each(e.match(I)||[],(function(e,n){t[n]=!0})),t}(e):T.extend({},e);var t,n,r,o,i=[],a=[],s=-1,u=function(){for(o=o||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<i.length;)!1===i[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},c={add:function(){return i&&(n&&!t&&(s=i.length-1,a.push(n)),function t(n){T.each(n,(function(n,r){g(r)?e.unique&&c.has(r)||i.push(r):r&&r.length&&"string"!==C(r)&&t(r)}))}(arguments),n&&!t&&u()),this},remove:function(){return T.each(arguments,(function(e,t){for(var n;(n=T.inArray(t,i,n))>-1;)i.splice(n,1),n<=s&&s--})),this},has:function(e){return e?T.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},T.extend({Deferred:function(e){var t=[["notify","progress",T.Callbacks("memory"),T.Callbacks("memory"),2],["resolve","done",T.Callbacks("once memory"),T.Callbacks("once memory"),0,"resolved"],["reject","fail",T.Callbacks("once memory"),T.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return T.Deferred((function(n){T.each(t,(function(t,r){var o=g(e[r[4]])&&e[r[4]];i[r[1]]((function(){var e=o&&o.apply(this,arguments);e&&g(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,o?[e]:arguments)}))})),e=null})).promise()},then:function(e,r,o){var i=0;function s(e,t,r,o){return function(){var u=this,c=arguments,l=function(){var n,l;if(!(e<i)){if((n=r.apply(u,c))===t.promise())throw new TypeError("Thenable self
2-resolution");l=n&&("object"===a(n)||"function"==typeof n)&&n.then,g(l)?o?l.call(n,s(i,t,W,o),s(i,t,F,o)):(i++,l.call(n,s(i,t,W,o),s(i,t,F,o),s(i,t,W,t.notifyWith))):(r!==W&&(u=void 0,c=[n]),(o||t.resolveWith)(u,c))}},d=o?l:function(){try{l()}catch(n){T.Deferred.exceptionHook&&T.Deferred.exceptionHook(n,d.stackTrace),e+1>=i&&(r!==F&&(u=void 0,c=[n]),t.rejectWith(u,c))}};e?d():(T.Deferred.getStackHook&&(d.stackTrace=T.Deferred.getStackHook()),n.setTimeout(d))}}return T.Deferred((function(n){t[0][3].add(s(0,n,g(o)?o:W,n.notifyWith)),t[1][3].add(s(0,n,g(e)?e:W)),t[2][3].add(s(0,n,g(r)?r:F))})).promise()},promise:function(e){return null!=e?T.extend(e,o):o}},i={};return T.each(t,(function(e,n){var a=n[2],s=n[5];o[n[1]]=a.add,s&&a.add((function(){r=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(n[3].fire),i[n[0]]=function(){return i[n[0]+"With"](this===i?void 0:this,arguments),this},i[n[0]+"With"]=a.fireWith})),o.promise(i),e&&e.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=u.call(arguments),i=T.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?u.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&($(e,i.done(a(n)).resolve,i.reject,!t),"pending"===i.state()||g(o[n]&&o[n].then)))return i.then();for(;n--;)$(o[n],a(n),i.reject);return i.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;T.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&Q.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},T.readyException=function(e){n.setTimeout((function(){throw e}))};var B=T.Deferred();function z(){x.removeEventListener("DOMContentLoaded",z),n.removeEventListener("load",z),T.ready()}T.fn.ready=function(e){return B.then(e).catch((function(e){T.readyException(e)})),this},T.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--T.readyWait:T.isReady)||(T.isReady=!0,!0!==e&&--T.readyWait>0||B.resolveWith(x,[T]))}}),T.ready.then=B.then,"complete"===x.readyState||"loading"!==x.readyState&&!x.documentElement.doScroll?n.setTimeout(T.ready):(x.addEventListener("DOMContentLoaded",z),n.addEventListener("load",z));var U=function e(t,n,r,o,i,a,s){var u=0,c=t.length,l=null==r;if("object"===C(r))for(u in i=!0,r)e(t,n,u,r[u],!0,a,s);else if(void 0!==o&&(i=!0,g(o)||(s=!0),l&&(s?(n.call(t,o),n=null):(l=n,n=function(e,t,n){return l.call(T(e),n)})),n))for(;u<c;u++)n(t[u],r,s?o:o.call(t[u],u,n(t[u],r)));return i?t:l?n.call(t):c?n(t[0],r):a},X=/^-ms-/,V=/-([a-z])/g;function G(e,t){return t.toUpperCase()}function J(e){return e.replace(X,"ms-").replace(V,G)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function K(){this.expando=T.expando+K.uid++}K.uid=1,K.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[J(t)]=n;else for(r in t)o[J(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][J(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(J):(t=J(t))in r?[t]:t.match(I)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||T.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!T.isEmptyObject(t)}};var Z=new K,ee=new K,te=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ne=/[A-Z]/g;function re(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ne,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:te.test(e)?JSON.parse(e):e)}(n)}catch(e){}ee.set(e,t,n)}else n=void 0;return n}T.extend({hasData:function(e){return ee.hasData(e)||Z.hasData(e)},data:function(e,t,n){return ee.access(e,t,n)},removeData:function(e,t){ee.remove(e,t)},_data:function(e,t,n){return Z.access(e,t,n)},_removeData:function(e,t){Z.remove(e,t)}}),T.fn.extend({data:function(e,t){var n,r,o,i=this[0],s=i&&i.attributes;if(void 0===e){if(this.length&&(o=ee.get(i),1===i.nodeType&&!Z.get(i,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(r=s[n].name).indexOf("data-")&&(r=J(r.slice(5)),re(i,r,o[r]));Z.set(i,"hasDataAttrs",!0)}return o}return"object"===a(e)?this.each((function(){ee.set(this,e)})):U(this,(function(t){var n;if(i&&void 0===t)return void 0!==(n=ee.get(i,e))||void 0!==(n=re(i,e))?n:void 0;this.each((function(){ee.set(this,e,t)}))}),null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each((function(){ee.remove(this,e)}))}}),T.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Z.get(e,t),n&&(!r||Array.isArray(n)?r=Z.access(e,t,T.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){var n=T.queue(e,t=t||"fx"),r=n.length,o=n.shift(),i=T._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,(function(){T.dequeue(e,t)}),i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Z.get(e,n)||Z.access(e,n,{empty:T.Callbacks("once memory").add((function(){Z.remove(e,[t+"queue",n])}))})}}),T.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?T.queue(this[0],e):void 0===t?this:this.each((function(){var n=T.queue(this,e,t);T._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&T.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){T.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=T.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Z.get(i[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var oe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+oe+")([a-z%]*)$","i"),ae=["Top","Right","Bottom","Left"],se=x.documentElement,ue=function(e){return T.contains(e.ownerDocument,e)},ce={composed:!0};se.getRootNode&&(ue=function(e){return T.contains(e.ownerDocument,e)||e.getRootNode(ce)===e.ownerDocument});var le=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ue(e)&&"none"===T.css(e,"display")};function de(e,t,n,r){var o,i,a=20,s=r?function(){return r.cur()}:function(){return T.css(e,t,"")},u=s(),c=n&&n[3]||(T.cssNumber[t]?"":"px"),l=e.nodeType&&(T.cssNumber[t]||"px"!==c&&+u)&&ie.exec(T.css(e,t));if(l&&l[3]!==c){for(u/=2,c=c||l[3],l=+u||1;a--;)T.style(e,t,l+c),(1-i)*(1-(i=s()/u||.5))<=0&&(a=0),l/=i;T.style(e,t,(l*=2)+c),n=n||[]}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}var fe={};function pe(e){var t,n=e.ownerDocument,r=e.nodeName,o=fe[r];return o||(t=n.body.appendChild(n.createElement(r)),o=T.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),fe[r]=o,o)}function he(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)(r=e[i]).style&&(n=r.style.display,t?("none"===n&&(o[i]=Z.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&le(r)&&(o[i]=pe(r))):"none"!==n&&(o[i]="none",Z.set(r,"display",n)));for(i=0;i<a;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}T.fn.extend({show:function(){return he(this,!0)},hide:function(){return he(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){le(this)?T(this).show():T(this).hide()}))}});var ve,me,ye=/^(?:checkbox|radio)$/i,ge=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,be=/^$|^module$|\/(?:java|ecma)script/i;ve=x.createDocumentFragment().appendChild(x.createElement("div")),(me=x.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),ve.appendChild(me),y.checkClone
vendor: 5,899 bytes, line 2
2=ve.cloneNode(!0).cloneNode(!0).lastChild.checked,ve.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ve.cloneNode(!0).lastChild.defaultValue,ve.innerHTML="<option></option>",y.option=!!ve.lastChild;var xe={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function we(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&q(e,t)?T.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n<r;n++)Z.set(e[n],"globalEval",!t||Z.get(t[n],"globalEval"))}xe.tbody=xe.tfoot=xe.colgroup=xe.caption=xe.thead,xe.th=xe.td,y.option||(xe.optgroup=xe.option=[1,"<select multiple='multiple'>","</select>"]);var Ce=/<|&#?\w+;/;function je(e,t,n,r,o){for(var i,a,s,u,c,l,d=t.createDocumentFragment(),f=[],p=0,h=e.length;p<h;p++)if((i=e[p])||0===i)if("object"===C(i))T.merge(f,i.nodeType?[i]:i);else if(Ce.test(i)){for(a=a||d.appendChild(t.createElement("div")),s=(ge.exec(i)||["",""])[1].toLowerCase(),u=xe[s]||xe._default,a.innerHTML=u[1]+T.htmlPrefilter(i)+u[2],l=u[0];l--;)a=a.lastChild;T.merge(f,a.childNodes),(a=d.firstChild).textContent=""}else f.push(t.createTextNode(i));for(d.textContent="",p=0;i=f[p++];)if(r&&T.inArray(i,r)>-1)o&&o.push(i);else if(c=ue(i),a=we(d.appendChild(i),"script"),c&&ke(a),n)for(l=0;i=a[l++];)be.test(i.type||"")&&n.push(i);return d}var Te=/^key/,Se=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ae=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function _e(){return!1}function Ne(e,t){return e===function(){try{return x.activeElement}catch(e){}}()==("focus"===t)}function qe(e,t,n,r,o,i){var s,u;if("object"===a(t)){for(u in"string"!=typeof n&&(r=r||n,n=void 0),t)qe(e,u,n,r,t[u],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=_e;else if(!o)return e;return 1===i&&(s=o,(o=function(e){return T().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=T.guid++)),e.each((function(){T.event.add(this,t,o,r,n)}))}function De(e,t,n){n?(Z.set(e,t,!1),T.event.add(e,t,{namespace:!1,handler:function(e){var r,o,i=Z.get(this,t);if(1&e.isTrigger&&this[t]){if(i.length)(T.event.special[t]||{}).delegateType&&e.stopPropagation();else if(i=u.call(arguments),Z.set(this,t,i),r=n(this,t),this[t](),i!==(o=Z.get(this,t))||r?Z.set(this,t,!1):o={},i!==o)return e.stopImmediatePropagation(),e.preventDefault(),o.value}else i.length&&(Z.set(this,t,{value:T.event.trigger(T.extend(i[0],T.Event.prototype),i.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Z.get(e,t)&&T.event.add(e,t,Ee)}T.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,c,l,d,f,p,h,v,m=Z.get(e);if(Y(e))for(n.handler&&(n=(i=n).handler,o=i.selector),o&&T.find.matchesSelector(se,o),n.guid||(n.guid=T.guid++),(u=m.events)||(u=m.events=Object.create(null)),(a=m.handle)||(a=m.handle=function(t){return T.event.triggered!==t.type?T.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(I)||[""]).length;c--;)p=v=(s=Ae.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p&&(d=T.event.special[p]||{},p=(o?d.delegateType:d.bindType)||p,d=T.event.special[p]||{},l=T.extend({type:p,origType:v,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&T.expr.match.needsContext.test(o),namespace:h.join(".")},i),(f=u[p])||((f=u[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),d.add&&(d.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?f.splice(f.delegateCount++,0,l):f.push(l),T.event.global[p]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,c,l,d,f,p,h,v,m=Z.hasData(e)&&Z.get(e);if(m&&(u=m.events)){for(c=(t=(t||"").match(I)||[""]).length;c--;)if(p=v=(s=Ae.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),p){for(d=T.event.special[p]||{},f=u[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=f.length;i--;)l=f[i],!o&&v!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(f.splice(i,1),l.selector&&f.delegateCount--,d.remove&&d.remove.call(e,l));a&&!f.length&&(d.teardown&&!1!==d.teardown.call(e,h,m.handle)||T.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)T.event.remove(e,p+t[c],n,r,!0);T.isEmptyObject(u)&&Z.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=new Array(arguments.length),u=T.event.fix(e),c=(Z.get(this,"events")||Object.create(null))[u.type]||[],l=T.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,u)){for(a=T.event.handlers.call(this,u,c),t=0;(o=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==i.namespace&&!u.rnamespace.test(i.namespace)||(u.handleObj=i,u.data=i.data,void 0!==(r=((T.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,o,i,a,s=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(i=[],a={},n=0;n<u;n++)void 0===a[o=(r=t[n]).selector+" "]&&(a[o]=r.needsContext?T(o,this).index(c)>-1:T.find(o,this,null,[c]).length),a[o]&&i.push(r);i.length&&s.push({elem:c,handlers:i})}return c=this,u<t.length&&s.push({elem:c,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(T.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]}
vendor: 2,425 bytes, line 2
2,set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[T.expando]?e:new T.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return ye.test(t.type)&&t.click&&q(t,"input")&&De(t,"click",Ee),!1},trigger:function(e){var t=this||e;return ye.test(t.type)&&t.click&&q(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return ye.test(t.type)&&t.click&&q(t,"input")&&Z.get(t,"click")||q(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},T.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},(T.Event=function(e,t){if(!(this instanceof T.Event))return new T.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:_e,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&T.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[T.expando]=!0}).prototype={constructor:T.Event,isDefaultPrevented:_e,isPropagationStopped:_e,isImmediatePropagationStopped:_e,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},T.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Se.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},T.event.addProp),T.each({focus:"focusin",blur:"focusout"},(function(e,t){T.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}
vendor: 3,036 bytes, line 2
2)),T.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){T.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||T.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}})),T.fn.extend({on:function(e,t,n,r){return qe(this,e,t,n,r)},one:function(e,t,n,r){return qe(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,T(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"===a(e)){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=_e),this.each((function(){T.event.remove(this,e,n,t)}))}});var Le=/<script|<style|<link/i,Oe=/checked\s*(?:[^=]|=\s*.checked.)/i,Pe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Me(e,t){return q(e,"table")&&q(11!==t.nodeType?t:t.firstChild,"tr")&&T(e).children("tbody")[0]||e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ie(e,t){var n,r,o,i,a,s;if(1===t.nodeType){if(Z.hasData(e)&&(s=Z.get(e).events))for(o in Z.remove(t,"handle events"),s)for(n=0,r=s[o].length;n<r;n++)T.event.add(t,o,s[o][n]);ee.hasData(e)&&(i=ee.access(e),a=T.extend({},i),ee.set(t,a))}}function We(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ye.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Fe(e,t,n,r){t=c(t);var o,i,a,s,u,l,d=0,f=e.length,p=f-1,h=t[0],v=g(h);if(v||f>1&&"string"==typeof h&&!y.checkClone&&Oe.test(h))return e.each((function(o){var i=e.eq(o);v&&(t[0]=h.call(this,o,i.html())),Fe(i,t,n,r)}));if(f&&(i=(o=je(t,e[0].ownerDocument,!1,e,r)).firstChild,1===o.childNodes.length&&(o=i),i||r)){for(s=(a=T.map(we(o,"script"),He)).length;d<f;d++)u=o,d!==p&&(u=T.clone(u,!0,!0),s&&T.merge(a,we(u,"script"))),n.call(e[d],u,d);if(s)for(l=a[a.length-1].ownerDocument,T.map(a,Re),d=0;d<s;d++)u=a[d],be.test(u.type||"")&&!Z.access(u,"globalEval")&&T.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?T._evalUrl&&!u.noModule&&T._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):k(u.textContent.replace(Pe,""),u,l))}return e}function $e(e,t,n){for(var r,o=t?T.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||T.cleanData(we(r)),r.parentNode&&(n&&ue(r)&&ke(we(r,"script")),r.parentNode.removeChild(r));return e}T.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=ue(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||T.isXMLDoc(e)))for(a=we(s),r=0,o=(i=we(e)).length;r<o;r++)We(i[r],a[r]);if(t)if(n)for(i=i||we(e),a=a||we(s),r=0,o=i.length;r<o;r++)Ie(i[r],a[r]);else Ie(e,s);return(a=we(s,"script")).length>0&&ke(a,!u&&we(e,"script")),s},cleanData:function(e){for(var t,n,r,o=T.event.special,i=0;void 0!==(n=e[i]);
vendor: 4,148 bytes, line 2
2i++)if(Y(n)){if(t=n[Z.expando]){if(t.events)for(r in t.events)o[r]?T.event.remove(n,r):T.removeEvent(n,r,t.handle);n[Z.expando]=void 0}n[ee.expando]&&(n[ee.expando]=void 0)}}}),T.fn.extend({detach:function(e){return $e(this,e,!0)},remove:function(e){return $e(this,e)},text:function(e){return U(this,(function(e){return void 0===e?T.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Fe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Me(this,e).appendChild(e)}))},prepend:function(){return Fe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Me(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Fe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Fe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(T.cleanData(we(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return T.clone(this,e,t)}))},html:function(e){return U(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Le.test(e)&&!xe[(ge.exec(e)||["",""])[1].toLowerCase()]){e=T.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(T.cleanData(we(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Fe(this,arguments,(function(t){var n=this.parentNode;T.inArray(this,e)<0&&(T.cleanData(we(this)),n&&n.replaceChild(t,this))}),e)}}),T.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){T.fn[e]=function(e){for(var n,r=[],o=T(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),T(o[a])[t](n),l.apply(r,n.get());return this.pushStack(r)}}));var Qe=new RegExp("^("+oe+")(?!px)[a-z%]+$","i"),Be=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},ze=function(e,t,n){var r,o,i={};for(o in t)i[o]=e.style[o],e.style[o]=t[o];for(o in r=n.call(e),t)e.style[o]=i[o];return r},Ue=new RegExp(ae.join("|"),"i");function Xe(e,t,n){var r,o,i,a,s=e.style;return(n=n||Be(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ue(e)||(a=T.style(e,t)),!y.pixelBoxStyles()&&Qe.test(a)&&Ue.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function Ve(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",se.appendChild(c).appendChild(l);var e=n.getComputedStyle(l);r="1%"!==e.top,u=12===t(e.marginLeft),l.style.right="60%",a=36===t(e.right),o=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),se.removeChild(c),l=null}}function t(e){return Math.round(parseFloat(e))}var r,o,i,a,s,u,c=x.createElement("div"),l=x.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,T.extend(y,{boxSizingReliable:function(){return e(),o},pixelBoxStyles:function(){return e(),a},pixelPosition:function(){return e(),r},reliableMarginLeft:function(){return e(),u},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,r,o;return null==s&&(e=x.createElement("table"),t=x.createElement("tr"),r=x.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",r.style.height="9px",se.appendChild(e).appendChild(t).appendChild(r),o=n.getComputedStyle(t),s=parseInt(o.height)>3,se.removeChild(e)),s}}))}();
vendor: 6,442 bytes, line 2
2var Ge=["Webkit","Moz","ms"],Je=x.createElement("div").style,Ye={};function Ke(e){return T.cssProps[e]||Ye[e]||(e in Je?e:Ye[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;n--;)if((e=Ge[n]+t)in Je)return e}(e)||e)}var Ze=/^(none|table(?!-c[ea]).+)/,et=/^--/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function ot(e,t,n,r,o,i){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=T.css(e,n+ae[a],!0,o)),r?("content"===n&&(u-=T.css(e,"padding"+ae[a],!0,o)),"margin"!==n&&(u-=T.css(e,"border"+ae[a]+"Width",!0,o))):(u+=T.css(e,"padding"+ae[a],!0,o),"padding"!==n?u+=T.css(e,"border"+ae[a]+"Width",!0,o):s+=T.css(e,"border"+ae[a]+"Width",!0,o));return!r&&i>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-u-s-.5))||0),u}function it(e,t,n){var r=Be(e),o=(!y.boxSizingReliable()||n)&&"border-box"===T.css(e,"boxSizing",!1,r),i=o,a=Xe(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Qe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&o||!y.reliableTrDimensions()&&q(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===T.css(e,"display",!1,r))&&e.getClientRects().length&&(o="border-box"===T.css(e,"boxSizing",!1,r),(i=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+ot(e,t,n||(o?"border":"content"),i,r,a)+"px"}function at(e,t,n,r,o){return new at.prototype.init(e,t,n,r,o)}T.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Xe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,s,u=J(t),c=et.test(t),l=e.style;if(c||(t=Ke(u)),s=T.cssHooks[t]||T.cssHooks[u],void 0===n)return s&&"get"in s&&void 0!==(o=s.get(e,!1,r))?o:l[t];"string"===(i=a(n))&&(o=ie.exec(n))&&o[1]&&(n=de(e,t,o),i="number"),null!=n&&n==n&&("number"!==i||c||(n+=o&&o[3]||(T.cssNumber[u]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(c?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var o,i,a,s=J(t);return et.test(t)||(t=Ke(s)),(a=T.cssHooks[t]||T.cssHooks[s])&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=Xe(e,t,r)),"normal"===o&&t in nt&&(o=nt[t]),""===n||n?(i=parseFloat(o),!0===n||isFinite(i)?i||0:o):o}}),T.each(["height","width"],(function(e,t){T.cssHooks[t]={get:function(e,n,r){if(n)return!Ze.test(T.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):ze(e,tt,(function(){return it(e,t,r)}))},set:function(e,n,r){var o,i=Be(e),a=!y.scrollboxSize()&&"absolute"===i.position,s=(a||r)&&"border-box"===T.css(e,"boxSizing",!1,i),u=r?ot(e,t,r,s,i):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-ot(e,t,"border",!1,i)-.5)),u&&(o=ie.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=T.css(e,t)),rt(0,n,u)}}})),T.cssHooks.marginLeft=Ve(y.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Xe(e,"marginLeft"))||e.getBoundingClientRect().left-ze(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),T.each({margin:"",padding:"",border:"Width"},(function(e,t){T.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+ae[r]+t]=i[r]||i[r-2]||i[0];return o}},"margin"!==e&&(T.cssHooks[e+t].set=rt)})),T.fn.extend({css:function(e,t){return U(this,(function(e,t,n){var r,o,i={},a=0;if(Array.isArray(t)){for(r=Be(e),o=t.length;a<o;a++)i[t[a]]=T.css(e,t[a],!1,r);return i}return void 0!==n?T.style(e,t,n):T.css(e,t)}),e,t,arguments.length>1)}}),T.Tween=at,at.prototype={constructor:at,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||T.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(T.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=T.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=T.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){T.fx.step[e.prop]?T.fx.step[e.prop](e):1!==e.elem.nodeType||!T.cssHooks[e.prop]&&null==e.elem.style[Ke(e.prop)]?e.elem[e.prop]=e.now:T.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},T.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},(T.fx=at.prototype.init).step={};var st,ut,ct=/^(?:toggle|show|hide)$/,lt=/queueHooks$/;function dt(){ut&&(!1===x.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(dt):n.setTimeout(dt,T.fx.interval),T.fx.tick())}function ft(){return n.setTimeout((function(){st=void 0})),st=Date.now()}function pt(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)o["margin"+(n=ae[r])]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function ht(e,t,n){for(var r,o=(vt.tweeners[t]||[]).concat(vt.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function vt(e,t,n){var r,o,i=0,a=vt.prefilters.length,s=T.Deferred().always((function(){delete u.elem})),u=function(){if(o)return!1;for(var t=st||ft(),n=Math.max(0,c.startTime+c.duration-t),r=1-(n/c.duration||0),i=0,a=c.tweens.length;i<a;i++)c.tweens[i].run(r);return s.notifyWith(e,[c,r,n]),r<1&&a?n:(a||s.notifyWith(e,[c,1,0]),s.resolveWith(e,[c]),!1)},c=s.promise({elem:e,props:T.extend({},t),opts:T.extend(!0,{specialEasing:{},easing:T.easing._default},n),originalProperties:t,originalOptions:n,startTime:st||ft(),duration:n.duration,tweens:[],createTween:function(t,n){var r=T.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||
vendor: 6,476 bytes, line 2
2c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)c.tweens[n].run(1);return t?(s.notifyWith(e,[c,1,0]),s.resolveWith(e,[c,t])):s.rejectWith(e,[c,t]),this}}),l=c.props;for(function(e,t){var n,r,o,i,a;for(n in e)if(o=t[r=J(n)],i=e[n],Array.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(a=T.cssHooks[r])&&"expand"in a)for(n in i=a.expand(i),delete e[r],i)n in e||(e[n]=i[n],t[n]=o);else t[r]=o}(l,c.opts.specialEasing);i<a;i++)if(r=vt.prefilters[i].call(c,e,l,c.opts))return g(r.stop)&&(T._queueHooks(c.elem,c.opts.queue).stop=r.stop.bind(r)),r;return T.map(l,ht,c),g(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),T.fx.timer(T.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c}T.Animation=T.extend(vt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return de(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(I);for(var n,r=0,o=e.length;r<o;r++)n=e[r],vt.tweeners[n]=vt.tweeners[n]||[],vt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,o,i,a,s,u,c,l,d="width"in t||"height"in t,f=this,p={},h=e.style,v=e.nodeType&&le(e),m=Z.get(e,"fxshow");for(r in n.queue||(null==(a=T._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,f.always((function(){f.always((function(){a.unqueued--,T.queue(e,"fx").length||a.empty.fire()}))}))),t)if(o=t[r],ct.test(o)){if(delete t[r],i=i||"toggle"===o,o===(v?"hide":"show")){if("show"!==o||!m||void 0===m[r])continue;v=!0}p[r]=m&&m[r]||T.style(e,r)}if((u=!T.isEmptyObject(t))||!T.isEmptyObject(p))for(r in d&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(c=m&&m.display)&&(c=Z.get(e,"display")),"none"===(l=T.css(e,"display"))&&(c?l=c:(he([e],!0),c=e.style.display||c,l=T.css(e,"display"),he([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===T.css(e,"float")&&(u||(f.done((function(){h.display=c})),null==c&&(l=h.display,c="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",f.always((function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}))),u=!1,p)u||(m?"hidden"in m&&(v=m.hidden):m=Z.access(e,"fxshow",{display:c}),i&&(m.hidden=!v),v&&he([e],!0),f.done((function(){for(r in v||he([e]),Z.remove(e,"fxshow"),p)T.style(e,r,p[r])}))),u=ht(v?m[r]:0,r,f),r in m||(m[r]=u.start,v&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?vt.prefilters.unshift(e):vt.prefilters.push(e)}}),T.speed=function(e,t,n){var r=e&&"object"===a(e)?T.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return T.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in T.fx.speeds?r.duration=T.fx.speeds[r.duration]:r.duration=T.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&T.dequeue(this,r.queue)},r},T.fn.extend({fadeTo:function(e,t,n,r){return this.filter(le).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=T.isEmptyObject(e),i=T.speed(t,n,r),a=function(){var t=vt(this,T.extend({},e),i);(o||Z.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||!1===i.queue?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,o=null!=e&&e+"queueHooks",i=T.timers,a=Z.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&lt.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||T.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=Z.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=T.timers,a=r?r.length:0;for(n.finish=!0,T.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),T.each(["toggle","show","hide"],(function(e,t){var n=T.fn[t];T.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(pt(t,!0),e,r,o)}})),T.each({slideDown:pt("show"),slideUp:pt("hide"),slideToggle:pt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){T.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),T.timers=[],T.fx.tick=function(){var e,t=0,n=T.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||T.fx.stop(),st=void 0},T.fx.timer=function(e){T.timers.push(e),T.fx.start()},T.fx.interval=13,T.fx.start=function(){ut||(ut=!0,dt())},T.fx.stop=function(){ut=null},T.fx.speeds={slow:600,fast:200,_default:400},T.fn.delay=function(e,t){return e=T.fx&&T.fx.speeds[e]||e,t=t||"fx",this.queue(t,(function(t,r){var o=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(o)}}))},function(){var e=x.createElement("input"),t=x.createElement("select").appendChild(x.createElement("option"));e.type="checkbox",y.checkOn=""!==e.value,y.optSelected=t.selected,(e=x.createElement("input")).value="t",e.type="radio",y.radioValue="t"===e.value}();var mt,yt=T.expr.attrHandle;T.fn.extend({attr:function(e,t){return U(this,T.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each((function(){T.removeAttr(this,e)}))}}),T.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?T.prop(e,t,n):(1===i&&T.isXMLDoc(e)||(o=T.attrHooks[t.toLowerCase()]||(T.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void T.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:null==(r=T.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&q(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(I);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?T.removeAttr(e,n):e.setAttribute(n,n),n}},T.each(T.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=yt[t]||T.find.attr;yt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=yt[a],yt[a]=o,o=null!=n(e,t,r)?a:null,yt[a]=i),o}}
vendor: 7,980 bytes, line 2
2));var gt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;function xt(e){return(e.match(I)||[]).join(" ")}function wt(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}T.fn.extend({prop:function(e,t){return U(this,T.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[T.propFix[e]||e]}))}}),T.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&T.isXMLDoc(e)||(t=T.propFix[t]||t,o=T.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=T.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(T.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),T.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){T.propFix[this.toLowerCase()]=this})),T.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(g(e))return this.each((function(t){T(this).addClass(e.call(this,t,wt(this)))}));if((t=kt(e)).length)for(;n=this[u++];)if(o=wt(n),r=1===n.nodeType&&" "+xt(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");o!==(s=xt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(g(e))return this.each((function(t){T(this).removeClass(e.call(this,t,wt(this)))}));if(!arguments.length)return this.attr("class","");if((t=kt(e)).length)for(;n=this[u++];)if(o=wt(n),r=1===n.nodeType&&" "+xt(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");o!==(s=xt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=a(e),r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each((function(n){T(this).toggleClass(e.call(this,n,wt(this),t),t)})):this.each((function(){var t,o,i,a;if(r)for(o=0,i=T(this),a=kt(e);t=a[o++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=wt(this))&&Z.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Z.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+xt(wt(n))+" ").indexOf(t)>-1)return!0;return!1}});var Ct=/\r/g;T.fn.extend({val:function(e){var t,n,r,o=this[0];return arguments.length?(r=g(e),this.each((function(n){var o;1===this.nodeType&&(null==(o=r?e.call(this,n,T(this).val()):e)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=T.map(o,(function(e){return null==e?"":e+""}))),(t=T.valHooks[this.type]||T.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))}))):o?(t=T.valHooks[o.type]||T.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(Ct,""):null==n?"":n:void 0}}),T.extend({valHooks:{option:{get:function(e){var t=T.find.attr(e,"value");return null!=t?t:xt(T.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?i+1:o.length;for(r=i<0?u:a?i:0;r<u;r++)if(((n=o[r]).selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!q(n.parentNode,"optgroup"))){if(t=T(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=T.makeArray(t),a=o.length;a--;)((r=o[a]).selected=T.inArray(T.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),T.each(["radio","checkbox"],(function(){T.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=T.inArray(T(e).val(),t)>-1}},y.checkOn||(T.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),y.focusin="onfocusin"in n;var jt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};T.extend(T.event,{trigger:function(e,t,r,o){var i,s,u,c,l,d,f,p,v=[r||x],m=h.call(e,"type")?e.type:e,y=h.call(e,"namespace")?e.namespace.split("."):[];if(s=p=u=r=r||x,3!==r.nodeType&&8!==r.nodeType&&!jt.test(m+T.event.triggered)&&(m.indexOf(".")>-1&&(y=m.split("."),m=y.shift(),y.sort()),l=m.indexOf(":")<0&&"on"+m,(e=e[T.expando]?e:new T.Event(m,"object"===a(e)&&e)).isTrigger=o?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:T.makeArray(t,[e]),f=T.event.special[m]||{},o||!f.trigger||!1!==f.trigger.apply(r,t))){if(!o&&!f.noBubble&&!b(r)){for(c=f.delegateType||m,jt.test(c+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(r.ownerDocument||x)&&v.push(u.defaultView||u.parentWindow||n)}for(i=0;(s=v[i++])&&!e.isPropagationStopped();)p=s,e.type=i>1?c:f.bindType||m,(d=(Z.get(s,"events")||Object.create(null))[e.type]&&Z.get(s,"handle"))&&d.apply(s,t),(d=l&&s[l])&&d.apply&&Y(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=m,o||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(v.pop(),t)||!Y(r)||l&&g(r[m])&&!b(r)&&((u=r[l])&&(r[l]=null),T.event.triggered=m,e.isPropagationStopped()&&p.addEventListener(m,Tt),r[m](),e.isPropagationStopped()&&p.removeEventListener(m,Tt),T.event.triggered=void 0,u&&(r[l]=u)),e.result}},simulate:function(e,t,n){var r=T.extend(new T.Event,n,{type:e,isSimulated:!0});T.event.trigger(r,null,t)}}),T.fn.extend({trigger:function(e,t){return this.each((function(){T.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return T.event.trigger(e,t,n,!0)}}),y.focusin||T.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){T.event.simulate(t,e.target,T.event.fix(e))};T.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,o=Z.access(r,t);o||r.addEventListener(e,n,!0),Z.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,o=Z.access(r,t)-1;o?Z.access(r,t,o):(r.removeEventListener(e,n,!0),Z.remove(r,t))}}}));var St=n.location,At={guid:Date.now()},Et=/\?/;T.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||T.error("Invalid XML: "+e),t};var _t=/\[\]$/,Nt=/\r?\n/g,qt=/^(?:submit|button|image|reset|file)$/i,Dt=/^(?:input|select|textarea|keygen)/i;function Lt(e,t,n,r){var o;if(Array.isArray(t))T.each(t,(function(t,o){n||_t.test(e)?r(e,o):Lt(e+"["+("object"===a(o)&&null!=o?t:"")+"]",o,n,r)}));else if(n||"object"!==C(t))r(e,t);else for(o in t)Lt(e+"["+o+"]",t[o],n,r)}T.param=function(e,t){var n,r=[],o=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!T.isPlainObject(e))T.each(e,(function(){o(this.name,this.value)}));else for(n in e)Lt(n,e[n],t,o);return r.join("&")},T.fn.extend({serialize:function(){return T.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=T.prop(this,"elements");return e?T.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!T(this).is(":disabled")&&Dt.test(this.nodeName)&&!qt.test(e)&&(this.checked||!ye.test(e))})).map((function(e,t){var n=T(this).val();return null==n?null:Array.isArray(n)?T.map(n,(function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}})):{name:t.name,value:n.replace(Nt,"\r\n")}})).get()}});var Ot=/%20/g,Pt=/#.*$/,Mt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,It=/^\/\//,Wt={},Ft={},$t="*/".concat("*"),Qt=x.createElement("a");function Bt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(I)||[];
vendor: 5,934 bytes, line 2
2if(g(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function zt(e,t,n,r){var o={},i=e===Ft;function a(s){var u;return o[s]=!0,T.each(e[s]||[],(function(e,s){var c=s(t,n,r);return"string"!=typeof c||i||o[c]?i?!(u=c):void 0:(t.dataTypes.unshift(c),a(c),!1)})),u}return a(t.dataTypes[0])||!o["*"]&&a("*")}function Ut(e,t){var n,r,o=T.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&T.extend(!0,e,r),e}Qt.href=St.href,T.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:St.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(St.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":T.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ut(Ut(e,T.ajaxSettings),t):Ut(T.ajaxSettings,e)},ajaxPrefilter:Bt(Wt),ajaxTransport:Bt(Ft),ajax:function(e,t){"object"===a(e)&&(t=e,e=void 0);var r,o,i,s,u,c,l,d,f,p,h=T.ajaxSetup({},t=t||{}),v=h.context||h,m=h.context&&(v.nodeType||v.jquery)?T(v):T.event,y=T.Deferred(),g=T.Callbacks("once memory"),b=h.statusCode||{},w={},k={},C="canceled",j={readyState:0,getResponseHeader:function(e){var t;if(l){if(!s)for(s={};t=Ht.exec(i);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?i:null},setRequestHeader:function(e,t){return null==l&&(e=k[e.toLowerCase()]=k[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)j.always(e[j.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(j),h.url=((e||h.url||St.href)+"").replace(It,St.protocol+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(I)||[""],null==h.crossDomain){c=x.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Qt.protocol+"//"+Qt.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=T.param(h.data,h.traditional)),zt(Wt,h,t,j),l)return j;for(f in(d=T.event&&h.global)&&0==T.active++&&T.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Rt.test(h.type),o=h.url.replace(Pt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Ot,"+")):(p=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(Et.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Mt,"$1"),p=(Et.test(o)?"&":"?")+"_="+At.guid+++p),h.url=o+p),h.ifModified&&(T.lastModified[o]&&j.setRequestHeader("If-Modified-Since",T.lastModified[o]),T.etag[o]&&j.setRequestHeader("If-None-Match",T.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||t.contentType)&&j.setRequestHeader("Content-Type",h.contentType),j.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]),h.headers)j.setRequestHeader(f,h.headers[f]);if(h.beforeSend&&(!1===h.beforeSend.call(v,j,h)||l))return j.abort();if(C="abort",g.add(h.complete),j.done(h.success),j.fail(h.error),r=zt(Ft,h,t,j)){if(j.readyState=1,d&&m.trigger("ajaxSend",[j,h]),l)return j;h.async&&h.timeout>0&&(u=n.setTimeout((function(){j.abort("timeout")}),h.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(e,t,a,s){var c,f,p,x,w,k=t;l||(l=!0,u&&n.clearTimeout(u),r=void 0,i=s||"",j.readyState=e>0?4:0,c=e>=200&&e<300||304===e,a&&(x=function(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}(h,j,a)),!c&&T.inArray("script",h.dataTypes)>-1&&(h.converters["text script"]=function(){}),x=function(e,t,n,r){var o,i,a,s,u,c={},l=e.dataTypes.slice();if(l[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(!(a=c[u+" "+i]||c["* "+i]))for(o in c)if((s=o.split(" "))[1]===i&&(a=c[u+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[o]:!0!==c[o]&&(i=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}(h,x,j,c),c?(h.ifModified&&((w=j.getResponseHeader("Last-Modified"))&&(T.lastModified[o]=w),(w=j.getResponseHeader("etag"))&&(T.etag[o]=w)),204===e||"HEAD"===h.type?k="nocontent":304===e?k="notmodified":(k=x.state,f=x.data,c=!(p=x.error))):(p=k,!e&&k||(k="error",e<0&&(e=0))),j.status=e,j.statusText=(t||k)+"",c?y.resolveWith(v,[f,k,j]):y.rejectWith(v,[j,k,p]),j.statusCode(b),b=void 0,d&&m.trigger(c?"ajaxSuccess":"ajaxError",[j,h,c?f:p]),g.fireWith(v,[j,k]),d&&(m.trigger("ajaxComplete",[j,h]),--T.active||T.event.trigger("ajaxStop")))}return j},getJSON:function(e,t,n){return T.get(e,t,n,"json")},getScript:function(e,t){return T.get(e,void 0,t,"script")}}),T.each(["get","post"],(function(e,t){T[t]=function(e,n,r,o){return g(n)&&(o=o||r,r=n,n=void 0),T.ajax(T.extend({url:e,type:t,dataType:o,data:n,success:r}
vendor: 5,170 bytes, line 2
2,T.isPlainObject(e)&&e))}})),T.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),T._evalUrl=function(e,t,n){return T.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){T.globalEval(e,t,n)}})},T.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=T(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return g(e)?this.each((function(t){T(this).wrapInner(e.call(this,t))})):this.each((function(){var t=T(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=g(e);return this.each((function(n){T(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){T(this).replaceWith(this.childNodes)})),this}}),T.expr.pseudos.hidden=function(e){return!T.expr.pseudos.visible(e)},T.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},T.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Xt={0:200,1223:204},Vt=T.ajaxSettings.xhr();y.cors=!!Vt&&"withCredentials"in Vt,y.ajax=Vt=!!Vt,T.ajaxTransport((function(e){var t,r;if(y.cors||Vt&&!e.crossDomain)return{send:function(o,i){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)s.setRequestHeader(a,o[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Xt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout((function(){t&&r()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),T.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),T.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return T.globalEval(e),e}}}),T.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),T.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,o){t=T("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),x.head.appendChild(t[0])},abort:function(){n&&n()}}}));var Gt,Jt=[],Yt=/(=)\?(?=&|$)|\?\?/;T.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Jt.pop()||T.expando+"_"+At.guid++;return this[e]=!0,e}}),T.ajaxPrefilter("json jsonp",(function(e,t,r){var o,i,a,s=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=g(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Yt,"$1"+o):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return a||T.error(o+" was not called"),a[0]},e.dataTypes[0]="json",i=n[o],n[o]=function(){a=arguments},r.always((function(){void 0===i?T(n).removeProp(o):n[o]=i,e[o]&&(e.jsonpCallback=t.jsonpCallback,Jt.push(o)),a&&g(i)&&i(a[0]),a=i=void 0})),"script"})),y.createHTMLDocument=((Gt=x.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Gt.childNodes.length),T.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=x.implementation.createHTMLDocument("")).createElement("base")).href=x.location.href,t.head.appendChild(r)):t=x),i=!n&&[],(o=D.exec(e))?[t.createElement(o[1])]:(o=je([e],t,i),i&&i.length&&T(i).remove(),T.merge([],o.childNodes)));var r,o,i},T.fn.load=function(e,t,n){var r,o,i,s=this,u=e.indexOf(" ");return u>-1&&(r=xt(e.slice(u)),e=e.slice(0,u)),g(t)?(n=t,t=void 0):t&&"object"===a(t)&&(o="POST"),s.length>0&&T.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done((function(e){i=arguments,s.html(r?T("<div>").append(T.parseHTML(e)).find(r):e)})).always(n&&function(e,t){s.each((function(){n.apply(this,i||[e.responseText,t,e])}))}),this},T.expr.pseudos.animated=function(e){return T.grep(T.timers,(function(t){return e===t.elem})).length},T.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,c=T.css(e,"position"),l=T(e),d={};"static"===c&&(e.style.position="relative"),s=l.offset(),i=T.css(e,"to
2p"),u=T.css(e,"left"),("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1?(a=(r=l.position()).top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),g(t)&&(t=t.call(e,n,T.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+o),"using"in t?t.using.call(e,d):("number"==typeof d.top&&(d.top+="px"),"number"==typeof d.left&&(d.left+="px"),l.css(d))}},T.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){T.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],o={top:0,left:0};if("fixed"===T.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===T.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((o=T(e).offset()).top+=T.css(e,"borderTopWidth",!0),o.left+=T.css(e,"borderLeftWidth",!0))}return{top:t.top-o.top-T.css(r,"marginTop",!0),left:t.left-o.left-T.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===T.css(e,"position");)e=e.offsetParent;return e||se}))}}),T.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;T.fn[e]=function(r){return U(this,(function(e,r,o){var i;if(b(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===o)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o}),e,r,arguments.length)}})),T.each(["top","left"],(function(e,t){T.cssHooks[t]=Ve(y.pixelPosition,(function(e,n){if(n)return n=Xe(e,t),Qe.test(n)?T(e).position()[t]+"px":n}))})),T.each({Height:"height",Width:"width"},(function(e,t){T.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){T.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(!0===o||!0===i?"margin":"border");return U(this,(function(t,n,o){var i;return b(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?T.css(t,n,s):T.style(t,n,o,s)}),t,a?o:void 0,a)}}))})),T.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){T.fn[t]=function(e){return this.on(t,e)}})),T.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),T.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){T.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}));var Kt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;T.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=u.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(u.call(arguments)))}).guid=e.guid=e.guid||T.guid++,o},T.holdReady=function(e){e?T.readyWait++:T.ready(!0)},T.isArray=Array.isArray,T.parseJSON=JSON.parse,T.nodeName=q,T.isFunction=g,T.isWindow=b,T.camelCase=J,T.type=C,T.now=Date.now,T.isNumeric=function(e){var t=T.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},T.trim=function(e){return null==e?"":(e+"").replace(Kt,"")},void 0===(r=function(){return T}.apply(t,[]))||(e.exports=r);var Zt=n.jQuery,en=n.$;return T.noConflict=function(e){return n.$===T&&(n.$=en),e&&n.jQuery===T&&(n.jQuery=Zt),T},void 0===o&&(n.jQuery=n.$=T),T},"object"===a(e)&&"object"===a(e.exports)?e.exports=o.document?i(o,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return i(e)}:i(o)},204:(e,t)=>
2{Object.defineProperty(t,"__esModule",{value:!0}),t.ucs2decode=f,t.default=t.toUnicode=t.toASCII=t.encode=t.decode=t.ucs2encode=void 0;var n=2147483647,r=36,o=/^xn--/,i=/[^\0-\x7E]/,a=/[\x2E\u3002\uFF0E\uFF61]/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},u=Math.floor,c=String.fromCharCode;function l(e){throw new RangeError(s[e])}function d(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]);var o=function(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}((e=e.replace(a,".")).split("."),t).join(".");return r+o}function f(e){for(var t=[],n=0,r=e.length;n<r;){var o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<r){var i=e.charCodeAt(n++);56320==(64512&i)?t.push(((1023&o)<<10)+(1023&i)+65536):(t.push(o),n--)}else t.push(o)}return t}var p=function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(t=e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}());var t};t.ucs2encode=p;var h=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},v=function(e,t,n){var o=0;for(e=n?u(e/700):e>>1,e+=u(e/t);e>455;o+=r)e=u(e/35);return u(o+36*e/(e+38))},m=function(e){var t,o=[],i=e.length,a=0,s=128,c=72,d=e.lastIndexOf("-");d<0&&(d=0);for(var f=0;f<d;++f)e.charCodeAt(f)>=128&&l("not-basic"),o.push(e.charCodeAt(f));for(var p=d>0?d+1:0;p<i;){for(var h=a,m=1,y=r;;y+=r){p>=i&&l("invalid-input");var g=(t=e.charCodeAt(p++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:r;(g>=r||g>u((n-a)/m))&&l("overflow"),a+=g*m;var b=y<=c?1:y>=c+26?26:y-c;if(g<b)break;var x=r-b;m>u(n/x)&&l("overflow"),m*=x}var w=o.length+1;c=v(a-h,w,0==h),u(a/w)>n-s&&l("overflow"),s+=u(a/w),a%=w,o.splice(a++,0,s)}return String.fromCodePoint.apply(String,o)};t.decode=m;var y=function(e){var t=[],o=(e=f(e)).length,i=128,a=0,s=72,d=!0,p=!1,m=void 0;try{for(var y,g=e[Symbol.iterator]();!(d=(y=g.next()).done);d=!0){var b=y.value;b<128&&t.push(c(b))}}catch(e){p=!0,m=e}finally{try{d||null==g.return||g.return()}finally{if(p)throw m}}var x=t.length,w=x;for(x&&t.push("-");w<o;){var k=n,C=!0,j=!1,T=void 0;try{for(var S,A=e[Symbol.iterator]();!(C=(S=A.next()).done);C=!0){var E=S.value;E>=i&&E<k&&(k=E)}}catch(e){j=!0,T=e}finally{try{C||null==A.return||A.return()}finally{if(j)throw T}}var _=w+1;k-i>u((n-a)/_)&&l("overflow"),a+=(k-i)*_,i=k;var N=!0,q=!1,D=void 0;try{for(var L,O=e[Symbol.iterator]();!(N=(L=O.next()).done);N=!0){var P=L.value;if(P<i&&++a>n&&l("overflow"),P==i){for(var M=a,H=r;;H+=r){var R=H<=s?1:H>=s+26?26:H-s;if(M<R)break;var I=M-R,W=r-R;t.push(c(h(R+I%W,0))),M=u(I/W)}t.push(c(h(M,0))),s=v(a,_,w==x),a=0,++w}}}catch(e){q=!0,D=e}finally{try{N||null==O.return||O.return()}finally{if(q)throw D}}++a,++i}return t.join("")};t.encode=y;var g=function(e){return d(e,(function(e){return o.test(e)?m(e.slice(4).toLowerCase()):e}))};t.toUnicode=g;var b=function(e){return d(e,(function(e){return i.test(e)?"xn--"+y(e):e}))};t.toASCII=b;var x={version:"2.1.0",ucs2:{decode:f,encode:p},decode:m,encode:y,toASCII:b,toUnicode:g};t.default=x},825:e=>{e.exports=prestashop}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r](i,i.exports,n),i.loaded=!0,i.exports}n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e=a(n(339)),t=a(n(825)),r=a(n(291));n(52),n(882),n(165),n(827),n(965),n(999),n(982),n(432),n(90),n(226),n(26);var o=n(988),i=a(n(247));function a(e){return e&&e.__esModule?e:{default:e}}for(var s in r.default.prototype)t.default[s]=r.default.prototype[s];window.$=e.default,window.jQuery=e.default,(0,e.default)(document).ready((function(){(0,o.psShowHide)(),(0,i.default)('input[type="email"]')}))})()})();/**
3* 2012-2017 Patryk Marek PrestaDev.pl
4*
5* Patryk Marek PrestaDev.pl - PD Free delivery left amount Pro for PS 1.5.x && 1.6.x © All rights reserved.
6*
7* DISCLAIMER
8*
9* Do not edit, modify or copy this file.
10* If you wish to customize it, contact us at [email protected].
11*
12*  @author    Patryk Marek PrestaDev.pl <[email protected]>
13*  @copyright 2012-2022 Patryk Marek - PrestaDev.pl
14*  @license   License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it)
15*  @link      http://prestadev.pl
16*  @package   PD Free delivery left amount for Pro PS 1.5.x && 1.6.x
17*  @version   1.1.1
18*  @date      18-12-2014
19*/
20$(document).ready(()=>{prestashop.on('updatedCart',function(event){$.ajax({type:'POST',headers:{"cache-control":"no-cache"},url:pdfreedeliveryleftamountpro_ajax_link,async:!0,cache:!1,data:'action=calculateFreeDeliveryLeftAmount',success:function(jsonData){data=JSON.parse(jsonData);if(data.free_ship_from==0){$('.pdfla-cart').each(function(index,value){$(this).addClass('hidden')})}else{$('.pdfla-cart').each(function(index,value){$(this).removeClass('hidden')});$('.pdfla-delta-price').each(function(index,value){$(this).text(data.delta_display)});$('.pdfla-start-from-price').each(function(index,value){$(this).text(data.free_ship_from_display)})}}})});prestashop.on('updateCart',function(event){$.ajax({type:'POST',headers:{"cache-control":"no-cache"},url:pdfreedeliveryleftamountpro_ajax_link,async:!0,cache:!1,data:'action=calculateFreeDeliveryLeftAmount',success:function(jsonData){data=JSON.parse(jsonData);if(data.free_ship_from==0){$('.pdfla-cart').each(function(index,value){$(this).addClass('hidden')})}else{$('.pdfla-cart').each(function(index,value){$(this).removeClass('hidden')});$('.pdfla-delta-price').each(function(index,value){$(this).text(data.delta_display)});$('.pdfla-start-from-price').each(function(index,value){$(this).text(data.free_ship_from_display)})}}})})});!function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=26)}([function(t,e){t.exports=jQuery},function(t,e){t.exports=prestashop},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o),s=function(){function t(e){i(this,t),this.el=e}return r(t,[{key:"init",value:function(){this.el.on("show.bs.dropdown",function(t,e){e?(0,a.default)("#"+e).find(".dropdown-menu").first().stop(!0,!0).slideDown():(0,a.default)(t.target).find(".dropdown-menu").first().stop(!0,!0).slideDown()}),this.el.on("hide.bs.dropdown",function(t,e){e?(0,a.default)("#"+e).find(".dropdown-menu").first().stop(!0,!0).slideUp():(0,a.default)(t.target).find(".dropdown-menu").first().stop(!0,!0).slideUp()}),this.el.find("select.link").each(function(t,e){(0,a.default)(e).on("change",function(t){window.location=(0,a.default)(this).val()})})}}]),t}();e.default=s,t.exports=e.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o),s=function(){function t(){i(this,t)}return r(t,[{key:"init",value:function(){(0,a.default)(".js-product-miniature").each(function(t,e){(0,a.default)(e).find(".color").length>5&&function(){var t=0;(0,a.default)(e).find(".color").each(function(e,n){e>4&&((0,a.default)(n).hide(),t++)}),(0,a.default)(e).find(".js-count").append("+"+t)}()})}}]),t}();
vendor: 44,449 bytes, line 20
20e.default=s,t.exports=e.default},function(t,e,n){"use strict";var i,r;!function(t){function e(t){var e=t.length,i=n.type(t);return"function"!==i&&!n.isWindow(t)&&(!(1!==t.nodeType||!e)||("array"===i||0===e||"number"==typeof e&&e>0&&e-1 in t))}if(!t.jQuery){var n=function t(e,n){return new t.fn.init(e,n)};n.isWindow=function(t){return t&&t===t.window},n.type=function(t){return t?"object"==typeof t||"function"==typeof t?r[a.call(t)]||"object":typeof t:t+""},n.isArray=Array.isArray||function(t){return"array"===n.type(t)},n.isPlainObject=function(t){var e;if(!t||"object"!==n.type(t)||t.nodeType||n.isWindow(t))return!1;try{if(t.constructor&&!o.call(t,"constructor")&&!o.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}for(e in t);return void 0===e||o.call(t,e)},n.each=function(t,n,i){var r=0,o=t.length,a=e(t);if(i){if(a)for(;r<o&&!1!==n.apply(t[r],i);r++);else for(r in t)if(t.hasOwnProperty(r)&&!1===n.apply(t[r],i))break}else if(a)for(;r<o&&!1!==n.call(t[r],r,t[r]);r++);else for(r in t)if(t.hasOwnProperty(r)&&!1===n.call(t[r],r,t[r]))break;return t},n.data=function(t,e,r){if(void 0===r){var o=t[n.expando],a=o&&i[o];if(void 0===e)return a;if(a&&e in a)return a[e]}else if(void 0!==e){var s=t[n.expando]||(t[n.expando]=++n.uuid);return i[s]=i[s]||{},i[s][e]=r,r}},n.removeData=function(t,e){var r=t[n.expando],o=r&&i[r];o&&(e?n.each(e,function(t,e){delete o[e]}):delete i[r])},n.extend=function(){var t,e,i,r,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[l]||{},l++),"object"!=typeof s&&"function"!==n.type(s)&&(s={}),l===u&&(s=this,l--);l<u;l++)if(o=arguments[l])for(r in o)o.hasOwnProperty(r)&&(t=s[r],i=o[r],s!==i&&(c&&i&&(n.isPlainObject(i)||(e=n.isArray(i)))?(e?(e=!1,a=t&&n.isArray(t)?t:[]):a=t&&n.isPlainObject(t)?t:{},s[r]=n.extend(c,a,i)):void 0!==i&&(s[r]=i)));return s},n.queue=function(t,i,r){if(t){i=(i||"fx")+"queue";var o=n.data(t,i);return r?(!o||n.isArray(r)?o=n.data(t,i,function(t,n){var i=n||[];return t&&(e(Object(t))?function(t,e){for(var n=+e.length,i=0,r=t.length;i<n;)t[r++]=e[i++];if(n!==n)for(;void 0!==e[i];)t[r++]=e[i++];t.length=r}(i,"string"==typeof t?[t]:t):[].push.call(i,t)),i}(r)):o.push(r),o):o||[]}},n.dequeue=function(t,e){n.each(t.nodeType?[t]:t,function(t,i){e=e||"fx";var r=n.queue(i,e),o=r.shift();"inprogress"===o&&(o=r.shift()),o&&("fx"===e&&r.unshift("inprogress"),o.call(i,function(){n.dequeue(i,e)}))})},n.fn=n.prototype={init:function(t){if(t.nodeType)return this[0]=t,this;throw new Error("Not a DOM node.")},offset:function(){var e=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:e.top+(t.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:e.left+(t.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){var t=this[0],e=function(t){for(var e=t.offsetParent;e&&"html"!==e.nodeName.toLowerCase()&&e.style&&"static"===e.style.position;)e=e.offsetParent;return e||document}(t),i=this.offset(),r=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:n(e).offset();return i.top-=parseFloat(t.style.marginTop)||0,i.left-=parseFloat(t.style.marginLeft)||0,e.style&&(r.top+=parseFloat(e.style.borderTopWidth)||0,r.left+=parseFloat(e.style.borderLeftWidth)||0),{top:i.top-r.top,left:i.left-r.left}}};var i={};n.expando="velocity"+(new Date).getTime(),n.uuid=0;for(var r={},o=r.hasOwnProperty,a=r.toString,s="Boolean Number String Function Array Date RegExp Object Error".split(" "),l=0;l<s.length;l++)r["[object "+s[l]+"]"]=s[l].toLowerCase();n.fn.init.prototype=n.fn,t.Velocity={Utilities:n}}}(window),function(o){"object"==typeof t&&"object"==typeof t.exports?t.exports=o():(i=o,void 0!==(r="function"==typeof i?i.call(e,n,e,t):i)&&(t.exports=r))}(function(){return function(t,e,n,i){function r(t){for(var e=-1,n=t?t.length:0,i=[];++e<n;){var r=t[e];r&&i.push(r)}return i}function o(t){return _.isWrapped(t)?t=y.call(t):_.isNode(t)&&(t=[t]),t}function a(t){var e=h.data(t,"velocity");return null===e?i:e}function s(t,e){var n=a(t);n&&n.delayTimer&&!n.delayPaused&&(n.delayRemaining=n.delay-e+n.delayBegin,n.delayPaused=!0,clearTimeout(n.delayTimer.setTimeout))}function l(t,e){var n=a(t);n&&n.delayTimer&&n.delayPaused&&(n.delayPaused=!1,n.delayTimer.setTimeout=setTimeout(n.delayTimer.next,n.delayRemaining))}function u(t){return function(e){return Math.round(e*t)*(1/t)}}function c(t,n,i,r){function o(t,e){return 1-3*e+3*t}function a(t,e){return 3*e-6*t}function s(t){return 3*t}function l(t,e,n){return((o(e,n)*t+a(e,n))*t+s(e))*t}function u(t,e,n){return 3*o(e,n)*t*t+2*a(e,n)*t+s(e)}function c(e,n){for(var r=0;r<m;++r){var o=u(n,t,i);if(0===o)return n;n-=(l(n,t,i)-e)/o}return n}function f(){for(var e=0;e<b;++e)S[e]=l(e*_,t,i)}function d(e,n,r){var o,a,s=0;do{a=n+(r-n)/2,o=l(a,t,i)-e,o>0?r=a:n=a}while(Math.abs(o)>v&&++s<y);return a}function p(e){for(var n=0,r=1,o=b-1;r!==o&&S[r]<=e;++r)n+=_;--r;var a=(e-S[r])/(S[r+1]-S[r]),s=n+a*_,l=u(s,t,i);return l>=g?c(e,s):0===l?s:d(e,n,n+_)}function h(){E=!0,t===n&&i===r||f()}var m=4,g=.001,v=1e-7,y=10,b=11,_=1/(b-1),x="Float32Array"in e;if(4!==arguments.length)return!1;for(var w=0;w<4;++w)if("number"!=typeof arguments[w]||isNaN(arguments[w])||!isFinite(arguments[w]))return!1;t=Math.min(t,1),i=Math.min(i,1),t=Math.max(t,0),i=Math.max(i,0);var S=x?new Float32Array(b):new Array(b),E=!1,C=function(e){return E||h(),t===n&&i===r?e:0===e?0:1===e?1:l(p(e),n,r)};C.getControlPoints=function(){return[{x:t,y:n},{x:i,y:r}]};var T="generateBezier("+[t,n,i,r]+")";return C.toString=function(){return T},C}function f(t,e){var n=t;return _.isString(t)?E.Easings[t]||(n=!1):n=_.isArray(t)&&1===t.length?u.apply(null,t):_.isArray(t)&&2===t.length?C.apply(null,t.concat([e])):!(!_.isArray(t)||4!==t.length)&&c.apply(null,t),!1===n&&(n=E.Easings[E.defaults.easing]?E.defaults.easing:S),n}function d(t){if(t){var e=E.timestamp&&!0!==t?t:v.now(),n=E.State.calls.length;n>1e4&&(E.State.calls=r(E.State.calls),n=E.State.calls.length);for(var o=0;o<n;o++)if(E.State.calls[o]){var s=E.State.calls[o],l=s[0],u=s[2],c=s[3],f=!!c,g=null,y=s[5],b=s[6];if(c||(c=E.State.calls[o][3]=e-16),y){if(!0!==y.resume)continue;c=s[3]=Math.round(e-b-16),s[5]=null}b=s[6]=e-c;for(var x=Math.min(b/u.duration,1),w=0,S=l.length;w<S;w++){var C=l[w],A=C.element;if(a(A)){var O=!1;if(u.display!==i&&null!==u.display&&"none"!==u.display){if("flex"===u.display){var k=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];h.each(k,function(t,e){T.setPropertyValue(A,"display",e)})}T.setPropertyValue(A,"display",u.display)}u.visibility!==i&&"hidden"!==u.visibility&&T.setPropertyValue(A,"visibility",u.visibility);for(var D in C)if(C.hasOwnProperty(D)&&"element"!==D){var N,P=C[D],L=_.isString(P.easing)?E.Easings[P.easing]:P.easing;if(_.isString(P.pattern)){var j=1===x?function(t,e,n){var i=P.endValue[e];return n?Math.round(i):i}:function(t,e,n){var i=P.startValue[e],r=P.endValue[e]-i,o=i+r*L(x,u,r);return n?Math.round(o):o};N=P.pattern.replace(/{(\d+)(!)?}/g,j)}else if(1===x)N=P.endValue;else{var B=P.endValue-P.startValue;N=P.startValue+B*L(x,u,B)}if(!f&&N===P.currentValue)continue;if(P.currentValue=N,"tween"===D)g=N;else{var V;if(T.Hooks.registered[D]){V=T.Hooks.getRoot(D);var F=a(A).rootPropertyValueCache[V];F&&(P.rootPropertyValue=F)}var R=T.setPropertyValue(A,D,P.currentValue+(m<9&&0===parseFloat(N)?"":P.unitType),P.rootPropertyValue,P.scrollData);T.Hooks.registered[D]&&(T.Normalizations.registered[V]?a(A).rootPropertyValueCache[V]=T.Normalizations.registered[V]("extract",null,R[1]):a(A).rootPropertyValueCache[V]=R[1]),"transform"===R[0]&&(O=!0)}}u.mobileHA&&a(A).transformCache.translate3d===i&&(a(A).transformCache.translate3d="(0px, 0px, 0px)",O=!0),O&&T.flushTransformCache(A)}}u.display!==i&&"none"!==u.display&&(E.State.calls[o][2].display=!1),u.visibility!==i&&"hidden"!==u.visibility&&(E.State.calls[o][2].visibility=!1),u.progress&&u.progress.call(s[1],s[1],x,Math.max(0,c+u.duration-e),c,g),1===x&&p(o)}}E.State.isTicking&&I(d)}function p(t,e){if(!E.State.calls[t])return!1;for(var n=E.State.calls[t][0],r=E.State.calls[t][1],o=E.State.calls[t][2],s=E.State.calls[t][4],l=!1,u=0,c=n.length;u<c;u++){var f=n[u].element;e||o.loop||("none"===o.display&&T.setPropertyValue(f,"display",o.display),"hidden"===o.visibility&&T.setPropertyValue(f,"visibility",o.visibility));var d=a(f);if(!0!==o.loop&&(h.queue(f)[1]===i||!/\.velocityQueueEntryFlag/i.test(h.queue(f)[1]))&&d){d.isAnimating=!1,d.rootPropertyValueCache={};var p=!1;h.each(T.Lists.transforms3D,function(t,e){var n=/^scale/.test(e)?1:0,r=d.transformCache[e];d.transformCache[e]!==i&&new RegExp("^\\("+n+"[^.]").test(r)&&(p=!0,delete d.transformCache[e])}),o.mobileHA&&(p=!0,delete d.transformCache.translate3d),p&&T.flushTransformCache(f),T.Values.removeClass(f,"velocity-animating")}if(!e&&o.complete&&!o.loop&&u===c-1)try{o.complete.call(r,r)}catch(t){setTimeout(function(){throw t},1)}s&&!0!==o.loop&&s(r),d&&!0===o.loop&&!e&&(h.each(d.tweensContainer,function(t,e){if(/^rotate/.test(t)&&(parseFloat(e.startValue)-parseFloat(e.endValue))%360==0){var n=e.startValue;e.startValue=e.endValue,e.endValue=n}/^backgroundPosition/.test(t)&&100===parseFloat(e.endValue)&&"%"===e.unitType&&(e.endValue=0,e.startValue=100)}),E(f,"reverse",{loop:!0,delay:o.delay})),!1!==o.queue&&h.dequeue(f,o.queue)}E.State.calls[t]=!1;for(var m=0,g=E.State.calls.length;m<g;m++)if(!1!==E.State.calls[m]){l=!0;break}!1===l&&(E.State.isTicking=!1,delete E.State.calls,E.State.calls=[])}var h,m=function(){if(n.documentMode)return n.documentMode;for(var t=7;t>4;t--){var e=n.createElement("div");if(e.innerHTML="\x3c!--[if IE "+t+"]><span></span><![endif]--\x3e",e.getElementsByTagName("span").length)return e=null,t}return i}(),g=function(){var t=0;return e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||function(e){var n,i=(new Date).getTime();return n=Math.max(0,16-(i-t)),t=i+n,setTimeout(function(){e(i+n)},n)}}(),v=function(){var t=e.performance||{};if("function"!=typeof t.now){var n=t.timing&&t.timing.navigationStart?t.timing.navigationStart:(new Date).getTime();t.now=function(){return(new Date).getTime()-n}}return t}(),y=function(){var t=Array.prototype.slice;try{return t.call(n.documentElement),t}catch(e){return function(e,n){var i=this.length;if("number"!=typeof e&&(e=0),"number"!=typeof n&&(n=i),this.slice)return t.call(this,e,n);var r,o=[],a=e>=0?e:Math.max(0,i+e),s=n<0?i+n:Math.min(n,i),l=s-a;if(l>0)if(o=new Array(l),this.charAt)for(r=0;r<l;r++)o[r]=this.charAt(a+r);else for(r=0;r<l;r++)o[r]=this[a+r];return o}}}(),b=function(){return Array.prototype.includes?function(t,e){return t.includes(e)}:Array.prototype.indexOf?function(t,e){return t.indexOf(e)>=0}:function(t,e){for(var n=0;n<t.length;n++)if(t[n]===e)return!0;return!1}},_={isNumber:function(t){return"number"==typeof t},isString:function(t){return"string"==typeof t},isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},isFunction:function(t){return"[object Function]"===Object.prototype.toString.call(t)},isNode:function(t){return t&&t.nodeType},isWrapped:function(t){return t&&t!==e&&_.isNumber(t.length)&&!_.isString(t)&&!_.isFunction(t)&&!_.isNode(t)&&(0===t.length||_.isNode(t[0]))},isSVG:function(t){return e.SVGElement&&t instanceof e.SVGElement},isEmptyObject:function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}},x=!1;if(t.fn&&t.fn.jquery?(h=t,x=!0):h=e.Velocity.Utilities,m<=8&&!x)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(m<=7)return void(jQuery.fn.velocity=jQuery.fn.animate);var w=400,S="swing",E={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:e.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:n.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[],delayedElements:{count:0}},CSS:{},Utilities:h,Redirects:{},Easings:{},Promise:e.Promise,defaults:{queue:"",duration:w,easing:S,begin:i,complete:i,progress:i,display:i,visibility:i,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0,promiseRejectEmpty:!0},init:function(t){h.data(t,"velocity",{isSVG:_.isSVG(t),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:5,patch:0},debug:!1,timestamp:!0,pauseAll:function(t){var e=(new Date).getTime();h.each(E.State.calls,function(e,n){if(n){if(t!==i&&(n[2].queue!==t||!1===n[2].queue))return!0;n[5]={resume:!1}}}),h.each(E.State.delayedElements,function(t,n){n&&s(n,e)})},resumeAll:function(t){var e=(new Date).getTime();h.each(E.State.calls,function(e,n){if(n){if(t!==i&&(n[2].queue!==t||!1===n[2].queue))return!0;n[5]&&(n[5].resume=!0)}}),h.each(E.State.delayedElements,function(t,n){n&&l(n,e)})}};e.pageYOffset!==i?(E.State.scrollAnchor=e,E.State.scrollPropertyLeft="pageXOffset",E.State.scrollPropertyTop="pageYOffset"):(E.State.scrollAnchor=n.documentElement||n.body.parentNode||n.body,E.State.scrollPropertyLeft="scrollLeft",E.State.scrollPropertyTop="scrollTop");var C=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function e(e,n,i){var r={x:e.x+i.dx*n,v:e.v+i.dv*n,tension:e.tension,friction:e.friction};return{dx:r.v,dv:t(r)}}function n(n,i){var r={dx:n.v,dv:t(n)},o=e(n,.5*i,r),a=e(n,.5*i,o),s=e(n,i,a),l=1/6*(r.dx+2*(o.dx+a.dx)+s.dx),u=1/6*(r.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*i,n.v=n.v+u*i,n}return function t(e,i,r){var o,a,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0;for(e=parseFloat(e)||500,i=parseFloat(i)||20,r=r||null,l.tension=e,l.friction=i,o=null!==r,o?(c=t(e,i),a=c/r*.016):a=.016;;)if(s=n(s||l,a),u.push(1+s.x),c+=16,!(Math.abs(s.x)>1e-4&&Math.abs(s.v)>1e-4))break;return o?function(t){return u[t*(u.length-1)|0]}:c}}();E.Easings={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},spring:function(t){return 1-Math.cos(4.5*t*Math.PI)*Math.exp(6*-t)}},h.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(t,e){E.Easings[e[0]]=c.apply(null,e[1])});var T=E.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"],units:["%","em","ex","ch","rem","vw","vh","vmin","vmax","cm","mm","Q","in","pc","pt","px","deg","grad","rad","turn","s","ms"],colorNames:{aliceblue:"240,248,255",antiquewhite:"250,235,215",aquamarine:"127,255,212",aqua:"0,255,255",azure:"240,255,255",beige:"245,245,220",bisque:"255,228,196",black:"0,0,0",blanchedalmond:"255,235,205",blueviolet:"138,43,226",blue:"0,0,255",brown:"165,42,42",burlywood:"222,184,135",cadetblue:"95,158,160",chartreuse:"127,255,0",chocolate:"210,105,30",coral:"255,127,80",cornflowerblue:"100,149,237",cornsilk:"255,248,220",crimson:"220,20,60",cyan:"0,255,255",darkblue:"0,0,139",darkcyan:"0,139,139",darkgoldenrod:"184,134,11",darkgray:"169,169,169",darkgrey:"169,169,169",darkgreen:"0,100,0",darkkhaki:"189,183,107",darkmagenta:"139,0,139",darkolivegreen:"85,107,47",darkorange:"255,140,0",darkorchid:"153,50,204",darkred:"139,0,0",darksalmon:"233,150,122",darkseagreen:"143,188,143",darkslateblue:"72,61,139",darkslategray:"47,79,79",darkturquoise:"0,206,209",darkviolet:"148,0,211",deeppink:"255,20,147",deepskyblue:"0,191,255",dimgray:"105,105,105",dimgrey:"105,105,105",dodgerblue:"30,144,255",firebrick:"178,34,34",floralwhite:"255,250,240",forestgreen:"34,139,34",fuchsia:"255,0,255",gainsboro:"220,220,220",ghostwhite:"248,248,255",gold:"255,215,0",goldenrod:"218,165,32",gray:"128,128,128",grey:"128,128,128",greenyellow:"173,255,47",green:"0,128,0",honeydew:"240,255,240",hotpink:"255,105,180",indianred:"205,92,92",indigo:"75,0,130",ivory:"255,255,240",khaki:"240,230,140",lavenderblush:"255,240,245",lavender:"230,230,250",lawngreen:"124,252,0",lemonchiffon:"255,250,205",lightblue:"173,216,230",lightcoral:"240,128,128",lightcyan:"224,255,255",lightgoldenrodyellow:"250,250,210",lightgray:"211,211,211",lightgrey:"211,211,211",lightgreen:"144,238,144",lightpink:"255,182,193",lightsalmon:"255,160,122",lightseagreen:"32,178,170",lightskyblue:"135,206,250",lightslategray:"119,136,153",lightsteelblue:"176,196,222",lightyellow:"255,255,224",limegreen:"50,205,50",lime:"0,255,0",linen:"250,240,230",magenta:"255,0,255",maroon:"128,0,0",mediumaquamarine:"102,205,170",mediumblue:"0,0,205",mediumorchid:"186,85,211",mediumpurple:"147,112,219",mediumseagreen:"60,179,113",mediumslateblue:"123,104,238",mediumspringgreen:"0,250,154",mediumturquoise:"72,209,204",mediumvioletred:"199,21,133",midnightblue:"25,25,112",mintcream:"245,255,250",mistyrose:"255,228,225",moccasin:"255,228,181",navajowhite:"255,222,173",navy:"0,0,128",oldlace:"253,245,230",olivedrab:"107,142,35",olive:"128,128,0",orangered:"255,69,0",orange:"255,165,0",orchid:"218,112,214",palegoldenrod:"238,232,170",palegreen:"152,251,152",paleturquoise:"175,238,238",palevioletred:"219,112,147",papayawhip:"255,239,213",peachpuff:"255,218,185",peru:"205,133,63",pink:"255,192,203",plum:"221,160,221",powderblue:"176,224,230",purple:"128,0,128",red:"255,0,0",rosybrown:"188,143,143",royalblue:"65,105,225",saddlebrown:"139,69,19",salmon:"250,128,114",sandybrown:"244,164,96",seagreen:"46,139,87",seashell:"255,245,238",sienna:"160,82,45",silver:"192,192,192",skyblue:"135,206,235",slateblue:"106,90,205",slategray:"112,128,144",snow:"255,250,250",springgreen:"0,255,127",steelblue:"70,130,180",tan:"210,180,140",teal:"0,128,128",thistle:"216,191,216",tomato:"255,99,71",turquoise:"64,224,208",violet:"238,130,238",wheat:"245,222,179",whitesmoke:"245,245,245",white:"255,255,255",yellowgreen:"154,205,50",yellow:"255,255,0"}},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var t=0;t<T.Lists.colors.length;t++){var e="color"===T.Lists.colors[t]?"0 0 0 1":"255 255 255 1";T.Hooks.templates[T.Lists.colors[t]]=["Red Green Blue Alpha",e]}var n,i,r;if(m)for(n in T.Hooks.templates)if(T.Hooks.templates.hasOwnProperty(n)){i=T.Hooks.templates[n],r=i[0].split(" ");var o=i[1].match(T.RegEx.valueSplit);"Color"===r[0]&&(r.push(r.shift()),o.push(o.shift()),T.Hooks.templates[n]=[r.join(" "),o.join(" ")])}for(n in T.Hooks.templates)if(T.Hooks.templates.hasOwnProperty(n)){i=T.Hooks.templates[n],r=i[0].split(" ");for(var a in r)if(r.hasOwnProperty(a)){var s=n+r[a],l=a;T.Hooks.registered[s]=[n,l]}}},getRoot:function(t){var e=T.Hooks.registered[t];return e?e[0]:t},getUnit:function(t,e){var n=(t.substr(e||0,5).match(/^[a-z%]+/)||[])[0]||"";return n&&b(T.Lists.units,n)?n:""},fixColors:function(t){return t.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g,function(t,e,n){return T.Lists.colorNames.hasOwnProperty(n)?(e||"rgba(")+T.Lists.colorNames[n]+(e?"":",1)"):e+n})},cleanRootPropertyValue:function(t,e){return T.RegEx.valueUnwrap.test(e)&&(e=e.match(T.RegEx.valueUnwrap)[1]),T.Values.isCSSNullValue(e)&&(e=T.Hooks.templates[t][1]),e},extractValue:function(t,e){var n=T.Hooks.registered[t];if(n){var i=n[0],r=n[1];return e=T.Hooks.cleanRootPropertyValue(i,e),e.toString().match(T.RegEx.valueSplit)[r]}return e},injectValue:function(t,e,n){var i=T.Hooks.registered[t];if(i){var r,o=i[0],a=i[1];return n=T.Hooks.cleanRootPropertyValue(o,n),r=n.toString().match(T.RegEx.valueSplit),r[a]=e,r.join(" ")}return n}},Normalizations:{registered:{clip:function(t,e,n){switch(t){case"name":return"clip";case"extract":var i;return T.RegEx.wrappedValueAlreadyExtracted.test(n)?i=n:(i=n.toString().match(T.RegEx.valueUnwrap),i=i?i[1].replace(/,(\s+)?/g," "):n),i;case"inject":return"rect("+n+")"}},blur:function(t,e,n){switch(t){case"name":return E.State.isFirefox?"filter":"-webkit-filter";case"extract":var i=parseFloat(n);if(!i&&0!==i){var r=n.toString().match(/blur\(([0-9]+[A-z]+)\)/i);i=r?r[1]:0}return i;case"inject":return parseFloat(n)?"blur("+n+")":"none"}},opacity:function(t,e,n){if(m<=8)switch(t){case"name":return"filter";case"extract":var i=n.toString().match(/alpha\(opacity=(.*)\)/i);return n=i?i[1]/100:1;case"inject":return e.style.zoom=1,parseFloat(n)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(n),10)+")"}else switch(t){case"name":return"opacity";case"extract":case"inject":return n}}},register:function(){function t(t,e,n){if("border-box"===T.getPropertyValue(e,"boxSizing").toString().toLowerCase()===(n||!1)){var i,r,o=0,a="width"===t?["Left","Right"]:["Top","Bottom"],s=["padding"+a[0],"padding"+a[1],"border"+a[0]+"Width","border"+a[1]+"Width"];for(i=0;i<s.length;i++)r=parseFloat(T.getPropertyValue(e,s[i])),isNaN(r)||(o+=r);return n?-o:o}return 0}function e(e,n){return function(i,r,o){switch(i){case"name":return e;case"extract":return parseFloat(o)+t(e,r,n);case"inject":return parseFloat(o)-t(e,r,n)+"px"}}}m&&!(m>9)||E.State.isGingerbread||(T.Lists.transformsBase=T.Lists.transformsBase.concat(T.Lists.transforms3D));for(var n=0;n<T.Lists.transformsBase.length;n++)!function(){var t=T.Lists.transformsBase[n];T.Normalizations.registered[t]=function(e,n,r){switch(e){case"name":return"transform";case"extract":return a(n)===i||a(n).transformCache[t]===i?/^scale/i.test(t)?1:0:a(n).transformCache[t].replace(/[()]/g,"");case"inject":var o=!1;switch(t.substr(0,t.length-1)){case"translate":o=!/(%|px|em|rem|vw|vh|\d)$/i.test(r);break;case"scal":case"scale":E.State.isAndroid&&a(n).transformCache[t]===i&&r<1&&(r=1),o=!/(\d)$/i.test(r);break;case"skew":case"rotate":o=!/(deg|\d)$/i.test(r)}return o||(a(n).transformCache[t]="("+r+")"),a(n).transformCache[t]}}}();for(var r=0;r<T.Lists.colors.length;r++)!function(){var t=T.Lists.colors[r];T.Normalizations.registered[t]=function(e,n,r){switch(e){case"name":return t;case"extract":var o;if(T.RegEx.wrappedValueAlreadyExtracted.test(r))o=r;else{var a,s={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(r)?a=s[r]!==i?s[r]:s.black:T.RegEx.isHex.test(r)?a="rgb("+T.Values.hexToRgb(r).join(" ")+")":/^rgba?\(/i.test(r)||(a=s.black),o=(a||r).toString().match(T.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return(!m||m>8)&&3===o.split(" ").length&&(o+=" 1"),o;case"inject":return/^rgb/.test(r)?r:(m<=8?4===r.split(" ").length&&(r=r.split(/\s+/).slice(0,3).join(" ")):3===r.split(" ").length&&(r+=" 1"),(m<=8?"rgb":"rgba")+"("+r.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")")}}}();T.Normalizations.registered.innerWidth=e("width",!0),T.Normalizations.registered.innerHeight=e("height",!0),T.Normalizations.registered.outerWidth=e("width"),T.Normalizations.registered.outerHeight=e("height")}},Names:{camelCase:function(t){return t.replace(/-(\w)/g,function(t,e){return e.toUpperCase()})},SVGAttribute:function(t){var e="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(m||E.State.isAndroid&&!E.State.isChrome)&&(e+="|transform"),new RegExp("^("+e+")$","i").test(t)},prefixCheck:function(t){if(E.State.prefixMatches[t])return[E.State.prefixMatches[t],!0];for(var e=["","Webkit","Moz","ms","O"],n=0,i=e.length;n<i;n++){var r;if(r=0===n?t:e[n]+t.replace(/^\w/,function(t){return t.toUpperCase()}),_.isString(E.State.prefixElement.style[r]))return E.State.prefixMatches[t]=r,[r,!0]}return[t,!1]}},Values:{hexToRgb:function(t){var e,n=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return t=t.replace(n,function(t,e,n,i){return e+e+n+n+i+i}),e=i.exec(t),e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:[0,0,0]},isCSSNullValue:function(t){return!t||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(t)},getUnitType:function(t){return/^(rotate|skew)/i.test(t)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(t)?"":"px"},getDisplayType:function(t){var e=t&&t.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e)?"inline":/^(li)$/i.test(e)?"list-item":/^(tr)$/i.test(e)?"table-row":/^(table)$/i.test(e)?"table":/^(tbody)$/i.test(e)?"table-row-group":"block"},addClass:function(t,e){if(t)if(t.classList)t.classList.add(e);else if(_.isString(t.className))t.className+=(t.className.length?" ":"")+e;else{var n=t.getAttribute(m<=7?"className":"class")||"";t.setAttribute("class",n+(n?" ":"")+e)}},removeClass:function(t,e){if(t)if(t.classList)t.classList.remove(e);else if(_.isString(t.className))t.className=t.className.toString().replace(new RegExp("(^|\\s)"+e.split(" ").join("|")+"(\\s|$)","gi")," ");else{var n=t.getAttribute(m<=7?"className":"class")||"";t.setAttribute("class",n.replace(new RegExp("(^|s)"+e.split(" ").join("|")+"(s|$)","gi")," "))}}},getPropertyValue:function(t,n,r,o){function s(t,n){var r=0;if(m<=8)r=h.css(t,n);else{var l=!1;/^(width|height)$/.test(n)&&0===T.getPropertyValue(t,"display")&&(l=!0,T.setPropertyValue(t,"display",T.Values.getDisplayType(t)));var u=function(){l&&T.setPropertyValue(t,"display","none")};if(!o){if("height"===n&&"border-box"!==T.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var c=t.offsetHeight-(parseFloat(T.getPropertyValue(t,"borderTopWidth"))||0)-(parseFloat(T.getPropertyValue(t,"borderBottomWidth"))||0)-(parseFloat(T.getPropertyValue(t,"paddingTop"))||0)-(parseFloat(T.getPropertyValue(t,"paddingBottom"))||0);return u(),c}if("width"===n&&"border-box"!==T.getPropertyValue(t,"boxSizing").toString().toLowerCase()){var f=t.offsetWidth-(parseFloat(T.getPropertyValue(t,"borderLeftWidth"))||0)-(parseFloat(T.getPropertyValue(t,"borderRightWidth"))||0)-(parseFloat(T.getPropertyValue(t,"paddingLeft"))||0)-(parseFloat(T.getPropertyValue(t,"paddingRight"))||0);return u(),f}}var d;d=a(t)===i?e.getComputedStyle(t,null):a(t).computedStyle?a(t).computedStyle:a(t).computedStyle=e.getComputedStyle(t,null),"borderColor"===n&&(n="borderTopColor"),r=9===m&&"filter"===n?d.getPropertyValue(n):d[n],""!==r&&null!==r||(r=t.style[n]),u()}if("auto"===r&&/^(top|right|bottom|left)$/i.test(n)){var p=s(t,"position");("fixed"===p||"absolute"===p&&/top|left/i.test(n))&&(r=h(t).position()[n]+"px")}return r}var l;if(T.Hooks.registered[n]){var u=n,c=T.Hooks.getRoot(u);r===i&&(r=T.getPropertyValue(t,T.Names.prefixCheck(c)[0])),T.Normalizations.registered[c]&&(r=T.Normalizations.registered[c]("extract",t,r)),l=T.Hooks.extractValue(u,r)}else if(T.Normalizations.registered[n]){var f,d;f=T.Normalizations.registered[n]("name",t),"transform"!==f&&(d=s(t,T.Names.prefixCheck(f)[0]),T.Values.isCSSNullValue(d)&&T.Hooks.templates[n]&&(d=T.Hooks.templates[n][1])),l=T.Normalizations.registered[n]("extract",t,d)}if(!/^[\d-]/.test(l)){var p=a(t);if(p&&p.isSVG&&T.Names.SVGAttribute(n))if(/^(height|width)$/i.test(n))try{l=t.getBBox()[n]}catch(t){l=0}else l=t.getAttribute(n);else l=s(t,T.Names.prefixCheck(n)[0])}return T.Values.isCSSNullValue(l)&&(l=0),E.debug,l},setPropertyValue:function(t,n,i,r,o){var s=n;if("scroll"===n)o.container?o.container["scroll"+o.direction]=i:"Left"===o.direction?e.scrollTo(i,o.alternateValue):e.scrollTo(o.alternateValue,i);else if(T.Normalizations.registered[n]&&"transform"===T.Normalizations.registered[n]("name",t))T.Normalizations.registered[n]("inject",t,i),s="transform",i=a(t).transformCache[n];else{if(T.Hooks.registered[n]){var l=n,u=T.Hooks.getRoot(n);r=r||T.getPropertyValue(t,u),i=T.Hooks.injectValue(l,i,r),n=u}if(T.Normalizations.registered[n]&&(i=T.Normalizations.registered[n]("inject",t,i),n=T.Normalizations.registered[n]("name",t)),s=T.Names.prefixCheck(n)[0],m<=8)try{t.style[s]=i}catch(t){E.debug}else{var c=a(t);c&&c.isSVG&&T.Names.SVGAttribute(n)?t.setAttribute(n,i):t.style[s]=i}E.debug}return[s,i]},flushTransformCache:function(t){var e="",n=a(t);if((m||E.State.isAndroid&&!E.State.isChrome)&&n&&n.isSVG){var i=function(e){return parseFloat(T.getPropertyValue(t,e))},r={translate:[i("translateX"),i("translateY")],skewX:[i("skewX")],skewY:[i("skewY")],scale:1!==i("scale")?[i("scale"),i("scale")]:[i("scaleX"),i("scaleY")],rotate:[i("rotateZ"),0,0]};h.each(a(t).transformCache,function(t){/^translate/i.test(t)?t="translate":/^scale/i.test(t)?t="scale":/^rotate/i.test(t)&&(t="rotate"),r[t]&&(e+=t+"("+r[t].join(" ")+") ",delete r[t])})}else{var o,s;h.each(a(t).transformCache,function(n){if(o=a(t).transformCache[n],"transformPerspective"===n)return s=o,!0;9===m&&"rotateZ"===n&&(n="rotate"),e+=n+o+" "}),s&&(e="perspective"+s+" "+e)}T.setPropertyValue(t,"transform",e)}};T.Hooks.register(),T.Normalizations.register(),E.hook=function(t,e,n){var r;return t=o(t),h.each(t,function(t,o){if(a(o)===i&&E.init(o),n===i)r===i&&(r=T.getPropertyValue(o,e));else{var s=T.setPropertyValue(o,e,n);"transform"===s[0]&&E.CSS.flushTransformCache(o),r=s}}),r};var A=function t(){function r(){return m?A.promise||null:g}function u(t,r){function o(o){var c,p;if(l.begin&&0===O)try{l.begin.call(y,y)}catch(t){setTimeout(function(){throw t},1)}if("scroll"===N){var m,g,v,w=/^x$/i.test(l.axis)?"Left":"Top",C=parseFloat(l.offset)||0;l.container?_.isWrapped(l.container)||_.isNode(l.container)?(l.container=l.container[0]||l.container,m=l.container["scroll"+w],v=m+h(t).position()[w.toLowerCase()]+C):l.container=null:(m=E.State.scrollAnchor[E.State["scrollProperty"+w]],g=E.State.scrollAnchor[E.State["scrollProperty"+("Left"===w?"Top":"Left")]],v=h(t).offset()[w.toLowerCase()]+C),u={scroll:{rootPropertyValue:!1,startValue:m,currentValue:m,endValue:v,unitType:"",easing:l.easing,scrollData:{container:l.container,direction:w,alternateValue:g}},element:t},E.debug}else if("reverse"===N){if(!(c=a(t)))return;if(!c.tweensContainer)return void h.dequeue(t,l.queue);"none"===c.opts.display&&(c.opts.display="auto"),"hidden"===c.opts.visibility&&(c.opts.visibility="visible"),c.opts.loop=!1,c.opts.begin=null,c.opts.complete=null,S.easing||delete l.easing,S.duration||delete l.duration,l=h.extend({},c.opts,l),p=h.extend(!0,{},c?c.tweensContainer:null);for(var k in p)if(p.hasOwnProperty(k)&&"element"!==k){var D=p[k].startValue;p[k].startValue=p[k].currentValue=p[k].endValue,p[k].endValue=D,_.isEmptyObject(S)||(p[k].easing=l.easing),E.debug}u=p}else if("start"===N){c=a(t),c&&c.tweensContainer&&!0===c.isAnimating&&(p=c.tweensContainer);var P=function(r,o){var a,f=T.Hooks.getRoot(r),d=!1,m=o[0],g=o[1],v=o[2];if(!(c&&c.isSVG||"tween"===f||!1!==T.Names.prefixCheck(f)[1]||T.Normalizations.registered[f]!==i))return void E.debug;(l.display!==i&&null!==l.display&&"none"!==l.display||l.visibility!==i&&"hidden"!==l.visibility)&&/opacity|filter/.test(r)&&!v&&0!==m&&(v=0),l._cacheValues&&p&&p[r]?(v===i&&(v=p[r].endValue+p[r].unitType),d=c.rootPropertyValueCache[f]):T.Hooks.registered[r]?v===i?(d=T.getPropertyValue(t,f),v=T.getPropertyValue(t,r,d)):d=T.Hooks.templates[f][1]:v===i&&(v=T.getPropertyValue(t,r));var y,b,x,w=!1,S=function(t,e){var n,i;return i=(e||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(t){return n=t,""}),n||(n=T.Values.getUnitType(t)),[i,n]};if(v!==m&&_.isString(v)&&_.isString(m)){a="";var C=0,A=0,I=[],O=[],k=0,D=0,N=0;for(v=T.Hooks.fixColors(v),m=T.Hooks.fixColors(m);C<v.length&&A<m.length;){var P=v[C],L=m[A];if(/[\d\.-]/.test(P)&&/[\d\.-]/.test(L)){for(var j=P,B=L,V=".",R=".";++C<v.length;){if((P=v[C])===V)V="..";else if(!/\d/.test(P))break;j+=P}for(;++A<m.length;){if((L=m[A])===R)R="..";else if(!/\d/.test(L))break;B+=L}var M=T.Hooks.getUnit(v,C),H=T.Hooks.getUnit(m,A);if(C+=M.length,A+=H.length,M===H)j===B?a+=j+M:(a+="{"+I.length+(D?"!":"")+"}"+M,I.push(parseFloat(j)),O.push(parseFloat(B)));else{var W=parseFloat(j),U=parseFloat(B);a+=(k<5?"calc":"")+"("+(W?"{"+I.length+(D?"!":"")+"}":"0")+M+" + "+(U?"{"+(I.length+(W?1:0))+(D?"!":"")+"}":"0")+H+")",W&&(I.push(W),O.push(0)),U&&(I.push(0),O.push(U))}}else{if(P!==L){k=0;break}a+=P,C++,A++,0===k&&"c"===P||1===k&&"a"===P||2===k&&"l"===P||3===k&&"c"===P||k>=4&&"("===P?k++:(k&&k<5||k>=4&&")"===P&&--k<5)&&(k=0),0===D&&"r"===P||1===D&&"g"===P||2===D&&"b"===P||3===D&&"a"===P||D>=3&&"("===P?(3===D&&"a"===P&&(N=1),D++):N&&","===P?++N>3&&(D=N=0):(N&&D<(N?5:4)||D>=(N?4:3)&&")"===P&&--D<(N?5:4))&&(D=N=0)}}C===v.length&&A===m.length||(E.debug,a=i),a&&(I.length?(E.debug,v=I,m=O,b=x=""):a=i)}a||(y=S(r,v),v=y[0],x=y[1],y=S(r,m),m=y[0].replace(/^([+-\/*])=/,function(t,e){return w=e,""}),b=y[1],v=parseFloat(v)||0,m=parseFloat(m)||0,"%"===b&&(/^(fontSize|lineHeight)$/.test(r)?(m/=100,b="em"):/^scale/.test(r)?(m/=100,b=""):/(Red|Green|Blue)$/i.test(r)&&(m=m/100*255,b="")));if(/[\/*]/.test(w))b=x;else if(x!==b&&0!==v)if(0===m)b=x;else{s=s||function(){var i={myParent:t.parentNode||n.body,position:T.getPropertyValue(t,"position"),fontSize:T.getPropertyValue(t,"fontSize")},r=i.position===F.lastPosition&&i.myParent===F.lastParent,o=i.fontSize===F.lastFontSize;F.lastParent=i.myParent,F.lastPosition=i.position,F.lastFontSize=i.fontSize;var a={};if(o&&r)a.emToPx=F.lastEmToPx,a.percentToPxWidth=F.lastPercentToPxWidth,a.percentToPxHeight=F.lastPercentToPxHeight;else{var s=c&&c.isSVG?n.createElementNS("http://www.w3.org/2000/svg","rect"):n.createElement("div");E.init(s),i.myParent.appendChild(s),h.each(["overflow","overflowX","overflowY"],function(t,e){E.CSS.setPropertyValue(s,e,"hidden")}),E.CSS.setPropertyValue(s,"position",i.position),E.CSS.setPropertyValue(s,"fontSize",i.fontSize),E.CSS.setPropertyValue(s,"boxSizing","content-box"),h.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(t,e){E.CSS.setPropertyValue(s,e,"100%")}),E.CSS.setPropertyValue(s,"paddingLeft","100em"),a.percentToPxWidth=F.lastPercentToPxWidth=(parseFloat(T.getPropertyValue(s,"width",null,!0))||1)/100,a.percentToPxHeight=F.lastPercentToPxHeight=(parseFloat(T.getPropertyValue(s,"height",null,!0))||1)/100,a.emToPx=F.lastEmToPx=(parseFloat(T.getPropertyValue(s,"paddingLeft"))||1)/100,i.myParent.removeChild(s)}return null===F.remToPx&&(F.remToPx=parseFloat(T.getPropertyValue(n.body,"fontSize"))||16),null===F.vwToPx&&(F.vwToPx=parseFloat(e.innerWidth)/100,F.vhToPx=parseFloat(e.innerHeight)/100),a.remToPx=F.remToPx,a.vwToPx=F.vwToPx,a.vhToPx=F.vhToPx,E.debug,a}();var q=/margin|padding|left|right|width|text|word|letter/i.test(r)||/X$/.test(r)||"x"===r?"x":"y";switch(x){case"%":v*="x"===q?s.percentToPxWidth:s.percentToPxHeight;break;case"px":break;default:v*=s[x+"ToPx"]}switch(b){case"%":v*=1/("x"===q?s.percentToPxWidth:s.percentToPxHeight);break;case"px":break;default:v*=1/s[b+"ToPx"]}}switch(w){case"+":m=v+m;break;case"-":m=v-m;break;case"*":m*=v;break;case"/":m=v/m}u[r]={rootPropertyValue:d,startValue:v,currentValue:v,endValue:m,unitType:b,easing:g},a&&(u[r].pattern=a),E.debug};for(var L in x)if(x.hasOwnProperty(L)){var j=T.Names.camelCase(L),B=function(e,n){var i,o,a;return _.isFunction(e)&&(e=e.call(t,r,I)),_.isArray(e)?(i=e[0],!_.isArray(e[1])&&/^[\d-]/.test(e[1])||_.isFunction(e[1])||T.RegEx.isHex.test(e[1])?a=e[1]:_.isString(e[1])&&!T.RegEx.isHex.test(e[1])&&E.Easings[e[1]]||_.isArray(e[1])?(o=n?e[1]:f(e[1],l.duration),a=e[2]):a=e[1]||e[2]):i=e,n||(o=o||l.easing),_.isFunction(i)&&(i=i.call(t,r,I)),_.isFunction(a)&&(a=a.call(t,r,I)),[i||0,o,a]}(x[L]);if(b(T.Lists.colors,j)){var V=B[0],M=B[1],H=B[2];if(T.RegEx.isHex.test(V)){for(var W=["Red","Green","Blue"],U=T.Values.hexToRgb(V),q=H?T.Values.hexToRgb(H):i,z=0;z<W.length;z++){var $=[U[z]];M&&$.push(M),q!==i&&$.push(q[z]),P(j+W[z],$)}continue}}P(j,B)}u.element=t}u.element&&(T.Values.addClass(t,"velocity-animating"),R.push(u),c=a(t),c&&(""===l.queue&&(c.tweensContainer=u,c.opts=l),c.isAnimating=!0),O===I-1?(E.State.calls.push([R,y,l,null,A.resolver,null,0]),!1===E.State.isTicking&&(E.State.isTicking=!0,d())):O++)}var s,l=h.extend({},E.defaults,S),u={};switch(a(t)===i&&E.init(t),parseFloat(l.delay)&&!1!==l.queue&&h.queue(t,l.queue,function(e){E.velocityQueueEntryFlag=!0;var n=E.State.delayedElements.count++;E.State.delayedElements[n]=t;var i=function(t){return function(){E.State.delayedElements[t]=!1,e()}}(n);a(t).delayBegin=(new Date).getTime(),a(t).delay=parseFloat(l.delay),a(t).delayTimer={setTimeout:setTimeout(e,parseFloat(l.delay)),next:i}}),l.duration.toString().toLowerCase()){case"fast":l.duration=200;break;case"normal":l.duration=w;break;case"slow":l.duration=600;break;default:l.duration=parseFloat(l.duration)||1}if(!1!==E.mock&&(!0===E.mock?l.duration=l.delay=1:(l.duration*=parseFloat(E.mock)||1,l.delay*=parseFloat(E.mock)||1)),l.easing=f(l.easing,l.duration),l.begin&&!_.isFunction(l.begin)&&(l.begin=null),l.progress&&!_.isFunction(l.progress)&&(l.progress=null),l.complete&&!_.isFunction(l.complete)&&(l.complete=null),l.display!==i&&null!==l.display&&(l.display=l.display.toString().toLowerCase(),"auto"===l.display&&(l.display=E.CSS.Values.getDisplayType(t))),l.visibility!==i&&null!==l.visibility&&(l.visibility=l.visibility.toString().toLowerCase()),l.mobileHA=l.mobileHA&&E.State.isMobile&&!E.State.isGingerbread,!1===l.queue)if(l.delay){var c=E.State.delayedElements.count++;E.State.delayedElements[c]=t;var p=function(t){return function(){E.State.delayedElements[t]=!1,o()}}(c);a(t).delayBegin=(new Date).getTime(),a(t).delay=parseFloat(l.delay),a(t).delayTimer={setTimeout:setTimeout(o,parseFloat(l.delay)),next:p}}else o();else h.queue(t,l.queue,function(t,e){if(!0===e)return A.promise&&A.resolver(y),!0;E.velocityQueueEntryFlag=!0,o(t)});""!==l.queue&&"fx"!==l.queue||"inprogress"===h.queue(t)[0]||h.dequeue(t)}var c,m,g,v,y,x,S,C=arguments[0]&&(arguments[0].p||h.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||_.isString(arguments[0].properties));_.isWrapped(this)?(m=!1,v=0,y=this,g=this):(m=!0,v=1,y=C?arguments[0].elements||arguments[0].e:arguments[0]);var A={promise:null,resolver:null,rejecter:null};if(m&&E.Promise&&(A.promise=new E.Promise(function(t,e){A.resolver=t,A.rejecter=e})),C?(x=arguments[0].properties||arguments[0].p,S=arguments[0].options||arguments[0].o):(x=arguments[v],S=arguments[v+1]),!(y=o(y)))return void(A.promise&&(x&&S&&!1===S.promiseRejectEmpty?A.resolver():A.rejecter()));var I=y.length,O=0;if(!/^(stop|finish|finishAll|pause|resume)$/i.test(x)&&!h.isPlainObject(S)){var k=v+1;S={};for(var D=k;D<arguments.length;D++)_.isArray(arguments[D])||!/^(fast|normal|slow)$/i.test(arguments[D])&&!/^\d/.test(arguments[D])?_.isString(arguments[D])||_.isArray(arguments[D])?S.easing=arguments[D]:_.isFunction(arguments[D])&&(S.complete=arguments[D]):S.duration=arguments[D]}var N;switch(x){case"scroll":N="scroll";break;case"reverse":N="reverse";break;case"pause":var P=(new Date).getTime();return h.each(y,function(t,e){s(e,P)}),h.each(E.State.calls,function(t,e){var n=!1;e&&h.each(e[1],function(t,r){var o=S===i?"":S;return!0!==o&&e[2].queue!==o&&(S!==i||!1!==e[2].queue)||(h.each(y,function(t,i){if(i===r)return e[5]={resume:!1},n=!0,!1}),!n&&void 0)})}),r();case"resume":return h.each(y,function(t,e){l(e,P)}),h.each(E.State.calls,function(t,e){var n=!1;e&&h.each(e[1],function(t,r){var o=S===i?"":S;return!0!==o&&e[2].queue!==o&&(S!==i||!1!==e[2].queue)||(!e[5]||(h.each(y,function(t,i){if(i===r)return e[5].resume=!0,n=!0,!1}),!n&&void 0))})}),r();case"finish":case"finishAll":case"stop":h.each(y,function(t,e){a(e)&&a(e).delayTimer&&(clearTimeout(a(e).delayTimer.setTimeout),a(e).delayTimer.next&&a(e).delayTimer.next(),delete a(e).delayTimer),"finishAll"!==x||!0!==S&&!_.isString(S)||(h.each(h.queue(e,_.isString(S)?S:""),function(t,e){_.isFunction(e)&&e()}),h.queue(e,_.isString(S)?S:"",[]))});var L=[];return h.each(E.State.calls,function(t,e){e&&h.each(e[1],function(n,r){var o=S===i?"":S;if(!0!==o&&e[2].queue!==o&&(S!==i||!1!==e[2].queue))return!0;h.each(y,function(n,i){if(i===r)if((!0===S||_.isString(S))&&(h.each(h.queue(i,_.isString(S)?S:""),function(t,e){_.isFunction(e)&&e(null,!0)}),h.queue(i,_.isString(S)?S:"",[])),"stop"===x){var s=a(i);s&&s.tweensContainer&&!1!==o&&h.each(s.tweensContainer,function(t,e){e.endValue=e.currentValue}),L.push(t)}else"finish"!==x&&"finishAll"!==x||(e[2].duration=1)})})}),"stop"===x&&(h.each(L,function(t,e){p(e,!0)}),A.promise&&A.resolver(y)),r();default:if(!h.isPlainObject(x)||_.isEmptyObject(x)){if(_.isString(x)&&E.Redirects[x]){c=h.extend({},S);var j=c.duration,B=c.delay||0;return!0===c.backwards&&(y=h.extend(!0,[],y).reverse()),h.each(y,function(t,e){parseFloat(c.stagger)?c.delay=B+parseFloat(c.stagger)*t:_.isFunction(c.stagger)&&(c.delay=B+c.stagger.call(e,t,I)),c.drag&&(c.duration=parseFloat(j)||(/^(callout|transition)/.test(x)?1e3:w),c.duration=Math.max(c.duration*(c.backwards?1-t/I:(t+1)/I),.75*c.duration,200)),E.Redirects[x].call(e,e,c||{},t,I,y,A.promise?A:i)}),r()}var V="Velocity: First argument ("+x+") was not a property map, a known action, or a registered redirect. Aborting.";return A.promise?A.rejecter(new Error(V)):e.console,r()}N="start"}var F={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},R=[];h.each(y,function(t,e){_.isNode(e)&&u(e,t)}),c=h.extend({},E.defaults,S),c.loop=parseInt(c.loop,10);var M=2*c.loop-1;if(c.loop)for(var H=0;H<M;H++){var W={delay:c.delay,progress:c.progress};H===M-1&&(W.display=c.display,W.visibility=c.visibility,W.complete=c.complete),t(y,"reverse",W)}return r()};E=h.extend(A,E),E.animate=A;var I=e.requestAnimationFrame||g;if(!E.State.isMobile&&n.hidden!==i){var O=function(){n.hidden?(I=function(t){return setTimeout(function(){t(!0)},16)},d()):I=e.requestAnimationFrame||g};O(),n.addEventListener("visibilitychange",O)}return t.Velocity=E,t!==e&&(t.fn.velocity=A,t.fn.velocity.defaults=E.defaults),h.each(["Down","Up"],function(t,e){E.Redirects["slide"+e]=function(t,n,r,o,a,s){var l=h.extend({},n),u=l.begin,c=l.complete,f={},d={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""};l.display===i&&(l.display="Down"===e?"inline"===E.CSS.Values.getDisplayType(t)?"inline-block":"block":"none"),l.begin=function(){0===r&&u&&u.call(a,a);for(var n in d)if(d.hasOwnProperty(n)){f[n]=t.style[n];var i=T.getPropertyValue(t,n);d[n]="Down"===e?[i,0]:[0,i]}f.overflow=t.style.overflow,t.style.overflow="hidden"},l.complete=function(){for(var e in f)f.hasOwnProperty(e)&&(t.style[e]=f[e]);r===o-1&&(c&&c.call(a,a),s&&s.resolver(a))},E(t,d,l)}}),h.each(["In","Out"],function(t,e){E.Redirects["fade"+e]=function(t,n,r,o,a,s){var l=h.extend({},n),u=l.complete,c={opacity:"In"===e?1:0};0!==r&&(l.begin=null),l.complete=r!==o-1?null:function(){u&&u.call(a,a),s&&s.resolver(a)},l.display===i&&(l.display="In"===e?"auto":"none"),E(this,c,l)}}),E}(window.jQuery||window.Zepto||window,window,window?window.document:void 0)})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}n(25),n(20),n(22),n(19),n(18),n(8),n(13),n(16),n(17),n(7);var r=n(2),o=i(r),a=n(10),s=i(a),l=n(3),u=i(l),c=n(11),f=i(c),d=n(12),p=i(d),h=n(1),m=i(h),g=n(21),v=i(g);n(14),n(15),n(9);for(var y in v.default.prototype)m.default[y]=v.default.prototype[y];$(document).ready(function(){var t=$(".js-dropdown"),e=new s.default,n=$('.js-top-menu ul[data-depth="0"]'),i=new o.default(t),r=new p.default(n),a=new u.default,l=new f.default;
20i.init(),e.init(),r.init(),a.init(),l.init()})},function(t,e){},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(){a.default.each((0,a.default)(u),function(t,e){(0,a.default)(e).TouchSpin({verticalbuttons:!0,verticalupclass:"material-icons touchspin-up",verticaldownclass:"material-icons touchspin-down",buttondown_class:"btn btn-touchspin js-touchspin js-increase-product-quantity",buttonup_class:"btn btn-touchspin js-touchspin js-decrease-product-quantity",min:parseInt((0,a.default)(e).attr("min"),10),max:1e6})}),p.switchErrorStat()}var o=n(0),a=i(o),s=n(1),l=i(s);l.default.cart=l.default.cart||{},l.default.cart.active_inputs=null;var u='input[name="product-quantity-spin"]',c=!1,f=!1,d="";(0,a.default)(document).ready(function(){function t(t){return"on.startupspin"===t||"on.startdownspin"===t}function e(t){return"on.startupspin"===t}function n(t){var e=t.parents(".bootstrap-touchspin").find(h);return e.is(":focus")?null:e}function i(t){var e=t.split("-"),n=void 0,i=void 0,r="";for(n=0;n<e.length;n++)i=e[n],0!==n&&(i=i.substring(0,1).toUpperCase()+i.substring(1)),r+=i;return r}function o(r,o){if(!t(o))return{url:r.attr("href"),type:i(r.data("link-action"))};var a=n(r);if(a){return e(o)?{url:a.data("up-url"),type:"increaseProductQuantity"}:{url:a.data("down-url"),type:"decreaseProductQuantity"}}}function s(t,e,n){return v(),a.default.ajax({url:t,method:"POST",data:e,dataType:"json",beforeSend:function(t){m.push(t)}}).then(function(t){p.checkUpdateOpertation(t),n.val(t.quantity);var e;e=n&&n.dataset?n.dataset:t,l.default.emit("updateCart",{reason:e,resp:t})}).fail(function(t){l.default.emit("handleError",{eventType:"updateProductQuantityInCart",resp:t})})}function c(t){return{ajax:"1",qty:Math.abs(t),action:"update",op:f(t)}}function f(t){return t>0?"up":"down"}function d(t){var e=(0,a.default)(t.currentTarget),n=e.data("update-url"),i=e.attr("value"),r=e.val();if(r!=parseInt(r)||r<0||isNaN(r))return void e.val(i);var o=r-i;0!==o&&(e.attr("value",r),s(n,c(o),e))}var h=".js-cart-line-product-quantity",m=[];l.default.on("updateCart",function(){(0,a.default)(".quickview").modal("hide")}),l.default.on("updatedCart",function(){r()}),r();var g=(0,a.default)("body"),v=function(){for(var t;m.length>0;)t=m.pop(),t.abort()},y=function(t){return(0,a.default)(t.parents(".bootstrap-touchspin").find("input"))},b=function(t){t.preventDefault();var e=(0,a.default)(t.currentTarget),n=t.currentTarget.dataset,i=o(e,t.namespace),r={ajax:"1",action:"update"};void 0!==i&&(v(),a.default.ajax({url:i.url,method:"POST",data:r,dataType:"json",beforeSend:function(t){m.push(t)}}).then(function(t){p.checkUpdateOpertation(t),y(e).val(t.quantity),l.default.emit("updateCart",{reason:n,resp:t})}).fail(function(t){l.default.emit("handleError",{eventType:"updateProductInCart",resp:t,cartAction:i.type})}))};g.on("click",'[data-link-action="delete-from-cart"], [data-link-action="remove-voucher"]',b),g.on("touchspin.on.startdownspin",u,b),g.on("touchspin.on.startupspin",u,b),g.on("focusout keyup",h,function(t){if("keyup"===t.type)return 13===t.keyCode&&d(t),!1;d(t)});g.on("hidden.bs.collapse","#promo-code",function(){(0,a.default)(".display-promo").show(400)}),g.on("click",".promo-code-button",function(t){t.preventDefault(),(0,a.default)("#promo-code").collapse("toggle")}),g.on("click",".display-promo",function(t){(0,a.default)(t.currentTarget).hide(400)}),g.on("click",".js-discount .code",function(t){t.stopPropagation();var e=(0,a.default)(t.currentTarget);return(0,a.default)("[name=discount_name]").val(e.text()),(0,a.default)("#promo-code").collapse("show"),(0,a.default)(".display-promo").hide(400),!1})});var p={switchErrorStat:function(){var t=(0,a.default)(".checkout a");if(((0,a.default)("#notifications article.alert-danger").length||""!==d&&!c)&&t.addClass("disabled"),""!==d){var e=' <article class="alert alert-danger" role="alert" data-alert="danger"><ul><li>'+d+"</li></ul></article>";(0,a.default)("#notifications .container").html(e),d="",f=!1,c&&t.removeClass("disabled")}else!c&&f&&(c=!1,f=!1,(0,a.default)("#notifications .container").html(""),t.removeClass("disabled"))},checkUpdateOpertation:function(t){c=t.hasOwnProperty("hasError");var e=t.errors||"";d=e instanceof Array?e.join(" "):e,f=!0}}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(){(0,s.default)(".js-terms a").on("click",function(t){t.preventDefault();var e=(0,s.default)(t.target).attr("href");e&&(e+="?content_only=1",s.default.get(e,function(t){(0,s.default)("#modal").find(".js-modal-content").html((0,s.default)(t).find(".page-cms").contents())}).fail(function(t){u.default.emit("handleError",{eventType:"clickTerms",resp:t})})),(0,s.default)("#modal").modal("show")}),(0,s.default)(".js-gift-checkbox").on("click",function(t){(0,s.default)("#gift").collapse("toggle")})}function o(){(0,s.default)(".card-block .cart-summary-products p a").on("click",function(t){t=(0,s.default)(this).find("i.material-icons"),"expand_more"==t.text()?t.text("exp
20and_less"):t.text("expand_more")})}var a=n(0),s=i(a),l=n(1),u=i(l);(0,s.default)(document).ready(function(){1===(0,s.default)("body#checkout").length&&(r(),o()),u.default.on("updatedDeliveryForm",function(t){void 0!==t.deliveryOption&&0!==t.deliveryOption.length&&((0,s.default)(".carrier-extra-content").hide(),t.deliveryOption.next(".carrier-extra-content").slideDown())})})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}var r=n(1),o=i(r),a=n(0),s=i(a);o.default.blockcart=o.default.blockcart||{},o.default.blockcart.showModal=function(t){function e(){return(0,s.default)("#blockcart-modal")}var n=e();n.length&&n.remove(),(0,s.default)("body").append(t),n=e(),n.modal("show").on("hidden.bs.modal",function(t){o.default.emit("updateProduct",{reason:t.currentTarget.dataset,event:t})})}},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o),s=function(){function t(){i(this,t)}return r(t,[{key:"init",value:function(){this.parentFocus(),this.togglePasswordVisibility()}},{key:"parentFocus",value:function(){(0,a.default)(".js-child-focus").focus(function(){(0,a.default)(this).closest(".js-parent-focus").addClass("focus")}),(0,a.default)(".js-child-focus").focusout(function(){(0,a.default)(this).closest(".js-parent-focus").removeClass("focus")})}},{key:"togglePasswordVisibility",value:function(){(0,a.default)('button[data-action="show-password"]').on("click",function(){var t=(0,a.default)(this).closest(".input-group").children("input.js-visible-password");"password"===t.attr("type")?(t.attr("type","text"),(0,a.default)(this).text((0,a.default)(this).data("textHide"))):(t.attr("type","password"),(0,a.default)(this).text((0,a.default)(this).data("textShow")))})}}]),t}();e.default=s,t.exports=e.default},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o);n(4);var s=function(){function t(){i(this,t)}return r(t,[{key:"init",value:function(){var t=this,e=(0,a.default)(".js-modal-arrows"),n=(0,a.default)(".js-modal-product-images");(0,a.default)("body").on("click",".js-modal-thumb",function(t){(0,a.default)(".js-modal-thumb").hasClass("selected")&&(0,a.default)(".js-modal-thumb").removeClass("selected"),(0,a.default)(t.currentTarget).addClass("selected"),(0,a.default)(".js-modal-product-cover").attr("src",(0,a.default)(t.target).data("image-large-src")),(0,a.default)(".js-modal-product-cover").attr("title",(0,a.default)(t.target).attr("title")),(0,a.default)(".js-modal-product-cover").attr("alt",(0,a.default)(t.target).attr("alt"))}).on("click","aside#thumbnails",function(t){"thumbnails"==t.target.id&&(0,a.default)("#product-modal").modal("hide")}),(0,a.default)(".js-modal-product-images li").length<=5?e.css("opacity",".2"):e.on("click",function(e){(0,a.default)(e.target).hasClass("arrow-up")&&n.position().top<0?(t.move("up"),(0,a.default)(".js-modal-arrow-down").css("opacity","1")):(0,a.default)(e.target).hasClass("arrow-down")&&n.position().top+n.height()>(0,a.default)(".js-modal-mask").height()&&(t.move("down"),(0,a.default)(".js-modal-arrow-up").css("opacity","1"))})}},{key:"move",value:function(t){var e=(0,a.default)(".js-modal-product-images"),n=(0,a.default)(".js-modal-product-images li img").height()+10,i=e.position().top;e.velocity({translateY:"up"===t?i+n:i-n},function(){e.position().top>=0?(0,a.default)(".js-modal-arrow-up").css("opacity",".2"):e.position().top+e.height()<=(0,a.default)(".js-modal-mask").height()&&(0,a.default)(".js-modal-arrow-down").css("opacity",".2")})}}]),t}();
20e.default=s,t.exports=e.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),s=function(t,e,n){for(var i=!0;i;){var r=t,o=e,a=n;i=!1,null===r&&(r=Function.prototype);var s=Object.getOwnPropertyDescriptor(r,o);if(void 0!==s){if("value"in s)return s.value;var l=s.get;if(void 0===l)return;return l.call(a)}var u=Object.getPrototypeOf(r);if(null===u)return;t=u,e=o,n=a,i=!0,s=u=void 0}},l=n(0),u=i(l),c=n(2),f=i(c),d=function(t){function e(){r(this,e),s(Object.getPrototypeOf(e.prototype),"constructor",this).apply(this,arguments)}return o(e,t),a(e,[{key:"init",value:function(){var t=this,n=void 0,i=this;this.el.find("li").hover(function(e){t.el.parent().hasClass("mobile")||(n!==(0,u.default)(e.currentTarget).attr("id")&&(0===(0,u.default)(e.target).data("depth")&&(0,u.default)("#"+n+" .js-sub-menu").hide(),n=(0,u.default)(e.currentTarget).attr("id")),n&&0===(0,u.default)(e.target).data("depth")&&(0,u.default)("#"+n+" .js-sub-menu").css({top:(0,u.default)("#"+n).height()+(0,u.default)("#"+n).position().top}))}),(0,u.default)("#menu-icon").on("click",function(){(0,u.default)("#mobile_top_menu_wrapper").toggle(),i.toggleMobileMenu()}),(0,u.default)(".js-top-menu .category").mouseleave(function(){t.el.parent().hasClass("mobile")}),this.el.on("click",function(e){t.el.parent().hasClass("mobile")||e.stopPropagation()}),prestashop.on("responsive update",function(t){(0,u.default)(".js-sub-menu").removeAttr("style"),i.toggleMobileMenu()}),s(Object.getPrototypeOf(e.prototype),"init",this).call(this)}},{key:"toggleMobileMenu",value:function(){(0,u.default)("#header").toggleClass("is-open"),(0,u.default)("#mobile_top_menu_wrapper").is(":visible")?(0,u.default)("#notifications, #wrapper, #footer").hide():(0,u.default)("#notifications, #wrapper, #footer").show()}}]),e}(f.default);e.default=d,t.exports=e.default},function(t,e,n){"use strict";function i(){(0,a.default)("#order-return-form table thead input[type=checkbox]").on("click",function(){var t=(0,a.default)(this).prop("checked");(0,a.default)("#order-return-form table tbody input[type=checkbox]").each(function(e,n){(0,a.default)(n).prop("checked",t)})})}function r(){(0,a.default)("body#order-detail")&&i()}var o=n(0),a=function(t){return t&&t.__esModule?t:{default:t}}(o);(0,a.default)(document).ready(r)},function(t,e,n){"use strict";!function(t){var e=0,n=function(e,n){this.options=n,this.$elementFilestyle=[],this.$element=t(e)};n.prototype={clear:function(){this.$element.val(""),this.$elementFilestyle.find(":text").val(""),this.$elementFilestyle.find(".badge").remove()},destroy:function(){this.$element.removeAttr("style").removeData("filestyle"),this.$elementFilestyle.remove()},disabled:function(t){if(!0===t)this.options.disabled||(this.$element.attr("disabled","true"),this.$elementFilestyle.find("label").attr("disabled","true"),this.options.disabled=!0);else{if(!1!==t)return this.options.disabled;this.options.disabled&&(this.$element.removeAttr("disabled"),this.$elementFilestyle.find("label").removeAttr("disabled"),this.options.disabled=!1)}},buttonBefore:function(t){if(!0===t)this.options.buttonBefore||(this.options.buttonBefore=!0,this.options.input&&(this.$elementFilestyle.remove(),this.constructor(),this.pushNameFiles()));else{if(!1!==t)return this.options.buttonBefore;this.options.buttonBefore&&(this.options.buttonBefore=!1,this.options.input&&(this.$elementFilestyle.remove(),this.constructor(),this.pushNameFiles()))}},icon:function(t){if(!0===t)this.options.icon||(this.options.icon=!0,this.$elementFilestyle.find("label").prepend(this.htmlIcon()));else{if(!1!==t)return this.options.icon;this.options.icon&&(this.options.icon=!1,this.$elementFilestyle.find(".
20icon-span-filestyle").remove())}},input:function(t){if(!0===t)this.options.input||(this.options.input=!0,this.options.buttonBefore?this.$elementFilestyle.append(this.htmlInput()):this.$elementFilestyle.prepend(this.htmlInput()),this.$elementFilestyle.find(".badge").remove(),this.pushNameFiles(),this.$elementFilestyle.find(".group-span-filestyle").addClass("input-group-btn"));else{if(!1!==t)return this.options.input;if(this.options.input){this.options.input=!1,this.$elementFilestyle.find(":text").remove();var e=this.pushNameFiles();e.length>0&&this.options.badge&&this.$elementFilestyle.find("label").append(' <span class="badge">'+e.length+"</span>"),this.$elementFilestyle.find(".group-span-filestyle").removeClass("input-group-btn")}}},size:function(t){if(void 0===t)return this.options.size;var e=this.$elementFilestyle.find("label"),n=this.$elementFilestyle.find("input");e.removeClass("btn-lg btn-sm"),n.removeClass("input-lg input-sm"),"nr"!=t&&(e.addClass("btn-"+t),n.addClass("input-"+t))},placeholder:function(t){if(void 0===t)return this.options.placeholder;this.options.placeholder=t,this.$elementFilestyle.find("input").attr("placeholder",t)},buttonText:function(t){if(void 0===t)return this.options.buttonText;this.options.buttonText=t,this.$elementFilestyle.find("label .buttonText").html(this.options.buttonText)},buttonName:function(t){if(void 0===t)return this.options.buttonName;this.options.buttonName=t,this.$elementFilestyle.find("label").attr({class:"btn "+this.options.buttonName})},iconName:function(t){if(void 0===t)return this.options.iconName;this.$elementFilestyle.find(".icon-span-filestyle").attr({class:"icon-span-filestyle "+this.options.iconName})},htmlIcon:function(){return this.options.icon?'<span class="icon-span-filestyle '+this.options.iconName+'"></span> ':""},htmlInput:function(){return this.options.input?'<input type="text" class="form-control '+("nr"==this.options.size?"":"input-"+this.options.size)+'" placeholder="'+this.options.placeholder+'" disabled> ':""},pushNameFiles:function(){var t="",e=[];void 0===this.$element[0].files?e[0]={name:this.$element[0]&&this.$element[0].value}:e=this.$element[0].files;for(var n=0;n<e.length;n++)t+=e[n].name.split("\\").pop()+", ";return""!==t?this.$elementFilestyle.find(":text").val(t.replace(/\, $/g,"")):this.$elementFilestyle.find(":text").val(""),e},constructor:function(){var n=this,i="",r=n.$element.attr("id"),o="";""!==r&&r||(r="filestyle-"+e,n.$element.attr({id:r}),e++),o='<span class="group-span-filestyle '+(n.options.input?"input-group-btn":"")+'"><label for="'+r+'" class="btn '+n.options.buttonName+" "+("nr"==n.options.size?"":"btn-"+n.options.size)+'" '+(n.options.disabled?'disabled="true"':"")+">"+n.htmlIcon()+'<span class="buttonText">'+n.options.buttonText+"</span></label></span>",i=n.options.buttonBefore?o+n.htmlInput():n.htmlInput()+o,n.$elementFilestyle=t('<div class="bootstrap-filestyle input-group">'+i+"</div>"),n.$elementFilestyle.find(".group-span-filestyle").attr("tabindex","0").keypress(function(t){if(13===t.keyCode||32===t.charCode)return n.$elementFilestyle.find("label").click(),!1}),n.$element.css({position:"absolute",clip:"rect(0px 0px 0px 0px)"}).attr("tabindex","-1").after(n.$elementFilestyle),n.options.disabled&&n.$element.attr("disabled","true"),n.$element.change(function(){var t=n.pushNameFiles();0==n.options.input&&n.options.badge?0==n.$elementFilestyle.find(".badge").length?n.$elementFilestyle.find("label").append(' <span class="badge">'+t.length+"</span>"):0==t.length?n.$elementFilestyle.find(".badge").remove():n.$elementFilestyle.find(".badge").html(t.length):n.$elementFilestyle.find(".badge").remove()}
20),window.navigator.userAgent.search(/firefox/i)>-1&&n.$elementFilestyle.find("label").click(function(){return n.$element.click(),!1})}};var i=t.fn.filestyle;t.fn.filestyle=function(e,i){var r="",o=this.each(function(){if("file"===t(this).attr("type")){var o=t(this),a=o.data("filestyle"),s=t.extend({},t.fn.filestyle.defaults,e,"object"==typeof e&&e);a||(o.data("filestyle",a=new n(this,s)),a.constructor()),"string"==typeof e&&(r=a[e](i))}});return void 0!==typeof r?r:o},t.fn.filestyle.defaults={buttonText:"Choose file",iconName:"glyphicon glyphicon-folder-open",buttonName:"btn-default",size:"nr",input:!0,badge:!0,icon:!0,buttonBefore:!1,disabled:!1,placeholder:""},t.fn.filestyle.noConflict=function(){return t.fn.filestyle=i,this},t(function(){t(".filestyle").each(function(){var e=t(this),n={input:"false"!==e.attr("data-input"),icon:"false"!==e.attr("data-icon"),buttonBefore:"true"===e.attr("data-buttonBefore"),disabled:"true"===e.attr("data-disabled"),size:e.attr("data-size"),buttonText:e.attr("data-buttonText"),buttonName:e.attr("data-buttonName"),iconName:e.attr("data-iconName"),badge:"false"!==e.attr("data-badge"),placeholder:e.attr("data-placeholder")};e.filestyle(n)})})}(window.jQuery)},function(t,e,n){"use strict";!function(t){t.fn.scrollbox=function(e){var n={linear:!1,startDelay:2,delay:3,step:5,speed:32,switchItems:1,direction:"vertical",distance:"auto",autoPlay:!0,onMouseOverPause:!0,paused:!1,queue:null,listElement:"ul",listItemElement:"li",infiniteLoop:!0,switchAmount:0,afterForward:null,afterBackward:null,triggerStackable:!1};return e=t.extend(n,e),e.scrollOffset="vertical"===e.direction?"scrollTop":"scrollLeft",e.queue&&(e.queue=t("#"+e.queue)),this.each(function(){var n,i,r,o,a,s,l,u,c,f=t(this),d=null,p=null,h=!1,m=0,g=0;e.onMouseOverPause&&(f.bind("mouseover",function(){h=!0}),f.bind("mouseout",function(){h=!1})),n=f.children(e.listElement+":first-child"),!1===e.infiniteLoop&&0===e.switchAmount&&(e.switchAmount=n.children().length),s=function(){if(!h){var r,a,s,l,u;if(r=n.children(e.listItemElement+":first-child"),l="auto"!==e.distance?e.distance:"vertical"===e.direction?r.outerHeight(!0):r.outerWidth(!0),e.linear?s=Math.min(f[0][e.scrollOffset]+e.step,l):(u=Math.max(3,parseInt(.3*(l-f[0][e.scrollOffset]),10)),s=Math.min(f[0][e.scrollOffset]+u,l)),f[0][e.scrollOffset]=s,s>=l){for(a=0;a<e.switchItems;a++)e.queue&&e.queue.find(e.listItemElement).length>0?(n.append(e.queue.find(e.listItemElement)[0]),n.children(e.listItemElement+":first-child").remove()):n.append(n.children(e.listItemElement+":first-child")),++m;if(f[0][e.scrollOffset]=0,clearInterval(d),d=null,t.isFunction(e.afterForward)&&e.afterForward.call(f,{switchCount:m,currentFirstChild:n.children(e.listItemElement+":first-child")}),e.triggerStackable&&0!==g)return void i();if(!1===e.infiniteLoop&&m>=e.switchAmount)return;e.autoPlay&&(p=setTimeout(o,1e3*e.delay))}}},l=function(){if(!h){var r,a,s,l,u;if(0===f[0][e.scrollOffset]){for(a=0;a<e.switchItems;a++)n.children(e.listItemElement+":last-child").insertBefore(n.children(e.listItemElement+":first-child"));r=n.children(e.listItemElement+":first-child"),l="auto"!==e.distance?e.distance:"vertical"===e.direction?r.height():r.width(),f[0][e.scrollOffset]=l}if(e.linear?s=Math.max(f[0][e.scrollOffset]-e.step,0):(u=Math.max(3,parseInt(.3*f[0][e.scrollOffset],10)),s=Math.max(f[0][e.scrollOffset]-u,0)),f[0][e.scrollOffset]=s,0===s){if(--m,clearInterval(d),d=null,t.isFunction(e.afterBackward)&&e.afterBackward.call(f,{switchCount:m,currentFirstChild:n.children(e.listItemElement+":first-child")}),e.triggerStackable&&0!==g)return void i();e.autoPlay&&(p=setTimeout(o,1e3*e.delay))}}},i=function(){0!==g&&(g>0?(g--,p=setTimeout(o,0)):(g++,p=setTimeout(r,0)))},o=function(){clearInterval(d),d=setInterval(s,e.speed)},r=function(){clearInterval(d),d=setInterval(l,e.speed)},u=function(){e.autoPlay=!0,h=!1,clearInterval(d),d=setInterval(s,e.speed)},c=function(){h=!0},a=function(t){e.delay=t||e.delay,clearTimeout(p),e.autoPlay&&(p=setTimeout(o,1e3*e.delay))},e.autoPlay&&(p=setTimeout(o,1e3*e.startDelay)),f.bind("resetClock",function(t){a(t)}),f.bind("forward",function(){e.triggerStackable?null!==d?g++:o():(clearTimeout(p),o())}),f.bind("backward",function(){e.triggerStackable?null!==d?g--:r():(clearTimeout(p),r())}),f.bind("pauseHover",function(){c()}),f.bind("forwardHover",function(){u()}),f.bind("speedUp",function(t,n){"undefined"===n&&(n=Math.max(1,parseInt(e.speed/2,10))),e.speed=n}),f.bind("speedDown",function(t,n){"undefined"===n&&(n=2*e.speed),e.speed=n}),f.bind("updateConfig",function(n,i){e=t.extend(e,i)})})}}(jQuery)},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t){(0,a.default)("#search_filters").replaceWith(t.rendered_facets),(0,a.default)("#js-active-search-filters").replaceWith(t.rendered_active_filters),(0,a.default)("#js-product-list-top").replaceWith(t.rendered_products_top),(0,a.default)("#js-product-list").replaceWith(t.rendered_products),(0,a.default)("#js-product-list-bottom").replaceWith(t.rendered_products_bottom),t.rendered_products_header&&(0,a.default)("#js-product-list-header").replaceWith(t.rendered_products_header),(new c.default).init()}var o=n(0),a=i(o),s=n(1),l=i(s);n(4);var u=n(3),c=i(u);(0,a.default)(document).ready(function(){l.default.on("clickQuickView",function(e){var n={action:"quickview",id_product:e.dataset.idProduct,id_product_attribute:e.dataset.idProductAttribute};a.default.post(l.default.urls.pages.product,n,null,"json").then(function(e){(0,a.default)("body").append(e.quickview_html);var n=(0,a.default)("#quickview-modal-"+e.product.id+"-"+e.product.id_product_attribute);n.modal("show"),t(n),n.on("hidden.bs.modal",function(){n.remove()})}).fail(function(t){l.default.emit("handleError",{eventType:"clickQuickView",resp:t})})});var t=function(t){var n=(0,a.default)(".js-arrows"),i=t.find(".js-qv-product-images");(0,a.default)(".js-thumb").on("click",function(t){(0,a.default)(".js-thumb").hasClass("selected")&&(0,a.default)(".js-thumb").removeClass("selected"),(0,a.default)(t.currentTarget).addClass("selected"),(0,a.default)(".js-qv-product-cover").attr("src",(0,a.default)(t.target).data("image-large-src"))}),i.find("li").length<=4?n.hide():n.on("click",function(t){(0,a.default)(t.target).hasClass("arrow-up")&&(0,a.default)(".js-qv-product-images").position().top<0?(e("up"),(0,a.default)(".arrow-down").css("opacity","1")):(0,a.default)(t.target).hasClass("arrow-down")&&i.position().top+i.height()>(0,a.default)(".js-qv-mask").height()&&(e("down"),(0,a.default)(".arrow-up").css("opacity","1"))}),t.find("#quantity_wanted").TouchSpin({verticalbuttons:!0,verticalupclass:"material-icons touchspin-up",verticaldownclass:"material-icons touchspin-down",buttondown_class:"btn btn-touchspin js-touchspin",buttonup_class:"btn btn-touchspin js-touchspin",min:1,max:1e6})},e=function(t){var e=(0,a.default)(".js-qv-product-images"),n=(0,a.default)(".js-qv-product-images li img").height()+20,i=e.position().top;e.velocity({translateY:"up"===t?i+n:i-n},function(){e.position().top>=0?(0,a.default)(".arrow-up").css("opacity",".2"):e.position().top+e.height()<=(0,a.default)(".js-qv-mask").height()&&(0,a.default)(".arrow-down").css("opacity",".2")})};(0,a.default)("body").on("click","#search_filter_toggler",function(){(0,a.default)("#search_filters_wrapper").removeClass("hidden-sm-down"),(0,a.default)("#content-wrapper").addClass("hidden-sm-down"),(0,a.default)("#footer").addClass("hidden-sm-down")}),(0,a.default)("#search_filter_controls .clear").on("click",function(){(0,a.default)("#search_filters_wrapper").addClass("hidden-sm-down"),(0,a.default)("#content-wrapper").removeClass("hidden-sm-down"),(0,a.default)("#footer").removeClass("hidden-sm-down")}),(0,a.default)("#search_filter_controls .ok").on("click",function(){(0,a.default)("#search_filters_wrapper").addClass("hidden-sm-down"),(0,a.default)("#content-wrapper").removeClass("hidden-sm-down"),(0,a.default)("#footer").removeClass("hidden-sm-down")});var n=function(t){if(void 0!==t.target.dataset.searchUrl)return t.target.dataset.searchUrl;if(void 0===(0,a.default)(t.target).parent()[0].dataset.searchUrl)throw new Error("Can not parse search U
20RL");return(0,a.default)(t.target).parent()[0].dataset.searchUrl};(0,a.default)("body").on("change","#search_filters input[data-search-url]",function(t){l.default.emit("updateFacets",n(t))}),(0,a.default)("body").on("click",".js-search-filters-clear-all",function(t){l.default.emit("updateFacets",n(t))}),(0,a.default)("body").on("click",".js-search-link",function(t){t.preventDefault(),l.default.emit("updateFacets",(0,a.default)(t.target).closest("a").get(0).href)}),(0,a.default)("body").on("change","#search_filters select",function(t){var e=(0,a.default)(t.target).closest("form");l.default.emit("updateFacets","?"+e.serialize())}),l.default.on("updateProductList",function(t){r(t),window.scrollTo(0,0)})})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}var r=n(0),o=i(r),a=n(1),s=i(a);(0,o.default)(document).ready(function(){function t(){(0,o.default)(".js-thumb").on("click",function(t){(0,o.default)(".js-modal-product-cover").attr("src",(0,o.default)(t.target).data("image-large-src")),(0,o.default)(".selected").removeClass("selected"),(0,o.default)(t.target).addClass("selected"),(0,o.default)(".js-qv-product-cover").prop("src",(0,o.default)(t.currentTarget).data("image-large-src"))})}function e(){(0,o.default)("#main .js-qv-product-images li").length>2?((0,o.default)("#main .js-qv-mask").addClass("scroll"),(0,o.default)(".scroll-box-arrows").addClass("scroll"),(0,o.default)("#main .js-qv-mask").scrollbox({direction:"h",distance:113,autoPlay:!1}),(0,o.default)(".scroll-box-arrows .left").click(function(){(0,o.default)("#main .js-qv-mask").trigger("backward")}),(0,o.default)(".scroll-box-arrows .right").click(function(){(0,o.default)("#main .js-qv-mask").trigger("forward")})):((0,o.default)("#main .js-qv-mask").removeClass("scroll"),(0,o.default)(".scroll-box-arrows").removeClass("scroll"))}function n(){(0,o.default)(".js-file-input").on("change",function(t){var e=void 0,n=void 0;(e=(0,o.default)(t.currentTarget)[0])&&(n=e.files[0])&&(0,o.default)(e).prev().text(n.name)})}!function(){var t=(0,o.default)("#quantity_wanted");t.TouchSpin({verticalbuttons:!0,verticalupclass:"material-icons touchspin-up",verticaldownclass:"material-icons touchspin-down",buttondown_class:"btn btn-touchspin js-touchspin",buttonup_class:"btn btn-touchspin js-touchspin",min:parseInt(t.attr("min"),10),max:1e6}),(0,o.default)("body").on("change keyup","#quantity_wanted",function(t){(0,o.default)(t.currentTarget).trigger("touchspin.stopspin"),s.default.emit("updateProduct",{eventType:"updatedProductQuantity",event:t})})}(),n(),t(),e(),s.default.on("updatedProduct",function(i){if(n(),t(),i&&i.product_minimal_quantity){var r=parseInt(i.product_minimal_quantity,10);(0,o.default)("#quantity_wanted").trigger("touchspin.updatesettings",{min:r})}e(),(0,o.default)((0,o.default)(".tabs .nav-link.active").attr("href")).addClass("active").removeClass("fade"),(0,o.default)(".js-product-images-modal").replaceWith(i.product_images_modal)})})},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){var n=e.children().detach();e.empty().append(t.children().detach()),t.append(n)}function o(){u.default.responsive.mobile?(0,s.default)("*[id^='_desktop_']").each(function(t,e){var n=(0,s.default)("#"+e.id.replace("_desktop_","_mobile_"));n.length&&r((0,s.default)(e),n)}):(0,s.default)("*[id^='_mobile_']").each(function(t,e){var n=(0,s.default)("#"+e.id.replace("_mobile_","_desktop_"));n.length&&r((0,s.default)(e),n)}),u.default.emit("responsive update",{mobile:u.default.responsive.mobile})}var a=n(0),s=i(a),l=n(1),u=i(l);u.default.responsive=u.default.responsive||{},u.default.responsive.current_width=window.innerWidth,u.default.responsive.min_width=768,u.default.responsive.mobile=u.default.responsive.current_width<u.default.responsive.min_width,(0,s.default)(window).on("resize",function(){var t=u.default.responsive.current_width,e=u.default.responsive.min_width,n=window.innerWidth,i=t>=e&&n<e||t<e&&n>=e;u.default.responsive.current_width=n,u.default.responsive.mobile=u.default.responsive.current_width<u.default.responsive.min_width,i&&o()}),(0,s.default)(document).ready(function(){u.default.responsive.mobile&&o()})},function(t,e,n){"use strict";!function(t){function e(t,e){return t+".touchspin_"+e}function n(n,i){return t.map(n,function(t){return e(t,i)})}var i=0;t.fn.TouchSpin=function(e){if("destroy"===e)return void this.each(function(){var e=t(this),i=e.data();t(document).off(n(["mouseup","touchend","touchcancel","mousemove","touchmove","scroll","scrollstart"],i.spinnerid).join(" "))});var r={min:0,max:100,initval:"",replacementval:"",step:1,decimals:0,stepinterval:100,forcestepdivisibility:"round",stepintervaldelay:500,verticalbuttons:!1,verticalupclass:"glyphicon glyphicon-chevron-up",verticaldownclass:"glyphicon glyphicon-chevron-down",prefix:"",postfix:"",prefix_extraclass:"",postfix_extraclass:"",booster:!0,boostat:10,maxboostedstep:!1,mousewheel:!0,buttondown_class:"btn btn-default",buttonup_class:"btn btn-default",buttondown_txt:"-",buttonup_txt:"+"},o={min:"min",max:"max",initval:"init-val",replacementval:"replacement-val",step:"step",decimals:"decimals",stepinterval:"step-interval",verticalbuttons:"vertical-buttons",verticalupclass:"vertical-up-class",verticaldownclass:"vertical-down-class",forcestepdivisibility:"force-step-divisibility",stepintervaldelay:"step-interval-delay",prefix:"prefix",postfix:"postfix",prefix_extraclass:"prefix-extra-class",postfix_extraclass:"postfix-extra-class",booster:"booster",boostat:"boostat",maxboostedstep:"max-boosted-step",mousewheel:"mouse-wheel",buttondown_class:"button-down-class",buttonup_class:"button-up-class",buttondown_txt:"button-down-txt",buttonup_txt:"button-up-txt"};return this.each(function(){function a(){""!==T.initval&&""===L.val()&&L.val(T.initval)}function s(t){c(t),b();var e=I.input.val();""!==e&&(e=Number(I.input.val()),I.input.val(e.toFixed(T.decimals)))}function l(){T=t.extend({}
20,r,j,u(),e)}function u(){var e={};return t.each(o,function(t,n){var i="bts-"+n;L.is("[data-"+i+"]")&&(e[t]=L.data(i))}),e}function c(e){T=t.extend({},T,e)}function f(){var t=L.val(),e=L.parent();""!==t&&(t=Number(t).toFixed(T.decimals)),L.data("initvalue",t).val(t),L.addClass("form-control"),e.hasClass("input-group")?d(e):p()}function d(e){e.addClass("bootstrap-touchspin");var n,i,r=L.prev(),o=L.next(),a='<span class="input-group-addon bootstrap-touchspin-prefix">'+T.prefix+"</span>",s='<span class="input-group-addon bootstrap-touchspin-postfix">'+T.postfix+"</span>";r.hasClass("input-group-btn")?(n='<button class="'+T.buttondown_class+' bootstrap-touchspin-down" type="button">'+T.buttondown_txt+"</button>",r.append(n)):(n='<span class="input-group-btn"><button class="'+T.buttondown_class+' bootstrap-touchspin-down" type="button">'+T.buttondown_txt+"</button></span>",t(n).insertBefore(L)),o.hasClass("input-group-btn")?(i='<button class="'+T.buttonup_class+' bootstrap-touchspin-up" type="button">'+T.buttonup_txt+"</button>",o.prepend(i)):(i='<span class="input-group-btn"><button class="'+T.buttonup_class+' bootstrap-touchspin-up" type="button">'+T.buttonup_txt+"</button></span>",t(i).insertAfter(L)),t(a).insertBefore(L),t(s).insertAfter(L),A=e}function p(){var e;e=T.verticalbuttons?'<div class="input-group bootstrap-touchspin"><span class="input-group-addon bootstrap-touchspin-prefix">'+T.prefix+'</span><span class="input-group-addon bootstrap-touchspin-postfix">'+T.postfix+'</span><span class="input-group-btn-vertical"><button class="'+T.buttondown_class+' bootstrap-touchspin-up" type="button"><i class="'+T.verticalupclass+'"></i></button><button class="'+T.buttonup_class+' bootstrap-touchspin-down" type="button"><i class="'+T.verticaldownclass+'"></i></button></span></div>':'<div class="input-group bootstrap-touchspin"><span class="input-group-btn"><button class="'+T.buttondown_class+' bootstrap-touchspin-down" type="button">'+T.buttondown_txt+'</button></span><span class="input-group-addon bootstrap-touchspin-prefix">'+T.prefix+'</span><span class="input-group-addon bootstrap-touchspin-postfix">'+T.postfix+'</span><span class="input-group-btn"><button class="'+T.buttonup_class+' bootstrap-touchspin-up" type="button">'+T.buttonup_txt+"</button></span></div>",A=t(e).insertBefore(L),t(".bootstrap-touchspin-prefix",A).after(L),L.hasClass("input-sm")?A.addClass("input-group-sm"):L.hasClass("input-lg")&&A.addClass("input-group-lg")}function h(){I={down:t(".bootstrap-touchspin-down",A),up:t(".bootstrap-touchspin-up",A),input:t("input",A),prefix:t(".bootstrap-touchspin-prefix",A).addClass(T.prefix_extraclass),postfix:t(".bootstrap-touchspin-postfix",A).addClass(T.postfix_extraclass)}}function m(){""===T.prefix&&I.prefix.hide(),""===T.postfix&&I.postfix.hide()}function g(){L.on("keydown",function(t){var e=t.keyCode||t.which;38===e?("up"!==V&&(x(),E()),t.preventDefault()):40===e&&("down"!==V&&(w(),S()),t.preventDefault())}),L.on("keyup",function(t){var e=t.keyCode||t.which;38===e?C():40===e&&C()}),L.on("blur",function(){b()}),I.down.on("keydown",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||("down"!==V&&(w(),S()),t.preventDefault())}),I.down.on("keyup",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||C()}),I.up.on("keydown",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||("up"!==V&&(x(),E()),t.preventDefault())}),I.up.on("keyup",function(t){var e=t.keyCode||t.which;32!==e&&13!==e||C()}),I.down.on("mousedown.touchspin",function(t){I.down.off("touchstart.touchspin"),L.is(":disabled")||(w(),S(),t.preventDefault(),t.stopPropagation())}),I.down.on("touchstart.touchspin",function(t){I.down.off("mousedown.touchspin"),L.is(":disabled")||(w(),S(),t.preventDefault(),t.stopPropagation())}),I.up.on("mousedown.touchspin",function(t){I.up.off("touchstart.touchspin"),L.is(":disabled")||(x(),E(),t.preventDefault(),t.stopPropagation())}),I.up.on("touchstart.touchspin",function(t){I.up.off("mousedown.touchspin"),L.is(":disabled")||(x(),E(),t.preventDefault(),t.stopPropagation())}),I.up.on("mouseout touchleave touchend touchcancel",function(t){V&&(t.stopPropagation(),C())}),I.down.on("mouseout touchleave touchend touchcancel",function(t){V&&(t.stopPropagation(),C())}),I.down.on("mousemove touchmove",function(t){V&&(t.stopPropagation(),t.preventDefault())}),I.up.on("mousemove touchmove",function(t){V&&(t.stopPropagation(),t.preventDefault())}),t(document).on(n(["mouseup","touchend","touchcancel"],i).join(" "),function(t){V&&(t.preventDefault(),C())}),t(document).on(n(["mousemove","touchmove","scroll","scrollstart"],i).join(" "),function(t){V&&(t.preventDefault(),C())}),L.on("mousewheel DOMMouseScroll",function(t){if(T.mousewheel&&L.is(":focus")){var e=t.originalEvent.wheelDelta||-t.originalEvent.deltaY||-t.originalEvent.detail;t.stopPropagation(),t.preventDefault(),e<0?w():x()}})}function v(){L.on("touchspin.uponce",function(){C(),x()}),L.on("touchspin.downonce",function(){C(),w()}),L.on("touchspin.startupspin",function(){E()}),L.on("touchspin.startdownspin",function(){S()}),L.on("touchspin.stopspin",function(){C()}),L.on("touchspin.updatesettings",function(t,e){s(e)})}function y(t){switch(T.forcestepdivisibility){case"round":return(Math.round(t/T.step)*T.step).toFixed(T.decimals);case"floor":return(Math.floor(t/T.step)*T.step).toFixed(T.decimals);case"ceil":return(Math.ceil(t/T.step)*T.step).toFixed(T.decimals);default:return t}}function b(){var t,e,n;if(""===(t=L.val()))return void(""!==T.replacementval&&(L.val(T.replacementval),L.trigger("change")));T.decimals>0&&"."===t||(e=parseFloat(t),isNaN(e)&&(e=""!==T.replacementval?T.replacementval:0),n=e,e.toString()!==t&&(n=e),e<T.min&&(n=T.min),e>T.max&&(n=T.max),n=y(n),Number(t).toString()!==n.toString()&&(L.val(n),L.trigger("change")))}function _(){if(T.booster){var t=Math.pow(2,Math.floor(B/T.boostat))*T.step;return T.maxboostedstep&&t>T.maxboostedstep&&(t=T.maxboostedstep,O=Math.round(O/t)*t),Math.max(T.step,t)}
20return T.step}function x(){b(),O=parseFloat(I.input.val()),isNaN(O)&&(O=0);var t=O,e=_();O+=e,O>T.max&&(O=T.max,L.trigger("touchspin.on.max"),C()),I.input.val(Number(O).toFixed(T.decimals)),t!==O&&L.trigger("change")}function w(){b(),O=parseFloat(I.input.val()),isNaN(O)&&(O=0);var t=O,e=_();O-=e,O<T.min&&(O=T.min,L.trigger("touchspin.on.min"),C()),I.input.val(O.toFixed(T.decimals)),t!==O&&L.trigger("change")}function S(){C(),B=0,V="down",L.trigger("touchspin.on.startspin"),L.trigger("touchspin.on.startdownspin"),N=setTimeout(function(){k=setInterval(function(){B++,w()},T.stepinterval)},T.stepintervaldelay)}function E(){C(),B=0,V="up",L.trigger("touchspin.on.startspin"),L.trigger("touchspin.on.startupspin"),P=setTimeout(function(){D=setInterval(function(){B++,x()},T.stepinterval)},T.stepintervaldelay)}function C(){switch(clearTimeout(N),clearTimeout(P),clearInterval(k),clearInterval(D),V){case"up":L.trigger("touchspin.on.stopupspin"),L.trigger("touchspin.on.stopspin");break;case"down":L.trigger("touchspin.on.stopdownspin"),L.trigger("touchspin.on.stopspin")}B=0,V=!1}var T,A,I,O,k,D,N,P,L=t(this),j=L.data(),B=0,V=!1;!function(){L.data("alreadyinitialized")||(L.data("alreadyinitialized",!0),i+=1,L.data("spinnerid",i),L.is("input")&&(l(),a(),b(),f(),h(),m(),g(),v(),I.input.css("display","block")))}()})}}(jQuery)},function(t,e,n){"use strict";if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function r(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in s)if(void 0!==t.style[e])return{end:s[e]};return!1}function o(e){var n=this,i=!1;return t(this).one(l.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||l.triggerTransitionEnd(n)},e),this}var a=!1,s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){new Function("bs","return bs")(t.offsetHeight)},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,r){for(var o in r)if(r.hasOwnProperty(o)){var a=r[o],s=i[o],l=void 0;if(l=s&&n(s)?"element":e(s),!new RegExp(a).test(l))throw new Error(t.toUpperCase()+': Option "'+o+'" provided type "'+l+'" but expected type "'+a+'".')}}};return function(){a=r(),t.fn.emulateTransitionEnd=o,l.supportsTransitionEnd()&&(t.event.special[l.TRANSITION_END]=i())}(),l}(jQuery),a=(function(t){var e="alert",i="bs.alert",a="."+i,s=t.fn[e],l={DISMISS:'[data-dismiss="alert"]'},u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},c={ALERT:"alert",FADE:"fade",IN:"in"},f=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,i),this._element=null},e.prototype._getRootElement=function(e){var n=o.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+c.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(u.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){return t(e).removeClass(c.IN),o.supportsTransitionEnd()&&t(e).hasClass(c.FADE)?void t(e).one(o.TRANSITION_END,t.proxy(this._destroyElement,this,e)).emulateTransitionEnd(150):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(u.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var r=t(this),o=r.data(i);o||(o=new e(this),r.data(i,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(u.CLICK_DATA_API,l.DISMISS,f._handleDismiss(new f)),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){var e="button",i="bs.button",o="."+i,a=".data-api",s=t.fn[e],l={ACTIVE:"active",BUTTON:"bt
20n",FOCUS:"focus"},u={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},c={CLICK_DATA_API:"click"+o+a,FOCUS_BLUR_DATA_API:"focus"+o+a+" blur"+o+a},f=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(u.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(u.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(l.ACTIVE))e=!1;else{var r=t(n).find(u.ACTIVE)[0];r&&t(r).removeClass(l.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(l.ACTIVE),t(this._element).trigger("change")),i.focus()}}else this._element.setAttribute("aria-pressed",!t(this._element).hasClass(l.ACTIVE));e&&t(this._element).toggleClass(l.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,i),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var r=t(this).data(i);r||(r=new e(this),t(this).data(i,r)),"toggle"===n&&r[n]()})},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(c.CLICK_DATA_API,u.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(l.BUTTON)||(n=t(n).closest(u.BUTTON)),f._jQueryInterface.call(t(n),"toggle")}).on(c.FOCUS_BLUR_DATA_API,u.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(u.BUTTON)[0];t(n).toggleClass(l.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){var e="carousel",a="bs.carousel",s="."+a,l=".data-api",u=t.fn[e],c={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},f={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},d={NEXT:"next",PREVIOUS:"prev"},p={SLIDE:"slide"+s,SLID:"slid"+s,KEYDOWN:"keydown"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s,LOAD_DATA_API:"load"+s+l,CLICK_DATA_API:"click"+s+l},h={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"right",LEFT:"left",ITEM:"carousel-item"},m={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".next, .prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},g=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(m.INDICATORS)[0],this._addEventListeners()}return l.prototype.next=function(){this._isSliding||this._slide(d.NEXT)},l.prototype.nextWhenVisible=function(){document.hidden||this.next()},l.prototype.prev=function(){this._isSliding||this._slide(d.PREVIOUS)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(m.NEXT_PREV)[0]&&o.supportsTransitionEnd()&&(o.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval(t.proxy(document.visibilityState?this.nextWhenVisible:this.next,this),this._config.interval))},l.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(m.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(p.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var r=e>i?d.NEXT:d.PREVIOUS;this._slide(r,this._items[e])}},l.prototype.dispose=function(){t(this._element).off(s),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},l.prototype._getConfig=function(n){return n=t.extend({},c,n),o.typeCheckConfig(e,n,f),n},l.prototype._addEventListeners=function(){this._config.keyboard&&t(this._element).on(p.KEYDOWN,t.proxy(this._key
20down,this)),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(p.MOUSEENTER,t.proxy(this.pause,this)).on(p.MOUSELEAVE,t.proxy(this.cycle,this))},l.prototype._keydown=function(t){if(t.preventDefault(),!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}},l.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(m.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===d.NEXT,i=t===d.PREVIOUS,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var a=t===d.PREVIOUS?-1:1,s=(r+a)%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},l.prototype._triggerSlideEvent=function(e,n){var i=t.Event(p.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(m.ACTIVE).removeClass(h.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(h.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,r=t(this._element).find(m.ACTIVE_ITEM)[0],a=n||r&&this._getItemByDirection(e,r),s=Boolean(this._interval),l=e===d.NEXT?h.LEFT:h.RIGHT;if(a&&t(a).hasClass(h.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(a,l).isDefaultPrevented()&&r&&a){this._isSliding=!0,s&&this.pause(),this._setActiveIndicatorElement(a);var u=t.Event(p.SLID,{relatedTarget:a,direction:l});o.supportsTransitionEnd()&&t(this._element).hasClass(h.SLIDE)?(t(a).addClass(e),o.reflow(a),t(r).addClass(l),t(a).addClass(l),t(r).one(o.TRANSITION_END,function(){t(a).removeClass(l).removeClass(e),t(a).addClass(h.ACTIVE),t(r).removeClass(h.ACTIVE).removeClass(e).removeClass(l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(u)},0)}).emulateTransitionEnd(600)):(t(r).removeClass(h.ACTIVE),t(a).addClass(h.ACTIVE),this._isSliding=!1,t(this._element).trigger(u)),s&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),r=t.extend({},c,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(r,e);var o="string"==typeof e?e:r.slide;if(n||(n=new l(this,r),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof o){if(void 0===n[o])throw new Error('No method named "'+o+'"');n[o]()}else r.interval&&(n.pause(),n.cycle())})},l._dataApiClickHandler=function(e){var n=o.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(h.CAROUSEL)){var r=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),l._jQueryInterface.call(t(i),r),s&&t(i).data(a).to(s),e.preventDefault()}}},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return c}}]),l}();t(document).on(p.CLICK_DATA_API,m.DATA_SLIDE,g._dataApiClickHandler),t(window).on(p.LOAD_DATA_API,function(){t(m.DATA_RIDE).each(function(){var e=t(this);g._jQueryInterface.call(e,e.data())})}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=u,g._jQueryInterface}}(jQuery),function(t){var e="collapse",a="bs.collapse",s="."+a,l=t.fn[e],u={toggle:!0,parent:""},c={toggle:"boolean",parent:"string"},f={SHOW:"show"+s,SHOWN:"shown"+s,HIDE:"hide"+s,HIDDEN:"hidden"+s,CLICK_DATA_API:"click"+s+".data-api"},d={IN:"in",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},h={ACTIVES:".card > .in, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},m=function(){function s(e,i){n(this,s),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]')),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return s.prototype.toggle=function(){t(this._element).hasClass(d.IN)?this.hide():this.show()},s.prototype.show=function(){var e=this;if(!this._isTransitioning&&!t(this._element).hasClass(d.IN)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(h.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a))&&i._isTransitioning)){var r=t.Event(f.SHOW);if(t(this._element).trigger(r),!r.isDefaultPrevented()){n&&(s._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var l=this._getDimension();t(this._element).removeClass(d.COLLAPSE).addClass(d.COLLAPSING),this._element.style[l]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(d.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var u=function(){t(e._element).removeClass(d.COLLAPSING).addClass(d.COLLAPSE).addClass(d.IN),e._element.style[l]="",e.setTransitioning(!1),t(e._element).trigger(f.SHOWN)};if(!o.supportsTransitionEnd())return void u();var c=l[0].toUpperCase()+l.slice(1),p="scroll"+c;t(this._element).one(o.TRANSITION_END,u).emulateTransitionEnd(600),this._element.style[l]=this._element[p]+"px"}}}},s.prototype.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(d.IN)){var n=t.Event(f.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),r=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[r]+"px",o.reflow(this._element),t(this._element).addClass(d.COLLAPSING).removeClass(d.COLLAPSE).removeClass(d.IN),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(d.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var a=function(){e.setTransitioning(!1),t(e._element).removeClass(d.COLLAPSING).addClass(d.COLLAPSE).trigger(f.HIDDEN)};return this._element.style[i]="",o.supportsTransitionEnd()?void t(this._element).one(o.TRANSITION_END,a).emulateTransitionEnd(600):void a()}}},s.prototype.setTransitioning=function(t){this._isTransitioning=t},s.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},s.prototype._getConfig=function(n){return n=t.extend({},u,n),n.toggle=Boolean(n.toggle),o.typeCheckConfig(e,n,c),n},s.prototype._getDimension=function(){return t(this._element).hasClass(p.WIDTH)?p.WIDTH:p.HEIGHT},s.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(s._getTargetFromElement(n),[n])}),n},s.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(d.IN);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(d.COLLAPSED,!i).attr("aria-expanded",i)}},s._getTargetFromElement=function(e){var n=o.getSelectorFromElement(e);return n?t(n)[0]:null},s._jQueryInterface=function(e){return this.each(function(){var n=t(this),r=n.data(a),o=t.extend({},u,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!r&&o.toggle&&/show|hide/.test(e)&&(o.toggle=!1),r||(r=new s(this,o),n.data(a,r)),"string"==typeof e){if(void 0===r[e])throw new Error('No method n
20amed "'+e+'"');r[e]()}})},r(s,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}}]),s}();t(document).on(f.CLICK_DATA_API,h.DATA_TOGGLE,function(e){e.preventDefault();var n=m._getTargetFromElement(this),i=t(n).data(a),r=i?"toggle":t(this).data();m._jQueryInterface.call(t(n),r)}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=l,m._jQueryInterface}}(jQuery),function(t){var e="dropdown",i="bs.dropdown",a="."+i,s=".data-api",l=t.fn[e],u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+s,KEYDOWN_DATA_API:"keydown"+a+s},c={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",OPEN:"open"},f={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},d=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(c.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(c.OPEN);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(f.NAVBAR_NAV).length){var r=document.createElement("div");r.className=c.BACKDROP,t(r).insertBefore(this),t(r).on("click",e._clearMenus)}var o={relatedTarget:this},a=t.Event(u.SHOW,o);return t(n).trigger(a),!a.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded","true"),t(n).toggleClass(c.OPEN),t(n).trigger(t.Event(u.SHOWN,o)),!1)},e.prototype.dispose=function(){t.removeData(this._element,i),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(u.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var r=t(this).data(i);if(r||t(this).data(i,r=new e(this)),"string"==typeof n){if(void 0===r[n])throw new Error('No method named "'+n+'"');r[n].call(this)}})},e._clearMenus=function(n){if(!n||3!==n.which){var i=t(f.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var r=t.makeArray(t(f.DATA_TOGGLE)),o=0;o<r.length;o++){var a=e._getParentFromElement(r[o]),s={relatedTarget:r[o]};if(t(a).hasClass(c.OPEN)&&!(n&&"click"===n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(a,n.target))){var l=t.Event(u.HIDE,s);t(a).trigger(l),l.isDefaultPrevented()||(r[o].setAttribute("aria-expanded","false"),t(a).removeClass(c.OPEN).trigger(t.Event(u.HIDDEN,s)))}}}},e._getParentFromElement=function(e){var n=void 0,i=o.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(c.DISABLED))){var i=e._getParentFromElement(this),r=t(i).hasClass(c.OPEN);if(!r&&27!==n.which||r&&27===n.which){if(27===n.which){var o=t(i).find(f.DATA_TOGGLE)[0];t(o).trigger("focus")}return void t(this).trigger("click")}var a=t.makeArray(t(f.VISIBLE_ITEMS));if(a=a.filter(function(t){return t.offsetWidth||t.offsetHeight}),a.length){var s=a.indexOf(n.target);38===n.which&&s>0&&s--,40===n.which&&s<a.length-1&&s++,s<0&&(s=0),a[s].focus()}}},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(u.KEYDOWN_DATA_API,f.DATA_TOGGLE,d._dataApiKeydownHandler).on(u.KEYDOWN_DATA_API,f.ROLE_MENU,d._dataApiKeydownHandler).on(u.KEYDOWN_DATA_API,f.ROLE_LISTBOX,d._dataApiKeydownHandler).on(u.CLICK_DATA_API,d._clearMenus).on(u.CLICK_DATA_API,f.DATA_TOGGLE,d.prototype.toggle).on(u.CLICK_DATA_API,f.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface}}(jQuery),function(t){var e="modal",a="bs.modal",s="."+a,l=t.fn[e],u={backdrop:!0,keyboard:!0,focus:!0,show:!0},c={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},f={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,FOCUSIN:"focusin"+s,RESIZE:"resize"+s,CLICK_DISMISS:"click.dismiss"+s,KEYDOWN_DISMISS:"keydown.dismiss"+s,MOUSEUP_DISMISS:"mouseup.dismiss"+s,MOUSEDOWN_DISMISS:"mousedown.dismiss"+s,CLICK_DATA_API:"click"+s+".data-api"},d={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",IN:"in"},p={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"},h=function(){function l(e,i){n(this,l),this._config=this._getConfig(i),this._element=e,this._dialog=t
20(e).find(p.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return l.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},l.prototype.show=function(e){var n=this,i=t.Event(f.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(d.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(f.CLICK_DISMISS,p.DATA_DISMISS,t.proxy(this.hide,this)),t(this._dialog).on(f.MOUSEDOWN_DISMISS,function(){t(n._element).one(f.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(t.proxy(this._showElement,this,e)))},l.prototype.hide=function(e){e&&e.preventDefault();var n=t.Event(f.HIDE);t(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(f.FOCUSIN),t(this._element).removeClass(d.IN),t(this._element).off(f.CLICK_DISMISS),t(this._dialog).off(f.MOUSEDOWN_DISMISS),o.supportsTransitionEnd()&&t(this._element).hasClass(d.FADE)?t(this._element).one(o.TRANSITION_END,t.proxy(this._hideModal,this)).emulateTransitionEnd(300):this._hideModal())},l.prototype.dispose=function(){t.removeData(this._element,a),t(window).off(s),t(document).off(s),t(this._element).off(s),t(this._backdrop).off(s),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},l.prototype._getConfig=function(n){return n=t.extend({},u,n),o.typeCheckConfig(e,n,c),n},l.prototype._showElement=function(e){var n=this,i=o.supportsTransitionEnd()&&t(this._element).hasClass(d.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&o.reflow(this._element),t(this._element).addClass(d.IN),this._config.focus&&this._enforceFocus();var r=t.Event(f.SHOWN,{relatedTarget:e}),a=function(){n._config.focus&&n._element.focus(),t(n._element).trigger(r)};i?t(this._dialog).one(o.TRANSITION_END,a).emulateTransitionEnd(300):a()},l.prototype._enforceFocus=function(){var e=this;t(document).off(f.FOCUSIN).on(f.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},l.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(f.KEYDOWN_DISMISS,function(t){27===t.which&&e.hide()}):this._isShown||t(this._element).off(f.KEYDOWN_DISMISS)},l.prototype._setResizeEvent=function(){this._isShown?t(window).on(f.RESIZE,t.proxy(this._handleUpdate,this)):t(window).off(f.RESIZE)},l.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._showBackdrop(function(){t(document.body).removeClass(d.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(f.HIDDEN)})},l.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},l.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(d.FADE)?d.FADE:"";if(this._isShown&&this._config.backdrop){var r=o.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=d.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(f.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),r&&o.reflow(this._backdrop),t(this._backdrop).addClass(d.IN),!e)return;if(!r)return void e();t(this._backdrop).one(o.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(d.IN);var a=function(){n._removeBackdrop(),e&&e()};o.supportsTransitionEnd()&&t(this._element).hasClass(d.FADE)?t(this._backdrop).one(o.TRANSITION_END,a).emulateTransitionEnd(150):a()}else e&&e()},l.prototype._handleUpdate=function(){this._adjustDialog()},l.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},l.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},l.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},l.prototype._setScrollbar=function(){var e=parseInt(t(p.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},l.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},l.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=d.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},l._jQueryInterface=function(e,n){return this.each(function(){var r=t(this).data(a),o=t.extend({},l.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(r||(r=new l(this,o),t(this).data(a,r)),"string"==typeof e){if(void 0===r[e])throw new Error('No method n
20amed "'+e+'"');r[e](n)}else o.show&&r.show(n)})},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}}]),l}();t(document).on(f.CLICK_DATA_API,p.DATA_TOGGLE,function(e){var n=this,i=void 0,r=o.getSelectorFromElement(this);r&&(i=t(r)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"===this.tagName&&e.preventDefault();var l=t(i).one(f.SHOW,function(e){e.isDefaultPrevented()||l.one(f.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});h._jQueryInterface.call(t(i),s,this)}),t.fn[e]=h._jQueryInterface,t.fn[e].Constructor=h,t.fn[e].noConflict=function(){return t.fn[e]=l,h._jQueryInterface}}(jQuery),function(t){var e="scrollspy",a="bs.scrollspy",s="."+a,l=t.fn[e],u={offset:10,method:"auto",target:""},c={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+s,SCROLL:"scroll"+s,LOAD_DATA_API:"load"+s+".data-api"},d={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},p={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},h={OFFSET:"offset",POSITION:"position"},m=function(){function l(e,i){n(this,l),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+p.NAV_LINKS+","+this._config.target+" "+p.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,t.proxy(this._process,this)),this.refresh(),this._process()}return l.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?h.POSITION:h.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===h.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,a=o.getSelectorFromElement(e);return a&&(n=t(a)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+r,a]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},l.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(s),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},l.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=o.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return o.typeCheckConfig(e,n,c),n},l.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop},l.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},l.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._scrollElement.offsetHeight;if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}if(this._activeTarget&&t<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&(void 0===this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}},l.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(d.DROPDOWN_ITEM)?(i.closest(p.DROPDOWN).find(p.DROPDOWN_TOGGLE).addClass(d.ACTIVE),i.addClass(d.ACTIVE)):i.parents(p.LI).find(p.NAV_LINKS).addClass(d.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},l.prototype._clear=function(){t(this._selector).filter(p.ACTIVE).removeClass(d.ACTIVE)},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),r="object"===(void 0===e?"undefined":i(e))&&e||null;if(n||(n=new l(this,r),t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method n
20amed "'+e+'"');n[e]()}})},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}}]),l}();t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(p.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=l,m._jQueryInterface}}(jQuery),function(t){var e="tab",i="bs.tab",a="."+i,s=t.fn[e],l={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+".data-api"},u={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",FADE:"fade",IN:"in"},c={A:"a",LI:"li",DROPDOWN:".dropdown",UL:"ul:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},f=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE||!t(this._element).hasClass(u.ACTIVE)){var n=void 0,i=void 0,r=t(this._element).closest(c.UL)[0],a=o.getSelectorFromElement(this._element);r&&(i=t.makeArray(t(r).find(c.ACTIVE)),i=i[i.length-1]);var s=t.Event(l.HIDE,{relatedTarget:this._element}),f=t.Event(l.SHOW,{relatedTarget:i});if(i&&t(i).trigger(s),t(this._element).trigger(f),!f.isDefaultPrevented()&&!s.isDefaultPrevented()){a&&(n=t(a)[0]),this._activate(this._element,r);var d=function(){var n=t.Event(l.HIDDEN,{relatedTarget:e._element}),r=t.Event(l.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(r)};n?this._activate(n,n.parentNode,d):d()}}},e.prototype.dispose=function(){t.removeClass(this._element,i),this._element=null},e.prototype._activate=function(e,n,i){var r=t(n).find(c.ACTIVE_CHILD)[0],a=i&&o.supportsTransitionEnd()&&(r&&t(r).hasClass(u.FADE)||Boolean(t(n).find(c.FADE_CHILD)[0])),s=t.proxy(this._transitionComplete,this,e,r,a,i);r&&a?t(r).one(o.TRANSITION_END,s).emulateTransitionEnd(150):s(),r&&t(r).removeClass(u.IN)},e.prototype._transitionComplete=function(e,n,i,r){if(n){t(n).removeClass(u.ACTIVE);var a=t(n).find(c.DROPDOWN_ACTIVE_CHILD)[0];a&&t(a).removeClass(u.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(u.ACTIVE),e.setAttribute("aria-expanded",!0),i?(o.reflow(e),t(e).addClass(u.IN)):t(e).removeClass(u.FADE),e.parentNode&&t(e.parentNode).hasClass(u.DROPDOWN_MENU)){var s=t(e).closest(c.DROPDOWN)[0];s&&t(s).find(c.DROPDOWN_TOGGLE).addClass(u.ACTIVE),e.setAttribute("aria-expanded",!0)}r&&r()},e._jQueryInterface=function(n){return this.each(function(){var r=t(this),o=r.data(i);if(o||(o=o=new e(this),r.data(i,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},r(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}}]),e}();t(document).on(l.CLICK_DATA_API,c.DATA_TOGGLE,function(e){e.preventDefault(),f._jQueryInterface.call(t(this),"show")}),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){if(void 0===window.Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",a="bs.tooltip",s="."+a,l=t.fn[e],u={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[]},c={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array"},f={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},d={IN:"in",OUT:"out"},p={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,INSERTED:"inserted"+s,CLICK:"click"+s,FOCUSIN:"focusin"+s,FOCUSOUT:"focusout"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s},h={FADE:"fade",IN:"in"},m={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},g={element:!1,enabled:!1},v={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},y=function(){function l(t,e){n(this,l),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return l.prototype.enable=function(){this._isEnabled=!0},l.prototype.disable=function(){this._isEnabled=!1},l.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},l.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(h.IN))return void this._leave(null,this);this._enter(null,this)}},l.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},l.prototype.show=function(){var e=this,n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var r=this.getTipElement(),a=o.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&t(r).addClass(h.FADE);var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);t(r).data(this.constructor.DATA_KEY,this).appendTo(document.body),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:u,element:r,target:this.element,classes:g,classPrefix:"bs-tether",offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),o.reflow(r),this._tether.position(),t(r).addClass(h.IN);var c=function(){var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d.OUT&&e._leave(null,e)};if(o.supportsTransitionEnd()&&t(this.tip).hasClass(h.FADE))return void t(this.tip).one(o.TRANSITION_END,c).emulateTransitionEnd(l._TRANSITION_DURATION);c()}},l.prototype.hide=function(e){var n=this,i=this.getTipElement(),r=t.Event(this.constructor.Event.HIDE),a=function(){n._hoverState!==d.IN&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n.cleanupTether(),e&&e()};t(this.element).trigger(r),r.isDefaultPrevented()||(t(i).removeClass(h.IN),o.supportsTransitionEnd()&&t(this.tip).hasClass(h.FADE)?t(i).one(o.TRANSITION_END,a).emulateTransitionEnd(150):a(),this._hoverState="")},l.prototype.isWithContent=function(){return Boolean(this.getTitle())},l.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},l.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m.TOOLTIP_INNER),this.getTitle()),e.removeClass(h.FADE).removeClass(h.IN),this.cleanupTether()},l.prototype.setElementContent=function(e,n){var r=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?r?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[r?"html":"text"](n)},l.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},l.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},l.prototype._getAttachment=function(t){return f[t.toUpperCase()]},l.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,t.proxy(e.toggle,e));else if(n!==v.MANUAL){var i=n===v.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,r=n===v.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,t.proxy(e._enter,e)).on(r,e.config.selector,t.proxy(e._leave,e))}}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},l.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},l.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?v.FOCUS:v.HOVER]=!0),t(n.getTipElement()).hasClass(h.IN)||n._hoverState===d.IN?void(n._hoverState=d.IN):(clearTimeout(n._timeout),n._hoverState=d.IN,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===d.IN&&n.show()},n.config.delay.show)):void n.show())},l.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?v.FOCUS:v.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=d.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===d.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},l.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},l.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),o.typeCheckConfig(e,n,this.constructor.DefaultType),n},l.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),r="object"===(void 0===e?"undefined":i(e))?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new l(this,r),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method n
20amed "'+e+'"');n[e]()}})},r(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return s}},{key:"DefaultType",get:function(){return c}}]),l}();return t.fn[e]=y._jQueryInterface,t.fn[e].Constructor=y,t.fn[e].noConflict=function(){return t.fn[e]=l,y._jQueryInterface},y}(jQuery));!function(o){var s="popover",l="bs.popover",u="."+l,c=o.fn[s],f=o.extend({},a.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),d=o.extend({},a.DefaultType,{content:"(string|element|function)"}),p={FADE:"fade",IN:"in"},h={TITLE:".popover-title",CONTENT:".popover-content"},m={HIDE:"hide"+u,HIDDEN:"hidden"+u,SHOW:"show"+u,SHOWN:"shown"+u,INSERTED:"inserted"+u,CLICK:"click"+u,FOCUSIN:"focusin"+u,FOCUSOUT:"focusout"+u,MOUSEENTER:"mouseenter"+u,MOUSELEAVE:"mouseleave"+u},g=function(a){function c(){return n(this,c),t(this,a.apply(this,arguments))}return e(c,a),c.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},c.prototype.getTipElement=function(){return this.tip=this.tip||o(this.config.template)[0]},c.prototype.setContent=function(){var t=o(this.getTipElement());this.setElementContent(t.find(h.TITLE),this.getTitle()),this.setElementContent(t.find(h.CONTENT),this._getContent()),t.removeClass(p.FADE).removeClass(p.IN),this.cleanupTether()},c.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},c._jQueryInterface=function(t){return this.each(function(){var e=o(this).data(l),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new c(this,n),o(this).data(l,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},r(c,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.5"}},{key:"Default",get:function(){return f}},{key:"NAME",get:function(){return s}},{key:"DATA_KEY",get:function(){return l}},{key:"Event",get:function(){return m}},{key:"EVENT_KEY",get:function(){return u}},{key:"DefaultType",get:function(){return d}}]),c}(a);o.fn[s]=g._jQueryInterface,o.fn[s].Constructor=g,o.fn[s].noConflict=function(){return o.fn[s]=c,g._jQueryInterface}}(jQuery)}()},function(t,e,n){"use strict";function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(t){return"function"==typeof t}function o(t){return"number"==typeof t}function a(t){return"object"==typeof t&&null!==t}function s(t){return void 0===t}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(t){if(!o(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},i.prototype.emit=function(t){var e,n,i,o,l,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified "error" event. ('+e+")");throw c.context=e,c}if(n=this._events[t],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:o=Array.prototype.slice.call(arguments,1),n.apply(this,o)}else if(a(n))for(o=Array.prototype.slice.call(arguments,1),u=n.slice(),i=u.length,l=0;l<i;l++)u[l].apply(this,o);return!0},i.prototype.addListener=function(t,e){var n;if(!r(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,r(e.listener)?e.listener:e),this._events[t]?a(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,a(this._events[t])&&!this._events[t].warned&&(n=s(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[t].length>n&&(this._events[t].warned=!0,console.trace),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(t,e){function n(){this.removeListener(t,n),i||(i=!0,e.a
20pply(this,arguments))}if(!r(e))throw TypeError("listener must be a function");var i=!1;return n.listener=e,this.on(t,n),this},i.prototype.removeListener=function(t,e){var n,i,o,s;if(!r(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(n=this._events[t],o=n.length,i=-1,n===e||r(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(a(n)){for(s=o;s-->0;)if(n[s]===e||n[s].listener&&n[s].listener===e){i=s;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},i.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[t],r(n))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},i.prototype.listeners=function(t){return this._events&&this._events[t]?r(this._events[t])?[this._events[t]]:this._events[t].slice():[]},i.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(r(e))return 1;if(e)return e.length}return 0},i.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,n){"use strict";var i,i;!function(e){t.exports=e()}(function(){return function t(e,n,r){function o(s,l){if(!n[s]){if(!e[s]){var u="function"==typeof i&&i;if(!l&&u)return i(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[s]={exports:{}};e[s][0].call(f.exports,function(t){var n=e[s][1][t];return o(n||t)},f,f.exports,t,e,n,r)}return n[s].exports}for(var a="function"==typeof i&&i,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(t,e,n){e.exports=function(t){var e,n,i,r=-1;if(t.lines.length>1&&"flex-start"===t.style.alignContent)for(e=0;i=t.lines[++r];)i.crossStart=e,e+=i.cross;else if(t.lines.length>1&&"flex-end"===t.style.alignContent)for(e=t.flexStyle.crossSpace;i=t.lines[++r];)i.crossStart=e,e+=i.cross;else if(t.lines.length>1&&"center"===t.style.alignContent)for(e=t.flexStyle.crossSpace/2;i=t.lines[++r];)i.crossStart=e,e+=i.cross;else if(t.lines.length>1&&"space-between"===t.style.alignContent)for(n=t.flexStyle.crossSpace/(t.lines.length-1),e=0;i=t.lines[++r];)i.crossStart=e,e+=i.cross+n;else if(t.lines.length>1&&"space-around"===t.style.alignContent)for(n=2*t.flexStyle.crossSpace/(2*t.lines.length),e=n/2;i=t.lines[++r];)i.crossStart=e,e+=i.cross+n;else for(n=t.flexStyle.crossSpace/t.lines.length,e=t.flexStyle.crossInnerBefore;i=t.lines[++r];)i.crossStart=e,i.cross+=n,e+=i.cross}},{}],2:[function(t,e,n){e.exports=function(t){for(var e,n=-1;line=t.lines[++n];)for(e=-1;child=line.children[++e];){var i=child.style.alignSelf;"auto"===i&&(i=t.style.alignItems),"flex-start"===i?child.flexStyle.crossStart=line.crossStart:"flex-end"===i?child.flexStyle.crossStart=line.crossStart+line.cross-child.flexStyle.crossOuter:"center"===i?child.flexStyle.crossStart=line.crossStart+(line.cross-child.flexStyle.crossOuter)/2:(child.flexStyle.crossStart=line.crossStart,child.flexStyle.crossOuter=line.cross,child.flexStyle.cross=child.flexStyle.crossOuter-child.flexStyle.crossBefore-child.flexStyle.crossAfter)}}},{}],3:[function(t,e,n){e.exports=function(t,e){var n="row"===e||"row-reverse"===e,i=t.mainAxis;if(i){n&&"inline"===i||!n&&"block"===i||(t.flexStyle={main:t.flexStyle.cross,cross:t.flexStyle.main,mainOffset:t.flexStyle.crossOffset,crossOffset:t.flexStyle.mainOffset,mainBefore:t.flexStyle.crossBefore,mainAfter:t.flexStyle.crossAfter,crossBefore:t.flexStyle.mainBefore,crossAfter:t.flexStyle.mainAfter,mainInnerBefore:t.flexStyle.crossInnerBefore,mainInnerAfter:t.flexStyle.crossInnerAfter,crossInnerBefore:t.flexStyle.mainInnerBefore,crossInnerAfter:t.flexStyle.mainInnerAfter,mainBorderBefore:t.flexStyle.crossBorderBefore,mainBorderAfter:t.flexStyle.crossBorderAfter,crossBorderBefore:t.flexStyle.mainBorderBefore,crossBorderAfter:t.flexStyle.mainBorderAfter})}else t.flexStyle=n?{main:t.style.width,cross:t.style.height,mainOffset:t.style.offsetWidth,crossOffset:t.style.offsetHeight,mainBefore:t.style.marginLeft,mainAfter:t.style.marginRight,crossBefore:t.style.marginTop,crossAfter:t.style.marginBottom,mainInnerBefore:t.style.paddingLeft,mainInnerAfter:t.style.paddingRight,crossInnerBefore:t.style.paddingTop,crossInnerAfter:t.style.paddingBottom,mainBorderBefore:t.style.borderLeftWidth,mainBorderAfter:t.style.borderRightWidth,crossBorderBefore:t.style.borderTopWidth,crossBorderAfter:t.style.borderBottomWidth}:{main:t.style.height,cross:t.style.width,mainOffset:t.style.offsetHeight,crossOffset:t.style.offsetWidth,mainBefore:t.style.marginTop,mainAfter:t.style.marginBottom,crossBefore:t.style.marginLeft,crossAfter:t.style.marginRight,mainInnerBefore:t.style.paddingTop,mainInnerAfter:t.style.paddingBottom,crossInnerBefore:t.style.paddingLeft,crossInnerAfter:t.style.paddingRight,mainBorderBefore:t.style.borderTopWidth,mainBorderAfter:t.style.borderBottomWidth,crossBorderBefore:t.style.borderLeftWidth,crossBorderAfter:t.style.borderRightWidth},"content-box"===t.style.boxSizing&&("number"==typeof t.flexStyle.main&&(t.flexStyle.main+=t.flexStyle.mainInnerBefore+t.flexStyle.mainInnerAfter+t.flexStyle.mainBorderBefore+t.flexStyle.mainBorderAfter),"number"==typeof t.flexStyle.cross&&(t.flexStyle.cross+=t.flexStyle.crossInnerBefore+t.flexStyle.crossInnerAfter+t.flexStyle.crossBorderBefore+t.flexStyle.crossBorderAfter));
vendor: 4,925 bytes, line 20
20t.mainAxis=n?"inline":"block",t.crossAxis=n?"block":"inline","number"==typeof t.style.flexBasis&&(t.flexStyle.main=t.style.flexBasis+t.flexStyle.mainInnerBefore+t.flexStyle.mainInnerAfter+t.flexStyle.mainBorderBefore+t.flexStyle.mainBorderAfter),t.flexStyle.mainOuter=t.flexStyle.main,t.flexStyle.crossOuter=t.flexStyle.cross,"auto"===t.flexStyle.mainOuter&&(t.flexStyle.mainOuter=t.flexStyle.mainOffset),"auto"===t.flexStyle.crossOuter&&(t.flexStyle.crossOuter=t.flexStyle.crossOffset),"number"==typeof t.flexStyle.mainBefore&&(t.flexStyle.mainOuter+=t.flexStyle.mainBefore),"number"==typeof t.flexStyle.mainAfter&&(t.flexStyle.mainOuter+=t.flexStyle.mainAfter),"number"==typeof t.flexStyle.crossBefore&&(t.flexStyle.crossOuter+=t.flexStyle.crossBefore),"number"==typeof t.flexStyle.crossAfter&&(t.flexStyle.crossOuter+=t.flexStyle.crossAfter)}},{}],4:[function(t,e,n){var i=t("../reduce");e.exports=function(t){if(t.mainSpace>0){var e=i(t.children,function(t,e){return t+parseFloat(e.style.flexGrow)},0);e>0&&(t.main=i(t.children,function(n,i){return"auto"===i.flexStyle.main?i.flexStyle.main=i.flexStyle.mainOffset+parseFloat(i.style.flexGrow)/e*t.mainSpace:i.flexStyle.main+=parseFloat(i.style.flexGrow)/e*t.mainSpace,i.flexStyle.mainOuter=i.flexStyle.main+i.flexStyle.mainBefore+i.flexStyle.mainAfter,n+i.flexStyle.mainOuter},0),t.mainSpace=0)}}},{"../reduce":12}],5:[function(t,e,n){var i=t("../reduce");e.exports=function(t){if(t.mainSpace<0){var e=i(t.children,function(t,e){return t+parseFloat(e.style.flexShrink)},0);e>0&&(t.main=i(t.children,function(n,i){return i.flexStyle.main+=parseFloat(i.style.flexShrink)/e*t.mainSpace,i.flexStyle.mainOuter=i.flexStyle.main+i.flexStyle.mainBefore+i.flexStyle.mainAfter,n+i.flexStyle.mainOuter},0),t.mainSpace=0)}}},{"../reduce":12}],6:[function(t,e,n){var i=t("../reduce");e.exports=function(t){var e;t.lines=[e={main:0,cross:0,children:[]}];for(var n,r=-1;n=t.children[++r];)"nowrap"===t.style.flexWrap||0===e.children.length||"auto"===t.flexStyle.main||t.flexStyle.main-t.flexStyle.mainInnerBefore-t.flexStyle.mainInnerAfter-t.flexStyle.mainBorderBefore-t.flexStyle.mainBorderAfter>=e.main+n.flexStyle.mainOuter?(e.main+=n.flexStyle.mainOuter,e.cross=Math.max(e.cross,n.flexStyle.crossOuter)):t.lines.push(e={main:n.flexStyle.mainOuter,cross:n.flexStyle.crossOuter,children:[]}),e.children.push(n);t.flexStyle.mainLines=i(t.lines,function(t,e){return Math.max(t,e.main)},0),t.flexStyle.crossLines=i(t.lines,function(t,e){return t+e.cross},0),"auto"===t.flexStyle.main&&(t.flexStyle.main=Math.max(t.flexStyle.mainOffset,t.flexStyle.mainLines+t.flexStyle.mainInnerBefore+t.flexStyle.mainInnerAfter+t.flexStyle.mainBorderBefore+t.flexStyle.mainBorderAfter)),"auto"===t.flexStyle.cross&&(t.flexStyle.cross=Math.max(t.flexStyle.crossOffset,t.flexStyle.crossLines+t.flexStyle.crossInnerBefore+t.flexStyle.crossInnerAfter+t.flexStyle.crossBorderBefore+t.flexStyle.crossBorderAfter)),t.flexStyle.crossSpace=t.flexStyle.cross-t.flexStyle.crossInnerBefore-t.flexStyle.crossInnerAfter-t.flexStyle.crossBorderBefore-t.flexStyle.crossBorderAfter-t.flexStyle.crossLines,t.flexStyle.mainOuter=t.flexStyle.main+t.flexStyle.mainBefore+t.flexStyle.mainAfter,t.flexStyle.crossOuter=t.flexStyle.cross+t.flexStyle.crossBefore+t.flexStyle.crossAfter}},{"../reduce":12}],7:[function(t,e,n){function i(e){for(var n,i=-1;n=e.children[++i];)t("./flex-direction")(n,e.style.flexDirection);t("./flex-direction")(e,e.style.flexDirection),t("./order")(e),t("./flexbox-lines")(e),t("./align-content")(e),i=-1;for(var r;r=e.lines[++i];)r.mainSpace=e.flexStyle.main-e.flexStyle.mainInnerBefore-e.flexStyle.mainInnerAfter-e.flexStyle.mainBorderBefore-e.flexStyle.mainBorderAfter-r.main,t("./flex-grow")(r),t("./flex-shrink")(r),t("./margin-main")(r),t("./margin-cross")(r),t("./justify-content")(r,e.style.justifyContent,e);t("./align-items")(e)}e.exports=i},{"./align-content":1,"./align-items":2,"./flex-direction":3,"./flex-grow":4,"./flex-shrink":5,"./flexbox-lines":6,"./justify-content":8,"./margin-cross":9,"./margin-main":10,"./order":11}],8:[function(t,e,n){e.exports=function(t,e,n){var i,r,o,a=n.flexStyle.mainInnerBefore,s=-1;if("flex-end"===e)for(i=t.mainSpace,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter;else if("center"===e)for(i=t.mainSpace/2,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter;else if("space-between"===e)for(r=t.mainSpace/(t.children.length-1),i=0,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter+r;else if("space-around"===e)for(r=2*t.mainSpace/(2*t.children.length),i=r/2,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter+r;else for(i=0,i+=a;o=t.children[++s];)o.flexStyle.mainStart=i,i+=o.flexStyle.mainOuter}},{}],9:[function(t,e,n){e.exports=function(t){for(var e,n=-1;e=t.children[++n];){var i=0;"auto"===e.flexStyle.crossBefore&&++i,"auto"===e.flexStyle.crossAfter&&
20++i;var r=t.cross-e.flexStyle.crossOuter;"auto"===e.flexStyle.crossBefore&&(e.flexStyle.crossBefore=r/i),"auto"===e.flexStyle.crossAfter&&(e.flexStyle.crossAfter=r/i),"auto"===e.flexStyle.cross?e.flexStyle.crossOuter=e.flexStyle.crossOffset+e.flexStyle.crossBefore+e.flexStyle.crossAfter:e.flexStyle.crossOuter=e.flexStyle.cross+e.flexStyle.crossBefore+e.flexStyle.crossAfter}}},{}],10:[function(t,e,n){e.exports=function(t){for(var e,n=0,i=-1;e=t.children[++i];)"auto"===e.flexStyle.mainBefore&&++n,"auto"===e.flexStyle.mainAfter&&++n;if(n>0){for(i=-1;e=t.children[++i];)"auto"===e.flexStyle.mainBefore&&(e.flexStyle.mainBefore=t.mainSpace/n),"auto"===e.flexStyle.mainAfter&&(e.flexStyle.mainAfter=t.mainSpace/n),"auto"===e.flexStyle.main?e.flexStyle.mainOuter=e.flexStyle.mainOffset+e.flexStyle.mainBefore+e.flexStyle.mainAfter:e.flexStyle.mainOuter=e.flexStyle.main+e.flexStyle.mainBefore+e.flexStyle.mainAfter;t.mainSpace=0}}},{}],11:[function(t,e,n){var i=/^(column|row)-reverse$/;e.exports=function(t){t.children.sort(function(t,e){return t.style.order-e.style.order||t.index-e.index}),i.test(t.style.flexDirection)&&t.children.reverse()}},{}],12:[function(t,e,n){function i(t,e,n){for(var i=t.length,r=-1;++r<i;)r in t&&(n=e(n,t[r],r));return n}e.exports=i},{}],13:[function(t,e,n){function i(t){s(a(t))}var r=t("./read"),o=t("./write"),a=t("./readAll"),s=t("./writeAll");e.exports=i,e.exports.read=r,e.exports.write=o,e.exports.readAll=a,e.exports.writeAll=s},{"./read":15,"./readAll":16,"./write":17,"./writeAll":18}],14:[function(t,e,n){function i(t,e){var n=String(t).match(o);if(!n)return t;var i=n[1],a=n[2];return"px"===a?1*i:"cm"===a?.3937*i*96:"in"===a?96*i:"mm"===a?.3937*i*96/10:"pc"===a?12*i*96/72:"pt"===a?96*i/72:"rem"===a?16*i:r(t,e)}function r(t,e){a.style.cssText="border:none!important;clip:rect(0 0 0 0)!important;display:block!important;font-size:1em!important;height:0!important;margin:0!important;padding:0!important;position:relative!important;width:"+t+"!important",e.parentNode.insertBefore(a,e.nextSibling);var n=a.offsetWidth;return e.parentNode.removeChild(a),n}e.exports=i;var o=/^([-+]?\d*\.?\d+)(%|[a-z]+)$/,a=document.createElement("div")},{}],15:[function(t,e,n){function i(t){var e={alignContent:"stretch",alignItems:"stretch",alignSelf:"auto",borderBottomWidth:0,borderLeftWidth:0,borderRightWidth:0,borderTopWidth:0,boxSizing:"content-box",display:"inline",flexBasis:"auto",flexDirection:"row",flexGrow:0,flexShrink:1,flexWrap:"nowrap",justifyContent:"flex-start",height:"auto",marginTop:0,marginRight:0,marginLeft:0,marginBottom:0,paddingTop:0,paddingRight:0,paddingLeft:0,paddingBottom:0,maxHeight:"none",maxWidth:"none",minHeight:0,minWidth:0,order:0,position:"static",width:"auto"};if(t instanceof Element){var n=t.hasAttribute("data-style"),i=n?t.getAttribute("data-style"):t.getAttribute("style")||"";n||t.setAttribute("data-style",i),a(e,window.getComputedStyle&&getComputedStyle(t)||{}),r(e,t.currentStyle||{}),o(e,i);for(var s in e)e[s]=l(e[s],t);var u=t.getBoundingClientRect();e.offsetHeight=u.height||t.offsetHeight,e.offsetWidth=u.width||t.offsetWidth}return{element:t,style:e}}function r(t,e){for(var n in t){if(n in e)t[n]=e[n];else{var i=n.replace(/[A-Z]/g,"-$&").toLowerCase();i in e&&(t[n]=e[i])}}"-js-display"in e&&(t.display=e["-js-display"])}function o(t,e){for(var n;n=s.exec(e);){t[n[1].toLowerCase().replace(/-[a-z]/g,function(t){return t.slice(1).toUpperCase()})]=n[2]}}function a(t,e){for(var n in t){n in e&&!/^(alignSelf|height|width)$/.test(n)&&(t[n]=e[n])}}e.exports=i;var s=/([^\s:;]+)\s*:\s*([^;]+?)\s*(;|$)/g,l=t("./getComputedLength")},{"./getComputedLength":14}],16:[function(t,e,n){function i(t){var e=[];return r(t,e),e}function r(t,e){for(var n,i=o(t),s=[],l=-1;n=t.childNodes[++l];){var u=3===n.nodeType&&!/^\s*$/.test(n.nodeValue);if(i&&u){var c=n;n=t.insertBefore(document.createElement("flex-item"),c),n.appendChild(c)}if(n instanceof Element){var f=r(n,e);if(i){var d=n.style;d.display="inline-block",d.position="absolute",f.style=a(n).style,s.push(f)}}}var p={element:t,children:s};return i&&(p.style=a(t).style,e.push(p)),p}function o(t){var e=t instanceof Element,n=e&&t.getAttribute("data-style"),i=e&&t.currentStyle&&t.currentStyle["-js-display"];return s.test(n)||l.test(i)}e.exports=i;var a=t("../read"),s=/(^|;)\s*display\s*:\s*(inline-)?flex\s*(;|$)/i,l=/^(inline-)?flex$/i},{"../read":15}],17:[function(t,e,n){function i(t){o(t);var e=t.element.style,n="inline"===t.mainAxis?["main","cross"]:["cross","main"];e.boxSizing="content-box",e.display="block",e.position="relative",e.width=r(t.flexStyle[n[0]]-t.flexStyle[n[0]+"InnerBefore"]-t.flexStyle[n[0]+"InnerAfter"]-t.flexStyle[n[0]+"BorderBefore"]-t.flexStyle[n[0]+"BorderAfter"]),e.height=r(t.flexStyle[n[1]]-t.flexStyle[n[1]+"InnerBefore"]-t.flexStyle[n[1]+"InnerAfter"]-t.flexStyle[n[1]+"BorderBefore"]-t.flexStyle[n[1]+"BorderAfter"]);for(var i,a=-1;i=t.children[++a];){var s=i.element.style,l="inline"===i.mainAxis?["main","cross"]:["cross","main"];s.boxSizing="content-box",s.display="block",s.position="absolute","auto"!==i.flexStyle[l[0]]&&(s.width=r(i.flexStyle[l[0]]-i.flexStyle[l[0]+"InnerBefore"]-i.flexStyle[l[0]+"InnerAfter"]-i.flexStyle[l[0]+"BorderBefore"]-i.flexStyle[l[0]+"BorderAfter"])),"auto"!==i.flexStyle[l[1]]&&(s.height=r(i.flexStyle[l[1]]-i.flexStyle[l[1]+"InnerBefore"]-i.flexStyle[l[1]+"InnerAfter"]-i.flexStyle[l[1]+"BorderBefore"]-i.flexStyle[l[1]+"BorderAfter"])),s.top=r(i.flexStyle[l[1]+"Start"]),s.left=r(i.flexStyle[l[0]+"Start"]),s.marginTop=r(i.flexStyle[l[1]+"Before"]),s.marginRight=r(i.flexStyle[l[0]+"After"]),s.marginBottom=r(i.flexStyle[l[1]+"After"]),s.marginLeft=r(i.flexStyle[l[0]+"Before"])}}function r(t){return"string"==typeof t?t:Math.max(t,0)+"px"}e.exports=i;var o=t("../flexbox")},{"../flexbox":7}],18:[function(t,e,n){function i(t){for(var e,n=-1;e=t[++n];)r(e)}e.exports=i;var r=t("../write")},{"../write":17}]},{},[13])(13)})},function(t,e,n){"use strict";var i,r;!function(o,a){i=a,void 0!==(r="function"==typeof i?i.call(e,n,e,t):i)&&(t.exports=r)}(0,function(t,e,n){function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t){var e=t.getBoundingClientRect(),n={};for(var i in e)n[i]=e[i];if(t.ownerDocument!==document){var o=t.ownerDocument.defaultView.frameElement;if(o){var a=r(o);n.top+=a.top,n.bottom+=a.top,n.left+=a.left,n.right+=a.left}}return n}function o(t){var e=getComputedStyle(t)||{},n=e.position,i=[];if("fixed"===n)return[t];for(var r=t;(r=r.parentNode)&&r&&1===r.nodeType;){var o=void 0;try{o=getComputedStyle(r)}catch(t){}if(void 0===o||null===o)return i.push(r),i;var a=o,s=a.overflow,l=a.overflowX;/(auto|scroll)/.test(s+a.overflowY+l)&&("absolute"!==n||["relative","absolute","fixed"].indexOf(o.position)>=0)&&i.push(r)}return i.push(t.ownerDocument.body),t.ownerDocument!==document&&i.push(t.ownerDocument.defaultView),i}function a(){C&&document.body.removeChild(C),C=null}function s(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var n=e.documentElement,i=r(t),o=I();return i.top-=o.top,i.left-=o.left,void 0===i.width&&(i.width=document.body.scrollWidth-i.left-i.right),void 0===i.height&&(i.height=document.body.scrollHeight-i.top-i.bottom),i.top=i.top-n.clientTop,i.left=i.left-n.clientLeft,i.right=e.body.clientWidth-i.width-i.left,i.bottom=e.body.clientHeight-i.height-i.top,i}function l(t){return t.offsetParent||document.documentElement}function u(){if(O)return O;var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");c(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",
20width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;n===i&&(i=e.clientWidth),document.body.removeChild(e);var r=n-i;return O={width:r,height:r}}function c(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var n in e)({}).hasOwnProperty.call(e,n)&&(t[n]=e[n])}),t}function f(t,e){if(void 0!==t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var n=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),i=h(t).replace(n," ");m(t,i)}}function d(t,e){if(void 0!==t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{f(t,e);var n=h(t)+" "+e;m(t,n)}}function p(t,e){if(void 0!==t.classList)return t.classList.contains(e);var n=h(t);return new RegExp("(^| )"+e+"( |$)","gi").test(n)}function h(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function m(t,e){t.setAttribute("class",e)}function g(t,e,n){n.forEach(function(n){-1===e.indexOf(n)&&p(t,n)&&f(t,n)}),e.forEach(function(e){p(t,e)||d(t,e)})}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function y(t,e){var n=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+n>=e&&e>=t-n}function b(){return"undefined"!=typeof performance&&void 0!==performance.now?performance.now():+new Date}function _(){for(var t={top:0,left:0},e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return n.forEach(function(e){var n=e.top,i=e.left;"string"==typeof n&&(n=parseFloat(n,10)),"string"==typeof i&&(i=parseFloat(i,10)),t.top+=n,t.left+=i}),t}function x(t,e){return"string"==typeof t.left&&-1!==t.left.indexOf("%")&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&-1!==t.top.indexOf("%")&&(t.top=parseFloat(t.top,10)/100*e.height),t}function w(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),void 0!==e.nodeType&&function(){var t=e,n=s(e),i=n,r=getComputedStyle(e);if(e=[i.left,i.top,n.width+i.left,n.height+i.top],t.ownerDocument!==document){var o=t.ownerDocument.defaultView;e[0]+=o.pageXOffset,e[1]+=o.pageYOffset,e[2]+=o.pageXOffset,e[3]+=o.pageYOffset}Y.forEach(function(t,n){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[n]+=parseFloat(r["border"+t+"Width"]):e[n]-=parseFloat(r["border"+t+"Width"])})}(),e}var S=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),E=void 0;void 0===E&&(E={modules:[]});var C=null,T=function(){var t=0;return function(){return++t}}(),A={},I=function(){var t=C;t&&document.body.contains(t)||(t=document.createElement("div"),t.setAttribute("data-tether-id",T()),c(t.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(t),C=t);var e=t.getAttribute("data-tether-id");return void 0===A[e]&&(A[e]=r(t),D(function(){delete A[e]})),A[e]},O=null,k=[],D=function(t){k.push(t)},N=function(){for(var t=void 0;t=k.pop();)t()},P=function(){function t(){i(this,t)}return S(t,[{key:"on",value:function(t,e,n){var i=!(arguments.length<=3||void 0===arguments[3])&&arguments[3];void 0===this.bindings&&(this.bindings={}),void 0===this.bindings[t]&&(this.bindings[t]=[]),this.bindings[t].push({handler:e,ctx:n,once:i})}},{key:"once",value:function(t,e,n){this.on(t,e,n,!0)}},{key:"off",value:function(t,e){if(void 0!==this.bindings&&void 0!==this.bindings[t])if(void 0===e)delete this.bindings[t];else for(var n=0;n<this.bindings[t].length;)this.bindings[t][n].handler===e?this.bindings[t].splice(n,1):++n}},{key:"trigger",value:function(t){if(void 0!==this.bindings&&this.bindings[t]){for(var e=0,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];for(;e<this.bindings[t].length;){var o=this.bindings[t][e],a=o.handler,s=o.ctx,l=o.once,u=s;void 0===u&&(u=this),a.apply(u,i),l?this.bindings[t].splice(e,1):++e}}}}]),t}();E.Utils={getActualBoundingClientRect:r,getScrollParents:o,getBounds:s,getOffsetParent:l,extend:c,addClass:d,removeClass:f,hasClass:p,updateClasses:g,defer:D,flush:N,uniqueId:T,Evented:P,getScrollBarSize:u,removeUtilElements:a};var L=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);
20throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),S=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),j=function(t,e,n){for(var i=!0;i;){var r=t,o=e,a=n;i=!1,null===r&&(r=Function.prototype);var s=Object.getOwnPropertyDescriptor(r,o);if(void 0!==s){if("value"in s)return s.value;var l=s.get;if(void 0===l)return;return l.call(a)}var u=Object.getPrototypeOf(r);if(null===u)return;t=u,e=o,n=a,i=!0,s=u=void 0}};if(void 0===E)throw new Error("You must include the utils.js file before tether.js");var B=E.Utils,o=B.getScrollParents,s=B.getBounds,l=B.getOffsetParent,c=B.extend,d=B.addClass,f=B.removeClass,g=B.updateClasses,D=B.defer,N=B.flush,u=B.getScrollBarSize,a=B.removeUtilElements,V=function(){if("undefined"==typeof document)return"";for(var t=document.createElement("div"),e=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],n=0;n<e.length;++n){var i=e[n];if(void 0!==t.style[i])return i}}(),F=[],R=function(){F.forEach(function(t){t.position(!1)}),N()};!function(){var t=null,e=null,n=null,i=function i(){if(void 0!==e&&e>16)return e=Math.min(e-16,250),void(n=setTimeout(i,250));void 0!==t&&b()-t<10||(null!=n&&(clearTimeout(n),n=null),t=b(),R(),e=b()-t)};"undefined"!=typeof window&&void 0!==window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,i)})}();var M={center:"center",left:"right",right:"left"},H={middle:"middle",top:"bottom",bottom:"top"},W={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},U=function(t,e){var n=t.left,i=t.top;return"auto"===n&&(n=M[e.left]),"auto"===i&&(i=H[e.top]),{left:n,top:i}},q=function(t){var e=t.left,n=t.top;return void 0!==W[t.left]&&(e=W[t.left]),void 0!==W[t.top]&&(n=W[t.top]),{left:e,top:n}},z=function(t){var e=t.split(" "),n=L(e,2);return{top:n[0],left:n[1]}},$=z,Q=function(t){function e(t){var n=this;i(this,e),j(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),F.push(this),this.history=[],this.setOptions(t,!1),E.modules.forEach(function(t){void 0!==t.initialize&&t.initialize.call(n)}),this.position()}return v(e,t),S(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return void 0!==e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,n=arguments.length<=1||void 0===arguments[1]||arguments[1],i={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=c(i,t);var r=this.options,a=r.element,s=r.target,l=r.targetModifier;if(this.element=a,this.target=s,this.targetModifier=l,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if(void 0===e[t])throw new Error("Tether Error: Both element and target must be defined");void 0!==e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),d(this.element,this.getClass("element")),!1!==this.options.addTargetClasses&&d(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=$(this.options.targetAttachment),this.attachment=$(this.options.attachment),this.offset=z(this.options.offset),this.targetOffset=z(this.options.targetOffset),void 0!==this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=o(this.target),!1!==this.options.enabled&&this.enable(n)}},{key:"getTargetBounds",value:function(){if(void 0===this.targetModifier)return s(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=s(this.target),e={height:t.height,width:t.width,top:t.top,left
20:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.top<pageYOffset&&(e.top=pageYOffset),e.left<pageXOffset&&(e.left=pageXOffset),e}if("scroll-handle"===this.targetModifier){var t=void 0,n=this.target;n===document.body?(n=document.documentElement,t={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):t=s(n);var i=getComputedStyle(n),r=n.scrollWidth>n.clientWidth||[i.overflow,i.overflowX].indexOf("scroll")>=0||this.target!==document.body,o=0;r&&(o=15);var a=t.height-parseFloat(i.borderTopWidth)-parseFloat(i.borderBottomWidth)-o,e={width:15,height:.975*a*(a/n.scrollHeight),left:t.left+t.width-parseFloat(i.borderLeftWidth)-15},l=0;a<408&&this.target===document.body&&(l=-11e-5*Math.pow(a,2)-.00727*a+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var u=this.target.scrollTop/(n.scrollHeight-a);return e.top=u*(a-e.height-l)+t.top+parseFloat(i.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return void 0===this._cache&&(this._cache={}),void 0===this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];!1!==this.options.addTargetClasses&&d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;f(this.target,this.getClass("enabled")),f(this.element,this.getClass("enabled")),this.enabled=!1,void 0!==this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),F.forEach(function(e,n){e===t&&F.splice(n,1)}),0===F.length&&a()}},{key:"updateAttachClasses",value:function(t,e){var n=this;t=t||this.attachment,e=e||this.targetAttachment;var i=["left","top","bottom","right","middle","center"];void 0!==this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),void 0===this._addAttachClasses&&(this._addAttachClasses=[]);var r=this._addAttachClasses;t.top&&r.push(this.getClass("element-attached")+"-"+t.top),t.left&&r.push(this.getClass("element-attached")+"-"+t.left),e.top&&r.push(this.getClass("target-attached")+"-"+e.top),e.left&&r.push(this.getClass("target-attached")+"-"+e.left);var o=[];i.forEach(function(t){o.push(n.getClass("element-attached")+"-"+t),o.push(n.getClass("target-attached")+"-"+t)}),D(function(){void 0!==n._addAttachClasses&&(g(n.element,n._addAttachClasses,o),!1!==n.options.addTargetClasses&&g(n.target,n._addAttachClasses,o),delete n._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];if(this.enabled){this.clearCache();var n=U(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,n);var i=this.cache("element-bounds",function(){return s(t.element)}),r=i.width,o=i.height;if(0===r&&0===o&&void 0!==this.lastSize){var a=this.lastSize;r=a.width,o=a.height}else this.lastSize={width:r,height:o};var c=this.cache("target-bounds",function(){return t.getTargetBounds()}),f=c,d=x(q(this.attachment),{width:r,height:o}),p=x(q(n),f),h=x(this.offset,{width:r,height:o}),m=x(this.targetOffset,f);d=_(d,h),p=_(p,m);for(var g=c.left+p.left-d.left,v=c.top+p.top-d.top,y=0;y<E.modules.length;++y){var b=E.modules[y],w=b.position.call(this,{left:g,top:v,targetAttachment:n,targetPos:c,elementPos:i,offset:d,targetOffset:p,manualOffset:h,manualTargetOffset:m,scrollbarSize:A,attachment:this.attachment});if(!1===w)return!1;void 0!==w&&"object"==typeof w&&(v=w.top,g=w.left)}var S={page:{top:v,left:g},viewport:{top:v-pageYOffset,bottom:pageYOffset-v-o+innerHeight,left:g-pageXOffset,right:pageXOffset-g-r+innerWidth}},C=this.target.ownerDocument,T=C.defaultView,A=void 0;
20return T.innerHeight>C.documentElement.clientHeight&&(A=this.cache("scrollbar-size",u),S.viewport.bottom-=A.height),T.innerWidth>C.documentElement.clientWidth&&(A=this.cache("scrollbar-size",u),S.viewport.right-=A.width),-1!==["","static"].indexOf(C.body.style.position)&&-1!==["","static"].indexOf(C.body.parentElement.style.position)||(S.page.bottom=C.body.scrollHeight-v-o,S.page.right=C.body.scrollWidth-g-r),void 0!==this.options.optimizations&&!1!==this.options.optimizations.moveElement&&void 0===this.targetModifier&&function(){var e=t.cache("target-offsetparent",function(){return l(t.target)}),n=t.cache("target-offsetparent-bounds",function(){return s(e)}),i=getComputedStyle(e),r=n,o={};if(["Top","Left","Bottom","Right"].forEach(function(t){o[t.toLowerCase()]=parseFloat(i["border"+t+"Width"])}),n.right=C.body.scrollWidth-n.left-r.width+o.right,n.bottom=C.body.scrollHeight-n.top-r.height+o.bottom,S.page.top>=n.top+o.top&&S.page.bottom>=n.bottom&&S.page.left>=n.left+o.left&&S.page.right>=n.right){var a=e.scrollTop,u=e.scrollLeft;S.offset={top:S.page.top-n.top+a-o.top,left:S.page.left-n.left+u-o.left}}}(),this.move(S),this.history.unshift(S),this.history.length>3&&this.history.pop(),e&&N(),!0}}},{key:"move",value:function(t){var e=this;if(void 0!==this.element.parentNode){var n={};for(var i in t){n[i]={};for(var r in t[i]){for(var o=!1,a=0;a<this.history.length;++a){var s=this.history[a];if(void 0!==s[i]&&!y(s[i][r],t[i][r])){o=!0;break}}o||(n[i][r]=!0)}}var u={top:"",left:"",right:"",bottom:""},f=function(t,n){if(!1!==(void 0!==e.options.optimizations?e.options.optimizations.gpu:null)){var i=void 0,r=void 0;t.top?(u.top=0,i=n.top):(u.bottom=0,i=-n.bottom),t.left?(u.left=0,r=n.left):(u.right=0,r=-n.right),window.matchMedia&&(window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches||(r=Math.round(r),i=Math.round(i))),u[V]="translateX("+r+"px) translateY("+i+"px)","msTransform"!==V&&(u[V]+=" translateZ(0)")}else t.top?u.top=n.top+"px":u.bottom=n.bottom+"px",t.left?u.left=n.left+"px":u.right=n.right+"px"},d=!1;if((n.page.top||n.page.bottom)&&(n.page.left||n.page.right)?(u.position="absolute",f(n.page,t.page)):(n.viewport.top||n.viewport.bottom)&&(n.viewport.left||n.viewport.right)?(u.position="fixed",f(n.viewport,t.viewport)):void 0!==n.offset&&n.offset.top&&n.offset.left?function(){u.position="absolute";var i=e.cache("target-offsetparent",function(){return l(e.target)});l(e.element)!==i&&D(function(){e.element.parentNode.removeChild(e.element),i.appendChild(e.element)}),f(n.offset,t.offset),d=!0}():(u.position="absolute",f({top:!0,left:!0},t.page)),!d)if(this.options.bodyElement)this.options.bodyElement.appendChild(this.element);else{for(var p=!0,h=this.element.parentNode;h&&1===h.nodeType&&"BODY"!==h.tagName;){if("static"!==getComputedStyle(h).position){p=!1;break}h=h.parentNode}p||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var m={},g=!1;for(var r in u){var v=u[r];this.element.style[r]!==v&&(g=!0,m[r]=v)}g&&D(function(){c(e.element.style,m),e.trigger("repositioned")})}}}]),e}(P);Q.modules=[],E.position=R;var G=c(Q,E),L=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),B=E.Utils,s=B.getBounds,c=B.extend,g=B.updateClasses,D=B.defer,Y=["left","top","right","bottom"];E.modules.push({position:function(t){var e=this,n=t.top,i=t.left,r=t.targetAttachment;if(!this.options.constraints)return!0;var o=this.cache("element-bounds",function(){return s(e.element)}),a=o.height,l=o.width;if(0===l&&0===a&&void 0!==this.lastSize){var u=this.lastSize;l=u.width,a=u.height}var f=this.cache("target-bounds",function(){return e.getTargetBounds()}),d=f.height,p=f.width,h=[this.getClass("pinned"),this.getClass("out-of-bounds")];
20this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,n=t.pinnedClass;e&&h.push(e),n&&h.push(n)}),h.forEach(function(t){["left","top","right","bottom"].forEach(function(e){h.push(t+"-"+e)})});var m=[],v=c({},r),y=c({},this.attachment);return this.options.constraints.forEach(function(t){var o=t.to,s=t.attachment,u=t.pin;void 0===s&&(s="");var c=void 0,f=void 0;if(s.indexOf(" ")>=0){var h=s.split(" "),g=L(h,2);f=g[0],c=g[1]}else c=f=s;var b=w(e,o);"target"!==f&&"both"!==f||(n<b[1]&&"top"===v.top&&(n+=d,v.top="bottom"),n+a>b[3]&&"bottom"===v.top&&(n-=d,v.top="top")),"together"===f&&("top"===v.top&&("bottom"===y.top&&n<b[1]?(n+=d,v.top="bottom",n+=a,y.top="top"):"top"===y.top&&n+a>b[3]&&n-(a-d)>=b[1]&&(n-=a-d,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&n+a>b[3]?(n-=d,v.top="top",n-=a,y.top="bottom"):"bottom"===y.top&&n<b[1]&&n+(2*a-d)<=b[3]&&(n+=a-d,v.top="top",y.top="top")),"middle"===v.top&&(n+a>b[3]&&"top"===y.top?(n-=a,y.top="bottom"):n<b[1]&&"bottom"===y.top&&(n+=a,y.top="top"))),"target"!==c&&"both"!==c||(i<b[0]&&"left"===v.left&&(i+=p,v.left="right"),i+l>b[2]&&"right"===v.left&&(i-=p,v.left="left")),"together"===c&&(i<b[0]&&"left"===v.left?"right"===y.left?(i+=p,v.left="right",i+=l,y.left="left"):"left"===y.left&&(i+=p,v.left="right",i-=l,y.left="right"):i+l>b[2]&&"right"===v.left?"left"===y.left?(i-=p,v.left="left",i-=l,y.left="right"):"right"===y.left&&(i-=p,v.left="left",i+=l,y.left="left"):"center"===v.left&&(i+l>b[2]&&"left"===y.left?(i-=l,y.left="right"):i<b[0]&&"right"===y.left&&(i+=l,y.left="left"))),"element"!==f&&"both"!==f||(n<b[1]&&"bottom"===y.top&&(n+=a,y.top="top"),n+a>b[3]&&"top"===y.top&&(n-=a,y.top="bottom")),"element"!==c&&"both"!==c||(i<b[0]&&("right"===y.left?(i+=l,y.left="left"):"center"===y.left&&(i+=l/2,y.left="left")),i+l>b[2]&&("left"===y.left?(i-=l,y.left="right"):"center"===y.left&&(i-=l/2,y.left="right"))),"string"==typeof u?u=u.split(",").map(function(t){return t.trim()}):!0===u&&(u=["top","left","right","bottom"]),u=u||[];var _=[],x=[];n<b[1]&&(u.indexOf("top")>=0?(n=b[1],_.push("top")):x.push("top")),n+a>b[3]&&(u.indexOf("bottom")>=0?(n=b[3]-a,_.push("bottom")):x.push("bottom")),i<b[0]&&(u.indexOf("left")>=0?(i=b[0],_.push("left")):x.push("left")),i+l>b[2]&&(u.indexOf("right")>=0?(i=b[2]-l,_.push("right")):x.push("right")),_.length&&function(){var t=void 0;t=void 0!==e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),m.push(t),_.forEach(function(e){m.push(t+"-"+e)})}(),x.length&&function(){var t=void 0;t=void 0!==e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),m.push(t),x.forEach(function(e){m.push(t+"-"+e)})}(),(_.indexOf("left")>=0||_.indexOf("right")>=0)&&(y.left=v.left=!1),(_.indexOf("top")>=0||_.indexOf("bottom")>=0)&&(y.top=v.top=!1),v.top===r.top&&v.left===r.left&&y.top===e.attachment.top&&y.left===e.attachment.left||(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),D(function(){!1!==e.options.addTargetClasses&&g(e.target,m,h),g(e.element,m,h)}),{top:n,left:i}}});var B=E.Utils,s=B.getBounds,g=B.updateClasses,D=B.defer;E.modules.push({position:function(t){var e=this,n=t.top,i=t.left,r=this.cache("element-bounds",function(){return s(e.element)}),o=r.height,a=r.width,l=this.getTargetBounds(),u=n+o,c=i+a,f=[];n<=l.bottom&&u>=l.top&&["left","right"].forEach(function(t){var e=l[t];e!==i&&e!==c||f.push(t)}),i<=l.right&&c>=l.left&&["top","bottom"].forEach(function(t){var e=l[t];e!==n&&e!==u||f.push(t)});var d=[],p=[],h=["left","top","right","bottom"];return d.push(this.getClass("abutted")),h.forEach(function(t){d.push(e.getClass("abutted")+"-"+t)}),f.length&&p.push(this.getClass("abutted")),f.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),D(function(){!1!==e.options.addTargetClasses&&g(e.target,p,d),g(e.element,p,d)}),!0}});var L=function(){function t(t,e){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){r=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);
20throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return E.modules.push({position:function(t){var e=t.top,n=t.left;if(this.options.shift){var i=this.options.shift;"function"==typeof this.options.shift&&(i=this.options.shift.call(this,{top:e,left:n}));var r=void 0,o=void 0;if("string"==typeof i){i=i.split(" "),i[1]=i[1]||i[0];var a=i,s=L(a,2);r=s[0],o=s[1],r=parseFloat(r,10),o=parseFloat(o,10)}else r=i.top,o=i.left;return e+=r,n+=o,{top:e,left:n}}}}),G})},function(t,e,n){"use strict";var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,n){(function(e){t.exports=e.Tether=n(23)}).call(e,n(24))},function(t,e,n){n(5),t.exports=n(6)}]);!function(t){var e={},s={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};t.fn.bxSlider=function(n){if(0==this.length)return this;if(this.length>1)return this.each(function(){t(this).bxSlider(n)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},s,n),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length<o.settings.minSlides&&(o.settings.minSlides=o.children.length),o.children.length<o.settings.maxSlides&&(o.settings.maxSlides=o.children.length),o.settings.randomStart&&(o.settings.startSlide=Math.floor(Math.random()*o.children.length)),o.active={index:o.settings.startSlide},o.carousel=o.settings.minSlides>1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages="all"),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp="vertical"==o.settings.mode?"top":"left",o.usingCSS=o.settings.useCSS&&"fade"!=o.settings.mode&&function(){var t=document.createElement("div"),e=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace("Perspective","").toLowerCase(),o.animProp="-"+o.cssPrefix+"-transform",!0;return!1}(),"vertical"==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data("origStyle",r.attr("style")),r.children(o.settings.slideSelector).each(function(){t(this).data("origStyle",t(this).attr("style"))}),c()},c=function(){r.wrap('<div class="bx-wrapper"><div class="bx-viewport"></div></div>'),o.viewport=r.parent(),o.loader=t('<div class="bx-loading" />'),o.viewport.prepend(o.loader),r.css({width:"horizontal"==o.settings.mode?100*o.children.length+215+"%":"auto",position:"relative"}),o.usingCSS&&o.settings.easing?r.css("-"+o.cssPrefix+"-transition-timing-function",o.settings.easing):o.settings.easing||(o.settings.easing="swing"),f(),o.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),o.viewport.parent().css({maxWidth:p()}),o.settings.pager||o.viewport.parent().css({margin:"0 auto 0px"}),o.children.css({"float":"horizontal"==o.settings.mode?"left":"none",listStyle:"none",position:"relative"}),o.children.css("width",u()),"horizontal"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginRight",o.settings.slideMargin),"vertical"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginBottom",o.settings.slideMargin),"fade"==o.settings.mode&&(o.children.css({position:"absolute",zIndex:0,display:"none"}),o.children.eq(o.settings.startSlide).css({zIndex:o.settings.slideZIndex,display:"block"})),o.controls.el=t('<div class="bx-controls" />'),o.settings.captions&&P(),o.active.last=o.settings.startSlide==x()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);"all"==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&T(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&E(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),g(e,h)},g=function(e,i){var s=e.find("img, iframe").length;if(0==s)return i(),void 0;var n=0;e.find("img, iframe").each(function(){t(this).one("load",function(){++n==s&&i()}).each(function(){this.complete&&t(this).load()})})},h=function(){if(o.settings.infiniteLoop&&"fade"!=o.settings.mode&&!o.settings.ticker){var e="vertical"==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass("bx-clone"),s=o.children.slice(-e).clone().addClass("bx-clone");r.append(i).prepend(s)}o.loader.remove(),S(),"vertical"==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(v()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind("resize",Z),o.settings.auto&&o.settings.autoStart&&H(),o.settings.ticker&&L(),o.settings.pager&&q(o.settings.startSlide),o.settings.controls&&W(),o.settings.touchEnabled&&!o.settings.ticker&&O()},v=function(){var e=0,s=t();if("vertical"==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var n=1==o.settings.moveSlides?o.active.index:o.active.index*m();for(s=o.children.eq(n),i=1;i<=o.settings.maxSlides-1;i++)s=n+i>=o.children.length?s.add(o.children.eq(i-1)):s.add(o.children.eq(n+i))}else s=o.children.eq(o.active.index);else s=o.children;return"vertical"==o.settings.mode?(s.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,s.map(function(){return t(this).outerHeight(!1)}).get()),e},p=function(){var t="100%";return o.settings.slideWidth>0&&(t="horizontal"==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},u=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||"vertical"==o.settings.mode?t=e:o.settings.maxSlides>1&&"horizontal"==o.settings.mode&&(e>o.maxThreshold||e<o.minThreshold&&(t=(e-o.settings.slideMargin*(o.settings.minSlides-1))/o.settings.minSlides)),t},f=function(){var t=1;if("horizontal"==o.settings.mode&&o.settings.slideWidth>0)if(o.viewport.width()<o.minThreshold)t=o.settings.minSlides;else if(o.viewport.width()>o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else"vertical"==o.settings.mode&&(t=o.settings.minSlides);return t},x=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/m();else for(var e=0,i=0;e<o.children.length;)++t,e=i+f(),i+=o.settings.moveSlides<=f()?o.settings.moveSlides:f();else t=Math.ceil(o.children.length/f());return t},m=function(){return o.settings.moveSlides>0&&o.settings.moveSlides<=f()?o.settings.moveSlides:f()},S=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if("horizontal"==o.settings.mode){var t=o.children.last(
20),e=t.position();b(-(e.left-(o.viewport.width()-t.width())),"reset",0)}else if("vertical"==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();b(-e.top,"reset",0)}}else{var e=o.children.eq(o.active.index*m()).position();o.active.index==x()-1&&(o.active.last=!0),void 0!=e&&("horizontal"==o.settings.mode?b(-e.left,"reset",0):"vertical"==o.settings.mode&&b(-e.top,"reset",0))}},b=function(t,e,i,s){if(o.usingCSS){var n="vertical"==o.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)";r.css("-"+o.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==e?(r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),D()})):"reset"==e?r.css(o.animProp,n):"ticker"==e&&(r.css("-"+o.cssPrefix+"-transition-timing-function","linear"),r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),b(s.resetValue,"reset",0),N()}))}else{var a={};a[o.animProp]=t,"slide"==e?r.animate(a,i,o.settings.easing,function(){D()}):"reset"==e?r.css(o.animProp,t):"ticker"==e&&r.animate(a,speed,"linear",function(){b(s.resetValue,"reset",0),N()})}},w=function(){for(var e="",i=x(),s=0;i>s;s++){var n="";o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(n=o.settings.buildPager(s),o.pagerEl.addClass("bx-custom-pager")):(n=s+1,o.pagerEl.addClass("bx-default-pager")),e+='<div class="bx-pager-item"><a href="" data-slide-index="'+s+'" class="bx-pager-link">'+n+"</a></div>"}o.pagerEl.html(e)},T=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t('<div class="bx-pager" />'),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass("bx-has-pager").append(o.pagerEl),w()),o.pagerEl.on("click","a",I)},C=function(){o.controls.next=t('<a class="bx-next" href="">'+o.settings.nextText+"</a>"),o.controls.prev=t('<a class="bx-prev" href="">'+o.settings.prevText+"</a>"),o.controls.next.bind("click",y),o.controls.prev.bind("click",z),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t('<div class="bx-controls-direction" />'),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass("bx-has-controls-direction").append(o.controls.directionEl))},E=function(){o.controls.start=t('<div class="bx-controls-auto-item"><a class="bx-start" href="">'+o.settings.startText+"</a></div>"),o.controls.stop=t('<div class="bx-controls-auto-item"><a class="bx-stop" href="">'+o.settings.stopText+"</a></div>"),o.controls.autoEl=t('<div class="bx-controls-auto" />'),o.controls.autoEl.on("click",".bx-start",k),o.controls.autoEl.on("click",".bx-stop",M),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass("bx-has-controls-auto").append(o.controls.autoEl),A(o.settings.autoStart?"stop":"start")},P=function(){o.children.each(function(){var e=t(this).find("img:first").attr("title");void 0!=e&&(""+e).length&&t(this).append('<div class="bx-caption"><span>'+e+"</span></div>")})},y=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},z=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},k=function(t){r.startAuto(),t.preventDefault()},M=function(t){r.stopAuto(),t.preventDefault()},I=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),s=parseInt(i.attr("data-slide-index"));s!=o.active.index&&r.goToSlide(s),e.preventDefault()},q=function(e){var i=o.children.length;return"short"==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i),void 0):(o.pagerEl.find("a").removeClass("active"),o.pagerEl.each(function(i,s){t(s).find("a").eq(e).addClass("active")}),void 0)},D=function(){if(o.settings.infiniteLoop){var t="";0==o.active.index?t=o.children.eq(0).position():o.active.index==x()-1&&o.carousel?t=o.children.eq((x()-1)*m()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),t&&("horizontal"==o.settings.mode?b(-t.left,"reset",0):"vertical"==o.settings.mode&&b(-t.top,"reset",0))}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},A=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find("a").removeClass("active"),o.controls.autoEl.find("a:not(.bx-"+t+")").addClass("active"))},W=function(){1==x()?(o.controls.prev.addClass("disabled"),o.controls.next.addClass("disabled")):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass("disabled"),o.controls.next.removeClass("disabled")):o.active.index==x()-1?(o.controls.next.addClass("disabled"),o.controls.prev.removeClass("disabled")):(o.controls.prev.removeClass("disabled"),o.controls.next.removeClass("disabled")))},H=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},L=function(){var e=0;if("next"==o.settings.autoDirection)r.append(o.children.clone().addClass("bx-clone"));else{r.prepend(o.children.clone().addClass("bx-clone"));var i=o.children.first().position();e="horizontal"==o.settings.mode?-i.left:-i.top}b(e,"reset",0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+="horizontal"==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});
20var i=o.settings.speed/e,s="horizontal"==o.settings.mode?"left":"top",n=i*(e-Math.abs(parseInt(r.css(s))));N(n)}),N()},N=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};"next"==o.settings.autoDirection?e=r.find(".bx-clone").first().position():i=o.children.first().position();var s="horizontal"==o.settings.mode?-e.left:-e.top,n="horizontal"==o.settings.mode?-i.left:-i.top,a={resetValue:n};b(s,"ticker",speed,a)},O=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind("touchstart",X)},X=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind("touchmove",Y),o.viewport.bind("touchend",V)}},Y=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),s=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>s&&o.settings.preventDefaultSwipeX?t.preventDefault():3*s>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),"fade"!=o.settings.mode&&o.settings.oneToOneTouch){var n=0;if("horizontal"==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;n=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;n=o.touch.originalPos.top+r}b(n,"reset",0)}},V=function(t){o.viewport.unbind("touchmove",Y);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,"fade"==o.settings.mode){var s=Math.abs(o.touch.start.x-o.touch.end.x);s>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var s=0;"horizontal"==o.settings.mode?(s=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(s=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&s>0||o.active.last&&0>s)?b(i,"reset",200):Math.abs(s)>=o.settings.swipeThreshold?(0>s?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):b(i,"reset",200)}o.viewport.unbind("touchend",V)},Z=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider(),o.settings.onSliderResize.call(r,o.active.index))};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?x()-1:e>=x()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),"next"==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):"prev"==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=x()-1,o.settings.pager&&q(o.active.index),o.settings.controls&&W(),"fade"==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed),o.children.filter(":visible").fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css("zIndex",o.settings.slideZIndex+1).fadeIn(o.settings.speed,function(){t(this).css("zIndex",o.settings.slideZIndex),D()});else{o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed);var s=0,n={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if("horizontal"==o.settings.mode){var a=o.children.eq(o.children.length-1);n=a.position(),s=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;n=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&"prev"==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-m():(x()-1)*m()-(o.children.length-o.settings.maxSlides),a=r.children(".bx-clone").eq(d);n=a.position()}else if("next"==i&&0==o.active.index)n=r.find("> .bx-clone").eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var c=e*m();n=o.children.eq(c).position()}if("undefined"!=typeof n){var g="horizontal"==o.settings.mode?-(n.left-s):-n.top;b(g,"slide",o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,"next")}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,"prev")}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){"next"==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&A("stop"))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&A("start"))},r.getCurrentSlide=function(){return o.active.index},r.getCurrentSlideElement=function(){return o.children.eq(o.active.index)},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(".bx-clone")).outerWidth(u()),o.viewport.css("height",v()),o.settings.ticker||S(),o.active.last&&(o.active.index=x()-1),o.active.index>=x()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),q(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(".bx-clone",this).remove(),o.children.each(function(){void 0!=t(this).data("origStyle")?t(this).attr("style",t(this).data("origStyle")):t(this).removeAttr("style")}),void 0!=t(this).data("origStyle")?this.attr("style",t(this).data("origStyle")):t(this).removeAttr("style"),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.settings.controls&&o.pagerEl.remove(),t(".bx-caption",this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind("resize",Z))},r.reloadSlider=function(t){void 0!=t&&(n=t),r.destroySlider(),d()},d(),this}}(jQuery);$(document).ready(function(){$('ul.tree.dhtml').hide();if(!$('ul.tree.dhtml').hasClass('dynamized')){$('ul.tree.dhtml ul').prev().before("<span class='grower OPEN'> </span>");$('ul.tree.dhtml ul li:last-child, ul.tree.dhtml li:last-child').addClass('last');$('ul.tree.dhtml span.grower.OPEN').addClass('CLOSE').removeClass('OPEN').parent().find('ul:first').hide();$('ul.tree.dhtml').show();$('ul.tree.dhtml .selected').parents().each(function(){if($(this).is('ul'))
21toggleBranch($(this).prev().prev(),!0)});toggleBranch($('ul.tree.dhtml .selected').prev(),!0);$('ul.tree.dhtml span.grower').click(function(){toggleBranch($(this))});$('ul.tree.dhtml').addClass('dynamized');$('ul.tree.dhtml').removeClass('dhtml')}});function openBranch(jQueryElement,noAnimation){jQueryElement.addClass('OPEN').removeClass('CLOSE');if(noAnimation)
22jQueryElement.parent().find('ul:first').show();else jQueryElement.parent().find('ul:first').slideDown()}
23function closeBranch(jQueryElement,noAnimation){jQueryElement.addClass('CLOSE').removeClass('OPEN');if(noAnimation)
24jQueryElement.parent().find('ul:first').hide();else jQueryElement.parent().find('ul:first').slideUp()}
25function toggleBranch(jQueryElement,noAnimation){if(jQueryElement.hasClass('OPEN'))
26closeBranch(jQueryElement,noAnimation);else openBranch(jQueryElement,noAnimation)}
27$(document).ready(function(){$('#home-page-tabs li:first a, #index .tab-content .tab-pane:first').addClass('active in')});$('#content-wrapper.col-sm-12 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:297,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-sm-12 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:297,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-sm-12 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:297,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.standard_carusele #content-wrapper.col-md-9 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:222,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.standard_carusele #content-wrapper.col-md-9 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:222,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.standard_carusele #content-wrapper.col-md-9 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:222,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.pl_2col_qty_3 #content-wrapper.col-md-9 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:296,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.pl_2col_qty_3 #content-wrapper.col-md-9 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:296,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('.pl_2col_qty_3 #content-wrapper.col-md-9 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:296,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-md-6 .bx_accessories').bxSlider({minSlides:1,maxSlides:6,slideWidth:197,pager:!1,nextSelector:'#next_accessories',prevSelector:'#prev_accessories',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-md-6 .bx_prodcat').bxSlider({minSlides:1,maxSlides:6,slideWidth:197,pager:!1,nextSelector:'#next_prodcat',prevSelector:'#prev_prodcat',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$('#content-wrapper.col-md-6 .bx_cross').bxSlider({minSlides:1,maxSlides:6,slideWidth:197,pager:!1,nextSelector:'#next_cross',prevSelector:'#prev_cross',nextText:'>',prevText:'<',moveSlides:1,infiniteLoop:!1,hideControlOnEnd:!0,touchEnabled:!0});$(document).on('click','.comments_advices .reviews',function(e){if($('.comment_tab').length){$('.comment_tab').trigger('click');$('html, body').animate({scrollTop:$('.comment_tab').offset().top},500)}
28return!1});$(document).on('click','.product_tabs1 .comments_advices .reviews',function(e){$('.product_tabs1 .tabs ul.nav-tabs .comment_tab').click();$('html, body').animate({scrollTop:$('.product_tabs1 .comment_tab').offset().top},500)});$(document).on('click','.product_tabs2 .comments_advices .reviews',function(e){$('html, body').animate({scrollTop:$('.product_tabs2 #productC
28ommentsBlock .index_title').offset().top},500)});var responsiveflag=!1;$(document).ready(function(){responsiveResize();$(window).resize(responsiveResize);if(navigator.userAgent.match(/Android/i)){var viewport=document.querySelector('meta[name="viewport"]');viewport.setAttribute('content','initial-scale=1.0,maximum-scale=4.0,user-scalable=0,width=device-width,height=device-height');window.scrollTo(0,1)}});function scrollCompensate(){var inner=document.createElement('p');inner.style.width="100%";inner.style.height="200px";var outer=document.createElement('div');outer.style.position="absolute";outer.style.top="0px";outer.style.left="0px";outer.style.visibility="hidden";outer.style.width="200px";outer.style.height="150px";outer.style.overflow="hidden";outer.appendChild(inner);document.body.appendChild(outer);var w1=inner.offsetWidth;outer.style.overflow='scroll';var w2=inner.offsetWidth;if(w1==w2)w2=outer.clientWidth;document.body.removeChild(outer);return(w1-w2)}
29function responsiveResize(){compensante=scrollCompensate();if(($(window).width()+scrollCompensate())<=767&&responsiveflag==!1){accordion('enable');accordionFooter('enable');responsiveflag=!0}else if(($(window).width()+scrollCompensate())>=768){accordion('disable');accordionFooter('disable');responsiveflag=!1;if(typeof bindUniform!=='undefined')
30bindUniform()}}
31function accordionFooter(status){if(status=='enable'){$('#footer .footer-block h4').on('click',function(e){$(this).toggleClass('active').parent().find('.toggle-footer').stop().slideToggle('medium');e.preventDefault()})
32$('#footer').addClass('accordion').find('.toggle-footer').slideUp('fast')}else{$('.footer-block h4').removeClass('active').off().parent().find('.toggle-footer').removeAttr('style').slideDown('fast');$('#footer').removeClass('accordion')}}
33function accordion(status){if(status=='enable'){var accordion_selector='.columns .h6.text-uppercase, .columns .title_block';$(accordion_selector).on('click',function(e){$(this).toggleClass('active').parent().find('.block_content').stop().slideToggle('fast')});$('.columns').addClass('accordion').find('.block_content').slideUp('fast');if(typeof(ajaxCart)!=='undefined')
34ajaxCart.collapse()}else{$('.columns .h6.text-uppercase').removeClass('active').off().parent().find('.block_content').removeAttr('style').slideDown('fast');$('.columns').removeClass('accordion')}}
35$('#menu-icon2').on('click',function(){$('#mobile_top_menu_wrapper2').slideToggle('fast');$('#mobile_search_wrapper').hide();$('#mobile_user_wrapper').hide()});$('#search-icon').on('click',function(){$('#mobile_search_wrapper').slideToggle('fast');$('#mobile_top_menu_wrapper2').hide();$('#mobile_user_wrapper').hide()});$('#user-icon').on('click',function(){$('#mobile_user_wrapper').slideToggle('fast');$('#mobile_top_menu_wrapper2').hide();$('#mobile_search_wrapper').hide()});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>135){$('.stickymenu_yes').addClass("sticky_menu")}else{$('.stickymenu_yes').removeClass("sticky_menu")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>90){$('.stickymenu_yes').addClass("sticky_menu_rwd")}else{$('.stickymenu_yes').removeClass("sticky_menu_rwd")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>136){$('.stickycart_yes').addClass("sticky_cart2")}else{$('.stickycart_yes').removeClass("sticky_cart2")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>140){$('.stickycart_yes').addClass("sticky_cart")}else{$('.stickycart_yes').removeClass("sticky_cart")}})});$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>1){$('body').addClass("display_slider")}})});$(document).ready(function(){$('.show_list').click(function(){document.cookie="show_list=true; expires=Thu, 30 Jan 2100 12:00:00 UTC; path=/";document.cookie="show_grid=; expires=Thu, 30 Jan 1970 12:00:00 UTC; path=/";$('section#products').addClass('product_show_list')});$('.show_grid').click(function(){document.cookie="show_list=; expires=Thu, 30 Jan 1970 12:00:00 UTC; path=/";document.cookie="show_grid=true; expires=Thu, 30 Jan 2100 12:00:00 UTC; path=/";$('section#products').removeClass('product_show_list')})});/**
36 * 2007-2020 PrestaShop.
37 *
38 * NOTICE OF LICENSE
39 *
40 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
41 * that is bundled with this package in the file LICENSE.txt.
42 * It is also available through the world-wide-web at this URL:
43 * https://opensource.org/licenses/AFL-3.0
44 * If you did not receive a copy of the license and are unable to
45 * obtain it through the world-wide-web, please send an email
46 * to [email protected] so we can send you a copy immediately.
47 *
48 * DISCLAIMER
49 *
50 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
51 * versions in the future. If you wish to customize PrestaShop for your
52 * needs please refer to http://www.prestashop.com for more information.
53 *
54 * @author    PrestaShop SA <[email protected]>
55 * @copyright 2007-2020 PrestaShop SA
56 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
57 * International Registered Trademark & Property of PrestaShop SA
58 */
59$(document).ready(function(){$('.block_newsletter form').on('submit',function(){var psemailsubscriptionForm=$(this);if(typeof psemailsubscription_subscription==='undefined'){return!0}
60$('.block_newsletter_alert').remove();$.ajax({type:'POST',dataType:'JSON',url:psemailsubscription_subscription,cache:!1,data:$(this).serialize(),success:function(data){if(data.nw_error){psemailsubscriptionForm.prepend('<p class="alert alert-danger block_newsletter_alert">'+data.msg+'</p>')}else{psemailsubscriptionForm.prepend('<p class="alert alert-success block_newsletter_alert">'+data.msg+'</p>')}},error:function(err){console.log(err)}});return!1})});/*! For license information please see front.js.LICENSE.txt */
61(()=>{var e={267:()=>{},379:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var a={},o=[],i=0;i<e.length;i++){var c=e[i],u=n.base?c[0]+n.base:c[0],l=a[u]||0,d="".concat(u," ").concat(l);a[u]=l+1;var p=r(d),f={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)t[p].references++,t[p].updater(f);else{var v=s(f,n);n.byIndex=i,t.splice(i,0,{identifier:d,updater:v,references:1})}o.push(d)}return o}function s(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,s){var a=n(e=e||[],s=s||{});return function(e){e=e||[];for(var o=0;o<a.length;o++){var i=r(a[o]);t[i].references--}for(var c=n(e,s),u=0;u<a.length;u++){var l=r(a[u]);0===t[l].references&&(t[l].updater(),t.splice(l,1))}a=c}}},569:e=>{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},565:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var s=void 0!==r.layer;s&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,s&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.n=e=>
61{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.nc=void 0,(()=>{"use strict";var e=r(379),t=r.n(e),n=r(795),s=r.n(n),a=r(569),o=r.n(a),i=r(565),c=r.n(i),u=r(216),l=r.n(u),d=r(589),p=r.n(d),f=r(267),v=r.n(f),m={};m.styleTagTransform=p(),m.setAttributes=c(),m.insert=o().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=l(),t()(v(),m),v()&&v().locals&&v().locals,$(window).ready((()=>{const e=$(".blockreassurance_product img.svg, .blockreassurance img.svg").map((function(){return $(this).attr("src")})).toArray();e.filter(((t,r)=>e.indexOf(t)===r)).forEach((function(e){const t=$(`.blockreassurance_product img.svg.invisible[src="${e}"], .blockreassurance img.svg.invisible[src="${e}"]`);0!==t.length&&$.ajax({url:e,type:"GET",success(r){if($.isXMLDoc(r)){let n=$(r).find("svg");n=n.attr("data-img-url",e),n=n.removeAttr("xmlns:a"),n.find("path[fill]").attr("fill",window.psr_icon_color),n.find("path:not([fill])").css("fill",window.psr_icon_color),t.each((function(){const e=$(this).attr("id"),t=$(this).attr("class");let r=n.clone();r=void 0!==e?r.attr("id",e):r,r=void 0!==t?r.attr("class",`${t} replaced-svg`):r.attr("class"," replaced-svg"),r.removeClass("invisible"),$(this).replaceWith(r)}))}}})}))}))})()})();/**
62 * Copyright since 2007 PrestaShop SA and Contributors
63 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
64 *
65 * NOTICE OF LICENSE
66 *
67 * This source file is subject to the Academic Free License version 3.0
68 * that is bundled with this package in the file LICENSE.md.
69 * It is also available through the world-wide-web at this URL:
70 * https://opensource.org/licenses/AFL-3.0
71 * If you did not receive a copy of the license and are unable to
72 * obtain it through the world-wide-web, please send an email
73 * to [email protected] so we can send you a copy immediately.
74 *
75 * @author    PrestaShop SA and Contributors <[email protected]>
76 * @copyright Since 2007 PrestaShop SA and Contributors
77 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
78 */
79function addNotification(productId,productAttributeId){if(typeof productId==='undefined'){var ids=$('div.js-mailalert > input[type=hidden]');productId=ids.eq(0).val();productIdAttribute=ids.eq(1).val()}
80$.ajax({type:'POST',url:$('div.js-mailalert').data('url'),data:'id_product='+productId+'&id_product_attribute='+productAttributeId+'&customer_email='+$('div.js-mailalert input[type=email]').val(),success:function(resp){resp=JSON.parse(resp);$('.js-mailalert-alerts').html('<article class="mt-1 alert alert-'+(resp.error?'danger':'success')+'" role="alert" data-alert="'+(resp.error?'error':'success')+'">'+resp.message+'</article>').show();if(!resp.error){$('div.js-mailalert > .js-mailalert-add, div.js-mailalert > input[type=email], div.js-mailalert .gdpr_consent_wrapper').hide()}}});return!1}
81$(document).on('ready',function(){const mailAlertSubmitButtonClass='.js-mailalert-add';const mailAlertWrapper=$('.js-mailalert');const mailAlertSubmitButton=mailAlertWrapper.find(mailAlertSubmitButtonClass);if(mailAlertWrapper.find('#gdpr_consent, .gdpr_consent').length){setTimeout(()=>{mailAlertSubmitButton.prop('disabled',!0);mailAlertWrapper.find('[name="psgdpr_consent_checkbox"]').on('change',function(e){e.stopPropagation();mailAlertSubmitButton.prop('disabled',!$(this).prop('checked'))})},0)}
82$(document).on('click',mailAlertSubmitButtonClass,function(e){e.preventDefault();addNotification($(this).data('product'),$(this).data('product-attribute'))});$(document).on('click','.js-remove-email-alert',function(){var self=$(this);var ids=self.attr('rel').replace('js-id-emailalerts-','');ids=ids.split('-');var id_product_mail_alert=ids[0];var id_product_attribute_mail_alert=ids[1];var parent=self.closest('li');$.ajax({url:self.data('url'),type:"POST",data:{'id_product':id_product_mail_alert,'id_product_attribute':id_product_attribute_mail_alert},success:function(result){if(result=='0'){parent.fadeOut("normal",function(){parent.remove()})}}})})});document.addEventListener("DOMContentLoaded",()=>{var x13PriceHistoryListPrices=(function(){var data={productIDs:[],loadingInProgress:!1,ajaxUrl:x13pricehistory_ajax_url,};var DOMStrings={priceHistoryListContainer:".product-miniature .x13pricehistory-product-list.x13pricehistory-product-list-ajaxed",};var DOMClasses={inProgress:"x13pricehistory-product-list-loading",pricesLoaded:"x13pricehistory-product-list-loaded",};function setEvents(){if(typeof prestashop!=="undefined"){prestashop.on("updateProductList",function(){setTimeout(function(){addProductsIDs()},100)})}}
83function getProductThumbnails(){var $productListAttributes=$(DOMStrings.priceHistoryListContainer).not("."+DOMClasses.pricesLoaded+", ."+DOMClasses.inProgress).addClass(DOMClasses.inProgress);return $productListAttributes}
84function addProductsIDs(){var $productsList=getProductThumbnails(),foundIds={};$productsList.each(function(){var id=$(this).data("product");foundIds[id]=!0});var IDsArray=Object.keys(foundIds);var prevDataIDs=data.productIDs.splice(0);data.productIDs=prevDataIDs.concat(IDsArray);if(!data.loadingInProgress){loadProductsData(data.productIDs)}}
85function getByProduct(dataProduct){loadProductsData([dataProduct])}
86function loadProductsData(productsIds){if(productsIds.length===0){return}
87data.loadingInProgress=!0;$.get(data.ajaxUrl,{token:x13pricehistory_ajax_token,id_products:productsIds},function(jsonData){if(jsonData){const products=JSON.parse(jsonData);$.each(products,function(idProduct,element){var $productData=element;var $priceHistoryListContainer=$('.x13pricehistory-product-list[data-product="'+idProduct+'"]');$priceHistoryListContainer.find(".x13pricehistory-product-list__omnibus-price").text($productData.lowest_price);$priceHistoryListContainer.find(".discount.discount-percentage").text($productData.real_discount_value);$priceHistoryListContainer.closest(DOMStrings.priceHistoryListContainer).addClass(DOMClasses.pricesLoaded);$priceHistoryListContainer.closest(DOMStrings.priceHistoryListContainer).removeClass(DOMClasses.inProgress);$priceHistoryListContainer.closest(DOMStrings.priceHistoryListContainer).find(".x13pricehistory-product-list__dummy").remove()});data.loadingInProgress=!1}
88$(DOMStrings.priceHistoryListContainer).removeClass(DOMClasses.inProgress);$(DOMStrings.priceHistoryListContainer).addClass(DOMClasses.pricesLoaded);$(".x13pricehistory-product-list__dummy").remove()})}
89return{getByProduct:function(dataProduct){getByProduct(dataProduct)},load:function(){addProductsIDs()},init:function(){setEvents()},}})();x13PriceHistoryListPrices.init();x13PriceHistoryListPrices.load()});/*
90* @author Przelewy24
91* @copyright Przelewy24
92* @license https://www.gnu.org/licenses/lgpl-3.0.en.html
93*/
94var p24GetRawAdditionalFormsContainer=function(){var idVar='p24-additional-forms';var rawContainer=document.getElementById(idVar);if(!rawContainer){rawContainer=document.createElement('div');rawContainer.id=idVar;document.body.appendChild(rawContainer)}
95return rawContainer};function redirectAfterCardPayment(url){setTimeout(function(){window.location.href=$('#p24-card-config-element').data(url)},500)}
96function payInShopSuccess(){redirectAfterCardPayment('successUrl')}
97function payInShopFailure(){redirectAfterCardPayment('failureUrl')}
98$(function(){var $configElement;var armed=!1;var commonError=function(selector){var $section=$('#p24-blik-section');var $error=$section.find(selector);$error.show();$error.addClass('animate');setTimeout(function(){$error.removeClass('animate')},2000)};var blikError=function(){commonError('.error-code')};var regulationError=function(){commonError('.error-regulation')};var regulationNoError=function(){var $section=$('#p24-blik-section');var $error=$section.find('.error-regulation');$error.hide()};var prRegulationError=function(){commonError('.error-pr-regulation')};var prRegulationNoError=function(){var $section=$('#p24-blik-section');var $error=$section.find('.error-pr-regulation');$error.hide()};var executePaymentByBlikCode=function($form,cartId,blikCode){$form.find('button').prop('disabled',!0);var request={'action':'executeBlik','cartId':cartId,'blikCode':blikCode};$.ajax($configElement.data('ajaxurl'),{method:'POST',type:'POST',data:request,}).success(function(response){var response=JSON.parse(response);if(response.success||response.reload){var returnUrl=response.returnUrl;setTimeout(function(){window.location=returnUrl},3000)}else{blikError();$form.find('button').prop('disabled',!1)}}).error(function(){blikError();$form.find('button').prop('disabled',!1)})};var checkRegulations=function(){var $regulation;$regulation=$('#p24_regulation_accept');if(!$regulation.length){$regulation=$('#p24-blik-regulation-accept')}
99if(!$regulation.length){return!1}
100if($regulation.prop('checked')){regulationNoError();return!0}else{regulationError();return!1}};var checkPrRegulations=function(){var $regulation;$regulation=$('#conditions_to_approve\\[terms-and-conditions\\]');if(!$regulation.length){return!0}
101if($regulation.prop('checked')){prRegulationNoError();return!0}else{prRegulationError();return!1}};var showBlikSection=function(){var $section=$('#p24-blik-section');var $pad=$('#p24-additional-forms');$section.appendTo($pad);$section.show();var cartId=$configElement.data('cartid');var $form=$section.find('form');$form.on('submit',function(e){e.preventDefault();var regulations=checkRegulations();var prRegulations=checkPrRegulations();if(regulations&&prRegulations){var blikCode=$section.find('input[name=blik]').val();executePaymentByBlikCode($form,cartId,blikCode)}})};var hideBlikSection=function(){var $section=$('#p24-blik-section');$section.hide()}
102var tryArmBlikBoxPayment=function(){var $masterMethodId=$('#master-active-payment-method');$masterMethodId.on('change',function(){var val=parseInt($masterMethodId.val());if(181===val){showBlikSection()}else{hideBlikSection()}});armed=!0};var tryArmBlikBoxConfirmation=function(){var $input=$('input[data-module-name=przelewy24-method-181]');if($input.length){var rawFormContainer=p24GetRawAdditionalFormsContainer();$input.on('change',function(e){if(!$input.prop('checked')){return}
103var randomId=$input.attr('id');var $container=$('#'+randomId+'-container');var $formContainer=$(rawFormContainer);$container.append($formContainer);$formContainer.trigger('hide-old');var hideOldEvent=new Event('hide-old');
103rawFormContainer.dispatchEvent(hideOldEvent);showBlikSection()});rawFormContainer.addEventListener('hide-old',function(){hideBlikSection()});armed=!0}};var tryArmBlikBox=function(retries){if(armed||retries<=0){return}
104$configElement=$('#p24-blik-config-element');if($configElement.length){var pageType=$configElement.data('pagetype');switch(pageType){case 'payment':tryArmBlikBoxPayment();break;case 'confirmation':tryArmBlikBoxConfirmation();break}}
105if(!armed){setTimeout(tryArmBlikBox,1000,retries-1)}};tryArmBlikBox(10)});$(function(){var $configElement;var armed=!1;var commonError=function(selector){var $section=$('#p24-card-section');var $error=$section.find(selector);$error.show();$error.addClass('animate');setTimeout(function(){$error.removeClass('animate')},2000)};var otherError=function(){commonError('error-other')}
106var regulationError=function(){commonError('.error-regulation')};var regulationNoError=function(){var $section=$('#p24-card-section');var $error=$section.find('.error-regulation');$error.hide()};var prRegulationError=function(){commonError('.error-pr-regulation')};var prRegulationNoError=function(){var $section=$('#p24-card-section');var $error=$section.find('.error-pr-regulation');$error.hide()};var showCardLoader=function(){$('.p24-card-loader').fadeIn(400)}
107function hideCardLoader(){$('.p24-card-loader').fadeOut(300)}
108var register=function(cartId,method){if('object'===typeof P24_Transaction){return}
109var $formContainer=$('#P24FormContainer');var termsAcceptRequired=$configElement.data('termsConfirmRequired');if(termsAcceptRequired&&!$('#p24-card-regulation-accept').is(':checked')){return}
110showCardLoader();$.ajax($configElement.data('ajaxurl'),{method:'POST',type:'POST',data:{action:'register',cartId:cartId,method:method,},}).success(function(response){var response=JSON.parse(response);if(response.script&&response.signature){$formContainer.attr('data-sign',response.signature);$.getScript(response.script,function(){P24_Transaction.init();hideCardLoader()})}else{hideCardLoader();commonError()}}).error(function(){hideCardLoader();payInShopFailure()})};var checkRegulations=function(){var $regulation;$regulation=$('#p24_regulation_accept');if(!$regulation.length){$regulation=$('#p24-card-regulation-accept')}
111if(!$regulation.length){return!1}
112if($regulation.prop('checked')){regulationNoError();return!0}else{regulationError();return!1}};var checkPrRegulations=function(){var $regulation;$regulation=$('#conditions_to_approve\\[terms-and-conditions\\]');if(!$regulation.length){return!0}
113if($regulation.prop('checked')){prRegulationNoError();return!0}else{prRegulationError();return!1}};var getMethodId=function(){var $masterMethodId=$('#master-active-payment-method');var $primaryMethod=$('[data-module-name^="przelewy24-method-"]:checked');if($masterMethodId.length===0&&$primaryMethod.length>0){return parseInt($primaryMethod.data('moduleName').replace('przelewy24-method-',''))}
114return parseInt($masterMethodId.val())}
115var showCardSection=function(){var $section=$('#p24-card-section');var $pad=$('#p24-additional-forms');$section.appendTo($pad);$section.show();register($configElement.data('cartid'),getMethodId())};var hideCardSection=function(){var $section=$('#p24-card-section');$section.hide()}
116var tryArmCardBoxPayment=function($configElement){var ids=$configElement.data('ids').split(',');var $masterMethodId=$('#master-active-payment-method');$masterMethodId.on('change',function(){var val=parseInt($masterMethodId.val());var notSelected=ids.every(function(id){id=parseInt(id);return id!==val});if(notSelected){hideCardSection()}else{showCardSection()}});armed=!0}
117var tryArmCardBoxConfirmationOne=function(id){if(armed){return}
118var $input=$('input[data-module-name=przelewy24-method-'+id+']');if($input.length){var rawFormContainer=p24GetRawAdditionalFormsContainer();$input.on('change',function(e){if(!$input.prop('checked')){return}
119var randomId=$input.attr('id');var $container=$('#'+randomId+'-container');var $formContainer=$(rawFormContainer);$container.append($formContainer);$formContainer.trigger('hide-old');var hideOldEvent=new Event('hide-old');
119rawFormContainer.dispatchEvent(hideOldEvent);showCardSection()});rawFormContainer.addEventListener('hide-old',function(){hideCardSection()});armed=!0}};var tryArmCardBoxConfirmation=function(){var ids=$configElement.data('ids').split(',');ids.forEach(function(id){tryArmCardBoxConfirmationOne(id)})};var tryArmCardBox=function(retries){if(armed||retries<=0){return}
120$configElement=$('#p24-card-config-element');$(document).on('change','#p24-card-regulation-accept',function(){if($(this).is(':checked')){$('#P24FormContainer').show();register($configElement.data('cartid'),getMethodId())}else{$('#P24FormContainer').hide()}});if($configElement.length){var pageType=$configElement.data('pagetype');switch(pageType){case 'payment':tryArmCardBoxPayment($configElement);break;case 'confirmation':tryArmCardBoxConfirmation();break}}
121if(!armed){setTimeout(tryArmCardBox,1000,retries-1)}};tryArmCardBox(10)});$(function(){var armed=!1;var checkForBlikOrCard=function($configElement,number){var ids=$configElement.data('cardIds').split(',');ids.push('181');number=number.toString();return ids.indexOf(number)>=0};var tryArmOtherConfirmation=function($configElement){var rawFormContainer=p24GetRawAdditionalFormsContainer();var paymentOptions=document.querySelectorAll('input[name=payment-option]');paymentOptions.forEach(function(elm){var needArming;var result=/^przelewy24-method-(\d+)$/.exec(elm.dataset.moduleName);if(result){needArming=!checkForBlikOrCard($configElement,parseInt(result[1]))}else{needArming=!0}
122console.log(elm.dataset.moduleName,needArming)
123if(needArming){elm.addEventListener('change',function(e){var hideOldEvent=new Event('hide-old');rawFormContainer.dispatchEvent(hideOldEvent)})}});armed=!0};var tryArmOther=function(retries){if(armed||retries<=0){return}
124$configElement=$('#p24-other-config-element');if($configElement.length){var pageType=$configElement.data('pagetype');switch(pageType){case 'confirmation':tryArmOtherConfirmation($configElement);break}}
125if(!armed){setTimeout(tryArmOther,1000,retries-1)}};tryArmOther(10)});/*
126* @author Przelewy24
127* @copyright Przelewy24
128* @license https://www.gnu.org/licenses/lgpl-3.0.en.html
129*/
130$(function(){var hideById=function(id){$('a.bank-box[data-id='+id+']').css('display','none');$('input[data-module-name=przelewy24-method-'+id+']').parent().parent().parent().css('display','none');$('input#paymethod-bank-id-'+id).parent().css('display','none')}
131var hasApplePay=window.ApplePaySession&&window.ApplePaySession.canMakePayments();if(!hasApplePay){[232,252,253,].forEach(hideById)}});/*
132* @author      Krzysztof Pecak
133* @copyright   2017 Krzysztof Pecak
134* @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
135*/
136$(document).ready(function(){initfb(document,'script','facebook-jssdk')});function initfb(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id))
137return;js=d.createElement(s);js.id=id;js.src="//connect.facebook.net/en_EN/sdk.js#xfbml=1&version=v2.6";fjs.parentNode.insertBefore(js,fjs)}
138$(function(){$('.likebox_tab').click(function(){if($(this).css("margin-right")=="300px"){$('#likebox_content').animate({"margin-right":'-=300'});$('.likebox_tab').animate({"margin-right":'-=300'})}else{$('#likebox_content').animate({"margin-right":'+=300'});$('.likebox_tab').animate({"margin-right":'+=300'})}})});/*
139* @author      Krzysztof Pecak
140* @copyright   2021 Krzysztof Pecak
141* @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
142*/
143$(document).ready(function(){$(window).scroll(function(){if($(this).scrollTop()>100){$('#scroll_top').fadeIn()}else{$('#scroll_top').fadeOut()}});$('#scroll_top').click(function(){$("html, body").animate({scrollTop:0},600);return!1})});/*! lazysizes - v5.3.2 */
144!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:!0}}var O=D.documentElement,i=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,o=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],a={},G=Array.prototype.forEach,J=function(e,t){if(!a[t]){a[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return a[t].test(e[$]("class")||"")&&a[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var a;if(a=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(a," "))}},V=function(t,a,e){var i=e?P:"removeEventListener";if(e){V(t,a)}r.forEach(function(e){t[i](e,a)})},X=function(e,t,a,i,r){var n=D.createEvent("Event");
vendor: 5,605 bytes, line 144
144if(!a){a={}}a.instance=k;n.initEvent(t,!i,!r);n.detail=a;e.dispatchEvent(n);return n},Y=function(e,t){var a;if(!i&&(a=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}a({reevaluate:!0,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,a){a=a||e.offsetWidth;while(a<H.minSize&&t&&!e._lazysizesWidth){a=t.offsetWidth;t=t.parentNode}return a},ee=function(){var a,i;var t=[];var r=[];var n=t;var s=function(){var e=n;n=t.length?r:t;a=!0;i=!1;while(e.length){e.shift()()}a=!1};var e=function(e,t){if(a&&!t){e.apply(this,arguments)}else{n.push(e);if(!i){i=!0;(D.hidden?I:U)(s)}}};e._lsFlush=s;return e}(),te=function(a,e){return e?function(){ee(a)}:function(){var e=this;var t=arguments;ee(function(){a.apply(e,t)})}},ae=function(e){var a;var i=0;var r=H.throttleDelay;var n=H.ricTimeout;var t=function(){a=!1;i=f.now();e()};var s=o&&n>49?function(){o(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},!0);return function(e){var t;if(e=e===!0){n=33}if(a){return}a=!0;t=r-(f.now()-i);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ie=function(e){var t,a;var i=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-a;if(e<i){I(n,i-e)}else{(o||r)(r)}};return function(){a=f.now();if(!t){t=I(n,i)}}},e=function(){var v,m,c,h,e;var y,z,g,p,C,b,A;var n=/^img$/i;var d=/^iframe$/i;var E="onscroll"in u&&!/(gle|ing)bot/.test(navigator.userAgent);var _=0;var w=0;var M=0;var N=-1;var L=function(e){M--;if(!e||M<0||!e.target){M=0}};var x=function(e){if(A==null){A=Z(D.body,"visibility")=="hidden"}return A||!(Z(e.parentNode,"visibility")=="hidden"&&Z(e,"visibility")=="hidden")};var W=function(e,t){var a;var i=e;var r=x(e);g-=t;b+=t;p-=t;C+=t;while(r&&(i=i.offsetParent)&&i!=D.body&&i!=O){r=(Z(i,"opacity")||1)>0;if(r&&Z(i,"overflow")!="visible"){a=i.getBoundingClientRect();r=C>a.left&&p<a.right&&b>a.top-1&&g<a.bottom+1}}return r};var t=function(){var e,t,a,i,r,n,s,o,l,u,f,c;var d=k.elements;if((h=H.loadMode)&&M<8&&(e=d.length)){t=0;N++;for(;t<e;t++){if(!d[t]||d[t]._lazyRace){continue}if(!E||k.prematureUnveil&&k.prematureUnveil(d[t])){R(d[t]);continue}if(!(o=d[t][$]("data-expand"))||!(n=o*1)){n=w}if(!u){u=!H.expand||H.expand<1?O.clientHeight>500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w<f&&M<1&&N>2&&h>2&&!D.hidden){w=f;N=0}else if(h>1&&N>1&&M<6){w=u}else{w=_}}if(l!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;l=n}a=d[t].getBoundingClientRect();if((b=a.bottom)>=s&&(g=a.top)<=z&&(C=a.right)>=s*c&&(p=a.left)<=y&&(b||C||p||g)&&(H.loadHidden||x(d[t]))&&(m&&M<3&&!o&&(h<3||N<4)||W(d[t],n))){R(d[t]);r=!0;if(M>9){break}}else if(!r&&m&&!i&&M<4&&N<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!o&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){i=v[0]||d[t]}}if(i&&!r){R(i)}}};var a=ae(t);var S=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}L(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,B);X(t,"lazyloaded")};var i=te(S);var B=function(e){i({target:e.target})};var T=function(e,t){var a=e.getAttribute("data-load-mode")||H.iframeLoadMode;if(a==0){e.contentWindow.location.replace(t)}else if(a==1){e.src=t}};var F=function(e){var t;var a=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(a){e.setAttribute("srcset",a)}};var s=te(function(t,e,a,i,r){var n,s,o,l,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(i){if(a){K(t,H.autosizesClass)}else{t.setAttribute("sizes",i)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){o=t.parentNode;l=o&&j.test(o.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||l);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(L,2500);V(t,B,!0)}if(l){G.call(o.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!l){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||l)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,H.fastLoadedClass)}S(u);t._lazyCache=!0;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){M--}},!0)});var R=function(e){if(e._lazyRace){return}var t;var a=n.test(e.nodeName);var i=a&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=i=="auto";if((r||!m)&&a&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,!0,e.offsetWidth)}e._lazyRace=!0;M++;s(e,t,r,i,a)};var r=ie(function(){H.loadMode=3;a()});var o=function(){if(H.loadMode==3){H.loadMode=2}r()};var l=function(){if(m){return}if(f.now()-e<999){I(l,999);return}m=!0;H.loadMode=3;a();q("scroll",o,!0)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",a,!0);q("resize",a,!0);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(a).observe(O,{childList:!0,subtree:!0,attributes:!0})}else{O[P]("DOMNodeInserted",a,!0);O[P]("DOMAttrModified",a,!0);setInterval(a,999)}q("hashchange",a,!0);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,a,!0)});if(/d$|^c/.test(D.readyState)){l()}else{q("load",l);D[P]("DOMContentLoaded",a);I(l,2e4)}if(k.elements.length){t();ee._lsFlush()}else{a()}},checkElems:a,unveil:R,_aLSL:o}}(),re=function(){var a;var n=te(function(e,t,a,i){var r,n,s;e._lazysizesWidth=i;i+="px";e.setAttribute("sizes",i);
144if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n<s;n++){r[n].setAttribute("sizes",i)}}if(!a.detail.dataAttr){Y(e,a.detail)}});var i=function(e,t,a){var i;var r=e.parentNode;if(r){a=s(e,r,a);i=X(e,"lazybeforesizes",{width:a,dataAttr:!!t});if(!i.defaultPrevented){a=i.detail.width;if(a&&a!==e._lazysizesWidth){n(e,r,i,a)}}}};var e=function(){var e;var t=a.length;if(t){e=0;for(;e<t;e++){i(a[e])}}};var t=ie(e);return{_:function(){a=D.getElementsByClassName(H.autosizesClass);q("resize",t)},checkElems:t,updateElem:i}}(),t=function(){if(!t.i&&D.getElementsByClassName){t.i=!0;re._();e._()}};return I(function(){H.init&&t()}),k={cfg:H,autoSizer:re,loader:e,init:t,uP:Y,aC:K,rC:Q,hC:J,fire:X,gW:s,rAF:ee}}(e,e.document,Date);e.lazySizes=t,"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:{});/**
145 * Copyright ETS Software Technology Co., Ltd
146 *
147 * NOTICE OF LICENSE
148 *
149 * This file is not open source! Each license that you purchased is only available for 1 website only.
150 * If you want to use this file on more websites (or projects), you need to purchase additional licenses.
151 * You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
152 *
153 * DISCLAIMER
154 *
155 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
156 * versions in the future.
157 *
158 * @author ETS Software Technology Co., Ltd
159 * @copyright  ETS Software Technology Co., Ltd
160 * @license    Valid for 1 website (or project) for each purchase of license
161 */
162var PA_GOOGLE_V3_CAPTCHA_SITE_KEY=PA_GOOGLE_V3_CAPTCHA_SITE_KEY||!1;var PA_GOOGLE_V3_POSITION=PA_GOOGLE_V3_POSITION||'bottomright';var PA_GOOGLE_CAPTCHA_THEME=PA_GOOGLE_CAPTCHA_THEME||'light';var PA_TURNSTILE_SITE_KEY=typeof PA_TURNSTILE_SITE_KEY!=='undefined'?PA_TURNSTILE_SITE_KEY:'';var PA_TURNSTILE_THEME=typeof PA_TURNSTILE_THEME!=='undefined'?PA_TURNSTILE_THEME:'';var PA_TURNSTILE_LANGUAGE=typeof PA_TURNSTILE_LANGUAGE!=='undefined'?PA_TURNSTILE_LANGUAGE:'';var turnstileWidgets=typeof turnstileWidgets!=='undefined'?turnstileWidgets:[];var RECAPTCHA_V3_CONSTANTS={INPUT_NAME:'g-recaptcha-response',CLASS_LOADING:'g-loading',CLASS_LOADED:'g-loaded',SCRIPT_ID:'pa-recaptcha-v3',SELECTOR_INPUT:'textarea[name=g-recaptcha-response], input[name=g-recaptcha-response]',SELECTOR_PLACEHOLDER:'[id*=g-recaptcha-response-]',TIMEOUT_SCRIPT_CHECK:150,TIMEOUT_RETRY:800,TIMEOUT_REFRESH:100*1000};var v3_render_clientID={};var func_pa={buildCaptchaParams:function($context){var params='';if(!$context||typeof $context.find!=='function'){return params}
163var gResponse=$context.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_INPUT);var gToken='';if(gResponse.length>0){gResponse.each(function(){if($(this).val()){gToken=$(this).val();return!1}})}
164if(gToken){params+='&'+RECAPTCHA_V3_CONSTANTS.INPUT_NAME+'='+gToken}else{var turnstileField=$context.find('input[name="cf-turnstile-response"], textarea[name="cf-turnstile-response"]');if(turnstileField.length>0){params+='&cf-turnstile-response='+turnstileField.val()}else{var paCaptcha=$context.find('input[name=pa_captcha]');if(paCaptcha.length>0){params+='&pa_captcha='+paCaptcha.val()}}}
165var posTo=$context.find('input[name=posTo]').first();if(posTo.length>0&&posTo.val()){params+='&posTo='+posTo.val()}
166return params},addNotificationCustom:function(productId,productAttributeId){if(typeof productId==='undefined'){var ids=$('div.js-mailalert').find('input[type=hidden]');productId=ids.eq(0).val();productIdAttribute=ids.eq(1).val()}
167var captchaParams=func_pa.buildCaptchaParams($('div.js-mailalert'));$.ajax({type:'POST',url:$('div.js-mailalert').data('url'),data:'id_product='+productId+'&id_product_attribute='+productAttributeId+'&customer_email='+$('div.js-mailalert').find('input[type=email]').val()+(captchaParams?captchaParams:''),success:function(resp){resp=JSON.parse(resp);$('.js-mailalert-alerts').html('<article class="mt-1 alert alert-'+(resp.error?'danger':'success')+'" role="alert" data-alert="'+(resp.error?'error':'success')+'">'+resp.message+'</article>').show();if(!resp.error){$('div.js-mailalert').find('.js-mailalert-add, input[type=email], .gdpr_consent_wrapper, .captcha_out_of_stock').hide()}}});if($('div.js-mailalert img.pa_captcha_img_data').length>0){func_pa.refreshCaptcha($('div.js-mailalert img.pa_captcha_img_data').removeClass('loaded'))}else{func_pa.resetReCaptcha()}
168return!1},addNotification:function(){var evt=window.event||arguments.callee.caller.arguments[0];if(evt&&typeof evt.preventDefault==='function'){evt.preventDefault()}
169var $container=$('div.js-mailalert');if($container.hasClass('submitting')){return!0}
170$container.addClass('submitting');$container.find('button, input[type="submit"]').prop('disabled',!0);var ids=$container.find('input[type=hidden]');var captchaParams=func_pa.buildCaptchaParams($container);$.ajax({type:'POST',url:$container.data('url'),data:'id_product='+ids[0].value+'&id_product_attribute='+ids[1].value+'&customer_email='+$container.find('input[type=email]').val()+(captchaParams?captchaParams:''),success:function(resp){$container.removeClass('submitting');$container.find('button, input[type="submit"]').prop('disabled',!1);resp=JSON.parse(resp);var $msgContainer=$container.find('span');if($msgContainer.length===0){$container.append('<span></span>');$msgContainer=$container.find('span')}
171$msgContainer.html('<article class="alert alert-'+(resp.error?'danger':'success')+'" role="alert" data-alert="'+(resp.error?'error':'success')+'">'+resp.message+'</article>').show();if(!resp.error){$container.find('button, input[type=email], #gdpr_consent, .captcha_out_of_stock').hide()}
172if($('div.js-mailalert input[name=pa_captcha]').length>0){$('div.js-mailalert input[name=pa_captcha]').val('')}},error:function(){$container.removeClass('submitting');$container.find('button, input[type="submit"]').prop('disabled',!1)}});if($('div.js-mailalert img.pa_captcha_img_data').length>0){func_pa.refreshCaptcha($('div.js-mailalert img.pa_captcha_img_data').removeClass('loaded'))}else{func_pa.resetReCaptcha()}
173return!0},addNotification16:function(){if($('#oosHook .gdpr_hook.receive').length>0&&!$('.pa_notify input[name=gdpr_accept]').is(':checked')){$('#pa_mailalert_link').prop('disabled',!0);return!1}
174if($('#pa_oos_customer_email').val()==mailalerts_placeholder||(typeof mailalerts_url_add=='undefined')){return!1}
175var captchaParams=func_pa.buildCaptchaParams($('.pa_notify'));$.ajax({type:'POST',url:mailalerts_url_add,data:'id_product='+id_product+'&id_product_attribute='+$('#idCombination').val()+'&customer_email='+$('#pa_oos_customer_email').val()+(captchaParams?captchaParams:''),success:function(json){if(json=='-1'){$('#pa_oos_customer_email_result').html(mailalerts_captcha_error);$('#pa_oos_customer_email_result').css('color','red').show()}else if(json=='1'){$('#pa_mailalert_link, #pa_oos_customer_email, .pa_notify .page_product').hide();$('#oosHook').find('#gdpr_consent').hide();$('#pa_oos_customer_email_result').html(mailalerts_registered);$('#pa_oos_customer_email_result').css('color','green').show()}else if(json=='2'){$('#pa_oos_customer_email_result').html(mailalerts_already);$('#pa_oos_customer_email_result').css('color','red').show()}else{$('#pa_oos_customer_email_result').html(mailalerts_invalid);$('#pa_oos_customer_email_result').css('color','red').show()}
176if($('.pa_notify input[name=pa_captcha]').length>0){$('.pa_notify input[name=pa_captcha]').val('')}}});if($('.pa_notify img.pa_captcha_img_data').length>0){func_pa.refreshCaptcha($('.pa_notify img.pa_captcha_img_data').removeClass('loaded'))}else{func_pa.resetReCaptcha()}
177return!1},refreshCaptcha:function(img){if(img.length&&!img.hasClass('loaded')){var orgLink=img.attr('src');var orgCode=img.attr('data-rand');var rand=Math.random();img.attr('src',orgLink.replace(orgCode,rand));img.attr('data-rand',rand);if(!img.hasClass('loaded')){img.addClass('loaded')}}},resetReCaptcha:function(){var hasWidgets=(typeof recaptchaWidgets!=="undefined"&&recaptchaWidgets.length);if(typeof grecaptcha!=="undefined"){if(grecaptcha.enterprise){if(typeof grecaptcha.enterprise.reset==='function'&&hasWidgets){for(var j=0;j<recaptchaWidgets.length;
177j++){grecaptcha.enterprise.reset(recaptchaWidgets[j])}}
178if(typeof PA_GOOGLE_SB_ENTERPRISE_KEY_ID!=='undefined'&&PA_GOOGLE_SB_ENTERPRISE_KEY_ID){var action=(document.body&&document.body.id)?document.body.id.replace(/(?=[^A-Za-z_])([^A-Za-z_])/g,'_'):'submit';grecaptcha.enterprise.execute(PA_GOOGLE_SB_ENTERPRISE_KEY_ID,{action:action}).then(function(token){if(token){$('textarea[name=g-recaptcha-response], input[name=g-recaptcha-response]').val(token)}})}}else if(typeof grecaptcha.reset==='function'){if(hasWidgets){for(var i=0;i<recaptchaWidgets.length;i++){grecaptcha.reset(recaptchaWidgets[i])}}else{grecaptcha.reset()}}}
179if(typeof turnstile!=="undefined"&&typeof turnstile.reset==='function'){if(turnstileWidgets&&turnstileWidgets.length){for(var k=0;k<turnstileWidgets.length;k++){try{turnstile.reset(turnstileWidgets[k])}catch(e){}}}else{try{turnstile.reset()}catch(e){}}}},renderTurnstile:function(context){if(typeof etsTurnstileRender==='function'){etsTurnstileRender(context||document)}},loadCaptcha:function(){var img=$('.pa_captcha_img_data:not(.loaded)').first();if(img.length>0){img.load(function(){if(!img.hasClass('loaded')){func_pa.refreshCaptcha(img)}
180if(img[0].complete&&img.hasClass('loaded')){func_pa.loadCaptcha()}}).filter(function(){return this.complete}).load()}},loadReCaptchaV3:function(form){if(!PA_GOOGLE_V3_CAPTCHA_SITE_KEY||!form||form.hasClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADED)||form.hasClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING)){return!1}
181var g_captcha=form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_PLACEHOLDER);if(!g_captcha.length){form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING+' '+RECAPTCHA_V3_CONSTANTS.CLASS_LOADED);return!1}
182form.addClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING);var captchaId=g_captcha[0].id;var action=($('body').attr('id')||'submit').replace(/(?=[^A-Za-z_])([^A-Za-z_])/g,'_');func_pa._ensureReCaptchaScript(function(){func_pa._renderAndExecute(form,captchaId,action)});return!0},_ensureReCaptchaScript:function(callback){if(typeof window.grecaptcha!=='undefined'&&typeof window.grecaptcha.ready==='function'&&typeof window.grecaptcha.render==='function'){callback();return}
183if(!document.getElementById(RECAPTCHA_V3_CONSTANTS.SCRIPT_ID)){var s=document.createElement('script');s.id=RECAPTCHA_V3_CONSTANTS.SCRIPT_ID;s.async=!0;s.defer=!0;s.src='https://www.google.com/recaptcha/api.js?render='+encodeURIComponent(PA_GOOGLE_V3_CAPTCHA_SITE_KEY);s.onerror=function(){$('.'+RECAPTCHA_V3_CONSTANTS.CLASS_LOADING).removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING)};document.head.appendChild(s)}
184setTimeout(function(){func_pa._ensureReCaptchaScript(callback)},RECAPTCHA_V3_CONSTANTS.TIMEOUT_SCRIPT_CHECK)},_renderAndExecute:function(form,captchaId,action){var clientId=v3_render_clientID[captchaId];if(typeof clientId==='undefined'){try{clientId=grecaptcha.render(captchaId,{sitekey:PA_GOOGLE_V3_CAPTCHA_SITE_KEY,badge:PA_GOOGLE_V3_POSITION,size:'invisible',theme:PA_GOOGLE_CAPTCHA_THEME});v3_render_clientID[captchaId]=clientId}catch(e){console.error('ReCaptcha render error:',e);return}}
185grecaptcha.ready(function(){grecaptcha.execute(clientId,{action:action}).then(function(token){func_pa._handleTokenSuccess(form,token)}).catch(function(err){console.error('ReCaptcha execute error:',err);form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING);setTimeout(function(){func_pa.loadReCaptchaV3(form)},RECAPTCHA_V3_CONSTANTS.TIMEOUT_RETRY)})})},_handleTokenSuccess:function(form,token){if(!token)return;var gResponse=form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_INPUT);if(gResponse.length>0){gResponse.val(token)}else{var g_captcha=form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_PLACEHOLDER);if(g_captcha.length){g_captcha.append('<input type="hidden" name="'+RECAPTCHA_V3_CONSTANTS.INPUT_NAME+'" value="'+token+'"/>')}}
186form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADING).addClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADED);if(form.data('g-timeout')){clearTimeout(form.data('g-timeout'))}
187var timeoutID=setTimeout(function(){if(form.length&&document.body.contains(form[0])){form.removeClass(RECAPTCHA_V3_CONSTANTS.CLASS_LOADED);func_pa.loadReCaptchaV3(form)}},RECAPTCHA_V3_CONSTANTS.TIMEOUT_REFRESH);form.data('g-timeout',timeoutID)},};var FORCE_RECAPTCHA_FORMS=[];$(document).ready(function(){if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){var delayIndex=0;$('form:not(.'+RECAPTCHA_V3_CONSTANTS.CLASS_LOADED+'):not(.'+RECAPTCHA_V3_CONSTANTS.CLASS_LOADING+')').each(function(){var $form=$(this);var hasPlaceholder=$form.find(RECAPTCHA_V3_CONSTANTS.SELECTOR_PLACEHOLDER).length>0;var isForced=FORCE_RECAPTCHA_FORMS.some(function(sel){return $form.is(sel)});if(!hasPlaceholder&&!isForced){return}
188if(!hasPlaceholder&&isForced){$form.append('<div id="'+RECAPTCHA_V3_CONSTANTS.INPUT_NAME+'-'+Math.random().toString(36).slice(2)+'"></div>')}
189setTimeout(function(){func_pa.loadReCaptchaV3($form)},delayIndex*300);delayIndex++})}
190func_pa.renderTurnstile(document);$('.pa_captcha_img_data.loaded').removeClass('loaded');$(document).on('click','.js-mailalert-add-custom',function(e){e.preventDefault();func_pa.addNotificationCustom($(this).data('product'),$(this).data('product-attribute'))});$(document).on('click','#pa_captcha_refesh',function(e){e.preventDefault();func_pa.refreshCaptcha($(this).parents('.pa_captcha_img').find('.pa_captcha_img_data').removeClass('loaded'));$(this).parents('.pa-captcha-inf').find('input[name=pa_captcha]').val('')});$(document).on('keypress','#pa_oos_customer_email',function(e){if(e.keyCode==13){e.preventDefault();func_pa.addNotification16()}});$('email-subscription .form[action*=blockEmailSubscription]').on('submit',function(event){event.preventDefault();var psemailsubscriptionForm=$(this);if(typeof psemailsubscription_subscription==='undefined'){return!0}
191$('.block_newsletter_alert').remove();$.ajax({type:'POST',dataType:'JSON',url:psemailsubscription_subscription,cache:!1,data:$(this).serialize(),success:function(data){if(data.nw_error){psemailsubscriptionForm.prepend('<p class="alert alert-danger block_newsletter_alert">
191'+data.msg+'</p>')}else{psemailsubscriptionForm.prepend('<p class="alert alert-success block_newsletter_alert">'+data.msg+'</p>')}},error:function(err){console.log(err)}});return!1})});document.addEventListener("DOMContentLoaded",function(event){if($('.forgot-password').length>0&&$('.login.page_order').length>0&&$('#login-form .login.page_order').length<=0){$('.forgot-password').before($('.login.page_order').clone(!0).addClass('copy'));$('.login.page_order:not(.copy)').detach()}else if($('.cart-grid-right .login.page_order').length>0){$('.cart-grid-right .login.page_order').detach()}else{$('.login.page_order:not(#login-form .login.page_order)').detach()}
192if($('.pa_captcha_img_data').length>1){func_pa.loadCaptcha()}});$(document).ajaxComplete(function(event,xhr,options){func_pa.renderTurnstile(document);if($('.quickview').length&&typeof ets_captcha_load!=="undefined"){ets_captcha_load($('.quickview'));return}
193var data=options&&options.data;var dataStr=Array.isArray(data)?data.join('&'):(typeof data==='string'?data:'');if(dataStr&&$('body#authentication').length&&dataStr.indexOf('SubmitCreate')!==-1){var elapsed=0,step=150;var intervalSet=setInterval(function(){elapsed+=step;if(!$('#account-creation_form').hasClass('g-loaded')){if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){func_pa.loadReCaptchaV3($('#account-creation_form'))}else if(typeof ets_captcha_load!=="undefined"){ets_captcha_load($('#account-creation_form').addClass('g-loaded'))}}
194if(elapsed>step*10||$('#account-creation_form').hasClass('g-loaded')){clearInterval(intervalSet)}},step);return}
195if(dataStr&&($('body#order-opc').length||$('body#orderopc').length)&&$('[name=g-recaptcha-response]').length&&dataStr.indexOf('submitAccount')!==-1){if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){var $orderForm=$('form#new_account_form');if($orderForm.length){func_pa.loadReCaptchaV3($orderForm.removeClass('g-loaded'))}}else if(typeof grecaptcha!=="undefined"){func_pa.resetReCaptcha()}
196return}
197if(dataStr&&dataStr.indexOf('g-recaptcha-response')!==-1&&options.url&&options.url.indexOf('subscription')!==-1){var $form=$("form[action*=EmailSubscription]");if($form.length&&PA_GOOGLE_V3_CAPTCHA_SITE_KEY){var g_captcha=$form.find('[id*=g-recaptcha-response-]');if(g_captcha.length&&v3_render_clientID[g_captcha[0].id]){var bodyId=($('body').attr('id')||'submit').replace(/(?=[^A-Za-z_])([^A-Za-z_])/g,'_');grecaptcha.reset(v3_render_clientID[g_captcha[0].id]);grecaptcha.execute(v3_render_clientID[g_captcha[0].id],{action:bodyId}).then(function(token){if(token){var existing=g_captcha.find('input[name=g-recaptcha-response]');if(existing.length){existing.val(token)}else{g_captcha.append('<input type="hidden" name="g-recaptcha-response" value="'+token+'"/>')}
198$form.addClass('g-loaded')}})}}else if(typeof grecaptcha!=="undefined"){func_pa.resetReCaptcha()}
199return}
200if(xhr&&xhr.responseJSON&&xhr.responseJSON.product_additional_info){var $img=$('div.js-mailalert img.pa_captcha_img_data');if($img.length){func_pa.refreshCaptcha($img.removeClass('loaded'))}else if(PA_GOOGLE_V3_CAPTCHA_SITE_KEY){func_pa.loadReCaptchaV3($('form:not(.g-loaded)'))}else if(typeof ets_captcha_load!=="undefined"){ets_captcha_load(document.getElementsByTagName('form'))}}});$(document).ready(function(){if($('input[name="captcha"]').closest('.form-group').length&&$('.captcha_register').length){var div_clone=$('input[name="captcha"]').closest('.form-group').clone();$('input[name="captcha"]').closest('.form-group').hide();$('.captcha_register.register').after(div_clone)}});
201/*!
202* FitVids 1.1
203*
204* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
205* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
206* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
207*
208*/
209(function($){"use strict";$.fn.fitVids=function(options){var settings={customSelector:null,ignore:null,};if(!document.getElementById('fit-vids-style')){var head=document.head||document.getElementsByTagName('head')[0];var css='.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';var div=document.createElement('div');div.innerHTML='<p>x</p><style id="fit-vids-style">'+css+'</style>';head.appendChild(div.childNodes[1])}
210if(options){$.extend(settings,options)}
211return this.each(function(){var selectors=["iframe[src*='player.vimeo.com']","iframe[src*='youtube.com']","iframe[src*='youtube-nocookie.com']","iframe[src*='kickstarter.com'][src*='video.html']","object","embed"];if(settings.customSelector){selectors.push(settings.customSelector)}
212var ignoreList='.fitvidsignore';if(settings.ignore){ignoreList=ignoreList+', '+settings.ignore}
213var $allVideos=$(this).find(selectors.join(','));$allVideos=$allVideos.not("object object");$allVideos=$allVideos.not(ignoreList);$allVideos.each(function(){var $this=$(this);if($this.parents(ignoreList).length>0){return}
214if(this.tagName.toLowerCase()==='embed'&&$this.parent('object').length||$this.parent('.fluid-width-video-wrapper').length){return}
215if((!$this.css('height')&&!$this.css('width'))&&(isNaN($this.attr('height'))||isNaN($this.attr('width')))){$this.attr('height',9);$this.attr('width',16)}
216var height=(this.tagName.toLowerCase()==='object'||($this.attr('height')&&!isNaN(parseInt($this.attr('height'),10))))?parseInt($this.attr('height'),10):$this.height(),width=!isNaN(parseInt($this.attr('width'),10))?parseInt($this.attr('width'),10):$this.width(),aspectRatio=height/width;if(!$this.attr('id')){var videoID='fitvid'+Math.floor(Math.random()*999999);$this.attr('id',videoID)}
217$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top',(aspectRatio*100)+"%");$this.removeAttr('height').removeAttr('width')})})}})(window.jQuery||window.Zepto);/**
218 * PrestaShop module created by VEKIA, a guy from official PrestaShop community ;-)
219 *
220 * @author    VEKIA PL MILOSZ MYSZCZUK VATEU: PL9730945634
221 * @copyright 2010-2025 VEKIA
222 * @license   This program is not free software and you can't resell and redistribute it
223 *
224 * CONTACT WITH DEVELOPER
225 * [email protected]
226 */
227$(document).ready(function(){if(prestashop.page.page_name=='cart'){prestashop.on('updatedCart',function(event){$.ajax({type:"POST",url:myprestaloyaltyurl,success:function(data){$('#loylalty_cart_parent').html(data)}})});prestashop.emit('updatedCart')}});/**
228* 2014-2024 Presta-Mod.pl Rafał Zontek
229*
230* NOTICE OF LICENSE
231*
232* Poniższy kod jest kodem płatnym, rozpowszechanie bez pisemnej zgody autora zabronione
233* Moduł można zakupić na stronie Presta-Mod.pl. Modyfikacja kodu jest zabroniona,
234* wszelkie modyfikacje powodują utratę gwarancji
235*
236* http://presta-mod.pl
237*
238* DISCLAIMER
239*
240*
241*  @author    Presta-Mod.pl Rafał Zontek <[email protected]>
242*  @copyright 2014-2024 Presta-Mod.pl
243*  @license   Licecnja na jedną domenę
244*  Presta-Mod.pl Rafał Zontek
245*/
246if(typeof jQuery==='undefined'){throw new Error('jquery-confirm requires jQuery')}
247var jconfirm,Jconfirm;(function($,window){"use strict";$.fn.confirm=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1}}
248$(this).each(function(){var $this=$(this);if($this.attr('jc-attached')){console.warn('jConfirm has already been attached to this element ',$this[0]);return}
249$this.on('click',function(e){e.preventDefault();var jcOption=$.extend({},options);if($this.attr('data-title'))
250jcOption.title=$this.attr('data-title');if($this.attr('data-content'))
251jcOption.content=$this.attr('data-content');if(typeof jcOption.buttons=='undefined')
252jcOption.buttons={};jcOption['$target']=$this;if($this.attr('href')&&Object.keys(jcOption.buttons).length==0){var buttons=$.extend(!0,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];jcOption.buttons=buttons;jcOption.buttons[firstBtn].action=function(){location.href=$this.attr('href')}}
253jcOption.closeIcon=!1;var instance=$.confirm(jcOption)});$this.attr('jc-attached',!0)});return $(this)};$.confirm=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1}}
254if(typeof options.buttons!='object')
255options.buttons={};if(Object.keys(options.buttons).length==0){var buttons=$.extend(!0,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});options.buttons=buttons}
256return jconfirm(options)};$.alert=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1}}
257if(typeof options.buttons!='object')
258options.buttons={};if(Object.keys(options.buttons).length==0){var buttons=$.extend(!0,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];options.buttons[firstBtn]=buttons[firstBtn]}
259return jconfirm(options)};$.dialog=function(options,option2){if(typeof options==='undefined')options={};if(typeof options==='string'){options={content:options,title:(option2)?option2:!1,closeIcon:function(){}}}
260options.buttons={};if(typeof options.closeIcon=='undefined'){options.closeIcon=function(){}}
261options.confirmKeys=[13];return jconfirm(options)};jconfirm=function(options){if(typeof options==='undefined')options={};var pluginOptions=$.extend(!0,{},jconfirm.pluginDefaults);if(jconfirm.defaults){pluginOptions=$.extend(!0,pluginOptions,jconfirm.defaults)}
262pluginOptions=$.extend(!0,{},pluginOptions,options);var instance=new Jconfirm(pluginOptions);jconfirm.instances.push(instance);return instance};Jconfirm=function(options){$.extend(this,options);this._init()};Jconfirm.prototype={_init:function(){var that=this;if(!jconfirm.instances.length)
263jconfirm.lastFocused=$('body').find(':focus');this._id=Math.round(Math.random()*99999);this.contentParsed=$(document.createElement('div'));if(!this.lazyOpen){setTimeout(function(){that.open()},0)}},_buildHTML:function(){var that=this;this._parseAnimation(this.animation,'o');this._parseAnimation(this.closeAnimation,'c');this._parseBgDismissAnimation(this.backgroundDismissAnimation);this._parseColumnClass(this.columnClass);this._parseTheme(this.theme);this._parseType(this.type);var template=$(this.template);template.find('.jconfirm-box').addClass(this.animationParsed).addClass(this.backgroundDismissAnimationParsed).addClass(this.typeParsed);
263if(this.typeAnimated)
264template.find('.jconfirm-box').addClass('jconfirm-type-animated');if(this.useBootstrap){template.find('.jc-bs3-row').addClass(this.bootstrapClasses.row);template.find('.jc-bs3-row').addClass('justify-content-md-center justify-content-sm-center justify-content-xs-center justify-content-lg-center');template.find('.jconfirm-box-container').addClass(this.columnClassParsed);if(this.containerFluid)
265template.find('.jc-bs3-container').addClass(this.bootstrapClasses.containerFluid);else template.find('.jc-bs3-container').addClass(this.bootstrapClasses.container)}else{template.find('.jconfirm-box').css('width',this.boxWidth)}
266if(this.titleClass)
267template.find('.jconfirm-title-c').addClass(this.titleClass);template.addClass(this.themeParsed);var ariaLabel='jconfirm-box'+this._id;template.find('.jconfirm-box').attr('aria-labelledby',ariaLabel).attr('tabindex',-1);template.find('.jconfirm-content').attr('id',ariaLabel);if(this.bgOpacity!==null)
268template.find('.jconfirm-bg').css('opacity',this.bgOpacity);if(this.rtl)
269template.addClass('jconfirm-rtl');this.$el=template.appendTo(this.container);this.$jconfirmBoxContainer=this.$el.find('.jconfirm-box-container');this.$jconfirmBox=this.$body=this.$el.find('.jconfirm-box');this.$jconfirmBg=this.$el.find('.jconfirm-bg');this.$title=this.$el.find('.jconfirm-title');this.$titleContainer=this.$el.find('.jconfirm-title-c');this.$content=this.$el.find('div.jconfirm-content');this.$contentPane=this.$el.find('.jconfirm-content-pane');this.$icon=this.$el.find('.jconfirm-icon-c');this.$closeIcon=this.$el.find('.jconfirm-closeIcon');this.$holder=this.$el.find('.jconfirm-holder');this.$btnc=this.$el.find('.jconfirm-buttons');this.$scrollPane=this.$el.find('.jconfirm-scrollpane');that.setStartingPoint();this._contentReady=$.Deferred();this._modalReady=$.Deferred();this.$holder.css({'padding-top':this.offsetTop,'padding-bottom':this.offsetBottom,});this.setTitle();this.setIcon();this._setButtons();this._parseContent();this.initDraggable();if(this.isAjax)
270this.showLoading(!1);$.when(this._contentReady,this._modalReady).then(function(){if(that.isAjaxLoading)
271setTimeout(function(){that.isAjaxLoading=!1;that.setContent();that.setTitle();that.setIcon();setTimeout(function(){that.hideLoading(!1);that._updateContentMaxHeight()},100);if(typeof that.onContentReady==='function')
272that.onContentReady()},50);else{that._updateContentMaxHeight();that.setTitle();that.setIcon();if(typeof that.onContentReady==='function')
273that.onContentReady()}
274if(that.autoClose)
275that._startCountDown()});this._watchContent();if(this.animation==='none'){this.animationSpeed=1;this.animationBounce=1}
276this.$body.css(this._getCSS(this.animationSpeed,this.animationBounce));this.$contentPane.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBg.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBoxContainer.css(this._getCSS(this.animationSpeed,1))},_typePrefix:'jconfirm-type-',typeParsed:'',_parseType:function(type){this.typeParsed=this._typePrefix+type},setType:function(type){var oldClass=this.typeParsed;this._parseType(type);this.$jconfirmBox.removeClass(oldClass).addClass(this.typeParsed)},themeParsed:'',_themePrefix:'jconfirm-',setTheme:function(theme){var previous=this.theme;this.theme=theme||this.theme;this._parseTheme(this.theme);if(previous)
277this.$el.removeClass(previous);this.$el.addClass(this.themeParsed);this.theme=theme},_parseTheme:function(theme){var that=this;theme=theme.split(',');$.each(theme,function(k,a){if(a.indexOf(that._themePrefix)===-1)
278theme[k]=that._themePrefix+$.trim(a)});this.themeParsed=theme.join(' ').toLowerCase()},backgroundDismissAnimationParsed:'',_bgDismissPrefix:'jconfirm-hilight-',_parseBgDismissAnimation:function(bgDismissAnimation){var animation=bgDismissAnimation.split(',');var that=this;$.each(animation,function(k,a){if(a.indexOf(that._bgDismissPrefix)===-1)
279animation[k]=that._bgDismissPrefix+$.trim(a)});this.backgroundDismissAnimationParsed=animation.join(' ').toLowerCase()},animationParsed:'',closeAnimationParsed:'',_animationPrefix:'jconfirm-animation-',setAnimation:function(animation){this.animation=animation||this.animation;this._parseAnimation(this.animation,'o')},_parseAnimation:function(animation,which){which=which||'o';var animations=animation.split(',');var that=this;$.each(animations,function(k,a){if(a.indexOf(that._animationPrefix)===-1)
280animations[k]=that._animationPrefix+$.trim(a)});var a_string=animations.join(' ').toLowerCase();if(which==='o')
281this.animationParsed=a_string;else this.closeAnimationParsed=a_string;return a_string},setCloseAnimation:function(closeAnimation){this.closeAnimation=closeAnimation||this.closeAnimation;this._parseAnimation(this.closeAnimation,'c')},setAnimationSpeed:function(speed){this.animationSpeed=speed||this.animationSpeed},columnClassParsed:'',setColumnClass:function(colClass){if(!this.useBootstrap){console.warn("cannot set columnClass, useBootstrap is set to false");return}
282this.columnClass=colClass||this.columnClass;this._parseColumnClass(this.columnClass);this.$jconfirmBoxContainer.addClass(this.columnClassParsed)},_updateContentMaxHeight:function(){var height=$(window).height()-(this.$jconfirmBox.outerHeight()-this.$contentPane.outerHeight())-(this.offsetTop+this.offsetBottom);this.$contentPane.css({'max-height':height+'px'})},setBoxWidth:function(width){if(this.useBootstrap){console.warn("cannot set boxWidth, useBootstrap is set to true");return}
283this.boxWidth=width;this.$jconfirmBox.css('width',width)},_parseColumnClass:function(colClass){colClass=colClass.toLowerCase();var p;switch(colClass){case 'xl':case 'xlarge':p='col-md-12';break;case 'l':case 'large':p='col-md-8 col-md-offset-2';break;case 'm':case 'medium':p='col-md-6 col-md-offset-3';break;case 's':case 'small':p='col-md-4 col-md-offset-4';break;case 'xs':case 'xsmall':p='col-md-2 col-md-offset-5';break;default:p=colClass}
284this.columnClassParsed=p},initDraggable:function(){var that=this;var $t=this.$titleContainer;this.resetDrag();if(this.draggable){$t.on('mousedown',function(e){$t.addClass('jconfirm-hand');that.mouseX=e.clientX;that.mouseY=e.clientY;that.isDrag=!0});$(window).on('mousemove.'+this._id,function(e){if(that.isDrag){that.movingX=e.clientX-that.mouseX+that.initialX;that.movingY=e.clientY-that.mouseY+that.initialY;that.setDrag()}});$(window).on('mouseup.'+this._id,function(){$t.removeClass('jconfirm-hand');if(that.isDrag){that.isDrag=!1;that.initialX=that.movingX;that.initialY=that.movingY}})}},resetDrag:function(){this.isDrag=!1;this.initialX=0;this.initialY=0;this.movingX=0;this.movingY=0;this.mouseX=0;this.mouseY=0;this.$jconfirmBoxContainer.css('transform','translate('+0+'px, '+0+'px)')},setDrag:function(){if(!this.draggable)
285return;this.alignMiddle=!1;var boxWidth=this.$jconfirmBox.outerWidth();var boxHeight=this.$jconfirmBox.outerHeight();var windowWidth=$(window).width();var windowHeight=$(window).height();var that=this;var dragUpdate=1;if(that.movingX%dragUpdate===0||that.movingY%dragUpdate===0){if(that.dragWindowBorder){var leftDistance=(windowWidth/2)-boxWidth/2;var topDistance=(windowHeight/2)-boxHeight/2;topDistance-=that.dragWindowGap;leftDistance-=that.dragWindowGap;if(leftDistance+that.movingX<0){that.movingX=-leftDistance}else if(leftDistance-that.movingX<0){that.movingX=leftDistance}
286if(topDistance+that.movingY<0){that.movingY=-topDistance}else if(topDistance-that.movingY<0){that.movingY=topDistance}}
287that.$jconfirmBoxContainer.css('transform','translate('+that.movingX+'px, '+that.movingY+'px)')}},_scrollTop:function(){if(typeof pageYOffset!=='undefined'){return pageYOffset}else{var B=document.body;var D=document.documentElement;D=(D.clientHeight)?D:B;return D.scrollTop}},_watchContent:function(){var that=this;if(this._timer)clearInterval(this._timer);var prevContentHeight=0;this._timer=setInterval(function(){if(that.smoothContent){var contentHeight=that.$content.outerHeight()||0;if(contentHeight!==prevContentHeight){that.$contentPane.css({'height':contentHeight}).scrollTop(0);prevContentHeight=contentHeight}
288var wh=$(window).height();var total=that.offsetTop+that.offsetBottom+that.$jconfirmBox.height()-that.$contentPane.height()+that.$content.height();if(total<wh){that.$contentPane.addClass('no-scroll')}else{that.$contentPane.removeClass('no-scroll')}}},this.watchInterval)},_overflowClass:'jconfirm-overflow',_hilightAnimating:!1,highlight:function(){this.hiLightModal()},hiLightModal:function(){var that=this;if(this._hilightAnimating)
289return;that.$body.addClass('hilight');var duration=parseFloat(that.$body.css('animation-duration'))||2;this._hilightAnimating=!0;setTimeout(function(){that._hilightAnimating=!1;that.$body.removeClass('hilight')},duration*1000)},_bindEvents:function(){var that=this;this.boxClicked=!1;this.$scrollPane.click(function(e){if(!that.boxClicked){var buttonName=!1;
289var shouldClose=!1;var str;if(typeof that.backgroundDismiss=='function')
290str=that.backgroundDismiss();else str=that.backgroundDismiss;if(typeof str=='string'&&typeof that.buttons[str]!='undefined'){buttonName=str;shouldClose=!1}else if(typeof str=='undefined'||!!(str)==!0){shouldClose=!0}else{shouldClose=!1}
291if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=='undefined')||!!(btnResponse)}
292if(shouldClose)
293that.close();else that.hiLightModal()}
294that.boxClicked=!1});this.$jconfirmBox.click(function(e){that.boxClicked=!0});var isKeyDown=!1;$(window).on('jcKeyDown.'+that._id,function(e){if(!isKeyDown){isKeyDown=!0}});$(window).on('keyup.'+that._id,function(e){if(isKeyDown){that.reactOnKey(e);isKeyDown=!1}});$(window).on('resize.'+this._id,function(){that._updateContentMaxHeight();setTimeout(function(){that.resetDrag()},100)})},_cubic_bezier:'0.36, 0.55, 0.19',_getCSS:function(speed,bounce){return{'-webkit-transition-duration':speed/1000+'s','transition-duration':speed/1000+'s','-webkit-transition-timing-function':'cubic-bezier('+this._cubic_bezier+', '+bounce+')','transition-timing-function':'cubic-bezier('+this._cubic_bezier+', '+bounce+')'}},_setButtons:function(){var that=this;var total_buttons=0;if(typeof this.buttons!=='object')
295this.buttons={};$.each(this.buttons,function(key,button){total_buttons+=1;if(typeof button==='function'){that.buttons[key]=button={action:button}}
296that.buttons[key].text=button.text||key;that.buttons[key].btnClass=button.btnClass||'btn-default';that.buttons[key].action=button.action||function(){};that.buttons[key].keys=button.keys||[];that.buttons[key].isHidden=button.isHidden||!1;that.buttons[key].isDisabled=button.isDisabled||!1;$.each(that.buttons[key].keys,function(i,a){that.buttons[key].keys[i]=a.toLowerCase()});var button_element=$('<button type="button" class="btn"></button>').html(that.buttons[key].text).addClass(that.buttons[key].btnClass).prop('disabled',that.buttons[key].isDisabled).css('display',that.buttons[key].isHidden?'none':'').click(function(e){e.preventDefault();var res=that.buttons[key].action.apply(that,[that.buttons[key]]);that.onAction.apply(that,[key,that.buttons[key]]);that._stopCountDown();if(typeof res==='undefined'||res)
297that.close()});that.buttons[key].el=button_element;that.buttons[key].setText=function(text){button_element.html(text)};that.buttons[key].addClass=function(className){button_element.addClass(className)};that.buttons[key].removeClass=function(className){button_element.removeClass(className)};that.buttons[key].disable=function(){that.buttons[key].isDisabled=!0;button_element.prop('disabled',!0)};that.buttons[key].enable=function(){that.buttons[key].isDisabled=!1;button_element.prop('disabled',!1)};that.buttons[key].show=function(){that.buttons[key].isHidden=!1;button_element.css('display','')};that.buttons[key].hide=function(){that.buttons[key].isHidden=!0;button_element.css('display','none')};that['$_'+key]=that['$$'+key]=button_element;that.$btnc.append(button_element)});if(total_buttons===0)this.$btnc.hide();if(this.closeIcon===null&&total_buttons===0){this.closeIcon=!0}
298if(this.closeIcon){if(this.closeIconClass){var closeHtml='<i class="'+this.closeIconClass+'"></i>';this.$closeIcon.html(closeHtml)}
299this.$closeIcon.click(function(e){e.preventDefault();var buttonName=!1;var shouldClose=!1;var str;if(typeof that.closeIcon=='function'){str=that.closeIcon()}else{str=that.closeIcon}
300if(typeof str=='string'&&typeof that.buttons[str]!='undefined'){buttonName=str;shouldClose=!1}else if(typeof str=='undefined'||!!(str)==!0){shouldClose=!0}else{shouldClose=!1}
301if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=='undefined')||!!(btnResponse)}
302if(shouldClose){that.close()}});this.$closeIcon.show()}else{this.$closeIcon.hide()}},setTitle:function(string,force){force=force||!1;if(typeof string!=='undefined')
303if(typeof string=='string')
304this.title=string;else if(typeof string=='function'){if(typeof string.promise=='function')
305console.error('Promise was returned from title function, this is not supported.');var response=string();
305if(typeof response=='string')
306this.title=response;else this.title=!1}else this.title=!1;if(this.isAjaxLoading&&!force)
307return;this.$title.html(this.title||'');this.updateTitleContainer()},setIcon:function(iconClass,force){force=force||!1;if(typeof iconClass!=='undefined')
308if(typeof iconClass=='string')
309this.icon=iconClass;else if(typeof iconClass==='function'){var response=iconClass();if(typeof response=='string')
310this.icon=response;else this.icon=!1}else this.icon=!1;if(this.isAjaxLoading&&!force)
311return;this.$icon.html(this.icon?'<i class="'+this.icon+'"></i>':'');this.updateTitleContainer()},updateTitleContainer:function(){if(!this.title&&!this.icon){this.$titleContainer.hide()}else{this.$titleContainer.show()}},setContentPrepend:function(content,force){if(!content)
312return;this.contentParsed.prepend(content)},setContentAppend:function(content){if(!content)
313return;this.contentParsed.append(content)},setContent:function(content,force){force=!!force;var that=this;if(content)
314this.contentParsed.html('').append(content);if(this.isAjaxLoading&&!force)
315return;this.$content.html('');this.$content.append(this.contentParsed);setTimeout(function(){that.$body.find('input[autofocus]:visible:first').focus()},100)},loadingSpinner:!1,showLoading:function(disableButtons){this.loadingSpinner=!0;this.$jconfirmBox.addClass('loading');if(disableButtons)
316this.$btnc.find('button').prop('disabled',!0)},hideLoading:function(enableButtons){this.loadingSpinner=!1;this.$jconfirmBox.removeClass('loading');if(enableButtons)
317this.$btnc.find('button').prop('disabled',!1)},ajaxResponse:!1,contentParsed:'',isAjax:!1,isAjaxLoading:!1,_parseContent:function(){var that=this;var e='&nbsp;';if(typeof this.content=='function'){var res=this.content.apply(this);if(typeof res=='string'){this.content=res}
317else if(typeof res=='object'&&typeof res.always=='function'){this.isAjax=!0;this.isAjaxLoading=!0;res.always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=='function')
318that.contentLoaded(data,status,xhr)});this.content=e}else{this.content=e}}
319if(typeof this.content=='string'&&this.content.substr(0,4).toLowerCase()==='url:'){this.isAjax=!0;this.isAjaxLoading=!0;var u=this.content.substring(4,this.content.length);$.get(u).done(function(html){that.contentParsed.html(html)}).always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=='function')
320that.contentLoaded(data,status,xhr)})}
321if(!this.content)
322this.content=e;if(!this.isAjax){this.contentParsed.html(this.content);this.setContent();that._contentReady.resolve()}},_stopCountDown:function(){clearInterval(this.autoCloseInterval);if(this.$cd)
323this.$cd.remove()},_startCountDown:function(){var that=this;var opt=this.autoClose.split('|');if(opt.length!==2){console.error('Invalid option for autoClose. example \'close|10000\'');return!1}
324var button_key=opt[0];var time=parseInt(opt[1]);if(typeof this.buttons[button_key]==='undefined'){console.error('Invalid button key \''+button_key+'\' for autoClose');return!1}
325var seconds=Math.ceil(time/1000);this.$cd=$('<span class="countdown"> ('+seconds+')</span>').appendTo(this['$_'+button_key]);this.autoCloseInterval=setInterval(function(){that.$cd.html(' ('+(seconds-=1)+') ');if(seconds<=0){that['$$'+button_key].trigger('click');that._stopCountDown()}},1000)},_getKey:function(key){switch(key){case 192:return'tilde';case 13:return'enter';case 16:return'shift';case 9:return'tab';case 20:return'capslock';case 17:return'ctrl';case 91:return'win';case 18:return'alt';case 27:return'esc';case 32:return'space'}
326var initial=String.fromCharCode(key);if(/^[A-z0-9]+$/.test(initial))
327return initial.toLowerCase();else return!1},reactOnKey:function(e){var that=this;var a=$('.jconfirm');if(a.eq(a.length-1)[0]!==this.$el[0])
328return!1;var key=e.which;if(this.$content.find(':input').is(':focus')&&/13|32/.test(key))
329return!1;var keyChar=this._getKey(key);if(keyChar==='esc'&&this.escapeKey){if(this.escapeKey===!0){this.$scrollPane.trigger('click')}else if(typeof this.escapeKey==='string'||typeof this.escapeKey==='function'){var buttonKey;if(typeof this.escapeKey==='function'){buttonKey=this.escapeKey()}else{buttonKey=this.escapeKey}
330if(buttonKey)
331if(typeof this.buttons[buttonKey]==='undefined'){console.warn('Invalid escapeKey, no buttons found with key '+buttonKey)}else{this['$_'+buttonKey].trigger('click')}}}
332$.each(this.buttons,function(key,button){if(button.keys.indexOf(keyChar)!=-1){that['$_'+key].trigger('click')}})},setDialogCenter:function(){console.info('setDialogCenter is deprecated, dialogs are centered with CSS3 tables')},_unwatchContent:function(){clearInterval(this._timer)},close:function(){var that=this;if(typeof this.onClose==='function')
333this.onClose();this._unwatchContent();$(window).unbind('resize.'+this._id);$(window).unbind('keyup.'+this._id);$(window).unbind('jcKeyDown.'+this._id);if(this.draggable){$(window).unbind('mousemove.'+this._id);$(window).unbind('mouseup.'+this._id);this.$titleContainer.unbind('mousedown')}
334that.$el.removeClass(that.loadedClass);$('body').removeClass('jconfirm-no-scroll-'+that._id);that.$jconfirmBoxContainer.removeClass('jconfirm-no-transition');setTimeout(function(){that.$body.addClass(that.closeAnimationParsed);that.$jconfirmBg.addClass('jconfirm-bg-h');var closeTimer=(that.closeAnimation==='none')?1:that.animationSpeed;setTimeout(function(){that.$el.remove();var l=jconfirm.instances;var i=jconfirm.instances.length-1;for(i;i>=0;i--){if(jconfirm.instances[i]._id===that._id){jconfirm.instances.splice(i,1)}}
335if(!jconfirm.instances.length){if(that.scrollToPreviousElement&&jconfirm.lastFocused&&jconfirm.lastFocused.length&&$.contains(document,jconfirm.lastFocused[0])){var $lf=jconfirm.lastFocused;if(that.scrollToPreviousElementAnimate){var st=$(window).scrollTop();var ot=jconfirm.lastFocused.offset().top;var wh=$(window).height();if(!(ot>st&&ot<(st+wh))){var scrollTo=(ot-Math.round((wh/3)));$('html, body').animate({scrollTop:scrollTo},that.animationSpeed,'swing',function(){$lf.focus()})}else{$lf.focus()}}else{$lf.focus()}
336jconfirm.lastFocused=!1}}
337if(typeof that.onDestroy==='function')
338that.onDestroy()},closeTimer*0.40)},50);return!0},open:function(){if(this.isOpen())
339return!1;this._buildHTML();this._bindEvents();this._open();return!0},setStartingPoint:function(){var el=!1;if(this.animateFromElement!==!0&&this.animateFromElement){el=this.animateFromElement;jconfirm.lastClicked=!1}else if(jconfirm.lastClicked&&this.animateFromElement===!0){el=jconfirm.lastClicked;jconfirm.lastClicked=!1}else{return!1}
340if(!el)
341return!1;var offset=el.offset();var iTop=el.outerHeight()/2;var iLeft=el.outerWidth()/2;iTop-=this.$jconfirmBox.outerHeight()/2;iLeft-=this.$jconfirmBox.outerWidth()/2;var sourceTop=offset.top+iTop;sourceTop=sourceTop-this._scrollTop();var sourceLeft=offset.left+iLeft;var wh=$(window).height()/2;var ww=$(window).width()/2;var targetH=wh-this.$jconfirmBox.outerHeight()/2;var targetW=ww-this.$jconfirmBox.outerWidth()/2;sourceTop-=targetH;sourceLeft-=targetW;if(Math.abs(sourceTop)>wh||Math.abs(sourceLeft)>ww)
342return!1;this.$jconfirmBoxContainer.css('transform','translate('+sourceLeft+'px, '+sourceTop+'px)')},_open:function(){var that=this;if(typeof that.onOpenBefore==='function')
343that.onOpenBefore();this.$body.removeClass(this.animationParsed);
343this.$jconfirmBg.removeClass('jconfirm-bg-h');this.$body.focus();that.$jconfirmBoxContainer.css('transform','translate('+0+'px, '+0+'px)');setTimeout(function(){that.$body.css(that._getCSS(that.animationSpeed,1));that.$body.css({'transition-property':that.$body.css('transition-property')+', margin'});that.$jconfirmBoxContainer.addClass('jconfirm-no-transition');that._modalReady.resolve();if(typeof that.onOpen==='function')
344that.onOpen();that.$el.addClass(that.loadedClass)},this.animationSpeed)},loadedClass:'jconfirm-open',isClosed:function(){return!this.$el||this.$el.css('display')===''},isOpen:function(){return!this.isClosed()},toggle:function(){if(!this.isOpen())
345this.open();else this.close()}};jconfirm.instances=[];jconfirm.lastFocused=!1;jconfirm.pluginDefaults={template:''+'<div class="jconfirm">'+'<div class="jconfirm-bg jconfirm-bg-h"></div>'+'<div class="jconfirm-scrollpane">'+'<div class="jconfirm-row">'+'<div class="jconfirm-cell">'+'<div class="jconfirm-holder">'+'<div class="jc-bs3-container">'+'<div class="jc-bs3-row">'+'<div class="jconfirm-box-container jconfirm-animated">'+'<div class="jconfirm-box" role="dialog" aria-labelledby="labelled" tabindex="-1">'+'<div class="jconfirm-closeIcon">&times;</div>'+'<div class="jconfirm-title-c">'+'<span class="jconfirm-icon-c"></span>'+'<span class="jconfirm-title"></span>'+'</div>'+'<div class="jconfirm-content-pane">'+'<div class="jconfirm-content"></div>'+'</div>'+'<div class="jconfirm-buttons">'+'</div>'+'<div class="jconfirm-clear">'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div>'+'</div></div>',title:'Hello',titleClass:'',type:'default',typeAnimated:!0,draggable:!0,dragWindowGap:15,dragWindowBorder:!0,animateFromElement:!0,alignMiddle:!0,smoothContent:!0,content:'Are you sure to continue?',buttons:{},defaultButtons:{ok:{action:function(){}},close:{action:function(){}}},contentLoaded:function(){},icon:'',lazyOpen:!1,bgOpacity:null,theme:'light',animation:'scale',closeAnimation:'scale',animationSpeed:400,animationBounce:1,escapeKey:!0,rtl:!1,container:'body',containerFluid:!1,backgroundDismiss:!1,backgroundDismissAnimation:'shake',autoClose:!1,closeIcon:null,closeIconClass:!1,watchInterval:100,columnClass:'col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1',boxWidth:'50%',scrollToPreviousElement:!0,scrollToPreviousElementAnimate:!0,useBootstrap:!0,offsetTop:40,offsetBottom:40,bootstrapClasses:{container:'container',containerFluid:'container-fluid',row:'row'},onContentReady:function(){},onOpenBefore:function(){},onOpen:function(){},onClose:function(){},onDestroy:function(){},onAction:function(){}};var keyDown=!1;$(window).on('keydown',function(e){if(!keyDown){var $target=$(e.target);var pass=!1;if($target.closest('.jconfirm-box').length)
346pass=!0;if(pass)
347$(window).trigger('jcKeyDown');keyDown=!0}});$(window).on('keyup',function(){keyDown=!1});jconfirm.lastClicked=!1;$(document).on('mousedown','button, a',function(){jconfirm.lastClicked=$(this)})})(jQuery,window);/**
348* 2014-2024 Presta-Mod.pl Rafał Zontek
349*
350* NOTICE OF LICENSE
351*
352* Poniższy kod jest kodem płatnym, rozpowszechanie bez pisemnej zgody autora zabronione
353* Moduł można zakupić na stronie Presta-Mod.pl. Modyfikacja kodu jest zabroniona,
354* wszelkie modyfikacje powodują utratę gwarancji
355*
356* http://presta-mod.pl
357*
358* DISCLAIMER
359*
360*
361*  @author    Presta-Mod.pl Rafał Zontek <[email protected]>
362*  @copyright 2014-2024 Presta-Mod.pl
363*  @license   Licecnja na jedną domenę
364*  Presta-Mod.pl Rafał Zontek
365*/
366$(document).ready(function(){var pd_cookie_runed=!1;var pd_cookie_scroll_start=!1;var confirm=!1;var last=!1;function refreshTestTable(){$.ajax({method:'GET',url:pd_cookie_link,dataType:'JSON',data:{action:'refreshCookie',},success:function(data){if(data.success){$('.pdcookiepro-cookies-table').replaceWith(data.html)}}})}
367function getBoxWidth(){if($(window).width()<768){return'90%'}else if($(window).width()<1024){return'80%'}else{return'976px'}}
368$(window).resize(function(){if(last&&last!=$(window).width()){if(confirm){confirm.setBoxWidth(getBoxWidth())}}
369last=$(window).width()})
370function submitCookies(all=!1){var conditions={condition:'all',action:'setCookie'}
371if(!all){conditions=$('form[name="pdcookiepro"]').serialize();
371if(pd_cookie_gv2){let consents=[];if($('.pdcookiepro-group-gv2:checked').length){$.each($('.pdcookiepro-group-gv2:checked'),function(){let names=$(this).data('gv2').split(',');if(typeof gtag==='function'){$.each(names,function(i,name){let cname=name.trim();consents[cname]='granted';console.log('Consent update not all: '+cname)})}});gtag('consent','update',consents)}else{let consents=['functionality_storage','security_storage'];if(typeof gtag==='function'){let consents_app=[];$.each(consents,function(i,name){consents_app[name]='granted';console.log('Consent update required: '+name)});gtag('consent','update',consents_app)}}}}else{if(pd_cookie_gv2){let consents=['functionality_storage','analytics_storage','ad_personalization','ad_storage','ad_user_data','personalization_storage','security_storage'];if(typeof gtag==='function'){let consents_app=[];$.each(consents,function(i,name){consents_app[name]='granted';console.log('Consent update all: '+name)});gtag('consent','update',consents_app)}}}
372$.ajax({method:'POST',url:pd_cookie_link,dataType:'JSON',data:conditions,success:function(result){if(pd_cookie_reload){window.location.reload()}}})}
373if(!pd_cookie_settings){function openAdvancedSettings(){$.ajax({method:'GET',url:pd_cookie_link,dataType:'JSON',data:{action:'getMessageAdvanced'},success:function(result){if(!pd_ca_show){delete buttons.selectall}
374if(!pd_ss_show){delete buttons.submit_selected}
375if(!result.error){confirm=$.confirm({true:!1,bgOpacity:pd_cookie_opacity,title:!1,animationSpeed:200,content:result.message,boxWidth:getBoxWidth(),draggable:!1,useBootstrap:!1,offsetTop:0,offsetBottom:0,onClose:function(){confirm=!1},buttons:{submit_selected:{text:pd_cookie_label['Submit selected'],btnClass:'pm-submit-selected',action:function(){submitCookies(!1)}},submit:{keys:['enter'],text:pd_cookie_label['Accept all'],btnClass:'pm-submit-color',action:function(){submitCookies(!0)}},}})}}})}}
376function showPmMessage(){if(pd_cookie_runed){return!1}
377pd_cookie_runed=!0;$.ajax({method:'GET',url:pd_cookie_link,dataType:'JSON',data:{action:'getMessage',},success:function(result){if(!result.error){confirm=$.confirm({true:!1,bgOpacity:pd_cookie_opacity,title:!1,animationSpeed:200,content:result.message,boxWidth:getBoxWidth(),draggable:!1,useBootstrap:!1,onClose:function(){confirm=!1},onOpenBefore:function(){$('.jconfirm-buttons').addClass('pmjconfirm-buttons')},onOpen:function(){$('.jconfirm-buttons').addClass('pmjconfirm-buttons')},offsetTop:0,offsetBottom:0,buttons:{cookie_settings:{text:pd_cookie_label.Settings,btnClass:'pdcookiepro-show-all pm-show-more-color pdcookiepro-left',action:function(){$('.pdcookiepro-show-all').fadeOut();openAdvancedSettings()}},submit:{text:pd_cookie_label['Accept all'],btnClass:'pdcookiepro-show-submit pm-submit-color',keys:['enter'],action:function(){submitCookies(!0)}},submit_required:{text:pd_cookie_label['Accept required'],btnClass:'pdcookiepro-show-submit pm-submit-required-color',action:function(){$.ajax({method:'POST',url:pd_cookie_link,dataType:'JSON',data:{action:'setCookie'},success:function(result){submitCookies(!1);if(pd_cookie_reload){window.location.reload()}}})}}}})}}})}
378function checkGroup(target){var checked=$('input[data-id="'+target+'"]:checked').length;var all=$('input[data-id="'+target+'"]').length;if(checked==0){$('input[data-target="'+target+'"]').parent().find('.pm-slider').removeClass('checked').removeClass('checked-half');$('input[data-target="'+target+'"]').prop('checked',!1)}else if(all==checked){$('input[data-target="'+target+'"]').parent().find('.pm-slider').addClass('checked').removeClass('checked-half');$('input[data-target="'+target+'"]').prop('checked',!0)}else{$('input[data-target="'+target+'"]').parent().find('.pm-slider').removeClass('checked').addClass('checked-half');$('input[data-target="'+target+'"]').prop('checked',!1)}}
379function setCheckedChildren(target,checked){$('input[data-id="'+target+'"]').prop('checked',!checked);$('input[data-id="'+target+'"]').parent().find('.pm-slider').toggleClass('checked',!checked)}
380$(document).on('click','.pm-switch-toogle',function(e){if(!$(e.target).is('input')){var checked=$(this).parent().find('input[type="checkbox"]').prop('checked');var target="";if($(this).parent().find('input').data('target')!=undefined){setCheckedChildren($(this).parent().find('input').data('target'),checked)
381target=$(this).parent().find('input').data('target');checkGroup(target)}
382$(this).parent().find('.pm-slider').removeClass('checked-half');if($(this).is('.pdcookiepro-select-all')){$('.pm-switch-toogle').find('input[type="checkbox"]').prop('checked',checked);$('.pm-switch-toogle').find('.pm-slider').toggleClass('checked',checked)}else{$(this).parent().find('input').prop('checked',checked);$(this).parent().find('.pm-slider').toggleClass('checked',!checked)}
383if($(this).parent().find('input').data('id')!=undefined){target=$(this).parent().find('input').data('id');setTimeout(function(){checkGroup(target)},300)}}});$(document).on('click','.pm-select-all',function(){$('.pm-select-all').prop('disabled',!0);$('.pm-switch-toogle').find('input[type="checkbox"]').prop('checked',!0);$('.pm-switch-toogle').find('.pm-slider').toggleClass('checked',!0).removeClass('checked-half');$('.pm-select-all').prop('disabled',!1)});$(document).on('click','.pmsubmit',function(){var conditions={condition:'all',action:'setCookie'}
384conditions=$('form[name="pdcookiepro"]').serialize();$.ajax({method:'POST',url:pd_cookie_link,dataType:'JSON',data:conditions,success:function(result){window.location.href=pd_cookie_link_conf}})
385return!1});
385if(!pd_cookie_settings){if(pd_cookie_delay_time>0){if(pd_cookie_show_on_scroll==!1&&!pd_cookie_scroll_start){setTimeout(showPmMessage,pd_cookie_delay_time);pd_cookie_scroll_start=!0}else{$(document).on('scroll',function(){if(!pd_cookie_scroll_start){setTimeout(showPmMessage,pd_cookie_delay_time);pd_cookie_scroll_start=!0}})}}else{showPmMessage()}}
386$(document).on('click','.pdcookiepro-show-details',function(){var visible=$('#'+$(this).data('target')).is(':visible');$('.pdcookiepro-details').hide();$('.pdcookiepro-group-name').addClass('collapsed');if(visible){$('#'+$(this).data('target')).stop().fadeOut();$(this).find('.pdcookiepro-group-name').addClass('collapsed')}else{$('#'+$(this).data('target')).stop().fadeIn();$(this).find('.pdcookiepro-group-name').removeClass('collapsed')}});$.each($('.pdcookiepro-switch'),function(){if($(this).find('input').data('target')!=undefined){checkGroup($(this).find('input').data('target'))}});if($('.pdcookiepro-cookies-table').length){console.log('Cookie test mode');setInterval(function(){refreshTestTable()},3000);setTimeout(function(){refreshTestTable()},500)}});/**
387 * NOTICE OF LICENSE
388 *
389 * This source file is subject to the MIT License (MIT)
390 * that is bundled with this package in the file LICENSE.md.
391 *
392 * @author mElements S.A.
393 * @copyright mElements S.A.
394 * @license   MIT License
395 **/
396var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,n,f){a instanceof String&&(a=String(a));for(var p=a.length,k=0;k<p;k++){var b=a[k];if(n.call(f,b,k,a))return{i:k,v:b}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,n,f){a!=Array.prototype&&a!=Object.prototype&&(a[n]=f.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,n,f,p){if(n){f=$jscomp.global;a=a.split(".");for(p=0;p<a.length-1;p++){var k=a[p];k in f||(f[k]={});f=f[k]}a=a[a.length-1];p=f[a];n=n(p);n!=p&&null!=n&&$jscomp.defineProperty(f,a,{configurable:!0,writable:!0,value:n})}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,f){return $jscomp.findInternal(this,a,f).v}},"es6","es3");(function(a,n,f){"function"===typeof define&&define.amd?define(["jquery"],a):"object"===typeof exports&&"undefined"===typeof Meteor?module.exports=a(require("jquery")):a(n||f)})(function(a){var n=function(b,d,e){var c={invalid:[],getCaret:function(){try{var a=0,r=b.get(0),h=document.selection,d=r.selectionStart;if(h&&-1===navigator.appVersion.indexOf("MSIE 10")){var e=h.createRange();e.moveStart("character",-c.val().length);a=e.text.length}else if(d||"0"===d)a=d;return a}catch(C){}},setCaret:function(a){try{if(b.is(":focus")){var c=b.get(0);if(c.setSelectionRange)c.setSelectionRange(a,a);else{var g=c.createTextRange();g.collapse(!0);g.moveEnd("character",a);g.moveStart("character",a);g.select()}}}catch(B){}}
vendor: 6,223 bytes, line 396
396,events:function(){b.on("keydown.mask",function(a){b.data("mask-keycode",a.keyCode||a.which);b.data("mask-previus-value",b.val());b.data("mask-previus-caret-pos",c.getCaret());c.maskDigitPosMapOld=c.maskDigitPosMap}).on(a.jMaskGlobals.useInput?"input.mask":"keyup.mask",c.behaviour).on("paste.mask drop.mask",function(){setTimeout(function(){b.keydown().keyup()},100)}).on("change.mask",function(){b.data("changed",!0)}).on("blur.mask",function(){f===c.val()||b.data("changed")||b.trigger("change");b.data("changed",!1)}).on("blur.mask",function(){f=c.val()}).on("focus.mask",function(b){!0===e.selectOnFocus&&a(b.target).select()}).on("focusout.mask",function(){e.clearIfNotMatch&&!k.test(c.val())&&c.val("")})},getRegexMask:function(){for(var a=[],b,c,e,t,f=0;f<d.length;f++)(b=l.translation[d.charAt(f)])?(c=b.pattern.toString().replace(/.{1}$|^.{1}/g,""),e=b.optional,(b=b.recursive)?(a.push(d.charAt(f)),t={digit:d.charAt(f),pattern:c}):a.push(e||b?c+"?":c)):a.push(d.charAt(f).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"));a=a.join("");t&&(a=a.replace(new RegExp("("+t.digit+"(.*"+t.digit+")?)"),"($1)?").replace(new RegExp(t.digit,"g"),t.pattern));return new RegExp(a)},destroyEvents:function(){b.off("input keydown keyup paste drop blur focusout ".split(" ").join(".mask "))},val:function(a){var c=b.is("input")?"val":"text";if(0<arguments.length){if(b[c]()!==a)b[c](a);c=b}else c=b[c]();return c},calculateCaretPosition:function(a){var d=c.getMasked(),h=c.getCaret();if(a!==d){var e=b.data("mask-previus-caret-pos")||0;d=d.length;var g=a.length,f=a=0,l=0,k=0,m;for(m=h;m<d&&c.maskDigitPosMap[m];m++)f++;for(m=h-1;0<=m&&c.maskDigitPosMap[m];m--)a++;for(m=h-1;0<=m;m--)c.maskDigitPosMap[m]&&l++;for(m=e-1;0<=m;m--)c.maskDigitPosMapOld[m]&&k++;h>g?h=10*d:e>=h&&e!==g?c.maskDigitPosMapOld[h]||(e=h,h=h-(k-l)-a,c.maskDigitPosMap[h]&&(h=e)):h>e&&(h=h+(l-k)+f)}return h},behaviour:function(d){d=d||window.event;c.invalid=[];var e=b.data("mask-keycode");if(-1===a.inArray(e,l.byPassKeys)){e=c.getMasked();var h=c.getCaret(),g=b.data("mask-previus-value")||"";setTimeout(function(){c.setCaret(c.calculateCaretPosition(g))},a.jMaskGlobals.keyStrokeCompensation);c.val(e);c.setCaret(h);return c.callbacks(d)}},getMasked:function(a,b){var h=[],f=void 0===b?c.val():b+"",g=0,k=d.length,n=0,p=f.length,m=1,r="push",u=-1,w=0;b=[];if(e.reverse){r="unshift";m=-1;var x=0;g=k-1;n=p-1;var A=function(){return-1<g&&-1<n}}else x=k-1,A=function(){return g<k&&n<p};for(var z;A();){var y=d.charAt(g),v=f.charAt(n),q=l.translation[y];if(q)v.match(q.pattern)?(h[r](v),q.recursive&&(-1===u?u=g:g===x&&g!==u&&(g=u-m),x===u&&(g-=m)),g+=m):v===z?(w--,z=void 0):q.optional?(g+=m,n-=m):q.fallback?(h[r](q.fallback),g+=m,n-=m):c.invalid.push({p:n,v:v,e:q.pattern}),n+=m;else{if(!a)h[r](y);v===y?(b.push(n),n+=m):(z=y,b.push(n+w),w++);g+=m}}a=d.charAt(x);k!==p+1||l.translation[a]||h.push(a);h=h.join("");c.mapMaskdigitPositions(h,b,p);return h},mapMaskdigitPositions:function(a,b,d){a=e.reverse?a.length-d:0;c.maskDigitPosMap={};for(d=0;d<b.length;d++)c.maskDigitPosMap[b[d]+a]=1},callbacks:function(a){var g=c.val(),h=g!==f,k=[g,a,b,e],l=function(a,b,c){"function"===typeof e[a]&&b&&e[a].apply(this,c)};l("onChange",!0===h,k);l("onKeyPress",!0===h,k);l("onComplete",g.length===d.length,k);l("onInvalid",0<c.invalid.length,[g,a,b,c.invalid,e])}};b=a(b);var l=this,f=c.val(),k;d="function"===typeof d?d(c.val(),void 0,b,e):d;l.mask=d;l.options=e;l.remove=function(){var a=c.getCaret();l.options.placeholder&&b.removeAttr("placeholder");b.data("mask-maxlength")&&b.removeAttr("maxlength");c.destroyEvents();c.val(l.getCleanVal());c.setCaret(a);return b};l.getCleanVal=function(){return c.getMasked(!0)};l.getMaskedVal=function(a){return c.getMasked(!1,a)};l.init=function(g){g=g||!1;e=e||{};l.clearIfNotMatch=a.jMaskGlobals.clearIfNotMatch;l.byPassKeys=a.jMaskGlobals.byPassKeys;l.translation=a.extend({},a.jMaskGlobals.translation,e.translation);l=a.extend(!0,{},l,e);k=c.getRegexMask();if(g)c.events(),c.val(c.getMasked());else{e.placeholder&&b.attr("placeholder",e.placeholder);b.data("mask")&&b.attr("autocomplete","off");g=0;for(var f=!0;g<d.length;g++){var h=l.translation[d.charAt(g)];if(h&&h.recursive){f=!1;break}}f&&b.attr("maxlength",d.length).data("mask-maxlength",!0);c.destroyEvents();c.events();g=c.getCaret();c.val(c.getMasked());c.setCaret(g)}};l.init(!b.is("input"))};a.maskWatchers={};var f=function(){var b=a(this),d={},e=b.attr("data-mask");b.attr("data-mask-reverse")&&(d.reverse=!0);b.attr("data-mask-clearifnotmatch")&&(d.clearIfNotMatch=!0);"true"===b.attr("data-mask-selectonfocus")&&(d.selectOnFocus=!0);if(p(b,e,d))return b.data("mask",new n(this,e,d))},p=function(b,d,e){e=e||{};var c=a(b).data("mask"),f=JSON.stringify;b=a(b).val()||a(b).text();try{return"function"===typeof d&&(d=d(b)),"object"!==typeof c||f(c.options)!==f(e)||c.mask!==d}catch(w){}},k=function(a){var b=document.createElement("div");a="on"+a;var e=a in b;e||(b.setAttribute(a,"return;"),e="function"===typeof b[a]);return e};a.fn.mask=function(b,d){d=d||{};var e=this.selector,c=a.jMaskGlobals,f=c.watchInterval;c=d.watchInputs||c.watchInputs;var k=function(){if(p(this,b,d))return a(this).data("mask",new n(this,b,d))};a(this).each(k);e&&""!==e&&c&&(clearInterval(a.maskWatchers[e]),a.maskWatchers[e]=setInterval(function(){a(document).find(e).each(k)},f));return this};a.fn.masked=function(a){return this.data("mask").getMaskedVal(a)};a.fn.unmask=function(){clearInterval(a.maskWatchers[this.selector]);delete a.maskWatchers[this.selector];return this.each(function(){var b=a(this).data("mask");b&&b.remove().removeData("mask")})};a.fn.cleanVal=function(){return this.data("mask").getCleanVal()};a.applyDataMask=function(b){b=b||a.jMaskGlobals.maskElements;(b instanceof a?b:a(b)).filter(a.jMaskGlobals.dataMaskAttr).each(f)};k={maskElements:"input,td,span,div",dataMaskAttr:"*[data-mask]",dataMask:!0,watchInterval:300,watchInputs:!0,keyStrokeCompensation:10,useInput:!/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent)&&k("input"),watchDataMask:!1,byPassKeys:[9,16,17,18,36,37,38,39,40,91],translation:{0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}}};
396a.jMaskGlobals=a.jMaskGlobals||{};k=a.jMaskGlobals=a.extend(!0,{},k,a.jMaskGlobals);k.dataMask&&a.applyDataMask();setInterval(function(){a.jMaskGlobals.watchDataMask&&a.applyDataMask()},k.watchInterval)},window.jQuery,window.Zepto);var paynow={config:{allTermsHaveToBeChecked:!1,useCssClassDisabled:!1,validateTerms:!0},selectors:{form:'.paynow-blik-form',terms:'#conditions_to_approve\\[terms-and-conditions\\], #cgv',termsLabel:'label[for="conditions_to_approve\\[terms-and-conditions\\]"], label[for="cgv"]',paymentButton:'#payment-confirmation button',blikCode:'#paynow_blik_code',blikButton:'form.paynow-blik-form div.paynow-payment-option-container button',blikErrorLabel:'form.paynow-blik-form span.error',pblMethod:'div.paynow-payment-pbls input[name="paymentMethodId"]',cardMethod:'div.paynow-payment-card input[name="paymentMethodToken"]',cardMethodOptions:'div.paynow-payment-card .paynow-payment-card-option',paymentMethod:'input[name="payment-option"]',cardMethodMiniMenuOpen:'.paynow-payment-card-menu .paynow-payment-card-menu-button',cardMethodRemove:'[data-remove-saved-instrument]',},init:function(){paynow.overrideDefaults();paynow.config.useCssClassDisabled=$(paynow.selectors.paymentButton).hasClass('disabled');$(document).on('click',paynow.selectors.blikButton,paynow.blikFormSubmit);$(document).on('keyup',paynow.selectors.blikCode,paynow.blikValidate);$(document).on('change',paynow.selectors.pblMethod,paynow.pblValidate);$(document).on('change',paynow.selectors.cardMethod,paynow.cardValidate);$(document).on('change',paynow.selectors.paymentMethod,paynow.onPaymentOptionChange);$(document).on('change',paynow.selectors.terms,function(){paynow.onPaymentOptionChange()
397paynow.termsValidate()});$(document).on('click',paynow.selectors.cardMethodMiniMenuOpen,paynow.toggleCardMiniMenu);$(document).on('click',paynow.selectors.cardMethodRemove,paynow.removeSavedInstrument);$(document).on('click',function(ev){paynow.closeMiniMenu(ev)});paynow.addApplePayEnabledToCookie();paynow.addFingerprintToCardPayment()},overrideDefaults:function(){if(!window.hasOwnProperty('paynowOverrides')){return}
398if(window.paynowOverrides.hasOwnProperty('selectors')){for(const[key,value]of Object.entries(window.paynowOverrides.selectors)){if(paynow.selectors.hasOwnProperty(key)){paynow.selectors[key]=value}}}
399if(window.paynowOverrides.hasOwnProperty('config')){for(const[key,value]of Object.entries(window.paynowOverrides.config)){if(paynow.config.hasOwnProperty(key)){paynow.config[key]=value}}}},termsValidate:function(){if(paynow.config.validateTerms==!1){return!0}
400if(paynow.isTermsChecked()){$(paynow.selectors.blikErrorLabel).text('')
401return!0}else{return!1}},blikFormSubmit:function(e){if(e&&e.preventDefault){e.preventDefault()}
402$(paynow.selectors.blikErrorLabel).text('')
403if(paynow.termsValidate()==!1){$(paynow.selectors.blikErrorLabel).text($(paynow.selectors.form).data('terms-message'))
404prestashop.emit('paynow_event_blik_submit_fail',{type:'terms_not_accepted',})
405return}
406if(paynow.isOnePageCheckout()){paynow.triggerOnePageCheckoutPlaceOrder()
407return}
408paynow.blikButton.disable()
409paynow.chargeBlik(function(data,textStatus,jqXHR){window.location.href=data.redirect_url},function(data,textStatus,jqXHR){paynow.blikButton.enable()
410$(paynow.selectors.blikErrorLabel).text(data.message)
411prestashop.emit('paynow_event_blik_submit_fail',{type:'xhr_ok_but_error',response:data,textStatus:textStatus,jqXHR:jqXHR,})},function(jqXHR,textStatus,errorThrown){paynow.blikButton.enable()
412$(paynow.selectors.blikErrorLabel).text($(paynow.selectors.form).data('error-message'))
413prestashop.emit('paynow_event_blik_submit_fail',{type:'xhr_error',jqXHR:jqXHR,textStatus:textStatus,errorThrown:errorThrown})})},onPaymentOptionChange:function(){if($(paynow.selectors.blikCode).length!=1){return}
414$(paynow.selectors.blikCode).mask('000 000',{placeholder:"___ ___"})
415if($(paynow.selectors.form).data('blik-autofocus')=='1'){$(paynow.selectors.blikCode).focus()}
416if($(paynow.selectors.blikCode).is(':visible')){paynow.paymentButton.disable()
417paynow.paymentButton.hide()}else if($(paynow.selectors.cardMethodOptions).is(':visible')&&!$(paynow.selectors.cardMethod+':checked').length){paynow.paymentButton.disable()}else{paynow.paymentButton.enable()
418paynow.paymentButton.show()}},blikFormPrepare:function(){paynow.onPaymentOptionChange()},blikValidate:function(){blik_code_value=$(paynow.selectors.blikCode).val().replace(/\s/g,'');if(blik_code_value.length===6&&!isNaN(parseInt(blik_code_value))&&parseInt(blik_code_value)){$(paynow.selectors.blikErrorLabel).text('');paynow.blikButton.enable()
419return!0}else{paynow.blikButton.disable()
420return!1}},cardValidate:function(){const checkedCardOption=$(paynow.selectors.cardMethod+':checked');if(checkedCardOption.length&&(!paynow.config.validateTerms||$(paynow.selectors.terms).is(':checked'))){paynow.paymentButton.enable();return!0}else{paynow.paymentButton.disable();return!1}},pblValidate:function(){if(paynow.config.validateTerms&&paynow.isTermsChecked()){paynow.paymentButton.enable();return!0}else{paynow.paymentButton.disable();return!1}},isOnePageCheckout:function(){if($('#velsof_supercheckout_form').length){return!0}
421return!1},closeMiniMenu:function(e){if(!$(e.target).is(paynow.selectors.cardMethodRemove)&&!$(e.target).is(paynow.selectors.cardMethodMiniMenuOpen)){$(paynow.selectors.cardMethodRemove).addClass('--hidden')}},toggleCardMiniMenu:function(e){$(e.currentTarget).siblings().toggleClass('--hidden')},isTermsChecked:function(){if(paynow.config.allTermsHaveToBeChecked){return!$(paynow.selectors.terms).is(':not(:checked)')}else{return $(paynow.selectors.terms).is(':checked')}},triggerOnePageCheckoutPlaceOrder:function(){if($('#velsof_supercheckout_form').length){$("#supercheckout_confirm_order").trigger('click')}},chargeBlik:function(onSuccess,onFail,onError){$.ajax($(paynow.selectors.form).data('action'),{method:'POST',type:'POST',data:{'blikCode':$(paynow.selectors.blikCode).val().replace(/\s/g,""),'token':$(paynow.selectors.form).data('token')},}).success(function(data,textStatus,jqXHR){if(data.success===!0){if(typeof onSuccess=='function'){onSuccess(data,textStatus,jqXHR)}}else{if(typeof onFail=='function'){onFail(data,textStatus,jqXHR)}}}).error(function(jqXHR,textStatus,errorThrown){if(typeof onError=='function'){onError(jqXHR,textStatus,errorThrown)}})},addApplePayEnabledToCookie:function(){let applePayEnabled=!1;if(window.ApplePaySession){applePayEnabled=window.ApplePaySession.canMakePayments()}
422document.cookie='applePayEnabled='+(applePayEnabled?'1':'0')},addFingerprintToCardPayment:function(){const input=$('#payment-method-fingerprint');if(!input.length){return}
423try{const fpPromise=import('https://static.paynow.pl/scripts/PyG5QjFDUI.min.js').then(FingerprintJS=>FingerprintJS.load())
424fpPromise.then(fp=>fp.get()).then(result=>{input.val(result.visitorId)})}catch(e){console.error('Cannot get fingerprint')}},removeSavedInstrument:function(e){const target=$(e.currentTarget);const savedInstrument=target.data('removeSavedInstrument');const errorMessage=target.data('errorMessage');const cardMethodOption=$('#wrapper-'+savedInstrument);cardMethodOption.addClass('loading');$.ajax(target.data('action'),{method:'POST',type:'POST',data:{'savedInstrumentToken':savedInstrument,'token':target.data('token'),},}).success(function(data,textStatus,jqXHR){if(data.success===!0){cardMethodOption.remove()}else{cardMethodOption.removeClass('loading');paynow.showRemoveSavedInstrumentErrorMessage(savedInstrument,errorMessage)}}).error(function(jqXHR,textStatus,errorThrown){cardMethodOption.removeClass('loading');paynow.showRemoveSavedInstrumentErrorMessage(savedInstrument,errorMessage)})},showRemoveSavedInstrumentErrorMessage:function(savedInstrument,errorMessage){const errorMessageWrapper=jQuery('#wrapper-'+savedInstrument+' .paynow-payment-card-error');errorMessageWrapper.text(errorMessage);setTimeout(()=>{errorMessageWrapper.text('')},5000)},paymentButton:{show:function(){$(paynow.selectors.paymentButton).show()},hide:function(){$(paynow.selectors.paymentButton).hide()},disable:function(){$(paynow.selectors.paymentButton).prop('disabled',!0);if(paynow.config.useCssClassDisabled){$(paynow.selectors.paymentButton).addClass('disabled')}},enable:function(){$(paynow.selectors.paymentButton).prop('disabled',!1);if(paynow.config.useCssClassDisabled){$(paynow.selectors.paymentButton).removeClass('disabled')}}},blikButton:{disable:function(){$(paynow.selectors.blikButton).prop('disabled',!0);if(paynow.config.useCssClassDisabled){$(paynow.selectors.blikButton).addClass('disabled')}},enable:function(){$(paynow.selectors.blikButton).prop('disabled',!1);if(paynow.config.useCssClassDisabled){$(paynow.selectors.blikButton).removeClass('disabled')}},show:function(){$(paynow.selectors.blikButton).show()},hide:function(){$(paynow.selectors.blikButton).hide()}}};$(document).ready(paynow.init);function enableBlikSupport(){paynow.blikFormPrepare()}
425function paynowPblPaymentBtnCheck(){paynow.pblValidate()}
426function enablePblSupport(){};/******/ (function(modules) { // webpackBootstrap
427/******/ 	// The module cache
428/******/ 	var installedModules = {};
429/******/
430/******/ 	// The require function
431/******/ 	function __webpack_require__(moduleId) {
432/******/
433/******/ 		// Check if module is in cache
434/******/ 		if(installedModules[moduleId]) {
435/******/ 			return installedModules[moduleId].exports;
436/******/ 		}
437/******/ 		// Create a new module (and put it into the cache)
438/******/ 		var module = installedModules[moduleId] = {
439/******/ 			i: moduleId,
440/******/ 			l: false,
441/******/ 			exports: {}
442/******/ 		};
443/******/
444/******/ 		// Execute the module function
445/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
446/******/
447/******/ 		// Flag the module as loaded
vendor: 2,842 bytes, lines 448-513
448/******/ 		module.l = true;
449/******/
450/******/ 		// Return the exports of the module
451/******/ 		return module.exports;
452/******/ 	}
453/******/
454/******/
455/******/ 	// expose the modules object (__webpack_modules__)
456/******/ 	__webpack_require__.m = modules;
457/******/
458/******/ 	// expose the module cache
459/******/ 	__webpack_require__.c = installedModules;
460/******/
461/******/ 	// define getter function for harmony exports
462/******/ 	__webpack_require__.d = function(exports, name, getter) {
463/******/ 		if(!__webpack_require__.o(exports, name)) {
464/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
465/******/ 		}
466/******/ 	};
467/******/
468/******/ 	// define __esModule on exports
469/******/ 	__webpack_require__.r = function(exports) {
470/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
471/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
472/******/ 		}
473/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
474/******/ 	};
475/******/
476/******/ 	// create a fake namespace object
477/******/ 	// mode & 1: value is a module id, require it
478/******/ 	// mode & 2: merge all properties of value into the ns
479/******/ 	// mode & 4: return value when already ns object
480/******/ 	// mode & 8|1: behave like require
481/******/ 	__webpack_require__.t = function(value, mode) {
482/******/ 		if(mode & 1) value = __webpack_require__(value);
483/******/ 		if(mode & 8) return value;
484/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
485/******/ 		var ns = Object.create(null);
486/******/ 		__webpack_require__.r(ns);
487/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
488/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
489/******/ 		return ns;
490/******/ 	};
491/******/
492/******/ 	// getDefaultExport function for compatibility with non-harmony modules
493/******/ 	__webpack_require__.n = function(module) {
494/******/ 		var getter = module && module.__esModule ?
495/******/ 			function getDefault() { return module['default']; } :
496/******/ 			function getModuleExports() { return module; };
497/******/ 		__webpack_require__.d(getter, 'a', getter);
498/******/ 		return getter;
499/******/ 	};
500/******/
501/******/ 	// Object.prototype.hasOwnProperty.call
502/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
503/******/
504/******/ 	// __webpack_public_path__
505/******/ 	__webpack_require__.p = "";
506/******/
507/******/
508/******/ 	// Load entry module and return exports
509/******/ 	return __webpack_require__(__webpack_require__.s = "./src/app_front.tsx");
510/******/ })
511/************************************************************************/
512/******/ ({
513
vendor: 15,167 bytes, lines 514-1022
514/***/ "./node_modules/events/events.js":
515/*!***************************************!*\
516  !*** ./node_modules/events/events.js ***!
517  \***************************************/
518/*! no static exports found */
519/***/ (function(module, exports, __webpack_require__) {
520
521"use strict";
522// Copyright Joyent, Inc. and other Node contributors.
523//
524// Permission is hereby granted, free of charge, to any person obtaining a
525// copy of this software and associated documentation files (the
526// "Software"), to deal in the Software without restriction, including
527// without limitation the rights to use, copy, modify, merge, publish,
528// distribute, sublicense, and/or sell copies of the Software, and to permit
529// persons to whom the Software is furnished to do so, subject to the
530// following conditions:
531//
532// The above copyright notice and this permission notice shall be included
533// in all copies or substantial portions of the Software.
534//
535// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
536// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
537// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
538// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
539// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
540// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
541// USE OR OTHER DEALINGS IN THE SOFTWARE.
542
543
544
545var R = typeof Reflect === 'object' ? Reflect : null
546var ReflectApply = R && typeof R.apply === 'function'
547  ? R.apply
548  : function ReflectApply(target, receiver, args) {
549    return Function.prototype.apply.call(target, receiver, args);
550  }
551
552var ReflectOwnKeys
553if (R && typeof R.ownKeys === 'function') {
554  ReflectOwnKeys = R.ownKeys
555} else if (Object.getOwnPropertySymbols) {
556  ReflectOwnKeys = function ReflectOwnKeys(target) {
557    return Object.getOwnPropertyNames(target)
558      .concat(Object.getOwnPropertySymbols(target));
559  };
560} else {
561  ReflectOwnKeys = function ReflectOwnKeys(target) {
562    return Object.getOwnPropertyNames(target);
563  };
564}
565
566function ProcessEmitWarning(warning) {
567  if (console && console.warn) console.warn(warning);
568}
569
570var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
571  return value !== value;
572}
573
574function EventEmitter() {
575  EventEmitter.init.call(this);
576}
577module.exports = EventEmitter;
578module.exports.once = once;
579
580// Backwards-compat with node 0.10.x
581EventEmitter.EventEmitter = EventEmitter;
582
583EventEmitter.prototype._events = undefined;
584EventEmitter.prototype._eventsCount = 0;
585EventEmitter.prototype._maxListeners = undefined;
586
587// By default EventEmitters will print a warning if more than 10 listeners are
588// added to it. This is a useful default which helps finding memory leaks.
589var defaultMaxListeners = 10;
590
591function checkListener(listener) {
592  if (typeof listener !== 'function') {
593    throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
594  }
595}
596
597Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
598  enumerable: true,
599  get: function() {
600    return defaultMaxListeners;
601  },
602  set: function(arg) {
603    if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
604      throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
605    }
606    defaultMaxListeners = arg;
607  }
608});
609
610EventEmitter.init = function() {
611
612  if (this._events === undefined ||
613      this._events === Object.getPrototypeOf(this)._events) {
614    this._events = Object.create(null);
615    this._eventsCount = 0;
616  }
617
618  this._maxListeners = this._maxListeners || undefined;
619};
620
621// Obviously not all Emitters should be limited to 10. This function allows
622// that to be increased. Set to zero for unlimited.
623EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
624  if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
625    throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
626  }
627  this._maxListeners = n;
628  return this;
629};
630
631function _getMaxListeners(that) {
632  if (that._maxListeners === undefined)
633    return EventEmitter.defaultMaxListeners;
634  return that._maxListeners;
635}
636
637EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
638  return _getMaxListeners(this);
639};
640
641EventEmitter.prototype.emit = function emit(type) {
642  var args = [];
643  for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
644  var doError = (type === 'error');
645
646  var events = this._events;
647  if (events !== undefined)
648    doError = (doError && events.error === undefined);
649  else if (!doError)
650    return false;
651
652  // If there is no 'error' event listener then throw.
653  if (doError) {
654    var er;
655    if (args.length > 0)
656      er = args[0];
657    if (er instanceof Error) {
658      // Note: The comments on the `throw` lines are intentional, they show
659      // up in Node's output if this results in an unhandled exception.
660      throw er; // Unhandled 'error' event
661    }
662    // At least give some kind of context to the user
663    var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
664    err.context = er;
665    throw err; // Unhandled 'error' event
666  }
667
668  var handler = events[type];
669
670  if (handler === undefined)
671    return false;
672
673  if (typeof handler === 'function') {
674    ReflectApply(handler, this, args);
675  } else {
676    var len = handler.length;
677    var listeners = arrayClone(handler, len);
678    for (var i = 0; i < len; ++i)
679      ReflectApply(listeners[i], this, args);
680  }
681
682  return true;
683};
684
685function _addListener(target, type, listener, prepend) {
686  var m;
687  var events;
688  var existing;
689
690  checkListener(listener);
691
692  events = target._events;
693  if (events === undefined) {
694    events = target._events = Object.create(null);
695    target._eventsCount = 0;
696  } else {
697    // To avoid recursion in the case that type === "newListener"! Before
698    // adding it to the listeners, first emit "newListener".
699    if (events.newListener !== undefined) {
700      target.emit('newListener', type,
701                  listener.listener ? listener.listener : listener);
702
703      // Re-assign `events` because a newListener handler could have caused the
704      // this._events to be assigned to a new object
705      events = target._events;
706    }
707    existing = events[type];
708  }
709
710  if (existing === undefined) {
711    // Optimize the case of one listener. Don't need the extra array object.
712    existing = events[type] = listener;
713    ++target._eventsCount;
714  } else {
715    if (typeof existing === 'function') {
716      // Adding the second element, need to change to array.
717      existing = events[type] =
718        prepend ? [listener, existing] : [existing, listener];
719      // If we've already got an array, just append.
720    } else if (prepend) {
721      existing.unshift(listener);
722    } else {
723      existing.push(listener);
724    }
725
726    // Check for listener leak
727    m = _getMaxListeners(target);
728    if (m > 0 && existing.length > m && !existing.warned) {
729      existing.warned = true;
730      // No error code for this since it is a Warning
731      // eslint-disable-next-line no-restricted-syntax
732      var w = new Error('Possible EventEmitter memory leak detected. ' +
733                          existing.length + ' ' + String(type) + ' listeners ' +
734                          'added. Use emitter.setMaxListeners() to ' +
735                          'increase limit');
736      w.name = 'MaxListenersExceededWarning';
737      w.emitter = target;
738      w.type = type;
739      w.count = existing.length;
740      ProcessEmitWarning(w);
741    }
742  }
743
744  return target;
745}
746
747EventEmitter.prototype.addListener = function addListener(type, listener) {
748  return _addListener(this, type, listener, false);
749};
750
751EventEmitter.prototype.on = EventEmitter.prototype.addListener;
752
753EventEmitter.prototype.prependListener =
754    function prependListener(type, listener) {
755      return _addListener(this, type, listener, true);
756    };
757
758function onceWrapper() {
759  if (!this.fired) {
760    this.target.removeListener(this.type, this.wrapFn);
761    this.fired = true;
762    if (arguments.length === 0)
763      return this.listener.call(this.target);
764    return this.listener.apply(this.target, arguments);
765  }
766}
767
768function _onceWrap(target, type, listener) {
769  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
770  var wrapped = onceWrapper.bind(state);
771  wrapped.listener = listener;
772  state.wrapFn = wrapped;
773  return wrapped;
774}
775
776EventEmitter.prototype.once = function once(type, listener) {
777  checkListener(listener);
778  this.on(type, _onceWrap(this, type, listener));
779  return this;
780};
781
782EventEmitter.prototype.prependOnceListener =
783    function prependOnceListener(type, listener) {
784      checkListener(listener);
785      this.prependListener(type, _onceWrap(this, type, listener));
786      return this;
787    };
788
789// Emits a 'removeListener' event if and only if the listener was removed.
790EventEmitter.prototype.removeListener =
791    function removeListener(type, listener) {
792      var list, events, position, i, originalListener;
793
794      checkListener(listener);
795
796      events = this._events;
797      if (events === undefined)
798        return this;
799
800      list = events[type];
801      if (list === undefined)
802        return this;
803
804      if (list === listener || list.listener === listener) {
805        if (--this._eventsCount === 0)
806          this._events = Object.create(null);
807        else {
808          delete events[type];
809          if (events.removeListener)
810            this.emit('removeListener', type, list.listener || listener);
811        }
812      } else if (typeof list !== 'function') {
813        position = -1;
814
815        for (i = list.length - 1; i >= 0; i--) {
816          if (list[i] === listener || list[i].listener === listener) {
817            originalListener = list[i].listener;
818            position = i;
819            break;
820          }
821        }
822
823        if (position < 0)
824          return this;
825
826        if (position === 0)
827          list.shift();
828        else {
829          spliceOne(list, position);
830        }
831
832        if (list.length === 1)
833          events[type] = list[0];
834
835        if (events.removeListener !== undefined)
836          this.emit('removeListener', type, originalListener || listener);
837      }
838
839      return this;
840    };
841
842EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
843
844EventEmitter.prototype.removeAllListeners =
845    function removeAllListeners(type) {
846      var listeners, events, i;
847
848      events = this._events;
849      if (events === undefined)
850        return this;
851
852      // not listening for removeListener, no need to emit
853      if (events.removeListener === undefined) {
854        if (arguments.length === 0) {
855          this._events = Object.create(null);
856          this._eventsCount = 0;
857        } else if (events[type] !== undefined) {
858          if (--this._eventsCount === 0)
859            this._events = Object.create(null);
860          else
861            delete events[type];
862        }
863        return this;
864      }
865
866      // emit removeListener for all listeners on all events
867      if (arguments.length === 0) {
868        var keys = Object.keys(events);
869        var key;
870        for (i = 0; i < keys.length; ++i) {
871          key = keys[i];
872          if (key === 'removeListener') continue;
873          this.removeAllListeners(key);
874        }
875        this.removeAllListeners('removeListener');
876        this._events = Object.create(null);
877        this._eventsCount = 0;
878        return this;
879      }
880
881      listeners = events[type];
882
883      if (typeof listeners === 'function') {
884        this.removeListener(type, listeners);
885      } else if (listeners !== undefined) {
886        // LIFO order
887        for (i = listeners.length - 1; i >= 0; i--) {
888          this.removeListener(type, listeners[i]);
889        }
890      }
891
892      return this;
893    };
894
895function _listeners(target, type, unwrap) {
896  var events = target._events;
897
898  if (events === undefined)
899    return [];
900
901  var evlistener = events[type];
902  if (evlistener === undefined)
903    return [];
904
905  if (typeof evlistener === 'function')
906    return unwrap ? [evlistener.listener || evlistener] : [evlistener];
907
908  return unwrap ?
909    unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
910}
911
912EventEmitter.prototype.listeners = function listeners(type) {
913  return _listeners(this, type, true);
914};
915
916EventEmitter.prototype.rawListeners = function rawListeners(type) {
917  return _listeners(this, type, false);
918};
919
920EventEmitter.listenerCount = function(emitter, type) {
921  if (typeof emitter.listenerCount === 'function') {
922    return emitter.listenerCount(type);
923  } else {
924    return listenerCount.call(emitter, type);
925  }
926};
927
928EventEmitter.prototype.listenerCount = listenerCount;
929function listenerCount(type) {
930  var events = this._events;
931
932  if (events !== undefined) {
933    var evlistener = events[type];
934
935    if (typeof evlistener === 'function') {
936      return 1;
937    } else if (evlistener !== undefined) {
938      return evlistener.length;
939    }
940  }
941
942  return 0;
943}
944
945EventEmitter.prototype.eventNames = function eventNames() {
946  return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
947};
948
949function arrayClone(arr, n) {
950  var copy = new Array(n);
951  for (var i = 0; i < n; ++i)
952    copy[i] = arr[i];
953  return copy;
954}
955
956function spliceOne(list, index) {
957  for (; index + 1 < list.length; index++)
958    list[index] = list[index + 1];
959  list.pop();
960}
961
962function unwrapListeners(arr) {
963  var ret = new Array(arr.length);
964  for (var i = 0; i < ret.length; ++i) {
965    ret[i] = arr[i].listener || arr[i];
966  }
967  return ret;
968}
969
970function once(emitter, name) {
971  return new Promise(function (resolve, reject) {
972    function errorListener(err) {
973      emitter.removeListener(name, resolver);
974      reject(err);
975    }
976
977    function resolver() {
978      if (typeof emitter.removeListener === 'function') {
979        emitter.removeListener('error', errorListener);
980      }
981      resolve([].slice.call(arguments));
982    };
983
984    eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
985    if (name !== 'error') {
986      addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
987    }
988  });
989}
990
991function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
992  if (typeof emitter.on === 'function') {
993    eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
994  }
995}
996
997function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
998  if (typeof emitter.on === 'function') {
999    if (flags.once) {
1000      emitter.once(name, listener);
1001    } else {
1002      emitter.on(name, listener);
1003    }
1004  } else if (typeof emitter.addEventListener === 'function') {
1005    // EventTarget does not have `error` event semantics like Node
1006    // EventEmitters, we do not listen for `error` events here.
1007    emitter.addEventListener(name, function wrapListener(arg) {
1008      // IE does not have builtin `{ once: true }` support so we
1009      // have to do it manually.
1010      if (flags.once) {
1011        emitter.removeEventListener(name, wrapListener);
1012      }
1013      listener(arg);
1014    });
1015  } else {
1016    throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
1017  }
1018}
1019
1020
1021/***/ }),
1022
vendor: 289,075 bytes, lines 1023-11915
1023/***/ "./node_modules/jquery/dist/jquery.js":
1024/*!********************************************!*\
1025  !*** ./node_modules/jquery/dist/jquery.js ***!
1026  \********************************************/
1027/*! no static exports found */
1028/***/ (function(module, exports, __webpack_require__) {
1029
1030var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
1031 * jQuery JavaScript Library v3.6.0
1032 * https://jquery.com/
1033 *
1034 * Includes Sizzle.js
1035 * https://sizzlejs.com/
1036 *
1037 * Copyright OpenJS Foundation and other contributors
1038 * Released under the MIT license
1039 * https://jquery.org/license
1040 *
1041 * Date: 2021-03-02T17:08Z
1042 */
1043( function( global, factory ) {
1044
1045	"use strict";
1046
1047	if (  true && typeof module.exports === "object" ) {
1048
1049		// For CommonJS and CommonJS-like environments where a proper `window`
1050		// is present, execute the factory and get jQuery.
1051		// For environments that do not have a `window` with a `document`
1052		// (such as Node.js), expose a factory as module.exports.
1053		// This accentuates the need for the creation of a real `window`.
1054		// e.g. var jQuery = require("jquery")(window);
1055		// See ticket #14549 for more info.
1056		module.exports = global.document ?
1057			factory( global, true ) :
1058			function( w ) {
1059				if ( !w.document ) {
1060					throw new Error( "jQuery requires a window with a document" );
1061				}
1062				return factory( w );
1063			};
1064	} else {
1065		factory( global );
1066	}
1067
1068// Pass this if window is not defined yet
1069} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
1070
1071// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
1072// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
1073// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
1074// enough that all such attempts are guarded in a try block.
1075"use strict";
1076
1077var arr = [];
1078
1079var getProto = Object.getPrototypeOf;
1080
1081var slice = arr.slice;
1082
1083var flat = arr.flat ? function( array ) {
1084	return arr.flat.call( array );
1085} : function( array ) {
1086	return arr.concat.apply( [], array );
1087};
1088
1089
1090var push = arr.push;
1091
1092var indexOf = arr.indexOf;
1093
1094var class2type = {};
1095
1096var toString = class2type.toString;
1097
1098var hasOwn = class2type.hasOwnProperty;
1099
1100var fnToString = hasOwn.toString;
1101
1102var ObjectFunctionString = fnToString.call( Object );
1103
1104var support = {};
1105
1106var isFunction = function isFunction( obj ) {
1107
1108		// Support: Chrome <=57, Firefox <=52
1109		// In some browsers, typeof returns "function" for HTML <object> elements
1110		// (i.e., `typeof document.createElement( "object" ) === "function"`).
1111		// We don't want to classify *any* DOM node as a function.
1112		// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
1113		// Plus for old WebKit, typeof returns "function" for HTML collections
1114		// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
1115		return typeof obj === "function" && typeof obj.nodeType !== "number" &&
1116			typeof obj.item !== "function";
1117	};
1118
1119
1120var isWindow = function isWindow( obj ) {
1121		return obj != null && obj === obj.window;
1122	};
1123
1124
1125var document = window.document;
1126
1127
1128
1129	var preservedScriptAttributes = {
1130		type: true,
1131		src: true,
1132		nonce: true,
1133		noModule: true
1134	};
1135
1136	function DOMEval( code, node, doc ) {
1137		doc = doc || document;
1138
1139		var i, val,
1140			script = doc.createElement( "script" );
1141
1142		script.text = code;
1143		if ( node ) {
1144			for ( i in preservedScriptAttributes ) {
1145
1146				// Support: Firefox 64+, Edge 18+
1147				// Some browsers don't support the "nonce" property on scripts.
1148				// On the other hand, just using `getAttribute` is not enough as
1149				// the `nonce` attribute is reset to an empty string whenever it
1150				// becomes browsing-context connected.
1151				// See https://github.com/whatwg/html/issues/2369
1152				// See https://html.spec.whatwg.org/#nonce-attributes
1153				// The `node.getAttribute` check was added for the sake of
1154				// `jQuery.globalEval` so that it can fake a nonce-containing node
1155				// via an object.
1156				val = node[ i ] || node.getAttribute && node.getAttribute( i );
1157				if ( val ) {
1158					script.setAttribute( i, val );
1159				}
1160			}
1161		}
1162		doc.head.appendChild( script ).parentNode.removeChild( script );
1163	}
1164
1165
1166function toType( obj ) {
1167	if ( obj == null ) {
1168		return obj + "";
1169	}
1170
1171	// Support: Android <=2.3 only (functionish RegExp)
1172	return typeof obj === "object" || typeof obj === "function" ?
1173		class2type[ toString.call( obj ) ] || "object" :
1174		typeof obj;
1175}
1176/* global Symbol */
1177// Defining this global in .eslintrc.json would create a danger of using the global
1178// unguarded in another place, it seems safer to define global only for this module
1179
1180
1181
1182var
1183	version = "3.6.0",
1184
1185	// Define a local copy of jQuery
1186	jQuery = function( selector, context ) {
1187
1188		// The jQuery object is actually just the init constructor 'enhanced'
1189		// Need init if jQuery is called (just allow error to be thrown if not included)
1190		return new jQuery.fn.init( selector, context );
1191	};
1192
1193jQuery.fn = jQuery.prototype = {
1194
1195	// The current version of jQuery being used
1196	jquery: version,
1197
1198	constructor: jQuery,
1199
1200	// The default length of a jQuery object is 0
1201	length: 0,
1202
1203	toArray: function() {
1204		return slice.call( this );
1205	},
1206
1207	// Get the Nth element in the matched element set OR
1208	// Get the whole matched element set as a clean array
1209	get: function( num ) {
1210
1211		// Return all the elements in a clean array
1212		if ( num == null ) {
1213			return slice.call( this );
1214		}
1215
1216		// Return just the one element from the set
1217		return num < 0 ? this[ num + this.length ] : this[ num ];
1218	},
1219
1220	// Take an array of elements and push it onto the stack
1221	// (returning the new matched element set)
1222	pushStack: function( elems ) {
1223
1224		// Build a new jQuery matched element set
1225		var ret = jQuery.merge( this.constructor(), elems );
1226
1227		// Add the old object onto the stack (as a reference)
1228		ret.prevObject = this;
1229
1230		// Return the newly-formed element set
1231		return ret;
1232	},
1233
1234	// Execute a callback for every element in the matched set.
1235	each: function( callback ) {
1236		return jQuery.each( this, callback );
1237	},
1238
1239	map: function( callback ) {
1240		return this.pushStack( jQuery.map( this, function( elem, i ) {
1241			return callback.call( elem, i, elem );
1242		} ) );
1243	},
1244
1245	slice: function() {
1246		return this.pushStack( slice.apply( this, arguments ) );
1247	},
1248
1249	first: function() {
1250		return this.eq( 0 );
1251	},
1252
1253	last: function() {
1254		return this.eq( -1 );
1255	},
1256
1257	even: function() {
1258		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
1259			return ( i + 1 ) % 2;
1260		} ) );
1261	},
1262
1263	odd: function() {
1264		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
1265			return i % 2;
1266		} ) );
1267	},
1268
1269	eq: function( i ) {
1270		var len = this.length,
1271			j = +i + ( i < 0 ? len : 0 );
1272		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
1273	},
1274
1275	end: function() {
1276		return this.prevObject || this.constructor();
1277	},
1278
1279	// For internal use only.
1280	// Behaves like an Array's method, not like a jQuery method.
1281	push: push,
1282	sort: arr.sort,
1283	splice: arr.splice
1284};
1285
1286jQuery.extend = jQuery.fn.extend = function() {
1287	var options, name, src, copy, copyIsArray, clone,
1288		target = arguments[ 0 ] || {},
1289		i = 1,
1290		length = arguments.length,
1291		deep = false;
1292
1293	// Handle a deep copy situation
1294	if ( typeof target === "boolean" ) {
1295		deep = target;
1296
1297		// Skip the boolean and the target
1298		target = arguments[ i ] || {};
1299		i++;
1300	}
1301
1302	// Handle case when target is a string or something (possible in deep copy)
1303	if ( typeof target !== "object" && !isFunction( target ) ) {
1304		target = {};
1305	}
1306
1307	// Extend jQuery itself if only one argument is passed
1308	if ( i === length ) {
1309		target = this;
1310		i--;
1311	}
1312
1313	for ( ; i < length; i++ ) {
1314
1315		// Only deal with non-null/undefined values
1316		if ( ( options = arguments[ i ] ) != null ) {
1317
1318			// Extend the base object
1319			for ( name in options ) {
1320				copy = options[ name ];
1321
1322				// Prevent Object.prototype pollution
1323				// Prevent never-ending loop
1324				if ( name === "__proto__" || target === copy ) {
1325					continue;
1326				}
1327
1328				// Recurse if we're merging plain objects or arrays
1329				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
1330					( copyIsArray = Array.isArray( copy ) ) ) ) {
1331					src = target[ name ];
1332
1333					// Ensure proper type for the source value
1334					if ( copyIsArray && !Array.isArray( src ) ) {
1335						clone = [];
1336					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
1337						clone = {};
1338					} else {
1339						clone = src;
1340					}
1341					copyIsArray = false;
1342
1343					// Never move original objects, clone them
1344					target[ name ] = jQuery.extend( deep, clone, copy );
1345
1346				// Don't bring in undefined values
1347				} else if ( copy !== undefined ) {
1348					target[ name ] = copy;
1349				}
1350			}
1351		}
1352	}
1353
1354	// Return the modified object
1355	return target;
1356};
1357
1358jQuery.extend( {
1359
1360	// Unique for each copy of jQuery on the page
1361	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
1362
1363	// Assume jQuery is ready without the ready module
1364	isReady: true,
1365
1366	error: function( msg ) {
1367		throw new Error( msg );
1368	},
1369
1370	noop: function() {},
1371
1372	isPlainObject: function( obj ) {
1373		var proto, Ctor;
1374
1375		// Detect obvious negatives
1376		// Use toString instead of jQuery.type to catch host objects
1377		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
1378			return false;
1379		}
1380
1381		proto = getProto( obj );
1382
1383		// Objects with no prototype (e.g., `Object.create( null )`) are plain
1384		if ( !proto ) {
1385			return true;
1386		}
1387
1388		// Objects with prototype are plain iff they were constructed by a global Object function
1389		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
1390		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
1391	},
1392
1393	isEmptyObject: function( obj ) {
1394		var name;
1395
1396		for ( name in obj ) {
1397			return false;
1398		}
1399		return true;
1400	},
1401
1402	// Evaluates a script in a provided context; falls back to the global one
1403	// if not specified.
1404	globalEval: function( code, options, doc ) {
1405		DOMEval( code, { nonce: options && options.nonce }, doc );
1406	},
1407
1408	each: function( obj, callback ) {
1409		var length, i = 0;
1410
1411		if ( isArrayLike( obj ) ) {
1412			length = obj.length;
1413			for ( ; i < length; i++ ) {
1414				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
1415					break;
1416				}
1417			}
1418		} else {
1419			for ( i in obj ) {
1420				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
1421					break;
1422				}
1423			}
1424		}
1425
1426		return obj;
1427	},
1428
1429	// results is for internal usage only
1430	makeArray: function( arr, results ) {
1431		var ret = results || [];
1432
1433		if ( arr != null ) {
1434			if ( isArrayLike( Object( arr ) ) ) {
1435				jQuery.merge( ret,
1436					typeof arr === "string" ?
1437						[ arr ] : arr
1438				);
1439			} else {
1440				push.call( ret, arr );
1441			}
1442		}
1443
1444		return ret;
1445	},
1446
1447	inArray: function( elem, arr, i ) {
1448		return arr == null ? -1 : indexOf.call( arr, elem, i );
1449	},
1450
1451	// Support: Android <=4.0 only, PhantomJS 1 only
1452	// push.apply(_, arraylike) throws on ancient WebKit
1453	merge: function( first, second ) {
1454		var len = +second.length,
1455			j = 0,
1456			i = first.length;
1457
1458		for ( ; j < len; j++ ) {
1459			first[ i++ ] = second[ j ];
1460		}
1461
1462		first.length = i;
1463
1464		return first;
1465	},
1466
1467	grep: function( elems, callback, invert ) {
1468		var callbackInverse,
1469			matches = [],
1470			i = 0,
1471			length = elems.length,
1472			callbackExpect = !invert;
1473
1474		// Go through the array, only saving the items
1475		// that pass the validator function
1476		for ( ; i < length; i++ ) {
1477			callbackInverse = !callback( elems[ i ], i );
1478			if ( callbackInverse !== callbackExpect ) {
1479				matches.push( elems[ i ] );
1480			}
1481		}
1482
1483		return matches;
1484	},
1485
1486	// arg is for internal usage only
1487	map: function( elems, callback, arg ) {
1488		var length, value,
1489			i = 0,
1490			ret = [];
1491
1492		// Go through the array, translating each of the items to their new values
1493		if ( isArrayLike( elems ) ) {
1494			length = elems.length;
1495			for ( ; i < length; i++ ) {
1496				value = callback( elems[ i ], i, arg );
1497
1498				if ( value != null ) {
1499					ret.push( value );
1500				}
1501			}
1502
1503		// Go through every key on the object,
1504		} else {
1505			for ( i in elems ) {
1506				value = callback( elems[ i ], i, arg );
1507
1508				if ( value != null ) {
1509					ret.push( value );
1510				}
1511			}
1512		}
1513
1514		// Flatten any nested arrays
1515		return flat( ret );
1516	},
1517
1518	// A global GUID counter for objects
1519	guid: 1,
1520
1521	// jQuery.support is not used in Core but other projects attach their
1522	// properties to it so it needs to exist.
1523	support: support
1524} );
1525
1526if ( typeof Symbol === "function" ) {
1527	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
1528}
1529
1530// Populate the class2type map
1531jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
1532	function( _i, name ) {
1533		class2type[ "[object " + name + "]" ] = name.toLowerCase();
1534	} );
1535
1536function isArrayLike( obj ) {
1537
1538	// Support: real iOS 8.2 only (not reproducible in simulator)
1539	// `in` check used to prevent JIT error (gh-2145)
1540	// hasOwn isn't used here due to false negatives
1541	// regarding Nodelist length in IE
1542	var length = !!obj && "length" in obj && obj.length,
1543		type = toType( obj );
1544
1545	if ( isFunction( obj ) || isWindow( obj ) ) {
1546		return false;
1547	}
1548
1549	return type === "array" || length === 0 ||
1550		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
1551}
1552var Sizzle =
1553/*!
1554 * Sizzle CSS Selector Engine v2.3.6
1555 * https://sizzlejs.com/
1556 *
1557 * Copyright JS Foundation and other contributors
1558 * Released under the MIT license
1559 * https://js.foundation/
1560 *
1561 * Date: 2021-02-16
1562 */
1563( function( window ) {
1564var i,
1565	support,
1566	Expr,
1567	getText,
1568	isXML,
1569	tokenize,
1570	compile,
1571	select,
1572	outermostContext,
1573	sortInput,
1574	hasDuplicate,
1575
1576	// Local document vars
1577	setDocument,
1578	document,
1579	docElem,
1580	documentIsHTML,
1581	rbuggyQSA,
1582	rbuggyMatches,
1583	matches,
1584	contains,
1585
1586	// Instance-specific data
1587	expando = "sizzle" + 1 * new Date(),
1588	preferredDoc = window.document,
1589	dirruns = 0,
1590	done = 0,
1591	classCache = createCache(),
1592	tokenCache = createCache(),
1593	compilerCache = createCache(),
1594	nonnativeSelectorCache = createCache(),
1595	sortOrder = function( a, b ) {
1596		if ( a === b ) {
1597			hasDuplicate = true;
1598		}
1599		return 0;
1600	},
1601
1602	// Instance methods
1603	hasOwn = ( {} ).hasOwnProperty,
1604	arr = [],
1605	pop = arr.pop,
1606	pushNative = arr.push,
1607	push = arr.push,
1608	slice = arr.slice,
1609
1610	// Use a stripped-down indexOf as it's faster than native
1611	// https://jsperf.com/thor-indexof-vs-for/5
1612	indexOf = function( list, elem ) {
1613		var i = 0,
1614			len = list.length;
1615		for ( ; i < len; i++ ) {
1616			if ( list[ i ] === elem ) {
1617				return i;
1618			}
1619		}
1620		return -1;
1621	},
1622
1623	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
1624		"ismap|loop|multiple|open|readonly|required|scoped",
1625
1626	// Regular expressions
1627
1628	// http://www.w3.org/TR/css3-selectors/#whitespace
1629	whitespace = "[\\x20\\t\\r\\n\\f]",
1630
1631	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
1632	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
1633		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
1634
1635	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
1636	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
1637
1638		// Operator (capture 2)
1639		"*([*^$|!~]?=)" + whitespace +
1640
1641		// "Attribute values must be CSS identifiers [capture 5]
1642		// or strings [capture 3 or capture 4]"
1643		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
1644		whitespace + "*\\]",
1645
1646	pseudos = ":(" + identifier + ")(?:\\((" +
1647
1648		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
1649		// 1. quoted (capture 3; capture 4 or capture 5)
1650		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
1651
1652		// 2. simple (capture 6)
1653		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
1654
1655		// 3. anything else (capture 2)
1656		".*" +
1657		")\\)|)",
1658
1659	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
1660	rwhitespace = new RegExp( whitespace + "+", "g" ),
1661	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
1662		whitespace + "+$", "g" ),
1663
1664	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
1665	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
1666		"*" ),
1667	rdescend = new RegExp( whitespace + "|>" ),
1668
1669	rpseudo = new RegExp( pseudos ),
1670	ridentifier = new RegExp( "^" + identifier + "$" ),
1671
1672	matchExpr = {
1673		"ID": new RegExp( "^#(" + identifier + ")" ),
1674		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
1675		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
1676		"ATTR": new RegExp( "^" + attributes ),
1677		"PSEUDO": new RegExp( "^" + pseudos ),
1678		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
1679			whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
1680			whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
1681		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
1682
1683		// For use in libraries implementing .is()
1684		// We use this for POS matching in `select`
1685		"needsContext": new RegExp( "^" + whitespace +
1686			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
1687			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
1688	},
1689
1690	rhtml = /HTML$/i,
1691	rinputs = /^(?:input|select|textarea|button)$/i,
1692	rheader = /^h\d$/i,
1693
1694	rnative = /^[^{]+\{\s*\[native \w/,
1695
1696	// Easily-parseable/retrievable ID or TAG or CLASS selectors
1697	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
1698
1699	rsibling = /[+~]/,
1700
1701	// CSS escapes
1702	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
1703	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
1704	funescape = function( escape, nonHex ) {
1705		var high = "0x" + escape.slice( 1 ) - 0x10000;
1706
1707		return nonHex ?
1708
1709			// Strip the backslash prefix from a non-hex escape sequence
1710			nonHex :
1711
1712			// Replace a hexadecimal escape sequence with the encoded Unicode code point
1713			// Support: IE <=11+
1714			// For values outside the Basic Multilingual Plane (BMP), manually construct a
1715			// surrogate pair
1716			high < 0 ?
1717				String.fromCharCode( high + 0x10000 ) :
1718				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
1719	},
1720
1721	// CSS string/identifier serialization
1722	// https://drafts.csswg.org/cssom/#common-serializing-idioms
1723	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
1724	fcssescape = function( ch, asCodePoint ) {
1725		if ( asCodePoint ) {
1726
1727			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
1728			if ( ch === "\0" ) {
1729				return "\uFFFD";
1730			}
1731
1732			// Control characters and (dependent upon position) numbers get escaped as code points
1733			return ch.slice( 0, -1 ) + "\\" +
1734				ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
1735		}
1736
1737		// Other potentially-special ASCII characters get backslash-escaped
1738		return "\\" + ch;
1739	},
1740
1741	// Used for iframes
1742	// See setDocument()
1743	// Removing the function wrapper causes a "Permission Denied"
1744	// error in IE
1745	unloadHandler = function() {
1746		setDocument();
1747	},
1748
1749	inDisabledFieldset = addCombinator(
1750		function( elem ) {
1751			return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
1752		},
1753		{ dir: "parentNode", next: "legend" }
1754	);
1755
1756// Optimize for push.apply( _, NodeList )
1757try {
1758	push.apply(
1759		( arr = slice.call( preferredDoc.childNodes ) ),
1760		preferredDoc.childNodes
1761	);
1762
1763	// Support: Android<4.0
1764	// Detect silently failing push.apply
1765	// eslint-disable-next-line no-unused-expressions
1766	arr[ preferredDoc.childNodes.length ].nodeType;
1767} catch ( e ) {
1768	push = { apply: arr.length ?
1769
1770		// Leverage slice if possible
1771		function( target, els ) {
1772			pushNative.apply( target, slice.call( els ) );
1773		} :
1774
1775		// Support: IE<9
1776		// Otherwise append directly
1777		function( target, els ) {
1778			var j = target.length,
1779				i = 0;
1780
1781			// Can't trust NodeList.length
1782			while ( ( target[ j++ ] = els[ i++ ] ) ) {}
1783			target.length = j - 1;
1784		}
1785	};
1786}
1787
1788function Sizzle( selector, context, results, seed ) {
1789	var m, i, elem, nid, match, groups, newSelector,
1790		newContext = context && context.ownerDocument,
1791
1792		// nodeType defaults to 9, since context defaults to document
1793		nodeType = context ? context.nodeType : 9;
1794
1795	results = results || [];
1796
1797	// Return early from calls with invalid selector or context
1798	if ( typeof selector !== "string" || !selector ||
1799		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
1800
1801		return results;
1802	}
1803
1804	// Try to shortcut find operations (as opposed to filters) in HTML documents
1805	if ( !seed ) {
1806		setDocument( context );
1807		context = context || document;
1808
1809		if ( documentIsHTML ) {
1810
1811			// If the selector is sufficiently simple, try using a "get*By*" DOM method
1812			// (excepting DocumentFragment context, where the methods don't exist)
1813			if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
1814
1815				// ID selector
1816				if ( ( m = match[ 1 ] ) ) {
1817
1818					// Document context
1819					if ( nodeType === 9 ) {
1820						if ( ( elem = context.getElementById( m ) ) ) {
1821
1822							// Support: IE, Opera, Webkit
1823							// TODO: identify versions
1824							// getElementById can match elements by name instead of ID
1825							if ( elem.id === m ) {
1826								results.push( elem );
1827								return results;
1828							}
1829						} else {
1830							return results;
1831						}
1832
1833					// Element context
1834					} else {
1835
1836						// Support: IE, Opera, Webkit
1837						// TODO: identify versions
1838						// getElementById can match elements by name instead of ID
1839						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
1840							contains( context, elem ) &&
1841							elem.id === m ) {
1842
1843							results.push( elem );
1844							return results;
1845						}
1846					}
1847
1848				// Type selector
1849				} else if ( match[ 2 ] ) {
1850					push.apply( results, context.getElementsByTagName( selector ) );
1851					return results;
1852
1853				// Class selector
1854				} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
1855					context.getElementsByClassName ) {
1856
1857					push.apply( results, context.getElementsByClassName( m ) );
1858					return results;
1859				}
1860			}
1861
1862			// Take advantage of querySelectorAll
1863			if ( support.qsa &&
1864				!nonnativeSelectorCache[ selector + " " ] &&
1865				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
1866
1867				// Support: IE 8 only
1868				// Exclude object elements
1869				( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
1870
1871				newSelector = selector;
1872				newContext = context;
1873
1874				// qSA considers elements outside a scoping root when evaluating child or
1875				// descendant combinators, which is not what we want.
1876				// In such cases, we work around the behavior by prefixing every selector in the
1877				// list with an ID selector referencing the scope context.
1878				// The technique has to be used as well when a leading combinator is used
1879				// as such selectors are not recognized by querySelectorAll.
1880				// Thanks to Andrew Dupont for this technique.
1881				if ( nodeType === 1 &&
1882					( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
1883
1884					// Expand context for sibling selectors
1885					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
1886						context;
1887
1888					// We can use :scope instead of the ID hack if the browser
1889					// supports it & if we're not changing the context.
1890					if ( newContext !== context || !support.scope ) {
1891
1892						// Capture the context ID, setting it first if necessary
1893						if ( ( nid = context.getAttribute( "id" ) ) ) {
1894							nid = nid.replace( rcssescape, fcssescape );
1895						} else {
1896							context.setAttribute( "id", ( nid = expando ) );
1897						}
1898					}
1899
1900					// Prefix every selector in the list
1901					groups = tokenize( selector );
1902					i = groups.length;
1903					while ( i-- ) {
1904						groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
1905							toSelector( groups[ i ] );
1906					}
1907					newSelector = groups.join( "," );
1908				}
1909
1910				try {
1911					push.apply( results,
1912						newContext.querySelectorAll( newSelector )
1913					);
1914					return results;
1915				} catch ( qsaError ) {
1916					nonnativeSelectorCache( selector, true );
1917				} finally {
1918					if ( nid === expando ) {
1919						context.removeAttribute( "id" );
1920					}
1921				}
1922			}
1923		}
1924	}
1925
1926	// All others
1927	return select( selector.replace( rtrim, "$1" ), context, results, seed );
1928}
1929
1930/**
1931 * Create key-value caches of limited size
1932 * @returns {function(string, object)} Returns the Object data after storing it on itself with
1933 *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
1934 *	deleting the oldest entry
1935 */
1936function createCache() {
1937	var keys = [];
1938
1939	function cache( key, value ) {
1940
1941		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
1942		if ( keys.push( key + " " ) > Expr.cacheLength ) {
1943
1944			// Only keep the most recent entries
1945			delete cache[ keys.shift() ];
1946		}
1947		return ( cache[ key + " " ] = value );
1948	}
1949	return cache;
1950}
1951
1952/**
1953 * Mark a function for special use by Sizzle
1954 * @param {Function} fn The function to mark
1955 */
1956function markFunction( fn ) {
1957	fn[ expando ] = true;
1958	return fn;
1959}
1960
1961/**
1962 * Support testing using an element
1963 * @param {Function} fn Passed the created element and returns a boolean result
1964 */
1965function assert( fn ) {
1966	var el = document.createElement( "fieldset" );
1967
1968	try {
1969		return !!fn( el );
1970	} catch ( e ) {
1971		return false;
1972	} finally {
1973
1974		// Remove from its parent by default
1975		if ( el.parentNode ) {
1976			el.parentNode.removeChild( el );
1977		}
1978
1979		// release memory in IE
1980		el = null;
1981	}
1982}
1983
1984/**
1985 * Adds the same handler for all of the specified attrs
1986 * @param {String} attrs Pipe-separated list of attributes
1987 * @param {Function} handler The method that will be applied
1988 */
1989function addHandle( attrs, handler ) {
1990	var arr = attrs.split( "|" ),
1991		i = arr.length;
1992
1993	while ( i-- ) {
1994		Expr.attrHandle[ arr[ i ] ] = handler;
1995	}
1996}
1997
1998/**
1999 * Checks document order of two siblings
2000 * @param {Element} a
2001 * @param {Element} b
2002 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
2003 */
2004function siblingCheck( a, b ) {
2005	var cur = b && a,
2006		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
2007			a.sourceIndex - b.sourceIndex;
2008
2009	// Use IE sourceIndex if available on both nodes
2010	if ( diff ) {
2011		return diff;
2012	}
2013
2014	// Check if b follows a
2015	if ( cur ) {
2016		while ( ( cur = cur.nextSibling ) ) {
2017			if ( cur === b ) {
2018				return -1;
2019			}
2020		}
2021	}
2022
2023	return a ? 1 : -1;
2024}
2025
2026/**
2027 * Returns a function to use in pseudos for input types
2028 * @param {String} type
2029 */
2030function createInputPseudo( type ) {
2031	return function( elem ) {
2032		var name = elem.nodeName.toLowerCase();
2033		return name === "input" && elem.type === type;
2034	};
2035}
2036
2037/**
2038 * Returns a function to use in pseudos for buttons
2039 * @param {String} type
2040 */
2041function createButtonPseudo( type ) {
2042	return function( elem ) {
2043		var name = elem.nodeName.toLowerCase();
2044		return ( name === "input" || name === "button" ) && elem.type === type;
2045	};
2046}
2047
2048/**
2049 * Returns a function to use in pseudos for :enabled/:disabled
2050 * @param {Boolean} disabled true for :disabled; false for :enabled
2051 */
2052function createDisabledPseudo( disabled ) {
2053
2054	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
2055	return function( elem ) {
2056
2057		// Only certain elements can match :enabled or :disabled
2058		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
2059		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
2060		if ( "form" in elem ) {
2061
2062			// Check for inherited disabledness on relevant non-disabled elements:
2063			// * listed form-associated elements in a disabled fieldset
2064			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
2065			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
2066			// * option elements in a disabled optgroup
2067			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
2068			// All such elements have a "form" property.
2069			if ( elem.parentNode && elem.disabled === false ) {
2070
2071				// Option elements defer to a parent optgroup if present
2072				if ( "label" in elem ) {
2073					if ( "label" in elem.parentNode ) {
2074						return elem.parentNode.disabled === disabled;
2075					} else {
2076						return elem.disabled === disabled;
2077					}
2078				}
2079
2080				// Support: IE 6 - 11
2081				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
2082				return elem.isDisabled === disabled ||
2083
2084					// Where there is no isDisabled, check manually
2085					/* jshint -W018 */
2086					elem.isDisabled !== !disabled &&
2087					inDisabledFieldset( elem ) === disabled;
2088			}
2089
2090			return elem.disabled === disabled;
2091
2092		// Try to winnow out elements that can't be disabled before trusting the disabled property.
2093		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
2094		// even exist on them, let alone have a boolean value.
2095		} else if ( "label" in elem ) {
2096			return elem.disabled === disabled;
2097		}
2098
2099		// Remaining elements are neither :enabled nor :disabled
2100		return false;
2101	};
2102}
2103
2104/**
2105 * Returns a function to use in pseudos for positionals
2106 * @param {Function} fn
2107 */
2108function createPositionalPseudo( fn ) {
2109	return markFunction( function( argument ) {
2110		argument = +argument;
2111		return markFunction( function( seed, matches ) {
2112			var j,
2113				matchIndexes = fn( [], seed.length, argument ),
2114				i = matchIndexes.length;
2115
2116			// Match elements found at the specified indexes
2117			while ( i-- ) {
2118				if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
2119					seed[ j ] = !( matches[ j ] = seed[ j ] );
2120				}
2121			}
2122		} );
2123	} );
2124}
2125
2126/**
2127 * Checks a node for validity as a Sizzle context
2128 * @param {Element|Object=} context
2129 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
2130 */
2131function testContext( context ) {
2132	return context && typeof context.getElementsByTagName !== "undefined" && context;
2133}
2134
2135// Expose support vars for convenience
2136support = Sizzle.support = {};
2137
2138/**
2139 * Detects XML nodes
2140 * @param {Element|Object} elem An element or a document
2141 * @returns {Boolean} True iff elem is a non-HTML XML node
2142 */
2143isXML = Sizzle.isXML = function( elem ) {
2144	var namespace = elem && elem.namespaceURI,
2145		docElem = elem && ( elem.ownerDocument || elem ).documentElement;
2146
2147	// Support: IE <=8
2148	// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
2149	// https://bugs.jquery.com/ticket/4833
2150	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
2151};
2152
2153/**
2154 * Sets document-related variables once based on the current document
2155 * @param {Element|Object} [doc] An element or document object to use to set the document
2156 * @returns {Object} Returns the current document
2157 */
2158setDocument = Sizzle.setDocument = function( node ) {
2159	var hasCompare, subWindow,
2160		doc = node ? node.ownerDocument || node : preferredDoc;
2161
2162	// Return early if doc is invalid or already selected
2163	// Support: IE 11+, Edge 17 - 18+
2164	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2165	// two documents; shallow comparisons work.
2166	// eslint-disable-next-line eqeqeq
2167	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
2168		return document;
2169	}
2170
2171	// Update global variables
2172	document = doc;
2173	docElem = document.documentElement;
2174	documentIsHTML = !isXML( document );
2175
2176	// Support: IE 9 - 11+, Edge 12 - 18+
2177	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
2178	// Support: IE 11+, Edge 17 - 18+
2179	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2180	// two documents; shallow comparisons work.
2181	// eslint-disable-next-line eqeqeq
2182	if ( preferredDoc != document &&
2183		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
2184
2185		// Support: IE 11, Edge
2186		if ( subWindow.addEventListener ) {
2187			subWindow.addEventListener( "unload", unloadHandler, false );
2188
2189		// Support: IE 9 - 10 only
2190		} else if ( subWindow.attachEvent ) {
2191			subWindow.attachEvent( "onunload", unloadHandler );
2192		}
2193	}
2194
2195	// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
2196	// Safari 4 - 5 only, Opera <=11.6 - 12.x only
2197	// IE/Edge & older browsers don't support the :scope pseudo-class.
2198	// Support: Safari 6.0 only
2199	// Safari 6.0 supports :scope but it's an alias of :root there.
2200	support.scope = assert( function( el ) {
2201		docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
2202		return typeof el.querySelectorAll !== "undefined" &&
2203			!el.querySelectorAll( ":scope fieldset div" ).length;
2204	} );
2205
2206	/* Attributes
2207	---------------------------------------------------------------------- */
2208
2209	// Support: IE<8
2210	// Verify that getAttribute really returns attributes and not properties
2211	// (excepting IE8 booleans)
2212	support.attributes = assert( function( el ) {
2213		el.className = "i";
2214		return !el.getAttribute( "className" );
2215	} );
2216
2217	/* getElement(s)By*
2218	---------------------------------------------------------------------- */
2219
2220	// Check if getElementsByTagName("*") returns only elements
2221	support.getElementsByTagName = assert( function( el ) {
2222		el.appendChild( document.createComment( "" ) );
2223		return !el.getElementsByTagName( "*" ).length;
2224	} );
2225
2226	// Support: IE<9
2227	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
2228
2229	// Support: IE<10
2230	// Check if getElementById returns elements by name
2231	// The broken getElementById methods don't pick up programmatically-set names,
2232	// so use a roundabout getElementsByName test
2233	support.getById = assert( function( el ) {
2234		docElem.appendChild( el ).id = expando;
2235		return !document.getElementsByName || !document.getElementsByName( expando ).length;
2236	} );
2237
2238	// ID filter and find
2239	if ( support.getById ) {
2240		Expr.filter[ "ID" ] = function( id ) {
2241			var attrId = id.replace( runescape, funescape );
2242			return function( elem ) {
2243				return elem.getAttribute( "id" ) === attrId;
2244			};
2245		};
2246		Expr.find[ "ID" ] = function( id, context ) {
2247			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
2248				var elem = context.getElementById( id );
2249				return elem ? [ elem ] : [];
2250			}
2251		};
2252	} else {
2253		Expr.filter[ "ID" ] =  function( id ) {
2254			var attrId = id.replace( runescape, funescape );
2255			return function( elem ) {
2256				var node = typeof elem.getAttributeNode !== "undefined" &&
2257					elem.getAttributeNode( "id" );
2258				return node && node.value === attrId;
2259			};
2260		};
2261
2262		// Support: IE 6 - 7 only
2263		// getElementById is not reliable as a find shortcut
2264		Expr.find[ "ID" ] = function( id, context ) {
2265			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
2266				var node, i, elems,
2267					elem = context.getElementById( id );
2268
2269				if ( elem ) {
2270
2271					// Verify the id attribute
2272					node = elem.getAttributeNode( "id" );
2273					if ( node && node.value === id ) {
2274						return [ elem ];
2275					}
2276
2277					// Fall back on getElementsByName
2278					elems = context.getElementsByName( id );
2279					i = 0;
2280					while ( ( elem = elems[ i++ ] ) ) {
2281						node = elem.getAttributeNode( "id" );
2282						if ( node && node.value === id ) {
2283							return [ elem ];
2284						}
2285					}
2286				}
2287
2288				return [];
2289			}
2290		};
2291	}
2292
2293	// Tag
2294	Expr.find[ "TAG" ] = support.getElementsByTagName ?
2295		function( tag, context ) {
2296			if ( typeof context.getElementsByTagName !== "undefined" ) {
2297				return context.getElementsByTagName( tag );
2298
2299			// DocumentFragment nodes don't have gEBTN
2300			} else if ( support.qsa ) {
2301				return context.querySelectorAll( tag );
2302			}
2303		} :
2304
2305		function( tag, context ) {
2306			var elem,
2307				tmp = [],
2308				i = 0,
2309
2310				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
2311				results = context.getElementsByTagName( tag );
2312
2313			// Filter out possible comments
2314			if ( tag === "*" ) {
2315				while ( ( elem = results[ i++ ] ) ) {
2316					if ( elem.nodeType === 1 ) {
2317						tmp.push( elem );
2318					}
2319				}
2320
2321				return tmp;
2322			}
2323			return results;
2324		};
2325
2326	// Class
2327	Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
2328		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
2329			return context.getElementsByClassName( className );
2330		}
2331	};
2332
2333	/* QSA/matchesSelector
2334	---------------------------------------------------------------------- */
2335
2336	// QSA and matchesSelector support
2337
2338	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
2339	rbuggyMatches = [];
2340
2341	// qSa(:focus) reports false when true (Chrome 21)
2342	// We allow this because of a bug in IE8/9 that throws an error
2343	// whenever `document.activeElement` is accessed on an iframe
2344	// So, we allow :focus to pass through QSA all the time to avoid the IE error
2345	// See https://bugs.jquery.com/ticket/13378
2346	rbuggyQSA = [];
2347
2348	if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
2349
2350		// Build QSA regex
2351		// Regex strategy adopted from Diego Perini
2352		assert( function( el ) {
2353
2354			var input;
2355
2356			// Select is set to empty string on purpose
2357			// This is to test IE's treatment of not explicitly
2358			// setting a boolean content attribute,
2359			// since its presence should be enough
2360			// https://bugs.jquery.com/ticket/12359
2361			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
2362				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
2363				"<option selected=''></option></select>";
2364
2365			// Support: IE8, Opera 11-12.16
2366			// Nothing should be selected when empty strings follow ^= or $= or *=
2367			// The test attribute must be unknown in Opera but "safe" for WinRT
2368			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
2369			if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
2370				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
2371			}
2372
2373			// Support: IE8
2374			// Boolean attributes and "value" are not treated correctly
2375			if ( !el.querySelectorAll( "[selected]" ).length ) {
2376				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
2377			}
2378
2379			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
2380			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
2381				rbuggyQSA.push( "~=" );
2382			}
2383
2384			// Support: IE 11+, Edge 15 - 18+
2385			// IE 11/Edge don't find elements on a `[name='']` query in some cases.
2386			// Adding a temporary attribute to the document before the selection works
2387			// around the issue.
2388			// Interestingly, IE 10 & older don't seem to have the issue.
2389			input = document.createElement( "input" );
2390			input.setAttribute( "name", "" );
2391			el.appendChild( input );
2392			if ( !el.querySelectorAll( "[name='']" ).length ) {
2393				rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
2394					whitespace + "*(?:''|\"\")" );
2395			}
2396
2397			// Webkit/Opera - :checked should return selected option elements
2398			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2399			// IE8 throws error here and will not see later tests
2400			if ( !el.querySelectorAll( ":checked" ).length ) {
2401				rbuggyQSA.push( ":checked" );
2402			}
2403
2404			// Support: Safari 8+, iOS 8+
2405			// https://bugs.webkit.org/show_bug.cgi?id=136851
2406			// In-page `selector#id sibling-combinator selector` fails
2407			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
2408				rbuggyQSA.push( ".#.+[+~]" );
2409			}
2410
2411			// Support: Firefox <=3.6 - 5 only
2412			// Old Firefox doesn't throw on a badly-escaped identifier.
2413			el.querySelectorAll( "\\\f" );
2414			rbuggyQSA.push( "[\\r\\n\\f]" );
2415		} );
2416
2417		assert( function( el ) {
2418			el.innerHTML = "<a href='' disabled='disabled'></a>" +
2419				"<select disabled='disabled'><option/></select>";
2420
2421			// Support: Windows 8 Native Apps
2422			// The type and name attributes are restricted during .innerHTML assignment
2423			var input = document.createElement( "input" );
2424			input.setAttribute( "type", "hidden" );
2425			el.appendChild( input ).setAttribute( "name", "D" );
2426
2427			// Support: IE8
2428			// Enforce case-sensitivity of name attribute
2429			if ( el.querySelectorAll( "[name=d]" ).length ) {
2430				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
2431			}
2432
2433			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
2434			// IE8 throws error here and will not see later tests
2435			if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
2436				rbuggyQSA.push( ":enabled", ":disabled" );
2437			}
2438
2439			// Support: IE9-11+
2440			// IE's :disabled selector does not pick up the children of disabled fieldsets
2441			docElem.appendChild( el ).disabled = true;
2442			if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
2443				rbuggyQSA.push( ":enabled", ":disabled" );
2444			}
2445
2446			// Support: Opera 10 - 11 only
2447			// Opera 10-11 does not throw on post-comma invalid pseudos
2448			el.querySelectorAll( "*,:x" );
2449			rbuggyQSA.push( ",.*:" );
2450		} );
2451	}
2452
2453	if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
2454		docElem.webkitMatchesSelector ||
2455		docElem.mozMatchesSelector ||
2456		docElem.oMatchesSelector ||
2457		docElem.msMatchesSelector ) ) ) ) {
2458
2459		assert( function( el ) {
2460
2461			// Check to see if it's possible to do matchesSelector
2462			// on a disconnected node (IE 9)
2463			support.disconnectedMatch = matches.call( el, "*" );
2464
2465			// This should fail with an exception
2466			// Gecko does not error, returns false instead
2467			matches.call( el, "[s!='']:x" );
2468			rbuggyMatches.push( "!=", pseudos );
2469		} );
2470	}
2471
2472	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
2473	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
2474
2475	/* Contains
2476	---------------------------------------------------------------------- */
2477	hasCompare = rnative.test( docElem.compareDocumentPosition );
2478
2479	// Element contains another
2480	// Purposefully self-exclusive
2481	// As in, an element does not contain itself
2482	contains = hasCompare || rnative.test( docElem.contains ) ?
2483		function( a, b ) {
2484			var adown = a.nodeType === 9 ? a.documentElement : a,
2485				bup = b && b.parentNode;
2486			return a === bup || !!( bup && bup.nodeType === 1 && (
2487				adown.contains ?
2488					adown.contains( bup ) :
2489					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
2490			) );
2491		} :
2492		function( a, b ) {
2493			if ( b ) {
2494				while ( ( b = b.parentNode ) ) {
2495					if ( b === a ) {
2496						return true;
2497					}
2498				}
2499			}
2500			return false;
2501		};
2502
2503	/* Sorting
2504	---------------------------------------------------------------------- */
2505
2506	// Document order sorting
2507	sortOrder = hasCompare ?
2508	function( a, b ) {
2509
2510		// Flag for duplicate removal
2511		if ( a === b ) {
2512			hasDuplicate = true;
2513			return 0;
2514		}
2515
2516		// Sort on method existence if only one input has compareDocumentPosition
2517		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
2518		if ( compare ) {
2519			return compare;
2520		}
2521
2522		// Calculate position if both inputs belong to the same document
2523		// Support: IE 11+, Edge 17 - 18+
2524		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2525		// two documents; shallow comparisons work.
2526		// eslint-disable-next-line eqeqeq
2527		compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
2528			a.compareDocumentPosition( b ) :
2529
2530			// Otherwise we know they are disconnected
2531			1;
2532
2533		// Disconnected nodes
2534		if ( compare & 1 ||
2535			( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
2536
2537			// Choose the first element that is related to our preferred document
2538			// Support: IE 11+, Edge 17 - 18+
2539			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2540			// two documents; shallow comparisons work.
2541			// eslint-disable-next-line eqeqeq
2542			if ( a == document || a.ownerDocument == preferredDoc &&
2543				contains( preferredDoc, a ) ) {
2544				return -1;
2545			}
2546
2547			// Support: IE 11+, Edge 17 - 18+
2548			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2549			// two documents; shallow comparisons work.
2550			// eslint-disable-next-line eqeqeq
2551			if ( b == document || b.ownerDocument == preferredDoc &&
2552				contains( preferredDoc, b ) ) {
2553				return 1;
2554			}
2555
2556			// Maintain original order
2557			return sortInput ?
2558				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
2559				0;
2560		}
2561
2562		return compare & 4 ? -1 : 1;
2563	} :
2564	function( a, b ) {
2565
2566		// Exit early if the nodes are identical
2567		if ( a === b ) {
2568			hasDuplicate = true;
2569			return 0;
2570		}
2571
2572		var cur,
2573			i = 0,
2574			aup = a.parentNode,
2575			bup = b.parentNode,
2576			ap = [ a ],
2577			bp = [ b ];
2578
2579		// Parentless nodes are either documents or disconnected
2580		if ( !aup || !bup ) {
2581
2582			// Support: IE 11+, Edge 17 - 18+
2583			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2584			// two documents; shallow comparisons work.
2585			/* eslint-disable eqeqeq */
2586			return a == document ? -1 :
2587				b == document ? 1 :
2588				/* eslint-enable eqeqeq */
2589				aup ? -1 :
2590				bup ? 1 :
2591				sortInput ?
2592				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
2593				0;
2594
2595		// If the nodes are siblings, we can do a quick check
2596		} else if ( aup === bup ) {
2597			return siblingCheck( a, b );
2598		}
2599
2600		// Otherwise we need full lists of their ancestors for comparison
2601		cur = a;
2602		while ( ( cur = cur.parentNode ) ) {
2603			ap.unshift( cur );
2604		}
2605		cur = b;
2606		while ( ( cur = cur.parentNode ) ) {
2607			bp.unshift( cur );
2608		}
2609
2610		// Walk down the tree looking for a discrepancy
2611		while ( ap[ i ] === bp[ i ] ) {
2612			i++;
2613		}
2614
2615		return i ?
2616
2617			// Do a sibling check if the nodes have a common ancestor
2618			siblingCheck( ap[ i ], bp[ i ] ) :
2619
2620			// Otherwise nodes in our document sort first
2621			// Support: IE 11+, Edge 17 - 18+
2622			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2623			// two documents; shallow comparisons work.
2624			/* eslint-disable eqeqeq */
2625			ap[ i ] == preferredDoc ? -1 :
2626			bp[ i ] == preferredDoc ? 1 :
2627			/* eslint-enable eqeqeq */
2628			0;
2629	};
2630
2631	return document;
2632};
2633
2634Sizzle.matches = function( expr, elements ) {
2635	return Sizzle( expr, null, null, elements );
2636};
2637
2638Sizzle.matchesSelector = function( elem, expr ) {
2639	setDocument( elem );
2640
2641	if ( support.matchesSelector && documentIsHTML &&
2642		!nonnativeSelectorCache[ expr + " " ] &&
2643		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
2644		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
2645
2646		try {
2647			var ret = matches.call( elem, expr );
2648
2649			// IE 9's matchesSelector returns false on disconnected nodes
2650			if ( ret || support.disconnectedMatch ||
2651
2652				// As well, disconnected nodes are said to be in a document
2653				// fragment in IE 9
2654				elem.document && elem.document.nodeType !== 11 ) {
2655				return ret;
2656			}
2657		} catch ( e ) {
2658			nonnativeSelectorCache( expr, true );
2659		}
2660	}
2661
2662	return Sizzle( expr, document, null, [ elem ] ).length > 0;
2663};
2664
2665Sizzle.contains = function( context, elem ) {
2666
2667	// Set document vars if needed
2668	// Support: IE 11+, Edge 17 - 18+
2669	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2670	// two documents; shallow comparisons work.
2671	// eslint-disable-next-line eqeqeq
2672	if ( ( context.ownerDocument || context ) != document ) {
2673		setDocument( context );
2674	}
2675	return contains( context, elem );
2676};
2677
2678Sizzle.attr = function( elem, name ) {
2679
2680	// Set document vars if needed
2681	// Support: IE 11+, Edge 17 - 18+
2682	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2683	// two documents; shallow comparisons work.
2684	// eslint-disable-next-line eqeqeq
2685	if ( ( elem.ownerDocument || elem ) != document ) {
2686		setDocument( elem );
2687	}
2688
2689	var fn = Expr.attrHandle[ name.toLowerCase() ],
2690
2691		// Don't get fooled by Object.prototype properties (jQuery #13807)
2692		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
2693			fn( elem, name, !documentIsHTML ) :
2694			undefined;
2695
2696	return val !== undefined ?
2697		val :
2698		support.attributes || !documentIsHTML ?
2699			elem.getAttribute( name ) :
2700			( val = elem.getAttributeNode( name ) ) && val.specified ?
2701				val.value :
2702				null;
2703};
2704
2705Sizzle.escape = function( sel ) {
2706	return ( sel + "" ).replace( rcssescape, fcssescape );
2707};
2708
2709Sizzle.error = function( msg ) {
2710	throw new Error( "Syntax error, unrecognized expression: " + msg );
2711};
2712
2713/**
2714 * Document sorting and removing duplicates
2715 * @param {ArrayLike} results
2716 */
2717Sizzle.uniqueSort = function( results ) {
2718	var elem,
2719		duplicates = [],
2720		j = 0,
2721		i = 0;
2722
2723	// Unless we *know* we can detect duplicates, assume their presence
2724	hasDuplicate = !support.detectDuplicates;
2725	sortInput = !support.sortStable && results.slice( 0 );
2726	results.sort( sortOrder );
2727
2728	if ( hasDuplicate ) {
2729		while ( ( elem = results[ i++ ] ) ) {
2730			if ( elem === results[ i ] ) {
2731				j = duplicates.push( i );
2732			}
2733		}
2734		while ( j-- ) {
2735			results.splice( duplicates[ j ], 1 );
2736		}
2737	}
2738
2739	// Clear input after sorting to release objects
2740	// See https://github.com/jquery/sizzle/pull/225
2741	sortInput = null;
2742
2743	return results;
2744};
2745
2746/**
2747 * Utility function for retrieving the text value of an array of DOM nodes
2748 * @param {Array|Element} elem
2749 */
2750getText = Sizzle.getText = function( elem ) {
2751	var node,
2752		ret = "",
2753		i = 0,
2754		nodeType = elem.nodeType;
2755
2756	if ( !nodeType ) {
2757
2758		// If no nodeType, this is expected to be an array
2759		while ( ( node = elem[ i++ ] ) ) {
2760
2761			// Do not traverse comment nodes
2762			ret += getText( node );
2763		}
2764	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
2765
2766		// Use textContent for elements
2767		// innerText usage removed for consistency of new lines (jQuery #11153)
2768		if ( typeof elem.textContent === "string" ) {
2769			return elem.textContent;
2770		} else {
2771
2772			// Traverse its children
2773			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
2774				ret += getText( elem );
2775			}
2776		}
2777	} else if ( nodeType === 3 || nodeType === 4 ) {
2778		return elem.nodeValue;
2779	}
2780
2781	// Do not include comment or processing instruction nodes
2782
2783	return ret;
2784};
2785
2786Expr = Sizzle.selectors = {
2787
2788	// Can be adjusted by the user
2789	cacheLength: 50,
2790
2791	createPseudo: markFunction,
2792
2793	match: matchExpr,
2794
2795	attrHandle: {},
2796
2797	find: {},
2798
2799	relative: {
2800		">": { dir: "parentNode", first: true },
2801		" ": { dir: "parentNode" },
2802		"+": { dir: "previousSibling", first: true },
2803		"~": { dir: "previousSibling" }
2804	},
2805
2806	preFilter: {
2807		"ATTR": function( match ) {
2808			match[ 1 ] = match[ 1 ].replace( runescape, funescape );
2809
2810			// Move the given value to match[3] whether quoted or unquoted
2811			match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
2812				match[ 5 ] || "" ).replace( runescape, funescape );
2813
2814			if ( match[ 2 ] === "~=" ) {
2815				match[ 3 ] = " " + match[ 3 ] + " ";
2816			}
2817
2818			return match.slice( 0, 4 );
2819		},
2820
2821		"CHILD": function( match ) {
2822
2823			/* matches from matchExpr["CHILD"]
2824				1 type (only|nth|...)
2825				2 what (child|of-type)
2826				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
2827				4 xn-component of xn+y argument ([+-]?\d*n|)
2828				5 sign of xn-component
2829				6 x of xn-component
2830				7 sign of y-component
2831				8 y of y-component
2832			*/
2833			match[ 1 ] = match[ 1 ].toLowerCase();
2834
2835			if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
2836
2837				// nth-* requires argument
2838				if ( !match[ 3 ] ) {
2839					Sizzle.error( match[ 0 ] );
2840				}
2841
2842				// numeric x and y parameters for Expr.filter.CHILD
2843				// remember that false/true cast respectively to 0/1
2844				match[ 4 ] = +( match[ 4 ] ?
2845					match[ 5 ] + ( match[ 6 ] || 1 ) :
2846					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
2847				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
2848
2849				// other types prohibit arguments
2850			} else if ( match[ 3 ] ) {
2851				Sizzle.error( match[ 0 ] );
2852			}
2853
2854			return match;
2855		},
2856
2857		"PSEUDO": function( match ) {
2858			var excess,
2859				unquoted = !match[ 6 ] && match[ 2 ];
2860
2861			if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
2862				return null;
2863			}
2864
2865			// Accept quoted arguments as-is
2866			if ( match[ 3 ] ) {
2867				match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
2868
2869			// Strip excess characters from unquoted arguments
2870			} else if ( unquoted && rpseudo.test( unquoted ) &&
2871
2872				// Get excess from tokenize (recursively)
2873				( excess = tokenize( unquoted, true ) ) &&
2874
2875				// advance to the next closing parenthesis
2876				( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
2877
2878				// excess is a negative index
2879				match[ 0 ] = match[ 0 ].slice( 0, excess );
2880				match[ 2 ] = unquoted.slice( 0, excess );
2881			}
2882
2883			// Return only captures needed by the pseudo filter method (type and argument)
2884			return match.slice( 0, 3 );
2885		}
2886	},
2887
2888	filter: {
2889
2890		"TAG": function( nodeNameSelector ) {
2891			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
2892			return nodeNameSelector === "*" ?
2893				function() {
2894					return true;
2895				} :
2896				function( elem ) {
2897					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
2898				};
2899		},
2900
2901		"CLASS": function( className ) {
2902			var pattern = classCache[ className + " " ];
2903
2904			return pattern ||
2905				( pattern = new RegExp( "(^|" + whitespace +
2906					")" + className + "(" + whitespace + "|$)" ) ) && classCache(
2907						className, function( elem ) {
2908							return pattern.test(
2909								typeof elem.className === "string" && elem.className ||
2910								typeof elem.getAttribute !== "undefined" &&
2911									elem.getAttribute( "class" ) ||
2912								""
2913							);
2914				} );
2915		},
2916
2917		"ATTR": function( name, operator, check ) {
2918			return function( elem ) {
2919				var result = Sizzle.attr( elem, name );
2920
2921				if ( result == null ) {
2922					return operator === "!=";
2923				}
2924				if ( !operator ) {
2925					return true;
2926				}
2927
2928				result += "";
2929
2930				/* eslint-disable max-len */
2931
2932				return operator === "=" ? result === check :
2933					operator === "!=" ? result !== check :
2934					operator === "^=" ? check && result.indexOf( check ) === 0 :
2935					operator === "*=" ? check && result.indexOf( check ) > -1 :
2936					operator === "$=" ? check && result.slice( -check.length ) === check :
2937					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
2938					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
2939					false;
2940				/* eslint-enable max-len */
2941
2942			};
2943		},
2944
2945		"CHILD": function( type, what, _argument, first, last ) {
2946			var simple = type.slice( 0, 3 ) !== "nth",
2947				forward = type.slice( -4 ) !== "last",
2948				ofType = what === "of-type";
2949
2950			return first === 1 && last === 0 ?
2951
2952				// Shortcut for :nth-*(n)
2953				function( elem ) {
2954					return !!elem.parentNode;
2955				} :
2956
2957				function( elem, _context, xml ) {
2958					var cache, uniqueCache, outerCache, node, nodeIndex, start,
2959						dir = simple !== forward ? "nextSibling" : "previousSibling",
2960						parent = elem.parentNode,
2961						name = ofType && elem.nodeName.toLowerCase(),
2962						useCache = !xml && !ofType,
2963						diff = false;
2964
2965					if ( parent ) {
2966
2967						// :(first|last|only)-(child|of-type)
2968						if ( simple ) {
2969							while ( dir ) {
2970								node = elem;
2971								while ( ( node = node[ dir ] ) ) {
2972									if ( ofType ?
2973										node.nodeName.toLowerCase() === name :
2974										node.nodeType === 1 ) {
2975
2976										return false;
2977									}
2978								}
2979
2980								// Reverse direction for :only-* (if we haven't yet done so)
2981								start = dir = type === "only" && !start && "nextSibling";
2982							}
2983							return true;
2984						}
2985
2986						start = [ forward ? parent.firstChild : parent.lastChild ];
2987
2988						// non-xml :nth-child(...) stores cache data on `parent`
2989						if ( forward && useCache ) {
2990
2991							// Seek `elem` from a previously-cached index
2992
2993							// ...in a gzip-friendly way
2994							node = parent;
2995							outerCache = node[ expando ] || ( node[ expando ] = {} );
2996
2997							// Support: IE <9 only
2998							// Defend against cloned attroperties (jQuery gh-1709)
2999							uniqueCache = outerCache[ node.uniqueID ] ||
3000								( outerCache[ node.uniqueID ] = {} );
3001
3002							cache = uniqueCache[ type ] || [];
3003							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
3004							diff = nodeIndex && cache[ 2 ];
3005							node = nodeIndex && parent.childNodes[ nodeIndex ];
3006
3007							while ( ( node = ++nodeIndex && node && node[ dir ] ||
3008
3009								// Fallback to seeking `elem` from the start
3010								( diff = nodeIndex = 0 ) || start.pop() ) ) {
3011
3012								// When found, cache indexes on `parent` and break
3013								if ( node.nodeType === 1 && ++diff && node === elem ) {
3014									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
3015									break;
3016								}
3017							}
3018
3019						} else {
3020
3021							// Use previously-cached element index if available
3022							if ( useCache ) {
3023
3024								// ...in a gzip-friendly way
3025								node = elem;
3026								outerCache = node[ expando ] || ( node[ expando ] = {} );
3027
3028								// Support: IE <9 only
3029								// Defend against cloned attroperties (jQuery gh-1709)
3030								uniqueCache = outerCache[ node.uniqueID ] ||
3031									( outerCache[ node.uniqueID ] = {} );
3032
3033								cache = uniqueCache[ type ] || [];
3034								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
3035								diff = nodeIndex;
3036							}
3037
3038							// xml :nth-child(...)
3039							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
3040							if ( diff === false ) {
3041
3042								// Use the same loop as above to seek `elem` from the start
3043								while ( ( node = ++nodeIndex && node && node[ dir ] ||
3044									( diff = nodeIndex = 0 ) || start.pop() ) ) {
3045
3046									if ( ( ofType ?
3047										node.nodeName.toLowerCase() === name :
3048										node.nodeType === 1 ) &&
3049										++diff ) {
3050
3051										// Cache the index of each encountered element
3052										if ( useCache ) {
3053											outerCache = node[ expando ] ||
3054												( node[ expando ] = {} );
3055
3056											// Support: IE <9 only
3057											// Defend against cloned attroperties (jQuery gh-1709)
3058											uniqueCache = outerCache[ node.uniqueID ] ||
3059												( outerCache[ node.uniqueID ] = {} );
3060
3061											uniqueCache[ type ] = [ dirruns, diff ];
3062										}
3063
3064										if ( node === elem ) {
3065											break;
3066										}
3067									}
3068								}
3069							}
3070						}
3071
3072						// Incorporate the offset, then check against cycle size
3073						diff -= last;
3074						return diff === first || ( diff % first === 0 && diff / first >= 0 );
3075					}
3076				};
3077		},
3078
3079		"PSEUDO": function( pseudo, argument ) {
3080
3081			// pseudo-class names are case-insensitive
3082			// http://www.w3.org/TR/selectors/#pseudo-classes
3083			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
3084			// Remember that setFilters inherits from pseudos
3085			var args,
3086				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
3087					Sizzle.error( "unsupported pseudo: " + pseudo );
3088
3089			// The user may use createPseudo to indicate that
3090			// arguments are needed to create the filter function
3091			// just as Sizzle does
3092			if ( fn[ expando ] ) {
3093				return fn( argument );
3094			}
3095
3096			// But maintain support for old signatures
3097			if ( fn.length > 1 ) {
3098				args = [ pseudo, pseudo, "", argument ];
3099				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
3100					markFunction( function( seed, matches ) {
3101						var idx,
3102							matched = fn( seed, argument ),
3103							i = matched.length;
3104						while ( i-- ) {
3105							idx = indexOf( seed, matched[ i ] );
3106							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
3107						}
3108					} ) :
3109					function( elem ) {
3110						return fn( elem, 0, args );
3111					};
3112			}
3113
3114			return fn;
3115		}
3116	},
3117
3118	pseudos: {
3119
3120		// Potentially complex pseudos
3121		"not": markFunction( function( selector ) {
3122
3123			// Trim the selector passed to compile
3124			// to avoid treating leading and trailing
3125			// spaces as combinators
3126			var input = [],
3127				results = [],
3128				matcher = compile( selector.replace( rtrim, "$1" ) );
3129
3130			return matcher[ expando ] ?
3131				markFunction( function( seed, matches, _context, xml ) {
3132					var elem,
3133						unmatched = matcher( seed, null, xml, [] ),
3134						i = seed.length;
3135
3136					// Match elements unmatched by `matcher`
3137					while ( i-- ) {
3138						if ( ( elem = unmatched[ i ] ) ) {
3139							seed[ i ] = !( matches[ i ] = elem );
3140						}
3141					}
3142				} ) :
3143				function( elem, _context, xml ) {
3144					input[ 0 ] = elem;
3145					matcher( input, null, xml, results );
3146
3147					// Don't keep the element (issue #299)
3148					input[ 0 ] = null;
3149					return !results.pop();
3150				};
3151		} ),
3152
3153		"has": markFunction( function( selector ) {
3154			return function( elem ) {
3155				return Sizzle( selector, elem ).length > 0;
3156			};
3157		} ),
3158
3159		"contains": markFunction( function( text ) {
3160			text = text.replace( runescape, funescape );
3161			return function( elem ) {
3162				return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
3163			};
3164		} ),
3165
3166		// "Whether an element is represented by a :lang() selector
3167		// is based solely on the element's language value
3168		// being equal to the identifier C,
3169		// or beginning with the identifier C immediately followed by "-".
3170		// The matching of C against the element's language value is performed case-insensitively.
3171		// The identifier C does not have to be a valid language name."
3172		// http://www.w3.org/TR/selectors/#lang-pseudo
3173		"lang": markFunction( function( lang ) {
3174
3175			// lang value must be a valid identifier
3176			if ( !ridentifier.test( lang || "" ) ) {
3177				Sizzle.error( "unsupported lang: " + lang );
3178			}
3179			lang = lang.replace( runescape, funescape ).toLowerCase();
3180			return function( elem ) {
3181				var elemLang;
3182				do {
3183					if ( ( elemLang = documentIsHTML ?
3184						elem.lang :
3185						elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
3186
3187						elemLang = elemLang.toLowerCase();
3188						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
3189					}
3190				} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
3191				return false;
3192			};
3193		} ),
3194
3195		// Miscellaneous
3196		"target": function( elem ) {
3197			var hash = window.location && window.location.hash;
3198			return hash && hash.slice( 1 ) === elem.id;
3199		},
3200
3201		"root": function( elem ) {
3202			return elem === docElem;
3203		},
3204
3205		"focus": function( elem ) {
3206			return elem === document.activeElement &&
3207				( !document.hasFocus || document.hasFocus() ) &&
3208				!!( elem.type || elem.href || ~elem.tabIndex );
3209		},
3210
3211		// Boolean properties
3212		"enabled": createDisabledPseudo( false ),
3213		"disabled": createDisabledPseudo( true ),
3214
3215		"checked": function( elem ) {
3216
3217			// In CSS3, :checked should return both checked and selected elements
3218			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
3219			var nodeName = elem.nodeName.toLowerCase();
3220			return ( nodeName === "input" && !!elem.checked ) ||
3221				( nodeName === "option" && !!elem.selected );
3222		},
3223
3224		"selected": function( elem ) {
3225
3226			// Accessing this property makes selected-by-default
3227			// options in Safari work properly
3228			if ( elem.parentNode ) {
3229				// eslint-disable-next-line no-unused-expressions
3230				elem.parentNode.selectedIndex;
3231			}
3232
3233			return elem.selected === true;
3234		},
3235
3236		// Contents
3237		"empty": function( elem ) {
3238
3239			// http://www.w3.org/TR/selectors/#empty-pseudo
3240			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
3241			//   but not by others (comment: 8; processing instruction: 7; etc.)
3242			// nodeType < 6 works because attributes (2) do not appear as children
3243			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
3244				if ( elem.nodeType < 6 ) {
3245					return false;
3246				}
3247			}
3248			return true;
3249		},
3250
3251		"parent": function( elem ) {
3252			return !Expr.pseudos[ "empty" ]( elem );
3253		},
3254
3255		// Element/input types
3256		"header": function( elem ) {
3257			return rheader.test( elem.nodeName );
3258		},
3259
3260		"input": function( elem ) {
3261			return rinputs.test( elem.nodeName );
3262		},
3263
3264		"button": function( elem ) {
3265			var name = elem.nodeName.toLowerCase();
3266			return name === "input" && elem.type === "button" || name === "button";
3267		},
3268
3269		"text": function( elem ) {
3270			var attr;
3271			return elem.nodeName.toLowerCase() === "input" &&
3272				elem.type === "text" &&
3273
3274				// Support: IE<8
3275				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
3276				( ( attr = elem.getAttribute( "type" ) ) == null ||
3277					attr.toLowerCase() === "text" );
3278		},
3279
3280		// Position-in-collection
3281		"first": createPositionalPseudo( function() {
3282			return [ 0 ];
3283		} ),
3284
3285		"last": createPositionalPseudo( function( _matchIndexes, length ) {
3286			return [ length - 1 ];
3287		} ),
3288
3289		"eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
3290			return [ argument < 0 ? argument + length : argument ];
3291		} ),
3292
3293		"even": createPositionalPseudo( function( matchIndexes, length ) {
3294			var i = 0;
3295			for ( ; i < length; i += 2 ) {
3296				matchIndexes.push( i );
3297			}
3298			return matchIndexes;
3299		} ),
3300
3301		"odd": createPositionalPseudo( function( matchIndexes, length ) {
3302			var i = 1;
3303			for ( ; i < length; i += 2 ) {
3304				matchIndexes.push( i );
3305			}
3306			return matchIndexes;
3307		} ),
3308
3309		"lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
3310			var i = argument < 0 ?
3311				argument + length :
3312				argument > length ?
3313					length :
3314					argument;
3315			for ( ; --i >= 0; ) {
3316				matchIndexes.push( i );
3317			}
3318			return matchIndexes;
3319		} ),
3320
3321		"gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
3322			var i = argument < 0 ? argument + length : argument;
3323			for ( ; ++i < length; ) {
3324				matchIndexes.push( i );
3325			}
3326			return matchIndexes;
3327		} )
3328	}
3329};
3330
3331Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
3332
3333// Add button/input type pseudos
3334for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
3335	Expr.pseudos[ i ] = createInputPseudo( i );
3336}
3337for ( i in { submit: true, reset: true } ) {
3338	Expr.pseudos[ i ] = createButtonPseudo( i );
3339}
3340
3341// Easy API for creating new setFilters
3342function setFilters() {}
3343setFilters.prototype = Expr.filters = Expr.pseudos;
3344Expr.setFilters = new setFilters();
3345
3346tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
3347	var matched, match, tokens, type,
3348		soFar, groups, preFilters,
3349		cached = tokenCache[ selector + " " ];
3350
3351	if ( cached ) {
3352		return parseOnly ? 0 : cached.slice( 0 );
3353	}
3354
3355	soFar = selector;
3356	groups = [];
3357	preFilters = Expr.preFilter;
3358
3359	while ( soFar ) {
3360
3361		// Comma and first run
3362		if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
3363			if ( match ) {
3364
3365				// Don't consume trailing commas as valid
3366				soFar = soFar.slice( match[ 0 ].length ) || soFar;
3367			}
3368			groups.push( ( tokens = [] ) );
3369		}
3370
3371		matched = false;
3372
3373		// Combinators
3374		if ( ( match = rcombinators.exec( soFar ) ) ) {
3375			matched = match.shift();
3376			tokens.push( {
3377				value: matched,
3378
3379				// Cast descendant combinators to space
3380				type: match[ 0 ].replace( rtrim, " " )
3381			} );
3382			soFar = soFar.slice( matched.length );
3383		}
3384
3385		// Filters
3386		for ( type in Expr.filter ) {
3387			if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
3388				( match = preFilters[ type ]( match ) ) ) ) {
3389				matched = match.shift();
3390				tokens.push( {
3391					value: matched,
3392					type: type,
3393					matches: match
3394				} );
3395				soFar = soFar.slice( matched.length );
3396			}
3397		}
3398
3399		if ( !matched ) {
3400			break;
3401		}
3402	}
3403
3404	// Return the length of the invalid excess
3405	// if we're just parsing
3406	// Otherwise, throw an error or return tokens
3407	return parseOnly ?
3408		soFar.length :
3409		soFar ?
3410			Sizzle.error( selector ) :
3411
3412			// Cache the tokens
3413			tokenCache( selector, groups ).slice( 0 );
3414};
3415
3416function toSelector( tokens ) {
3417	var i = 0,
3418		len = tokens.length,
3419		selector = "";
3420	for ( ; i < len; i++ ) {
3421		selector += tokens[ i ].value;
3422	}
3423	return selector;
3424}
3425
3426function addCombinator( matcher, combinator, base ) {
3427	var dir = combinator.dir,
3428		skip = combinator.next,
3429		key = skip || dir,
3430		checkNonElements = base && key === "parentNode",
3431		doneName = done++;
3432
3433	return combinator.first ?
3434
3435		// Check against closest ancestor/preceding element
3436		function( elem, context, xml ) {
3437			while ( ( elem = elem[ dir ] ) ) {
3438				if ( elem.nodeType === 1 || checkNonElements ) {
3439					return matcher( elem, context, xml );
3440				}
3441			}
3442			return false;
3443		} :
3444
3445		// Check against all ancestor/preceding elements
3446		function( elem, context, xml ) {
3447			var oldCache, uniqueCache, outerCache,
3448				newCache = [ dirruns, doneName ];
3449
3450			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
3451			if ( xml ) {
3452				while ( ( elem = elem[ dir ] ) ) {
3453					if ( elem.nodeType === 1 || checkNonElements ) {
3454						if ( matcher( elem, context, xml ) ) {
3455							return true;
3456						}
3457					}
3458				}
3459			} else {
3460				while ( ( elem = elem[ dir ] ) ) {
3461					if ( elem.nodeType === 1 || checkNonElements ) {
3462						outerCache = elem[ expando ] || ( elem[ expando ] = {} );
3463
3464						// Support: IE <9 only
3465						// Defend against cloned attroperties (jQuery gh-1709)
3466						uniqueCache = outerCache[ elem.uniqueID ] ||
3467							( outerCache[ elem.uniqueID ] = {} );
3468
3469						if ( skip && skip === elem.nodeName.toLowerCase() ) {
3470							elem = elem[ dir ] || elem;
3471						} else if ( ( oldCache = uniqueCache[ key ] ) &&
3472							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
3473
3474							// Assign to newCache so results back-propagate to previous elements
3475							return ( newCache[ 2 ] = oldCache[ 2 ] );
3476						} else {
3477
3478							// Reuse newcache so results back-propagate to previous elements
3479							uniqueCache[ key ] = newCache;
3480
3481							// A match means we're done; a fail means we have to keep checking
3482							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
3483								return true;
3484							}
3485						}
3486					}
3487				}
3488			}
3489			return false;
3490		};
3491}
3492
3493function elementMatcher( matchers ) {
3494	return matchers.length > 1 ?
3495		function( elem, context, xml ) {
3496			var i = matchers.length;
3497			while ( i-- ) {
3498				if ( !matchers[ i ]( elem, context, xml ) ) {
3499					return false;
3500				}
3501			}
3502			return true;
3503		} :
3504		matchers[ 0 ];
3505}
3506
3507function multipleContexts( selector, contexts, results ) {
3508	var i = 0,
3509		len = contexts.length;
3510	for ( ; i < len; i++ ) {
3511		Sizzle( selector, contexts[ i ], results );
3512	}
3513	return results;
3514}
3515
3516function condense( unmatched, map, filter, context, xml ) {
3517	var elem,
3518		newUnmatched = [],
3519		i = 0,
3520		len = unmatched.length,
3521		mapped = map != null;
3522
3523	for ( ; i < len; i++ ) {
3524		if ( ( elem = unmatched[ i ] ) ) {
3525			if ( !filter || filter( elem, context, xml ) ) {
3526				newUnmatched.push( elem );
3527				if ( mapped ) {
3528					map.push( i );
3529				}
3530			}
3531		}
3532	}
3533
3534	return newUnmatched;
3535}
3536
3537function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
3538	if ( postFilter && !postFilter[ expando ] ) {
3539		postFilter = setMatcher( postFilter );
3540	}
3541	if ( postFinder && !postFinder[ expando ] ) {
3542		postFinder = setMatcher( postFinder, postSelector );
3543	}
3544	return markFunction( function( seed, results, context, xml ) {
3545		var temp, i, elem,
3546			preMap = [],
3547			postMap = [],
3548			preexisting = results.length,
3549
3550			// Get initial elements from seed or context
3551			elems = seed || multipleContexts(
3552				selector || "*",
3553				context.nodeType ? [ context ] : context,
3554				[]
3555			),
3556
3557			// Prefilter to get matcher input, preserving a map for seed-results synchronization
3558			matcherIn = preFilter && ( seed || !selector ) ?
3559				condense( elems, preMap, preFilter, context, xml ) :
3560				elems,
3561
3562			matcherOut = matcher ?
3563
3564				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
3565				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
3566
3567					// ...intermediate processing is necessary
3568					[] :
3569
3570					// ...otherwise use results directly
3571					results :
3572				matcherIn;
3573
3574		// Find primary matches
3575		if ( matcher ) {
3576			matcher( matcherIn, matcherOut, context, xml );
3577		}
3578
3579		// Apply postFilter
3580		if ( postFilter ) {
3581			temp = condense( matcherOut, postMap );
3582			postFilter( temp, [], context, xml );
3583
3584			// Un-match failing elements by moving them back to matcherIn
3585			i = temp.length;
3586			while ( i-- ) {
3587				if ( ( elem = temp[ i ] ) ) {
3588					matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
3589				}
3590			}
3591		}
3592
3593		if ( seed ) {
3594			if ( postFinder || preFilter ) {
3595				if ( postFinder ) {
3596
3597					// Get the final matcherOut by condensing this intermediate into postFinder contexts
3598					temp = [];
3599					i = matcherOut.length;
3600					while ( i-- ) {
3601						if ( ( elem = matcherOut[ i ] ) ) {
3602
3603							// Restore matcherIn since elem is not yet a final match
3604							temp.push( ( matcherIn[ i ] = elem ) );
3605						}
3606					}
3607					postFinder( null, ( matcherOut = [] ), temp, xml );
3608				}
3609
3610				// Move matched elements from seed to results to keep them synchronized
3611				i = matcherOut.length;
3612				while ( i-- ) {
3613					if ( ( elem = matcherOut[ i ] ) &&
3614						( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
3615
3616						seed[ temp ] = !( results[ temp ] = elem );
3617					}
3618				}
3619			}
3620
3621		// Add elements to results, through postFinder if defined
3622		} else {
3623			matcherOut = condense(
3624				matcherOut === results ?
3625					matcherOut.splice( preexisting, matcherOut.length ) :
3626					matcherOut
3627			);
3628			if ( postFinder ) {
3629				postFinder( null, results, matcherOut, xml );
3630			} else {
3631				push.apply( results, matcherOut );
3632			}
3633		}
3634	} );
3635}
3636
3637function matcherFromTokens( tokens ) {
3638	var checkContext, matcher, j,
3639		len = tokens.length,
3640		leadingRelative = Expr.relative[ tokens[ 0 ].type ],
3641		implicitRelative = leadingRelative || Expr.relative[ " " ],
3642		i = leadingRelative ? 1 : 0,
3643
3644		// The foundational matcher ensures that elements are reachable from top-level context(s)
3645		matchContext = addCombinator( function( elem ) {
3646			return elem === checkContext;
3647		}, implicitRelative, true ),
3648		matchAnyContext = addCombinator( function( elem ) {
3649			return indexOf( checkContext, elem ) > -1;
3650		}, implicitRelative, true ),
3651		matchers = [ function( elem, context, xml ) {
3652			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
3653				( checkContext = context ).nodeType ?
3654					matchContext( elem, context, xml ) :
3655					matchAnyContext( elem, context, xml ) );
3656
3657			// Avoid hanging onto element (issue #299)
3658			checkContext = null;
3659			return ret;
3660		} ];
3661
3662	for ( ; i < len; i++ ) {
3663		if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
3664			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
3665		} else {
3666			matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
3667
3668			// Return special upon seeing a positional matcher
3669			if ( matcher[ expando ] ) {
3670
3671				// Find the next relative operator (if any) for proper handling
3672				j = ++i;
3673				for ( ; j < len; j++ ) {
3674					if ( Expr.relative[ tokens[ j ].type ] ) {
3675						break;
3676					}
3677				}
3678				return setMatcher(
3679					i > 1 && elementMatcher( matchers ),
3680					i > 1 && toSelector(
3681
3682					// If the preceding token was a descendant combinator, insert an implicit any-element `*`
3683					tokens
3684						.slice( 0, i - 1 )
3685						.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
3686					).replace( rtrim, "$1" ),
3687					matcher,
3688					i < j && matcherFromTokens( tokens.slice( i, j ) ),
3689					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
3690					j < len && toSelector( tokens )
3691				);
3692			}
3693			matchers.push( matcher );
3694		}
3695	}
3696
3697	return elementMatcher( matchers );
3698}
3699
3700function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
3701	var bySet = setMatchers.length > 0,
3702		byElement = elementMatchers.length > 0,
3703		superMatcher = function( seed, context, xml, results, outermost ) {
3704			var elem, j, matcher,
3705				matchedCount = 0,
3706				i = "0",
3707				unmatched = seed && [],
3708				setMatched = [],
3709				contextBackup = outermostContext,
3710
3711				// We must always have either seed elements or outermost context
3712				elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
3713
3714				// Use integer dirruns iff this is the outermost matcher
3715				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
3716				len = elems.length;
3717
3718			if ( outermost ) {
3719
3720				// Support: IE 11+, Edge 17 - 18+
3721				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
3722				// two documents; shallow comparisons work.
3723				// eslint-disable-next-line eqeqeq
3724				outermostContext = context == document || context || outermost;
3725			}
3726
3727			// Add elements passing elementMatchers directly to results
3728			// Support: IE<9, Safari
3729			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
3730			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
3731				if ( byElement && elem ) {
3732					j = 0;
3733
3734					// Support: IE 11+, Edge 17 - 18+
3735					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
3736					// two documents; shallow comparisons work.
3737					// eslint-disable-next-line eqeqeq
3738					if ( !context && elem.ownerDocument != document ) {
3739						setDocument( elem );
3740						xml = !documentIsHTML;
3741					}
3742					while ( ( matcher = elementMatchers[ j++ ] ) ) {
3743						if ( matcher( elem, context || document, xml ) ) {
3744							results.push( elem );
3745							break;
3746						}
3747					}
3748					if ( outermost ) {
3749						dirruns = dirrunsUnique;
3750					}
3751				}
3752
3753				// Track unmatched elements for set filters
3754				if ( bySet ) {
3755
3756					// They will have gone through all possible matchers
3757					if ( ( elem = !matcher && elem ) ) {
3758						matchedCount--;
3759					}
3760
3761					// Lengthen the array for every element, matched or not
3762					if ( seed ) {
3763						unmatched.push( elem );
3764					}
3765				}
3766			}
3767
3768			// `i` is now the count of elements visited above, and adding it to `matchedCount`
3769			// makes the latter nonnegative.
3770			matchedCount += i;
3771
3772			// Apply set filters to unmatched elements
3773			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
3774			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
3775			// no element matchers and no seed.
3776			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
3777			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
3778			// numerically zero.
3779			if ( bySet && i !== matchedCount ) {
3780				j = 0;
3781				while ( ( matcher = setMatchers[ j++ ] ) ) {
3782					matcher( unmatched, setMatched, context, xml );
3783				}
3784
3785				if ( seed ) {
3786
3787					// Reintegrate element matches to eliminate the need for sorting
3788					if ( matchedCount > 0 ) {
3789						while ( i-- ) {
3790							if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
3791								setMatched[ i ] = pop.call( results );
3792							}
3793						}
3794					}
3795
3796					// Discard index placeholder values to get only actual matches
3797					setMatched = condense( setMatched );
3798				}
3799
3800				// Add matches to results
3801				push.apply( results, setMatched );
3802
3803				// Seedless set matches succeeding multiple successful matchers stipulate sorting
3804				if ( outermost && !seed && setMatched.length > 0 &&
3805					( matchedCount + setMatchers.length ) > 1 ) {
3806
3807					Sizzle.uniqueSort( results );
3808				}
3809			}
3810
3811			// Override manipulation of globals by nested matchers
3812			if ( outermost ) {
3813				dirruns = dirrunsUnique;
3814				outermostContext = contextBackup;
3815			}
3816
3817			return unmatched;
3818		};
3819
3820	return bySet ?
3821		markFunction( superMatcher ) :
3822		superMatcher;
3823}
3824
3825compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
3826	var i,
3827		setMatchers = [],
3828		elementMatchers = [],
3829		cached = compilerCache[ selector + " " ];
3830
3831	if ( !cached ) {
3832
3833		// Generate a function of recursive functions that can be used to check each element
3834		if ( !match ) {
3835			match = tokenize( selector );
3836		}
3837		i = match.length;
3838		while ( i-- ) {
3839			cached = matcherFromTokens( match[ i ] );
3840			if ( cached[ expando ] ) {
3841				setMatchers.push( cached );
3842			} else {
3843				elementMatchers.push( cached );
3844			}
3845		}
3846
3847		// Cache the compiled function
3848		cached = compilerCache(
3849			selector,
3850			matcherFromGroupMatchers( elementMatchers, setMatchers )
3851		);
3852
3853		// Save selector and tokenization
3854		cached.selector = selector;
3855	}
3856	return cached;
3857};
3858
3859/**
3860 * A low-level selection function that works with Sizzle's compiled
3861 *  selector functions
3862 * @param {String|Function} selector A selector or a pre-compiled
3863 *  selector function built with Sizzle.compile
3864 * @param {Element} context
3865 * @param {Array} [results]
3866 * @param {Array} [seed] A set of elements to match against
3867 */
3868select = Sizzle.select = function( selector, context, results, seed ) {
3869	var i, tokens, token, type, find,
3870		compiled = typeof selector === "function" && selector,
3871		match = !seed && tokenize( ( selector = compiled.selector || selector ) );
3872
3873	results = results || [];
3874
3875	// Try to minimize operations if there is only one selector in the list and no seed
3876	// (the latter of which guarantees us context)
3877	if ( match.length === 1 ) {
3878
3879		// Reduce context if the leading compound selector is an ID
3880		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
3881		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
3882			context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
3883
3884			context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
3885				.replace( runescape, funescape ), context ) || [] )[ 0 ];
3886			if ( !context ) {
3887				return results;
3888
3889			// Precompiled matchers will still verify ancestry, so step up a level
3890			} else if ( compiled ) {
3891				context = context.parentNode;
3892			}
3893
3894			selector = selector.slice( tokens.shift().value.length );
3895		}
3896
3897		// Fetch a seed set for right-to-left matching
3898		i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
3899		while ( i-- ) {
3900			token = tokens[ i ];
3901
3902			// Abort if we hit a combinator
3903			if ( Expr.relative[ ( type = token.type ) ] ) {
3904				break;
3905			}
3906			if ( ( find = Expr.find[ type ] ) ) {
3907
3908				// Search, expanding context for leading sibling combinators
3909				if ( ( seed = find(
3910					token.matches[ 0 ].replace( runescape, funescape ),
3911					rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
3912						context
3913				) ) ) {
3914
3915					// If seed is empty or no tokens remain, we can return early
3916					tokens.splice( i, 1 );
3917					selector = seed.length && toSelector( tokens );
3918					if ( !selector ) {
3919						push.apply( results, seed );
3920						return results;
3921					}
3922
3923					break;
3924				}
3925			}
3926		}
3927	}
3928
3929	// Compile and execute a filtering function if one is not provided
3930	// Provide `match` to avoid retokenization if we modified the selector above
3931	( compiled || compile( selector, match ) )(
3932		seed,
3933		context,
3934		!documentIsHTML,
3935		results,
3936		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
3937	);
3938	return results;
3939};
3940
3941// One-time assignments
3942
3943// Sort stability
3944support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
3945
3946// Support: Chrome 14-35+
3947// Always assume duplicates if they aren't passed to the comparison function
3948support.detectDuplicates = !!hasDuplicate;
3949
3950// Initialize against the default document
3951setDocument();
3952
3953// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
3954// Detached nodes confoundingly follow *each other*
3955support.sortDetached = assert( function( el ) {
3956
3957	// Should return 1, but returns 4 (following)
3958	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
3959} );
3960
3961// Support: IE<8
3962// Prevent attribute/property "interpolation"
3963// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
3964if ( !assert( function( el ) {
3965	el.innerHTML = "<a href='#'></a>";
3966	return el.firstChild.getAttribute( "href" ) === "#";
3967} ) ) {
3968	addHandle( "type|href|height|width", function( elem, name, isXML ) {
3969		if ( !isXML ) {
3970			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
3971		}
3972	} );
3973}
3974
3975// Support: IE<9
3976// Use defaultValue in place of getAttribute("value")
3977if ( !support.attributes || !assert( function( el ) {
3978	el.innerHTML = "<input/>";
3979	el.firstChild.setAttribute( "value", "" );
3980	return el.firstChild.getAttribute( "value" ) === "";
3981} ) ) {
3982	addHandle( "value", function( elem, _name, isXML ) {
3983		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
3984			return elem.defaultValue;
3985		}
3986	} );
3987}
3988
3989// Support: IE<9
3990// Use getAttributeNode to fetch booleans when getAttribute lies
3991if ( !assert( function( el ) {
3992	return el.getAttribute( "disabled" ) == null;
3993} ) ) {
3994	addHandle( booleans, function( elem, name, isXML ) {
3995		var val;
3996		if ( !isXML ) {
3997			return elem[ name ] === true ? name.toLowerCase() :
3998				( val = elem.getAttributeNode( name ) ) && val.specified ?
3999					val.value :
4000					null;
4001		}
4002	} );
4003}
4004
4005return Sizzle;
4006
4007} )( window );
4008
4009
4010
4011jQuery.find = Sizzle;
4012jQuery.expr = Sizzle.selectors;
4013
4014// Deprecated
4015jQuery.expr[ ":" ] = jQuery.expr.pseudos;
4016jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
4017jQuery.text = Sizzle.getText;
4018jQuery.isXMLDoc = Sizzle.isXML;
4019jQuery.contains = Sizzle.contains;
4020jQuery.escapeSelector = Sizzle.escape;
4021
4022
4023
4024
4025var dir = function( elem, dir, until ) {
4026	var matched = [],
4027		truncate = until !== undefined;
4028
4029	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
4030		if ( elem.nodeType === 1 ) {
4031			if ( truncate && jQuery( elem ).is( until ) ) {
4032				break;
4033			}
4034			matched.push( elem );
4035		}
4036	}
4037	return matched;
4038};
4039
4040
4041var siblings = function( n, elem ) {
4042	var matched = [];
4043
4044	for ( ; n; n = n.nextSibling ) {
4045		if ( n.nodeType === 1 && n !== elem ) {
4046			matched.push( n );
4047		}
4048	}
4049
4050	return matched;
4051};
4052
4053
4054var rneedsContext = jQuery.expr.match.needsContext;
4055
4056
4057
4058function nodeName( elem, name ) {
4059
4060	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
4061
4062}
4063var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
4064
4065
4066
4067// Implement the identical functionality for filter and not
4068function winnow( elements, qualifier, not ) {
4069	if ( isFunction( qualifier ) ) {
4070		return jQuery.grep( elements, function( elem, i ) {
4071			return !!qualifier.call( elem, i, elem ) !== not;
4072		} );
4073	}
4074
4075	// Single element
4076	if ( qualifier.nodeType ) {
4077		return jQuery.grep( elements, function( elem ) {
4078			return ( elem === qualifier ) !== not;
4079		} );
4080	}
4081
4082	// Arraylike of elements (jQuery, arguments, Array)
4083	if ( typeof qualifier !== "string" ) {
4084		return jQuery.grep( elements, function( elem ) {
4085			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
4086		} );
4087	}
4088
4089	// Filtered directly for both simple and complex selectors
4090	return jQuery.filter( qualifier, elements, not );
4091}
4092
4093jQuery.filter = function( expr, elems, not ) {
4094	var elem = elems[ 0 ];
4095
4096	if ( not ) {
4097		expr = ":not(" + expr + ")";
4098	}
4099
4100	if ( elems.length === 1 && elem.nodeType === 1 ) {
4101		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
4102	}
4103
4104	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
4105		return elem.nodeType === 1;
4106	} ) );
4107};
4108
4109jQuery.fn.extend( {
4110	find: function( selector ) {
4111		var i, ret,
4112			len = this.length,
4113			self = this;
4114
4115		if ( typeof selector !== "string" ) {
4116			return this.pushStack( jQuery( selector ).filter( function() {
4117				for ( i = 0; i < len; i++ ) {
4118					if ( jQuery.contains( self[ i ], this ) ) {
4119						return true;
4120					}
4121				}
4122			} ) );
4123		}
4124
4125		ret = this.pushStack( [] );
4126
4127		for ( i = 0; i < len; i++ ) {
4128			jQuery.find( selector, self[ i ], ret );
4129		}
4130
4131		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
4132	},
4133	filter: function( selector ) {
4134		return this.pushStack( winnow( this, selector || [], false ) );
4135	},
4136	not: function( selector ) {
4137		return this.pushStack( winnow( this, selector || [], true ) );
4138	},
4139	is: function( selector ) {
4140		return !!winnow(
4141			this,
4142
4143			// If this is a positional/relative selector, check membership in the returned set
4144			// so $("p:first").is("p:last") won't return true for a doc with two "p".
4145			typeof selector === "string" && rneedsContext.test( selector ) ?
4146				jQuery( selector ) :
4147				selector || [],
4148			false
4149		).length;
4150	}
4151} );
4152
4153
4154// Initialize a jQuery object
4155
4156
4157// A central reference to the root jQuery(document)
4158var rootjQuery,
4159
4160	// A simple way to check for HTML strings
4161	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
4162	// Strict HTML recognition (#11290: must start with <)
4163	// Shortcut simple #id case for speed
4164	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
4165
4166	init = jQuery.fn.init = function( selector, context, root ) {
4167		var match, elem;
4168
4169		// HANDLE: $(""), $(null), $(undefined), $(false)
4170		if ( !selector ) {
4171			return this;
4172		}
4173
4174		// Method init() accepts an alternate rootjQuery
4175		// so migrate can support jQuery.sub (gh-2101)
4176		root = root || rootjQuery;
4177
4178		// Handle HTML strings
4179		if ( typeof selector === "string" ) {
4180			if ( selector[ 0 ] === "<" &&
4181				selector[ selector.length - 1 ] === ">" &&
4182				selector.length >= 3 ) {
4183
4184				// Assume that strings that start and end with <> are HTML and skip the regex check
4185				match = [ null, selector, null ];
4186
4187			} else {
4188				match = rquickExpr.exec( selector );
4189			}
4190
4191			// Match html or make sure no context is specified for #id
4192			if ( match && ( match[ 1 ] || !context ) ) {
4193
4194				// HANDLE: $(html) -> $(array)
4195				if ( match[ 1 ] ) {
4196					context = context instanceof jQuery ? context[ 0 ] : context;
4197
4198					// Option to run scripts is true for back-compat
4199					// Intentionally let the error be thrown if parseHTML is not present
4200					jQuery.merge( this, jQuery.parseHTML(
4201						match[ 1 ],
4202						context && context.nodeType ? context.ownerDocument || context : document,
4203						true
4204					) );
4205
4206					// HANDLE: $(html, props)
4207					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
4208						for ( match in context ) {
4209
4210							// Properties of context are called as methods if possible
4211							if ( isFunction( this[ match ] ) ) {
4212								this[ match ]( context[ match ] );
4213
4214							// ...and otherwise set as attributes
4215							} else {
4216								this.attr( match, context[ match ] );
4217							}
4218						}
4219					}
4220
4221					return this;
4222
4223				// HANDLE: $(#id)
4224				} else {
4225					elem = document.getElementById( match[ 2 ] );
4226
4227					if ( elem ) {
4228
4229						// Inject the element directly into the jQuery object
4230						this[ 0 ] = elem;
4231						this.length = 1;
4232					}
4233					return this;
4234				}
4235
4236			// HANDLE: $(expr, $(...))
4237			} else if ( !context || context.jquery ) {
4238				return ( context || root ).find( selector );
4239
4240			// HANDLE: $(expr, context)
4241			// (which is just equivalent to: $(context).find(expr)
4242			} else {
4243				return this.constructor( context ).find( selector );
4244			}
4245
4246		// HANDLE: $(DOMElement)
4247		} else if ( selector.nodeType ) {
4248			this[ 0 ] = selector;
4249			this.length = 1;
4250			return this;
4251
4252		// HANDLE: $(function)
4253		// Shortcut for document ready
4254		} else if ( isFunction( selector ) ) {
4255			return root.ready !== undefined ?
4256				root.ready( selector ) :
4257
4258				// Execute immediately if ready is not present
4259				selector( jQuery );
4260		}
4261
4262		return jQuery.makeArray( selector, this );
4263	};
4264
4265// Give the init function the jQuery prototype for later instantiation
4266init.prototype = jQuery.fn;
4267
4268// Initialize central reference
4269rootjQuery = jQuery( document );
4270
4271
4272var rparentsprev = /^(?:parents|prev(?:Until|All))/,
4273
4274	// Methods guaranteed to produce a unique set when starting from a unique set
4275	guaranteedUnique = {
4276		children: true,
4277		contents: true,
4278		next: true,
4279		prev: true
4280	};
4281
4282jQuery.fn.extend( {
4283	has: function( target ) {
4284		var targets = jQuery( target, this ),
4285			l = targets.length;
4286
4287		return this.filter( function() {
4288			var i = 0;
4289			for ( ; i < l; i++ ) {
4290				if ( jQuery.contains( this, targets[ i ] ) ) {
4291					return true;
4292				}
4293			}
4294		} );
4295	},
4296
4297	closest: function( selectors, context ) {
4298		var cur,
4299			i = 0,
4300			l = this.length,
4301			matched = [],
4302			targets = typeof selectors !== "string" && jQuery( selectors );
4303
4304		// Positional selectors never match, since there's no _selection_ context
4305		if ( !rneedsContext.test( selectors ) ) {
4306			for ( ; i < l; i++ ) {
4307				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
4308
4309					// Always skip document fragments
4310					if ( cur.nodeType < 11 && ( targets ?
4311						targets.index( cur ) > -1 :
4312
4313						// Don't pass non-elements to Sizzle
4314						cur.nodeType === 1 &&
4315							jQuery.find.matchesSelector( cur, selectors ) ) ) {
4316
4317						matched.push( cur );
4318						break;
4319					}
4320				}
4321			}
4322		}
4323
4324		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
4325	},
4326
4327	// Determine the position of an element within the set
4328	index: function( elem ) {
4329
4330		// No argument, return index in parent
4331		if ( !elem ) {
4332			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
4333		}
4334
4335		// Index in selector
4336		if ( typeof elem === "string" ) {
4337			return indexOf.call( jQuery( elem ), this[ 0 ] );
4338		}
4339
4340		// Locate the position of the desired element
4341		return indexOf.call( this,
4342
4343			// If it receives a jQuery object, the first element is used
4344			elem.jquery ? elem[ 0 ] : elem
4345		);
4346	},
4347
4348	add: function( selector, context ) {
4349		return this.pushStack(
4350			jQuery.uniqueSort(
4351				jQuery.merge( this.get(), jQuery( selector, context ) )
4352			)
4353		);
4354	},
4355
4356	addBack: function( selector ) {
4357		return this.add( selector == null ?
4358			this.prevObject : this.prevObject.filter( selector )
4359		);
4360	}
4361} );
4362
4363function sibling( cur, dir ) {
4364	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
4365	return cur;
4366}
4367
4368jQuery.each( {
4369	parent: function( elem ) {
4370		var parent = elem.parentNode;
4371		return parent && parent.nodeType !== 11 ? parent : null;
4372	},
4373	parents: function( elem ) {
4374		return dir( elem, "parentNode" );
4375	},
4376	parentsUntil: function( elem, _i, until ) {
4377		return dir( elem, "parentNode", until );
4378	},
4379	next: function( elem ) {
4380		return sibling( elem, "nextSibling" );
4381	},
4382	prev: function( elem ) {
4383		return sibling( elem, "previousSibling" );
4384	},
4385	nextAll: function( elem ) {
4386		return dir( elem, "nextSibling" );
4387	},
4388	prevAll: function( elem ) {
4389		return dir( elem, "previousSibling" );
4390	},
4391	nextUntil: function( elem, _i, until ) {
4392		return dir( elem, "nextSibling", until );
4393	},
4394	prevUntil: function( elem, _i, until ) {
4395		return dir( elem, "previousSibling", until );
4396	},
4397	siblings: function( elem ) {
4398		return siblings( ( elem.parentNode || {} ).firstChild, elem );
4399	},
4400	children: function( elem ) {
4401		return siblings( elem.firstChild );
4402	},
4403	contents: function( elem ) {
4404		if ( elem.contentDocument != null &&
4405
4406			// Support: IE 11+
4407			// <object> elements with no `data` attribute has an object
4408			// `contentDocument` with a `null` prototype.
4409			getProto( elem.contentDocument ) ) {
4410
4411			return elem.contentDocument;
4412		}
4413
4414		// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
4415		// Treat the template element as a regular one in browsers that
4416		// don't support it.
4417		if ( nodeName( elem, "template" ) ) {
4418			elem = elem.content || elem;
4419		}
4420
4421		return jQuery.merge( [], elem.childNodes );
4422	}
4423}, function( name, fn ) {
4424	jQuery.fn[ name ] = function( until, selector ) {
4425		var matched = jQuery.map( this, fn, until );
4426
4427		if ( name.slice( -5 ) !== "Until" ) {
4428			selector = until;
4429		}
4430
4431		if ( selector && typeof selector === "string" ) {
4432			matched = jQuery.filter( selector, matched );
4433		}
4434
4435		if ( this.length > 1 ) {
4436
4437			// Remove duplicates
4438			if ( !guaranteedUnique[ name ] ) {
4439				jQuery.uniqueSort( matched );
4440			}
4441
4442			// Reverse order for parents* and prev-derivatives
4443			if ( rparentsprev.test( name ) ) {
4444				matched.reverse();
4445			}
4446		}
4447
4448		return this.pushStack( matched );
4449	};
4450} );
4451var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
4452
4453
4454
4455// Convert String-formatted options into Object-formatted ones
4456function createOptions( options ) {
4457	var object = {};
4458	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
4459		object[ flag ] = true;
4460	} );
4461	return object;
4462}
4463
4464/*
4465 * Create a callback list using the following parameters:
4466 *
4467 *	options: an optional list of space-separated options that will change how
4468 *			the callback list behaves or a more traditional option object
4469 *
4470 * By default a callback list will act like an event callback list and can be
4471 * "fired" multiple times.
4472 *
4473 * Possible options:
4474 *
4475 *	once:			will ensure the callback list can only be fired once (like a Deferred)
4476 *
4477 *	memory:			will keep track of previous values and will call any callback added
4478 *					after the list has been fired right away with the latest "memorized"
4479 *					values (like a Deferred)
4480 *
4481 *	unique:			will ensure a callback can only be added once (no duplicate in the list)
4482 *
4483 *	stopOnFalse:	interrupt callings when a callback returns false
4484 *
4485 */
4486jQuery.Callbacks = function( options ) {
4487
4488	// Convert options from String-formatted to Object-formatted if needed
4489	// (we check in cache first)
4490	options = typeof options === "string" ?
4491		createOptions( options ) :
4492		jQuery.extend( {}, options );
4493
4494	var // Flag to know if list is currently firing
4495		firing,
4496
4497		// Last fire value for non-forgettable lists
4498		memory,
4499
4500		// Flag to know if list was already fired
4501		fired,
4502
4503		// Flag to prevent firing
4504		locked,
4505
4506		// Actual callback list
4507		list = [],
4508
4509		// Queue of execution data for repeatable lists
4510		queue = [],
4511
4512		// Index of currently firing callback (modified by add/remove as needed)
4513		firingIndex = -1,
4514
4515		// Fire callbacks
4516		fire = function() {
4517
4518			// Enforce single-firing
4519			locked = locked || options.once;
4520
4521			// Execute callbacks for all pending executions,
4522			// respecting firingIndex overrides and runtime changes
4523			fired = firing = true;
4524			for ( ; queue.length; firingIndex = -1 ) {
4525				memory = queue.shift();
4526				while ( ++firingIndex < list.length ) {
4527
4528					// Run callback and check for early termination
4529					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
4530						options.stopOnFalse ) {
4531
4532						// Jump to end and forget the data so .add doesn't re-fire
4533						firingIndex = list.length;
4534						memory = false;
4535					}
4536				}
4537			}
4538
4539			// Forget the data if we're done with it
4540			if ( !options.memory ) {
4541				memory = false;
4542			}
4543
4544			firing = false;
4545
4546			// Clean up if we're done firing for good
4547			if ( locked ) {
4548
4549				// Keep an empty list if we have data for future add calls
4550				if ( memory ) {
4551					list = [];
4552
4553				// Otherwise, this object is spent
4554				} else {
4555					list = "";
4556				}
4557			}
4558		},
4559
4560		// Actual Callbacks object
4561		self = {
4562
4563			// Add a callback or a collection of callbacks to the list
4564			add: function() {
4565				if ( list ) {
4566
4567					// If we have memory from a past run, we should fire after adding
4568					if ( memory && !firing ) {
4569						firingIndex = list.length - 1;
4570						queue.push( memory );
4571					}
4572
4573					( function add( args ) {
4574						jQuery.each( args, function( _, arg ) {
4575							if ( isFunction( arg ) ) {
4576								if ( !options.unique || !self.has( arg ) ) {
4577									list.push( arg );
4578								}
4579							} else if ( arg && arg.length && toType( arg ) !== "string" ) {
4580
4581								// Inspect recursively
4582								add( arg );
4583							}
4584						} );
4585					} )( arguments );
4586
4587					if ( memory && !firing ) {
4588						fire();
4589					}
4590				}
4591				return this;
4592			},
4593
4594			// Remove a callback from the list
4595			remove: function() {
4596				jQuery.each( arguments, function( _, arg ) {
4597					var index;
4598					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
4599						list.splice( index, 1 );
4600
4601						// Handle firing indexes
4602						if ( index <= firingIndex ) {
4603							firingIndex--;
4604						}
4605					}
4606				} );
4607				return this;
4608			},
4609
4610			// Check if a given callback is in the list.
4611			// If no argument is given, return whether or not list has callbacks attached.
4612			has: function( fn ) {
4613				return fn ?
4614					jQuery.inArray( fn, list ) > -1 :
4615					list.length > 0;
4616			},
4617
4618			// Remove all callbacks from the list
4619			empty: function() {
4620				if ( list ) {
4621					list = [];
4622				}
4623				return this;
4624			},
4625
4626			// Disable .fire and .add
4627			// Abort any current/pending executions
4628			// Clear all callbacks and values
4629			disable: function() {
4630				locked = queue = [];
4631				list = memory = "";
4632				return this;
4633			},
4634			disabled: function() {
4635				return !list;
4636			},
4637
4638			// Disable .fire
4639			// Also disable .add unless we have memory (since it would have no effect)
4640			// Abort any pending executions
4641			lock: function() {
4642				locked = queue = [];
4643				if ( !memory && !firing ) {
4644					list = memory = "";
4645				}
4646				return this;
4647			},
4648			locked: function() {
4649				return !!locked;
4650			},
4651
4652			// Call all callbacks with the given context and arguments
4653			fireWith: function( context, args ) {
4654				if ( !locked ) {
4655					args = args || [];
4656					args = [ context, args.slice ? args.slice() : args ];
4657					queue.push( args );
4658					if ( !firing ) {
4659						fire();
4660					}
4661				}
4662				return this;
4663			},
4664
4665			// Call all the callbacks with the given arguments
4666			fire: function() {
4667				self.fireWith( this, arguments );
4668				return this;
4669			},
4670
4671			// To know if the callbacks have already been called at least once
4672			fired: function() {
4673				return !!fired;
4674			}
4675		};
4676
4677	return self;
4678};
4679
4680
4681function Identity( v ) {
4682	return v;
4683}
4684function Thrower( ex ) {
4685	throw ex;
4686}
4687
4688function adoptValue( value, resolve, reject, noValue ) {
4689	var method;
4690
4691	try {
4692
4693		// Check for promise aspect first to privilege synchronous behavior
4694		if ( value && isFunction( ( method = value.promise ) ) ) {
4695			method.call( value ).done( resolve ).fail( reject );
4696
4697		// Other thenables
4698		} else if ( value && isFunction( ( method = value.then ) ) ) {
4699			method.call( value, resolve, reject );
4700
4701		// Other non-thenables
4702		} else {
4703
4704			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
4705			// * false: [ value ].slice( 0 ) => resolve( value )
4706			// * true: [ value ].slice( 1 ) => resolve()
4707			resolve.apply( undefined, [ value ].slice( noValue ) );
4708		}
4709
4710	// For Promises/A+, convert exceptions into rejections
4711	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
4712	// Deferred#then to conditionally suppress rejection.
4713	} catch ( value ) {
4714
4715		// Support: Android 4.0 only
4716		// Strict mode functions invoked without .call/.apply get global-object context
4717		reject.apply( undefined, [ value ] );
4718	}
4719}
4720
4721jQuery.extend( {
4722
4723	Deferred: function( func ) {
4724		var tuples = [
4725
4726				// action, add listener, callbacks,
4727				// ... .then handlers, argument index, [final state]
4728				[ "notify", "progress", jQuery.Callbacks( "memory" ),
4729					jQuery.Callbacks( "memory" ), 2 ],
4730				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
4731					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
4732				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
4733					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
4734			],
4735			state = "pending",
4736			promise = {
4737				state: function() {
4738					return state;
4739				},
4740				always: function() {
4741					deferred.done( arguments ).fail( arguments );
4742					return this;
4743				},
4744				"catch": function( fn ) {
4745					return promise.then( null, fn );
4746				},
4747
4748				// Keep pipe for back-compat
4749				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
4750					var fns = arguments;
4751
4752					return jQuery.Deferred( function( newDefer ) {
4753						jQuery.each( tuples, function( _i, tuple ) {
4754
4755							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
4756							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
4757
4758							// deferred.progress(function() { bind to newDefer or newDefer.notify })
4759							// deferred.done(function() { bind to newDefer or newDefer.resolve })
4760							// deferred.fail(function() { bind to newDefer or newDefer.reject })
4761							deferred[ tuple[ 1 ] ]( function() {
4762								var returned = fn && fn.apply( this, arguments );
4763								if ( returned && isFunction( returned.promise ) ) {
4764									returned.promise()
4765										.progress( newDefer.notify )
4766										.done( newDefer.resolve )
4767										.fail( newDefer.reject );
4768								} else {
4769									newDefer[ tuple[ 0 ] + "With" ](
4770										this,
4771										fn ? [ returned ] : arguments
4772									);
4773								}
4774							} );
4775						} );
4776						fns = null;
4777					} ).promise();
4778				},
4779				then: function( onFulfilled, onRejected, onProgress ) {
4780					var maxDepth = 0;
4781					function resolve( depth, deferred, handler, special ) {
4782						return function() {
4783							var that = this,
4784								args = arguments,
4785								mightThrow = function() {
4786									var returned, then;
4787
4788									// Support: Promises/A+ section 2.3.3.3.3
4789									// https://promisesaplus.com/#point-59
4790									// Ignore double-resolution attempts
4791									if ( depth < maxDepth ) {
4792										return;
4793									}
4794
4795									returned = handler.apply( that, args );
4796
4797									// Support: Promises/A+ section 2.3.1
4798									// https://promisesaplus.com/#point-48
4799									if ( returned === deferred.promise() ) {
4800										throw new TypeError( "Thenable self-resolution" );
4801									}
4802
4803									// Support: Promises/A+ sections 2.3.3.1, 3.5
4804									// https://promisesaplus.com/#point-54
4805									// https://promisesaplus.com/#point-75
4806									// Retrieve `then` only once
4807									then = returned &&
4808
4809										// Support: Promises/A+ section 2.3.4
4810										// https://promisesaplus.com/#point-64
4811										// Only check objects and functions for thenability
4812										( typeof returned === "object" ||
4813											typeof returned === "function" ) &&
4814										returned.then;
4815
4816									// Handle a returned thenable
4817									if ( isFunction( then ) ) {
4818
4819										// Special processors (notify) just wait for resolution
4820										if ( special ) {
4821											then.call(
4822												returned,
4823												resolve( maxDepth, deferred, Identity, special ),
4824												resolve( maxDepth, deferred, Thrower, special )
4825											);
4826
4827										// Normal processors (resolve) also hook into progress
4828										} else {
4829
4830											// ...and disregard older resolution values
4831											maxDepth++;
4832
4833											then.call(
4834												returned,
4835												resolve( maxDepth, deferred, Identity, special ),
4836												resolve( maxDepth, deferred, Thrower, special ),
4837												resolve( maxDepth, deferred, Identity,
4838													deferred.notifyWith )
4839											);
4840										}
4841
4842									// Handle all other returned values
4843									} else {
4844
4845										// Only substitute handlers pass on context
4846										// and multiple values (non-spec behavior)
4847										if ( handler !== Identity ) {
4848											that = undefined;
4849											args = [ returned ];
4850										}
4851
4852										// Process the value(s)
4853										// Default process is resolve
4854										( special || deferred.resolveWith )( that, args );
4855									}
4856								},
4857
4858								// Only normal processors (resolve) catch and reject exceptions
4859								process = special ?
4860									mightThrow :
4861									function() {
4862										try {
4863											mightThrow();
4864										} catch ( e ) {
4865
4866											if ( jQuery.Deferred.exceptionHook ) {
4867												jQuery.Deferred.exceptionHook( e,
4868													process.stackTrace );
4869											}
4870
4871											// Support: Promises/A+ section 2.3.3.3.4.1
4872											// https://promisesaplus.com/#point-61
4873											// Ignore post-resolution exceptions
4874											if ( depth + 1 >= maxDepth ) {
4875
4876												// Only substitute handlers pass on context
4877												// and multiple values (non-spec behavior)
4878												if ( handler !== Thrower ) {
4879													that = undefined;
4880													args = [ e ];
4881												}
4882
4883												deferred.rejectWith( that, args );
4884											}
4885										}
4886									};
4887
4888							// Support: Promises/A+ section 2.3.3.3.1
4889							// https://promisesaplus.com/#point-57
4890							// Re-resolve promises immediately to dodge false rejection from
4891							// subsequent errors
4892							if ( depth ) {
4893								process();
4894							} else {
4895
4896								// Call an optional hook to record the stack, in case of exception
4897								// since it's otherwise lost when execution goes async
4898								if ( jQuery.Deferred.getStackHook ) {
4899									process.stackTrace = jQuery.Deferred.getStackHook();
4900								}
4901								window.setTimeout( process );
4902							}
4903						};
4904					}
4905
4906					return jQuery.Deferred( function( newDefer ) {
4907
4908						// progress_handlers.add( ... )
4909						tuples[ 0 ][ 3 ].add(
4910							resolve(
4911								0,
4912								newDefer,
4913								isFunction( onProgress ) ?
4914									onProgress :
4915									Identity,
4916								newDefer.notifyWith
4917							)
4918						);
4919
4920						// fulfilled_handlers.add( ... )
4921						tuples[ 1 ][ 3 ].add(
4922							resolve(
4923								0,
4924								newDefer,
4925								isFunction( onFulfilled ) ?
4926									onFulfilled :
4927									Identity
4928							)
4929						);
4930
4931						// rejected_handlers.add( ... )
4932						tuples[ 2 ][ 3 ].add(
4933							resolve(
4934								0,
4935								newDefer,
4936								isFunction( onRejected ) ?
4937									onRejected :
4938									Thrower
4939							)
4940						);
4941					} ).promise();
4942				},
4943
4944				// Get a promise for this deferred
4945				// If obj is provided, the promise aspect is added to the object
4946				promise: function( obj ) {
4947					return obj != null ? jQuery.extend( obj, promise ) : promise;
4948				}
4949			},
4950			deferred = {};
4951
4952		// Add list-specific methods
4953		jQuery.each( tuples, function( i, tuple ) {
4954			var list = tuple[ 2 ],
4955				stateString = tuple[ 5 ];
4956
4957			// promise.progress = list.add
4958			// promise.done = list.add
4959			// promise.fail = list.add
4960			promise[ tuple[ 1 ] ] = list.add;
4961
4962			// Handle state
4963			if ( stateString ) {
4964				list.add(
4965					function() {
4966
4967						// state = "resolved" (i.e., fulfilled)
4968						// state = "rejected"
4969						state = stateString;
4970					},
4971
4972					// rejected_callbacks.disable
4973					// fulfilled_callbacks.disable
4974					tuples[ 3 - i ][ 2 ].disable,
4975
4976					// rejected_handlers.disable
4977					// fulfilled_handlers.disable
4978					tuples[ 3 - i ][ 3 ].disable,
4979
4980					// progress_callbacks.lock
4981					tuples[ 0 ][ 2 ].lock,
4982
4983					// progress_handlers.lock
4984					tuples[ 0 ][ 3 ].lock
4985				);
4986			}
4987
4988			// progress_handlers.fire
4989			// fulfilled_handlers.fire
4990			// rejected_handlers.fire
4991			list.add( tuple[ 3 ].fire );
4992
4993			// deferred.notify = function() { deferred.notifyWith(...) }
4994			// deferred.resolve = function() { deferred.resolveWith(...) }
4995			// deferred.reject = function() { deferred.rejectWith(...) }
4996			deferred[ tuple[ 0 ] ] = function() {
4997				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
4998				return this;
4999			};
5000
5001			// deferred.notifyWith = list.fireWith
5002			// deferred.resolveWith = list.fireWith
5003			// deferred.rejectWith = list.fireWith
5004			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
5005		} );
5006
5007		// Make the deferred a promise
5008		promise.promise( deferred );
5009
5010		// Call given func if any
5011		if ( func ) {
5012			func.call( deferred, deferred );
5013		}
5014
5015		// All done!
5016		return deferred;
5017	},
5018
5019	// Deferred helper
5020	when: function( singleValue ) {
5021		var
5022
5023			// count of uncompleted subordinates
5024			remaining = arguments.length,
5025
5026			// count of unprocessed arguments
5027			i = remaining,
5028
5029			// subordinate fulfillment data
5030			resolveContexts = Array( i ),
5031			resolveValues = slice.call( arguments ),
5032
5033			// the primary Deferred
5034			primary = jQuery.Deferred(),
5035
5036			// subordinate callback factory
5037			updateFunc = function( i ) {
5038				return function( value ) {
5039					resolveContexts[ i ] = this;
5040					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
5041					if ( !( --remaining ) ) {
5042						primary.resolveWith( resolveContexts, resolveValues );
5043					}
5044				};
5045			};
5046
5047		// Single- and empty arguments are adopted like Promise.resolve
5048		if ( remaining <= 1 ) {
5049			adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
5050				!remaining );
5051
5052			// Use .then() to unwrap secondary thenables (cf. gh-3000)
5053			if ( primary.state() === "pending" ||
5054				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
5055
5056				return primary.then();
5057			}
5058		}
5059
5060		// Multiple arguments are aggregated like Promise.all array elements
5061		while ( i-- ) {
5062			adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
5063		}
5064
5065		return primary.promise();
5066	}
5067} );
5068
5069
5070// These usually indicate a programmer mistake during development,
5071// warn about them ASAP rather than swallowing them by default.
5072var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
5073
5074jQuery.Deferred.exceptionHook = function( error, stack ) {
5075
5076	// Support: IE 8 - 9 only
5077	// Console exists when dev tools are open, which can happen at any time
5078	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
5079		window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
5080	}
5081};
5082
5083
5084
5085
5086jQuery.readyException = function( error ) {
5087	window.setTimeout( function() {
5088		throw error;
5089	} );
5090};
5091
5092
5093
5094
5095// The deferred used on DOM ready
5096var readyList = jQuery.Deferred();
5097
5098jQuery.fn.ready = function( fn ) {
5099
5100	readyList
5101		.then( fn )
5102
5103		// Wrap jQuery.readyException in a function so that the lookup
5104		// happens at the time of error handling instead of callback
5105		// registration.
5106		.catch( function( error ) {
5107			jQuery.readyException( error );
5108		} );
5109
5110	return this;
5111};
5112
5113jQuery.extend( {
5114
5115	// Is the DOM ready to be used? Set to true once it occurs.
5116	isReady: false,
5117
5118	// A counter to track how many items to wait for before
5119	// the ready event fires. See #6781
5120	readyWait: 1,
5121
5122	// Handle when the DOM is ready
5123	ready: function( wait ) {
5124
5125		// Abort if there are pending holds or we're already ready
5126		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
5127			return;
5128		}
5129
5130		// Remember that the DOM is ready
5131		jQuery.isReady = true;
5132
5133		// If a normal DOM Ready event fired, decrement, and wait if need be
5134		if ( wait !== true && --jQuery.readyWait > 0 ) {
5135			return;
5136		}
5137
5138		// If there are functions bound, to execute
5139		readyList.resolveWith( document, [ jQuery ] );
5140	}
5141} );
5142
5143jQuery.ready.then = readyList.then;
5144
5145// The ready event handler and self cleanup method
5146function completed() {
5147	document.removeEventListener( "DOMContentLoaded", completed );
5148	window.removeEventListener( "load", completed );
5149	jQuery.ready();
5150}
5151
5152// Catch cases where $(document).ready() is called
5153// after the browser event has already occurred.
5154// Support: IE <=9 - 10 only
5155// Older IE sometimes signals "interactive" too soon
5156if ( document.readyState === "complete" ||
5157	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
5158
5159	// Handle it asynchronously to allow scripts the opportunity to delay ready
5160	window.setTimeout( jQuery.ready );
5161
5162} else {
5163
5164	// Use the handy event callback
5165	document.addEventListener( "DOMContentLoaded", completed );
5166
5167	// A fallback to window.onload, that will always work
5168	window.addEventListener( "load", completed );
5169}
5170
5171
5172
5173
5174// Multifunctional method to get and set values of a collection
5175// The value/s can optionally be executed if it's a function
5176var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
5177	var i = 0,
5178		len = elems.length,
5179		bulk = key == null;
5180
5181	// Sets many values
5182	if ( toType( key ) === "object" ) {
5183		chainable = true;
5184		for ( i in key ) {
5185			access( elems, fn, i, key[ i ], true, emptyGet, raw );
5186		}
5187
5188	// Sets one value
5189	} else if ( value !== undefined ) {
5190		chainable = true;
5191
5192		if ( !isFunction( value ) ) {
5193			raw = true;
5194		}
5195
5196		if ( bulk ) {
5197
5198			// Bulk operations run against the entire set
5199			if ( raw ) {
5200				fn.call( elems, value );
5201				fn = null;
5202
5203			// ...except when executing function values
5204			} else {
5205				bulk = fn;
5206				fn = function( elem, _key, value ) {
5207					return bulk.call( jQuery( elem ), value );
5208				};
5209			}
5210		}
5211
5212		if ( fn ) {
5213			for ( ; i < len; i++ ) {
5214				fn(
5215					elems[ i ], key, raw ?
5216						value :
5217						value.call( elems[ i ], i, fn( elems[ i ], key ) )
5218				);
5219			}
5220		}
5221	}
5222
5223	if ( chainable ) {
5224		return elems;
5225	}
5226
5227	// Gets
5228	if ( bulk ) {
5229		return fn.call( elems );
5230	}
5231
5232	return len ? fn( elems[ 0 ], key ) : emptyGet;
5233};
5234
5235
5236// Matches dashed string for camelizing
5237var rmsPrefix = /^-ms-/,
5238	rdashAlpha = /-([a-z])/g;
5239
5240// Used by camelCase as callback to replace()
5241function fcamelCase( _all, letter ) {
5242	return letter.toUpperCase();
5243}
5244
5245// Convert dashed to camelCase; used by the css and data modules
5246// Support: IE <=9 - 11, Edge 12 - 15
5247// Microsoft forgot to hump their vendor prefix (#9572)
5248function camelCase( string ) {
5249	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
5250}
5251var acceptData = function( owner ) {
5252
5253	// Accepts only:
5254	//  - Node
5255	//    - Node.ELEMENT_NODE
5256	//    - Node.DOCUMENT_NODE
5257	//  - Object
5258	//    - Any
5259	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
5260};
5261
5262
5263
5264
5265function Data() {
5266	this.expando = jQuery.expando + Data.uid++;
5267}
5268
5269Data.uid = 1;
5270
5271Data.prototype = {
5272
5273	cache: function( owner ) {
5274
5275		// Check if the owner object already has a cache
5276		var value = owner[ this.expando ];
5277
5278		// If not, create one
5279		if ( !value ) {
5280			value = {};
5281
5282			// We can accept data for non-element nodes in modern browsers,
5283			// but we should not, see #8335.
5284			// Always return an empty object.
5285			if ( acceptData( owner ) ) {
5286
5287				// If it is a node unlikely to be stringify-ed or looped over
5288				// use plain assignment
5289				if ( owner.nodeType ) {
5290					owner[ this.expando ] = value;
5291
5292				// Otherwise secure it in a non-enumerable property
5293				// configurable must be true to allow the property to be
5294				// deleted when data is removed
5295				} else {
5296					Object.defineProperty( owner, this.expando, {
5297						value: value,
5298						configurable: true
5299					} );
5300				}
5301			}
5302		}
5303
5304		return value;
5305	},
5306	set: function( owner, data, value ) {
5307		var prop,
5308			cache = this.cache( owner );
5309
5310		// Handle: [ owner, key, value ] args
5311		// Always use camelCase key (gh-2257)
5312		if ( typeof data === "string" ) {
5313			cache[ camelCase( data ) ] = value;
5314
5315		// Handle: [ owner, { properties } ] args
5316		} else {
5317
5318			// Copy the properties one-by-one to the cache object
5319			for ( prop in data ) {
5320				cache[ camelCase( prop ) ] = data[ prop ];
5321			}
5322		}
5323		return cache;
5324	},
5325	get: function( owner, key ) {
5326		return key === undefined ?
5327			this.cache( owner ) :
5328
5329			// Always use camelCase key (gh-2257)
5330			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
5331	},
5332	access: function( owner, key, value ) {
5333
5334		// In cases where either:
5335		//
5336		//   1. No key was specified
5337		//   2. A string key was specified, but no value provided
5338		//
5339		// Take the "read" path and allow the get method to determine
5340		// which value to return, respectively either:
5341		//
5342		//   1. The entire cache object
5343		//   2. The data stored at the key
5344		//
5345		if ( key === undefined ||
5346				( ( key && typeof key === "string" ) && value === undefined ) ) {
5347
5348			return this.get( owner, key );
5349		}
5350
5351		// When the key is not a string, or both a key and value
5352		// are specified, set or extend (existing objects) with either:
5353		//
5354		//   1. An object of properties
5355		//   2. A key and value
5356		//
5357		this.set( owner, key, value );
5358
5359		// Since the "set" path can have two possible entry points
5360		// return the expected data based on which path was taken[*]
5361		return value !== undefined ? value : key;
5362	},
5363	remove: function( owner, key ) {
5364		var i,
5365			cache = owner[ this.expando ];
5366
5367		if ( cache === undefined ) {
5368			return;
5369		}
5370
5371		if ( key !== undefined ) {
5372
5373			// Support array or space separated string of keys
5374			if ( Array.isArray( key ) ) {
5375
5376				// If key is an array of keys...
5377				// We always set camelCase keys, so remove that.
5378				key = key.map( camelCase );
5379			} else {
5380				key = camelCase( key );
5381
5382				// If a key with the spaces exists, use it.
5383				// Otherwise, create an array by matching non-whitespace
5384				key = key in cache ?
5385					[ key ] :
5386					( key.match( rnothtmlwhite ) || [] );
5387			}
5388
5389			i = key.length;
5390
5391			while ( i-- ) {
5392				delete cache[ key[ i ] ];
5393			}
5394		}
5395
5396		// Remove the expando if there's no more data
5397		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
5398
5399			// Support: Chrome <=35 - 45
5400			// Webkit & Blink performance suffers when deleting properties
5401			// from DOM nodes, so set to undefined instead
5402			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
5403			if ( owner.nodeType ) {
5404				owner[ this.expando ] = undefined;
5405			} else {
5406				delete owner[ this.expando ];
5407			}
5408		}
5409	},
5410	hasData: function( owner ) {
5411		var cache = owner[ this.expando ];
5412		return cache !== undefined && !jQuery.isEmptyObject( cache );
5413	}
5414};
5415var dataPriv = new Data();
5416
5417var dataUser = new Data();
5418
5419
5420
5421//	Implementation Summary
5422//
5423//	1. Enforce API surface and semantic compatibility with 1.9.x branch
5424//	2. Improve the module's maintainability by reducing the storage
5425//		paths to a single mechanism.
5426//	3. Use the same single mechanism to support "private" and "user" data.
5427//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
5428//	5. Avoid exposing implementation details on user objects (eg. expando properties)
5429//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
5430
5431var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
5432	rmultiDash = /[A-Z]/g;
5433
5434function getData( data ) {
5435	if ( data === "true" ) {
5436		return true;
5437	}
5438
5439	if ( data === "false" ) {
5440		return false;
5441	}
5442
5443	if ( data === "null" ) {
5444		return null;
5445	}
5446
5447	// Only convert to a number if it doesn't change the string
5448	if ( data === +data + "" ) {
5449		return +data;
5450	}
5451
5452	if ( rbrace.test( data ) ) {
5453		return JSON.parse( data );
5454	}
5455
5456	return data;
5457}
5458
5459function dataAttr( elem, key, data ) {
5460	var name;
5461
5462	// If nothing was found internally, try to fetch any
5463	// data from the HTML5 data-* attribute
5464	if ( data === undefined && elem.nodeType === 1 ) {
5465		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
5466		data = elem.getAttribute( name );
5467
5468		if ( typeof data === "string" ) {
5469			try {
5470				data = getData( data );
5471			} catch ( e ) {}
5472
5473			// Make sure we set the data so it isn't changed later
5474			dataUser.set( elem, key, data );
5475		} else {
5476			data = undefined;
5477		}
5478	}
5479	return data;
5480}
5481
5482jQuery.extend( {
5483	hasData: function( elem ) {
5484		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
5485	},
5486
5487	data: function( elem, name, data ) {
5488		return dataUser.access( elem, name, data );
5489	},
5490
5491	removeData: function( elem, name ) {
5492		dataUser.remove( elem, name );
5493	},
5494
5495	// TODO: Now that all calls to _data and _removeData have been replaced
5496	// with direct calls to dataPriv methods, these can be deprecated.
5497	_data: function( elem, name, data ) {
5498		return dataPriv.access( elem, name, data );
5499	},
5500
5501	_removeData: function( elem, name ) {
5502		dataPriv.remove( elem, name );
5503	}
5504} );
5505
5506jQuery.fn.extend( {
5507	data: function( key, value ) {
5508		var i, name, data,
5509			elem = this[ 0 ],
5510			attrs = elem && elem.attributes;
5511
5512		// Gets all values
5513		if ( key === undefined ) {
5514			if ( this.length ) {
5515				data = dataUser.get( elem );
5516
5517				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
5518					i = attrs.length;
5519					while ( i-- ) {
5520
5521						// Support: IE 11 only
5522						// The attrs elements can be null (#14894)
5523						if ( attrs[ i ] ) {
5524							name = attrs[ i ].name;
5525							if ( name.indexOf( "data-" ) === 0 ) {
5526								name = camelCase( name.slice( 5 ) );
5527								dataAttr( elem, name, data[ name ] );
5528							}
5529						}
5530					}
5531					dataPriv.set( elem, "hasDataAttrs", true );
5532				}
5533			}
5534
5535			return data;
5536		}
5537
5538		// Sets multiple values
5539		if ( typeof key === "object" ) {
5540			return this.each( function() {
5541				dataUser.set( this, key );
5542			} );
5543		}
5544
5545		return access( this, function( value ) {
5546			var data;
5547
5548			// The calling jQuery object (element matches) is not empty
5549			// (and therefore has an element appears at this[ 0 ]) and the
5550			// `value` parameter was not undefined. An empty jQuery object
5551			// will result in `undefined` for elem = this[ 0 ] which will
5552			// throw an exception if an attempt to read a data cache is made.
5553			if ( elem && value === undefined ) {
5554
5555				// Attempt to get data from the cache
5556				// The key will always be camelCased in Data
5557				data = dataUser.get( elem, key );
5558				if ( data !== undefined ) {
5559					return data;
5560				}
5561
5562				// Attempt to "discover" the data in
5563				// HTML5 custom data-* attrs
5564				data = dataAttr( elem, key );
5565				if ( data !== undefined ) {
5566					return data;
5567				}
5568
5569				// We tried really hard, but the data doesn't exist.
5570				return;
5571			}
5572
5573			// Set the data...
5574			this.each( function() {
5575
5576				// We always store the camelCased key
5577				dataUser.set( this, key, value );
5578			} );
5579		}, null, value, arguments.length > 1, null, true );
5580	},
5581
5582	removeData: function( key ) {
5583		return this.each( function() {
5584			dataUser.remove( this, key );
5585		} );
5586	}
5587} );
5588
5589
5590jQuery.extend( {
5591	queue: function( elem, type, data ) {
5592		var queue;
5593
5594		if ( elem ) {
5595			type = ( type || "fx" ) + "queue";
5596			queue = dataPriv.get( elem, type );
5597
5598			// Speed up dequeue by getting out quickly if this is just a lookup
5599			if ( data ) {
5600				if ( !queue || Array.isArray( data ) ) {
5601					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
5602				} else {
5603					queue.push( data );
5604				}
5605			}
5606			return queue || [];
5607		}
5608	},
5609
5610	dequeue: function( elem, type ) {
5611		type = type || "fx";
5612
5613		var queue = jQuery.queue( elem, type ),
5614			startLength = queue.length,
5615			fn = queue.shift(),
5616			hooks = jQuery._queueHooks( elem, type ),
5617			next = function() {
5618				jQuery.dequeue( elem, type );
5619			};
5620
5621		// If the fx queue is dequeued, always remove the progress sentinel
5622		if ( fn === "inprogress" ) {
5623			fn = queue.shift();
5624			startLength--;
5625		}
5626
5627		if ( fn ) {
5628
5629			// Add a progress sentinel to prevent the fx queue from being
5630			// automatically dequeued
5631			if ( type === "fx" ) {
5632				queue.unshift( "inprogress" );
5633			}
5634
5635			// Clear up the last queue stop function
5636			delete hooks.stop;
5637			fn.call( elem, next, hooks );
5638		}
5639
5640		if ( !startLength && hooks ) {
5641			hooks.empty.fire();
5642		}
5643	},
5644
5645	// Not public - generate a queueHooks object, or return the current one
5646	_queueHooks: function( elem, type ) {
5647		var key = type + "queueHooks";
5648		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
5649			empty: jQuery.Callbacks( "once memory" ).add( function() {
5650				dataPriv.remove( elem, [ type + "queue", key ] );
5651			} )
5652		} );
5653	}
5654} );
5655
5656jQuery.fn.extend( {
5657	queue: function( type, data ) {
5658		var setter = 2;
5659
5660		if ( typeof type !== "string" ) {
5661			data = type;
5662			type = "fx";
5663			setter--;
5664		}
5665
5666		if ( arguments.length < setter ) {
5667			return jQuery.queue( this[ 0 ], type );
5668		}
5669
5670		return data === undefined ?
5671			this :
5672			this.each( function() {
5673				var queue = jQuery.queue( this, type, data );
5674
5675				// Ensure a hooks for this queue
5676				jQuery._queueHooks( this, type );
5677
5678				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
5679					jQuery.dequeue( this, type );
5680				}
5681			} );
5682	},
5683	dequeue: function( type ) {
5684		return this.each( function() {
5685			jQuery.dequeue( this, type );
5686		} );
5687	},
5688	clearQueue: function( type ) {
5689		return this.queue( type || "fx", [] );
5690	},
5691
5692	// Get a promise resolved when queues of a certain type
5693	// are emptied (fx is the type by default)
5694	promise: function( type, obj ) {
5695		var tmp,
5696			count = 1,
5697			defer = jQuery.Deferred(),
5698			elements = this,
5699			i = this.length,
5700			resolve = function() {
5701				if ( !( --count ) ) {
5702					defer.resolveWith( elements, [ elements ] );
5703				}
5704			};
5705
5706		if ( typeof type !== "string" ) {
5707			obj = type;
5708			type = undefined;
5709		}
5710		type = type || "fx";
5711
5712		while ( i-- ) {
5713			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
5714			if ( tmp && tmp.empty ) {
5715				count++;
5716				tmp.empty.add( resolve );
5717			}
5718		}
5719		resolve();
5720		return defer.promise( obj );
5721	}
5722} );
5723var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
5724
5725var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
5726
5727
5728var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
5729
5730var documentElement = document.documentElement;
5731
5732
5733
5734	var isAttached = function( elem ) {
5735			return jQuery.contains( elem.ownerDocument, elem );
5736		},
5737		composed = { composed: true };
5738
5739	// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
5740	// Check attachment across shadow DOM boundaries when possible (gh-3504)
5741	// Support: iOS 10.0-10.2 only
5742	// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
5743	// leading to errors. We need to check for `getRootNode`.
5744	if ( documentElement.getRootNode ) {
5745		isAttached = function( elem ) {
5746			return jQuery.contains( elem.ownerDocument, elem ) ||
5747				elem.getRootNode( composed ) === elem.ownerDocument;
5748		};
5749	}
5750var isHiddenWithinTree = function( elem, el ) {
5751
5752		// isHiddenWithinTree might be called from jQuery#filter function;
5753		// in that case, element will be second argument
5754		elem = el || elem;
5755
5756		// Inline style trumps all
5757		return elem.style.display === "none" ||
5758			elem.style.display === "" &&
5759
5760			// Otherwise, check computed style
5761			// Support: Firefox <=43 - 45
5762			// Disconnected elements can have computed display: none, so first confirm that elem is
5763			// in the document.
5764			isAttached( elem ) &&
5765
5766			jQuery.css( elem, "display" ) === "none";
5767	};
5768
5769
5770
5771function adjustCSS( elem, prop, valueParts, tween ) {
5772	var adjusted, scale,
5773		maxIterations = 20,
5774		currentValue = tween ?
5775			function() {
5776				return tween.cur();
5777			} :
5778			function() {
5779				return jQuery.css( elem, prop, "" );
5780			},
5781		initial = currentValue(),
5782		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
5783
5784		// Starting value computation is required for potential unit mismatches
5785		initialInUnit = elem.nodeType &&
5786			( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
5787			rcssNum.exec( jQuery.css( elem, prop ) );
5788
5789	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
5790
5791		// Support: Firefox <=54
5792		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
5793		initial = initial / 2;
5794
5795		// Trust units reported by jQuery.css
5796		unit = unit || initialInUnit[ 3 ];
5797
5798		// Iteratively approximate from a nonzero starting point
5799		initialInUnit = +initial || 1;
5800
5801		while ( maxIterations-- ) {
5802
5803			// Evaluate and update our best guess (doubling guesses that zero out).
5804			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
5805			jQuery.style( elem, prop, initialInUnit + unit );
5806			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
5807				maxIterations = 0;
5808			}
5809			initialInUnit = initialInUnit / scale;
5810
5811		}
5812
5813		initialInUnit = initialInUnit * 2;
5814		jQuery.style( elem, prop, initialInUnit + unit );
5815
5816		// Make sure we update the tween properties later on
5817		valueParts = valueParts || [];
5818	}
5819
5820	if ( valueParts ) {
5821		initialInUnit = +initialInUnit || +initial || 0;
5822
5823		// Apply relative offset (+=/-=) if specified
5824		adjusted = valueParts[ 1 ] ?
5825			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
5826			+valueParts[ 2 ];
5827		if ( tween ) {
5828			tween.unit = unit;
5829			tween.start = initialInUnit;
5830			tween.end = adjusted;
5831		}
5832	}
5833	return adjusted;
5834}
5835
5836
5837var defaultDisplayMap = {};
5838
5839function getDefaultDisplay( elem ) {
5840	var temp,
5841		doc = elem.ownerDocument,
5842		nodeName = elem.nodeName,
5843		display = defaultDisplayMap[ nodeName ];
5844
5845	if ( display ) {
5846		return display;
5847	}
5848
5849	temp = doc.body.appendChild( doc.createElement( nodeName ) );
5850	display = jQuery.css( temp, "display" );
5851
5852	temp.parentNode.removeChild( temp );
5853
5854	if ( display === "none" ) {
5855		display = "block";
5856	}
5857	defaultDisplayMap[ nodeName ] = display;
5858
5859	return display;
5860}
5861
5862function showHide( elements, show ) {
5863	var display, elem,
5864		values = [],
5865		index = 0,
5866		length = elements.length;
5867
5868	// Determine new display value for elements that need to change
5869	for ( ; index < length; index++ ) {
5870		elem = elements[ index ];
5871		if ( !elem.style ) {
5872			continue;
5873		}
5874
5875		display = elem.style.display;
5876		if ( show ) {
5877
5878			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
5879			// check is required in this first loop unless we have a nonempty display value (either
5880			// inline or about-to-be-restored)
5881			if ( display === "none" ) {
5882				values[ index ] = dataPriv.get( elem, "display" ) || null;
5883				if ( !values[ index ] ) {
5884					elem.style.display = "";
5885				}
5886			}
5887			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
5888				values[ index ] = getDefaultDisplay( elem );
5889			}
5890		} else {
5891			if ( display !== "none" ) {
5892				values[ index ] = "none";
5893
5894				// Remember what we're overwriting
5895				dataPriv.set( elem, "display", display );
5896			}
5897		}
5898	}
5899
5900	// Set the display of the elements in a second loop to avoid constant reflow
5901	for ( index = 0; index < length; index++ ) {
5902		if ( values[ index ] != null ) {
5903			elements[ index ].style.display = values[ index ];
5904		}
5905	}
5906
5907	return elements;
5908}
5909
5910jQuery.fn.extend( {
5911	show: function() {
5912		return showHide( this, true );
5913	},
5914	hide: function() {
5915		return showHide( this );
5916	},
5917	toggle: function( state ) {
5918		if ( typeof state === "boolean" ) {
5919			return state ? this.show() : this.hide();
5920		}
5921
5922		return this.each( function() {
5923			if ( isHiddenWithinTree( this ) ) {
5924				jQuery( this ).show();
5925			} else {
5926				jQuery( this ).hide();
5927			}
5928		} );
5929	}
5930} );
5931var rcheckableType = ( /^(?:checkbox|radio)$/i );
5932
5933var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
5934
5935var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
5936
5937
5938
5939( function() {
5940	var fragment = document.createDocumentFragment(),
5941		div = fragment.appendChild( document.createElement( "div" ) ),
5942		input = document.createElement( "input" );
5943
5944	// Support: Android 4.0 - 4.3 only
5945	// Check state lost if the name is set (#11217)
5946	// Support: Windows Web Apps (WWA)
5947	// `name` and `type` must use .setAttribute for WWA (#14901)
5948	input.setAttribute( "type", "radio" );
5949	input.setAttribute( "checked", "checked" );
5950	input.setAttribute( "name", "t" );
5951
5952	div.appendChild( input );
5953
5954	// Support: Android <=4.1 only
5955	// Older WebKit doesn't clone checked state correctly in fragments
5956	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
5957
5958	// Support: IE <=11 only
5959	// Make sure textarea (and checkbox) defaultValue is properly cloned
5960	div.innerHTML = "<textarea>x</textarea>";
5961	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
5962
5963	// Support: IE <=9 only
5964	// IE <=9 replaces <option> tags with their contents when inserted outside of
5965	// the select element.
5966	div.innerHTML = "<option></option>";
5967	support.option = !!div.lastChild;
5968} )();
5969
5970
5971// We have to close these tags to support XHTML (#13200)
5972var wrapMap = {
5973
5974	// XHTML parsers do not magically insert elements in the
5975	// same way that tag soup parsers do. So we cannot shorten
5976	// this by omitting <tbody> or other required elements.
5977	thead: [ 1, "<table>", "</table>" ],
5978	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
5979	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
5980	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
5981
5982	_default: [ 0, "", "" ]
5983};
5984
5985wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
5986wrapMap.th = wrapMap.td;
5987
5988// Support: IE <=9 only
5989if ( !support.option ) {
5990	wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
5991}
5992
5993
5994function getAll( context, tag ) {
5995
5996	// Support: IE <=9 - 11 only
5997	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
5998	var ret;
5999
6000	if ( typeof context.getElementsByTagName !== "undefined" ) {
6001		ret = context.getElementsByTagName( tag || "*" );
6002
6003	} else if ( typeof context.querySelectorAll !== "undefined" ) {
6004		ret = context.querySelectorAll( tag || "*" );
6005
6006	} else {
6007		ret = [];
6008	}
6009
6010	if ( tag === undefined || tag && nodeName( context, tag ) ) {
6011		return jQuery.merge( [ context ], ret );
6012	}
6013
6014	return ret;
6015}
6016
6017
6018// Mark scripts as having already been evaluated
6019function setGlobalEval( elems, refElements ) {
6020	var i = 0,
6021		l = elems.length;
6022
6023	for ( ; i < l; i++ ) {
6024		dataPriv.set(
6025			elems[ i ],
6026			"globalEval",
6027			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
6028		);
6029	}
6030}
6031
6032
6033var rhtml = /<|&#?\w+;/;
6034
6035function buildFragment( elems, context, scripts, selection, ignored ) {
6036	var elem, tmp, tag, wrap, attached, j,
6037		fragment = context.createDocumentFragment(),
6038		nodes = [],
6039		i = 0,
6040		l = elems.length;
6041
6042	for ( ; i < l; i++ ) {
6043		elem = elems[ i ];
6044
6045		if ( elem || elem === 0 ) {
6046
6047			// Add nodes directly
6048			if ( toType( elem ) === "object" ) {
6049
6050				// Support: Android <=4.0 only, PhantomJS 1 only
6051				// push.apply(_, arraylike) throws on ancient WebKit
6052				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
6053
6054			// Convert non-html into a text node
6055			} else if ( !rhtml.test( elem ) ) {
6056				nodes.push( context.createTextNode( elem ) );
6057
6058			// Convert html into DOM nodes
6059			} else {
6060				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
6061
6062				// Deserialize a standard representation
6063				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
6064				wrap = wrapMap[ tag ] || wrapMap._default;
6065				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
6066
6067				// Descend through wrappers to the right content
6068				j = wrap[ 0 ];
6069				while ( j-- ) {
6070					tmp = tmp.lastChild;
6071				}
6072
6073				// Support: Android <=4.0 only, PhantomJS 1 only
6074				// push.apply(_, arraylike) throws on ancient WebKit
6075				jQuery.merge( nodes, tmp.childNodes );
6076
6077				// Remember the top-level container
6078				tmp = fragment.firstChild;
6079
6080				// Ensure the created nodes are orphaned (#12392)
6081				tmp.textContent = "";
6082			}
6083		}
6084	}
6085
6086	// Remove wrapper from fragment
6087	fragment.textContent = "";
6088
6089	i = 0;
6090	while ( ( elem = nodes[ i++ ] ) ) {
6091
6092		// Skip elements already in the context collection (trac-4087)
6093		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
6094			if ( ignored ) {
6095				ignored.push( elem );
6096			}
6097			continue;
6098		}
6099
6100		attached = isAttached( elem );
6101
6102		// Append to fragment
6103		tmp = getAll( fragment.appendChild( elem ), "script" );
6104
6105		// Preserve script evaluation history
6106		if ( attached ) {
6107			setGlobalEval( tmp );
6108		}
6109
6110		// Capture executables
6111		if ( scripts ) {
6112			j = 0;
6113			while ( ( elem = tmp[ j++ ] ) ) {
6114				if ( rscriptType.test( elem.type || "" ) ) {
6115					scripts.push( elem );
6116				}
6117			}
6118		}
6119	}
6120
6121	return fragment;
6122}
6123
6124
6125var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
6126
6127function returnTrue() {
6128	return true;
6129}
6130
6131function returnFalse() {
6132	return false;
6133}
6134
6135// Support: IE <=9 - 11+
6136// focus() and blur() are asynchronous, except when they are no-op.
6137// So expect focus to be synchronous when the element is already active,
6138// and blur to be synchronous when the element is not already active.
6139// (focus and blur are always synchronous in other supported browsers,
6140// this just defines when we can count on it).
6141function expectSync( elem, type ) {
6142	return ( elem === safeActiveElement() ) === ( type === "focus" );
6143}
6144
6145// Support: IE <=9 only
6146// Accessing document.activeElement can throw unexpectedly
6147// https://bugs.jquery.com/ticket/13393
6148function safeActiveElement() {
6149	try {
6150		return document.activeElement;
6151	} catch ( err ) { }
6152}
6153
6154function on( elem, types, selector, data, fn, one ) {
6155	var origFn, type;
6156
6157	// Types can be a map of types/handlers
6158	if ( typeof types === "object" ) {
6159
6160		// ( types-Object, selector, data )
6161		if ( typeof selector !== "string" ) {
6162
6163			// ( types-Object, data )
6164			data = data || selector;
6165			selector = undefined;
6166		}
6167		for ( type in types ) {
6168			on( elem, type, selector, data, types[ type ], one );
6169		}
6170		return elem;
6171	}
6172
6173	if ( data == null && fn == null ) {
6174
6175		// ( types, fn )
6176		fn = selector;
6177		data = selector = undefined;
6178	} else if ( fn == null ) {
6179		if ( typeof selector === "string" ) {
6180
6181			// ( types, selector, fn )
6182			fn = data;
6183			data = undefined;
6184		} else {
6185
6186			// ( types, data, fn )
6187			fn = data;
6188			data = selector;
6189			selector = undefined;
6190		}
6191	}
6192	if ( fn === false ) {
6193		fn = returnFalse;
6194	} else if ( !fn ) {
6195		return elem;
6196	}
6197
6198	if ( one === 1 ) {
6199		origFn = fn;
6200		fn = function( event ) {
6201
6202			// Can use an empty set, since event contains the info
6203			jQuery().off( event );
6204			return origFn.apply( this, arguments );
6205		};
6206
6207		// Use same guid so caller can remove using origFn
6208		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
6209	}
6210	return elem.each( function() {
6211		jQuery.event.add( this, types, fn, data, selector );
6212	} );
6213}
6214
6215/*
6216 * Helper functions for managing events -- not part of the public interface.
6217 * Props to Dean Edwards' addEvent library for many of the ideas.
6218 */
6219jQuery.event = {
6220
6221	global: {},
6222
6223	add: function( elem, types, handler, data, selector ) {
6224
6225		var handleObjIn, eventHandle, tmp,
6226			events, t, handleObj,
6227			special, handlers, type, namespaces, origType,
6228			elemData = dataPriv.get( elem );
6229
6230		// Only attach events to objects that accept data
6231		if ( !acceptData( elem ) ) {
6232			return;
6233		}
6234
6235		// Caller can pass in an object of custom data in lieu of the handler
6236		if ( handler.handler ) {
6237			handleObjIn = handler;
6238			handler = handleObjIn.handler;
6239			selector = handleObjIn.selector;
6240		}
6241
6242		// Ensure that invalid selectors throw exceptions at attach time
6243		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
6244		if ( selector ) {
6245			jQuery.find.matchesSelector( documentElement, selector );
6246		}
6247
6248		// Make sure that the handler has a unique ID, used to find/remove it later
6249		if ( !handler.guid ) {
6250			handler.guid = jQuery.guid++;
6251		}
6252
6253		// Init the element's event structure and main handler, if this is the first
6254		if ( !( events = elemData.events ) ) {
6255			events = elemData.events = Object.create( null );
6256		}
6257		if ( !( eventHandle = elemData.handle ) ) {
6258			eventHandle = elemData.handle = function( e ) {
6259
6260				// Discard the second event of a jQuery.event.trigger() and
6261				// when an event is called after a page has unloaded
6262				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
6263					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
6264			};
6265		}
6266
6267		// Handle multiple events separated by a space
6268		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
6269		t = types.length;
6270		while ( t-- ) {
6271			tmp = rtypenamespace.exec( types[ t ] ) || [];
6272			type = origType = tmp[ 1 ];
6273			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
6274
6275			// There *must* be a type, no attaching namespace-only handlers
6276			if ( !type ) {
6277				continue;
6278			}
6279
6280			// If event changes its type, use the special event handlers for the changed type
6281			special = jQuery.event.special[ type ] || {};
6282
6283			// If selector defined, determine special event api type, otherwise given type
6284			type = ( selector ? special.delegateType : special.bindType ) || type;
6285
6286			// Update special based on newly reset type
6287			special = jQuery.event.special[ type ] || {};
6288
6289			// handleObj is passed to all event handlers
6290			handleObj = jQuery.extend( {
6291				type: type,
6292				origType: origType,
6293				data: data,
6294				handler: handler,
6295				guid: handler.guid,
6296				selector: selector,
6297				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
6298				namespace: namespaces.join( "." )
6299			}, handleObjIn );
6300
6301			// Init the event handler queue if we're the first
6302			if ( !( handlers = events[ type ] ) ) {
6303				handlers = events[ type ] = [];
6304				handlers.delegateCount = 0;
6305
6306				// Only use addEventListener if the special events handler returns false
6307				if ( !special.setup ||
6308					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
6309
6310					if ( elem.addEventListener ) {
6311						elem.addEventListener( type, eventHandle );
6312					}
6313				}
6314			}
6315
6316			if ( special.add ) {
6317				special.add.call( elem, handleObj );
6318
6319				if ( !handleObj.handler.guid ) {
6320					handleObj.handler.guid = handler.guid;
6321				}
6322			}
6323
6324			// Add to the element's handler list, delegates in front
6325			if ( selector ) {
6326				handlers.splice( handlers.delegateCount++, 0, handleObj );
6327			} else {
6328				handlers.push( handleObj );
6329			}
6330
6331			// Keep track of which events have ever been used, for event optimization
6332			jQuery.event.global[ type ] = true;
6333		}
6334
6335	},
6336
6337	// Detach an event or set of events from an element
6338	remove: function( elem, types, handler, selector, mappedTypes ) {
6339
6340		var j, origCount, tmp,
6341			events, t, handleObj,
6342			special, handlers, type, namespaces, origType,
6343			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
6344
6345		if ( !elemData || !( events = elemData.events ) ) {
6346			return;
6347		}
6348
6349		// Once for each type.namespace in types; type may be omitted
6350		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
6351		t = types.length;
6352		while ( t-- ) {
6353			tmp = rtypenamespace.exec( types[ t ] ) || [];
6354			type = origType = tmp[ 1 ];
6355			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
6356
6357			// Unbind all events (on this namespace, if provided) for the element
6358			if ( !type ) {
6359				for ( type in events ) {
6360					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
6361				}
6362				continue;
6363			}
6364
6365			special = jQuery.event.special[ type ] || {};
6366			type = ( selector ? special.delegateType : special.bindType ) || type;
6367			handlers = events[ type ] || [];
6368			tmp = tmp[ 2 ] &&
6369				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
6370
6371			// Remove matching events
6372			origCount = j = handlers.length;
6373			while ( j-- ) {
6374				handleObj = handlers[ j ];
6375
6376				if ( ( mappedTypes || origType === handleObj.origType ) &&
6377					( !handler || handler.guid === handleObj.guid ) &&
6378					( !tmp || tmp.test( handleObj.namespace ) ) &&
6379					( !selector || selector === handleObj.selector ||
6380						selector === "**" && handleObj.selector ) ) {
6381					handlers.splice( j, 1 );
6382
6383					if ( handleObj.selector ) {
6384						handlers.delegateCount--;
6385					}
6386					if ( special.remove ) {
6387						special.remove.call( elem, handleObj );
6388					}
6389				}
6390			}
6391
6392			// Remove generic event handler if we removed something and no more handlers exist
6393			// (avoids potential for endless recursion during removal of special event handlers)
6394			if ( origCount && !handlers.length ) {
6395				if ( !special.teardown ||
6396					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
6397
6398					jQuery.removeEvent( elem, type, elemData.handle );
6399				}
6400
6401				delete events[ type ];
6402			}
6403		}
6404
6405		// Remove data and the expando if it's no longer used
6406		if ( jQuery.isEmptyObject( events ) ) {
6407			dataPriv.remove( elem, "handle events" );
6408		}
6409	},
6410
6411	dispatch: function( nativeEvent ) {
6412
6413		var i, j, ret, matched, handleObj, handlerQueue,
6414			args = new Array( arguments.length ),
6415
6416			// Make a writable jQuery.Event from the native event object
6417			event = jQuery.event.fix( nativeEvent ),
6418
6419			handlers = (
6420				dataPriv.get( this, "events" ) || Object.create( null )
6421			)[ event.type ] || [],
6422			special = jQuery.event.special[ event.type ] || {};
6423
6424		// Use the fix-ed jQuery.Event rather than the (read-only) native event
6425		args[ 0 ] = event;
6426
6427		for ( i = 1; i < arguments.length; i++ ) {
6428			args[ i ] = arguments[ i ];
6429		}
6430
6431		event.delegateTarget = this;
6432
6433		// Call the preDispatch hook for the mapped type, and let it bail if desired
6434		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
6435			return;
6436		}
6437
6438		// Determine handlers
6439		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
6440
6441		// Run delegates first; they may want to stop propagation beneath us
6442		i = 0;
6443		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
6444			event.currentTarget = matched.elem;
6445
6446			j = 0;
6447			while ( ( handleObj = matched.handlers[ j++ ] ) &&
6448				!event.isImmediatePropagationStopped() ) {
6449
6450				// If the event is namespaced, then each handler is only invoked if it is
6451				// specially universal or its namespaces are a superset of the event's.
6452				if ( !event.rnamespace || handleObj.namespace === false ||
6453					event.rnamespace.test( handleObj.namespace ) ) {
6454
6455					event.handleObj = handleObj;
6456					event.data = handleObj.data;
6457
6458					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
6459						handleObj.handler ).apply( matched.elem, args );
6460
6461					if ( ret !== undefined ) {
6462						if ( ( event.result = ret ) === false ) {
6463							event.preventDefault();
6464							event.stopPropagation();
6465						}
6466					}
6467				}
6468			}
6469		}
6470
6471		// Call the postDispatch hook for the mapped type
6472		if ( special.postDispatch ) {
6473			special.postDispatch.call( this, event );
6474		}
6475
6476		return event.result;
6477	},
6478
6479	handlers: function( event, handlers ) {
6480		var i, handleObj, sel, matchedHandlers, matchedSelectors,
6481			handlerQueue = [],
6482			delegateCount = handlers.delegateCount,
6483			cur = event.target;
6484
6485		// Find delegate handlers
6486		if ( delegateCount &&
6487
6488			// Support: IE <=9
6489			// Black-hole SVG <use> instance trees (trac-13180)
6490			cur.nodeType &&
6491
6492			// Support: Firefox <=42
6493			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
6494			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
6495			// Support: IE 11 only
6496			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
6497			!( event.type === "click" && event.button >= 1 ) ) {
6498
6499			for ( ; cur !== this; cur = cur.parentNode || this ) {
6500
6501				// Don't check non-elements (#13208)
6502				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
6503				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
6504					matchedHandlers = [];
6505					matchedSelectors = {};
6506					for ( i = 0; i < delegateCount; i++ ) {
6507						handleObj = handlers[ i ];
6508
6509						// Don't conflict with Object.prototype properties (#13203)
6510						sel = handleObj.selector + " ";
6511
6512						if ( matchedSelectors[ sel ] === undefined ) {
6513							matchedSelectors[ sel ] = handleObj.needsContext ?
6514								jQuery( sel, this ).index( cur ) > -1 :
6515								jQuery.find( sel, this, null, [ cur ] ).length;
6516						}
6517						if ( matchedSelectors[ sel ] ) {
6518							matchedHandlers.push( handleObj );
6519						}
6520					}
6521					if ( matchedHandlers.length ) {
6522						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
6523					}
6524				}
6525			}
6526		}
6527
6528		// Add the remaining (directly-bound) handlers
6529		cur = this;
6530		if ( delegateCount < handlers.length ) {
6531			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
6532		}
6533
6534		return handlerQueue;
6535	},
6536
6537	addProp: function( name, hook ) {
6538		Object.defineProperty( jQuery.Event.prototype, name, {
6539			enumerable: true,
6540			configurable: true,
6541
6542			get: isFunction( hook ) ?
6543				function() {
6544					if ( this.originalEvent ) {
6545						return hook( this.originalEvent );
6546					}
6547				} :
6548				function() {
6549					if ( this.originalEvent ) {
6550						return this.originalEvent[ name ];
6551					}
6552				},
6553
6554			set: function( value ) {
6555				Object.defineProperty( this, name, {
6556					enumerable: true,
6557					configurable: true,
6558					writable: true,
6559					value: value
6560				} );
6561			}
6562		} );
6563	},
6564
6565	fix: function( originalEvent ) {
6566		return originalEvent[ jQuery.expando ] ?
6567			originalEvent :
6568			new jQuery.Event( originalEvent );
6569	},
6570
6571	special: {
6572		load: {
6573
6574			// Prevent triggered image.load events from bubbling to window.load
6575			noBubble: true
6576		},
6577		click: {
6578
6579			// Utilize native event to ensure correct state for checkable inputs
6580			setup: function( data ) {
6581
6582				// For mutual compressibility with _default, replace `this` access with a local var.
6583				// `|| data` is dead code meant only to preserve the variable through minification.
6584				var el = this || data;
6585
6586				// Claim the first handler
6587				if ( rcheckableType.test( el.type ) &&
6588					el.click && nodeName( el, "input" ) ) {
6589
6590					// dataPriv.set( el, "click", ... )
6591					leverageNative( el, "click", returnTrue );
6592				}
6593
6594				// Return false to allow normal processing in the caller
6595				return false;
6596			},
6597			trigger: function( data ) {
6598
6599				// For mutual compressibility with _default, replace `this` access with a local var.
6600				// `|| data` is dead code meant only to preserve the variable through minification.
6601				var el = this || data;
6602
6603				// Force setup before triggering a click
6604				if ( rcheckableType.test( el.type ) &&
6605					el.click && nodeName( el, "input" ) ) {
6606
6607					leverageNative( el, "click" );
6608				}
6609
6610				// Return non-false to allow normal event-path propagation
6611				return true;
6612			},
6613
6614			// For cross-browser consistency, suppress native .click() on links
6615			// Also prevent it if we're currently inside a leveraged native-event stack
6616			_default: function( event ) {
6617				var target = event.target;
6618				return rcheckableType.test( target.type ) &&
6619					target.click && nodeName( target, "input" ) &&
6620					dataPriv.get( target, "click" ) ||
6621					nodeName( target, "a" );
6622			}
6623		},
6624
6625		beforeunload: {
6626			postDispatch: function( event ) {
6627
6628				// Support: Firefox 20+
6629				// Firefox doesn't alert if the returnValue field is not set.
6630				if ( event.result !== undefined && event.originalEvent ) {
6631					event.originalEvent.returnValue = event.result;
6632				}
6633			}
6634		}
6635	}
6636};
6637
6638// Ensure the presence of an event listener that handles manually-triggered
6639// synthetic events by interrupting progress until reinvoked in response to
6640// *native* events that it fires directly, ensuring that state changes have
6641// already occurred before other listeners are invoked.
6642function leverageNative( el, type, expectSync ) {
6643
6644	// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
6645	if ( !expectSync ) {
6646		if ( dataPriv.get( el, type ) === undefined ) {
6647			jQuery.event.add( el, type, returnTrue );
6648		}
6649		return;
6650	}
6651
6652	// Register the controller as a special universal handler for all event namespaces
6653	dataPriv.set( el, type, false );
6654	jQuery.event.add( el, type, {
6655		namespace: false,
6656		handler: function( event ) {
6657			var notAsync, result,
6658				saved = dataPriv.get( this, type );
6659
6660			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
6661
6662				// Interrupt processing of the outer synthetic .trigger()ed event
6663				// Saved data should be false in such cases, but might be a leftover capture object
6664				// from an async native handler (gh-4350)
6665				if ( !saved.length ) {
6666
6667					// Store arguments for use when handling the inner native event
6668					// There will always be at least one argument (an event object), so this array
6669					// will not be confused with a leftover capture object.
6670					saved = slice.call( arguments );
6671					dataPriv.set( this, type, saved );
6672
6673					// Trigger the native event and capture its result
6674					// Support: IE <=9 - 11+
6675					// focus() and blur() are asynchronous
6676					notAsync = expectSync( this, type );
6677					this[ type ]();
6678					result = dataPriv.get( this, type );
6679					if ( saved !== result || notAsync ) {
6680						dataPriv.set( this, type, false );
6681					} else {
6682						result = {};
6683					}
6684					if ( saved !== result ) {
6685
6686						// Cancel the outer synthetic event
6687						event.stopImmediatePropagation();
6688						event.preventDefault();
6689
6690						// Support: Chrome 86+
6691						// In Chrome, if an element having a focusout handler is blurred by
6692						// clicking outside of it, it invokes the handler synchronously. If
6693						// that handler calls `.remove()` on the element, the data is cleared,
6694						// leaving `result` undefined. We need to guard against this.
6695						return result && result.value;
6696					}
6697
6698				// If this is an inner synthetic event for an event with a bubbling surrogate
6699				// (focus or blur), assume that the surrogate already propagated from triggering the
6700				// native event and prevent that from happening again here.
6701				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
6702				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
6703				// less bad than duplication.
6704				} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
6705					event.stopPropagation();
6706				}
6707
6708			// If this is a native event triggered above, everything is now in order
6709			// Fire an inner synthetic event with the original arguments
6710			} else if ( saved.length ) {
6711
6712				// ...and capture the result
6713				dataPriv.set( this, type, {
6714					value: jQuery.event.trigger(
6715
6716						// Support: IE <=9 - 11+
6717						// Extend with the prototype to reset the above stopImmediatePropagation()
6718						jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
6719						saved.slice( 1 ),
6720						this
6721					)
6722				} );
6723
6724				// Abort handling of the native event
6725				event.stopImmediatePropagation();
6726			}
6727		}
6728	} );
6729}
6730
6731jQuery.removeEvent = function( elem, type, handle ) {
6732
6733	// This "if" is needed for plain objects
6734	if ( elem.removeEventListener ) {
6735		elem.removeEventListener( type, handle );
6736	}
6737};
6738
6739jQuery.Event = function( src, props ) {
6740
6741	// Allow instantiation without the 'new' keyword
6742	if ( !( this instanceof jQuery.Event ) ) {
6743		return new jQuery.Event( src, props );
6744	}
6745
6746	// Event object
6747	if ( src && src.type ) {
6748		this.originalEvent = src;
6749		this.type = src.type;
6750
6751		// Events bubbling up the document may have been marked as prevented
6752		// by a handler lower down the tree; reflect the correct value.
6753		this.isDefaultPrevented = src.defaultPrevented ||
6754				src.defaultPrevented === undefined &&
6755
6756				// Support: Android <=2.3 only
6757				src.returnValue === false ?
6758			returnTrue :
6759			returnFalse;
6760
6761		// Create target properties
6762		// Support: Safari <=6 - 7 only
6763		// Target should not be a text node (#504, #13143)
6764		this.target = ( src.target && src.target.nodeType === 3 ) ?
6765			src.target.parentNode :
6766			src.target;
6767
6768		this.currentTarget = src.currentTarget;
6769		this.relatedTarget = src.relatedTarget;
6770
6771	// Event type
6772	} else {
6773		this.type = src;
6774	}
6775
6776	// Put explicitly provided properties onto the event object
6777	if ( props ) {
6778		jQuery.extend( this, props );
6779	}
6780
6781	// Create a timestamp if incoming event doesn't have one
6782	this.timeStamp = src && src.timeStamp || Date.now();
6783
6784	// Mark it as fixed
6785	this[ jQuery.expando ] = true;
6786};
6787
6788// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
6789// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
6790jQuery.Event.prototype = {
6791	constructor: jQuery.Event,
6792	isDefaultPrevented: returnFalse,
6793	isPropagationStopped: returnFalse,
6794	isImmediatePropagationStopped: returnFalse,
6795	isSimulated: false,
6796
6797	preventDefault: function() {
6798		var e = this.originalEvent;
6799
6800		this.isDefaultPrevented = returnTrue;
6801
6802		if ( e && !this.isSimulated ) {
6803			e.preventDefault();
6804		}
6805	},
6806	stopPropagation: function() {
6807		var e = this.originalEvent;
6808
6809		this.isPropagationStopped = returnTrue;
6810
6811		if ( e && !this.isSimulated ) {
6812			e.stopPropagation();
6813		}
6814	},
6815	stopImmediatePropagation: function() {
6816		var e = this.originalEvent;
6817
6818		this.isImmediatePropagationStopped = returnTrue;
6819
6820		if ( e && !this.isSimulated ) {
6821			e.stopImmediatePropagation();
6822		}
6823
6824		this.stopPropagation();
6825	}
6826};
6827
6828// Includes all common event props including KeyEvent and MouseEvent specific props
6829jQuery.each( {
6830	altKey: true,
6831	bubbles: true,
6832	cancelable: true,
6833	changedTouches: true,
6834	ctrlKey: true,
6835	detail: true,
6836	eventPhase: true,
6837	metaKey: true,
6838	pageX: true,
6839	pageY: true,
6840	shiftKey: true,
6841	view: true,
6842	"char": true,
6843	code: true,
6844	charCode: true,
6845	key: true,
6846	keyCode: true,
6847	button: true,
6848	buttons: true,
6849	clientX: true,
6850	clientY: true,
6851	offsetX: true,
6852	offsetY: true,
6853	pointerId: true,
6854	pointerType: true,
6855	screenX: true,
6856	screenY: true,
6857	targetTouches: true,
6858	toElement: true,
6859	touches: true,
6860	which: true
6861}, jQuery.event.addProp );
6862
6863jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
6864	jQuery.event.special[ type ] = {
6865
6866		// Utilize native event if possible so blur/focus sequence is correct
6867		setup: function() {
6868
6869			// Claim the first handler
6870			// dataPriv.set( this, "focus", ... )
6871			// dataPriv.set( this, "blur", ... )
6872			leverageNative( this, type, expectSync );
6873
6874			// Return false to allow normal processing in the caller
6875			return false;
6876		},
6877		trigger: function() {
6878
6879			// Force setup before trigger
6880			leverageNative( this, type );
6881
6882			// Return non-false to allow normal event-path propagation
6883			return true;
6884		},
6885
6886		// Suppress native focus or blur as it's already being fired
6887		// in leverageNative.
6888		_default: function() {
6889			return true;
6890		},
6891
6892		delegateType: delegateType
6893	};
6894} );
6895
6896// Create mouseenter/leave events using mouseover/out and event-time checks
6897// so that event delegation works in jQuery.
6898// Do the same for pointerenter/pointerleave and pointerover/pointerout
6899//
6900// Support: Safari 7 only
6901// Safari sends mouseenter too often; see:
6902// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
6903// for the description of the bug (it existed in older Chrome versions as well).
6904jQuery.each( {
6905	mouseenter: "mouseover",
6906	mouseleave: "mouseout",
6907	pointerenter: "pointerover",
6908	pointerleave: "pointerout"
6909}, function( orig, fix ) {
6910	jQuery.event.special[ orig ] = {
6911		delegateType: fix,
6912		bindType: fix,
6913
6914		handle: function( event ) {
6915			var ret,
6916				target = this,
6917				related = event.relatedTarget,
6918				handleObj = event.handleObj;
6919
6920			// For mouseenter/leave call the handler if related is outside the target.
6921			// NB: No relatedTarget if the mouse left/entered the browser window
6922			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
6923				event.type = handleObj.origType;
6924				ret = handleObj.handler.apply( this, arguments );
6925				event.type = fix;
6926			}
6927			return ret;
6928		}
6929	};
6930} );
6931
6932jQuery.fn.extend( {
6933
6934	on: function( types, selector, data, fn ) {
6935		return on( this, types, selector, data, fn );
6936	},
6937	one: function( types, selector, data, fn ) {
6938		return on( this, types, selector, data, fn, 1 );
6939	},
6940	off: function( types, selector, fn ) {
6941		var handleObj, type;
6942		if ( types && types.preventDefault && types.handleObj ) {
6943
6944			// ( event )  dispatched jQuery.Event
6945			handleObj = types.handleObj;
6946			jQuery( types.delegateTarget ).off(
6947				handleObj.namespace ?
6948					handleObj.origType + "." + handleObj.namespace :
6949					handleObj.origType,
6950				handleObj.selector,
6951				handleObj.handler
6952			);
6953			return this;
6954		}
6955		if ( typeof types === "object" ) {
6956
6957			// ( types-object [, selector] )
6958			for ( type in types ) {
6959				this.off( type, selector, types[ type ] );
6960			}
6961			return this;
6962		}
6963		if ( selector === false || typeof selector === "function" ) {
6964
6965			// ( types [, fn] )
6966			fn = selector;
6967			selector = undefined;
6968		}
6969		if ( fn === false ) {
6970			fn = returnFalse;
6971		}
6972		return this.each( function() {
6973			jQuery.event.remove( this, types, fn, selector );
6974		} );
6975	}
6976} );
6977
6978
6979var
6980
6981	// Support: IE <=10 - 11, Edge 12 - 13 only
6982	// In IE/Edge using regex groups here causes severe slowdowns.
6983	// See https://connect.microsoft.com/IE/feedback/details/1736512/
6984	rnoInnerhtml = /<script|<style|<link/i,
6985
6986	// checked="checked" or checked
6987	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
6988	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
6989
6990// Prefer a tbody over its parent table for containing new rows
6991function manipulationTarget( elem, content ) {
6992	if ( nodeName( elem, "table" ) &&
6993		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
6994
6995		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
6996	}
6997
6998	return elem;
6999}
7000
7001// Replace/restore the type attribute of script elements for safe DOM manipulation
7002function disableScript( elem ) {
7003	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
7004	return elem;
7005}
7006function restoreScript( elem ) {
7007	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
7008		elem.type = elem.type.slice( 5 );
7009	} else {
7010		elem.removeAttribute( "type" );
7011	}
7012
7013	return elem;
7014}
7015
7016function cloneCopyEvent( src, dest ) {
7017	var i, l, type, pdataOld, udataOld, udataCur, events;
7018
7019	if ( dest.nodeType !== 1 ) {
7020		return;
7021	}
7022
7023	// 1. Copy private data: events, handlers, etc.
7024	if ( dataPriv.hasData( src ) ) {
7025		pdataOld = dataPriv.get( src );
7026		events = pdataOld.events;
7027
7028		if ( events ) {
7029			dataPriv.remove( dest, "handle events" );
7030
7031			for ( type in events ) {
7032				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
7033					jQuery.event.add( dest, type, events[ type ][ i ] );
7034				}
7035			}
7036		}
7037	}
7038
7039	// 2. Copy user data
7040	if ( dataUser.hasData( src ) ) {
7041		udataOld = dataUser.access( src );
7042		udataCur = jQuery.extend( {}, udataOld );
7043
7044		dataUser.set( dest, udataCur );
7045	}
7046}
7047
7048// Fix IE bugs, see support tests
7049function fixInput( src, dest ) {
7050	var nodeName = dest.nodeName.toLowerCase();
7051
7052	// Fails to persist the checked state of a cloned checkbox or radio button.
7053	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
7054		dest.checked = src.checked;
7055
7056	// Fails to return the selected option to the default selected state when cloning options
7057	} else if ( nodeName === "input" || nodeName === "textarea" ) {
7058		dest.defaultValue = src.defaultValue;
7059	}
7060}
7061
7062function domManip( collection, args, callback, ignored ) {
7063
7064	// Flatten any nested arrays
7065	args = flat( args );
7066
7067	var fragment, first, scripts, hasScripts, node, doc,
7068		i = 0,
7069		l = collection.length,
7070		iNoClone = l - 1,
7071		value = args[ 0 ],
7072		valueIsFunction = isFunction( value );
7073
7074	// We can't cloneNode fragments that contain checked, in WebKit
7075	if ( valueIsFunction ||
7076			( l > 1 && typeof value === "string" &&
7077				!support.checkClone && rchecked.test( value ) ) ) {
7078		return collection.each( function( index ) {
7079			var self = collection.eq( index );
7080			if ( valueIsFunction ) {
7081				args[ 0 ] = value.call( this, index, self.html() );
7082			}
7083			domManip( self, args, callback, ignored );
7084		} );
7085	}
7086
7087	if ( l ) {
7088		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
7089		first = fragment.firstChild;
7090
7091		if ( fragment.childNodes.length === 1 ) {
7092			fragment = first;
7093		}
7094
7095		// Require either new content or an interest in ignored elements to invoke the callback
7096		if ( first || ignored ) {
7097			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
7098			hasScripts = scripts.length;
7099
7100			// Use the original fragment for the last item
7101			// instead of the first because it can end up
7102			// being emptied incorrectly in certain situations (#8070).
7103			for ( ; i < l; i++ ) {
7104				node = fragment;
7105
7106				if ( i !== iNoClone ) {
7107					node = jQuery.clone( node, true, true );
7108
7109					// Keep references to cloned scripts for later restoration
7110					if ( hasScripts ) {
7111
7112						// Support: Android <=4.0 only, PhantomJS 1 only
7113						// push.apply(_, arraylike) throws on ancient WebKit
7114						jQuery.merge( scripts, getAll( node, "script" ) );
7115					}
7116				}
7117
7118				callback.call( collection[ i ], node, i );
7119			}
7120
7121			if ( hasScripts ) {
7122				doc = scripts[ scripts.length - 1 ].ownerDocument;
7123
7124				// Reenable scripts
7125				jQuery.map( scripts, restoreScript );
7126
7127				// Evaluate executable scripts on first document insertion
7128				for ( i = 0; i < hasScripts; i++ ) {
7129					node = scripts[ i ];
7130					if ( rscriptType.test( node.type || "" ) &&
7131						!dataPriv.access( node, "globalEval" ) &&
7132						jQuery.contains( doc, node ) ) {
7133
7134						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
7135
7136							// Optional AJAX dependency, but won't run scripts if not present
7137							if ( jQuery._evalUrl && !node.noModule ) {
7138								jQuery._evalUrl( node.src, {
7139									nonce: node.nonce || node.getAttribute( "nonce" )
7140								}, doc );
7141							}
7142						} else {
7143							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
7144						}
7145					}
7146				}
7147			}
7148		}
7149	}
7150
7151	return collection;
7152}
7153
7154function remove( elem, selector, keepData ) {
7155	var node,
7156		nodes = selector ? jQuery.filter( selector, elem ) : elem,
7157		i = 0;
7158
7159	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
7160		if ( !keepData && node.nodeType === 1 ) {
7161			jQuery.cleanData( getAll( node ) );
7162		}
7163
7164		if ( node.parentNode ) {
7165			if ( keepData && isAttached( node ) ) {
7166				setGlobalEval( getAll( node, "script" ) );
7167			}
7168			node.parentNode.removeChild( node );
7169		}
7170	}
7171
7172	return elem;
7173}
7174
7175jQuery.extend( {
7176	htmlPrefilter: function( html ) {
7177		return html;
7178	},
7179
7180	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
7181		var i, l, srcElements, destElements,
7182			clone = elem.cloneNode( true ),
7183			inPage = isAttached( elem );
7184
7185		// Fix IE cloning issues
7186		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
7187				!jQuery.isXMLDoc( elem ) ) {
7188
7189			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
7190			destElements = getAll( clone );
7191			srcElements = getAll( elem );
7192
7193			for ( i = 0, l = srcElements.length; i < l; i++ ) {
7194				fixInput( srcElements[ i ], destElements[ i ] );
7195			}
7196		}
7197
7198		// Copy the events from the original to the clone
7199		if ( dataAndEvents ) {
7200			if ( deepDataAndEvents ) {
7201				srcElements = srcElements || getAll( elem );
7202				destElements = destElements || getAll( clone );
7203
7204				for ( i = 0, l = srcElements.length; i < l; i++ ) {
7205					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
7206				}
7207			} else {
7208				cloneCopyEvent( elem, clone );
7209			}
7210		}
7211
7212		// Preserve script evaluation history
7213		destElements = getAll( clone, "script" );
7214		if ( destElements.length > 0 ) {
7215			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
7216		}
7217
7218		// Return the cloned set
7219		return clone;
7220	},
7221
7222	cleanData: function( elems ) {
7223		var data, elem, type,
7224			special = jQuery.event.special,
7225			i = 0;
7226
7227		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
7228			if ( acceptData( elem ) ) {
7229				if ( ( data = elem[ dataPriv.expando ] ) ) {
7230					if ( data.events ) {
7231						for ( type in data.events ) {
7232							if ( special[ type ] ) {
7233								jQuery.event.remove( elem, type );
7234
7235							// This is a shortcut to avoid jQuery.event.remove's overhead
7236							} else {
7237								jQuery.removeEvent( elem, type, data.handle );
7238							}
7239						}
7240					}
7241
7242					// Support: Chrome <=35 - 45+
7243					// Assign undefined instead of using delete, see Data#remove
7244					elem[ dataPriv.expando ] = undefined;
7245				}
7246				if ( elem[ dataUser.expando ] ) {
7247
7248					// Support: Chrome <=35 - 45+
7249					// Assign undefined instead of using delete, see Data#remove
7250					elem[ dataUser.expando ] = undefined;
7251				}
7252			}
7253		}
7254	}
7255} );
7256
7257jQuery.fn.extend( {
7258	detach: function( selector ) {
7259		return remove( this, selector, true );
7260	},
7261
7262	remove: function( selector ) {
7263		return remove( this, selector );
7264	},
7265
7266	text: function( value ) {
7267		return access( this, function( value ) {
7268			return value === undefined ?
7269				jQuery.text( this ) :
7270				this.empty().each( function() {
7271					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
7272						this.textContent = value;
7273					}
7274				} );
7275		}, null, value, arguments.length );
7276	},
7277
7278	append: function() {
7279		return domManip( this, arguments, function( elem ) {
7280			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
7281				var target = manipulationTarget( this, elem );
7282				target.appendChild( elem );
7283			}
7284		} );
7285	},
7286
7287	prepend: function() {
7288		return domManip( this, arguments, function( elem ) {
7289			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
7290				var target = manipulationTarget( this, elem );
7291				target.insertBefore( elem, target.firstChild );
7292			}
7293		} );
7294	},
7295
7296	before: function() {
7297		return domManip( this, arguments, function( elem ) {
7298			if ( this.parentNode ) {
7299				this.parentNode.insertBefore( elem, this );
7300			}
7301		} );
7302	},
7303
7304	after: function() {
7305		return domManip( this, arguments, function( elem ) {
7306			if ( this.parentNode ) {
7307				this.parentNode.insertBefore( elem, this.nextSibling );
7308			}
7309		} );
7310	},
7311
7312	empty: function() {
7313		var elem,
7314			i = 0;
7315
7316		for ( ; ( elem = this[ i ] ) != null; i++ ) {
7317			if ( elem.nodeType === 1 ) {
7318
7319				// Prevent memory leaks
7320				jQuery.cleanData( getAll( elem, false ) );
7321
7322				// Remove any remaining nodes
7323				elem.textContent = "";
7324			}
7325		}
7326
7327		return this;
7328	},
7329
7330	clone: function( dataAndEvents, deepDataAndEvents ) {
7331		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
7332		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
7333
7334		return this.map( function() {
7335			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
7336		} );
7337	},
7338
7339	html: function( value ) {
7340		return access( this, function( value ) {
7341			var elem = this[ 0 ] || {},
7342				i = 0,
7343				l = this.length;
7344
7345			if ( value === undefined && elem.nodeType === 1 ) {
7346				return elem.innerHTML;
7347			}
7348
7349			// See if we can take a shortcut and just use innerHTML
7350			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
7351				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
7352
7353				value = jQuery.htmlPrefilter( value );
7354
7355				try {
7356					for ( ; i < l; i++ ) {
7357						elem = this[ i ] || {};
7358
7359						// Remove element nodes and prevent memory leaks
7360						if ( elem.nodeType === 1 ) {
7361							jQuery.cleanData( getAll( elem, false ) );
7362							elem.innerHTML = value;
7363						}
7364					}
7365
7366					elem = 0;
7367
7368				// If using innerHTML throws an exception, use the fallback method
7369				} catch ( e ) {}
7370			}
7371
7372			if ( elem ) {
7373				this.empty().append( value );
7374			}
7375		}, null, value, arguments.length );
7376	},
7377
7378	replaceWith: function() {
7379		var ignored = [];
7380
7381		// Make the changes, replacing each non-ignored context element with the new content
7382		return domManip( this, arguments, function( elem ) {
7383			var parent = this.parentNode;
7384
7385			if ( jQuery.inArray( this, ignored ) < 0 ) {
7386				jQuery.cleanData( getAll( this ) );
7387				if ( parent ) {
7388					parent.replaceChild( elem, this );
7389				}
7390			}
7391
7392		// Force callback invocation
7393		}, ignored );
7394	}
7395} );
7396
7397jQuery.each( {
7398	appendTo: "append",
7399	prependTo: "prepend",
7400	insertBefore: "before",
7401	insertAfter: "after",
7402	replaceAll: "replaceWith"
7403}, function( name, original ) {
7404	jQuery.fn[ name ] = function( selector ) {
7405		var elems,
7406			ret = [],
7407			insert = jQuery( selector ),
7408			last = insert.length - 1,
7409			i = 0;
7410
7411		for ( ; i <= last; i++ ) {
7412			elems = i === last ? this : this.clone( true );
7413			jQuery( insert[ i ] )[ original ]( elems );
7414
7415			// Support: Android <=4.0 only, PhantomJS 1 only
7416			// .get() because push.apply(_, arraylike) throws on ancient WebKit
7417			push.apply( ret, elems.get() );
7418		}
7419
7420		return this.pushStack( ret );
7421	};
7422} );
7423var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
7424
7425var getStyles = function( elem ) {
7426
7427		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
7428		// IE throws on elements created in popups
7429		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
7430		var view = elem.ownerDocument.defaultView;
7431
7432		if ( !view || !view.opener ) {
7433			view = window;
7434		}
7435
7436		return view.getComputedStyle( elem );
7437	};
7438
7439var swap = function( elem, options, callback ) {
7440	var ret, name,
7441		old = {};
7442
7443	// Remember the old values, and insert the new ones
7444	for ( name in options ) {
7445		old[ name ] = elem.style[ name ];
7446		elem.style[ name ] = options[ name ];
7447	}
7448
7449	ret = callback.call( elem );
7450
7451	// Revert the old values
7452	for ( name in options ) {
7453		elem.style[ name ] = old[ name ];
7454	}
7455
7456	return ret;
7457};
7458
7459
7460var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
7461
7462
7463
7464( function() {
7465
7466	// Executing both pixelPosition & boxSizingReliable tests require only one layout
7467	// so they're executed at the same time to save the second computation.
7468	function computeStyleTests() {
7469
7470		// This is a singleton, we need to execute it only once
7471		if ( !div ) {
7472			return;
7473		}
7474
7475		container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
7476			"margin-top:1px;padding:0;border:0";
7477		div.style.cssText =
7478			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
7479			"margin:auto;border:1px;padding:1px;" +
7480			"width:60%;top:1%";
7481		documentElement.appendChild( container ).appendChild( div );
7482
7483		var divStyle = window.getComputedStyle( div );
7484		pixelPositionVal = divStyle.top !== "1%";
7485
7486		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
7487		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
7488
7489		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
7490		// Some styles come back with percentage values, even though they shouldn't
7491		div.style.right = "60%";
7492		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
7493
7494		// Support: IE 9 - 11 only
7495		// Detect misreporting of content dimensions for box-sizing:border-box elements
7496		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
7497
7498		// Support: IE 9 only
7499		// Detect overflow:scroll screwiness (gh-3699)
7500		// Support: Chrome <=64
7501		// Don't get tricked when zoom affects offsetWidth (gh-4029)
7502		div.style.position = "absolute";
7503		scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
7504
7505		documentElement.removeChild( container );
7506
7507		// Nullify the div so it wouldn't be stored in the memory and
7508		// it will also be a sign that checks already performed
7509		div = null;
7510	}
7511
7512	function roundPixelMeasures( measure ) {
7513		return Math.round( parseFloat( measure ) );
7514	}
7515
7516	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
7517		reliableTrDimensionsVal, reliableMarginLeftVal,
7518		container = document.createElement( "div" ),
7519		div = document.createElement( "div" );
7520
7521	// Finish early in limited (non-browser) environments
7522	if ( !div.style ) {
7523		return;
7524	}
7525
7526	// Support: IE <=9 - 11 only
7527	// Style of cloned element affects source element cloned (#8908)
7528	div.style.backgroundClip = "content-box";
7529	div.cloneNode( true ).style.backgroundClip = "";
7530	support.clearCloneStyle = div.style.backgroundClip === "content-box";
7531
7532	jQuery.extend( support, {
7533		boxSizingReliable: function() {
7534			computeStyleTests();
7535			return boxSizingReliableVal;
7536		},
7537		pixelBoxStyles: function() {
7538			computeStyleTests();
7539			return pixelBoxStylesVal;
7540		},
7541		pixelPosition: function() {
7542			computeStyleTests();
7543			return pixelPositionVal;
7544		},
7545		reliableMarginLeft: function() {
7546			computeStyleTests();
7547			return reliableMarginLeftVal;
7548		},
7549		scrollboxSize: function() {
7550			computeStyleTests();
7551			return scrollboxSizeVal;
7552		},
7553
7554		// Support: IE 9 - 11+, Edge 15 - 18+
7555		// IE/Edge misreport `getComputedStyle` of table rows with width/height
7556		// set in CSS while `offset*` properties report correct values.
7557		// Behavior in IE 9 is more subtle than in newer versions & it passes
7558		// some versions of this test; make sure not to make it pass there!
7559		//
7560		// Support: Firefox 70+
7561		// Only Firefox includes border widths
7562		// in computed dimensions. (gh-4529)
7563		reliableTrDimensions: function() {
7564			var table, tr, trChild, trStyle;
7565			if ( reliableTrDimensionsVal == null ) {
7566				table = document.createElement( "table" );
7567				tr = document.createElement( "tr" );
7568				trChild = document.createElement( "div" );
7569
7570				table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
7571				tr.style.cssText = "border:1px solid";
7572
7573				// Support: Chrome 86+
7574				// Height set through cssText does not get applied.
7575				// Computed height then comes back as 0.
7576				tr.style.height = "1px";
7577				trChild.style.height = "9px";
7578
7579				// Support: Android 8 Chrome 86+
7580				// In our bodyBackground.html iframe,
7581				// display for all div elements is set to "inline",
7582				// which causes a problem only in Android 8 Chrome 86.
7583				// Ensuring the div is display: block
7584				// gets around this issue.
7585				trChild.style.display = "block";
7586
7587				documentElement
7588					.appendChild( table )
7589					.appendChild( tr )
7590					.appendChild( trChild );
7591
7592				trStyle = window.getComputedStyle( tr );
7593				reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
7594					parseInt( trStyle.borderTopWidth, 10 ) +
7595					parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
7596
7597				documentElement.removeChild( table );
7598			}
7599			return reliableTrDimensionsVal;
7600		}
7601	} );
7602} )();
7603
7604
7605function curCSS( elem, name, computed ) {
7606	var width, minWidth, maxWidth, ret,
7607
7608		// Support: Firefox 51+
7609		// Retrieving style before computed somehow
7610		// fixes an issue with getting wrong values
7611		// on detached elements
7612		style = elem.style;
7613
7614	computed = computed || getStyles( elem );
7615
7616	// getPropertyValue is needed for:
7617	//   .css('filter') (IE 9 only, #12537)
7618	//   .css('--customProperty) (#3144)
7619	if ( computed ) {
7620		ret = computed.getPropertyValue( name ) || computed[ name ];
7621
7622		if ( ret === "" && !isAttached( elem ) ) {
7623			ret = jQuery.style( elem, name );
7624		}
7625
7626		// A tribute to the "awesome hack by Dean Edwards"
7627		// Android Browser returns percentage for some values,
7628		// but width seems to be reliably pixels.
7629		// This is against the CSSOM draft spec:
7630		// https://drafts.csswg.org/cssom/#resolved-values
7631		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
7632
7633			// Remember the original values
7634			width = style.width;
7635			minWidth = style.minWidth;
7636			maxWidth = style.maxWidth;
7637
7638			// Put in the new values to get a computed value out
7639			style.minWidth = style.maxWidth = style.width = ret;
7640			ret = computed.width;
7641
7642			// Revert the changed values
7643			style.width = width;
7644			style.minWidth = minWidth;
7645			style.maxWidth = maxWidth;
7646		}
7647	}
7648
7649	return ret !== undefined ?
7650
7651		// Support: IE <=9 - 11 only
7652		// IE returns zIndex value as an integer.
7653		ret + "" :
7654		ret;
7655}
7656
7657
7658function addGetHookIf( conditionFn, hookFn ) {
7659
7660	// Define the hook, we'll check on the first run if it's really needed.
7661	return {
7662		get: function() {
7663			if ( conditionFn() ) {
7664
7665				// Hook not needed (or it's not possible to use it due
7666				// to missing dependency), remove it.
7667				delete this.get;
7668				return;
7669			}
7670
7671			// Hook needed; redefine it so that the support test is not executed again.
7672			return ( this.get = hookFn ).apply( this, arguments );
7673		}
7674	};
7675}
7676
7677
7678var cssPrefixes = [ "Webkit", "Moz", "ms" ],
7679	emptyStyle = document.createElement( "div" ).style,
7680	vendorProps = {};
7681
7682// Return a vendor-prefixed property or undefined
7683function vendorPropName( name ) {
7684
7685	// Check for vendor prefixed names
7686	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
7687		i = cssPrefixes.length;
7688
7689	while ( i-- ) {
7690		name = cssPrefixes[ i ] + capName;
7691		if ( name in emptyStyle ) {
7692			return name;
7693		}
7694	}
7695}
7696
7697// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
7698function finalPropName( name ) {
7699	var final = jQuery.cssProps[ name ] || vendorProps[ name ];
7700
7701	if ( final ) {
7702		return final;
7703	}
7704	if ( name in emptyStyle ) {
7705		return name;
7706	}
7707	return vendorProps[ name ] = vendorPropName( name ) || name;
7708}
7709
7710
7711var
7712
7713	// Swappable if display is none or starts with table
7714	// except "table", "table-cell", or "table-caption"
7715	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
7716	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
7717	rcustomProp = /^--/,
7718	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
7719	cssNormalTransform = {
7720		letterSpacing: "0",
7721		fontWeight: "400"
7722	};
7723
7724function setPositiveNumber( _elem, value, subtract ) {
7725
7726	// Any relative (+/-) values have already been
7727	// normalized at this point
7728	var matches = rcssNum.exec( value );
7729	return matches ?
7730
7731		// Guard against undefined "subtract", e.g., when used as in cssHooks
7732		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
7733		value;
7734}
7735
7736function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
7737	var i = dimension === "width" ? 1 : 0,
7738		extra = 0,
7739		delta = 0;
7740
7741	// Adjustment may not be necessary
7742	if ( box === ( isBorderBox ? "border" : "content" ) ) {
7743		return 0;
7744	}
7745
7746	for ( ; i < 4; i += 2 ) {
7747
7748		// Both box models exclude margin
7749		if ( box === "margin" ) {
7750			delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
7751		}
7752
7753		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
7754		if ( !isBorderBox ) {
7755
7756			// Add padding
7757			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
7758
7759			// For "border" or "margin", add border
7760			if ( box !== "padding" ) {
7761				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
7762
7763			// But still keep track of it otherwise
7764			} else {
7765				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
7766			}
7767
7768		// If we get here with a border-box (content + padding + border), we're seeking "content" or
7769		// "padding" or "margin"
7770		} else {
7771
7772			// For "content", subtract padding
7773			if ( box === "content" ) {
7774				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
7775			}
7776
7777			// For "content" or "padding", subtract border
7778			if ( box !== "margin" ) {
7779				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
7780			}
7781		}
7782	}
7783
7784	// Account for positive content-box scroll gutter when requested by providing computedVal
7785	if ( !isBorderBox && computedVal >= 0 ) {
7786
7787		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
7788		// Assuming integer scroll gutter, subtract the rest and round down
7789		delta += Math.max( 0, Math.ceil(
7790			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
7791			computedVal -
7792			delta -
7793			extra -
7794			0.5
7795
7796		// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
7797		// Use an explicit zero to avoid NaN (gh-3964)
7798		) ) || 0;
7799	}
7800
7801	return delta;
7802}
7803
7804function getWidthOrHeight( elem, dimension, extra ) {
7805
7806	// Start with computed style
7807	var styles = getStyles( elem ),
7808
7809		// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
7810		// Fake content-box until we know it's needed to know the true value.
7811		boxSizingNeeded = !support.boxSizingReliable() || extra,
7812		isBorderBox = boxSizingNeeded &&
7813			jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
7814		valueIsBorderBox = isBorderBox,
7815
7816		val = curCSS( elem, dimension, styles ),
7817		offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
7818
7819	// Support: Firefox <=54
7820	// Return a confounding non-pixel value or feign ignorance, as appropriate.
7821	if ( rnumnonpx.test( val ) ) {
7822		if ( !extra ) {
7823			return val;
7824		}
7825		val = "auto";
7826	}
7827
7828
7829	// Support: IE 9 - 11 only
7830	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
7831	// In those cases, the computed value can be trusted to be border-box.
7832	if ( ( !support.boxSizingReliable() && isBorderBox ||
7833
7834		// Support: IE 10 - 11+, Edge 15 - 18+
7835		// IE/Edge misreport `getComputedStyle` of table rows with width/height
7836		// set in CSS while `offset*` properties report correct values.
7837		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
7838		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
7839
7840		// Fall back to offsetWidth/offsetHeight when value is "auto"
7841		// This happens for inline elements with no explicit setting (gh-3571)
7842		val === "auto" ||
7843
7844		// Support: Android <=4.1 - 4.3 only
7845		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
7846		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
7847
7848		// Make sure the element is visible & connected
7849		elem.getClientRects().length ) {
7850
7851		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
7852
7853		// Where available, offsetWidth/offsetHeight approximate border box dimensions.
7854		// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
7855		// retrieved value as a content box dimension.
7856		valueIsBorderBox = offsetProp in elem;
7857		if ( valueIsBorderBox ) {
7858			val = elem[ offsetProp ];
7859		}
7860	}
7861
7862	// Normalize "" and auto
7863	val = parseFloat( val ) || 0;
7864
7865	// Adjust for the element's box model
7866	return ( val +
7867		boxModelAdjustment(
7868			elem,
7869			dimension,
7870			extra || ( isBorderBox ? "border" : "content" ),
7871			valueIsBorderBox,
7872			styles,
7873
7874			// Provide the current computed size to request scroll gutter calculation (gh-3589)
7875			val
7876		)
7877	) + "px";
7878}
7879
7880jQuery.extend( {
7881
7882	// Add in style property hooks for overriding the default
7883	// behavior of getting and setting a style property
7884	cssHooks: {
7885		opacity: {
7886			get: function( elem, computed ) {
7887				if ( computed ) {
7888
7889					// We should always get a number back from opacity
7890					var ret = curCSS( elem, "opacity" );
7891					return ret === "" ? "1" : ret;
7892				}
7893			}
7894		}
7895	},
7896
7897	// Don't automatically add "px" to these possibly-unitless properties
7898	cssNumber: {
7899		"animationIterationCount": true,
7900		"columnCount": true,
7901		"fillOpacity": true,
7902		"flexGrow": true,
7903		"flexShrink": true,
7904		"fontWeight": true,
7905		"gridArea": true,
7906		"gridColumn": true,
7907		"gridColumnEnd": true,
7908		"gridColumnStart": true,
7909		"gridRow": true,
7910		"gridRowEnd": true,
7911		"gridRowStart": true,
7912		"lineHeight": true,
7913		"opacity": true,
7914		"order": true,
7915		"orphans": true,
7916		"widows": true,
7917		"zIndex": true,
7918		"zoom": true
7919	},
7920
7921	// Add in properties whose names you wish to fix before
7922	// setting or getting the value
7923	cssProps: {},
7924
7925	// Get and set the style property on a DOM Node
7926	style: function( elem, name, value, extra ) {
7927
7928		// Don't set styles on text and comment nodes
7929		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
7930			return;
7931		}
7932
7933		// Make sure that we're working with the right name
7934		var ret, type, hooks,
7935			origName = camelCase( name ),
7936			isCustomProp = rcustomProp.test( name ),
7937			style = elem.style;
7938
7939		// Make sure that we're working with the right name. We don't
7940		// want to query the value if it is a CSS custom property
7941		// since they are user-defined.
7942		if ( !isCustomProp ) {
7943			name = finalPropName( origName );
7944		}
7945
7946		// Gets hook for the prefixed version, then unprefixed version
7947		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
7948
7949		// Check if we're setting a value
7950		if ( value !== undefined ) {
7951			type = typeof value;
7952
7953			// Convert "+=" or "-=" to relative numbers (#7345)
7954			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
7955				value = adjustCSS( elem, name, ret );
7956
7957				// Fixes bug #9237
7958				type = "number";
7959			}
7960
7961			// Make sure that null and NaN values aren't set (#7116)
7962			if ( value == null || value !== value ) {
7963				return;
7964			}
7965
7966			// If a number was passed in, add the unit (except for certain CSS properties)
7967			// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
7968			// "px" to a few hardcoded values.
7969			if ( type === "number" && !isCustomProp ) {
7970				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
7971			}
7972
7973			// background-* props affect original clone's values
7974			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
7975				style[ name ] = "inherit";
7976			}
7977
7978			// If a hook was provided, use that value, otherwise just set the specified value
7979			if ( !hooks || !( "set" in hooks ) ||
7980				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
7981
7982				if ( isCustomProp ) {
7983					style.setProperty( name, value );
7984				} else {
7985					style[ name ] = value;
7986				}
7987			}
7988
7989		} else {
7990
7991			// If a hook was provided get the non-computed value from there
7992			if ( hooks && "get" in hooks &&
7993				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
7994
7995				return ret;
7996			}
7997
7998			// Otherwise just get the value from the style object
7999			return style[ name ];
8000		}
8001	},
8002
8003	css: function( elem, name, extra, styles ) {
8004		var val, num, hooks,
8005			origName = camelCase( name ),
8006			isCustomProp = rcustomProp.test( name );
8007
8008		// Make sure that we're working with the right name. We don't
8009		// want to modify the value if it is a CSS custom property
8010		// since they are user-defined.
8011		if ( !isCustomProp ) {
8012			name = finalPropName( origName );
8013		}
8014
8015		// Try prefixed name followed by the unprefixed name
8016		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
8017
8018		// If a hook was provided get the computed value from there
8019		if ( hooks && "get" in hooks ) {
8020			val = hooks.get( elem, true, extra );
8021		}
8022
8023		// Otherwise, if a way to get the computed value exists, use that
8024		if ( val === undefined ) {
8025			val = curCSS( elem, name, styles );
8026		}
8027
8028		// Convert "normal" to computed value
8029		if ( val === "normal" && name in cssNormalTransform ) {
8030			val = cssNormalTransform[ name ];
8031		}
8032
8033		// Make numeric if forced or a qualifier was provided and val looks numeric
8034		if ( extra === "" || extra ) {
8035			num = parseFloat( val );
8036			return extra === true || isFinite( num ) ? num || 0 : val;
8037		}
8038
8039		return val;
8040	}
8041} );
8042
8043jQuery.each( [ "height", "width" ], function( _i, dimension ) {
8044	jQuery.cssHooks[ dimension ] = {
8045		get: function( elem, computed, extra ) {
8046			if ( computed ) {
8047
8048				// Certain elements can have dimension info if we invisibly show them
8049				// but it must have a current display style that would benefit
8050				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
8051
8052					// Support: Safari 8+
8053					// Table columns in Safari have non-zero offsetWidth & zero
8054					// getBoundingClientRect().width unless display is changed.
8055					// Support: IE <=11 only
8056					// Running getBoundingClientRect on a disconnected node
8057					// in IE throws an error.
8058					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
8059					swap( elem, cssShow, function() {
8060						return getWidthOrHeight( elem, dimension, extra );
8061					} ) :
8062					getWidthOrHeight( elem, dimension, extra );
8063			}
8064		},
8065
8066		set: function( elem, value, extra ) {
8067			var matches,
8068				styles = getStyles( elem ),
8069
8070				// Only read styles.position if the test has a chance to fail
8071				// to avoid forcing a reflow.
8072				scrollboxSizeBuggy = !support.scrollboxSize() &&
8073					styles.position === "absolute",
8074
8075				// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
8076				boxSizingNeeded = scrollboxSizeBuggy || extra,
8077				isBorderBox = boxSizingNeeded &&
8078					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
8079				subtract = extra ?
8080					boxModelAdjustment(
8081						elem,
8082						dimension,
8083						extra,
8084						isBorderBox,
8085						styles
8086					) :
8087					0;
8088
8089			// Account for unreliable border-box dimensions by comparing offset* to computed and
8090			// faking a content-box to get border and padding (gh-3699)
8091			if ( isBorderBox && scrollboxSizeBuggy ) {
8092				subtract -= Math.ceil(
8093					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
8094					parseFloat( styles[ dimension ] ) -
8095					boxModelAdjustment( elem, dimension, "border", false, styles ) -
8096					0.5
8097				);
8098			}
8099
8100			// Convert to pixels if value adjustment is needed
8101			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
8102				( matches[ 3 ] || "px" ) !== "px" ) {
8103
8104				elem.style[ dimension ] = value;
8105				value = jQuery.css( elem, dimension );
8106			}
8107
8108			return setPositiveNumber( elem, value, subtract );
8109		}
8110	};
8111} );
8112
8113jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
8114	function( elem, computed ) {
8115		if ( computed ) {
8116			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
8117				elem.getBoundingClientRect().left -
8118					swap( elem, { marginLeft: 0 }, function() {
8119						return elem.getBoundingClientRect().left;
8120					} )
8121			) + "px";
8122		}
8123	}
8124);
8125
8126// These hooks are used by animate to expand properties
8127jQuery.each( {
8128	margin: "",
8129	padding: "",
8130	border: "Width"
8131}, function( prefix, suffix ) {
8132	jQuery.cssHooks[ prefix + suffix ] = {
8133		expand: function( value ) {
8134			var i = 0,
8135				expanded = {},
8136
8137				// Assumes a single number if not a string
8138				parts = typeof value === "string" ? value.split( " " ) : [ value ];
8139
8140			for ( ; i < 4; i++ ) {
8141				expanded[ prefix + cssExpand[ i ] + suffix ] =
8142					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
8143			}
8144
8145			return expanded;
8146		}
8147	};
8148
8149	if ( prefix !== "margin" ) {
8150		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
8151	}
8152} );
8153
8154jQuery.fn.extend( {
8155	css: function( name, value ) {
8156		return access( this, function( elem, name, value ) {
8157			var styles, len,
8158				map = {},
8159				i = 0;
8160
8161			if ( Array.isArray( name ) ) {
8162				styles = getStyles( elem );
8163				len = name.length;
8164
8165				for ( ; i < len; i++ ) {
8166					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
8167				}
8168
8169				return map;
8170			}
8171
8172			return value !== undefined ?
8173				jQuery.style( elem, name, value ) :
8174				jQuery.css( elem, name );
8175		}, name, value, arguments.length > 1 );
8176	}
8177} );
8178
8179
8180function Tween( elem, options, prop, end, easing ) {
8181	return new Tween.prototype.init( elem, options, prop, end, easing );
8182}
8183jQuery.Tween = Tween;
8184
8185Tween.prototype = {
8186	constructor: Tween,
8187	init: function( elem, options, prop, end, easing, unit ) {
8188		this.elem = elem;
8189		this.prop = prop;
8190		this.easing = easing || jQuery.easing._default;
8191		this.options = options;
8192		this.start = this.now = this.cur();
8193		this.end = end;
8194		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
8195	},
8196	cur: function() {
8197		var hooks = Tween.propHooks[ this.prop ];
8198
8199		return hooks && hooks.get ?
8200			hooks.get( this ) :
8201			Tween.propHooks._default.get( this );
8202	},
8203	run: function( percent ) {
8204		var eased,
8205			hooks = Tween.propHooks[ this.prop ];
8206
8207		if ( this.options.duration ) {
8208			this.pos = eased = jQuery.easing[ this.easing ](
8209				percent, this.options.duration * percent, 0, 1, this.options.duration
8210			);
8211		} else {
8212			this.pos = eased = percent;
8213		}
8214		this.now = ( this.end - this.start ) * eased + this.start;
8215
8216		if ( this.options.step ) {
8217			this.options.step.call( this.elem, this.now, this );
8218		}
8219
8220		if ( hooks && hooks.set ) {
8221			hooks.set( this );
8222		} else {
8223			Tween.propHooks._default.set( this );
8224		}
8225		return this;
8226	}
8227};
8228
8229Tween.prototype.init.prototype = Tween.prototype;
8230
8231Tween.propHooks = {
8232	_default: {
8233		get: function( tween ) {
8234			var result;
8235
8236			// Use a property on the element directly when it is not a DOM element,
8237			// or when there is no matching style property that exists.
8238			if ( tween.elem.nodeType !== 1 ||
8239				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
8240				return tween.elem[ tween.prop ];
8241			}
8242
8243			// Passing an empty string as a 3rd parameter to .css will automatically
8244			// attempt a parseFloat and fallback to a string if the parse fails.
8245			// Simple values such as "10px" are parsed to Float;
8246			// complex values such as "rotate(1rad)" are returned as-is.
8247			result = jQuery.css( tween.elem, tween.prop, "" );
8248
8249			// Empty strings, null, undefined and "auto" are converted to 0.
8250			return !result || result === "auto" ? 0 : result;
8251		},
8252		set: function( tween ) {
8253
8254			// Use step hook for back compat.
8255			// Use cssHook if its there.
8256			// Use .style if available and use plain properties where available.
8257			if ( jQuery.fx.step[ tween.prop ] ) {
8258				jQuery.fx.step[ tween.prop ]( tween );
8259			} else if ( tween.elem.nodeType === 1 && (
8260				jQuery.cssHooks[ tween.prop ] ||
8261					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
8262				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
8263			} else {
8264				tween.elem[ tween.prop ] = tween.now;
8265			}
8266		}
8267	}
8268};
8269
8270// Support: IE <=9 only
8271// Panic based approach to setting things on disconnected nodes
8272Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
8273	set: function( tween ) {
8274		if ( tween.elem.nodeType && tween.elem.parentNode ) {
8275			tween.elem[ tween.prop ] = tween.now;
8276		}
8277	}
8278};
8279
8280jQuery.easing = {
8281	linear: function( p ) {
8282		return p;
8283	},
8284	swing: function( p ) {
8285		return 0.5 - Math.cos( p * Math.PI ) / 2;
8286	},
8287	_default: "swing"
8288};
8289
8290jQuery.fx = Tween.prototype.init;
8291
8292// Back compat <1.8 extension point
8293jQuery.fx.step = {};
8294
8295
8296
8297
8298var
8299	fxNow, inProgress,
8300	rfxtypes = /^(?:toggle|show|hide)$/,
8301	rrun = /queueHooks$/;
8302
8303function schedule() {
8304	if ( inProgress ) {
8305		if ( document.hidden === false && window.requestAnimationFrame ) {
8306			window.requestAnimationFrame( schedule );
8307		} else {
8308			window.setTimeout( schedule, jQuery.fx.interval );
8309		}
8310
8311		jQuery.fx.tick();
8312	}
8313}
8314
8315// Animations created synchronously will run synchronously
8316function createFxNow() {
8317	window.setTimeout( function() {
8318		fxNow = undefined;
8319	} );
8320	return ( fxNow = Date.now() );
8321}
8322
8323// Generate parameters to create a standard animation
8324function genFx( type, includeWidth ) {
8325	var which,
8326		i = 0,
8327		attrs = { height: type };
8328
8329	// If we include width, step value is 1 to do all cssExpand values,
8330	// otherwise step value is 2 to skip over Left and Right
8331	includeWidth = includeWidth ? 1 : 0;
8332	for ( ; i < 4; i += 2 - includeWidth ) {
8333		which = cssExpand[ i ];
8334		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
8335	}
8336
8337	if ( includeWidth ) {
8338		attrs.opacity = attrs.width = type;
8339	}
8340
8341	return attrs;
8342}
8343
8344function createTween( value, prop, animation ) {
8345	var tween,
8346		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
8347		index = 0,
8348		length = collection.length;
8349	for ( ; index < length; index++ ) {
8350		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
8351
8352			// We're done with this property
8353			return tween;
8354		}
8355	}
8356}
8357
8358function defaultPrefilter( elem, props, opts ) {
8359	var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
8360		isBox = "width" in props || "height" in props,
8361		anim = this,
8362		orig = {},
8363		style = elem.style,
8364		hidden = elem.nodeType && isHiddenWithinTree( elem ),
8365		dataShow = dataPriv.get( elem, "fxshow" );
8366
8367	// Queue-skipping animations hijack the fx hooks
8368	if ( !opts.queue ) {
8369		hooks = jQuery._queueHooks( elem, "fx" );
8370		if ( hooks.unqueued == null ) {
8371			hooks.unqueued = 0;
8372			oldfire = hooks.empty.fire;
8373			hooks.empty.fire = function() {
8374				if ( !hooks.unqueued ) {
8375					oldfire();
8376				}
8377			};
8378		}
8379		hooks.unqueued++;
8380
8381		anim.always( function() {
8382
8383			// Ensure the complete handler is called before this completes
8384			anim.always( function() {
8385				hooks.unqueued--;
8386				if ( !jQuery.queue( elem, "fx" ).length ) {
8387					hooks.empty.fire();
8388				}
8389			} );
8390		} );
8391	}
8392
8393	// Detect show/hide animations
8394	for ( prop in props ) {
8395		value = props[ prop ];
8396		if ( rfxtypes.test( value ) ) {
8397			delete props[ prop ];
8398			toggle = toggle || value === "toggle";
8399			if ( value === ( hidden ? "hide" : "show" ) ) {
8400
8401				// Pretend to be hidden if this is a "show" and
8402				// there is still data from a stopped show/hide
8403				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
8404					hidden = true;
8405
8406				// Ignore all other no-op show/hide data
8407				} else {
8408					continue;
8409				}
8410			}
8411			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
8412		}
8413	}
8414
8415	// Bail out if this is a no-op like .hide().hide()
8416	propTween = !jQuery.isEmptyObject( props );
8417	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
8418		return;
8419	}
8420
8421	// Restrict "overflow" and "display" styles during box animations
8422	if ( isBox && elem.nodeType === 1 ) {
8423
8424		// Support: IE <=9 - 11, Edge 12 - 15
8425		// Record all 3 overflow attributes because IE does not infer the shorthand
8426		// from identically-valued overflowX and overflowY and Edge just mirrors
8427		// the overflowX value there.
8428		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
8429
8430		// Identify a display type, preferring old show/hide data over the CSS cascade
8431		restoreDisplay = dataShow && dataShow.display;
8432		if ( restoreDisplay == null ) {
8433			restoreDisplay = dataPriv.get( elem, "display" );
8434		}
8435		display = jQuery.css( elem, "display" );
8436		if ( display === "none" ) {
8437			if ( restoreDisplay ) {
8438				display = restoreDisplay;
8439			} else {
8440
8441				// Get nonempty value(s) by temporarily forcing visibility
8442				showHide( [ elem ], true );
8443				restoreDisplay = elem.style.display || restoreDisplay;
8444				display = jQuery.css( elem, "display" );
8445				showHide( [ elem ] );
8446			}
8447		}
8448
8449		// Animate inline elements as inline-block
8450		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
8451			if ( jQuery.css( elem, "float" ) === "none" ) {
8452
8453				// Restore the original display value at the end of pure show/hide animations
8454				if ( !propTween ) {
8455					anim.done( function() {
8456						style.display = restoreDisplay;
8457					} );
8458					if ( restoreDisplay == null ) {
8459						display = style.display;
8460						restoreDisplay = display === "none" ? "" : display;
8461					}
8462				}
8463				style.display = "inline-block";
8464			}
8465		}
8466	}
8467
8468	if ( opts.overflow ) {
8469		style.overflow = "hidden";
8470		anim.always( function() {
8471			style.overflow = opts.overflow[ 0 ];
8472			style.overflowX = opts.overflow[ 1 ];
8473			style.overflowY = opts.overflow[ 2 ];
8474		} );
8475	}
8476
8477	// Implement show/hide animations
8478	propTween = false;
8479	for ( prop in orig ) {
8480
8481		// General show/hide setup for this element animation
8482		if ( !propTween ) {
8483			if ( dataShow ) {
8484				if ( "hidden" in dataShow ) {
8485					hidden = dataShow.hidden;
8486				}
8487			} else {
8488				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
8489			}
8490
8491			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
8492			if ( toggle ) {
8493				dataShow.hidden = !hidden;
8494			}
8495
8496			// Show elements before animating them
8497			if ( hidden ) {
8498				showHide( [ elem ], true );
8499			}
8500
8501			/* eslint-disable no-loop-func */
8502
8503			anim.done( function() {
8504
8505				/* eslint-enable no-loop-func */
8506
8507				// The final step of a "hide" animation is actually hiding the element
8508				if ( !hidden ) {
8509					showHide( [ elem ] );
8510				}
8511				dataPriv.remove( elem, "fxshow" );
8512				for ( prop in orig ) {
8513					jQuery.style( elem, prop, orig[ prop ] );
8514				}
8515			} );
8516		}
8517
8518		// Per-property setup
8519		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
8520		if ( !( prop in dataShow ) ) {
8521			dataShow[ prop ] = propTween.start;
8522			if ( hidden ) {
8523				propTween.end = propTween.start;
8524				propTween.start = 0;
8525			}
8526		}
8527	}
8528}
8529
8530function propFilter( props, specialEasing ) {
8531	var index, name, easing, value, hooks;
8532
8533	// camelCase, specialEasing and expand cssHook pass
8534	for ( index in props ) {
8535		name = camelCase( index );
8536		easing = specialEasing[ name ];
8537		value = props[ index ];
8538		if ( Array.isArray( value ) ) {
8539			easing = value[ 1 ];
8540			value = props[ index ] = value[ 0 ];
8541		}
8542
8543		if ( index !== name ) {
8544			props[ name ] = value;
8545			delete props[ index ];
8546		}
8547
8548		hooks = jQuery.cssHooks[ name ];
8549		if ( hooks && "expand" in hooks ) {
8550			value = hooks.expand( value );
8551			delete props[ name ];
8552
8553			// Not quite $.extend, this won't overwrite existing keys.
8554			// Reusing 'index' because we have the correct "name"
8555			for ( index in value ) {
8556				if ( !( index in props ) ) {
8557					props[ index ] = value[ index ];
8558					specialEasing[ index ] = easing;
8559				}
8560			}
8561		} else {
8562			specialEasing[ name ] = easing;
8563		}
8564	}
8565}
8566
8567function Animation( elem, properties, options ) {
8568	var result,
8569		stopped,
8570		index = 0,
8571		length = Animation.prefilters.length,
8572		deferred = jQuery.Deferred().always( function() {
8573
8574			// Don't match elem in the :animated selector
8575			delete tick.elem;
8576		} ),
8577		tick = function() {
8578			if ( stopped ) {
8579				return false;
8580			}
8581			var currentTime = fxNow || createFxNow(),
8582				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
8583
8584				// Support: Android 2.3 only
8585				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
8586				temp = remaining / animation.duration || 0,
8587				percent = 1 - temp,
8588				index = 0,
8589				length = animation.tweens.length;
8590
8591			for ( ; index < length; index++ ) {
8592				animation.tweens[ index ].run( percent );
8593			}
8594
8595			deferred.notifyWith( elem, [ animation, percent, remaining ] );
8596
8597			// If there's more to do, yield
8598			if ( percent < 1 && length ) {
8599				return remaining;
8600			}
8601
8602			// If this was an empty animation, synthesize a final progress notification
8603			if ( !length ) {
8604				deferred.notifyWith( elem, [ animation, 1, 0 ] );
8605			}
8606
8607			// Resolve the animation and report its conclusion
8608			deferred.resolveWith( elem, [ animation ] );
8609			return false;
8610		},
8611		animation = deferred.promise( {
8612			elem: elem,
8613			props: jQuery.extend( {}, properties ),
8614			opts: jQuery.extend( true, {
8615				specialEasing: {},
8616				easing: jQuery.easing._default
8617			}, options ),
8618			originalProperties: properties,
8619			originalOptions: options,
8620			startTime: fxNow || createFxNow(),
8621			duration: options.duration,
8622			tweens: [],
8623			createTween: function( prop, end ) {
8624				var tween = jQuery.Tween( elem, animation.opts, prop, end,
8625					animation.opts.specialEasing[ prop ] || animation.opts.easing );
8626				animation.tweens.push( tween );
8627				return tween;
8628			},
8629			stop: function( gotoEnd ) {
8630				var index = 0,
8631
8632					// If we are going to the end, we want to run all the tweens
8633					// otherwise we skip this part
8634					length = gotoEnd ? animation.tweens.length : 0;
8635				if ( stopped ) {
8636					return this;
8637				}
8638				stopped = true;
8639				for ( ; index < length; index++ ) {
8640					animation.tweens[ index ].run( 1 );
8641				}
8642
8643				// Resolve when we played the last frame; otherwise, reject
8644				if ( gotoEnd ) {
8645					deferred.notifyWith( elem, [ animation, 1, 0 ] );
8646					deferred.resolveWith( elem, [ animation, gotoEnd ] );
8647				} else {
8648					deferred.rejectWith( elem, [ animation, gotoEnd ] );
8649				}
8650				return this;
8651			}
8652		} ),
8653		props = animation.props;
8654
8655	propFilter( props, animation.opts.specialEasing );
8656
8657	for ( ; index < length; index++ ) {
8658		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
8659		if ( result ) {
8660			if ( isFunction( result.stop ) ) {
8661				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
8662					result.stop.bind( result );
8663			}
8664			return result;
8665		}
8666	}
8667
8668	jQuery.map( props, createTween, animation );
8669
8670	if ( isFunction( animation.opts.start ) ) {
8671		animation.opts.start.call( elem, animation );
8672	}
8673
8674	// Attach callbacks from options
8675	animation
8676		.progress( animation.opts.progress )
8677		.done( animation.opts.done, animation.opts.complete )
8678		.fail( animation.opts.fail )
8679		.always( animation.opts.always );
8680
8681	jQuery.fx.timer(
8682		jQuery.extend( tick, {
8683			elem: elem,
8684			anim: animation,
8685			queue: animation.opts.queue
8686		} )
8687	);
8688
8689	return animation;
8690}
8691
8692jQuery.Animation = jQuery.extend( Animation, {
8693
8694	tweeners: {
8695		"*": [ function( prop, value ) {
8696			var tween = this.createTween( prop, value );
8697			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
8698			return tween;
8699		} ]
8700	},
8701
8702	tweener: function( props, callback ) {
8703		if ( isFunction( props ) ) {
8704			callback = props;
8705			props = [ "*" ];
8706		} else {
8707			props = props.match( rnothtmlwhite );
8708		}
8709
8710		var prop,
8711			index = 0,
8712			length = props.length;
8713
8714		for ( ; index < length; index++ ) {
8715			prop = props[ index ];
8716			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
8717			Animation.tweeners[ prop ].unshift( callback );
8718		}
8719	},
8720
8721	prefilters: [ defaultPrefilter ],
8722
8723	prefilter: function( callback, prepend ) {
8724		if ( prepend ) {
8725			Animation.prefilters.unshift( callback );
8726		} else {
8727			Animation.prefilters.push( callback );
8728		}
8729	}
8730} );
8731
8732jQuery.speed = function( speed, easing, fn ) {
8733	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
8734		complete: fn || !fn && easing ||
8735			isFunction( speed ) && speed,
8736		duration: speed,
8737		easing: fn && easing || easing && !isFunction( easing ) && easing
8738	};
8739
8740	// Go to the end state if fx are off
8741	if ( jQuery.fx.off ) {
8742		opt.duration = 0;
8743
8744	} else {
8745		if ( typeof opt.duration !== "number" ) {
8746			if ( opt.duration in jQuery.fx.speeds ) {
8747				opt.duration = jQuery.fx.speeds[ opt.duration ];
8748
8749			} else {
8750				opt.duration = jQuery.fx.speeds._default;
8751			}
8752		}
8753	}
8754
8755	// Normalize opt.queue - true/undefined/null -> "fx"
8756	if ( opt.queue == null || opt.queue === true ) {
8757		opt.queue = "fx";
8758	}
8759
8760	// Queueing
8761	opt.old = opt.complete;
8762
8763	opt.complete = function() {
8764		if ( isFunction( opt.old ) ) {
8765			opt.old.call( this );
8766		}
8767
8768		if ( opt.queue ) {
8769			jQuery.dequeue( this, opt.queue );
8770		}
8771	};
8772
8773	return opt;
8774};
8775
8776jQuery.fn.extend( {
8777	fadeTo: function( speed, to, easing, callback ) {
8778
8779		// Show any hidden elements after setting opacity to 0
8780		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
8781
8782			// Animate to the value specified
8783			.end().animate( { opacity: to }, speed, easing, callback );
8784	},
8785	animate: function( prop, speed, easing, callback ) {
8786		var empty = jQuery.isEmptyObject( prop ),
8787			optall = jQuery.speed( speed, easing, callback ),
8788			doAnimation = function() {
8789
8790				// Operate on a copy of prop so per-property easing won't be lost
8791				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
8792
8793				// Empty animations, or finishing resolves immediately
8794				if ( empty || dataPriv.get( this, "finish" ) ) {
8795					anim.stop( true );
8796				}
8797			};
8798
8799		doAnimation.finish = doAnimation;
8800
8801		return empty || optall.queue === false ?
8802			this.each( doAnimation ) :
8803			this.queue( optall.queue, doAnimation );
8804	},
8805	stop: function( type, clearQueue, gotoEnd ) {
8806		var stopQueue = function( hooks ) {
8807			var stop = hooks.stop;
8808			delete hooks.stop;
8809			stop( gotoEnd );
8810		};
8811
8812		if ( typeof type !== "string" ) {
8813			gotoEnd = clearQueue;
8814			clearQueue = type;
8815			type = undefined;
8816		}
8817		if ( clearQueue ) {
8818			this.queue( type || "fx", [] );
8819		}
8820
8821		return this.each( function() {
8822			var dequeue = true,
8823				index = type != null && type + "queueHooks",
8824				timers = jQuery.timers,
8825				data = dataPriv.get( this );
8826
8827			if ( index ) {
8828				if ( data[ index ] && data[ index ].stop ) {
8829					stopQueue( data[ index ] );
8830				}
8831			} else {
8832				for ( index in data ) {
8833					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
8834						stopQueue( data[ index ] );
8835					}
8836				}
8837			}
8838
8839			for ( index = timers.length; index--; ) {
8840				if ( timers[ index ].elem === this &&
8841					( type == null || timers[ index ].queue === type ) ) {
8842
8843					timers[ index ].anim.stop( gotoEnd );
8844					dequeue = false;
8845					timers.splice( index, 1 );
8846				}
8847			}
8848
8849			// Start the next in the queue if the last step wasn't forced.
8850			// Timers currently will call their complete callbacks, which
8851			// will dequeue but only if they were gotoEnd.
8852			if ( dequeue || !gotoEnd ) {
8853				jQuery.dequeue( this, type );
8854			}
8855		} );
8856	},
8857	finish: function( type ) {
8858		if ( type !== false ) {
8859			type = type || "fx";
8860		}
8861		return this.each( function() {
8862			var index,
8863				data = dataPriv.get( this ),
8864				queue = data[ type + "queue" ],
8865				hooks = data[ type + "queueHooks" ],
8866				timers = jQuery.timers,
8867				length = queue ? queue.length : 0;
8868
8869			// Enable finishing flag on private data
8870			data.finish = true;
8871
8872			// Empty the queue first
8873			jQuery.queue( this, type, [] );
8874
8875			if ( hooks && hooks.stop ) {
8876				hooks.stop.call( this, true );
8877			}
8878
8879			// Look for any active animations, and finish them
8880			for ( index = timers.length; index--; ) {
8881				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
8882					timers[ index ].anim.stop( true );
8883					timers.splice( index, 1 );
8884				}
8885			}
8886
8887			// Look for any animations in the old queue and finish them
8888			for ( index = 0; index < length; index++ ) {
8889				if ( queue[ index ] && queue[ index ].finish ) {
8890					queue[ index ].finish.call( this );
8891				}
8892			}
8893
8894			// Turn off finishing flag
8895			delete data.finish;
8896		} );
8897	}
8898} );
8899
8900jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
8901	var cssFn = jQuery.fn[ name ];
8902	jQuery.fn[ name ] = function( speed, easing, callback ) {
8903		return speed == null || typeof speed === "boolean" ?
8904			cssFn.apply( this, arguments ) :
8905			this.animate( genFx( name, true ), speed, easing, callback );
8906	};
8907} );
8908
8909// Generate shortcuts for custom animations
8910jQuery.each( {
8911	slideDown: genFx( "show" ),
8912	slideUp: genFx( "hide" ),
8913	slideToggle: genFx( "toggle" ),
8914	fadeIn: { opacity: "show" },
8915	fadeOut: { opacity: "hide" },
8916	fadeToggle: { opacity: "toggle" }
8917}, function( name, props ) {
8918	jQuery.fn[ name ] = function( speed, easing, callback ) {
8919		return this.animate( props, speed, easing, callback );
8920	};
8921} );
8922
8923jQuery.timers = [];
8924jQuery.fx.tick = function() {
8925	var timer,
8926		i = 0,
8927		timers = jQuery.timers;
8928
8929	fxNow = Date.now();
8930
8931	for ( ; i < timers.length; i++ ) {
8932		timer = timers[ i ];
8933
8934		// Run the timer and safely remove it when done (allowing for external removal)
8935		if ( !timer() && timers[ i ] === timer ) {
8936			timers.splice( i--, 1 );
8937		}
8938	}
8939
8940	if ( !timers.length ) {
8941		jQuery.fx.stop();
8942	}
8943	fxNow = undefined;
8944};
8945
8946jQuery.fx.timer = function( timer ) {
8947	jQuery.timers.push( timer );
8948	jQuery.fx.start();
8949};
8950
8951jQuery.fx.interval = 13;
8952jQuery.fx.start = function() {
8953	if ( inProgress ) {
8954		return;
8955	}
8956
8957	inProgress = true;
8958	schedule();
8959};
8960
8961jQuery.fx.stop = function() {
8962	inProgress = null;
8963};
8964
8965jQuery.fx.speeds = {
8966	slow: 600,
8967	fast: 200,
8968
8969	// Default speed
8970	_default: 400
8971};
8972
8973
8974// Based off of the plugin by Clint Helfers, with permission.
8975// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
8976jQuery.fn.delay = function( time, type ) {
8977	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
8978	type = type || "fx";
8979
8980	return this.queue( type, function( next, hooks ) {
8981		var timeout = window.setTimeout( next, time );
8982		hooks.stop = function() {
8983			window.clearTimeout( timeout );
8984		};
8985	} );
8986};
8987
8988
8989( function() {
8990	var input = document.createElement( "input" ),
8991		select = document.createElement( "select" ),
8992		opt = select.appendChild( document.createElement( "option" ) );
8993
8994	input.type = "checkbox";
8995
8996	// Support: Android <=4.3 only
8997	// Default value for a checkbox should be "on"
8998	support.checkOn = input.value !== "";
8999
9000	// Support: IE <=11 only
9001	// Must access selectedIndex to make default options select
9002	support.optSelected = opt.selected;
9003
9004	// Support: IE <=11 only
9005	// An input loses its value after becoming a radio
9006	input = document.createElement( "input" );
9007	input.value = "t";
9008	input.type = "radio";
9009	support.radioValue = input.value === "t";
9010} )();
9011
9012
9013var boolHook,
9014	attrHandle = jQuery.expr.attrHandle;
9015
9016jQuery.fn.extend( {
9017	attr: function( name, value ) {
9018		return access( this, jQuery.attr, name, value, arguments.length > 1 );
9019	},
9020
9021	removeAttr: function( name ) {
9022		return this.each( function() {
9023			jQuery.removeAttr( this, name );
9024		} );
9025	}
9026} );
9027
9028jQuery.extend( {
9029	attr: function( elem, name, value ) {
9030		var ret, hooks,
9031			nType = elem.nodeType;
9032
9033		// Don't get/set attributes on text, comment and attribute nodes
9034		if ( nType === 3 || nType === 8 || nType === 2 ) {
9035			return;
9036		}
9037
9038		// Fallback to prop when attributes are not supported
9039		if ( typeof elem.getAttribute === "undefined" ) {
9040			return jQuery.prop( elem, name, value );
9041		}
9042
9043		// Attribute hooks are determined by the lowercase version
9044		// Grab necessary hook if one is defined
9045		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
9046			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
9047				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
9048		}
9049
9050		if ( value !== undefined ) {
9051			if ( value === null ) {
9052				jQuery.removeAttr( elem, name );
9053				return;
9054			}
9055
9056			if ( hooks && "set" in hooks &&
9057				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
9058				return ret;
9059			}
9060
9061			elem.setAttribute( name, value + "" );
9062			return value;
9063		}
9064
9065		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
9066			return ret;
9067		}
9068
9069		ret = jQuery.find.attr( elem, name );
9070
9071		// Non-existent attributes return null, we normalize to undefined
9072		return ret == null ? undefined : ret;
9073	},
9074
9075	attrHooks: {
9076		type: {
9077			set: function( elem, value ) {
9078				if ( !support.radioValue && value === "radio" &&
9079					nodeName( elem, "input" ) ) {
9080					var val = elem.value;
9081					elem.setAttribute( "type", value );
9082					if ( val ) {
9083						elem.value = val;
9084					}
9085					return value;
9086				}
9087			}
9088		}
9089	},
9090
9091	removeAttr: function( elem, value ) {
9092		var name,
9093			i = 0,
9094
9095			// Attribute names can contain non-HTML whitespace characters
9096			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
9097			attrNames = value && value.match( rnothtmlwhite );
9098
9099		if ( attrNames && elem.nodeType === 1 ) {
9100			while ( ( name = attrNames[ i++ ] ) ) {
9101				elem.removeAttribute( name );
9102			}
9103		}
9104	}
9105} );
9106
9107// Hooks for boolean attributes
9108boolHook = {
9109	set: function( elem, value, name ) {
9110		if ( value === false ) {
9111
9112			// Remove boolean attributes when set to false
9113			jQuery.removeAttr( elem, name );
9114		} else {
9115			elem.setAttribute( name, name );
9116		}
9117		return name;
9118	}
9119};
9120
9121jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
9122	var getter = attrHandle[ name ] || jQuery.find.attr;
9123
9124	attrHandle[ name ] = function( elem, name, isXML ) {
9125		var ret, handle,
9126			lowercaseName = name.toLowerCase();
9127
9128		if ( !isXML ) {
9129
9130			// Avoid an infinite loop by temporarily removing this function from the getter
9131			handle = attrHandle[ lowercaseName ];
9132			attrHandle[ lowercaseName ] = ret;
9133			ret = getter( elem, name, isXML ) != null ?
9134				lowercaseName :
9135				null;
9136			attrHandle[ lowercaseName ] = handle;
9137		}
9138		return ret;
9139	};
9140} );
9141
9142
9143
9144
9145var rfocusable = /^(?:input|select|textarea|button)$/i,
9146	rclickable = /^(?:a|area)$/i;
9147
9148jQuery.fn.extend( {
9149	prop: function( name, value ) {
9150		return access( this, jQuery.prop, name, value, arguments.length > 1 );
9151	},
9152
9153	removeProp: function( name ) {
9154		return this.each( function() {
9155			delete this[ jQuery.propFix[ name ] || name ];
9156		} );
9157	}
9158} );
9159
9160jQuery.extend( {
9161	prop: function( elem, name, value ) {
9162		var ret, hooks,
9163			nType = elem.nodeType;
9164
9165		// Don't get/set properties on text, comment and attribute nodes
9166		if ( nType === 3 || nType === 8 || nType === 2 ) {
9167			return;
9168		}
9169
9170		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
9171
9172			// Fix name and attach hooks
9173			name = jQuery.propFix[ name ] || name;
9174			hooks = jQuery.propHooks[ name ];
9175		}
9176
9177		if ( value !== undefined ) {
9178			if ( hooks && "set" in hooks &&
9179				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
9180				return ret;
9181			}
9182
9183			return ( elem[ name ] = value );
9184		}
9185
9186		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
9187			return ret;
9188		}
9189
9190		return elem[ name ];
9191	},
9192
9193	propHooks: {
9194		tabIndex: {
9195			get: function( elem ) {
9196
9197				// Support: IE <=9 - 11 only
9198				// elem.tabIndex doesn't always return the
9199				// correct value when it hasn't been explicitly set
9200				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
9201				// Use proper attribute retrieval(#12072)
9202				var tabindex = jQuery.find.attr( elem, "tabindex" );
9203
9204				if ( tabindex ) {
9205					return parseInt( tabindex, 10 );
9206				}
9207
9208				if (
9209					rfocusable.test( elem.nodeName ) ||
9210					rclickable.test( elem.nodeName ) &&
9211					elem.href
9212				) {
9213					return 0;
9214				}
9215
9216				return -1;
9217			}
9218		}
9219	},
9220
9221	propFix: {
9222		"for": "htmlFor",
9223		"class": "className"
9224	}
9225} );
9226
9227// Support: IE <=11 only
9228// Accessing the selectedIndex property
9229// forces the browser to respect setting selected
9230// on the option
9231// The getter ensures a default option is selected
9232// when in an optgroup
9233// eslint rule "no-unused-expressions" is disabled for this code
9234// since it considers such accessions noop
9235if ( !support.optSelected ) {
9236	jQuery.propHooks.selected = {
9237		get: function( elem ) {
9238
9239			/* eslint no-unused-expressions: "off" */
9240
9241			var parent = elem.parentNode;
9242			if ( parent && parent.parentNode ) {
9243				parent.parentNode.selectedIndex;
9244			}
9245			return null;
9246		},
9247		set: function( elem ) {
9248
9249			/* eslint no-unused-expressions: "off" */
9250
9251			var parent = elem.parentNode;
9252			if ( parent ) {
9253				parent.selectedIndex;
9254
9255				if ( parent.parentNode ) {
9256					parent.parentNode.selectedIndex;
9257				}
9258			}
9259		}
9260	};
9261}
9262
9263jQuery.each( [
9264	"tabIndex",
9265	"readOnly",
9266	"maxLength",
9267	"cellSpacing",
9268	"cellPadding",
9269	"rowSpan",
9270	"colSpan",
9271	"useMap",
9272	"frameBorder",
9273	"contentEditable"
9274], function() {
9275	jQuery.propFix[ this.toLowerCase() ] = this;
9276} );
9277
9278
9279
9280
9281	// Strip and collapse whitespace according to HTML spec
9282	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
9283	function stripAndCollapse( value ) {
9284		var tokens = value.match( rnothtmlwhite ) || [];
9285		return tokens.join( " " );
9286	}
9287
9288
9289function getClass( elem ) {
9290	return elem.getAttribute && elem.getAttribute( "class" ) || "";
9291}
9292
9293function classesToArray( value ) {
9294	if ( Array.isArray( value ) ) {
9295		return value;
9296	}
9297	if ( typeof value === "string" ) {
9298		return value.match( rnothtmlwhite ) || [];
9299	}
9300	return [];
9301}
9302
9303jQuery.fn.extend( {
9304	addClass: function( value ) {
9305		var classes, elem, cur, curValue, clazz, j, finalValue,
9306			i = 0;
9307
9308		if ( isFunction( value ) ) {
9309			return this.each( function( j ) {
9310				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
9311			} );
9312		}
9313
9314		classes = classesToArray( value );
9315
9316		if ( classes.length ) {
9317			while ( ( elem = this[ i++ ] ) ) {
9318				curValue = getClass( elem );
9319				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
9320
9321				if ( cur ) {
9322					j = 0;
9323					while ( ( clazz = classes[ j++ ] ) ) {
9324						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
9325							cur += clazz + " ";
9326						}
9327					}
9328
9329					// Only assign if different to avoid unneeded rendering.
9330					finalValue = stripAndCollapse( cur );
9331					if ( curValue !== finalValue ) {
9332						elem.setAttribute( "class", finalValue );
9333					}
9334				}
9335			}
9336		}
9337
9338		return this;
9339	},
9340
9341	removeClass: function( value ) {
9342		var classes, elem, cur, curValue, clazz, j, finalValue,
9343			i = 0;
9344
9345		if ( isFunction( value ) ) {
9346			return this.each( function( j ) {
9347				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
9348			} );
9349		}
9350
9351		if ( !arguments.length ) {
9352			return this.attr( "class", "" );
9353		}
9354
9355		classes = classesToArray( value );
9356
9357		if ( classes.length ) {
9358			while ( ( elem = this[ i++ ] ) ) {
9359				curValue = getClass( elem );
9360
9361				// This expression is here for better compressibility (see addClass)
9362				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
9363
9364				if ( cur ) {
9365					j = 0;
9366					while ( ( clazz = classes[ j++ ] ) ) {
9367
9368						// Remove *all* instances
9369						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
9370							cur = cur.replace( " " + clazz + " ", " " );
9371						}
9372					}
9373
9374					// Only assign if different to avoid unneeded rendering.
9375					finalValue = stripAndCollapse( cur );
9376					if ( curValue !== finalValue ) {
9377						elem.setAttribute( "class", finalValue );
9378					}
9379				}
9380			}
9381		}
9382
9383		return this;
9384	},
9385
9386	toggleClass: function( value, stateVal ) {
9387		var type = typeof value,
9388			isValidValue = type === "string" || Array.isArray( value );
9389
9390		if ( typeof stateVal === "boolean" && isValidValue ) {
9391			return stateVal ? this.addClass( value ) : this.removeClass( value );
9392		}
9393
9394		if ( isFunction( value ) ) {
9395			return this.each( function( i ) {
9396				jQuery( this ).toggleClass(
9397					value.call( this, i, getClass( this ), stateVal ),
9398					stateVal
9399				);
9400			} );
9401		}
9402
9403		return this.each( function() {
9404			var className, i, self, classNames;
9405
9406			if ( isValidValue ) {
9407
9408				// Toggle individual class names
9409				i = 0;
9410				self = jQuery( this );
9411				classNames = classesToArray( value );
9412
9413				while ( ( className = classNames[ i++ ] ) ) {
9414
9415					// Check each className given, space separated list
9416					if ( self.hasClass( className ) ) {
9417						self.removeClass( className );
9418					} else {
9419						self.addClass( className );
9420					}
9421				}
9422
9423			// Toggle whole class name
9424			} else if ( value === undefined || type === "boolean" ) {
9425				className = getClass( this );
9426				if ( className ) {
9427
9428					// Store className if set
9429					dataPriv.set( this, "__className__", className );
9430				}
9431
9432				// If the element has a class name or if we're passed `false`,
9433				// then remove the whole classname (if there was one, the above saved it).
9434				// Otherwise bring back whatever was previously saved (if anything),
9435				// falling back to the empty string if nothing was stored.
9436				if ( this.setAttribute ) {
9437					this.setAttribute( "class",
9438						className || value === false ?
9439							"" :
9440							dataPriv.get( this, "__className__" ) || ""
9441					);
9442				}
9443			}
9444		} );
9445	},
9446
9447	hasClass: function( selector ) {
9448		var className, elem,
9449			i = 0;
9450
9451		className = " " + selector + " ";
9452		while ( ( elem = this[ i++ ] ) ) {
9453			if ( elem.nodeType === 1 &&
9454				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
9455				return true;
9456			}
9457		}
9458
9459		return false;
9460	}
9461} );
9462
9463
9464
9465
9466var rreturn = /\r/g;
9467
9468jQuery.fn.extend( {
9469	val: function( value ) {
9470		var hooks, ret, valueIsFunction,
9471			elem = this[ 0 ];
9472
9473		if ( !arguments.length ) {
9474			if ( elem ) {
9475				hooks = jQuery.valHooks[ elem.type ] ||
9476					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
9477
9478				if ( hooks &&
9479					"get" in hooks &&
9480					( ret = hooks.get( elem, "value" ) ) !== undefined
9481				) {
9482					return ret;
9483				}
9484
9485				ret = elem.value;
9486
9487				// Handle most common string cases
9488				if ( typeof ret === "string" ) {
9489					return ret.replace( rreturn, "" );
9490				}
9491
9492				// Handle cases where value is null/undef or number
9493				return ret == null ? "" : ret;
9494			}
9495
9496			return;
9497		}
9498
9499		valueIsFunction = isFunction( value );
9500
9501		return this.each( function( i ) {
9502			var val;
9503
9504			if ( this.nodeType !== 1 ) {
9505				return;
9506			}
9507
9508			if ( valueIsFunction ) {
9509				val = value.call( this, i, jQuery( this ).val() );
9510			} else {
9511				val = value;
9512			}
9513
9514			// Treat null/undefined as ""; convert numbers to string
9515			if ( val == null ) {
9516				val = "";
9517
9518			} else if ( typeof val === "number" ) {
9519				val += "";
9520
9521			} else if ( Array.isArray( val ) ) {
9522				val = jQuery.map( val, function( value ) {
9523					return value == null ? "" : value + "";
9524				} );
9525			}
9526
9527			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
9528
9529			// If set returns undefined, fall back to normal setting
9530			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
9531				this.value = val;
9532			}
9533		} );
9534	}
9535} );
9536
9537jQuery.extend( {
9538	valHooks: {
9539		option: {
9540			get: function( elem ) {
9541
9542				var val = jQuery.find.attr( elem, "value" );
9543				return val != null ?
9544					val :
9545
9546					// Support: IE <=10 - 11 only
9547					// option.text throws exceptions (#14686, #14858)
9548					// Strip and collapse whitespace
9549					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
9550					stripAndCollapse( jQuery.text( elem ) );
9551			}
9552		},
9553		select: {
9554			get: function( elem ) {
9555				var value, option, i,
9556					options = elem.options,
9557					index = elem.selectedIndex,
9558					one = elem.type === "select-one",
9559					values = one ? null : [],
9560					max = one ? index + 1 : options.length;
9561
9562				if ( index < 0 ) {
9563					i = max;
9564
9565				} else {
9566					i = one ? index : 0;
9567				}
9568
9569				// Loop through all the selected options
9570				for ( ; i < max; i++ ) {
9571					option = options[ i ];
9572
9573					// Support: IE <=9 only
9574					// IE8-9 doesn't update selected after form reset (#2551)
9575					if ( ( option.selected || i === index ) &&
9576
9577							// Don't return options that are disabled or in a disabled optgroup
9578							!option.disabled &&
9579							( !option.parentNode.disabled ||
9580								!nodeName( option.parentNode, "optgroup" ) ) ) {
9581
9582						// Get the specific value for the option
9583						value = jQuery( option ).val();
9584
9585						// We don't need an array for one selects
9586						if ( one ) {
9587							return value;
9588						}
9589
9590						// Multi-Selects return an array
9591						values.push( value );
9592					}
9593				}
9594
9595				return values;
9596			},
9597
9598			set: function( elem, value ) {
9599				var optionSet, option,
9600					options = elem.options,
9601					values = jQuery.makeArray( value ),
9602					i = options.length;
9603
9604				while ( i-- ) {
9605					option = options[ i ];
9606
9607					/* eslint-disable no-cond-assign */
9608
9609					if ( option.selected =
9610						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
9611					) {
9612						optionSet = true;
9613					}
9614
9615					/* eslint-enable no-cond-assign */
9616				}
9617
9618				// Force browsers to behave consistently when non-matching value is set
9619				if ( !optionSet ) {
9620					elem.selectedIndex = -1;
9621				}
9622				return values;
9623			}
9624		}
9625	}
9626} );
9627
9628// Radios and checkboxes getter/setter
9629jQuery.each( [ "radio", "checkbox" ], function() {
9630	jQuery.valHooks[ this ] = {
9631		set: function( elem, value ) {
9632			if ( Array.isArray( value ) ) {
9633				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
9634			}
9635		}
9636	};
9637	if ( !support.checkOn ) {
9638		jQuery.valHooks[ this ].get = function( elem ) {
9639			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
9640		};
9641	}
9642} );
9643
9644
9645
9646
9647// Return jQuery for attributes-only inclusion
9648
9649
9650support.focusin = "onfocusin" in window;
9651
9652
9653var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
9654	stopPropagationCallback = function( e ) {
9655		e.stopPropagation();
9656	};
9657
9658jQuery.extend( jQuery.event, {
9659
9660	trigger: function( event, data, elem, onlyHandlers ) {
9661
9662		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
9663			eventPath = [ elem || document ],
9664			type = hasOwn.call( event, "type" ) ? event.type : event,
9665			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
9666
9667		cur = lastElement = tmp = elem = elem || document;
9668
9669		// Don't do events on text and comment nodes
9670		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
9671			return;
9672		}
9673
9674		// focus/blur morphs to focusin/out; ensure we're not firing them right now
9675		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
9676			return;
9677		}
9678
9679		if ( type.indexOf( "." ) > -1 ) {
9680
9681			// Namespaced trigger; create a regexp to match event type in handle()
9682			namespaces = type.split( "." );
9683			type = namespaces.shift();
9684			namespaces.sort();
9685		}
9686		ontype = type.indexOf( ":" ) < 0 && "on" + type;
9687
9688		// Caller can pass in a jQuery.Event object, Object, or just an event type string
9689		event = event[ jQuery.expando ] ?
9690			event :
9691			new jQuery.Event( type, typeof event === "object" && event );
9692
9693		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
9694		event.isTrigger = onlyHandlers ? 2 : 3;
9695		event.namespace = namespaces.join( "." );
9696		event.rnamespace = event.namespace ?
9697			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
9698			null;
9699
9700		// Clean up the event in case it is being reused
9701		event.result = undefined;
9702		if ( !event.target ) {
9703			event.target = elem;
9704		}
9705
9706		// Clone any incoming data and prepend the event, creating the handler arg list
9707		data = data == null ?
9708			[ event ] :
9709			jQuery.makeArray( data, [ event ] );
9710
9711		// Allow special events to draw outside the lines
9712		special = jQuery.event.special[ type ] || {};
9713		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
9714			return;
9715		}
9716
9717		// Determine event propagation path in advance, per W3C events spec (#9951)
9718		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
9719		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
9720
9721			bubbleType = special.delegateType || type;
9722			if ( !rfocusMorph.test( bubbleType + type ) ) {
9723				cur = cur.parentNode;
9724			}
9725			for ( ; cur; cur = cur.parentNode ) {
9726				eventPath.push( cur );
9727				tmp = cur;
9728			}
9729
9730			// Only add window if we got to document (e.g., not plain obj or detached DOM)
9731			if ( tmp === ( elem.ownerDocument || document ) ) {
9732				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
9733			}
9734		}
9735
9736		// Fire handlers on the event path
9737		i = 0;
9738		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
9739			lastElement = cur;
9740			event.type = i > 1 ?
9741				bubbleType :
9742				special.bindType || type;
9743
9744			// jQuery handler
9745			handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
9746				dataPriv.get( cur, "handle" );
9747			if ( handle ) {
9748				handle.apply( cur, data );
9749			}
9750
9751			// Native handler
9752			handle = ontype && cur[ ontype ];
9753			if ( handle && handle.apply && acceptData( cur ) ) {
9754				event.result = handle.apply( cur, data );
9755				if ( event.result === false ) {
9756					event.preventDefault();
9757				}
9758			}
9759		}
9760		event.type = type;
9761
9762		// If nobody prevented the default action, do it now
9763		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
9764
9765			if ( ( !special._default ||
9766				special._default.apply( eventPath.pop(), data ) === false ) &&
9767				acceptData( elem ) ) {
9768
9769				// Call a native DOM method on the target with the same name as the event.
9770				// Don't do default actions on window, that's where global variables be (#6170)
9771				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
9772
9773					// Don't re-trigger an onFOO event when we call its FOO() method
9774					tmp = elem[ ontype ];
9775
9776					if ( tmp ) {
9777						elem[ ontype ] = null;
9778					}
9779
9780					// Prevent re-triggering of the same event, since we already bubbled it above
9781					jQuery.event.triggered = type;
9782
9783					if ( event.isPropagationStopped() ) {
9784						lastElement.addEventListener( type, stopPropagationCallback );
9785					}
9786
9787					elem[ type ]();
9788
9789					if ( event.isPropagationStopped() ) {
9790						lastElement.removeEventListener( type, stopPropagationCallback );
9791					}
9792
9793					jQuery.event.triggered = undefined;
9794
9795					if ( tmp ) {
9796						elem[ ontype ] = tmp;
9797					}
9798				}
9799			}
9800		}
9801
9802		return event.result;
9803	},
9804
9805	// Piggyback on a donor event to simulate a different one
9806	// Used only for `focus(in | out)` events
9807	simulate: function( type, elem, event ) {
9808		var e = jQuery.extend(
9809			new jQuery.Event(),
9810			event,
9811			{
9812				type: type,
9813				isSimulated: true
9814			}
9815		);
9816
9817		jQuery.event.trigger( e, null, elem );
9818	}
9819
9820} );
9821
9822jQuery.fn.extend( {
9823
9824	trigger: function( type, data ) {
9825		return this.each( function() {
9826			jQuery.event.trigger( type, data, this );
9827		} );
9828	},
9829	triggerHandler: function( type, data ) {
9830		var elem = this[ 0 ];
9831		if ( elem ) {
9832			return jQuery.event.trigger( type, data, elem, true );
9833		}
9834	}
9835} );
9836
9837
9838// Support: Firefox <=44
9839// Firefox doesn't have focus(in | out) events
9840// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
9841//
9842// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
9843// focus(in | out) events fire after focus & blur events,
9844// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
9845// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
9846if ( !support.focusin ) {
9847	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
9848
9849		// Attach a single capturing handler on the document while someone wants focusin/focusout
9850		var handler = function( event ) {
9851			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
9852		};
9853
9854		jQuery.event.special[ fix ] = {
9855			setup: function() {
9856
9857				// Handle: regular nodes (via `this.ownerDocument`), window
9858				// (via `this.document`) & document (via `this`).
9859				var doc = this.ownerDocument || this.document || this,
9860					attaches = dataPriv.access( doc, fix );
9861
9862				if ( !attaches ) {
9863					doc.addEventListener( orig, handler, true );
9864				}
9865				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
9866			},
9867			teardown: function() {
9868				var doc = this.ownerDocument || this.document || this,
9869					attaches = dataPriv.access( doc, fix ) - 1;
9870
9871				if ( !attaches ) {
9872					doc.removeEventListener( orig, handler, true );
9873					dataPriv.remove( doc, fix );
9874
9875				} else {
9876					dataPriv.access( doc, fix, attaches );
9877				}
9878			}
9879		};
9880	} );
9881}
9882var location = window.location;
9883
9884var nonce = { guid: Date.now() };
9885
9886var rquery = ( /\?/ );
9887
9888
9889
9890// Cross-browser xml parsing
9891jQuery.parseXML = function( data ) {
9892	var xml, parserErrorElem;
9893	if ( !data || typeof data !== "string" ) {
9894		return null;
9895	}
9896
9897	// Support: IE 9 - 11 only
9898	// IE throws on parseFromString with invalid input.
9899	try {
9900		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
9901	} catch ( e ) {}
9902
9903	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
9904	if ( !xml || parserErrorElem ) {
9905		jQuery.error( "Invalid XML: " + (
9906			parserErrorElem ?
9907				jQuery.map( parserErrorElem.childNodes, function( el ) {
9908					return el.textContent;
9909				} ).join( "\n" ) :
9910				data
9911		) );
9912	}
9913	return xml;
9914};
9915
9916
9917var
9918	rbracket = /\[\]$/,
9919	rCRLF = /\r?\n/g,
9920	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
9921	rsubmittable = /^(?:input|select|textarea|keygen)/i;
9922
9923function buildParams( prefix, obj, traditional, add ) {
9924	var name;
9925
9926	if ( Array.isArray( obj ) ) {
9927
9928		// Serialize array item.
9929		jQuery.each( obj, function( i, v ) {
9930			if ( traditional || rbracket.test( prefix ) ) {
9931
9932				// Treat each array item as a scalar.
9933				add( prefix, v );
9934
9935			} else {
9936
9937				// Item is non-scalar (array or object), encode its numeric index.
9938				buildParams(
9939					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
9940					v,
9941					traditional,
9942					add
9943				);
9944			}
9945		} );
9946
9947	} else if ( !traditional && toType( obj ) === "object" ) {
9948
9949		// Serialize object item.
9950		for ( name in obj ) {
9951			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
9952		}
9953
9954	} else {
9955
9956		// Serialize scalar item.
9957		add( prefix, obj );
9958	}
9959}
9960
9961// Serialize an array of form elements or a set of
9962// key/values into a query string
9963jQuery.param = function( a, traditional ) {
9964	var prefix,
9965		s = [],
9966		add = function( key, valueOrFunction ) {
9967
9968			// If value is a function, invoke it and use its return value
9969			var value = isFunction( valueOrFunction ) ?
9970				valueOrFunction() :
9971				valueOrFunction;
9972
9973			s[ s.length ] = encodeURIComponent( key ) + "=" +
9974				encodeURIComponent( value == null ? "" : value );
9975		};
9976
9977	if ( a == null ) {
9978		return "";
9979	}
9980
9981	// If an array was passed in, assume that it is an array of form elements.
9982	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
9983
9984		// Serialize the form elements
9985		jQuery.each( a, function() {
9986			add( this.name, this.value );
9987		} );
9988
9989	} else {
9990
9991		// If traditional, encode the "old" way (the way 1.3.2 or older
9992		// did it), otherwise encode params recursively.
9993		for ( prefix in a ) {
9994			buildParams( prefix, a[ prefix ], traditional, add );
9995		}
9996	}
9997
9998	// Return the resulting serialization
9999	return s.join( "&" );
10000};
10001
10002jQuery.fn.extend( {
10003	serialize: function() {
10004		return jQuery.param( this.serializeArray() );
10005	},
10006	serializeArray: function() {
10007		return this.map( function() {
10008
10009			// Can add propHook for "elements" to filter or add form elements
10010			var elements = jQuery.prop( this, "elements" );
10011			return elements ? jQuery.makeArray( elements ) : this;
10012		} ).filter( function() {
10013			var type = this.type;
10014
10015			// Use .is( ":disabled" ) so that fieldset[disabled] works
10016			return this.name && !jQuery( this ).is( ":disabled" ) &&
10017				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
10018				( this.checked || !rcheckableType.test( type ) );
10019		} ).map( function( _i, elem ) {
10020			var val = jQuery( this ).val();
10021
10022			if ( val == null ) {
10023				return null;
10024			}
10025
10026			if ( Array.isArray( val ) ) {
10027				return jQuery.map( val, function( val ) {
10028					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
10029				} );
10030			}
10031
10032			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
10033		} ).get();
10034	}
10035} );
10036
10037
10038var
10039	r20 = /%20/g,
10040	rhash = /#.*$/,
10041	rantiCache = /([?&])_=[^&]*/,
10042	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
10043
10044	// #7653, #8125, #8152: local protocol detection
10045	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
10046	rnoContent = /^(?:GET|HEAD)$/,
10047	rprotocol = /^\/\//,
10048
10049	/* Prefilters
10050	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
10051	 * 2) These are called:
10052	 *    - BEFORE asking for a transport
10053	 *    - AFTER param serialization (s.data is a string if s.processData is true)
10054	 * 3) key is the dataType
10055	 * 4) the catchall symbol "*" can be used
10056	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
10057	 */
10058	prefilters = {},
10059
10060	/* Transports bindings
10061	 * 1) key is the dataType
10062	 * 2) the catchall symbol "*" can be used
10063	 * 3) selection will start with transport dataType and THEN go to "*" if needed
10064	 */
10065	transports = {},
10066
10067	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
10068	allTypes = "*/".concat( "*" ),
10069
10070	// Anchor tag for parsing the document origin
10071	originAnchor = document.createElement( "a" );
10072
10073originAnchor.href = location.href;
10074
10075// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
10076function addToPrefiltersOrTransports( structure ) {
10077
10078	// dataTypeExpression is optional and defaults to "*"
10079	return function( dataTypeExpression, func ) {
10080
10081		if ( typeof dataTypeExpression !== "string" ) {
10082			func = dataTypeExpression;
10083			dataTypeExpression = "*";
10084		}
10085
10086		var dataType,
10087			i = 0,
10088			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
10089
10090		if ( isFunction( func ) ) {
10091
10092			// For each dataType in the dataTypeExpression
10093			while ( ( dataType = dataTypes[ i++ ] ) ) {
10094
10095				// Prepend if requested
10096				if ( dataType[ 0 ] === "+" ) {
10097					dataType = dataType.slice( 1 ) || "*";
10098					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
10099
10100				// Otherwise append
10101				} else {
10102					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
10103				}
10104			}
10105		}
10106	};
10107}
10108
10109// Base inspection function for prefilters and transports
10110function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
10111
10112	var inspected = {},
10113		seekingTransport = ( structure === transports );
10114
10115	function inspect( dataType ) {
10116		var selected;
10117		inspected[ dataType ] = true;
10118		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
10119			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
10120			if ( typeof dataTypeOrTransport === "string" &&
10121				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
10122
10123				options.dataTypes.unshift( dataTypeOrTransport );
10124				inspect( dataTypeOrTransport );
10125				return false;
10126			} else if ( seekingTransport ) {
10127				return !( selected = dataTypeOrTransport );
10128			}
10129		} );
10130		return selected;
10131	}
10132
10133	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
10134}
10135
10136// A special extend for ajax options
10137// that takes "flat" options (not to be deep extended)
10138// Fixes #9887
10139function ajaxExtend( target, src ) {
10140	var key, deep,
10141		flatOptions = jQuery.ajaxSettings.flatOptions || {};
10142
10143	for ( key in src ) {
10144		if ( src[ key ] !== undefined ) {
10145			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
10146		}
10147	}
10148	if ( deep ) {
10149		jQuery.extend( true, target, deep );
10150	}
10151
10152	return target;
10153}
10154
10155/* Handles responses to an ajax request:
10156 * - finds the right dataType (mediates between content-type and expected dataType)
10157 * - returns the corresponding response
10158 */
10159function ajaxHandleResponses( s, jqXHR, responses ) {
10160
10161	var ct, type, finalDataType, firstDataType,
10162		contents = s.contents,
10163		dataTypes = s.dataTypes;
10164
10165	// Remove auto dataType and get content-type in the process
10166	while ( dataTypes[ 0 ] === "*" ) {
10167		dataTypes.shift();
10168		if ( ct === undefined ) {
10169			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
10170		}
10171	}
10172
10173	// Check if we're dealing with a known content-type
10174	if ( ct ) {
10175		for ( type in contents ) {
10176			if ( contents[ type ] && contents[ type ].test( ct ) ) {
10177				dataTypes.unshift( type );
10178				break;
10179			}
10180		}
10181	}
10182
10183	// Check to see if we have a response for the expected dataType
10184	if ( dataTypes[ 0 ] in responses ) {
10185		finalDataType = dataTypes[ 0 ];
10186	} else {
10187
10188		// Try convertible dataTypes
10189		for ( type in responses ) {
10190			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
10191				finalDataType = type;
10192				break;
10193			}
10194			if ( !firstDataType ) {
10195				firstDataType = type;
10196			}
10197		}
10198
10199		// Or just use first one
10200		finalDataType = finalDataType || firstDataType;
10201	}
10202
10203	// If we found a dataType
10204	// We add the dataType to the list if needed
10205	// and return the corresponding response
10206	if ( finalDataType ) {
10207		if ( finalDataType !== dataTypes[ 0 ] ) {
10208			dataTypes.unshift( finalDataType );
10209		}
10210		return responses[ finalDataType ];
10211	}
10212}
10213
10214/* Chain conversions given the request and the original response
10215 * Also sets the responseXXX fields on the jqXHR instance
10216 */
10217function ajaxConvert( s, response, jqXHR, isSuccess ) {
10218	var conv2, current, conv, tmp, prev,
10219		converters = {},
10220
10221		// Work with a copy of dataTypes in case we need to modify it for conversion
10222		dataTypes = s.dataTypes.slice();
10223
10224	// Create converters map with lowercased keys
10225	if ( dataTypes[ 1 ] ) {
10226		for ( conv in s.converters ) {
10227			converters[ conv.toLowerCase() ] = s.converters[ conv ];
10228		}
10229	}
10230
10231	current = dataTypes.shift();
10232
10233	// Convert to each sequential dataType
10234	while ( current ) {
10235
10236		if ( s.responseFields[ current ] ) {
10237			jqXHR[ s.responseFields[ current ] ] = response;
10238		}
10239
10240		// Apply the dataFilter if provided
10241		if ( !prev && isSuccess && s.dataFilter ) {
10242			response = s.dataFilter( response, s.dataType );
10243		}
10244
10245		prev = current;
10246		current = dataTypes.shift();
10247
10248		if ( current ) {
10249
10250			// There's only work to do if current dataType is non-auto
10251			if ( current === "*" ) {
10252
10253				current = prev;
10254
10255			// Convert response if prev dataType is non-auto and differs from current
10256			} else if ( prev !== "*" && prev !== current ) {
10257
10258				// Seek a direct converter
10259				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
10260
10261				// If none found, seek a pair
10262				if ( !conv ) {
10263					for ( conv2 in converters ) {
10264
10265						// If conv2 outputs current
10266						tmp = conv2.split( " " );
10267						if ( tmp[ 1 ] === current ) {
10268
10269							// If prev can be converted to accepted input
10270							conv = converters[ prev + " " + tmp[ 0 ] ] ||
10271								converters[ "* " + tmp[ 0 ] ];
10272							if ( conv ) {
10273
10274								// Condense equivalence converters
10275								if ( conv === true ) {
10276									conv = converters[ conv2 ];
10277
10278								// Otherwise, insert the intermediate dataType
10279								} else if ( converters[ conv2 ] !== true ) {
10280									current = tmp[ 0 ];
10281									dataTypes.unshift( tmp[ 1 ] );
10282								}
10283								break;
10284							}
10285						}
10286					}
10287				}
10288
10289				// Apply converter (if not an equivalence)
10290				if ( conv !== true ) {
10291
10292					// Unless errors are allowed to bubble, catch and return them
10293					if ( conv && s.throws ) {
10294						response = conv( response );
10295					} else {
10296						try {
10297							response = conv( response );
10298						} catch ( e ) {
10299							return {
10300								state: "parsererror",
10301								error: conv ? e : "No conversion from " + prev + " to " + current
10302							};
10303						}
10304					}
10305				}
10306			}
10307		}
10308	}
10309
10310	return { state: "success", data: response };
10311}
10312
10313jQuery.extend( {
10314
10315	// Counter for holding the number of active queries
10316	active: 0,
10317
10318	// Last-Modified header cache for next request
10319	lastModified: {},
10320	etag: {},
10321
10322	ajaxSettings: {
10323		url: location.href,
10324		type: "GET",
10325		isLocal: rlocalProtocol.test( location.protocol ),
10326		global: true,
10327		processData: true,
10328		async: true,
10329		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
10330
10331		/*
10332		timeout: 0,
10333		data: null,
10334		dataType: null,
10335		username: null,
10336		password: null,
10337		cache: null,
10338		throws: false,
10339		traditional: false,
10340		headers: {},
10341		*/
10342
10343		accepts: {
10344			"*": allTypes,
10345			text: "text/plain",
10346			html: "text/html",
10347			xml: "application/xml, text/xml",
10348			json: "application/json, text/javascript"
10349		},
10350
10351		contents: {
10352			xml: /\bxml\b/,
10353			html: /\bhtml/,
10354			json: /\bjson\b/
10355		},
10356
10357		responseFields: {
10358			xml: "responseXML",
10359			text: "responseText",
10360			json: "responseJSON"
10361		},
10362
10363		// Data converters
10364		// Keys separate source (or catchall "*") and destination types with a single space
10365		converters: {
10366
10367			// Convert anything to text
10368			"* text": String,
10369
10370			// Text to html (true = no transformation)
10371			"text html": true,
10372
10373			// Evaluate text as a json expression
10374			"text json": JSON.parse,
10375
10376			// Parse text as xml
10377			"text xml": jQuery.parseXML
10378		},
10379
10380		// For options that shouldn't be deep extended:
10381		// you can add your own custom options here if
10382		// and when you create one that shouldn't be
10383		// deep extended (see ajaxExtend)
10384		flatOptions: {
10385			url: true,
10386			context: true
10387		}
10388	},
10389
10390	// Creates a full fledged settings object into target
10391	// with both ajaxSettings and settings fields.
10392	// If target is omitted, writes into ajaxSettings.
10393	ajaxSetup: function( target, settings ) {
10394		return settings ?
10395
10396			// Building a settings object
10397			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
10398
10399			// Extending ajaxSettings
10400			ajaxExtend( jQuery.ajaxSettings, target );
10401	},
10402
10403	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
10404	ajaxTransport: addToPrefiltersOrTransports( transports ),
10405
10406	// Main method
10407	ajax: function( url, options ) {
10408
10409		// If url is an object, simulate pre-1.5 signature
10410		if ( typeof url === "object" ) {
10411			options = url;
10412			url = undefined;
10413		}
10414
10415		// Force options to be an object
10416		options = options || {};
10417
10418		var transport,
10419
10420			// URL without anti-cache param
10421			cacheURL,
10422
10423			// Response headers
10424			responseHeadersString,
10425			responseHeaders,
10426
10427			// timeout handle
10428			timeoutTimer,
10429
10430			// Url cleanup var
10431			urlAnchor,
10432
10433			// Request state (becomes false upon send and true upon completion)
10434			completed,
10435
10436			// To know if global events are to be dispatched
10437			fireGlobals,
10438
10439			// Loop variable
10440			i,
10441
10442			// uncached part of the url
10443			uncached,
10444
10445			// Create the final options object
10446			s = jQuery.ajaxSetup( {}, options ),
10447
10448			// Callbacks context
10449			callbackContext = s.context || s,
10450
10451			// Context for global events is callbackContext if it is a DOM node or jQuery collection
10452			globalEventContext = s.context &&
10453				( callbackContext.nodeType || callbackContext.jquery ) ?
10454				jQuery( callbackContext ) :
10455				jQuery.event,
10456
10457			// Deferreds
10458			deferred = jQuery.Deferred(),
10459			completeDeferred = jQuery.Callbacks( "once memory" ),
10460
10461			// Status-dependent callbacks
10462			statusCode = s.statusCode || {},
10463
10464			// Headers (they are sent all at once)
10465			requestHeaders = {},
10466			requestHeadersNames = {},
10467
10468			// Default abort message
10469			strAbort = "canceled",
10470
10471			// Fake xhr
10472			jqXHR = {
10473				readyState: 0,
10474
10475				// Builds headers hashtable if needed
10476				getResponseHeader: function( key ) {
10477					var match;
10478					if ( completed ) {
10479						if ( !responseHeaders ) {
10480							responseHeaders = {};
10481							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
10482								responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
10483									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
10484										.concat( match[ 2 ] );
10485							}
10486						}
10487						match = responseHeaders[ key.toLowerCase() + " " ];
10488					}
10489					return match == null ? null : match.join( ", " );
10490				},
10491
10492				// Raw string
10493				getAllResponseHeaders: function() {
10494					return completed ? responseHeadersString : null;
10495				},
10496
10497				// Caches the header
10498				setRequestHeader: function( name, value ) {
10499					if ( completed == null ) {
10500						name = requestHeadersNames[ name.toLowerCase() ] =
10501							requestHeadersNames[ name.toLowerCase() ] || name;
10502						requestHeaders[ name ] = value;
10503					}
10504					return this;
10505				},
10506
10507				// Overrides response content-type header
10508				overrideMimeType: function( type ) {
10509					if ( completed == null ) {
10510						s.mimeType = type;
10511					}
10512					return this;
10513				},
10514
10515				// Status-dependent callbacks
10516				statusCode: function( map ) {
10517					var code;
10518					if ( map ) {
10519						if ( completed ) {
10520
10521							// Execute the appropriate callbacks
10522							jqXHR.always( map[ jqXHR.status ] );
10523						} else {
10524
10525							// Lazy-add the new callbacks in a way that preserves old ones
10526							for ( code in map ) {
10527								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
10528							}
10529						}
10530					}
10531					return this;
10532				},
10533
10534				// Cancel the request
10535				abort: function( statusText ) {
10536					var finalText = statusText || strAbort;
10537					if ( transport ) {
10538						transport.abort( finalText );
10539					}
10540					done( 0, finalText );
10541					return this;
10542				}
10543			};
10544
10545		// Attach deferreds
10546		deferred.promise( jqXHR );
10547
10548		// Add protocol if not provided (prefilters might expect it)
10549		// Handle falsy url in the settings object (#10093: consistency with old signature)
10550		// We also use the url parameter if available
10551		s.url = ( ( url || s.url || location.href ) + "" )
10552			.replace( rprotocol, location.protocol + "//" );
10553
10554		// Alias method option to type as per ticket #12004
10555		s.type = options.method || options.type || s.method || s.type;
10556
10557		// Extract dataTypes list
10558		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
10559
10560		// A cross-domain request is in order when the origin doesn't match the current origin.
10561		if ( s.crossDomain == null ) {
10562			urlAnchor = document.createElement( "a" );
10563
10564			// Support: IE <=8 - 11, Edge 12 - 15
10565			// IE throws exception on accessing the href property if url is malformed,
10566			// e.g. http://example.com:80x/
10567			try {
10568				urlAnchor.href = s.url;
10569
10570				// Support: IE <=8 - 11 only
10571				// Anchor's host property isn't correctly set when s.url is relative
10572				urlAnchor.href = urlAnchor.href;
10573				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
10574					urlAnchor.protocol + "//" + urlAnchor.host;
10575			} catch ( e ) {
10576
10577				// If there is an error parsing the URL, assume it is crossDomain,
10578				// it can be rejected by the transport if it is invalid
10579				s.crossDomain = true;
10580			}
10581		}
10582
10583		// Convert data if not already a string
10584		if ( s.data && s.processData && typeof s.data !== "string" ) {
10585			s.data = jQuery.param( s.data, s.traditional );
10586		}
10587
10588		// Apply prefilters
10589		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
10590
10591		// If request was aborted inside a prefilter, stop there
10592		if ( completed ) {
10593			return jqXHR;
10594		}
10595
10596		// We can fire global events as of now if asked to
10597		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
10598		fireGlobals = jQuery.event && s.global;
10599
10600		// Watch for a new set of requests
10601		if ( fireGlobals && jQuery.active++ === 0 ) {
10602			jQuery.event.trigger( "ajaxStart" );
10603		}
10604
10605		// Uppercase the type
10606		s.type = s.type.toUpperCase();
10607
10608		// Determine if request has content
10609		s.hasContent = !rnoContent.test( s.type );
10610
10611		// Save the URL in case we're toying with the If-Modified-Since
10612		// and/or If-None-Match header later on
10613		// Remove hash to simplify url manipulation
10614		cacheURL = s.url.replace( rhash, "" );
10615
10616		// More options handling for requests with no content
10617		if ( !s.hasContent ) {
10618
10619			// Remember the hash so we can put it back
10620			uncached = s.url.slice( cacheURL.length );
10621
10622			// If data is available and should be processed, append data to url
10623			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
10624				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
10625
10626				// #9682: remove data so that it's not used in an eventual retry
10627				delete s.data;
10628			}
10629
10630			// Add or update anti-cache param if needed
10631			if ( s.cache === false ) {
10632				cacheURL = cacheURL.replace( rantiCache, "$1" );
10633				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
10634					uncached;
10635			}
10636
10637			// Put hash and anti-cache on the URL that will be requested (gh-1732)
10638			s.url = cacheURL + uncached;
10639
10640		// Change '%20' to '+' if this is encoded form body content (gh-2658)
10641		} else if ( s.data && s.processData &&
10642			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
10643			s.data = s.data.replace( r20, "+" );
10644		}
10645
10646		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
10647		if ( s.ifModified ) {
10648			if ( jQuery.lastModified[ cacheURL ] ) {
10649				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
10650			}
10651			if ( jQuery.etag[ cacheURL ] ) {
10652				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
10653			}
10654		}
10655
10656		// Set the correct header, if data is being sent
10657		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
10658			jqXHR.setRequestHeader( "Content-Type", s.contentType );
10659		}
10660
10661		// Set the Accepts header for the server, depending on the dataType
10662		jqXHR.setRequestHeader(
10663			"Accept",
10664			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
10665				s.accepts[ s.dataTypes[ 0 ] ] +
10666					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
10667				s.accepts[ "*" ]
10668		);
10669
10670		// Check for headers option
10671		for ( i in s.headers ) {
10672			jqXHR.setRequestHeader( i, s.headers[ i ] );
10673		}
10674
10675		// Allow custom headers/mimetypes and early abort
10676		if ( s.beforeSend &&
10677			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
10678
10679			// Abort if not done already and return
10680			return jqXHR.abort();
10681		}
10682
10683		// Aborting is no longer a cancellation
10684		strAbort = "abort";
10685
10686		// Install callbacks on deferreds
10687		completeDeferred.add( s.complete );
10688		jqXHR.done( s.success );
10689		jqXHR.fail( s.error );
10690
10691		// Get transport
10692		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
10693
10694		// If no transport, we auto-abort
10695		if ( !transport ) {
10696			done( -1, "No Transport" );
10697		} else {
10698			jqXHR.readyState = 1;
10699
10700			// Send global event
10701			if ( fireGlobals ) {
10702				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
10703			}
10704
10705			// If request was aborted inside ajaxSend, stop there
10706			if ( completed ) {
10707				return jqXHR;
10708			}
10709
10710			// Timeout
10711			if ( s.async && s.timeout > 0 ) {
10712				timeoutTimer = window.setTimeout( function() {
10713					jqXHR.abort( "timeout" );
10714				}, s.timeout );
10715			}
10716
10717			try {
10718				completed = false;
10719				transport.send( requestHeaders, done );
10720			} catch ( e ) {
10721
10722				// Rethrow post-completion exceptions
10723				if ( completed ) {
10724					throw e;
10725				}
10726
10727				// Propagate others as results
10728				done( -1, e );
10729			}
10730		}
10731
10732		// Callback for when everything is done
10733		function done( status, nativeStatusText, responses, headers ) {
10734			var isSuccess, success, error, response, modified,
10735				statusText = nativeStatusText;
10736
10737			// Ignore repeat invocations
10738			if ( completed ) {
10739				return;
10740			}
10741
10742			completed = true;
10743
10744			// Clear timeout if it exists
10745			if ( timeoutTimer ) {
10746				window.clearTimeout( timeoutTimer );
10747			}
10748
10749			// Dereference transport for early garbage collection
10750			// (no matter how long the jqXHR object will be used)
10751			transport = undefined;
10752
10753			// Cache response headers
10754			responseHeadersString = headers || "";
10755
10756			// Set readyState
10757			jqXHR.readyState = status > 0 ? 4 : 0;
10758
10759			// Determine if successful
10760			isSuccess = status >= 200 && status < 300 || status === 304;
10761
10762			// Get response data
10763			if ( responses ) {
10764				response = ajaxHandleResponses( s, jqXHR, responses );
10765			}
10766
10767			// Use a noop converter for missing script but not if jsonp
10768			if ( !isSuccess &&
10769				jQuery.inArray( "script", s.dataTypes ) > -1 &&
10770				jQuery.inArray( "json", s.dataTypes ) < 0 ) {
10771				s.converters[ "text script" ] = function() {};
10772			}
10773
10774			// Convert no matter what (that way responseXXX fields are always set)
10775			response = ajaxConvert( s, response, jqXHR, isSuccess );
10776
10777			// If successful, handle type chaining
10778			if ( isSuccess ) {
10779
10780				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
10781				if ( s.ifModified ) {
10782					modified = jqXHR.getResponseHeader( "Last-Modified" );
10783					if ( modified ) {
10784						jQuery.lastModified[ cacheURL ] = modified;
10785					}
10786					modified = jqXHR.getResponseHeader( "etag" );
10787					if ( modified ) {
10788						jQuery.etag[ cacheURL ] = modified;
10789					}
10790				}
10791
10792				// if no content
10793				if ( status === 204 || s.type === "HEAD" ) {
10794					statusText = "nocontent";
10795
10796				// if not modified
10797				} else if ( status === 304 ) {
10798					statusText = "notmodified";
10799
10800				// If we have data, let's convert it
10801				} else {
10802					statusText = response.state;
10803					success = response.data;
10804					error = response.error;
10805					isSuccess = !error;
10806				}
10807			} else {
10808
10809				// Extract error from statusText and normalize for non-aborts
10810				error = statusText;
10811				if ( status || !statusText ) {
10812					statusText = "error";
10813					if ( status < 0 ) {
10814						status = 0;
10815					}
10816				}
10817			}
10818
10819			// Set data for the fake xhr object
10820			jqXHR.status = status;
10821			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
10822
10823			// Success/Error
10824			if ( isSuccess ) {
10825				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
10826			} else {
10827				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
10828			}
10829
10830			// Status-dependent callbacks
10831			jqXHR.statusCode( statusCode );
10832			statusCode = undefined;
10833
10834			if ( fireGlobals ) {
10835				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
10836					[ jqXHR, s, isSuccess ? success : error ] );
10837			}
10838
10839			// Complete
10840			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
10841
10842			if ( fireGlobals ) {
10843				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
10844
10845				// Handle the global AJAX counter
10846				if ( !( --jQuery.active ) ) {
10847					jQuery.event.trigger( "ajaxStop" );
10848				}
10849			}
10850		}
10851
10852		return jqXHR;
10853	},
10854
10855	getJSON: function( url, data, callback ) {
10856		return jQuery.get( url, data, callback, "json" );
10857	},
10858
10859	getScript: function( url, callback ) {
10860		return jQuery.get( url, undefined, callback, "script" );
10861	}
10862} );
10863
10864jQuery.each( [ "get", "post" ], function( _i, method ) {
10865	jQuery[ method ] = function( url, data, callback, type ) {
10866
10867		// Shift arguments if data argument was omitted
10868		if ( isFunction( data ) ) {
10869			type = type || callback;
10870			callback = data;
10871			data = undefined;
10872		}
10873
10874		// The url can be an options object (which then must have .url)
10875		return jQuery.ajax( jQuery.extend( {
10876			url: url,
10877			type: method,
10878			dataType: type,
10879			data: data,
10880			success: callback
10881		}, jQuery.isPlainObject( url ) && url ) );
10882	};
10883} );
10884
10885jQuery.ajaxPrefilter( function( s ) {
10886	var i;
10887	for ( i in s.headers ) {
10888		if ( i.toLowerCase() === "content-type" ) {
10889			s.contentType = s.headers[ i ] || "";
10890		}
10891	}
10892} );
10893
10894
10895jQuery._evalUrl = function( url, options, doc ) {
10896	return jQuery.ajax( {
10897		url: url,
10898
10899		// Make this explicit, since user can override this through ajaxSetup (#11264)
10900		type: "GET",
10901		dataType: "script",
10902		cache: true,
10903		async: false,
10904		global: false,
10905
10906		// Only evaluate the response if it is successful (gh-4126)
10907		// dataFilter is not invoked for failure responses, so using it instead
10908		// of the default converter is kludgy but it works.
10909		converters: {
10910			"text script": function() {}
10911		},
10912		dataFilter: function( response ) {
10913			jQuery.globalEval( response, options, doc );
10914		}
10915	} );
10916};
10917
10918
10919jQuery.fn.extend( {
10920	wrapAll: function( html ) {
10921		var wrap;
10922
10923		if ( this[ 0 ] ) {
10924			if ( isFunction( html ) ) {
10925				html = html.call( this[ 0 ] );
10926			}
10927
10928			// The elements to wrap the target around
10929			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
10930
10931			if ( this[ 0 ].parentNode ) {
10932				wrap.insertBefore( this[ 0 ] );
10933			}
10934
10935			wrap.map( function() {
10936				var elem = this;
10937
10938				while ( elem.firstElementChild ) {
10939					elem = elem.firstElementChild;
10940				}
10941
10942				return elem;
10943			} ).append( this );
10944		}
10945
10946		return this;
10947	},
10948
10949	wrapInner: function( html ) {
10950		if ( isFunction( html ) ) {
10951			return this.each( function( i ) {
10952				jQuery( this ).wrapInner( html.call( this, i ) );
10953			} );
10954		}
10955
10956		return this.each( function() {
10957			var self = jQuery( this ),
10958				contents = self.contents();
10959
10960			if ( contents.length ) {
10961				contents.wrapAll( html );
10962
10963			} else {
10964				self.append( html );
10965			}
10966		} );
10967	},
10968
10969	wrap: function( html ) {
10970		var htmlIsFunction = isFunction( html );
10971
10972		return this.each( function( i ) {
10973			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
10974		} );
10975	},
10976
10977	unwrap: function( selector ) {
10978		this.parent( selector ).not( "body" ).each( function() {
10979			jQuery( this ).replaceWith( this.childNodes );
10980		} );
10981		return this;
10982	}
10983} );
10984
10985
10986jQuery.expr.pseudos.hidden = function( elem ) {
10987	return !jQuery.expr.pseudos.visible( elem );
10988};
10989jQuery.expr.pseudos.visible = function( elem ) {
10990	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
10991};
10992
10993
10994
10995
10996jQuery.ajaxSettings.xhr = function() {
10997	try {
10998		return new window.XMLHttpRequest();
10999	} catch ( e ) {}
11000};
11001
11002var xhrSuccessStatus = {
11003
11004		// File protocol always yields status code 0, assume 200
11005		0: 200,
11006
11007		// Support: IE <=9 only
11008		// #1450: sometimes IE returns 1223 when it should be 204
11009		1223: 204
11010	},
11011	xhrSupported = jQuery.ajaxSettings.xhr();
11012
11013support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
11014support.ajax = xhrSupported = !!xhrSupported;
11015
11016jQuery.ajaxTransport( function( options ) {
11017	var callback, errorCallback;
11018
11019	// Cross domain only allowed if supported through XMLHttpRequest
11020	if ( support.cors || xhrSupported && !options.crossDomain ) {
11021		return {
11022			send: function( headers, complete ) {
11023				var i,
11024					xhr = options.xhr();
11025
11026				xhr.open(
11027					options.type,
11028					options.url,
11029					options.async,
11030					options.username,
11031					options.password
11032				);
11033
11034				// Apply custom fields if provided
11035				if ( options.xhrFields ) {
11036					for ( i in options.xhrFields ) {
11037						xhr[ i ] = options.xhrFields[ i ];
11038					}
11039				}
11040
11041				// Override mime type if needed
11042				if ( options.mimeType && xhr.overrideMimeType ) {
11043					xhr.overrideMimeType( options.mimeType );
11044				}
11045
11046				// X-Requested-With header
11047				// For cross-domain requests, seeing as conditions for a preflight are
11048				// akin to a jigsaw puzzle, we simply never set it to be sure.
11049				// (it can always be set on a per-request basis or even using ajaxSetup)
11050				// For same-domain requests, won't change header if already provided.
11051				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
11052					headers[ "X-Requested-With" ] = "XMLHttpRequest";
11053				}
11054
11055				// Set headers
11056				for ( i in headers ) {
11057					xhr.setRequestHeader( i, headers[ i ] );
11058				}
11059
11060				// Callback
11061				callback = function( type ) {
11062					return function() {
11063						if ( callback ) {
11064							callback = errorCallback = xhr.onload =
11065								xhr.onerror = xhr.onabort = xhr.ontimeout =
11066									xhr.onreadystatechange = null;
11067
11068							if ( type === "abort" ) {
11069								xhr.abort();
11070							} else if ( type === "error" ) {
11071
11072								// Support: IE <=9 only
11073								// On a manual native abort, IE9 throws
11074								// errors on any property access that is not readyState
11075								if ( typeof xhr.status !== "number" ) {
11076									complete( 0, "error" );
11077								} else {
11078									complete(
11079
11080										// File: protocol always yields status 0; see #8605, #14207
11081										xhr.status,
11082										xhr.statusText
11083									);
11084								}
11085							} else {
11086								complete(
11087									xhrSuccessStatus[ xhr.status ] || xhr.status,
11088									xhr.statusText,
11089
11090									// Support: IE <=9 only
11091									// IE9 has no XHR2 but throws on binary (trac-11426)
11092									// For XHR2 non-text, let the caller handle it (gh-2498)
11093									( xhr.responseType || "text" ) !== "text"  ||
11094									typeof xhr.responseText !== "string" ?
11095										{ binary: xhr.response } :
11096										{ text: xhr.responseText },
11097									xhr.getAllResponseHeaders()
11098								);
11099							}
11100						}
11101					};
11102				};
11103
11104				// Listen to events
11105				xhr.onload = callback();
11106				errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
11107
11108				// Support: IE 9 only
11109				// Use onreadystatechange to replace onabort
11110				// to handle uncaught aborts
11111				if ( xhr.onabort !== undefined ) {
11112					xhr.onabort = errorCallback;
11113				} else {
11114					xhr.onreadystatechange = function() {
11115
11116						// Check readyState before timeout as it changes
11117						if ( xhr.readyState === 4 ) {
11118
11119							// Allow onerror to be called first,
11120							// but that will not handle a native abort
11121							// Also, save errorCallback to a variable
11122							// as xhr.onerror cannot be accessed
11123							window.setTimeout( function() {
11124								if ( callback ) {
11125									errorCallback();
11126								}
11127							} );
11128						}
11129					};
11130				}
11131
11132				// Create the abort callback
11133				callback = callback( "abort" );
11134
11135				try {
11136
11137					// Do send the request (this may raise an exception)
11138					xhr.send( options.hasContent && options.data || null );
11139				} catch ( e ) {
11140
11141					// #14683: Only rethrow if this hasn't been notified as an error yet
11142					if ( callback ) {
11143						throw e;
11144					}
11145				}
11146			},
11147
11148			abort: function() {
11149				if ( callback ) {
11150					callback();
11151				}
11152			}
11153		};
11154	}
11155} );
11156
11157
11158
11159
11160// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
11161jQuery.ajaxPrefilter( function( s ) {
11162	if ( s.crossDomain ) {
11163		s.contents.script = false;
11164	}
11165} );
11166
11167// Install script dataType
11168jQuery.ajaxSetup( {
11169	accepts: {
11170		script: "text/javascript, application/javascript, " +
11171			"application/ecmascript, application/x-ecmascript"
11172	},
11173	contents: {
11174		script: /\b(?:java|ecma)script\b/
11175	},
11176	converters: {
11177		"text script": function( text ) {
11178			jQuery.globalEval( text );
11179			return text;
11180		}
11181	}
11182} );
11183
11184// Handle cache's special case and crossDomain
11185jQuery.ajaxPrefilter( "script", function( s ) {
11186	if ( s.cache === undefined ) {
11187		s.cache = false;
11188	}
11189	if ( s.crossDomain ) {
11190		s.type = "GET";
11191	}
11192} );
11193
11194// Bind script tag hack transport
11195jQuery.ajaxTransport( "script", function( s ) {
11196
11197	// This transport only deals with cross domain or forced-by-attrs requests
11198	if ( s.crossDomain || s.scriptAttrs ) {
11199		var script, callback;
11200		return {
11201			send: function( _, complete ) {
11202				script = jQuery( "<script>" )
11203					.attr( s.scriptAttrs || {} )
11204					.prop( { charset: s.scriptCharset, src: s.url } )
11205					.on( "load error", callback = function( evt ) {
11206						script.remove();
11207						callback = null;
11208						if ( evt ) {
11209							complete( evt.type === "error" ? 404 : 200, evt.type );
11210						}
11211					} );
11212
11213				// Use native DOM manipulation to avoid our domManip AJAX trickery
11214				document.head.appendChild( script[ 0 ] );
11215			},
11216			abort: function() {
11217				if ( callback ) {
11218					callback();
11219				}
11220			}
11221		};
11222	}
11223} );
11224
11225
11226
11227
11228var oldCallbacks = [],
11229	rjsonp = /(=)\?(?=&|$)|\?\?/;
11230
11231// Default jsonp settings
11232jQuery.ajaxSetup( {
11233	jsonp: "callback",
11234	jsonpCallback: function() {
11235		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
11236		this[ callback ] = true;
11237		return callback;
11238	}
11239} );
11240
11241// Detect, normalize options and install callbacks for jsonp requests
11242jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
11243
11244	var callbackName, overwritten, responseContainer,
11245		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
11246			"url" :
11247			typeof s.data === "string" &&
11248				( s.contentType || "" )
11249					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
11250				rjsonp.test( s.data ) && "data"
11251		);
11252
11253	// Handle iff the expected data type is "jsonp" or we have a parameter to set
11254	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
11255
11256		// Get callback name, remembering preexisting value associated with it
11257		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
11258			s.jsonpCallback() :
11259			s.jsonpCallback;
11260
11261		// Insert callback into url or form data
11262		if ( jsonProp ) {
11263			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
11264		} else if ( s.jsonp !== false ) {
11265			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
11266		}
11267
11268		// Use data converter to retrieve json after script execution
11269		s.converters[ "script json" ] = function() {
11270			if ( !responseContainer ) {
11271				jQuery.error( callbackName + " was not called" );
11272			}
11273			return responseContainer[ 0 ];
11274		};
11275
11276		// Force json dataType
11277		s.dataTypes[ 0 ] = "json";
11278
11279		// Install callback
11280		overwritten = window[ callbackName ];
11281		window[ callbackName ] = function() {
11282			responseContainer = arguments;
11283		};
11284
11285		// Clean-up function (fires after converters)
11286		jqXHR.always( function() {
11287
11288			// If previous value didn't exist - remove it
11289			if ( overwritten === undefined ) {
11290				jQuery( window ).removeProp( callbackName );
11291
11292			// Otherwise restore preexisting value
11293			} else {
11294				window[ callbackName ] = overwritten;
11295			}
11296
11297			// Save back as free
11298			if ( s[ callbackName ] ) {
11299
11300				// Make sure that re-using the options doesn't screw things around
11301				s.jsonpCallback = originalSettings.jsonpCallback;
11302
11303				// Save the callback name for future use
11304				oldCallbacks.push( callbackName );
11305			}
11306
11307			// Call if it was a function and we have a response
11308			if ( responseContainer && isFunction( overwritten ) ) {
11309				overwritten( responseContainer[ 0 ] );
11310			}
11311
11312			responseContainer = overwritten = undefined;
11313		} );
11314
11315		// Delegate to script
11316		return "script";
11317	}
11318} );
11319
11320
11321
11322
11323// Support: Safari 8 only
11324// In Safari 8 documents created via document.implementation.createHTMLDocument
11325// collapse sibling forms: the second one becomes a child of the first one.
11326// Because of that, this security measure has to be disabled in Safari 8.
11327// https://bugs.webkit.org/show_bug.cgi?id=137337
11328support.createHTMLDocument = ( function() {
11329	var body = document.implementation.createHTMLDocument( "" ).body;
11330	body.innerHTML = "<form></form><form></form>";
11331	return body.childNodes.length === 2;
11332} )();
11333
11334
11335// Argument "data" should be string of html
11336// context (optional): If specified, the fragment will be created in this context,
11337// defaults to document
11338// keepScripts (optional): If true, will include scripts passed in the html string
11339jQuery.parseHTML = function( data, context, keepScripts ) {
11340	if ( typeof data !== "string" ) {
11341		return [];
11342	}
11343	if ( typeof context === "boolean" ) {
11344		keepScripts = context;
11345		context = false;
11346	}
11347
11348	var base, parsed, scripts;
11349
11350	if ( !context ) {
11351
11352		// Stop scripts or inline event handlers from being executed immediately
11353		// by using document.implementation
11354		if ( support.createHTMLDocument ) {
11355			context = document.implementation.createHTMLDocument( "" );
11356
11357			// Set the base href for the created document
11358			// so any parsed elements with URLs
11359			// are based on the document's URL (gh-2965)
11360			base = context.createElement( "base" );
11361			base.href = document.location.href;
11362			context.head.appendChild( base );
11363		} else {
11364			context = document;
11365		}
11366	}
11367
11368	parsed = rsingleTag.exec( data );
11369	scripts = !keepScripts && [];
11370
11371	// Single tag
11372	if ( parsed ) {
11373		return [ context.createElement( parsed[ 1 ] ) ];
11374	}
11375
11376	parsed = buildFragment( [ data ], context, scripts );
11377
11378	if ( scripts && scripts.length ) {
11379		jQuery( scripts ).remove();
11380	}
11381
11382	return jQuery.merge( [], parsed.childNodes );
11383};
11384
11385
11386/**
11387 * Load a url into a page
11388 */
11389jQuery.fn.load = function( url, params, callback ) {
11390	var selector, type, response,
11391		self = this,
11392		off = url.indexOf( " " );
11393
11394	if ( off > -1 ) {
11395		selector = stripAndCollapse( url.slice( off ) );
11396		url = url.slice( 0, off );
11397	}
11398
11399	// If it's a function
11400	if ( isFunction( params ) ) {
11401
11402		// We assume that it's the callback
11403		callback = params;
11404		params = undefined;
11405
11406	// Otherwise, build a param string
11407	} else if ( params && typeof params === "object" ) {
11408		type = "POST";
11409	}
11410
11411	// If we have elements to modify, make the request
11412	if ( self.length > 0 ) {
11413		jQuery.ajax( {
11414			url: url,
11415
11416			// If "type" variable is undefined, then "GET" method will be used.
11417			// Make value of this field explicit since
11418			// user can override it through ajaxSetup method
11419			type: type || "GET",
11420			dataType: "html",
11421			data: params
11422		} ).done( function( responseText ) {
11423
11424			// Save response for use in complete callback
11425			response = arguments;
11426
11427			self.html( selector ?
11428
11429				// If a selector was specified, locate the right elements in a dummy div
11430				// Exclude scripts to avoid IE 'Permission Denied' errors
11431				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
11432
11433				// Otherwise use the full result
11434				responseText );
11435
11436		// If the request succeeds, this function gets "data", "status", "jqXHR"
11437		// but they are ignored because response was set above.
11438		// If it fails, this function gets "jqXHR", "status", "error"
11439		} ).always( callback && function( jqXHR, status ) {
11440			self.each( function() {
11441				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
11442			} );
11443		} );
11444	}
11445
11446	return this;
11447};
11448
11449
11450
11451
11452jQuery.expr.pseudos.animated = function( elem ) {
11453	return jQuery.grep( jQuery.timers, function( fn ) {
11454		return elem === fn.elem;
11455	} ).length;
11456};
11457
11458
11459
11460
11461jQuery.offset = {
11462	setOffset: function( elem, options, i ) {
11463		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
11464			position = jQuery.css( elem, "position" ),
11465			curElem = jQuery( elem ),
11466			props = {};
11467
11468		// Set position first, in-case top/left are set even on static elem
11469		if ( position === "static" ) {
11470			elem.style.position = "relative";
11471		}
11472
11473		curOffset = curElem.offset();
11474		curCSSTop = jQuery.css( elem, "top" );
11475		curCSSLeft = jQuery.css( elem, "left" );
11476		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
11477			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
11478
11479		// Need to be able to calculate position if either
11480		// top or left is auto and position is either absolute or fixed
11481		if ( calculatePosition ) {
11482			curPosition = curElem.position();
11483			curTop = curPosition.top;
11484			curLeft = curPosition.left;
11485
11486		} else {
11487			curTop = parseFloat( curCSSTop ) || 0;
11488			curLeft = parseFloat( curCSSLeft ) || 0;
11489		}
11490
11491		if ( isFunction( options ) ) {
11492
11493			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
11494			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
11495		}
11496
11497		if ( options.top != null ) {
11498			props.top = ( options.top - curOffset.top ) + curTop;
11499		}
11500		if ( options.left != null ) {
11501			props.left = ( options.left - curOffset.left ) + curLeft;
11502		}
11503
11504		if ( "using" in options ) {
11505			options.using.call( elem, props );
11506
11507		} else {
11508			curElem.css( props );
11509		}
11510	}
11511};
11512
11513jQuery.fn.extend( {
11514
11515	// offset() relates an element's border box to the document origin
11516	offset: function( options ) {
11517
11518		// Preserve chaining for setter
11519		if ( arguments.length ) {
11520			return options === undefined ?
11521				this :
11522				this.each( function( i ) {
11523					jQuery.offset.setOffset( this, options, i );
11524				} );
11525		}
11526
11527		var rect, win,
11528			elem = this[ 0 ];
11529
11530		if ( !elem ) {
11531			return;
11532		}
11533
11534		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
11535		// Support: IE <=11 only
11536		// Running getBoundingClientRect on a
11537		// disconnected node in IE throws an error
11538		if ( !elem.getClientRects().length ) {
11539			return { top: 0, left: 0 };
11540		}
11541
11542		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
11543		rect = elem.getBoundingClientRect();
11544		win = elem.ownerDocument.defaultView;
11545		return {
11546			top: rect.top + win.pageYOffset,
11547			left: rect.left + win.pageXOffset
11548		};
11549	},
11550
11551	// position() relates an element's margin box to its offset parent's padding box
11552	// This corresponds to the behavior of CSS absolute positioning
11553	position: function() {
11554		if ( !this[ 0 ] ) {
11555			return;
11556		}
11557
11558		var offsetParent, offset, doc,
11559			elem = this[ 0 ],
11560			parentOffset = { top: 0, left: 0 };
11561
11562		// position:fixed elements are offset from the viewport, which itself always has zero offset
11563		if ( jQuery.css( elem, "position" ) === "fixed" ) {
11564
11565			// Assume position:fixed implies availability of getBoundingClientRect
11566			offset = elem.getBoundingClientRect();
11567
11568		} else {
11569			offset = this.offset();
11570
11571			// Account for the *real* offset parent, which can be the document or its root element
11572			// when a statically positioned element is identified
11573			doc = elem.ownerDocument;
11574			offsetParent = elem.offsetParent || doc.documentElement;
11575			while ( offsetParent &&
11576				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
11577				jQuery.css( offsetParent, "position" ) === "static" ) {
11578
11579				offsetParent = offsetParent.parentNode;
11580			}
11581			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
11582
11583				// Incorporate borders into its offset, since they are outside its content origin
11584				parentOffset = jQuery( offsetParent ).offset();
11585				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
11586				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
11587			}
11588		}
11589
11590		// Subtract parent offsets and element margins
11591		return {
11592			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
11593			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
11594		};
11595	},
11596
11597	// This method will return documentElement in the following cases:
11598	// 1) For the element inside the iframe without offsetParent, this method will return
11599	//    documentElement of the parent window
11600	// 2) For the hidden or detached element
11601	// 3) For body or html element, i.e. in case of the html node - it will return itself
11602	//
11603	// but those exceptions were never presented as a real life use-cases
11604	// and might be considered as more preferable results.
11605	//
11606	// This logic, however, is not guaranteed and can change at any point in the future
11607	offsetParent: function() {
11608		return this.map( function() {
11609			var offsetParent = this.offsetParent;
11610
11611			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
11612				offsetParent = offsetParent.offsetParent;
11613			}
11614
11615			return offsetParent || documentElement;
11616		} );
11617	}
11618} );
11619
11620// Create scrollLeft and scrollTop methods
11621jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
11622	var top = "pageYOffset" === prop;
11623
11624	jQuery.fn[ method ] = function( val ) {
11625		return access( this, function( elem, method, val ) {
11626
11627			// Coalesce documents and windows
11628			var win;
11629			if ( isWindow( elem ) ) {
11630				win = elem;
11631			} else if ( elem.nodeType === 9 ) {
11632				win = elem.defaultView;
11633			}
11634
11635			if ( val === undefined ) {
11636				return win ? win[ prop ] : elem[ method ];
11637			}
11638
11639			if ( win ) {
11640				win.scrollTo(
11641					!top ? val : win.pageXOffset,
11642					top ? val : win.pageYOffset
11643				);
11644
11645			} else {
11646				elem[ method ] = val;
11647			}
11648		}, method, val, arguments.length );
11649	};
11650} );
11651
11652// Support: Safari <=7 - 9.1, Chrome <=37 - 49
11653// Add the top/left cssHooks using jQuery.fn.position
11654// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
11655// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
11656// getComputedStyle returns percent when specified for top/left/bottom/right;
11657// rather than make the css module depend on the offset module, just check for it here
11658jQuery.each( [ "top", "left" ], function( _i, prop ) {
11659	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
11660		function( elem, computed ) {
11661			if ( computed ) {
11662				computed = curCSS( elem, prop );
11663
11664				// If curCSS returns percentage, fallback to offset
11665				return rnumnonpx.test( computed ) ?
11666					jQuery( elem ).position()[ prop ] + "px" :
11667					computed;
11668			}
11669		}
11670	);
11671} );
11672
11673
11674// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
11675jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
11676	jQuery.each( {
11677		padding: "inner" + name,
11678		content: type,
11679		"": "outer" + name
11680	}, function( defaultExtra, funcName ) {
11681
11682		// Margin is only for outerHeight, outerWidth
11683		jQuery.fn[ funcName ] = function( margin, value ) {
11684			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
11685				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
11686
11687			return access( this, function( elem, type, value ) {
11688				var doc;
11689
11690				if ( isWindow( elem ) ) {
11691
11692					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
11693					return funcName.indexOf( "outer" ) === 0 ?
11694						elem[ "inner" + name ] :
11695						elem.document.documentElement[ "client" + name ];
11696				}
11697
11698				// Get document width or height
11699				if ( elem.nodeType === 9 ) {
11700					doc = elem.documentElement;
11701
11702					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
11703					// whichever is greatest
11704					return Math.max(
11705						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
11706						elem.body[ "offset" + name ], doc[ "offset" + name ],
11707						doc[ "client" + name ]
11708					);
11709				}
11710
11711				return value === undefined ?
11712
11713					// Get width or height on the element, requesting but not forcing parseFloat
11714					jQuery.css( elem, type, extra ) :
11715
11716					// Set width or height on the element
11717					jQuery.style( elem, type, value, extra );
11718			}, type, chainable ? margin : undefined, chainable );
11719		};
11720	} );
11721} );
11722
11723
11724jQuery.each( [
11725	"ajaxStart",
11726	"ajaxStop",
11727	"ajaxComplete",
11728	"ajaxError",
11729	"ajaxSuccess",
11730	"ajaxSend"
11731], function( _i, type ) {
11732	jQuery.fn[ type ] = function( fn ) {
11733		return this.on( type, fn );
11734	};
11735} );
11736
11737
11738
11739
11740jQuery.fn.extend( {
11741
11742	bind: function( types, data, fn ) {
11743		return this.on( types, null, data, fn );
11744	},
11745	unbind: function( types, fn ) {
11746		return this.off( types, null, fn );
11747	},
11748
11749	delegate: function( selector, types, data, fn ) {
11750		return this.on( types, selector, data, fn );
11751	},
11752	undelegate: function( selector, types, fn ) {
11753
11754		// ( namespace ) or ( selector, types [, fn] )
11755		return arguments.length === 1 ?
11756			this.off( selector, "**" ) :
11757			this.off( types, selector || "**", fn );
11758	},
11759
11760	hover: function( fnOver, fnOut ) {
11761		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
11762	}
11763} );
11764
11765jQuery.each(
11766	( "blur focus focusin focusout resize scroll click dblclick " +
11767	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
11768	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
11769	function( _i, name ) {
11770
11771		// Handle event binding
11772		jQuery.fn[ name ] = function( data, fn ) {
11773			return arguments.length > 0 ?
11774				this.on( name, null, data, fn ) :
11775				this.trigger( name );
11776		};
11777	}
11778);
11779
11780
11781
11782
11783// Support: Android <=4.0 only
11784// Make sure we trim BOM and NBSP
11785var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
11786
11787// Bind a function to a context, optionally partially applying any
11788// arguments.
11789// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
11790// However, it is not slated for removal any time soon
11791jQuery.proxy = function( fn, context ) {
11792	var tmp, args, proxy;
11793
11794	if ( typeof context === "string" ) {
11795		tmp = fn[ context ];
11796		context = fn;
11797		fn = tmp;
11798	}
11799
11800	// Quick check to determine if target is callable, in the spec
11801	// this throws a TypeError, but we will just return undefined.
11802	if ( !isFunction( fn ) ) {
11803		return undefined;
11804	}
11805
11806	// Simulated bind
11807	args = slice.call( arguments, 2 );
11808	proxy = function() {
11809		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
11810	};
11811
11812	// Set the guid of unique handler to the same of original handler, so it can be removed
11813	proxy.guid = fn.guid = fn.guid || jQuery.guid++;
11814
11815	return proxy;
11816};
11817
11818jQuery.holdReady = function( hold ) {
11819	if ( hold ) {
11820		jQuery.readyWait++;
11821	} else {
11822		jQuery.ready( true );
11823	}
11824};
11825jQuery.isArray = Array.isArray;
11826jQuery.parseJSON = JSON.parse;
11827jQuery.nodeName = nodeName;
11828jQuery.isFunction = isFunction;
11829jQuery.isWindow = isWindow;
11830jQuery.camelCase = camelCase;
11831jQuery.type = toType;
11832
11833jQuery.now = Date.now;
11834
11835jQuery.isNumeric = function( obj ) {
11836
11837	// As of jQuery 3.0, isNumeric is limited to
11838	// strings and numbers (primitives or objects)
11839	// that can be coerced to finite numbers (gh-2662)
11840	var type = jQuery.type( obj );
11841	return ( type === "number" || type === "string" ) &&
11842
11843		// parseFloat NaNs numeric-cast false positives ("")
11844		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
11845		// subtraction forces infinities to NaN
11846		!isNaN( obj - parseFloat( obj ) );
11847};
11848
11849jQuery.trim = function( text ) {
11850	return text == null ?
11851		"" :
11852		( text + "" ).replace( rtrim, "" );
11853};
11854
11855
11856
11857// Register as a named AMD module, since jQuery can be concatenated with other
11858// files that may use define, but not via a proper concatenation script that
11859// understands anonymous AMD modules. A named AMD is safest and most robust
11860// way to register. Lowercase jquery is used because AMD module names are
11861// derived from file names, and jQuery is normally delivered in a lowercase
11862// file name. Do this after creating the global so that if an AMD module wants
11863// to call noConflict to hide this version of jQuery, it will work.
11864
11865// Note that for maximum portability, libraries that are not jQuery should
11866// declare themselves as anonymous modules, and avoid setting a global if an
11867// AMD loader is present. jQuery is a special case. For more information, see
11868// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
11869
11870if ( true ) {
11871	!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {
11872		return jQuery;
11873	}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
11874				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
11875}
11876
11877
11878
11879
11880var
11881
11882	// Map over jQuery in case of overwrite
11883	_jQuery = window.jQuery,
11884
11885	// Map over the $ in case of overwrite
11886	_$ = window.$;
11887
11888jQuery.noConflict = function( deep ) {
11889	if ( window.$ === jQuery ) {
11890		window.$ = _$;
11891	}
11892
11893	if ( deep && window.jQuery === jQuery ) {
11894		window.jQuery = _jQuery;
11895	}
11896
11897	return jQuery;
11898};
11899
11900// Expose jQuery and $ identifiers, even in AMD
11901// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
11902// and CommonJS for browser emulators (#13566)
11903if ( typeof noGlobal === "undefined" ) {
11904	window.jQuery = window.$ = jQuery;
11905}
11906
11907
11908
11909
11910return jQuery;
11911} );
11912
11913
11914/***/ }),
11915
vendor: 2,408 bytes, lines 11916-12016
11916/***/ "./node_modules/object-assign/index.js":
11917/*!*********************************************!*\
11918  !*** ./node_modules/object-assign/index.js ***!
11919  \*********************************************/
11920/*! no static exports found */
11921/***/ (function(module, exports, __webpack_require__) {
11922
11923"use strict";
11924/*
11925object-assign
11926(c) Sindre Sorhus
11927@license MIT
11928*/
11929
11930/* eslint-disable no-unused-vars */
11931var getOwnPropertySymbols = Object.getOwnPropertySymbols;
11932var hasOwnProperty = Object.prototype.hasOwnProperty;
11933var propIsEnumerable = Object.prototype.propertyIsEnumerable;
11934
11935function toObject(val) {
11936	if (val === null || val === undefined) {
11937		throw new TypeError('Object.assign cannot be called with null or undefined');
11938	}
11939
11940	return Object(val);
11941}
11942
11943function shouldUseNative() {
11944	try {
11945		if (!Object.assign) {
11946			return false;
11947		}
11948
11949		// Detect buggy property enumeration order in older V8 versions.
11950
11951		// https://bugs.chromium.org/p/v8/issues/detail?id=4118
11952		var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
11953		test1[5] = 'de';
11954		if (Object.getOwnPropertyNames(test1)[0] === '5') {
11955			return false;
11956		}
11957
11958		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
11959		var test2 = {};
11960		for (var i = 0; i < 10; i++) {
11961			test2['_' + String.fromCharCode(i)] = i;
11962		}
11963		var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
11964			return test2[n];
11965		});
11966		if (order2.join('') !== '0123456789') {
11967			return false;
11968		}
11969
11970		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
11971		var test3 = {};
11972		'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
11973			test3[letter] = letter;
11974		});
11975		if (Object.keys(Object.assign({}, test3)).join('') !==
11976				'abcdefghijklmnopqrst') {
11977			return false;
11978		}
11979
11980		return true;
11981	} catch (err) {
11982		// We don't expect any of the above to throw, but better to be safe.
11983		return false;
11984	}
11985}
11986
11987module.exports = shouldUseNative() ? Object.assign : function (target, source) {
11988	var from;
11989	var to = toObject(target);
11990	var symbols;
11991
11992	for (var s = 1; s < arguments.length; s++) {
11993		from = Object(arguments[s]);
11994
11995		for (var key in from) {
11996			if (hasOwnProperty.call(from, key)) {
11997				to[key] = from[key];
11998			}
11999		}
12000
12001		if (getOwnPropertySymbols) {
12002			symbols = getOwnPropertySymbols(from);
12003			for (var i = 0; i < symbols.length; i++) {
12004				if (propIsEnumerable.call(from, symbols[i])) {
12005					to[symbols[i]] = from[symbols[i]];
12006				}
12007			}
12008		}
12009	}
12010
12011	return to;
12012};
12013
12014
12015/***/ }),
12016
vendor: 4,080 bytes, lines 12017-12130
12017/***/ "./node_modules/prop-types/checkPropTypes.js":
12018/*!***************************************************!*\
12019  !*** ./node_modules/prop-types/checkPropTypes.js ***!
12020  \***************************************************/
12021/*! no static exports found */
12022/***/ (function(module, exports, __webpack_require__) {
12023
12024"use strict";
12025/**
12026 * Copyright (c) 2013-present, Facebook, Inc.
12027 *
12028 * This source code is licensed under the MIT license found in the
12029 * LICENSE file in the root directory of this source tree.
12030 */
12031
12032
12033
12034var printWarning = function() {};
12035
12036if (true) {
12037  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
12038  var loggedTypeFailures = {};
12039  var has = Function.call.bind(Object.prototype.hasOwnProperty);
12040
12041  printWarning = function(text) {
12042    var message = 'Warning: ' + text;
12043    if (typeof console !== 'undefined') {
12044      console.error(message);
12045    }
12046    try {
12047      // --- Welcome to debugging React ---
12048      // This error was thrown as a convenience so that you can use this stack
12049      // to find the callsite that caused this warning to fire.
12050      throw new Error(message);
12051    } catch (x) {}
12052  };
12053}
12054
12055/**
12056 * Assert that the values match with the type specs.
12057 * Error messages are memorized and will only be shown once.
12058 *
12059 * @param {object} typeSpecs Map of name to a ReactPropType
12060 * @param {object} values Runtime values that need to be type-checked
12061 * @param {string} location e.g. "prop", "context", "child context"
12062 * @param {string} componentName Name of the component for error messages.
12063 * @param {?Function} getStack Returns the component stack.
12064 * @private
12065 */
12066function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
12067  if (true) {
12068    for (var typeSpecName in typeSpecs) {
12069      if (has(typeSpecs, typeSpecName)) {
12070        var error;
12071        // Prop type validation may throw. In case they do, we don't want to
12072        // fail the render phase where it didn't fail before. So we log it.
12073        // After these have been cleaned up, we'll let them throw.
12074        try {
12075          // This is intentionally an invariant that gets caught. It's the same
12076          // behavior as without this statement except with a better message.
12077          if (typeof typeSpecs[typeSpecName] !== 'function') {
12078            var err = Error(
12079              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
12080              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
12081            );
12082            err.name = 'Invariant Violation';
12083            throw err;
12084          }
12085          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
12086        } catch (ex) {
12087          error = ex;
12088        }
12089        if (error && !(error instanceof Error)) {
12090          printWarning(
12091            (componentName || 'React class') + ': type specification of ' +
12092            location + ' `' + typeSpecName + '` is invalid; the type checker ' +
12093            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
12094            'You may have forgotten to pass an argument to the type checker ' +
12095            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
12096            'shape all require an argument).'
12097          );
12098        }
12099        if (error instanceof Error && !(error.message in loggedTypeFailures)) {
12100          // Only monitor this failure once because there tends to be a lot of the
12101          // same error.
12102          loggedTypeFailures[error.message] = true;
12103
12104          var stack = getStack ? getStack() : '';
12105
12106          printWarning(
12107            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
12108          );
12109        }
12110      }
12111    }
12112  }
12113}
12114
12115/**
12116 * Resets warning cache when testing.
12117 *
12118 * @private
12119 */
12120checkPropTypes.resetWarningCache = function() {
12121  if (true) {
12122    loggedTypeFailures = {};
12123  }
12124}
12125
12126module.exports = checkPropTypes;
12127
12128
12129/***/ }),
12130
vendor: 679 bytes, lines 12131-12154
12131/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js":
12132/*!*************************************************************!*\
12133  !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
12134  \*************************************************************/
12135/*! no static exports found */
12136/***/ (function(module, exports, __webpack_require__) {
12137
12138"use strict";
12139/**
12140 * Copyright (c) 2013-present, Facebook, Inc.
12141 *
12142 * This source code is licensed under the MIT license found in the
12143 * LICENSE file in the root directory of this source tree.
12144 */
12145
12146
12147
12148var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
12149
12150module.exports = ReactPropTypesSecret;
12151
12152
12153/***/ }),
12154
vendor: 852,653 bytes, lines 12155-36916
12155/***/ "./node_modules/react-dom/cjs/react-dom.development.js":
12156/*!*************************************************************!*\
12157  !*** ./node_modules/react-dom/cjs/react-dom.development.js ***!
12158  \*************************************************************/
12159/*! no static exports found */
12160/***/ (function(module, exports, __webpack_require__) {
12161
12162"use strict";
12163/** @license React v16.14.0
12164 * react-dom.development.js
12165 *
12166 * Copyright (c) Facebook, Inc. and its affiliates.
12167 *
12168 * This source code is licensed under the MIT license found in the
12169 * LICENSE file in the root directory of this source tree.
12170 */
12171if(!0){(function(){'use strict';var React=__webpack_require__(/*! react */"./node_modules/react/index.js");var _assign=__webpack_require__(/*! object-assign */"./node_modules/object-assign/index.js");var Scheduler=__webpack_require__(/*! scheduler */"./node_modules/scheduler/index.js");var checkPropTypes=__webpack_require__(/*! prop-types/checkPropTypes */"./node_modules/prop-types/checkPropTypes.js");var tracing=__webpack_require__(/*! scheduler/tracing */"./node_modules/scheduler/tracing.js");var ReactSharedInternals=React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;if(!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')){ReactSharedInternals.ReactCurrentDispatcher={current:null}}
12172if(!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')){ReactSharedInternals.ReactCurrentBatchConfig={suspense:null}}
12173function warn(format){{for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}
12174printWarning('warn',format,args)}}
12175function error(format){{for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]}
12176printWarning('error',format,args)}}
12177function printWarning(level,format,args){{var hasExistingStack=args.length>0&&typeof args[args.length-1]==='string'&&args[args.length-1].indexOf('\n    in')===0;if(!hasExistingStack){var ReactDebugCurrentFrame=ReactSharedInternals.ReactDebugCurrentFrame;var stack=ReactDebugCurrentFrame.getStackAddendum();if(stack!==''){format+='%s';args=args.concat([stack])}}
12178var argsWithFormat=args.map(function(item){return''+item});argsWithFormat.unshift('Warning: '+format);Function.prototype.apply.call(console[level],console,argsWithFormat);try{var argIndex=0;var message='Warning: '+format.replace(/%s/g,function(){return args[argIndex++]});throw new Error(message)}catch(x){}}}
12179if(!React){{throw Error("ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM.")}}
12180var invokeGuardedCallbackImpl=function(name,func,context,a,b,c,d,e,f){var funcArgs=Array.prototype.slice.call(arguments,3);try{func.apply(context,funcArgs)}catch(error){this.onError(error)}};{if(typeof window!=='undefined'&&typeof window.dispatchEvent==='function'&&typeof document!=='undefined'&&typeof document.createEvent==='function'){var fakeNode=document.createElement('react');var invokeGuardedCallbackDev=function(name,func,context,a,b,c,d,e,f){if(!(typeof document!=='undefined')){{throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.")}}
12181var evt=document.createEvent('Event');var didError=!0;var windowEvent=window.event;var windowEventDescriptor=Object.getOwnPropertyDescriptor(window,'event');var funcArgs=Array.prototype.slice.call(arguments,3);function callCallback(){fakeNode.removeEventListener(evtType,callCallback,!1);if(typeof window.event!=='undefined'&&window.hasOwnProperty('event')){window.event=windowEvent}
12182func.apply(context,funcArgs);didError=!1}
12183var error;var didSetError=!1;var isCrossOriginError=!1;function handleWindowError(event){error=event.error;didSetError=!0;if(error===null&&event.colno===0&&event.lineno===0){isCrossOriginError=!0}
12184if(event.defaultPrevented){if(error!=null&&typeof error==='object'){try{error._suppressLogging=!0}catch(inner){}}}}
12185var evtType="react-"+(name?name:'invokeguardedcallback');window.addEventListener('error',handleWindowError);fakeNode.addEventListener(evtType,callCallback,!1);evt.initEvent(evtType,!1,!1);fakeNode.dispatchEvent(evt);if(windowEventDescriptor){Object.defineProperty(window,'event',windowEventDescriptor)}
12186if(didError){if(!didSetError){error=new Error('An error was thrown inside one of your components, but React '+"doesn't know what it was. This is likely due to browser "+'flakiness. React does its best to preserve the "Pause on '+'exceptions" behavior of the DevTools, which requires some '+"DEV-mode only tricks. It's possible that these don't work in "+'your browser. Try triggering the error in production mode, '+'or switching to a modern browser. If you suspect that this is '+'actually an issue with React, please file an issue.')}else if(isCrossOriginError){error=new Error("A cross-origin error was thrown. React doesn't have access to "+'the actual error object in development. '+'See https://fb.me/react-crossorigin-error for more information.')}
12187this.onError(error)}
12188window.removeEventListener('error',handleWindowError)};invokeGuardedCallbackImpl=invokeGuardedCallbackDev}}
12189var invokeGuardedCallbackImpl$1=invokeGuardedCallbackImpl;var hasError=!1;var caughtError=null;var hasRethrowError=!1;var rethrowError=null;var reporter={onError:function(error){hasError=!0;caughtError=error}};
12190/**
12191 * Call a function while guarding against errors that happens within it.
12192 * Returns an error if it throws, otherwise null.
12193 *
12194 * In production, this is implemented using a try-catch. The reason we don't
12195 * use a try-catch directly is so that we can swap out a different
12196 * implementation in DEV mode.
12197 *
12198 * @param {String} name of the guard to use for logging or debugging
12199 * @param {Function} func The function to invoke
12200 * @param {*} context The context to use when calling the function
12201 * @param {...*} args Arguments for function
12202 */
12203
12204function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {
12205  hasError = false;
12206  caughtError = null;
12207  invokeGuardedCallbackImpl$1.apply(reporter, arguments);
12208}
12209/**
12210 * Same as invokeGuardedCallback, but instead of returning an error, it stores
12211 * it in a global so it can be rethrown by `rethrowCaughtError` later.
12212 * TODO: See if caughtError and rethrowError can be unified.
12213 *
12214 * @param {String} name of the guard to use for logging or debugging
12215 * @param {Function} func The function to invoke
12216 * @param {*} context The context to use when calling the function
12217 * @param {...*} args Arguments for function
12218 */
12219
12220function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {
12221  invokeGuardedCallback.apply(this, arguments);
12222
12223  if (hasError) {
12224    var error = clearCaughtError();
12225
12226    if (!hasRethrowError) {
12227      hasRethrowError = true;
12228      rethrowError = error;
12229    }
12230  }
12231}
12232/**
12233 * During execution of guarded functions we will capture the first error which
12234 * we will rethrow to be handled by the top level error handler.
12235 */
12236
12237function rethrowCaughtError() {
12238  if (hasRethrowError) {
12239    var error = rethrowError;
12240    hasRethrowError = false;
12241    rethrowError = null;
12242    throw error;
12243  }
12244}
12245function hasCaughtError() {
12246  return hasError;
12247}
12248function clearCaughtError() {
12249  if (hasError) {
12250    var error = caughtError;
12251    hasError = false;
12252    caughtError = null;
12253    return error;
12254  } else {
12255    {
12256      {
12257        throw Error( "clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue." );
12258      }
12259    }
12260  }
12261}
12262
12263var getFiberCurrentPropsFromNode = null;
12264var getInstanceFromNode = null;
12265var getNodeFromInstance = null;
12266function setComponentTree(getFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl, getNodeFromInstanceImpl) {
12267  getFiberCurrentPropsFromNode = getFiberCurrentPropsFromNodeImpl;
12268  getInstanceFromNode = getInstanceFromNodeImpl;
12269  getNodeFromInstance = getNodeFromInstanceImpl;
12270
12271  {
12272    if (!getNodeFromInstance || !getInstanceFromNode) {
12273      error('EventPluginUtils.setComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.');
12274    }
12275  }
12276}
12277var validateEventDispatches;
12278
12279{
12280  validateEventDispatches = function (event) {
12281    var dispatchListeners = event._dispatchListeners;
12282    var dispatchInstances = event._dispatchInstances;
12283    var listenersIsArr = Array.isArray(dispatchListeners);
12284    var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;
12285    var instancesIsArr = Array.isArray(dispatchInstances);
12286    var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;
12287
12288    if (instancesIsArr !== listenersIsArr || instancesLen !== listenersLen) {
12289      error('EventPluginUtils: Invalid `event`.');
12290    }
12291  };
12292}
12293/**
12294 * Dispatch the event to the listener.
12295 * @param {SyntheticEvent} event SyntheticEvent to handle
12296 * @param {function} listener Application-level callback
12297 * @param {*} inst Internal component instance
12298 */
12299
12300
12301function executeDispatch(event, listener, inst) {
12302  var type = event.type || 'unknown-event';
12303  event.currentTarget = getNodeFromInstance(inst);
12304  invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);
12305  event.currentTarget = null;
12306}
12307/**
12308 * Standard/simple iteration through an event's collected dispatches.
12309 */
12310
12311function executeDispatchesInOrder(event) {
12312  var dispatchListeners = event._dispatchListeners;
12313  var dispatchInstances = event._dispatchInstances;
12314
12315  {
12316    validateEventDispatches(event);
12317  }
12318
12319  if (Array.isArray(dispatchListeners)) {
12320    for (var i = 0; i < dispatchListeners.length; i++) {
12321      if (event.isPropagationStopped()) {
12322        break;
12323      } // Listeners and Instances are two parallel arrays that are always in sync.
12324
12325
12326      executeDispatch(event, dispatchListeners[i], dispatchInstances[i]);
12327    }
12328  } else if (dispatchListeners) {
12329    executeDispatch(event, dispatchListeners, dispatchInstances);
12330  }
12331
12332  event._dispatchListeners = null;
12333  event._dispatchInstances = null;
12334}
12335
12336var FunctionComponent = 0;
12337var ClassComponent = 1;
12338var IndeterminateComponent = 2; // Before we know whether it is function or class
12339
12340var HostRoot = 3; // Root of a host tree. Could be nested inside another node.
12341
12342var HostPortal = 4; // A subtree. Could be an entry point to a different renderer.
12343
12344var HostComponent = 5;
12345var HostText = 6;
12346var Fragment = 7;
12347var Mode = 8;
12348var ContextConsumer = 9;
12349var ContextProvider = 10;
12350var ForwardRef = 11;
12351var Profiler = 12;
12352var SuspenseComponent = 13;
12353var MemoComponent = 14;
12354var SimpleMemoComponent = 15;
12355var LazyComponent = 16;
12356var IncompleteClassComponent = 17;
12357var DehydratedFragment = 18;
12358var SuspenseListComponent = 19;
12359var FundamentalComponent = 20;
12360var ScopeComponent = 21;
12361var Block = 22;
12362
12363/**
12364 * Injectable ordering of event plugins.
12365 */
12366var eventPluginOrder = null;
12367/**
12368 * Injectable mapping from names to event plugin modules.
12369 */
12370
12371var namesToPlugins = {};
12372/**
12373 * Recomputes the plugin list using the injected plugins and plugin ordering.
12374 *
12375 * @private
12376 */
12377
12378function recomputePluginOrdering() {
12379  if (!eventPluginOrder) {
12380    // Wait until an `eventPluginOrder` is injected.
12381    return;
12382  }
12383
12384  for (var pluginName in namesToPlugins) {
12385    var pluginModule = namesToPlugins[pluginName];
12386    var pluginIndex = eventPluginOrder.indexOf(pluginName);
12387
12388    if (!(pluginIndex > -1)) {
12389      {
12390        throw Error( "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `" + pluginName + "`." );
12391      }
12392    }
12393
12394    if (plugins[pluginIndex]) {
12395      continue;
12396    }
12397
12398    if (!pluginModule.extractEvents) {
12399      {
12400        throw Error( "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `" + pluginName + "` does not." );
12401      }
12402    }
12403
12404    plugins[pluginIndex] = pluginModule;
12405    var publishedEvents = pluginModule.eventTypes;
12406
12407    for (var eventName in publishedEvents) {
12408      if (!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName)) {
12409        {
12410          throw Error( "EventPluginRegistry: Failed to publish event `" + eventName + "` for plugin `" + pluginName + "`." );
12411        }
12412      }
12413    }
12414  }
12415}
12416/**
12417 * Publishes an event so that it can be dispatched by the supplied plugin.
12418 *
12419 * @param {object} dispatchConfig Dispatch configuration for the event.
12420 * @param {object} PluginModule Plugin publishing the event.
12421 * @return {boolean} True if the event was successfully published.
12422 * @private
12423 */
12424
12425
12426function publishEventForPlugin(dispatchConfig, pluginModule, eventName) {
12427  if (!!eventNameDispatchConfigs.hasOwnProperty(eventName)) {
12428    {
12429      throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same event name, `" + eventName + "`." );
12430    }
12431  }
12432
12433  eventNameDispatchConfigs[eventName] = dispatchConfig;
12434  var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
12435
12436  if (phasedRegistrationNames) {
12437    for (var phaseName in phasedRegistrationNames) {
12438      if (phasedRegistrationNames.hasOwnProperty(phaseName)) {
12439        var phasedRegistrationName = phasedRegistrationNames[phaseName];
12440        publishRegistrationName(phasedRegistrationName, pluginModule, eventName);
12441      }
12442    }
12443
12444    return true;
12445  } else if (dispatchConfig.registrationName) {
12446    publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);
12447    return true;
12448  }
12449
12450  return false;
12451}
12452/**
12453 * Publishes a registration name that is used to identify dispatched events.
12454 *
12455 * @param {string} registrationName Registration name to add.
12456 * @param {object} PluginModule Plugin publishing the event.
12457 * @private
12458 */
12459
12460
12461function publishRegistrationName(registrationName, pluginModule, eventName) {
12462  if (!!registrationNameModules[registrationName]) {
12463    {
12464      throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same registration name, `" + registrationName + "`." );
12465    }
12466  }
12467
12468  registrationNameModules[registrationName] = pluginModule;
12469  registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;
12470
12471  {
12472    var lowerCasedName = registrationName.toLowerCase();
12473    possibleRegistrationNames[lowerCasedName] = registrationName;
12474
12475    if (registrationName === 'onDoubleClick') {
12476      possibleRegistrationNames.ondblclick = registrationName;
12477    }
12478  }
12479}
12480/**
12481 * Registers plugins so that they can extract and dispatch events.
12482 */
12483
12484/**
12485 * Ordered list of injected plugins.
12486 */
12487
12488
12489var plugins = [];
12490/**
12491 * Mapping from event name to dispatch config
12492 */
12493
12494var eventNameDispatchConfigs = {};
12495/**
12496 * Mapping from registration name to plugin module
12497 */
12498
12499var registrationNameModules = {};
12500/**
12501 * Mapping from registration name to event name
12502 */
12503
12504var registrationNameDependencies = {};
12505/**
12506 * Mapping from lowercase registration names to the properly cased version,
12507 * used to warn in the case of missing event handlers. Available
12508 * only in true.
12509 * @type {Object}
12510 */
12511
12512var possibleRegistrationNames =  {} ; // Trust the developer to only use possibleRegistrationNames in true
12513
12514/**
12515 * Injects an ordering of plugins (by plugin name). This allows the ordering
12516 * to be decoupled from injection of the actual plugins so that ordering is
12517 * always deterministic regardless of packaging, on-the-fly injection, etc.
12518 *
12519 * @param {array} InjectedEventPluginOrder
12520 * @internal
12521 */
12522
12523function injectEventPluginOrder(injectedEventPluginOrder) {
12524  if (!!eventPluginOrder) {
12525    {
12526      throw Error( "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React." );
12527    }
12528  } // Clone the ordering so it cannot be dynamically mutated.
12529
12530
12531  eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);
12532  recomputePluginOrdering();
12533}
12534/**
12535 * Injects plugins to be used by plugin event system. The plugin names must be
12536 * in the ordering injected by `injectEventPluginOrder`.
12537 *
12538 * Plugins can be injected as part of page initialization or on-the-fly.
12539 *
12540 * @param {object} injectedNamesToPlugins Map from names to plugin modules.
12541 * @internal
12542 */
12543
12544function injectEventPluginsByName(injectedNamesToPlugins) {
12545  var isOrderingDirty = false;
12546
12547  for (var pluginName in injectedNamesToPlugins) {
12548    if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {
12549      continue;
12550    }
12551
12552    var pluginModule = injectedNamesToPlugins[pluginName];
12553
12554    if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {
12555      if (!!namesToPlugins[pluginName]) {
12556        {
12557          throw Error( "EventPluginRegistry: Cannot inject two different event plugins using the same name, `" + pluginName + "`." );
12558        }
12559      }
12560
12561      namesToPlugins[pluginName] = pluginModule;
12562      isOrderingDirty = true;
12563    }
12564  }
12565
12566  if (isOrderingDirty) {
12567    recomputePluginOrdering();
12568  }
12569}
12570
12571var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');
12572
12573var PLUGIN_EVENT_SYSTEM = 1;
12574var IS_REPLAYED = 1 << 5;
12575var IS_FIRST_ANCESTOR = 1 << 6;
12576
12577var restoreImpl = null;
12578var restoreTarget = null;
12579var restoreQueue = null;
12580
12581function restoreStateOfTarget(target) {
12582  // We perform this translation at the end of the event loop so that we
12583  // always receive the correct fiber here
12584  var internalInstance = getInstanceFromNode(target);
12585
12586  if (!internalInstance) {
12587    // Unmounted
12588    return;
12589  }
12590
12591  if (!(typeof restoreImpl === 'function')) {
12592    {
12593      throw Error( "setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue." );
12594    }
12595  }
12596
12597  var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.
12598
12599  if (stateNode) {
12600    var _props = getFiberCurrentPropsFromNode(stateNode);
12601
12602    restoreImpl(internalInstance.stateNode, internalInstance.type, _props);
12603  }
12604}
12605
12606function setRestoreImplementation(impl) {
12607  restoreImpl = impl;
12608}
12609function enqueueStateRestore(target) {
12610  if (restoreTarget) {
12611    if (restoreQueue) {
12612      restoreQueue.push(target);
12613    } else {
12614      restoreQueue = [target];
12615    }
12616  } else {
12617    restoreTarget = target;
12618  }
12619}
12620function needsStateRestore() {
12621  return restoreTarget !== null || restoreQueue !== null;
12622}
12623function restoreStateIfNeeded() {
12624  if (!restoreTarget) {
12625    return;
12626  }
12627
12628  var target = restoreTarget;
12629  var queuedTargets = restoreQueue;
12630  restoreTarget = null;
12631  restoreQueue = null;
12632  restoreStateOfTarget(target);
12633
12634  if (queuedTargets) {
12635    for (var i = 0; i < queuedTargets.length; i++) {
12636      restoreStateOfTarget(queuedTargets[i]);
12637    }
12638  }
12639}
12640
12641var enableProfilerTimer = true; // Trace which interactions trigger each commit.
12642
12643var enableDeprecatedFlareAPI = false; // Experimental Host Component support.
12644
12645var enableFundamentalAPI = false; // Experimental Scope support.
12646var warnAboutStringRefs = false;
12647
12648// the renderer. Such as when we're dispatching events or if third party
12649// libraries need to call batchedUpdates. Eventually, this API will go away when
12650// everything is batched by default. We'll then have a similar API to opt-out of
12651// scheduled work and instead do synchronous work.
12652// Defaults
12653
12654var batchedUpdatesImpl = function (fn, bookkeeping) {
12655  return fn(bookkeeping);
12656};
12657
12658var discreteUpdatesImpl = function (fn, a, b, c, d) {
12659  return fn(a, b, c, d);
12660};
12661
12662var flushDiscreteUpdatesImpl = function () {};
12663
12664var batchedEventUpdatesImpl = batchedUpdatesImpl;
12665var isInsideEventHandler = false;
12666var isBatchingEventUpdates = false;
12667
12668function finishEventHandler() {
12669  // Here we wait until all updates have propagated, which is important
12670  // when using controlled components within layers:
12671  // https://github.com/facebook/react/issues/1698
12672  // Then we restore state of any controlled component.
12673  var controlledComponentsHavePendingUpdates = needsStateRestore();
12674
12675  if (controlledComponentsHavePendingUpdates) {
12676    // If a controlled event was fired, we may need to restore the state of
12677    // the DOM node back to the controlled value. This is necessary when React
12678    // bails out of the update without touching the DOM.
12679    flushDiscreteUpdatesImpl();
12680    restoreStateIfNeeded();
12681  }
12682}
12683
12684function batchedUpdates(fn, bookkeeping) {
12685  if (isInsideEventHandler) {
12686    // If we are currently inside another batch, we need to wait until it
12687    // fully completes before restoring state.
12688    return fn(bookkeeping);
12689  }
12690
12691  isInsideEventHandler = true;
12692
12693  try {
12694    return batchedUpdatesImpl(fn, bookkeeping);
12695  } finally {
12696    isInsideEventHandler = false;
12697    finishEventHandler();
12698  }
12699}
12700function batchedEventUpdates(fn, a, b) {
12701  if (isBatchingEventUpdates) {
12702    // If we are currently inside another batch, we need to wait until it
12703    // fully completes before restoring state.
12704    return fn(a, b);
12705  }
12706
12707  isBatchingEventUpdates = true;
12708
12709  try {
12710    return batchedEventUpdatesImpl(fn, a, b);
12711  } finally {
12712    isBatchingEventUpdates = false;
12713    finishEventHandler();
12714  }
12715} // This is for the React Flare event system
12716function discreteUpdates(fn, a, b, c, d) {
12717  var prevIsInsideEventHandler = isInsideEventHandler;
12718  isInsideEventHandler = true;
12719
12720  try {
12721    return discreteUpdatesImpl(fn, a, b, c, d);
12722  } finally {
12723    isInsideEventHandler = prevIsInsideEventHandler;
12724
12725    if (!isInsideEventHandler) {
12726      finishEventHandler();
12727    }
12728  }
12729}
12730function flushDiscreteUpdatesIfNeeded(timeStamp) {
12731  // event.timeStamp isn't overly reliable due to inconsistencies in
12732  // how different browsers have historically provided the time stamp.
12733  // Some browsers provide high-resolution time stamps for all events,
12734  // some provide low-resolution time stamps for all events. FF < 52
12735  // even mixes both time stamps together. Some browsers even report
12736  // negative time stamps or time stamps that are 0 (iOS9) in some cases.
12737  // Given we are only comparing two time stamps with equality (!==),
12738  // we are safe from the resolution differences. If the time stamp is 0
12739  // we bail-out of preventing the flush, which can affect semantics,
12740  // such as if an earlier flush removes or adds event listeners that
12741  // are fired in the subsequent flush. However, this is the same
12742  // behaviour as we had before this change, so the risks are low.
12743  if (!isInsideEventHandler && (!enableDeprecatedFlareAPI  )) {
12744    flushDiscreteUpdatesImpl();
12745  }
12746}
12747function setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushDiscreteUpdatesImpl, _batchedEventUpdatesImpl) {
12748  batchedUpdatesImpl = _batchedUpdatesImpl;
12749  discreteUpdatesImpl = _discreteUpdatesImpl;
12750  flushDiscreteUpdatesImpl = _flushDiscreteUpdatesImpl;
12751  batchedEventUpdatesImpl = _batchedEventUpdatesImpl;
12752}
12753
12754var DiscreteEvent = 0;
12755var UserBlockingEvent = 1;
12756var ContinuousEvent = 2;
12757
12758// A reserved attribute.
12759// It is handled by React separately and shouldn't be written to the DOM.
12760var RESERVED = 0; // A simple string attribute.
12761// Attributes that aren't in the whitelist are presumed to have this type.
12762
12763var STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called
12764// "enumerated" attributes with "true" and "false" as possible values.
12765// When true, it should be set to a "true" string.
12766// When false, it should be set to a "false" string.
12767
12768var BOOLEANISH_STRING = 2; // A real boolean attribute.
12769// When true, it should be present (set either to an empty string or its name).
12770// When false, it should be omitted.
12771
12772var BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.
12773// When true, it should be present (set either to an empty string or its name).
12774// When false, it should be omitted.
12775// For any other value, should be present with that value.
12776
12777var OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.
12778// When falsy, it should be removed.
12779
12780var NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.
12781// When falsy, it should be removed.
12782
12783var POSITIVE_NUMERIC = 6;
12784
12785/* eslint-disable max-len */
12786var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
12787/* eslint-enable max-len */
12788
12789var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
12790var ROOT_ATTRIBUTE_NAME = 'data-reactroot';
12791var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');
12792var hasOwnProperty = Object.prototype.hasOwnProperty;
12793var illegalAttributeNameCache = {};
12794var validatedAttributeNameCache = {};
12795function isAttributeNameSafe(attributeName) {
12796  if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {
12797    return true;
12798  }
12799
12800  if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {
12801    return false;
12802  }
12803
12804  if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
12805    validatedAttributeNameCache[attributeName] = true;
12806    return true;
12807  }
12808
12809  illegalAttributeNameCache[attributeName] = true;
12810
12811  {
12812    error('Invalid attribute name: `%s`', attributeName);
12813  }
12814
12815  return false;
12816}
12817function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {
12818  if (propertyInfo !== null) {
12819    return propertyInfo.type === RESERVED;
12820  }
12821
12822  if (isCustomComponentTag) {
12823    return false;
12824  }
12825
12826  if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {
12827    return true;
12828  }
12829
12830  return false;
12831}
12832function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {
12833  if (propertyInfo !== null && propertyInfo.type === RESERVED) {
12834    return false;
12835  }
12836
12837  switch (typeof value) {
12838    case 'function': // $FlowIssue symbol is perfectly valid here
12839
12840    case 'symbol':
12841      // eslint-disable-line
12842      return true;
12843
12844    case 'boolean':
12845      {
12846        if (isCustomComponentTag) {
12847          return false;
12848        }
12849
12850        if (propertyInfo !== null) {
12851          return !propertyInfo.acceptsBooleans;
12852        } else {
12853          var prefix = name.toLowerCase().slice(0, 5);
12854          return prefix !== 'data-' && prefix !== 'aria-';
12855        }
12856      }
12857
12858    default:
12859      return false;
12860  }
12861}
12862function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {
12863  if (value === null || typeof value === 'undefined') {
12864    return true;
12865  }
12866
12867  if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {
12868    return true;
12869  }
12870
12871  if (isCustomComponentTag) {
12872    return false;
12873  }
12874
12875  if (propertyInfo !== null) {
12876    switch (propertyInfo.type) {
12877      case BOOLEAN:
12878        return !value;
12879
12880      case OVERLOADED_BOOLEAN:
12881        return value === false;
12882
12883      case NUMERIC:
12884        return isNaN(value);
12885
12886      case POSITIVE_NUMERIC:
12887        return isNaN(value) || value < 1;
12888    }
12889  }
12890
12891  return false;
12892}
12893function getPropertyInfo(name) {
12894  return properties.hasOwnProperty(name) ? properties[name] : null;
12895}
12896
12897function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL) {
12898  this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;
12899  this.attributeName = attributeName;
12900  this.attributeNamespace = attributeNamespace;
12901  this.mustUseProperty = mustUseProperty;
12902  this.propertyName = name;
12903  this.type = type;
12904  this.sanitizeURL = sanitizeURL;
12905} // When adding attributes to this list, be sure to also add them to
12906// the `possibleStandardNames` module to ensure casing and incorrect
12907// name warnings.
12908
12909
12910var properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.
12911
12912var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular
12913// elements (not just inputs). Now that ReactDOMInput assigns to the
12914// defaultValue property -- do we need this?
12915'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];
12916
12917reservedProps.forEach(function (name) {
12918  properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty
12919  name, // attributeName
12920  null, // attributeNamespace
12921  false);
12922}); // A few React string attributes have a different name.
12923// This is a mapping from React prop names to the attribute names.
12924
12925[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {
12926  var name = _ref[0],
12927      attributeName = _ref[1];
12928  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
12929  attributeName, // attributeName
12930  null, // attributeNamespace
12931  false);
12932}); // These are "enumerated" HTML attributes that accept "true" and "false".
12933// In React, we let users pass `true` and `false` even though technically
12934// these aren't boolean attributes (they are coerced to strings).
12935
12936['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {
12937  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
12938  name.toLowerCase(), // attributeName
12939  null, // attributeNamespace
12940  false);
12941}); // These are "enumerated" SVG attributes that accept "true" and "false".
12942// In React, we let users pass `true` and `false` even though technically
12943// these aren't boolean attributes (they are coerced to strings).
12944// Since these are SVG attributes, their attribute names are case-sensitive.
12945
12946['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {
12947  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
12948  name, // attributeName
12949  null, // attributeNamespace
12950  false);
12951}); // These are HTML boolean attributes.
12952
12953['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM
12954// on the client side because the browsers are inconsistent. Instead we call focus().
12955'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata
12956'itemScope'].forEach(function (name) {
12957  properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty
12958  name.toLowerCase(), // attributeName
12959  null, // attributeNamespace
12960  false);
12961}); // These are the few React props that we set as DOM properties
12962// rather than attributes. These are all booleans.
12963
12964['checked', // Note: `option.selected` is not updated if `select.multiple` is
12965// disabled with `removeAttribute`. We have special logic for handling this.
12966'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,
12967// you'll need to set attributeName to name.toLowerCase()
12968// instead in the assignment below.
12969].forEach(function (name) {
12970  properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty
12971  name, // attributeName
12972  null, // attributeNamespace
12973  false);
12974}); // These are HTML attributes that are "overloaded booleans": they behave like
12975// booleans, but can also accept a string value.
12976
12977['capture', 'download' // NOTE: if you add a camelCased prop to this list,
12978// you'll need to set attributeName to name.toLowerCase()
12979// instead in the assignment below.
12980].forEach(function (name) {
12981  properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty
12982  name, // attributeName
12983  null, // attributeNamespace
12984  false);
12985}); // These are HTML attributes that must be positive numbers.
12986
12987['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,
12988// you'll need to set attributeName to name.toLowerCase()
12989// instead in the assignment below.
12990].forEach(function (name) {
12991  properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty
12992  name, // attributeName
12993  null, // attributeNamespace
12994  false);
12995}); // These are HTML attributes that must be numbers.
12996
12997['rowSpan', 'start'].forEach(function (name) {
12998  properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty
12999  name.toLowerCase(), // attributeName
13000  null, // attributeNamespace
13001  false);
13002});
13003var CAMELIZE = /[\-\:]([a-z])/g;
13004
13005var capitalize = function (token) {
13006  return token[1].toUpperCase();
13007}; // This is a list of all SVG attributes that need special casing, namespacing,
13008// or boolean value assignment. Regular attributes that just accept strings
13009// and have the same names are omitted, just like in the HTML whitelist.
13010// Some of these attributes can be hard to find. This list was created by
13011// scraping the MDN documentation.
13012
13013
13014['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,
13015// you'll need to set attributeName to name.toLowerCase()
13016// instead in the assignment below.
13017].forEach(function (attributeName) {
13018  var name = attributeName.replace(CAMELIZE, capitalize);
13019  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
13020  attributeName, null, // attributeNamespace
13021  false);
13022}); // String SVG attributes with the xlink namespace.
13023
13024['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,
13025// you'll need to set attributeName to name.toLowerCase()
13026// instead in the assignment below.
13027].forEach(function (attributeName) {
13028  var name = attributeName.replace(CAMELIZE, capitalize);
13029  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
13030  attributeName, 'http://www.w3.org/1999/xlink', false);
13031}); // String SVG attributes with the xml namespace.
13032
13033['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,
13034// you'll need to set attributeName to name.toLowerCase()
13035// instead in the assignment below.
13036].forEach(function (attributeName) {
13037  var name = attributeName.replace(CAMELIZE, capitalize);
13038  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
13039  attributeName, 'http://www.w3.org/XML/1998/namespace', false);
13040}); // These attribute exists both in HTML and SVG.
13041// The attribute name is case-sensitive in SVG so we can't just use
13042// the React name like we do for attributes that exist only in HTML.
13043
13044['tabIndex', 'crossOrigin'].forEach(function (attributeName) {
13045  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty
13046  attributeName.toLowerCase(), // attributeName
13047  null, // attributeNamespace
13048  false);
13049}); // These attributes accept URLs. These must not allow javascript: URLS.
13050// These will also need to accept Trusted Types object in the future.
13051
13052var xlinkHref = 'xlinkHref';
13053properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty
13054'xlink:href', 'http://www.w3.org/1999/xlink', true);
13055['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {
13056  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty
13057  attributeName.toLowerCase(), // attributeName
13058  null, // attributeNamespace
13059  true);
13060});
13061
13062var ReactDebugCurrentFrame = null;
13063
13064{
13065  ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
13066} // A javascript: URL can contain leading C0 control or \u0020 SPACE,
13067// and any newline or tab are filtered out as if they're not part of the URL.
13068// https://url.spec.whatwg.org/#url-parsing
13069// Tab or newline are defined as \r\n\t:
13070// https://infra.spec.whatwg.org/#ascii-tab-or-newline
13071// A C0 control is a code point in the range \u0000 NULL to \u001F
13072// INFORMATION SEPARATOR ONE, inclusive:
13073// https://infra.spec.whatwg.org/#c0-control-or-space
13074
13075/* eslint-disable max-len */
13076
13077
13078var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;
13079var didWarn = false;
13080
13081function sanitizeURL(url) {
13082  {
13083    if (!didWarn && isJavaScriptProtocol.test(url)) {
13084      didWarn = true;
13085
13086      error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));
13087    }
13088  }
13089}
13090
13091/**
13092 * Get the value for a property on a node. Only used in DEV for SSR validation.
13093 * The "expected" argument is used as a hint of what the expected value is.
13094 * Some properties have multiple equivalent values.
13095 */
13096function getValueForProperty(node, name, expected, propertyInfo) {
13097  {
13098    if (propertyInfo.mustUseProperty) {
13099      var propertyName = propertyInfo.propertyName;
13100      return node[propertyName];
13101    } else {
13102      if ( propertyInfo.sanitizeURL) {
13103        // If we haven't fully disabled javascript: URLs, and if
13104        // the hydration is successful of a javascript: URL, we
13105        // still want to warn on the client.
13106        sanitizeURL('' + expected);
13107      }
13108
13109      var attributeName = propertyInfo.attributeName;
13110      var stringValue = null;
13111
13112      if (propertyInfo.type === OVERLOADED_BOOLEAN) {
13113        if (node.hasAttribute(attributeName)) {
13114          var value = node.getAttribute(attributeName);
13115
13116          if (value === '') {
13117            return true;
13118          }
13119
13120          if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
13121            return value;
13122          }
13123
13124          if (value === '' + expected) {
13125            return expected;
13126          }
13127
13128          return value;
13129        }
13130      } else if (node.hasAttribute(attributeName)) {
13131        if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
13132          // We had an attribute but shouldn't have had one, so read it
13133          // for the error message.
13134          return node.getAttribute(attributeName);
13135        }
13136
13137        if (propertyInfo.type === BOOLEAN) {
13138          // If this was a boolean, it doesn't matter what the value is
13139          // the fact that we have it is the same as the expected.
13140          return expected;
13141        } // Even if this property uses a namespace we use getAttribute
13142        // because we assume its namespaced name is the same as our config.
13143        // To use getAttributeNS we need the local name which we don't have
13144        // in our config atm.
13145
13146
13147        stringValue = node.getAttribute(attributeName);
13148      }
13149
13150      if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
13151        return stringValue === null ? expected : stringValue;
13152      } else if (stringValue === '' + expected) {
13153        return expected;
13154      } else {
13155        return stringValue;
13156      }
13157    }
13158  }
13159}
13160/**
13161 * Get the value for a attribute on a node. Only used in DEV for SSR validation.
13162 * The third argument is used as a hint of what the expected value is. Some
13163 * attributes have multiple equivalent values.
13164 */
13165
13166function getValueForAttribute(node, name, expected) {
13167  {
13168    if (!isAttributeNameSafe(name)) {
13169      return;
13170    }
13171
13172    if (!node.hasAttribute(name)) {
13173      return expected === undefined ? undefined : null;
13174    }
13175
13176    var value = node.getAttribute(name);
13177
13178    if (value === '' + expected) {
13179      return expected;
13180    }
13181
13182    return value;
13183  }
13184}
13185/**
13186 * Sets the value for a property on a node.
13187 *
13188 * @param {DOMElement} node
13189 * @param {string} name
13190 * @param {*} value
13191 */
13192
13193function setValueForProperty(node, name, value, isCustomComponentTag) {
13194  var propertyInfo = getPropertyInfo(name);
13195
13196  if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {
13197    return;
13198  }
13199
13200  if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {
13201    value = null;
13202  } // If the prop isn't in the special list, treat it as a simple attribute.
13203
13204
13205  if (isCustomComponentTag || propertyInfo === null) {
13206    if (isAttributeNameSafe(name)) {
13207      var _attributeName = name;
13208
13209      if (value === null) {
13210        node.removeAttribute(_attributeName);
13211      } else {
13212        node.setAttribute(_attributeName,  '' + value);
13213      }
13214    }
13215
13216    return;
13217  }
13218
13219  var mustUseProperty = propertyInfo.mustUseProperty;
13220
13221  if (mustUseProperty) {
13222    var propertyName = propertyInfo.propertyName;
13223
13224    if (value === null) {
13225      var type = propertyInfo.type;
13226      node[propertyName] = type === BOOLEAN ? false : '';
13227    } else {
13228      // Contrary to `setAttribute`, object properties are properly
13229      // `toString`ed by IE8/9.
13230      node[propertyName] = value;
13231    }
13232
13233    return;
13234  } // The rest are treated as attributes with special cases.
13235
13236
13237  var attributeName = propertyInfo.attributeName,
13238      attributeNamespace = propertyInfo.attributeNamespace;
13239
13240  if (value === null) {
13241    node.removeAttribute(attributeName);
13242  } else {
13243    var _type = propertyInfo.type;
13244    var attributeValue;
13245
13246    if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {
13247      // If attribute type is boolean, we know for sure it won't be an execution sink
13248      // and we won't require Trusted Type here.
13249      attributeValue = '';
13250    } else {
13251      // `setAttribute` with objects becomes only `[object]` in IE8/9,
13252      // ('' + value) makes it output the correct toString()-value.
13253      {
13254        attributeValue = '' + value;
13255      }
13256
13257      if (propertyInfo.sanitizeURL) {
13258        sanitizeURL(attributeValue.toString());
13259      }
13260    }
13261
13262    if (attributeNamespace) {
13263      node.setAttributeNS(attributeNamespace, attributeName, attributeValue);
13264    } else {
13265      node.setAttribute(attributeName, attributeValue);
13266    }
13267  }
13268}
13269
13270var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
13271function describeComponentFrame (name, source, ownerName) {
13272  var sourceInfo = '';
13273
13274  if (source) {
13275    var path = source.fileName;
13276    var fileName = path.replace(BEFORE_SLASH_RE, '');
13277
13278    {
13279      // In DEV, include code for a common special case:
13280      // prefer "folder/index.js" instead of just "index.js".
13281      if (/^index\./.test(fileName)) {
13282        var match = path.match(BEFORE_SLASH_RE);
13283
13284        if (match) {
13285          var pathBeforeSlash = match[1];
13286
13287          if (pathBeforeSlash) {
13288            var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
13289            fileName = folderName + '/' + fileName;
13290          }
13291        }
13292      }
13293    }
13294
13295    sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';
13296  } else if (ownerName) {
13297    sourceInfo = ' (created by ' + ownerName + ')';
13298  }
13299
13300  return '\n    in ' + (name || 'Unknown') + sourceInfo;
13301}
13302
13303// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
13304// nor polyfill, then a plain number is used for performance.
13305var hasSymbol = typeof Symbol === 'function' && Symbol.for;
13306var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
13307var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
13308var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
13309var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
13310var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
13311var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
13312var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
13313var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
13314var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
13315var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
13316var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
13317var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
13318var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
13319var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
13320var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
13321var FAUX_ITERATOR_SYMBOL = '@@iterator';
13322function getIteratorFn(maybeIterable) {
13323  if (maybeIterable === null || typeof maybeIterable !== 'object') {
13324    return null;
13325  }
13326
13327  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
13328
13329  if (typeof maybeIterator === 'function') {
13330    return maybeIterator;
13331  }
13332
13333  return null;
13334}
13335
13336var Uninitialized = -1;
13337var Pending = 0;
13338var Resolved = 1;
13339var Rejected = 2;
13340function refineResolvedLazyComponent(lazyComponent) {
13341  return lazyComponent._status === Resolved ? lazyComponent._result : null;
13342}
13343function initializeLazyComponentType(lazyComponent) {
13344  if (lazyComponent._status === Uninitialized) {
13345    lazyComponent._status = Pending;
13346    var ctor = lazyComponent._ctor;
13347    var thenable = ctor();
13348    lazyComponent._result = thenable;
13349    thenable.then(function (moduleObject) {
13350      if (lazyComponent._status === Pending) {
13351        var defaultExport = moduleObject.default;
13352
13353        {
13354          if (defaultExport === undefined) {
13355            error('lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n  ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject);
13356          }
13357        }
13358
13359        lazyComponent._status = Resolved;
13360        lazyComponent._result = defaultExport;
13361      }
13362    }, function (error) {
13363      if (lazyComponent._status === Pending) {
13364        lazyComponent._status = Rejected;
13365        lazyComponent._result = error;
13366      }
13367    });
13368  }
13369}
13370
13371function getWrappedName(outerType, innerType, wrapperName) {
13372  var functionName = innerType.displayName || innerType.name || '';
13373  return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName);
13374}
13375
13376function getComponentName(type) {
13377  if (type == null) {
13378    // Host root, text node or just invalid type.
13379    return null;
13380  }
13381
13382  {
13383    if (typeof type.tag === 'number') {
13384      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
13385    }
13386  }
13387
13388  if (typeof type === 'function') {
13389    return type.displayName || type.name || null;
13390  }
13391
13392  if (typeof type === 'string') {
13393    return type;
13394  }
13395
13396  switch (type) {
13397    case REACT_FRAGMENT_TYPE:
13398      return 'Fragment';
13399
13400    case REACT_PORTAL_TYPE:
13401      return 'Portal';
13402
13403    case REACT_PROFILER_TYPE:
13404      return "Profiler";
13405
13406    case REACT_STRICT_MODE_TYPE:
13407      return 'StrictMode';
13408
13409    case REACT_SUSPENSE_TYPE:
13410      return 'Suspense';
13411
13412    case REACT_SUSPENSE_LIST_TYPE:
13413      return 'SuspenseList';
13414  }
13415
13416  if (typeof type === 'object') {
13417    switch (type.$$typeof) {
13418      case REACT_CONTEXT_TYPE:
13419        return 'Context.Consumer';
13420
13421      case REACT_PROVIDER_TYPE:
13422        return 'Context.Provider';
13423
13424      case REACT_FORWARD_REF_TYPE:
13425        return getWrappedName(type, type.render, 'ForwardRef');
13426
13427      case REACT_MEMO_TYPE:
13428        return getComponentName(type.type);
13429
13430      case REACT_BLOCK_TYPE:
13431        return getComponentName(type.render);
13432
13433      case REACT_LAZY_TYPE:
13434        {
13435          var thenable = type;
13436          var resolvedThenable = refineResolvedLazyComponent(thenable);
13437
13438          if (resolvedThenable) {
13439            return getComponentName(resolvedThenable);
13440          }
13441
13442          break;
13443        }
13444    }
13445  }
13446
13447  return null;
13448}
13449
13450var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
13451
13452function describeFiber(fiber) {
13453  switch (fiber.tag) {
13454    case HostRoot:
13455    case HostPortal:
13456    case HostText:
13457    case Fragment:
13458    case ContextProvider:
13459    case ContextConsumer:
13460      return '';
13461
13462    default:
13463      var owner = fiber._debugOwner;
13464      var source = fiber._debugSource;
13465      var name = getComponentName(fiber.type);
13466      var ownerName = null;
13467
13468      if (owner) {
13469        ownerName = getComponentName(owner.type);
13470      }
13471
13472      return describeComponentFrame(name, source, ownerName);
13473  }
13474}
13475
13476function getStackByFiberInDevAndProd(workInProgress) {
13477  var info = '';
13478  var node = workInProgress;
13479
13480  do {
13481    info += describeFiber(node);
13482    node = node.return;
13483  } while (node);
13484
13485  return info;
13486}
13487var current = null;
13488var isRendering = false;
13489function getCurrentFiberOwnerNameInDevOrNull() {
13490  {
13491    if (current === null) {
13492      return null;
13493    }
13494
13495    var owner = current._debugOwner;
13496
13497    if (owner !== null && typeof owner !== 'undefined') {
13498      return getComponentName(owner.type);
13499    }
13500  }
13501
13502  return null;
13503}
13504function getCurrentFiberStackInDev() {
13505  {
13506    if (current === null) {
13507      return '';
13508    } // Safe because if current fiber exists, we are reconciling,
13509    // and it is guaranteed to be the work-in-progress version.
13510
13511
13512    return getStackByFiberInDevAndProd(current);
13513  }
13514}
13515function resetCurrentFiber() {
13516  {
13517    ReactDebugCurrentFrame$1.getCurrentStack = null;
13518    current = null;
13519    isRendering = false;
13520  }
13521}
13522function setCurrentFiber(fiber) {
13523  {
13524    ReactDebugCurrentFrame$1.getCurrentStack = getCurrentFiberStackInDev;
13525    current = fiber;
13526    isRendering = false;
13527  }
13528}
13529function setIsRendering(rendering) {
13530  {
13531    isRendering = rendering;
13532  }
13533}
13534
13535// Flow does not allow string concatenation of most non-string types. To work
13536// around this limitation, we use an opaque type that can only be obtained by
13537// passing the value through getToStringValue first.
13538function toString(value) {
13539  return '' + value;
13540}
13541function getToStringValue(value) {
13542  switch (typeof value) {
13543    case 'boolean':
13544    case 'number':
13545    case 'object':
13546    case 'string':
13547    case 'undefined':
13548      return value;
13549
13550    default:
13551      // function, symbol are assigned as empty strings
13552      return '';
13553  }
13554}
13555
13556var ReactDebugCurrentFrame$2 = null;
13557var ReactControlledValuePropTypes = {
13558  checkPropTypes: null
13559};
13560
13561{
13562  ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame;
13563  var hasReadOnlyValue = {
13564    button: true,
13565    checkbox: true,
13566    image: true,
13567    hidden: true,
13568    radio: true,
13569    reset: true,
13570    submit: true
13571  };
13572  var propTypes = {
13573    value: function (props, propName, componentName) {
13574      if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {
13575        return null;
13576      }
13577
13578      return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
13579    },
13580    checked: function (props, propName, componentName) {
13581      if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {
13582        return null;
13583      }
13584
13585      return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
13586    }
13587  };
13588  /**
13589   * Provide a linked `value` attribute for controlled forms. You should not use
13590   * this outside of the ReactDOM controlled form components.
13591   */
13592
13593  ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) {
13594    checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$2.getStackAddendum);
13595  };
13596}
13597
13598function isCheckable(elem) {
13599  var type = elem.type;
13600  var nodeName = elem.nodeName;
13601  return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');
13602}
13603
13604function getTracker(node) {
13605  return node._valueTracker;
13606}
13607
13608function detachTracker(node) {
13609  node._valueTracker = null;
13610}
13611
13612function getValueFromNode(node) {
13613  var value = '';
13614
13615  if (!node) {
13616    return value;
13617  }
13618
13619  if (isCheckable(node)) {
13620    value = node.checked ? 'true' : 'false';
13621  } else {
13622    value = node.value;
13623  }
13624
13625  return value;
13626}
13627
13628function trackValueOnNode(node) {
13629  var valueField = isCheckable(node) ? 'checked' : 'value';
13630  var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);
13631  var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail
13632  // and don't track value will cause over reporting of changes,
13633  // but it's better then a hard failure
13634  // (needed for certain tests that spyOn input values and Safari)
13635
13636  if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {
13637    return;
13638  }
13639
13640  var get = descriptor.get,
13641      set = descriptor.set;
13642  Object.defineProperty(node, valueField, {
13643    configurable: true,
13644    get: function () {
13645      return get.call(this);
13646    },
13647    set: function (value) {
13648      currentValue = '' + value;
13649      set.call(this, value);
13650    }
13651  }); // We could've passed this the first time
13652  // but it triggers a bug in IE11 and Edge 14/15.
13653  // Calling defineProperty() again should be equivalent.
13654  // https://github.com/facebook/react/issues/11768
13655
13656  Object.defineProperty(node, valueField, {
13657    enumerable: descriptor.enumerable
13658  });
13659  var tracker = {
13660    getValue: function () {
13661      return currentValue;
13662    },
13663    setValue: function (value) {
13664      currentValue = '' + value;
13665    },
13666    stopTracking: function () {
13667      detachTracker(node);
13668      delete node[valueField];
13669    }
13670  };
13671  return tracker;
13672}
13673
13674function track(node) {
13675  if (getTracker(node)) {
13676    return;
13677  } // TODO: Once it's just Fiber we can move this to node._wrapperState
13678
13679
13680  node._valueTracker = trackValueOnNode(node);
13681}
13682function updateValueIfChanged(node) {
13683  if (!node) {
13684    return false;
13685  }
13686
13687  var tracker = getTracker(node); // if there is no tracker at this point it's unlikely
13688  // that trying again will succeed
13689
13690  if (!tracker) {
13691    return true;
13692  }
13693
13694  var lastValue = tracker.getValue();
13695  var nextValue = getValueFromNode(node);
13696
13697  if (nextValue !== lastValue) {
13698    tracker.setValue(nextValue);
13699    return true;
13700  }
13701
13702  return false;
13703}
13704
13705var didWarnValueDefaultValue = false;
13706var didWarnCheckedDefaultChecked = false;
13707var didWarnControlledToUncontrolled = false;
13708var didWarnUncontrolledToControlled = false;
13709
13710function isControlled(props) {
13711  var usesChecked = props.type === 'checkbox' || props.type === 'radio';
13712  return usesChecked ? props.checked != null : props.value != null;
13713}
13714/**
13715 * Implements an <input> host component that allows setting these optional
13716 * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.
13717 *
13718 * If `checked` or `value` are not supplied (or null/undefined), user actions
13719 * that affect the checked state or value will trigger updates to the element.
13720 *
13721 * If they are supplied (and not null/undefined), the rendered element will not
13722 * trigger updates to the element. Instead, the props must change in order for
13723 * the rendered element to be updated.
13724 *
13725 * The rendered element will be initialized as unchecked (or `defaultChecked`)
13726 * with an empty value (or `defaultValue`).
13727 *
13728 * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html
13729 */
13730
13731
13732function getHostProps(element, props) {
13733  var node = element;
13734  var checked = props.checked;
13735
13736  var hostProps = _assign({}, props, {
13737    defaultChecked: undefined,
13738    defaultValue: undefined,
13739    value: undefined,
13740    checked: checked != null ? checked : node._wrapperState.initialChecked
13741  });
13742
13743  return hostProps;
13744}
13745function initWrapperState(element, props) {
13746  {
13747    ReactControlledValuePropTypes.checkPropTypes('input', props);
13748
13749    if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {
13750      error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);
13751
13752      didWarnCheckedDefaultChecked = true;
13753    }
13754
13755    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {
13756      error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);
13757
13758      didWarnValueDefaultValue = true;
13759    }
13760  }
13761
13762  var node = element;
13763  var defaultValue = props.defaultValue == null ? '' : props.defaultValue;
13764  node._wrapperState = {
13765    initialChecked: props.checked != null ? props.checked : props.defaultChecked,
13766    initialValue: getToStringValue(props.value != null ? props.value : defaultValue),
13767    controlled: isControlled(props)
13768  };
13769}
13770function updateChecked(element, props) {
13771  var node = element;
13772  var checked = props.checked;
13773
13774  if (checked != null) {
13775    setValueForProperty(node, 'checked', checked, false);
13776  }
13777}
13778function updateWrapper(element, props) {
13779  var node = element;
13780
13781  {
13782    var controlled = isControlled(props);
13783
13784    if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {
13785      error('A component is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type);
13786
13787      didWarnUncontrolledToControlled = true;
13788    }
13789
13790    if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {
13791      error('A component is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type);
13792
13793      didWarnControlledToUncontrolled = true;
13794    }
13795  }
13796
13797  updateChecked(element, props);
13798  var value = getToStringValue(props.value);
13799  var type = props.type;
13800
13801  if (value != null) {
13802    if (type === 'number') {
13803      if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.
13804      // eslint-disable-next-line
13805      node.value != value) {
13806        node.value = toString(value);
13807      }
13808    } else if (node.value !== toString(value)) {
13809      node.value = toString(value);
13810    }
13811  } else if (type === 'submit' || type === 'reset') {
13812    // Submit/reset inputs need the attribute removed completely to avoid
13813    // blank-text buttons.
13814    node.removeAttribute('value');
13815    return;
13816  }
13817
13818  {
13819    // When syncing the value attribute, the value comes from a cascade of
13820    // properties:
13821    //  1. The value React property
13822    //  2. The defaultValue React property
13823    //  3. Otherwise there should be no change
13824    if (props.hasOwnProperty('value')) {
13825      setDefaultValue(node, props.type, value);
13826    } else if (props.hasOwnProperty('defaultValue')) {
13827      setDefaultValue(node, props.type, getToStringValue(props.defaultValue));
13828    }
13829  }
13830
13831  {
13832    // When syncing the checked attribute, it only changes when it needs
13833    // to be removed, such as transitioning from a checkbox into a text input
13834    if (props.checked == null && props.defaultChecked != null) {
13835      node.defaultChecked = !!props.defaultChecked;
13836    }
13837  }
13838}
13839function postMountWrapper(element, props, isHydrating) {
13840  var node = element; // Do not assign value if it is already set. This prevents user text input
13841  // from being lost during SSR hydration.
13842
13843  if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {
13844    var type = props.type;
13845    var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the
13846    // default value provided by the browser. See: #12872
13847
13848    if (isButton && (props.value === undefined || props.value === null)) {
13849      return;
13850    }
13851
13852    var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input
13853    // from being lost during SSR hydration.
13854
13855    if (!isHydrating) {
13856      {
13857        // When syncing the value attribute, the value property should use
13858        // the wrapperState._initialValue property. This uses:
13859        //
13860        //   1. The value React property when present
13861        //   2. The defaultValue React property when present
13862        //   3. An empty string
13863        if (initialValue !== node.value) {
13864          node.value = initialValue;
13865        }
13866      }
13867    }
13868
13869    {
13870      // Otherwise, the value attribute is synchronized to the property,
13871      // so we assign defaultValue to the same thing as the value property
13872      // assignment step above.
13873      node.defaultValue = initialValue;
13874    }
13875  } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug
13876  // this is needed to work around a chrome bug where setting defaultChecked
13877  // will sometimes influence the value of checked (even after detachment).
13878  // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416
13879  // We need to temporarily unset name to avoid disrupting radio button groups.
13880
13881
13882  var name = node.name;
13883
13884  if (name !== '') {
13885    node.name = '';
13886  }
13887
13888  {
13889    // When syncing the checked attribute, both the checked property and
13890    // attribute are assigned at the same time using defaultChecked. This uses:
13891    //
13892    //   1. The checked React property when present
13893    //   2. The defaultChecked React property when present
13894    //   3. Otherwise, false
13895    node.defaultChecked = !node.defaultChecked;
13896    node.defaultChecked = !!node._wrapperState.initialChecked;
13897  }
13898
13899  if (name !== '') {
13900    node.name = name;
13901  }
13902}
13903function restoreControlledState(element, props) {
13904  var node = element;
13905  updateWrapper(node, props);
13906  updateNamedCousins(node, props);
13907}
13908
13909function updateNamedCousins(rootNode, props) {
13910  var name = props.name;
13911
13912  if (props.type === 'radio' && name != null) {
13913    var queryRoot = rootNode;
13914
13915    while (queryRoot.parentNode) {
13916      queryRoot = queryRoot.parentNode;
13917    } // If `rootNode.form` was non-null, then we could try `form.elements`,
13918    // but that sometimes behaves strangely in IE8. We could also try using
13919    // `form.getElementsByName`, but that will only return direct children
13920    // and won't include inputs that use the HTML5 `form=` attribute. Since
13921    // the input might not even be in a form. It might not even be in the
13922    // document. Let's just use the local `querySelectorAll` to ensure we don't
13923    // miss anything.
13924
13925
13926    var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]');
13927
13928    for (var i = 0; i < group.length; i++) {
13929      var otherNode = group[i];
13930
13931      if (otherNode === rootNode || otherNode.form !== rootNode.form) {
13932        continue;
13933      } // This will throw if radio buttons rendered by different copies of React
13934      // and the same name are rendered into the same form (same as #1939).
13935      // That's probably okay; we don't support it just as we don't support
13936      // mixing React radio buttons with non-React ones.
13937
13938
13939      var otherProps = getFiberCurrentPropsFromNode$1(otherNode);
13940
13941      if (!otherProps) {
13942        {
13943          throw Error( "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." );
13944        }
13945      } // We need update the tracked value on the named cousin since the value
13946      // was changed but the input saw no event or value set
13947
13948
13949      updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that
13950      // was previously checked to update will cause it to be come re-checked
13951      // as appropriate.
13952
13953      updateWrapper(otherNode, otherProps);
13954    }
13955  }
13956} // In Chrome, assigning defaultValue to certain input types triggers input validation.
13957// For number inputs, the display value loses trailing decimal points. For email inputs,
13958// Chrome raises "The specified value <x> is not a valid email address".
13959//
13960// Here we check to see if the defaultValue has actually changed, avoiding these problems
13961// when the user is inputting text
13962//
13963// https://github.com/facebook/react/issues/7253
13964
13965
13966function setDefaultValue(node, type, value) {
13967  if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js
13968  type !== 'number' || node.ownerDocument.activeElement !== node) {
13969    if (value == null) {
13970      node.defaultValue = toString(node._wrapperState.initialValue);
13971    } else if (node.defaultValue !== toString(value)) {
13972      node.defaultValue = toString(value);
13973    }
13974  }
13975}
13976
13977var didWarnSelectedSetOnOption = false;
13978var didWarnInvalidChild = false;
13979
13980function flattenChildren(children) {
13981  var content = ''; // Flatten children. We'll warn if they are invalid
13982  // during validateProps() which runs for hydration too.
13983  // Note that this would throw on non-element objects.
13984  // Elements are stringified (which is normally irrelevant
13985  // but matters for <fbt>).
13986
13987  React.Children.forEach(children, function (child) {
13988    if (child == null) {
13989      return;
13990    }
13991
13992    content += child; // Note: we don't warn about invalid children here.
13993    // Instead, this is done separately below so that
13994    // it happens during the hydration codepath too.
13995  });
13996  return content;
13997}
13998/**
13999 * Implements an <option> host component that warns when `selected` is set.
14000 */
14001
14002
14003function validateProps(element, props) {
14004  {
14005    // This mirrors the codepath above, but runs for hydration too.
14006    // Warn about invalid children here so that client and hydration are consistent.
14007    // TODO: this seems like it could cause a DEV-only throw for hydration
14008    // if children contains a non-element object. We should try to avoid that.
14009    if (typeof props.children === 'object' && props.children !== null) {
14010      React.Children.forEach(props.children, function (child) {
14011        if (child == null) {
14012          return;
14013        }
14014
14015        if (typeof child === 'string' || typeof child === 'number') {
14016          return;
14017        }
14018
14019        if (typeof child.type !== 'string') {
14020          return;
14021        }
14022
14023        if (!didWarnInvalidChild) {
14024          didWarnInvalidChild = true;
14025
14026          error('Only strings and numbers are supported as <option> children.');
14027        }
14028      });
14029    } // TODO: Remove support for `selected` in <option>.
14030
14031
14032    if (props.selected != null && !didWarnSelectedSetOnOption) {
14033      error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');
14034
14035      didWarnSelectedSetOnOption = true;
14036    }
14037  }
14038}
14039function postMountWrapper$1(element, props) {
14040  // value="" should make a value attribute (#6219)
14041  if (props.value != null) {
14042    element.setAttribute('value', toString(getToStringValue(props.value)));
14043  }
14044}
14045function getHostProps$1(element, props) {
14046  var hostProps = _assign({
14047    children: undefined
14048  }, props);
14049
14050  var content = flattenChildren(props.children);
14051
14052  if (content) {
14053    hostProps.children = content;
14054  }
14055
14056  return hostProps;
14057}
14058
14059var didWarnValueDefaultValue$1;
14060
14061{
14062  didWarnValueDefaultValue$1 = false;
14063}
14064
14065function getDeclarationErrorAddendum() {
14066  var ownerName = getCurrentFiberOwnerNameInDevOrNull();
14067
14068  if (ownerName) {
14069    return '\n\nCheck the render method of `' + ownerName + '`.';
14070  }
14071
14072  return '';
14073}
14074
14075var valuePropNames = ['value', 'defaultValue'];
14076/**
14077 * Validation function for `value` and `defaultValue`.
14078 */
14079
14080function checkSelectPropTypes(props) {
14081  {
14082    ReactControlledValuePropTypes.checkPropTypes('select', props);
14083
14084    for (var i = 0; i < valuePropNames.length; i++) {
14085      var propName = valuePropNames[i];
14086
14087      if (props[propName] == null) {
14088        continue;
14089      }
14090
14091      var isArray = Array.isArray(props[propName]);
14092
14093      if (props.multiple && !isArray) {
14094        error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());
14095      } else if (!props.multiple && isArray) {
14096        error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());
14097      }
14098    }
14099  }
14100}
14101
14102function updateOptions(node, multiple, propValue, setDefaultSelected) {
14103  var options = node.options;
14104
14105  if (multiple) {
14106    var selectedValues = propValue;
14107    var selectedValue = {};
14108
14109    for (var i = 0; i < selectedValues.length; i++) {
14110      // Prefix to avoid chaos with special keys.
14111      selectedValue['$' + selectedValues[i]] = true;
14112    }
14113
14114    for (var _i = 0; _i < options.length; _i++) {
14115      var selected = selectedValue.hasOwnProperty('$' + options[_i].value);
14116
14117      if (options[_i].selected !== selected) {
14118        options[_i].selected = selected;
14119      }
14120
14121      if (selected && setDefaultSelected) {
14122        options[_i].defaultSelected = true;
14123      }
14124    }
14125  } else {
14126    // Do not set `select.value` as exact behavior isn't consistent across all
14127    // browsers for all cases.
14128    var _selectedValue = toString(getToStringValue(propValue));
14129
14130    var defaultSelected = null;
14131
14132    for (var _i2 = 0; _i2 < options.length; _i2++) {
14133      if (options[_i2].value === _selectedValue) {
14134        options[_i2].selected = true;
14135
14136        if (setDefaultSelected) {
14137          options[_i2].defaultSelected = true;
14138        }
14139
14140        return;
14141      }
14142
14143      if (defaultSelected === null && !options[_i2].disabled) {
14144        defaultSelected = options[_i2];
14145      }
14146    }
14147
14148    if (defaultSelected !== null) {
14149      defaultSelected.selected = true;
14150    }
14151  }
14152}
14153/**
14154 * Implements a <select> host component that allows optionally setting the
14155 * props `value` and `defaultValue`. If `multiple` is false, the prop must be a
14156 * stringable. If `multiple` is true, the prop must be an array of stringables.
14157 *
14158 * If `value` is not supplied (or null/undefined), user actions that change the
14159 * selected option will trigger updates to the rendered options.
14160 *
14161 * If it is supplied (and not null/undefined), the rendered options will not
14162 * update in response to user actions. Instead, the `value` prop must change in
14163 * order for the rendered options to update.
14164 *
14165 * If `defaultValue` is provided, any options with the supplied values will be
14166 * selected.
14167 */
14168
14169
14170function getHostProps$2(element, props) {
14171  return _assign({}, props, {
14172    value: undefined
14173  });
14174}
14175function initWrapperState$1(element, props) {
14176  var node = element;
14177
14178  {
14179    checkSelectPropTypes(props);
14180  }
14181
14182  node._wrapperState = {
14183    wasMultiple: !!props.multiple
14184  };
14185
14186  {
14187    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {
14188      error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');
14189
14190      didWarnValueDefaultValue$1 = true;
14191    }
14192  }
14193}
14194function postMountWrapper$2(element, props) {
14195  var node = element;
14196  node.multiple = !!props.multiple;
14197  var value = props.value;
14198
14199  if (value != null) {
14200    updateOptions(node, !!props.multiple, value, false);
14201  } else if (props.defaultValue != null) {
14202    updateOptions(node, !!props.multiple, props.defaultValue, true);
14203  }
14204}
14205function postUpdateWrapper(element, props) {
14206  var node = element;
14207  var wasMultiple = node._wrapperState.wasMultiple;
14208  node._wrapperState.wasMultiple = !!props.multiple;
14209  var value = props.value;
14210
14211  if (value != null) {
14212    updateOptions(node, !!props.multiple, value, false);
14213  } else if (wasMultiple !== !!props.multiple) {
14214    // For simplicity, reapply `defaultValue` if `multiple` is toggled.
14215    if (props.defaultValue != null) {
14216      updateOptions(node, !!props.multiple, props.defaultValue, true);
14217    } else {
14218      // Revert the select back to its default unselected state.
14219      updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);
14220    }
14221  }
14222}
14223function restoreControlledState$1(element, props) {
14224  var node = element;
14225  var value = props.value;
14226
14227  if (value != null) {
14228    updateOptions(node, !!props.multiple, value, false);
14229  }
14230}
14231
14232var didWarnValDefaultVal = false;
14233
14234/**
14235 * Implements a <textarea> host component that allows setting `value`, and
14236 * `defaultValue`. This differs from the traditional DOM API because value is
14237 * usually set as PCDATA children.
14238 *
14239 * If `value` is not supplied (or null/undefined), user actions that affect the
14240 * value will trigger updates to the element.
14241 *
14242 * If `value` is supplied (and not null/undefined), the rendered element will
14243 * not trigger updates to the element. Instead, the `value` prop must change in
14244 * order for the rendered element to be updated.
14245 *
14246 * The rendered element will be initialized with an empty value, the prop
14247 * `defaultValue` if specified, or the children content (deprecated).
14248 */
14249function getHostProps$3(element, props) {
14250  var node = element;
14251
14252  if (!(props.dangerouslySetInnerHTML == null)) {
14253    {
14254      throw Error( "`dangerouslySetInnerHTML` does not make sense on <textarea>." );
14255    }
14256  } // Always set children to the same thing. In IE9, the selection range will
14257  // get reset if `textContent` is mutated.  We could add a check in setTextContent
14258  // to only set the value if/when the value differs from the node value (which would
14259  // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this
14260  // solution. The value can be a boolean or object so that's why it's forced
14261  // to be a string.
14262
14263
14264  var hostProps = _assign({}, props, {
14265    value: undefined,
14266    defaultValue: undefined,
14267    children: toString(node._wrapperState.initialValue)
14268  });
14269
14270  return hostProps;
14271}
14272function initWrapperState$2(element, props) {
14273  var node = element;
14274
14275  {
14276    ReactControlledValuePropTypes.checkPropTypes('textarea', props);
14277
14278    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {
14279      error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');
14280
14281      didWarnValDefaultVal = true;
14282    }
14283  }
14284
14285  var initialValue = props.value; // Only bother fetching default value if we're going to use it
14286
14287  if (initialValue == null) {
14288    var children = props.children,
14289        defaultValue = props.defaultValue;
14290
14291    if (children != null) {
14292      {
14293        error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');
14294      }
14295
14296      {
14297        if (!(defaultValue == null)) {
14298          {
14299            throw Error( "If you supply `defaultValue` on a <textarea>, do not pass children." );
14300          }
14301        }
14302
14303        if (Array.isArray(children)) {
14304          if (!(children.length <= 1)) {
14305            {
14306              throw Error( "<textarea> can only have at most one child." );
14307            }
14308          }
14309
14310          children = children[0];
14311        }
14312
14313        defaultValue = children;
14314      }
14315    }
14316
14317    if (defaultValue == null) {
14318      defaultValue = '';
14319    }
14320
14321    initialValue = defaultValue;
14322  }
14323
14324  node._wrapperState = {
14325    initialValue: getToStringValue(initialValue)
14326  };
14327}
14328function updateWrapper$1(element, props) {
14329  var node = element;
14330  var value = getToStringValue(props.value);
14331  var defaultValue = getToStringValue(props.defaultValue);
14332
14333  if (value != null) {
14334    // Cast `value` to a string to ensure the value is set correctly. While
14335    // browsers typically do this as necessary, jsdom doesn't.
14336    var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed
14337
14338    if (newValue !== node.value) {
14339      node.value = newValue;
14340    }
14341
14342    if (props.defaultValue == null && node.defaultValue !== newValue) {
14343      node.defaultValue = newValue;
14344    }
14345  }
14346
14347  if (defaultValue != null) {
14348    node.defaultValue = toString(defaultValue);
14349  }
14350}
14351function postMountWrapper$3(element, props) {
14352  var node = element; // This is in postMount because we need access to the DOM node, which is not
14353  // available until after the component has mounted.
14354
14355  var textContent = node.textContent; // Only set node.value if textContent is equal to the expected
14356  // initial value. In IE10/IE11 there is a bug where the placeholder attribute
14357  // will populate textContent as well.
14358  // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/
14359
14360  if (textContent === node._wrapperState.initialValue) {
14361    if (textContent !== '' && textContent !== null) {
14362      node.value = textContent;
14363    }
14364  }
14365}
14366function restoreControlledState$2(element, props) {
14367  // DOM component is still mounted; update
14368  updateWrapper$1(element, props);
14369}
14370
14371var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
14372var MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
14373var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
14374var Namespaces = {
14375  html: HTML_NAMESPACE,
14376  mathml: MATH_NAMESPACE,
14377  svg: SVG_NAMESPACE
14378}; // Assumes there is no parent namespace.
14379
14380function getIntrinsicNamespace(type) {
14381  switch (type) {
14382    case 'svg':
14383      return SVG_NAMESPACE;
14384
14385    case 'math':
14386      return MATH_NAMESPACE;
14387
14388    default:
14389      return HTML_NAMESPACE;
14390  }
14391}
14392function getChildNamespace(parentNamespace, type) {
14393  if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {
14394    // No (or default) parent namespace: potential entry point.
14395    return getIntrinsicNamespace(type);
14396  }
14397
14398  if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {
14399    // We're leaving SVG.
14400    return HTML_NAMESPACE;
14401  } // By default, pass namespace below.
14402
14403
14404  return parentNamespace;
14405}
14406
14407/* globals MSApp */
14408
14409/**
14410 * Create a function which has 'unsafe' privileges (required by windows8 apps)
14411 */
14412var createMicrosoftUnsafeLocalFunction = function (func) {
14413  if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {
14414    return function (arg0, arg1, arg2, arg3) {
14415      MSApp.execUnsafeLocalFunction(function () {
14416        return func(arg0, arg1, arg2, arg3);
14417      });
14418    };
14419  } else {
14420    return func;
14421  }
14422};
14423
14424var reusableSVGContainer;
14425/**
14426 * Set the innerHTML property of a node
14427 *
14428 * @param {DOMElement} node
14429 * @param {string} html
14430 * @internal
14431 */
14432
14433var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {
14434  if (node.namespaceURI === Namespaces.svg) {
14435
14436    if (!('innerHTML' in node)) {
14437      // IE does not have innerHTML for SVG nodes, so instead we inject the
14438      // new markup in a temp node and then move the child nodes across into
14439      // the target node
14440      reusableSVGContainer = reusableSVGContainer || document.createElement('div');
14441      reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';
14442      var svgNode = reusableSVGContainer.firstChild;
14443
14444      while (node.firstChild) {
14445        node.removeChild(node.firstChild);
14446      }
14447
14448      while (svgNode.firstChild) {
14449        node.appendChild(svgNode.firstChild);
14450      }
14451
14452      return;
14453    }
14454  }
14455
14456  node.innerHTML = html;
14457});
14458
14459/**
14460 * HTML nodeType values that represent the type of the node
14461 */
14462var ELEMENT_NODE = 1;
14463var TEXT_NODE = 3;
14464var COMMENT_NODE = 8;
14465var DOCUMENT_NODE = 9;
14466var DOCUMENT_FRAGMENT_NODE = 11;
14467
14468/**
14469 * Set the textContent property of a node. For text updates, it's faster
14470 * to set the `nodeValue` of the Text node directly instead of using
14471 * `.textContent` which will remove the existing node and create a new one.
14472 *
14473 * @param {DOMElement} node
14474 * @param {string} text
14475 * @internal
14476 */
14477
14478var setTextContent = function (node, text) {
14479  if (text) {
14480    var firstChild = node.firstChild;
14481
14482    if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {
14483      firstChild.nodeValue = text;
14484      return;
14485    }
14486  }
14487
14488  node.textContent = text;
14489};
14490
14491// Do not use the below two methods directly!
14492// Instead use constants exported from DOMTopLevelEventTypes in ReactDOM.
14493// (It is the only module that is allowed to access these methods.)
14494function unsafeCastStringToDOMTopLevelType(topLevelType) {
14495  return topLevelType;
14496}
14497function unsafeCastDOMTopLevelTypeToString(topLevelType) {
14498  return topLevelType;
14499}
14500
14501/**
14502 * Generate a mapping of standard vendor prefixes using the defined style property and event name.
14503 *
14504 * @param {string} styleProp
14505 * @param {string} eventName
14506 * @returns {object}
14507 */
14508
14509function makePrefixMap(styleProp, eventName) {
14510  var prefixes = {};
14511  prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
14512  prefixes['Webkit' + styleProp] = 'webkit' + eventName;
14513  prefixes['Moz' + styleProp] = 'moz' + eventName;
14514  return prefixes;
14515}
14516/**
14517 * A list of event names to a configurable list of vendor prefixes.
14518 */
14519
14520
14521var vendorPrefixes = {
14522  animationend: makePrefixMap('Animation', 'AnimationEnd'),
14523  animationiteration: makePrefixMap('Animation', 'AnimationIteration'),
14524  animationstart: makePrefixMap('Animation', 'AnimationStart'),
14525  transitionend: makePrefixMap('Transition', 'TransitionEnd')
14526};
14527/**
14528 * Event names that have already been detected and prefixed (if applicable).
14529 */
14530
14531var prefixedEventNames = {};
14532/**
14533 * Element to check for prefixes on.
14534 */
14535
14536var style = {};
14537/**
14538 * Bootstrap if a DOM exists.
14539 */
14540
14541if (canUseDOM) {
14542  style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,
14543  // the un-prefixed "animation" and "transition" properties are defined on the
14544  // style object but the events that fire will still be prefixed, so we need
14545  // to check if the un-prefixed events are usable, and if not remove them from the map.
14546
14547  if (!('AnimationEvent' in window)) {
14548    delete vendorPrefixes.animationend.animation;
14549    delete vendorPrefixes.animationiteration.animation;
14550    delete vendorPrefixes.animationstart.animation;
14551  } // Same as above
14552
14553
14554  if (!('TransitionEvent' in window)) {
14555    delete vendorPrefixes.transitionend.transition;
14556  }
14557}
14558/**
14559 * Attempts to determine the correct vendor prefixed event name.
14560 *
14561 * @param {string} eventName
14562 * @returns {string}
14563 */
14564
14565
14566function getVendorPrefixedEventName(eventName) {
14567  if (prefixedEventNames[eventName]) {
14568    return prefixedEventNames[eventName];
14569  } else if (!vendorPrefixes[eventName]) {
14570    return eventName;
14571  }
14572
14573  var prefixMap = vendorPrefixes[eventName];
14574
14575  for (var styleProp in prefixMap) {
14576    if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {
14577      return prefixedEventNames[eventName] = prefixMap[styleProp];
14578    }
14579  }
14580
14581  return eventName;
14582}
14583
14584/**
14585 * To identify top level events in ReactDOM, we use constants defined by this
14586 * module. This is the only module that uses the unsafe* methods to express
14587 * that the constants actually correspond to the browser event names. This lets
14588 * us save some bundle size by avoiding a top level type -> event name map.
14589 * The rest of ReactDOM code should import top level types from this file.
14590 */
14591
14592var TOP_ABORT = unsafeCastStringToDOMTopLevelType('abort');
14593var TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend'));
14594var TOP_ANIMATION_ITERATION = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationiteration'));
14595var TOP_ANIMATION_START = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationstart'));
14596var TOP_BLUR = unsafeCastStringToDOMTopLevelType('blur');
14597var TOP_CAN_PLAY = unsafeCastStringToDOMTopLevelType('canplay');
14598var TOP_CAN_PLAY_THROUGH = unsafeCastStringToDOMTopLevelType('canplaythrough');
14599var TOP_CANCEL = unsafeCastStringToDOMTopLevelType('cancel');
14600var TOP_CHANGE = unsafeCastStringToDOMTopLevelType('change');
14601var TOP_CLICK = unsafeCastStringToDOMTopLevelType('click');
14602var TOP_CLOSE = unsafeCastStringToDOMTopLevelType('close');
14603var TOP_COMPOSITION_END = unsafeCastStringToDOMTopLevelType('compositionend');
14604var TOP_COMPOSITION_START = unsafeCastStringToDOMTopLevelType('compositionstart');
14605var TOP_COMPOSITION_UPDATE = unsafeCastStringToDOMTopLevelType('compositionupdate');
14606var TOP_CONTEXT_MENU = unsafeCastStringToDOMTopLevelType('contextmenu');
14607var TOP_COPY = unsafeCastStringToDOMTopLevelType('copy');
14608var TOP_CUT = unsafeCastStringToDOMTopLevelType('cut');
14609var TOP_DOUBLE_CLICK = unsafeCastStringToDOMTopLevelType('dblclick');
14610var TOP_AUX_CLICK = unsafeCastStringToDOMTopLevelType('auxclick');
14611var TOP_DRAG = unsafeCastStringToDOMTopLevelType('drag');
14612var TOP_DRAG_END = unsafeCastStringToDOMTopLevelType('dragend');
14613var TOP_DRAG_ENTER = unsafeCastStringToDOMTopLevelType('dragenter');
14614var TOP_DRAG_EXIT = unsafeCastStringToDOMTopLevelType('dragexit');
14615var TOP_DRAG_LEAVE = unsafeCastStringToDOMTopLevelType('dragleave');
14616var TOP_DRAG_OVER = unsafeCastStringToDOMTopLevelType('dragover');
14617var TOP_DRAG_START = unsafeCastStringToDOMTopLevelType('dragstart');
14618var TOP_DROP = unsafeCastStringToDOMTopLevelType('drop');
14619var TOP_DURATION_CHANGE = unsafeCastStringToDOMTopLevelType('durationchange');
14620var TOP_EMPTIED = unsafeCastStringToDOMTopLevelType('emptied');
14621var TOP_ENCRYPTED = unsafeCastStringToDOMTopLevelType('encrypted');
14622var TOP_ENDED = unsafeCastStringToDOMTopLevelType('ended');
14623var TOP_ERROR = unsafeCastStringToDOMTopLevelType('error');
14624var TOP_FOCUS = unsafeCastStringToDOMTopLevelType('focus');
14625var TOP_GOT_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('gotpointercapture');
14626var TOP_INPUT = unsafeCastStringToDOMTopLevelType('input');
14627var TOP_INVALID = unsafeCastStringToDOMTopLevelType('invalid');
14628var TOP_KEY_DOWN = unsafeCastStringToDOMTopLevelType('keydown');
14629var TOP_KEY_PRESS = unsafeCastStringToDOMTopLevelType('keypress');
14630var TOP_KEY_UP = unsafeCastStringToDOMTopLevelType('keyup');
14631var TOP_LOAD = unsafeCastStringToDOMTopLevelType('load');
14632var TOP_LOAD_START = unsafeCastStringToDOMTopLevelType('loadstart');
14633var TOP_LOADED_DATA = unsafeCastStringToDOMTopLevelType('loadeddata');
14634var TOP_LOADED_METADATA = unsafeCastStringToDOMTopLevelType('loadedmetadata');
14635var TOP_LOST_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('lostpointercapture');
14636var TOP_MOUSE_DOWN = unsafeCastStringToDOMTopLevelType('mousedown');
14637var TOP_MOUSE_MOVE = unsafeCastStringToDOMTopLevelType('mousemove');
14638var TOP_MOUSE_OUT = unsafeCastStringToDOMTopLevelType('mouseout');
14639var TOP_MOUSE_OVER = unsafeCastStringToDOMTopLevelType('mouseover');
14640var TOP_MOUSE_UP = unsafeCastStringToDOMTopLevelType('mouseup');
14641var TOP_PASTE = unsafeCastStringToDOMTopLevelType('paste');
14642var TOP_PAUSE = unsafeCastStringToDOMTopLevelType('pause');
14643var TOP_PLAY = unsafeCastStringToDOMTopLevelType('play');
14644var TOP_PLAYING = unsafeCastStringToDOMTopLevelType('playing');
14645var TOP_POINTER_CANCEL = unsafeCastStringToDOMTopLevelType('pointercancel');
14646var TOP_POINTER_DOWN = unsafeCastStringToDOMTopLevelType('pointerdown');
14647var TOP_POINTER_MOVE = unsafeCastStringToDOMTopLevelType('pointermove');
14648var TOP_POINTER_OUT = unsafeCastStringToDOMTopLevelType('pointerout');
14649var TOP_POINTER_OVER = unsafeCastStringToDOMTopLevelType('pointerover');
14650var TOP_POINTER_UP = unsafeCastStringToDOMTopLevelType('pointerup');
14651var TOP_PROGRESS = unsafeCastStringToDOMTopLevelType('progress');
14652var TOP_RATE_CHANGE = unsafeCastStringToDOMTopLevelType('ratechange');
14653var TOP_RESET = unsafeCastStringToDOMTopLevelType('reset');
14654var TOP_SCROLL = unsafeCastStringToDOMTopLevelType('scroll');
14655var TOP_SEEKED = unsafeCastStringToDOMTopLevelType('seeked');
14656var TOP_SEEKING = unsafeCastStringToDOMTopLevelType('seeking');
14657var TOP_SELECTION_CHANGE = unsafeCastStringToDOMTopLevelType('selectionchange');
14658var TOP_STALLED = unsafeCastStringToDOMTopLevelType('stalled');
14659var TOP_SUBMIT = unsafeCastStringToDOMTopLevelType('submit');
14660var TOP_SUSPEND = unsafeCastStringToDOMTopLevelType('suspend');
14661var TOP_TEXT_INPUT = unsafeCastStringToDOMTopLevelType('textInput');
14662var TOP_TIME_UPDATE = unsafeCastStringToDOMTopLevelType('timeupdate');
14663var TOP_TOGGLE = unsafeCastStringToDOMTopLevelType('toggle');
14664var TOP_TOUCH_CANCEL = unsafeCastStringToDOMTopLevelType('touchcancel');
14665var TOP_TOUCH_END = unsafeCastStringToDOMTopLevelType('touchend');
14666var TOP_TOUCH_MOVE = unsafeCastStringToDOMTopLevelType('touchmove');
14667var TOP_TOUCH_START = unsafeCastStringToDOMTopLevelType('touchstart');
14668var TOP_TRANSITION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('transitionend'));
14669var TOP_VOLUME_CHANGE = unsafeCastStringToDOMTopLevelType('volumechange');
14670var TOP_WAITING = unsafeCastStringToDOMTopLevelType('waiting');
14671var TOP_WHEEL = unsafeCastStringToDOMTopLevelType('wheel'); // List of events that need to be individually attached to media elements.
14672// Note that events in this list will *not* be listened to at the top level
14673// unless they're explicitly whitelisted in `ReactBrowserEventEmitter.listenTo`.
14674
14675var mediaEventTypes = [TOP_ABORT, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_VOLUME_CHANGE, TOP_WAITING];
14676function getRawEventName(topLevelType) {
14677  return unsafeCastDOMTopLevelTypeToString(topLevelType);
14678}
14679
14680var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // prettier-ignore
14681
14682var elementListenerMap = new PossiblyWeakMap();
14683function getListenerMapForElement(element) {
14684  var listenerMap = elementListenerMap.get(element);
14685
14686  if (listenerMap === undefined) {
14687    listenerMap = new Map();
14688    elementListenerMap.set(element, listenerMap);
14689  }
14690
14691  return listenerMap;
14692}
14693
14694/**
14695 * `ReactInstanceMap` maintains a mapping from a public facing stateful
14696 * instance (key) and the internal representation (value). This allows public
14697 * methods to accept the user facing instance as an argument and map them back
14698 * to internal methods.
14699 *
14700 * Note that this module is currently shared and assumed to be stateless.
14701 * If this becomes an actual Map, that will break.
14702 */
14703function get(key) {
14704  return key._reactInternalFiber;
14705}
14706function has(key) {
14707  return key._reactInternalFiber !== undefined;
14708}
14709function set(key, value) {
14710  key._reactInternalFiber = value;
14711}
14712
14713// Don't change these two values. They're used by React Dev Tools.
14714var NoEffect =
14715/*              */
147160;
14717var PerformedWork =
14718/*         */
147191; // You can change the rest (and add more).
14720
14721var Placement =
14722/*             */
147232;
14724var Update =
14725/*                */
147264;
14727var PlacementAndUpdate =
14728/*    */
147296;
14730var Deletion =
14731/*              */
147328;
14733var ContentReset =
14734/*          */
1473516;
14736var Callback =
14737/*              */
1473832;
14739var DidCapture =
14740/*            */
1474164;
14742var Ref =
14743/*                   */
14744128;
14745var Snapshot =
14746/*              */
14747256;
14748var Passive =
14749/*               */
14750512;
14751var Hydrating =
14752/*             */
147531024;
14754var HydratingAndUpdate =
14755/*    */
147561028; // Passive & Update & Callback & Ref & Snapshot
14757
14758var LifecycleEffectMask =
14759/*   */
14760932; // Union of all host effects
14761
14762var HostEffectMask =
14763/*        */
147642047;
14765var Incomplete =
14766/*            */
147672048;
14768var ShouldCapture =
14769/*         */
147704096;
14771
14772var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
14773function getNearestMountedFiber(fiber) {
14774  var node = fiber;
14775  var nearestMounted = fiber;
14776
14777  if (!fiber.alternate) {
14778    // If there is no alternate, this might be a new tree that isn't inserted
14779    // yet. If it is, then it will have a pending insertion effect on it.
14780    var nextNode = node;
14781
14782    do {
14783      node = nextNode;
14784
14785      if ((node.effectTag & (Placement | Hydrating)) !== NoEffect) {
14786        // This is an insertion or in-progress hydration. The nearest possible
14787        // mounted fiber is the parent but we need to continue to figure out
14788        // if that one is still mounted.
14789        nearestMounted = node.return;
14790      }
14791
14792      nextNode = node.return;
14793    } while (nextNode);
14794  } else {
14795    while (node.return) {
14796      node = node.return;
14797    }
14798  }
14799
14800  if (node.tag === HostRoot) {
14801    // TODO: Check if this was a nested HostRoot when used with
14802    // renderContainerIntoSubtree.
14803    return nearestMounted;
14804  } // If we didn't hit the root, that means that we're in an disconnected tree
14805  // that has been unmounted.
14806
14807
14808  return null;
14809}
14810function getSuspenseInstanceFromFiber(fiber) {
14811  if (fiber.tag === SuspenseComponent) {
14812    var suspenseState = fiber.memoizedState;
14813
14814    if (suspenseState === null) {
14815      var current = fiber.alternate;
14816
14817      if (current !== null) {
14818        suspenseState = current.memoizedState;
14819      }
14820    }
14821
14822    if (suspenseState !== null) {
14823      return suspenseState.dehydrated;
14824    }
14825  }
14826
14827  return null;
14828}
14829function getContainerFromFiber(fiber) {
14830  return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;
14831}
14832function isFiberMounted(fiber) {
14833  return getNearestMountedFiber(fiber) === fiber;
14834}
14835function isMounted(component) {
14836  {
14837    var owner = ReactCurrentOwner.current;
14838
14839    if (owner !== null && owner.tag === ClassComponent) {
14840      var ownerFiber = owner;
14841      var instance = ownerFiber.stateNode;
14842
14843      if (!instance._warnedAboutRefsInRender) {
14844        error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber.type) || 'A component');
14845      }
14846
14847      instance._warnedAboutRefsInRender = true;
14848    }
14849  }
14850
14851  var fiber = get(component);
14852
14853  if (!fiber) {
14854    return false;
14855  }
14856
14857  return getNearestMountedFiber(fiber) === fiber;
14858}
14859
14860function assertIsMounted(fiber) {
14861  if (!(getNearestMountedFiber(fiber) === fiber)) {
14862    {
14863      throw Error( "Unable to find node on an unmounted component." );
14864    }
14865  }
14866}
14867
14868function findCurrentFiberUsingSlowPath(fiber) {
14869  var alternate = fiber.alternate;
14870
14871  if (!alternate) {
14872    // If there is no alternate, then we only need to check if it is mounted.
14873    var nearestMounted = getNearestMountedFiber(fiber);
14874
14875    if (!(nearestMounted !== null)) {
14876      {
14877        throw Error( "Unable to find node on an unmounted component." );
14878      }
14879    }
14880
14881    if (nearestMounted !== fiber) {
14882      return null;
14883    }
14884
14885    return fiber;
14886  } // If we have two possible branches, we'll walk backwards up to the root
14887  // to see what path the root points to. On the way we may hit one of the
14888  // special cases and we'll deal with them.
14889
14890
14891  var a = fiber;
14892  var b = alternate;
14893
14894  while (true) {
14895    var parentA = a.return;
14896
14897    if (parentA === null) {
14898      // We're at the root.
14899      break;
14900    }
14901
14902    var parentB = parentA.alternate;
14903
14904    if (parentB === null) {
14905      // There is no alternate. This is an unusual case. Currently, it only
14906      // happens when a Suspense component is hidden. An extra fragment fiber
14907      // is inserted in between the Suspense fiber and its children. Skip
14908      // over this extra fragment fiber and proceed to the next parent.
14909      var nextParent = parentA.return;
14910
14911      if (nextParent !== null) {
14912        a = b = nextParent;
14913        continue;
14914      } // If there's no parent, we're at the root.
14915
14916
14917      break;
14918    } // If both copies of the parent fiber point to the same child, we can
14919    // assume that the child is current. This happens when we bailout on low
14920    // priority: the bailed out fiber's child reuses the current child.
14921
14922
14923    if (parentA.child === parentB.child) {
14924      var child = parentA.child;
14925
14926      while (child) {
14927        if (child === a) {
14928          // We've determined that A is the current branch.
14929          assertIsMounted(parentA);
14930          return fiber;
14931        }
14932
14933        if (child === b) {
14934          // We've determined that B is the current branch.
14935          assertIsMounted(parentA);
14936          return alternate;
14937        }
14938
14939        child = child.sibling;
14940      } // We should never have an alternate for any mounting node. So the only
14941      // way this could possibly happen is if this was unmounted, if at all.
14942
14943
14944      {
14945        {
14946          throw Error( "Unable to find node on an unmounted component." );
14947        }
14948      }
14949    }
14950
14951    if (a.return !== b.return) {
14952      // The return pointer of A and the return pointer of B point to different
14953      // fibers. We assume that return pointers never criss-cross, so A must
14954      // belong to the child set of A.return, and B must belong to the child
14955      // set of B.return.
14956      a = parentA;
14957      b = parentB;
14958    } else {
14959      // The return pointers point to the same fiber. We'll have to use the
14960      // default, slow path: scan the child sets of each parent alternate to see
14961      // which child belongs to which set.
14962      //
14963      // Search parent A's child set
14964      var didFindChild = false;
14965      var _child = parentA.child;
14966
14967      while (_child) {
14968        if (_child === a) {
14969          didFindChild = true;
14970          a = parentA;
14971          b = parentB;
14972          break;
14973        }
14974
14975        if (_child === b) {
14976          didFindChild = true;
14977          b = parentA;
14978          a = parentB;
14979          break;
14980        }
14981
14982        _child = _child.sibling;
14983      }
14984
14985      if (!didFindChild) {
14986        // Search parent B's child set
14987        _child = parentB.child;
14988
14989        while (_child) {
14990          if (_child === a) {
14991            didFindChild = true;
14992            a = parentB;
14993            b = parentA;
14994            break;
14995          }
14996
14997          if (_child === b) {
14998            didFindChild = true;
14999            b = parentB;
15000            a = parentA;
15001            break;
15002          }
15003
15004          _child = _child.sibling;
15005        }
15006
15007        if (!didFindChild) {
15008          {
15009            throw Error( "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." );
15010          }
15011        }
15012      }
15013    }
15014
15015    if (!(a.alternate === b)) {
15016      {
15017        throw Error( "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." );
15018      }
15019    }
15020  } // If the root is not a host container, we're in a disconnected tree. I.e.
15021  // unmounted.
15022
15023
15024  if (!(a.tag === HostRoot)) {
15025    {
15026      throw Error( "Unable to find node on an unmounted component." );
15027    }
15028  }
15029
15030  if (a.stateNode.current === a) {
15031    // We've determined that A is the current branch.
15032    return fiber;
15033  } // Otherwise B has to be current branch.
15034
15035
15036  return alternate;
15037}
15038function findCurrentHostFiber(parent) {
15039  var currentParent = findCurrentFiberUsingSlowPath(parent);
15040
15041  if (!currentParent) {
15042    return null;
15043  } // Next we'll drill down this component to find the first HostComponent/Text.
15044
15045
15046  var node = currentParent;
15047
15048  while (true) {
15049    if (node.tag === HostComponent || node.tag === HostText) {
15050      return node;
15051    } else if (node.child) {
15052      node.child.return = node;
15053      node = node.child;
15054      continue;
15055    }
15056
15057    if (node === currentParent) {
15058      return null;
15059    }
15060
15061    while (!node.sibling) {
15062      if (!node.return || node.return === currentParent) {
15063        return null;
15064      }
15065
15066      node = node.return;
15067    }
15068
15069    node.sibling.return = node.return;
15070    node = node.sibling;
15071  } // Flow needs the return null here, but ESLint complains about it.
15072  // eslint-disable-next-line no-unreachable
15073
15074
15075  return null;
15076}
15077function findCurrentHostFiberWithNoPortals(parent) {
15078  var currentParent = findCurrentFiberUsingSlowPath(parent);
15079
15080  if (!currentParent) {
15081    return null;
15082  } // Next we'll drill down this component to find the first HostComponent/Text.
15083
15084
15085  var node = currentParent;
15086
15087  while (true) {
15088    if (node.tag === HostComponent || node.tag === HostText || enableFundamentalAPI ) {
15089      return node;
15090    } else if (node.child && node.tag !== HostPortal) {
15091      node.child.return = node;
15092      node = node.child;
15093      continue;
15094    }
15095
15096    if (node === currentParent) {
15097      return null;
15098    }
15099
15100    while (!node.sibling) {
15101      if (!node.return || node.return === currentParent) {
15102        return null;
15103      }
15104
15105      node = node.return;
15106    }
15107
15108    node.sibling.return = node.return;
15109    node = node.sibling;
15110  } // Flow needs the return null here, but ESLint complains about it.
15111  // eslint-disable-next-line no-unreachable
15112
15113
15114  return null;
15115}
15116
15117/**
15118 * Accumulates items that must not be null or undefined into the first one. This
15119 * is used to conserve memory by avoiding array allocations, and thus sacrifices
15120 * API cleanness. Since `current` can be null before being passed in and not
15121 * null after this function, make sure to assign it back to `current`:
15122 *
15123 * `a = accumulateInto(a, b);`
15124 *
15125 * This API should be sparingly used. Try `accumulate` for something cleaner.
15126 *
15127 * @return {*|array<*>} An accumulation of items.
15128 */
15129
15130function accumulateInto(current, next) {
15131  if (!(next != null)) {
15132    {
15133      throw Error( "accumulateInto(...): Accumulated items must not be null or undefined." );
15134    }
15135  }
15136
15137  if (current == null) {
15138    return next;
15139  } // Both are not empty. Warning: Never call x.concat(y) when you are not
15140  // certain that x is an Array (x could be a string with concat method).
15141
15142
15143  if (Array.isArray(current)) {
15144    if (Array.isArray(next)) {
15145      current.push.apply(current, next);
15146      return current;
15147    }
15148
15149    current.push(next);
15150    return current;
15151  }
15152
15153  if (Array.isArray(next)) {
15154    // A bit too dangerous to mutate `next`.
15155    return [current].concat(next);
15156  }
15157
15158  return [current, next];
15159}
15160
15161/**
15162 * @param {array} arr an "accumulation" of items which is either an Array or
15163 * a single item. Useful when paired with the `accumulate` module. This is a
15164 * simple utility that allows us to reason about a collection of items, but
15165 * handling the case when there is exactly one item (and we do not need to
15166 * allocate an array).
15167 * @param {function} cb Callback invoked with each element or a collection.
15168 * @param {?} [scope] Scope used as `this` in a callback.
15169 */
15170function forEachAccumulated(arr, cb, scope) {
15171  if (Array.isArray(arr)) {
15172    arr.forEach(cb, scope);
15173  } else if (arr) {
15174    cb.call(scope, arr);
15175  }
15176}
15177
15178/**
15179 * Internal queue of events that have accumulated their dispatches and are
15180 * waiting to have their dispatches executed.
15181 */
15182
15183var eventQueue = null;
15184/**
15185 * Dispatches an event and releases it back into the pool, unless persistent.
15186 *
15187 * @param {?object} event Synthetic event to be dispatched.
15188 * @private
15189 */
15190
15191var executeDispatchesAndRelease = function (event) {
15192  if (event) {
15193    executeDispatchesInOrder(event);
15194
15195    if (!event.isPersistent()) {
15196      event.constructor.release(event);
15197    }
15198  }
15199};
15200
15201var executeDispatchesAndReleaseTopLevel = function (e) {
15202  return executeDispatchesAndRelease(e);
15203};
15204
15205function runEventsInBatch(events) {
15206  if (events !== null) {
15207    eventQueue = accumulateInto(eventQueue, events);
15208  } // Set `eventQueue` to null before processing it so that we can tell if more
15209  // events get enqueued while processing.
15210
15211
15212  var processingEventQueue = eventQueue;
15213  eventQueue = null;
15214
15215  if (!processingEventQueue) {
15216    return;
15217  }
15218
15219  forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);
15220
15221  if (!!eventQueue) {
15222    {
15223      throw Error( "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented." );
15224    }
15225  } // This would be a good time to rethrow if any of the event handlers threw.
15226
15227
15228  rethrowCaughtError();
15229}
15230
15231/**
15232 * Gets the target node from a native browser event by accounting for
15233 * inconsistencies in browser DOM APIs.
15234 *
15235 * @param {object} nativeEvent Native browser event.
15236 * @return {DOMEventTarget} Target node.
15237 */
15238
15239function getEventTarget(nativeEvent) {
15240  // Fallback to nativeEvent.srcElement for IE9
15241  // https://github.com/facebook/react/issues/12506
15242  var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963
15243
15244  if (target.correspondingUseElement) {
15245    target = target.correspondingUseElement;
15246  } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).
15247  // @see http://www.quirksmode.org/js/events_properties.html
15248
15249
15250  return target.nodeType === TEXT_NODE ? target.parentNode : target;
15251}
15252
15253/**
15254 * Checks if an event is supported in the current execution environment.
15255 *
15256 * NOTE: This will not work correctly for non-generic events such as `change`,
15257 * `reset`, `load`, `error`, and `select`.
15258 *
15259 * Borrows from Modernizr.
15260 *
15261 * @param {string} eventNameSuffix Event name, e.g. "click".
15262 * @return {boolean} True if the event is supported.
15263 * @internal
15264 * @license Modernizr 3.0.0pre (Custom Build) | MIT
15265 */
15266function isEventSupported(eventNameSuffix){if(!canUseDOM){return!1}
15267var eventName='on'+eventNameSuffix;var isSupported=eventName in document;if(!isSupported){var element=document.createElement('div');element.setAttribute(eventName,'return;');isSupported=typeof element[eventName]==='function'}
15268return isSupported}
15269/**
15270 * Summary of `DOMEventPluginSystem` event handling:
15271 *
15272 *  - Top-level delegation is used to trap most native browser events. This
15273 *    may only occur in the main thread and is the responsibility of
15274 *    ReactDOMEventListener, which is injected and can therefore support
15275 *    pluggable event sources. This is the only work that occurs in the main
15276 *    thread.
15277 *
15278 *  - We normalize and de-duplicate events to account for browser quirks. This
15279 *    may be done in the worker thread.
15280 *
15281 *  - Forward these native events (with the associated top-level type used to
15282 *    trap it) to `EventPluginRegistry`, which in turn will ask plugins if they want
15283 *    to extract any synthetic events.
15284 *
15285 *  - The `EventPluginRegistry` will then process each event by annotating them with
15286 *    "dispatches", a sequence of listeners and IDs that care about that event.
15287 *
15288 *  - The `EventPluginRegistry` then dispatches the events.
15289 *
15290 * Overview of React and the event system:
15291 *
15292 * +------------+    .
15293 * |    DOM     |    .
15294 * +------------+    .
15295 *       |           .
15296 *       v           .
15297 * +------------+    .
15298 * | ReactEvent |    .
15299 * |  Listener  |    .
15300 * +------------+    .                         +-----------+
15301 *       |           .               +--------+|SimpleEvent|
15302 *       |           .               |         |Plugin     |
15303 * +-----|------+    .               v         +-----------+
15304 * |     |      |    .    +--------------+                    +------------+
15305 * |     +-----------.--->|PluginRegistry|                    |    Event   |
15306 * |            |    .    |              |     +-----------+  | Propagators|
15307 * | ReactEvent |    .    |              |     |TapEvent   |  |------------|
15308 * |  Emitter   |    .    |              |<---+|Plugin     |  |other plugin|
15309 * |            |    .    |              |     +-----------+  |  utilities |
15310 * |     +-----------.--->|              |                    +------------+
15311 * |     |      |    .    +--------------+
15312 * +-----|------+    .                ^        +-----------+
15313 *       |           .                |        |Enter/Leave|
15314 *       +           .                +-------+|Plugin     |
15315 * +-------------+   .                         +-----------+
15316 * | application |   .
15317 * |-------------|   .
15318 * |             |   .
15319 * |             |   .
15320 * +-------------+   .
15321 *                   .
15322 *    React Core     .  General Purpose Event Plugin System
15323 */
15324
15325var CALLBACK_BOOKKEEPING_POOL_SIZE = 10;
15326var callbackBookkeepingPool = [];
15327
15328function releaseTopLevelCallbackBookKeeping(instance) {
15329  instance.topLevelType = null;
15330  instance.nativeEvent = null;
15331  instance.targetInst = null;
15332  instance.ancestors.length = 0;
15333
15334  if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) {
15335    callbackBookkeepingPool.push(instance);
15336  }
15337} // Used to store ancestor hierarchy in top level callback
15338
15339
15340function getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags) {
15341  if (callbackBookkeepingPool.length) {
15342    var instance = callbackBookkeepingPool.pop();
15343    instance.topLevelType = topLevelType;
15344    instance.eventSystemFlags = eventSystemFlags;
15345    instance.nativeEvent = nativeEvent;
15346    instance.targetInst = targetInst;
15347    return instance;
15348  }
15349
15350  return {
15351    topLevelType: topLevelType,
15352    eventSystemFlags: eventSystemFlags,
15353    nativeEvent: nativeEvent,
15354    targetInst: targetInst,
15355    ancestors: []
15356  };
15357}
15358/**
15359 * Find the deepest React component completely containing the root of the
15360 * passed-in instance (for use when entire React trees are nested within each
15361 * other). If React trees are not nested, returns null.
15362 */
15363
15364
15365function findRootContainerNode(inst) {
15366  if (inst.tag === HostRoot) {
15367    return inst.stateNode.containerInfo;
15368  } // TODO: It may be a good idea to cache this to prevent unnecessary DOM
15369  // traversal, but caching is difficult to do correctly without using a
15370  // mutation observer to listen for all DOM changes.
15371
15372
15373  while (inst.return) {
15374    inst = inst.return;
15375  }
15376
15377  if (inst.tag !== HostRoot) {
15378    // This can happen if we're in a detached tree.
15379    return null;
15380  }
15381
15382  return inst.stateNode.containerInfo;
15383}
15384/**
15385 * Allows registered plugins an opportunity to extract events from top-level
15386 * native browser events.
15387 *
15388 * @return {*} An accumulation of synthetic events.
15389 * @internal
15390 */
15391
15392
15393function extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
15394  var events = null;
15395
15396  for (var i = 0; i < plugins.length; i++) {
15397    // Not every plugin in the ordering may be loaded at runtime.
15398    var possiblePlugin = plugins[i];
15399
15400    if (possiblePlugin) {
15401      var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);
15402
15403      if (extractedEvents) {
15404        events = accumulateInto(events, extractedEvents);
15405      }
15406    }
15407  }
15408
15409  return events;
15410}
15411
15412function runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
15413  var events = extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);
15414  runEventsInBatch(events);
15415}
15416
15417function handleTopLevel(bookKeeping) {
15418  var targetInst = bookKeeping.targetInst; // Loop through the hierarchy, in case there's any nested components.
15419  // It's important that we build the array of ancestors before calling any
15420  // event handlers, because event handlers can modify the DOM, leading to
15421  // inconsistencies with ReactMount's node cache. See #1105.
15422
15423  var ancestor = targetInst;
15424
15425  do {
15426    if (!ancestor) {
15427      var ancestors = bookKeeping.ancestors;
15428      ancestors.push(ancestor);
15429      break;
15430    }
15431
15432    var root = findRootContainerNode(ancestor);
15433
15434    if (!root) {
15435      break;
15436    }
15437
15438    var tag = ancestor.tag;
15439
15440    if (tag === HostComponent || tag === HostText) {
15441      bookKeeping.ancestors.push(ancestor);
15442    }
15443
15444    ancestor = getClosestInstanceFromNode(root);
15445  } while (ancestor);
15446
15447  for (var i = 0; i < bookKeeping.ancestors.length; i++) {
15448    targetInst = bookKeeping.ancestors[i];
15449    var eventTarget = getEventTarget(bookKeeping.nativeEvent);
15450    var topLevelType = bookKeeping.topLevelType;
15451    var nativeEvent = bookKeeping.nativeEvent;
15452    var eventSystemFlags = bookKeeping.eventSystemFlags; // If this is the first ancestor, we mark it on the system flags
15453
15454    if (i === 0) {
15455      eventSystemFlags |= IS_FIRST_ANCESTOR;
15456    }
15457
15458    runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, eventTarget, eventSystemFlags);
15459  }
15460}
15461
15462function dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst) {
15463  var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags);
15464
15465  try {
15466    // Event queue being processed in the same cycle allows
15467    // `preventDefault`.
15468    batchedEventUpdates(handleTopLevel, bookKeeping);
15469  } finally {
15470    releaseTopLevelCallbackBookKeeping(bookKeeping);
15471  }
15472}
15473/**
15474 * We listen for bubbled touch events on the document object.
15475 *
15476 * Firefox v8.01 (and possibly others) exhibited strange behavior when
15477 * mounting `onmousemove` events at some node that was not the document
15478 * element. The symptoms were that if your mouse is not moving over something
15479 * contained within that mount point (for example on the background) the
15480 * top-level listeners for `onmousemove` won't be called. However, if you
15481 * register the `mousemove` on the document object, then it will of course
15482 * catch all `mousemove`s. This along with iOS quirks, justifies restricting
15483 * top-level listeners to the document object only, at least for these
15484 * movement types of events and possibly all events.
15485 *
15486 * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
15487 *
15488 * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but
15489 * they bubble to document.
15490 *
15491 * @param {string} registrationName Name of listener (e.g. `onClick`).
15492 * @param {object} mountAt Container where to mount the listener
15493 */
15494
15495function legacyListenToEvent(registrationName, mountAt) {
15496  var listenerMap = getListenerMapForElement(mountAt);
15497  var dependencies = registrationNameDependencies[registrationName];
15498
15499  for (var i = 0; i < dependencies.length; i++) {
15500    var dependency = dependencies[i];
15501    legacyListenToTopLevelEvent(dependency, mountAt, listenerMap);
15502  }
15503}
15504function legacyListenToTopLevelEvent(topLevelType, mountAt, listenerMap) {
15505  if (!listenerMap.has(topLevelType)) {
15506    switch (topLevelType) {
15507      case TOP_SCROLL:
15508        trapCapturedEvent(TOP_SCROLL, mountAt);
15509        break;
15510
15511      case TOP_FOCUS:
15512      case TOP_BLUR:
15513        trapCapturedEvent(TOP_FOCUS, mountAt);
15514        trapCapturedEvent(TOP_BLUR, mountAt); // We set the flag for a single dependency later in this function,
15515        // but this ensures we mark both as attached rather than just one.
15516
15517        listenerMap.set(TOP_BLUR, null);
15518        listenerMap.set(TOP_FOCUS, null);
15519        break;
15520
15521      case TOP_CANCEL:
15522      case TOP_CLOSE:
15523        if (isEventSupported(getRawEventName(topLevelType))) {
15524          trapCapturedEvent(topLevelType, mountAt);
15525        }
15526
15527        break;
15528
15529      case TOP_INVALID:
15530      case TOP_SUBMIT:
15531      case TOP_RESET:
15532        // We listen to them on the target DOM elements.
15533        // Some of them bubble so we don't want them to fire twice.
15534        break;
15535
15536      default:
15537        // By default, listen on the top level to all non-media events.
15538        // Media events don't bubble so adding the listener wouldn't do anything.
15539        var isMediaEvent = mediaEventTypes.indexOf(topLevelType) !== -1;
15540
15541        if (!isMediaEvent) {
15542          trapBubbledEvent(topLevelType, mountAt);
15543        }
15544
15545        break;
15546    }
15547
15548    listenerMap.set(topLevelType, null);
15549  }
15550}
15551function isListeningToAllDependencies(registrationName, mountAt) {
15552  var listenerMap = getListenerMapForElement(mountAt);
15553  var dependencies = registrationNameDependencies[registrationName];
15554
15555  for (var i = 0; i < dependencies.length; i++) {
15556    var dependency = dependencies[i];
15557
15558    if (!listenerMap.has(dependency)) {
15559      return false;
15560    }
15561  }
15562
15563  return true;
15564}
15565
15566var attemptUserBlockingHydration;
15567function setAttemptUserBlockingHydration(fn) {
15568  attemptUserBlockingHydration = fn;
15569}
15570var attemptContinuousHydration;
15571function setAttemptContinuousHydration(fn) {
15572  attemptContinuousHydration = fn;
15573}
15574var attemptHydrationAtCurrentPriority;
15575function setAttemptHydrationAtCurrentPriority(fn) {
15576  attemptHydrationAtCurrentPriority = fn;
15577} // TODO: Upgrade this definition once we're on a newer version of Flow that
15578var hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.
15579
15580var queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.
15581// if the last target was dehydrated.
15582
15583var queuedFocus = null;
15584var queuedDrag = null;
15585var queuedMouse = null; // For pointer events there can be one latest event per pointerId.
15586
15587var queuedPointers = new Map();
15588var queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.
15589
15590var queuedExplicitHydrationTargets = [];
15591function hasQueuedDiscreteEvents() {
15592  return queuedDiscreteEvents.length > 0;
15593}
15594var discreteReplayableEvents = [TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_TOUCH_CANCEL, TOP_TOUCH_END, TOP_TOUCH_START, TOP_AUX_CLICK, TOP_DOUBLE_CLICK, TOP_POINTER_CANCEL, TOP_POINTER_DOWN, TOP_POINTER_UP, TOP_DRAG_END, TOP_DRAG_START, TOP_DROP, TOP_COMPOSITION_END, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_INPUT, TOP_TEXT_INPUT, TOP_CLOSE, TOP_CANCEL, TOP_COPY, TOP_CUT, TOP_PASTE, TOP_CLICK, TOP_CHANGE, TOP_CONTEXT_MENU, TOP_RESET, TOP_SUBMIT];
15595var continuousReplayableEvents = [TOP_FOCUS, TOP_BLUR, TOP_DRAG_ENTER, TOP_DRAG_LEAVE, TOP_MOUSE_OVER, TOP_MOUSE_OUT, TOP_POINTER_OVER, TOP_POINTER_OUT, TOP_GOT_POINTER_CAPTURE, TOP_LOST_POINTER_CAPTURE];
15596function isReplayableDiscreteEvent(eventType) {
15597  return discreteReplayableEvents.indexOf(eventType) > -1;
15598}
15599
15600function trapReplayableEventForDocument(topLevelType, document, listenerMap) {
15601  legacyListenToTopLevelEvent(topLevelType, document, listenerMap);
15602}
15603
15604function eagerlyTrapReplayableEvents(container, document) {
15605  var listenerMapForDoc = getListenerMapForElement(document); // Discrete
15606
15607  discreteReplayableEvents.forEach(function (topLevelType) {
15608    trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc);
15609  }); // Continuous
15610
15611  continuousReplayableEvents.forEach(function (topLevelType) {
15612    trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc);
15613  });
15614}
15615
15616function createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
15617  return {
15618    blockedOn: blockedOn,
15619    topLevelType: topLevelType,
15620    eventSystemFlags: eventSystemFlags | IS_REPLAYED,
15621    nativeEvent: nativeEvent,
15622    container: container
15623  };
15624}
15625
15626function queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
15627  var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);
15628  queuedDiscreteEvents.push(queuedEvent);
15629} // Resets the replaying for this type of continuous event to no event.
15630
15631function clearIfContinuousEvent(topLevelType, nativeEvent) {
15632  switch (topLevelType) {
15633    case TOP_FOCUS:
15634    case TOP_BLUR:
15635      queuedFocus = null;
15636      break;
15637
15638    case TOP_DRAG_ENTER:
15639    case TOP_DRAG_LEAVE:
15640      queuedDrag = null;
15641      break;
15642
15643    case TOP_MOUSE_OVER:
15644    case TOP_MOUSE_OUT:
15645      queuedMouse = null;
15646      break;
15647
15648    case TOP_POINTER_OVER:
15649    case TOP_POINTER_OUT:
15650      {
15651        var pointerId = nativeEvent.pointerId;
15652        queuedPointers.delete(pointerId);
15653        break;
15654      }
15655
15656    case TOP_GOT_POINTER_CAPTURE:
15657    case TOP_LOST_POINTER_CAPTURE:
15658      {
15659        var _pointerId = nativeEvent.pointerId;
15660        queuedPointerCaptures.delete(_pointerId);
15661        break;
15662      }
15663  }
15664}
15665
15666function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
15667  if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {
15668    var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);
15669
15670    if (blockedOn !== null) {
15671      var _fiber2 = getInstanceFromNode$1(blockedOn);
15672
15673      if (_fiber2 !== null) {
15674        // Attempt to increase the priority of this target.
15675        attemptContinuousHydration(_fiber2);
15676      }
15677    }
15678
15679    return queuedEvent;
15680  } // If we have already queued this exact event, then it's because
15681  // the different event systems have different DOM event listeners.
15682  // We can accumulate the flags and store a single event to be
15683  // replayed.
15684
15685
15686  existingQueuedEvent.eventSystemFlags |= eventSystemFlags;
15687  return existingQueuedEvent;
15688}
15689
15690function queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
15691  // These set relatedTarget to null because the replayed event will be treated as if we
15692  // moved from outside the window (no target) onto the target once it hydrates.
15693  // Instead of mutating we could clone the event.
15694  switch (topLevelType) {
15695    case TOP_FOCUS:
15696      {
15697        var focusEvent = nativeEvent;
15698        queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, topLevelType, eventSystemFlags, container, focusEvent);
15699        return true;
15700      }
15701
15702    case TOP_DRAG_ENTER:
15703      {
15704        var dragEvent = nativeEvent;
15705        queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, topLevelType, eventSystemFlags, container, dragEvent);
15706        return true;
15707      }
15708
15709    case TOP_MOUSE_OVER:
15710      {
15711        var mouseEvent = nativeEvent;
15712        queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, topLevelType, eventSystemFlags, container, mouseEvent);
15713        return true;
15714      }
15715
15716    case TOP_POINTER_OVER:
15717      {
15718        var pointerEvent = nativeEvent;
15719        var pointerId = pointerEvent.pointerId;
15720        queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, topLevelType, eventSystemFlags, container, pointerEvent));
15721        return true;
15722      }
15723
15724    case TOP_GOT_POINTER_CAPTURE:
15725      {
15726        var _pointerEvent = nativeEvent;
15727        var _pointerId2 = _pointerEvent.pointerId;
15728        queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, topLevelType, eventSystemFlags, container, _pointerEvent));
15729        return true;
15730      }
15731  }
15732
15733  return false;
15734} // Check if this target is unblocked. Returns true if it's unblocked.
15735
15736function attemptExplicitHydrationTarget(queuedTarget) {
15737  // TODO: This function shares a lot of logic with attemptToDispatchEvent.
15738  // Try to unify them. It's a bit tricky since it would require two return
15739  // values.
15740  var targetInst = getClosestInstanceFromNode(queuedTarget.target);
15741
15742  if (targetInst !== null) {
15743    var nearestMounted = getNearestMountedFiber(targetInst);
15744
15745    if (nearestMounted !== null) {
15746      var tag = nearestMounted.tag;
15747
15748      if (tag === SuspenseComponent) {
15749        var instance = getSuspenseInstanceFromFiber(nearestMounted);
15750
15751        if (instance !== null) {
15752          // We're blocked on hydrating this boundary.
15753          // Increase its priority.
15754          queuedTarget.blockedOn = instance;
15755          Scheduler.unstable_runWithPriority(queuedTarget.priority, function () {
15756            attemptHydrationAtCurrentPriority(nearestMounted);
15757          });
15758          return;
15759        }
15760      } else if (tag === HostRoot) {
15761        var root = nearestMounted.stateNode;
15762
15763        if (root.hydrate) {
15764          queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of
15765          // a root other than sync.
15766
15767          return;
15768        }
15769      }
15770    }
15771  }
15772
15773  queuedTarget.blockedOn = null;
15774}
15775
15776function attemptReplayContinuousQueuedEvent(queuedEvent) {
15777  if (queuedEvent.blockedOn !== null) {
15778    return false;
15779  }
15780
15781  var nextBlockedOn = attemptToDispatchEvent(queuedEvent.topLevelType, queuedEvent.eventSystemFlags, queuedEvent.container, queuedEvent.nativeEvent);
15782
15783  if (nextBlockedOn !== null) {
15784    // We're still blocked. Try again later.
15785    var _fiber3 = getInstanceFromNode$1(nextBlockedOn);
15786
15787    if (_fiber3 !== null) {
15788      attemptContinuousHydration(_fiber3);
15789    }
15790
15791    queuedEvent.blockedOn = nextBlockedOn;
15792    return false;
15793  }
15794
15795  return true;
15796}
15797
15798function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
15799  if (attemptReplayContinuousQueuedEvent(queuedEvent)) {
15800    map.delete(key);
15801  }
15802}
15803
15804function replayUnblockedEvents() {
15805  hasScheduledReplayAttempt = false; // First replay discrete events.
15806
15807  while (queuedDiscreteEvents.length > 0) {
15808    var nextDiscreteEvent = queuedDiscreteEvents[0];
15809
15810    if (nextDiscreteEvent.blockedOn !== null) {
15811      // We're still blocked.
15812      // Increase the priority of this boundary to unblock
15813      // the next discrete event.
15814      var _fiber4 = getInstanceFromNode$1(nextDiscreteEvent.blockedOn);
15815
15816      if (_fiber4 !== null) {
15817        attemptUserBlockingHydration(_fiber4);
15818      }
15819
15820      break;
15821    }
15822
15823    var nextBlockedOn = attemptToDispatchEvent(nextDiscreteEvent.topLevelType, nextDiscreteEvent.eventSystemFlags, nextDiscreteEvent.container, nextDiscreteEvent.nativeEvent);
15824
15825    if (nextBlockedOn !== null) {
15826      // We're still blocked. Try again later.
15827      nextDiscreteEvent.blockedOn = nextBlockedOn;
15828    } else {
15829      // We've successfully replayed the first event. Let's try the next one.
15830      queuedDiscreteEvents.shift();
15831    }
15832  } // Next replay any continuous events.
15833
15834
15835  if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {
15836    queuedFocus = null;
15837  }
15838
15839  if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {
15840    queuedDrag = null;
15841  }
15842
15843  if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {
15844    queuedMouse = null;
15845  }
15846
15847  queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);
15848  queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);
15849}
15850
15851function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {
15852  if (queuedEvent.blockedOn === unblocked) {
15853    queuedEvent.blockedOn = null;
15854
15855    if (!hasScheduledReplayAttempt) {
15856      hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are
15857      // now unblocked. This first might not actually be unblocked yet.
15858      // We could check it early to avoid scheduling an unnecessary callback.
15859
15860      Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);
15861    }
15862  }
15863}
15864
15865function retryIfBlockedOn(unblocked) {
15866  // Mark anything that was blocked on this as no longer blocked
15867  // and eligible for a replay.
15868  if (queuedDiscreteEvents.length > 0) {
15869    scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's
15870    // worth it because we expect very few discrete events to queue up and once
15871    // we are actually fully unblocked it will be fast to replay them.
15872
15873    for (var i = 1; i < queuedDiscreteEvents.length; i++) {
15874      var queuedEvent = queuedDiscreteEvents[i];
15875
15876      if (queuedEvent.blockedOn === unblocked) {
15877        queuedEvent.blockedOn = null;
15878      }
15879    }
15880  }
15881
15882  if (queuedFocus !== null) {
15883    scheduleCallbackIfUnblocked(queuedFocus, unblocked);
15884  }
15885
15886  if (queuedDrag !== null) {
15887    scheduleCallbackIfUnblocked(queuedDrag, unblocked);
15888  }
15889
15890  if (queuedMouse !== null) {
15891    scheduleCallbackIfUnblocked(queuedMouse, unblocked);
15892  }
15893
15894  var unblock = function (queuedEvent) {
15895    return scheduleCallbackIfUnblocked(queuedEvent, unblocked);
15896  };
15897
15898  queuedPointers.forEach(unblock);
15899  queuedPointerCaptures.forEach(unblock);
15900
15901  for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {
15902    var queuedTarget = queuedExplicitHydrationTargets[_i];
15903
15904    if (queuedTarget.blockedOn === unblocked) {
15905      queuedTarget.blockedOn = null;
15906    }
15907  }
15908
15909  while (queuedExplicitHydrationTargets.length > 0) {
15910    var nextExplicitTarget = queuedExplicitHydrationTargets[0];
15911
15912    if (nextExplicitTarget.blockedOn !== null) {
15913      // We're still blocked.
15914      break;
15915    } else {
15916      attemptExplicitHydrationTarget(nextExplicitTarget);
15917
15918      if (nextExplicitTarget.blockedOn === null) {
15919        // We're unblocked.
15920        queuedExplicitHydrationTargets.shift();
15921      }
15922    }
15923  }
15924}
15925
15926function addEventBubbleListener(element, eventType, listener) {
15927  element.addEventListener(eventType, listener, false);
15928}
15929function addEventCaptureListener(element, eventType, listener) {
15930  element.addEventListener(eventType, listener, true);
15931}
15932
15933// do it in two places, which duplicates logic
15934// and increases the bundle size, we do it all
15935// here once. If we remove or refactor the
15936// SimpleEventPlugin, we should also remove or
15937// update the below line.
15938
15939var simpleEventPluginEventTypes = {};
15940var topLevelEventsToDispatchConfig = new Map();
15941var eventPriorities = new Map(); // We store most of the events in this module in pairs of two strings so we can re-use
15942// the code required to apply the same logic for event prioritization and that of the
15943// SimpleEventPlugin. This complicates things slightly, but the aim is to reduce code
15944// duplication (for which there would be quite a bit). For the events that are not needed
15945// for the SimpleEventPlugin (otherDiscreteEvents) we process them separately as an
15946// array of top level events.
15947// Lastly, we ignore prettier so we can keep the formatting sane.
15948// prettier-ignore
15949
15950var discreteEventPairsForSimpleEventPlugin = [TOP_BLUR, 'blur', TOP_CANCEL, 'cancel', TOP_CLICK, 'click', TOP_CLOSE, 'close', TOP_CONTEXT_MENU, 'contextMenu', TOP_COPY, 'copy', TOP_CUT, 'cut', TOP_AUX_CLICK, 'auxClick', TOP_DOUBLE_CLICK, 'doubleClick', TOP_DRAG_END, 'dragEnd', TOP_DRAG_START, 'dragStart', TOP_DROP, 'drop', TOP_FOCUS, 'focus', TOP_INPUT, 'input', TOP_INVALID, 'invalid', TOP_KEY_DOWN, 'keyDown', TOP_KEY_PRESS, 'keyPress', TOP_KEY_UP, 'keyUp', TOP_MOUSE_DOWN, 'mouseDown', TOP_MOUSE_UP, 'mouseUp', TOP_PASTE, 'paste', TOP_PAUSE, 'pause', TOP_PLAY, 'play', TOP_POINTER_CANCEL, 'pointerCancel', TOP_POINTER_DOWN, 'pointerDown', TOP_POINTER_UP, 'pointerUp', TOP_RATE_CHANGE, 'rateChange', TOP_RESET, 'reset', TOP_SEEKED, 'seeked', TOP_SUBMIT, 'submit', TOP_TOUCH_CANCEL, 'touchCancel', TOP_TOUCH_END, 'touchEnd', TOP_TOUCH_START, 'touchStart', TOP_VOLUME_CHANGE, 'volumeChange'];
15951var otherDiscreteEvents = [TOP_CHANGE, TOP_SELECTION_CHANGE, TOP_TEXT_INPUT, TOP_COMPOSITION_START, TOP_COMPOSITION_END, TOP_COMPOSITION_UPDATE]; // prettier-ignore
15952
15953var userBlockingPairsForSimpleEventPlugin = [TOP_DRAG, 'drag', TOP_DRAG_ENTER, 'dragEnter', TOP_DRAG_EXIT, 'dragExit', TOP_DRAG_LEAVE, 'dragLeave', TOP_DRAG_OVER, 'dragOver', TOP_MOUSE_MOVE, 'mouseMove', TOP_MOUSE_OUT, 'mouseOut', TOP_MOUSE_OVER, 'mouseOver', TOP_POINTER_MOVE, 'pointerMove', TOP_POINTER_OUT, 'pointerOut', TOP_POINTER_OVER, 'pointerOver', TOP_SCROLL, 'scroll', TOP_TOGGLE, 'toggle', TOP_TOUCH_MOVE, 'touchMove', TOP_WHEEL, 'wheel']; // prettier-ignore
15954
15955var continuousPairsForSimpleEventPlugin = [TOP_ABORT, 'abort', TOP_ANIMATION_END, 'animationEnd', TOP_ANIMATION_ITERATION, 'animationIteration', TOP_ANIMATION_START, 'animationStart', TOP_CAN_PLAY, 'canPlay', TOP_CAN_PLAY_THROUGH, 'canPlayThrough', TOP_DURATION_CHANGE, 'durationChange', TOP_EMPTIED, 'emptied', TOP_ENCRYPTED, 'encrypted', TOP_ENDED, 'ended', TOP_ERROR, 'error', TOP_GOT_POINTER_CAPTURE, 'gotPointerCapture', TOP_LOAD, 'load', TOP_LOADED_DATA, 'loadedData', TOP_LOADED_METADATA, 'loadedMetadata', TOP_LOAD_START, 'loadStart', TOP_LOST_POINTER_CAPTURE, 'lostPointerCapture', TOP_PLAYING, 'playing', TOP_PROGRESS, 'progress', TOP_SEEKING, 'seeking', TOP_STALLED, 'stalled', TOP_SUSPEND, 'suspend', TOP_TIME_UPDATE, 'timeUpdate', TOP_TRANSITION_END, 'transitionEnd', TOP_WAITING, 'waiting'];
15956/**
15957 * Turns
15958 * ['abort', ...]
15959 * into
15960 * eventTypes = {
15961 *   'abort': {
15962 *     phasedRegistrationNames: {
15963 *       bubbled: 'onAbort',
15964 *       captured: 'onAbortCapture',
15965 *     },
15966 *     dependencies: [TOP_ABORT],
15967 *   },
15968 *   ...
15969 * };
15970 * topLevelEventsToDispatchConfig = new Map([
15971 *   [TOP_ABORT, { sameConfig }],
15972 * ]);
15973 */
15974
15975function processSimpleEventPluginPairsByPriority(eventTypes, priority) {
15976  // As the event types are in pairs of two, we need to iterate
15977  // through in twos. The events are in pairs of two to save code
15978  // and improve init perf of processing this array, as it will
15979  // result in far fewer object allocations and property accesses
15980  // if we only use three arrays to process all the categories of
15981  // instead of tuples.
15982  for (var i = 0; i < eventTypes.length; i += 2) {
15983    var topEvent = eventTypes[i];
15984    var event = eventTypes[i + 1];
15985    var capitalizedEvent = event[0].toUpperCase() + event.slice(1);
15986    var onEvent = 'on' + capitalizedEvent;
15987    var config = {
15988      phasedRegistrationNames: {
15989        bubbled: onEvent,
15990        captured: onEvent + 'Capture'
15991      },
15992      dependencies: [topEvent],
15993      eventPriority: priority
15994    };
15995    eventPriorities.set(topEvent, priority);
15996    topLevelEventsToDispatchConfig.set(topEvent, config);
15997    simpleEventPluginEventTypes[event] = config;
15998  }
15999}
16000
16001function processTopEventPairsByPriority(eventTypes, priority) {
16002  for (var i = 0; i < eventTypes.length; i++) {
16003    eventPriorities.set(eventTypes[i], priority);
16004  }
16005} // SimpleEventPlugin
16006
16007
16008processSimpleEventPluginPairsByPriority(discreteEventPairsForSimpleEventPlugin, DiscreteEvent);
16009processSimpleEventPluginPairsByPriority(userBlockingPairsForSimpleEventPlugin, UserBlockingEvent);
16010processSimpleEventPluginPairsByPriority(continuousPairsForSimpleEventPlugin, ContinuousEvent); // Not used by SimpleEventPlugin
16011
16012processTopEventPairsByPriority(otherDiscreteEvents, DiscreteEvent);
16013function getEventPriorityForPluginSystem(topLevelType) {
16014  var priority = eventPriorities.get(topLevelType); // Default to a ContinuousEvent. Note: we might
16015  // want to warn if we can't detect the priority
16016  // for the event.
16017
16018  return priority === undefined ? ContinuousEvent : priority;
16019}
16020
16021// Intentionally not named imports because Rollup would use dynamic dispatch for
16022var UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,
16023    runWithPriority = Scheduler.unstable_runWithPriority; // TODO: can we stop exporting these?
16024
16025var _enabled = true;
16026function setEnabled(enabled) {
16027  _enabled = !!enabled;
16028}
16029function isEnabled() {
16030  return _enabled;
16031}
16032function trapBubbledEvent(topLevelType, element) {
16033  trapEventForPluginEventSystem(element, topLevelType, false);
16034}
16035function trapCapturedEvent(topLevelType, element) {
16036  trapEventForPluginEventSystem(element, topLevelType, true);
16037}
16038
16039function trapEventForPluginEventSystem(container, topLevelType, capture) {
16040  var listener;
16041
16042  switch (getEventPriorityForPluginSystem(topLevelType)) {
16043    case DiscreteEvent:
16044      listener = dispatchDiscreteEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);
16045      break;
16046
16047    case UserBlockingEvent:
16048      listener = dispatchUserBlockingUpdate.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);
16049      break;
16050
16051    case ContinuousEvent:
16052    default:
16053      listener = dispatchEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);
16054      break;
16055  }
16056
16057  var rawEventName = getRawEventName(topLevelType);
16058
16059  if (capture) {
16060    addEventCaptureListener(container, rawEventName, listener);
16061  } else {
16062    addEventBubbleListener(container, rawEventName, listener);
16063  }
16064}
16065
16066function dispatchDiscreteEvent(topLevelType, eventSystemFlags, container, nativeEvent) {
16067  flushDiscreteUpdatesIfNeeded(nativeEvent.timeStamp);
16068  discreteUpdates(dispatchEvent, topLevelType, eventSystemFlags, container, nativeEvent);
16069}
16070
16071function dispatchUserBlockingUpdate(topLevelType, eventSystemFlags, container, nativeEvent) {
16072  runWithPriority(UserBlockingPriority, dispatchEvent.bind(null, topLevelType, eventSystemFlags, container, nativeEvent));
16073}
16074
16075function dispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) {
16076  if (!_enabled) {
16077    return;
16078  }
16079
16080  if (hasQueuedDiscreteEvents() && isReplayableDiscreteEvent(topLevelType)) {
16081    // If we already have a queue of discrete events, and this is another discrete
16082    // event, then we can't dispatch it regardless of its target, since they
16083    // need to dispatch in order.
16084    queueDiscreteEvent(null, // Flags that we're not actually blocked on anything as far as we know.
16085    topLevelType, eventSystemFlags, container, nativeEvent);
16086    return;
16087  }
16088
16089  var blockedOn = attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent);
16090
16091  if (blockedOn === null) {
16092    // We successfully dispatched this event.
16093    clearIfContinuousEvent(topLevelType, nativeEvent);
16094    return;
16095  }
16096
16097  if (isReplayableDiscreteEvent(topLevelType)) {
16098    // This this to be replayed later once the target is available.
16099    queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);
16100    return;
16101  }
16102
16103  if (queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent)) {
16104    return;
16105  } // We need to clear only if we didn't queue because
16106  // queueing is accummulative.
16107
16108
16109  clearIfContinuousEvent(topLevelType, nativeEvent); // This is not replayable so we'll invoke it but without a target,
16110  // in case the event system needs to trace it.
16111
16112  {
16113    dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, null);
16114  }
16115} // Attempt dispatching an event. Returns a SuspenseInstance or Container if it's blocked.
16116
16117function attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) {
16118  // TODO: Warn if _enabled is false.
16119  var nativeEventTarget = getEventTarget(nativeEvent);
16120  var targetInst = getClosestInstanceFromNode(nativeEventTarget);
16121
16122  if (targetInst !== null) {
16123    var nearestMounted = getNearestMountedFiber(targetInst);
16124
16125    if (nearestMounted === null) {
16126      // This tree has been unmounted already. Dispatch without a target.
16127      targetInst = null;
16128    } else {
16129      var tag = nearestMounted.tag;
16130
16131      if (tag === SuspenseComponent) {
16132        var instance = getSuspenseInstanceFromFiber(nearestMounted);
16133
16134        if (instance !== null) {
16135          // Queue the event to be replayed later. Abort dispatching since we
16136          // don't want this event dispatched twice through the event system.
16137          // TODO: If this is the first discrete event in the queue. Schedule an increased
16138          // priority for this boundary.
16139          return instance;
16140        } // This shouldn't happen, something went wrong but to avoid blocking
16141        // the whole system, dispatch the event without a target.
16142        // TODO: Warn.
16143
16144
16145        targetInst = null;
16146      } else if (tag === HostRoot) {
16147        var root = nearestMounted.stateNode;
16148
16149        if (root.hydrate) {
16150          // If this happens during a replay something went wrong and it might block
16151          // the whole system.
16152          return getContainerFromFiber(nearestMounted);
16153        }
16154
16155        targetInst = null;
16156      } else if (nearestMounted !== targetInst) {
16157        // If we get an event (ex: img onload) before committing that
16158        // component's mount, ignore it for now (that is, treat it as if it was an
16159        // event on a non-React tree). We might also consider queueing events and
16160        // dispatching them after the mount.
16161        targetInst = null;
16162      }
16163    }
16164  }
16165
16166  {
16167    dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst);
16168  } // We're not blocked on anything.
16169
16170
16171  return null;
16172}
16173
16174// List derived from Gecko source code:
16175// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js
16176var shorthandToLonghand = {
16177  animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],
16178  background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],
16179  backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],
16180  border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],
16181  borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],
16182  borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],
16183  borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],
16184  borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],
16185  borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],
16186  borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],
16187  borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],
16188  borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],
16189  borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],
16190  borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],
16191  borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],
16192  borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],
16193  borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],
16194  columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],
16195  columns: ['columnCount', 'columnWidth'],
16196  flex: ['flexBasis', 'flexGrow', 'flexShrink'],
16197  flexFlow: ['flexDirection', 'flexWrap'],
16198  font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],
16199  fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],
16200  gap: ['columnGap', 'rowGap'],
16201  grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],
16202  gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],
16203  gridColumn: ['gridColumnEnd', 'gridColumnStart'],
16204  gridColumnGap: ['columnGap'],
16205  gridGap: ['columnGap', 'rowGap'],
16206  gridRow: ['gridRowEnd', 'gridRowStart'],
16207  gridRowGap: ['rowGap'],
16208  gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],
16209  listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],
16210  margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],
16211  marker: ['markerEnd', 'markerMid', 'markerStart'],
16212  mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],
16213  maskPosition: ['maskPositionX', 'maskPositionY'],
16214  outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],
16215  overflow: ['overflowX', 'overflowY'],
16216  padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],
16217  placeContent: ['alignContent', 'justifyContent'],
16218  placeItems: ['alignItems', 'justifyItems'],
16219  placeSelf: ['alignSelf', 'justifySelf'],
16220  textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],
16221  textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],
16222  transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],
16223  wordWrap: ['overflowWrap']
16224};
16225
16226/**
16227 * CSS properties which accept numbers but are not in units of "px".
16228 */
16229var isUnitlessNumber = {
16230  animationIterationCount: true,
16231  borderImageOutset: true,
16232  borderImageSlice: true,
16233  borderImageWidth: true,
16234  boxFlex: true,
16235  boxFlexGroup: true,
16236  boxOrdinalGroup: true,
16237  columnCount: true,
16238  columns: true,
16239  flex: true,
16240  flexGrow: true,
16241  flexPositive: true,
16242  flexShrink: true,
16243  flexNegative: true,
16244  flexOrder: true,
16245  gridArea: true,
16246  gridRow: true,
16247  gridRowEnd: true,
16248  gridRowSpan: true,
16249  gridRowStart: true,
16250  gridColumn: true,
16251  gridColumnEnd: true,
16252  gridColumnSpan: true,
16253  gridColumnStart: true,
16254  fontWeight: true,
16255  lineClamp: true,
16256  lineHeight: true,
16257  opacity: true,
16258  order: true,
16259  orphans: true,
16260  tabSize: true,
16261  widows: true,
16262  zIndex: true,
16263  zoom: true,
16264  // SVG-related properties
16265  fillOpacity: true,
16266  floodOpacity: true,
16267  stopOpacity: true,
16268  strokeDasharray: true,
16269  strokeDashoffset: true,
16270  strokeMiterlimit: true,
16271  strokeOpacity: true,
16272  strokeWidth: true
16273};
16274/**
16275 * @param {string} prefix vendor-specific prefix, eg: Webkit
16276 * @param {string} key style name, eg: transitionDuration
16277 * @return {string} style name prefixed with `prefix`, properly camelCased, eg:
16278 * WebkitTransitionDuration
16279 */
16280
16281function prefixKey(prefix, key) {
16282  return prefix + key.charAt(0).toUpperCase() + key.substring(1);
16283}
16284/**
16285 * Support style names that may come passed in prefixed by adding permutations
16286 * of vendor prefixes.
16287 */
16288
16289
16290var prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an
16291// infinite loop, because it iterates over the newly added props too.
16292
16293Object.keys(isUnitlessNumber).forEach(function (prop) {
16294  prefixes.forEach(function (prefix) {
16295    isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];
16296  });
16297});
16298
16299/**
16300 * Convert a value into the proper css writable value. The style name `name`
16301 * should be logical (no hyphens), as specified
16302 * in `CSSProperty.isUnitlessNumber`.
16303 *
16304 * @param {string} name CSS property name such as `topMargin`.
16305 * @param {*} value CSS property value such as `10px`.
16306 * @return {string} Normalized style value with dimensions applied.
16307 */
16308
16309function dangerousStyleValue(name, value, isCustomProperty) {
16310  // Note that we've removed escapeTextForBrowser() calls here since the
16311  // whole string will be escaped when the attribute is injected into
16312  // the markup. If you provide unsafe user data here they can inject
16313  // arbitrary CSS which may be problematic (I couldn't repro this):
16314  // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
16315  // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/
16316  // This is not an XSS hole but instead a potential CSS injection issue
16317  // which has lead to a greater discussion about how we're going to
16318  // trust URLs moving forward. See #2115901
16319  var isEmpty = value == null || typeof value === 'boolean' || value === '';
16320
16321  if (isEmpty) {
16322    return '';
16323  }
16324
16325  if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {
16326    return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
16327  }
16328
16329  return ('' + value).trim();
16330}
16331
16332var uppercasePattern = /([A-Z])/g;
16333var msPattern = /^ms-/;
16334/**
16335 * Hyphenates a camelcased CSS property name, for example:
16336 *
16337 *   > hyphenateStyleName('backgroundColor')
16338 *   < "background-color"
16339 *   > hyphenateStyleName('MozTransition')
16340 *   < "-moz-transition"
16341 *   > hyphenateStyleName('msTransition')
16342 *   < "-ms-transition"
16343 *
16344 * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix
16345 * is converted to `-ms-`.
16346 */
16347
16348function hyphenateStyleName(name) {
16349  return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');
16350}
16351
16352var warnValidStyle = function () {};
16353
16354{
16355  // 'msTransform' is correct, but the other prefixes should be capitalized
16356  var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;
16357  var msPattern$1 = /^-ms-/;
16358  var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon
16359
16360  var badStyleValueWithSemicolonPattern = /;\s*$/;
16361  var warnedStyleNames = {};
16362  var warnedStyleValues = {};
16363  var warnedForNaNValue = false;
16364  var warnedForInfinityValue = false;
16365
16366  var camelize = function (string) {
16367    return string.replace(hyphenPattern, function (_, character) {
16368      return character.toUpperCase();
16369    });
16370  };
16371
16372  var warnHyphenatedStyleName = function (name) {
16373    if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
16374      return;
16375    }
16376
16377    warnedStyleNames[name] = true;
16378
16379    error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests
16380    // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
16381    // is converted to lowercase `ms`.
16382    camelize(name.replace(msPattern$1, 'ms-')));
16383  };
16384
16385  var warnBadVendoredStyleName = function (name) {
16386    if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
16387      return;
16388    }
16389
16390    warnedStyleNames[name] = true;
16391
16392    error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));
16393  };
16394
16395  var warnStyleValueWithSemicolon = function (name, value) {
16396    if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {
16397      return;
16398    }
16399
16400    warnedStyleValues[value] = true;
16401
16402    error("Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));
16403  };
16404
16405  var warnStyleValueIsNaN = function (name, value) {
16406    if (warnedForNaNValue) {
16407      return;
16408    }
16409
16410    warnedForNaNValue = true;
16411
16412    error('`NaN` is an invalid value for the `%s` css style property.', name);
16413  };
16414
16415  var warnStyleValueIsInfinity = function (name, value) {
16416    if (warnedForInfinityValue) {
16417      return;
16418    }
16419
16420    warnedForInfinityValue = true;
16421
16422    error('`Infinity` is an invalid value for the `%s` css style property.', name);
16423  };
16424
16425  warnValidStyle = function (name, value) {
16426    if (name.indexOf('-') > -1) {
16427      warnHyphenatedStyleName(name);
16428    } else if (badVendoredStyleNamePattern.test(name)) {
16429      warnBadVendoredStyleName(name);
16430    } else if (badStyleValueWithSemicolonPattern.test(value)) {
16431      warnStyleValueWithSemicolon(name, value);
16432    }
16433
16434    if (typeof value === 'number') {
16435      if (isNaN(value)) {
16436        warnStyleValueIsNaN(name, value);
16437      } else if (!isFinite(value)) {
16438        warnStyleValueIsInfinity(name, value);
16439      }
16440    }
16441  };
16442}
16443
16444var warnValidStyle$1 = warnValidStyle;
16445
16446/**
16447 * Operations for dealing with CSS properties.
16448 */
16449
16450/**
16451 * This creates a string that is expected to be equivalent to the style
16452 * attribute generated by server-side rendering. It by-passes warnings and
16453 * security checks so it's not safe to use this value for anything other than
16454 * comparison. It is only used in DEV for SSR validation.
16455 */
16456
16457function createDangerousStringForStyles(styles) {
16458  {
16459    var serialized = '';
16460    var delimiter = '';
16461
16462    for (var styleName in styles) {
16463      if (!styles.hasOwnProperty(styleName)) {
16464        continue;
16465      }
16466
16467      var styleValue = styles[styleName];
16468
16469      if (styleValue != null) {
16470        var isCustomProperty = styleName.indexOf('--') === 0;
16471        serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';
16472        serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);
16473        delimiter = ';';
16474      }
16475    }
16476
16477    return serialized || null;
16478  }
16479}
16480/**
16481 * Sets the value for multiple styles on a node.  If a value is specified as
16482 * '' (empty string), the corresponding style property will be unset.
16483 *
16484 * @param {DOMElement} node
16485 * @param {object} styles
16486 */
16487
16488function setValueForStyles(node, styles) {
16489  var style = node.style;
16490
16491  for (var styleName in styles) {
16492    if (!styles.hasOwnProperty(styleName)) {
16493      continue;
16494    }
16495
16496    var isCustomProperty = styleName.indexOf('--') === 0;
16497
16498    {
16499      if (!isCustomProperty) {
16500        warnValidStyle$1(styleName, styles[styleName]);
16501      }
16502    }
16503
16504    var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);
16505
16506    if (styleName === 'float') {
16507      styleName = 'cssFloat';
16508    }
16509
16510    if (isCustomProperty) {
16511      style.setProperty(styleName, styleValue);
16512    } else {
16513      style[styleName] = styleValue;
16514    }
16515  }
16516}
16517
16518function isValueEmpty(value) {
16519  return value == null || typeof value === 'boolean' || value === '';
16520}
16521/**
16522 * Given {color: 'red', overflow: 'hidden'} returns {
16523 *   color: 'color',
16524 *   overflowX: 'overflow',
16525 *   overflowY: 'overflow',
16526 * }. This can be read as "the overflowY property was set by the overflow
16527 * shorthand". That is, the values are the property that each was derived from.
16528 */
16529
16530
16531function expandShorthandMap(styles) {
16532  var expanded = {};
16533
16534  for (var key in styles) {
16535    var longhands = shorthandToLonghand[key] || [key];
16536
16537    for (var i = 0; i < longhands.length; i++) {
16538      expanded[longhands[i]] = key;
16539    }
16540  }
16541
16542  return expanded;
16543}
16544/**
16545 * When mixing shorthand and longhand property names, we warn during updates if
16546 * we expect an incorrect result to occur. In particular, we warn for:
16547 *
16548 * Updating a shorthand property (longhand gets overwritten):
16549 *   {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}
16550 *   becomes .style.font = 'baz'
16551 * Removing a shorthand property (longhand gets lost too):
16552 *   {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}
16553 *   becomes .style.font = ''
16554 * Removing a longhand property (should revert to shorthand; doesn't):
16555 *   {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}
16556 *   becomes .style.fontVariant = ''
16557 */
16558
16559
16560function validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {
16561  {
16562
16563    if (!nextStyles) {
16564      return;
16565    }
16566
16567    var expandedUpdates = expandShorthandMap(styleUpdates);
16568    var expandedStyles = expandShorthandMap(nextStyles);
16569    var warnedAbout = {};
16570
16571    for (var key in expandedUpdates) {
16572      var originalKey = expandedUpdates[key];
16573      var correctOriginalKey = expandedStyles[key];
16574
16575      if (correctOriginalKey && originalKey !== correctOriginalKey) {
16576        var warningKey = originalKey + ',' + correctOriginalKey;
16577
16578        if (warnedAbout[warningKey]) {
16579          continue;
16580        }
16581
16582        warnedAbout[warningKey] = true;
16583
16584        error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + "avoid this, don't mix shorthand and non-shorthand properties " + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);
16585      }
16586    }
16587  }
16588}
16589
16590// For HTML, certain tags should omit their close tag. We keep a whitelist for
16591// those special-case tags.
16592var omittedCloseTags = {
16593  area: true,
16594  base: true,
16595  br: true,
16596  col: true,
16597  embed: true,
16598  hr: true,
16599  img: true,
16600  input: true,
16601  keygen: true,
16602  link: true,
16603  meta: true,
16604  param: true,
16605  source: true,
16606  track: true,
16607  wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.
16608
16609};
16610
16611// `omittedCloseTags` except that `menuitem` should still have its closing tag.
16612
16613var voidElementTags = _assign({
16614  menuitem: true
16615}, omittedCloseTags);
16616
16617var HTML = '__html';
16618var ReactDebugCurrentFrame$3 = null;
16619
16620{
16621  ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame;
16622}
16623
16624function assertValidProps(tag, props) {
16625  if (!props) {
16626    return;
16627  } // Note the use of `==` which checks for null or undefined.
16628
16629
16630  if (voidElementTags[tag]) {
16631    if (!(props.children == null && props.dangerouslySetInnerHTML == null)) {
16632      {
16633        throw Error( tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );
16634      }
16635    }
16636  }
16637
16638  if (props.dangerouslySetInnerHTML != null) {
16639    if (!(props.children == null)) {
16640      {
16641        throw Error( "Can only set one of `children` or `props.dangerouslySetInnerHTML`." );
16642      }
16643    }
16644
16645    if (!(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML)) {
16646      {
16647        throw Error( "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information." );
16648      }
16649    }
16650  }
16651
16652  {
16653    if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {
16654      error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');
16655    }
16656  }
16657
16658  if (!(props.style == null || typeof props.style === 'object')) {
16659    {
16660      throw Error( "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );
16661    }
16662  }
16663}
16664
16665function isCustomComponent(tagName, props) {
16666  if (tagName.indexOf('-') === -1) {
16667    return typeof props.is === 'string';
16668  }
16669
16670  switch (tagName) {
16671    // These are reserved SVG and MathML elements.
16672    // We don't mind this whitelist too much because we expect it to never grow.
16673    // The alternative is to track the namespace in a few places which is convoluted.
16674    // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts
16675    case 'annotation-xml':
16676    case 'color-profile':
16677    case 'font-face':
16678    case 'font-face-src':
16679    case 'font-face-uri':
16680    case 'font-face-format':
16681    case 'font-face-name':
16682    case 'missing-glyph':
16683      return false;
16684
16685    default:
16686      return true;
16687  }
16688}
16689
16690// When adding attributes to the HTML or SVG whitelist, be sure to
16691// also add them to this module to ensure casing and incorrect name
16692// warnings.
16693var possibleStandardNames = {
16694  // HTML
16695  accept: 'accept',
16696  acceptcharset: 'acceptCharset',
16697  'accept-charset': 'acceptCharset',
16698  accesskey: 'accessKey',
16699  action: 'action',
16700  allowfullscreen: 'allowFullScreen',
16701  alt: 'alt',
16702  as: 'as',
16703  async: 'async',
16704  autocapitalize: 'autoCapitalize',
16705  autocomplete: 'autoComplete',
16706  autocorrect: 'autoCorrect',
16707  autofocus: 'autoFocus',
16708  autoplay: 'autoPlay',
16709  autosave: 'autoSave',
16710  capture: 'capture',
16711  cellpadding: 'cellPadding',
16712  cellspacing: 'cellSpacing',
16713  challenge: 'challenge',
16714  charset: 'charSet',
16715  checked: 'checked',
16716  children: 'children',
16717  cite: 'cite',
16718  class: 'className',
16719  classid: 'classID',
16720  classname: 'className',
16721  cols: 'cols',
16722  colspan: 'colSpan',
16723  content: 'content',
16724  contenteditable: 'contentEditable',
16725  contextmenu: 'contextMenu',
16726  controls: 'controls',
16727  controlslist: 'controlsList',
16728  coords: 'coords',
16729  crossorigin: 'crossOrigin',
16730  dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',
16731  data: 'data',
16732  datetime: 'dateTime',
16733  default: 'default',
16734  defaultchecked: 'defaultChecked',
16735  defaultvalue: 'defaultValue',
16736  defer: 'defer',
16737  dir: 'dir',
16738  disabled: 'disabled',
16739  disablepictureinpicture: 'disablePictureInPicture',
16740  download: 'download',
16741  draggable: 'draggable',
16742  enctype: 'encType',
16743  for: 'htmlFor',
16744  form: 'form',
16745  formmethod: 'formMethod',
16746  formaction: 'formAction',
16747  formenctype: 'formEncType',
16748  formnovalidate: 'formNoValidate',
16749  formtarget: 'formTarget',
16750  frameborder: 'frameBorder',
16751  headers: 'headers',
16752  height: 'height',
16753  hidden: 'hidden',
16754  high: 'high',
16755  href: 'href',
16756  hreflang: 'hrefLang',
16757  htmlfor: 'htmlFor',
16758  httpequiv: 'httpEquiv',
16759  'http-equiv': 'httpEquiv',
16760  icon: 'icon',
16761  id: 'id',
16762  innerhtml: 'innerHTML',
16763  inputmode: 'inputMode',
16764  integrity: 'integrity',
16765  is: 'is',
16766  itemid: 'itemID',
16767  itemprop: 'itemProp',
16768  itemref: 'itemRef',
16769  itemscope: 'itemScope',
16770  itemtype: 'itemType',
16771  keyparams: 'keyParams',
16772  keytype: 'keyType',
16773  kind: 'kind',
16774  label: 'label',
16775  lang: 'lang',
16776  list: 'list',
16777  loop: 'loop',
16778  low: 'low',
16779  manifest: 'manifest',
16780  marginwidth: 'marginWidth',
16781  marginheight: 'marginHeight',
16782  max: 'max',
16783  maxlength: 'maxLength',
16784  media: 'media',
16785  mediagroup: 'mediaGroup',
16786  method: 'method',
16787  min: 'min',
16788  minlength: 'minLength',
16789  multiple: 'multiple',
16790  muted: 'muted',
16791  name: 'name',
16792  nomodule: 'noModule',
16793  nonce: 'nonce',
16794  novalidate: 'noValidate',
16795  open: 'open',
16796  optimum: 'optimum',
16797  pattern: 'pattern',
16798  placeholder: 'placeholder',
16799  playsinline: 'playsInline',
16800  poster: 'poster',
16801  preload: 'preload',
16802  profile: 'profile',
16803  radiogroup: 'radioGroup',
16804  readonly: 'readOnly',
16805  referrerpolicy: 'referrerPolicy',
16806  rel: 'rel',
16807  required: 'required',
16808  reversed: 'reversed',
16809  role: 'role',
16810  rows: 'rows',
16811  rowspan: 'rowSpan',
16812  sandbox: 'sandbox',
16813  scope: 'scope',
16814  scoped: 'scoped',
16815  scrolling: 'scrolling',
16816  seamless: 'seamless',
16817  selected: 'selected',
16818  shape: 'shape',
16819  size: 'size',
16820  sizes: 'sizes',
16821  span: 'span',
16822  spellcheck: 'spellCheck',
16823  src: 'src',
16824  srcdoc: 'srcDoc',
16825  srclang: 'srcLang',
16826  srcset: 'srcSet',
16827  start: 'start',
16828  step: 'step',
16829  style: 'style',
16830  summary: 'summary',
16831  tabindex: 'tabIndex',
16832  target: 'target',
16833  title: 'title',
16834  type: 'type',
16835  usemap: 'useMap',
16836  value: 'value',
16837  width: 'width',
16838  wmode: 'wmode',
16839  wrap: 'wrap',
16840  // SVG
16841  about: 'about',
16842  accentheight: 'accentHeight',
16843  'accent-height': 'accentHeight',
16844  accumulate: 'accumulate',
16845  additive: 'additive',
16846  alignmentbaseline: 'alignmentBaseline',
16847  'alignment-baseline': 'alignmentBaseline',
16848  allowreorder: 'allowReorder',
16849  alphabetic: 'alphabetic',
16850  amplitude: 'amplitude',
16851  arabicform: 'arabicForm',
16852  'arabic-form': 'arabicForm',
16853  ascent: 'ascent',
16854  attributename: 'attributeName',
16855  attributetype: 'attributeType',
16856  autoreverse: 'autoReverse',
16857  azimuth: 'azimuth',
16858  basefrequency: 'baseFrequency',
16859  baselineshift: 'baselineShift',
16860  'baseline-shift': 'baselineShift',
16861  baseprofile: 'baseProfile',
16862  bbox: 'bbox',
16863  begin: 'begin',
16864  bias: 'bias',
16865  by: 'by',
16866  calcmode: 'calcMode',
16867  capheight: 'capHeight',
16868  'cap-height': 'capHeight',
16869  clip: 'clip',
16870  clippath: 'clipPath',
16871  'clip-path': 'clipPath',
16872  clippathunits: 'clipPathUnits',
16873  cliprule: 'clipRule',
16874  'clip-rule': 'clipRule',
16875  color: 'color',
16876  colorinterpolation: 'colorInterpolation',
16877  'color-interpolation': 'colorInterpolation',
16878  colorinterpolationfilters: 'colorInterpolationFilters',
16879  'color-interpolation-filters': 'colorInterpolationFilters',
16880  colorprofile: 'colorProfile',
16881  'color-profile': 'colorProfile',
16882  colorrendering: 'colorRendering',
16883  'color-rendering': 'colorRendering',
16884  contentscripttype: 'contentScriptType',
16885  contentstyletype: 'contentStyleType',
16886  cursor: 'cursor',
16887  cx: 'cx',
16888  cy: 'cy',
16889  d: 'd',
16890  datatype: 'datatype',
16891  decelerate: 'decelerate',
16892  descent: 'descent',
16893  diffuseconstant: 'diffuseConstant',
16894  direction: 'direction',
16895  display: 'display',
16896  divisor: 'divisor',
16897  dominantbaseline: 'dominantBaseline',
16898  'dominant-baseline': 'dominantBaseline',
16899  dur: 'dur',
16900  dx: 'dx',
16901  dy: 'dy',
16902  edgemode: 'edgeMode',
16903  elevation: 'elevation',
16904  enablebackground: 'enableBackground',
16905  'enable-background': 'enableBackground',
16906  end: 'end',
16907  exponent: 'exponent',
16908  externalresourcesrequired: 'externalResourcesRequired',
16909  fill: 'fill',
16910  fillopacity: 'fillOpacity',
16911  'fill-opacity': 'fillOpacity',
16912  fillrule: 'fillRule',
16913  'fill-rule': 'fillRule',
16914  filter: 'filter',
16915  filterres: 'filterRes',
16916  filterunits: 'filterUnits',
16917  floodopacity: 'floodOpacity',
16918  'flood-opacity': 'floodOpacity',
16919  floodcolor: 'floodColor',
16920  'flood-color': 'floodColor',
16921  focusable: 'focusable',
16922  fontfamily: 'fontFamily',
16923  'font-family': 'fontFamily',
16924  fontsize: 'fontSize',
16925  'font-size': 'fontSize',
16926  fontsizeadjust: 'fontSizeAdjust',
16927  'font-size-adjust': 'fontSizeAdjust',
16928  fontstretch: 'fontStretch',
16929  'font-stretch': 'fontStretch',
16930  fontstyle: 'fontStyle',
16931  'font-style': 'fontStyle',
16932  fontvariant: 'fontVariant',
16933  'font-variant': 'fontVariant',
16934  fontweight: 'fontWeight',
16935  'font-weight': 'fontWeight',
16936  format: 'format',
16937  from: 'from',
16938  fx: 'fx',
16939  fy: 'fy',
16940  g1: 'g1',
16941  g2: 'g2',
16942  glyphname: 'glyphName',
16943  'glyph-name': 'glyphName',
16944  glyphorientationhorizontal: 'glyphOrientationHorizontal',
16945  'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
16946  glyphorientationvertical: 'glyphOrientationVertical',
16947  'glyph-orientation-vertical': 'glyphOrientationVertical',
16948  glyphref: 'glyphRef',
16949  gradienttransform: 'gradientTransform',
16950  gradientunits: 'gradientUnits',
16951  hanging: 'hanging',
16952  horizadvx: 'horizAdvX',
16953  'horiz-adv-x': 'horizAdvX',
16954  horizoriginx: 'horizOriginX',
16955  'horiz-origin-x': 'horizOriginX',
16956  ideographic: 'ideographic',
16957  imagerendering: 'imageRendering',
16958  'image-rendering': 'imageRendering',
16959  in2: 'in2',
16960  in: 'in',
16961  inlist: 'inlist',
16962  intercept: 'intercept',
16963  k1: 'k1',
16964  k2: 'k2',
16965  k3: 'k3',
16966  k4: 'k4',
16967  k: 'k',
16968  kernelmatrix: 'kernelMatrix',
16969  kernelunitlength: 'kernelUnitLength',
16970  kerning: 'kerning',
16971  keypoints: 'keyPoints',
16972  keysplines: 'keySplines',
16973  keytimes: 'keyTimes',
16974  lengthadjust: 'lengthAdjust',
16975  letterspacing: 'letterSpacing',
16976  'letter-spacing': 'letterSpacing',
16977  lightingcolor: 'lightingColor',
16978  'lighting-color': 'lightingColor',
16979  limitingconeangle: 'limitingConeAngle',
16980  local: 'local',
16981  markerend: 'markerEnd',
16982  'marker-end': 'markerEnd',
16983  markerheight: 'markerHeight',
16984  markermid: 'markerMid',
16985  'marker-mid': 'markerMid',
16986  markerstart: 'markerStart',
16987  'marker-start': 'markerStart',
16988  markerunits: 'markerUnits',
16989  markerwidth: 'markerWidth',
16990  mask: 'mask',
16991  maskcontentunits: 'maskContentUnits',
16992  maskunits: 'maskUnits',
16993  mathematical: 'mathematical',
16994  mode: 'mode',
16995  numoctaves: 'numOctaves',
16996  offset: 'offset',
16997  opacity: 'opacity',
16998  operator: 'operator',
16999  order: 'order',
17000  orient: 'orient',
17001  orientation: 'orientation',
17002  origin: 'origin',
17003  overflow: 'overflow',
17004  overlineposition: 'overlinePosition',
17005  'overline-position': 'overlinePosition',
17006  overlinethickness: 'overlineThickness',
17007  'overline-thickness': 'overlineThickness',
17008  paintorder: 'paintOrder',
17009  'paint-order': 'paintOrder',
17010  panose1: 'panose1',
17011  'panose-1': 'panose1',
17012  pathlength: 'pathLength',
17013  patterncontentunits: 'patternContentUnits',
17014  patterntransform: 'patternTransform',
17015  patternunits: 'patternUnits',
17016  pointerevents: 'pointerEvents',
17017  'pointer-events': 'pointerEvents',
17018  points: 'points',
17019  pointsatx: 'pointsAtX',
17020  pointsaty: 'pointsAtY',
17021  pointsatz: 'pointsAtZ',
17022  prefix: 'prefix',
17023  preservealpha: 'preserveAlpha',
17024  preserveaspectratio: 'preserveAspectRatio',
17025  primitiveunits: 'primitiveUnits',
17026  property: 'property',
17027  r: 'r',
17028  radius: 'radius',
17029  refx: 'refX',
17030  refy: 'refY',
17031  renderingintent: 'renderingIntent',
17032  'rendering-intent': 'renderingIntent',
17033  repeatcount: 'repeatCount',
17034  repeatdur: 'repeatDur',
17035  requiredextensions: 'requiredExtensions',
17036  requiredfeatures: 'requiredFeatures',
17037  resource: 'resource',
17038  restart: 'restart',
17039  result: 'result',
17040  results: 'results',
17041  rotate: 'rotate',
17042  rx: 'rx',
17043  ry: 'ry',
17044  scale: 'scale',
17045  security: 'security',
17046  seed: 'seed',
17047  shaperendering: 'shapeRendering',
17048  'shape-rendering': 'shapeRendering',
17049  slope: 'slope',
17050  spacing: 'spacing',
17051  specularconstant: 'specularConstant',
17052  specularexponent: 'specularExponent',
17053  speed: 'speed',
17054  spreadmethod: 'spreadMethod',
17055  startoffset: 'startOffset',
17056  stddeviation: 'stdDeviation',
17057  stemh: 'stemh',
17058  stemv: 'stemv',
17059  stitchtiles: 'stitchTiles',
17060  stopcolor: 'stopColor',
17061  'stop-color': 'stopColor',
17062  stopopacity: 'stopOpacity',
17063  'stop-opacity': 'stopOpacity',
17064  strikethroughposition: 'strikethroughPosition',
17065  'strikethrough-position': 'strikethroughPosition',
17066  strikethroughthickness: 'strikethroughThickness',
17067  'strikethrough-thickness': 'strikethroughThickness',
17068  string: 'string',
17069  stroke: 'stroke',
17070  strokedasharray: 'strokeDasharray',
17071  'stroke-dasharray': 'strokeDasharray',
17072  strokedashoffset: 'strokeDashoffset',
17073  'stroke-dashoffset': 'strokeDashoffset',
17074  strokelinecap: 'strokeLinecap',
17075  'stroke-linecap': 'strokeLinecap',
17076  strokelinejoin: 'strokeLinejoin',
17077  'stroke-linejoin': 'strokeLinejoin',
17078  strokemiterlimit: 'strokeMiterlimit',
17079  'stroke-miterlimit': 'strokeMiterlimit',
17080  strokewidth: 'strokeWidth',
17081  'stroke-width': 'strokeWidth',
17082  strokeopacity: 'strokeOpacity',
17083  'stroke-opacity': 'strokeOpacity',
17084  suppresscontenteditablewarning: 'suppressContentEditableWarning',
17085  suppresshydrationwarning: 'suppressHydrationWarning',
17086  surfacescale: 'surfaceScale',
17087  systemlanguage: 'systemLanguage',
17088  tablevalues: 'tableValues',
17089  targetx: 'targetX',
17090  targety: 'targetY',
17091  textanchor: 'textAnchor',
17092  'text-anchor': 'textAnchor',
17093  textdecoration: 'textDecoration',
17094  'text-decoration': 'textDecoration',
17095  textlength: 'textLength',
17096  textrendering: 'textRendering',
17097  'text-rendering': 'textRendering',
17098  to: 'to',
17099  transform: 'transform',
17100  typeof: 'typeof',
17101  u1: 'u1',
17102  u2: 'u2',
17103  underlineposition: 'underlinePosition',
17104  'underline-position': 'underlinePosition',
17105  underlinethickness: 'underlineThickness',
17106  'underline-thickness': 'underlineThickness',
17107  unicode: 'unicode',
17108  unicodebidi: 'unicodeBidi',
17109  'unicode-bidi': 'unicodeBidi',
17110  unicoderange: 'unicodeRange',
17111  'unicode-range': 'unicodeRange',
17112  unitsperem: 'unitsPerEm',
17113  'units-per-em': 'unitsPerEm',
17114  unselectable: 'unselectable',
17115  valphabetic: 'vAlphabetic',
17116  'v-alphabetic': 'vAlphabetic',
17117  values: 'values',
17118  vectoreffect: 'vectorEffect',
17119  'vector-effect': 'vectorEffect',
17120  version: 'version',
17121  vertadvy: 'vertAdvY',
17122  'vert-adv-y': 'vertAdvY',
17123  vertoriginx: 'vertOriginX',
17124  'vert-origin-x': 'vertOriginX',
17125  vertoriginy: 'vertOriginY',
17126  'vert-origin-y': 'vertOriginY',
17127  vhanging: 'vHanging',
17128  'v-hanging': 'vHanging',
17129  videographic: 'vIdeographic',
17130  'v-ideographic': 'vIdeographic',
17131  viewbox: 'viewBox',
17132  viewtarget: 'viewTarget',
17133  visibility: 'visibility',
17134  vmathematical: 'vMathematical',
17135  'v-mathematical': 'vMathematical',
17136  vocab: 'vocab',
17137  widths: 'widths',
17138  wordspacing: 'wordSpacing',
17139  'word-spacing': 'wordSpacing',
17140  writingmode: 'writingMode',
17141  'writing-mode': 'writingMode',
17142  x1: 'x1',
17143  x2: 'x2',
17144  x: 'x',
17145  xchannelselector: 'xChannelSelector',
17146  xheight: 'xHeight',
17147  'x-height': 'xHeight',
17148  xlinkactuate: 'xlinkActuate',
17149  'xlink:actuate': 'xlinkActuate',
17150  xlinkarcrole: 'xlinkArcrole',
17151  'xlink:arcrole': 'xlinkArcrole',
17152  xlinkhref: 'xlinkHref',
17153  'xlink:href': 'xlinkHref',
17154  xlinkrole: 'xlinkRole',
17155  'xlink:role': 'xlinkRole',
17156  xlinkshow: 'xlinkShow',
17157  'xlink:show': 'xlinkShow',
17158  xlinktitle: 'xlinkTitle',
17159  'xlink:title': 'xlinkTitle',
17160  xlinktype: 'xlinkType',
17161  'xlink:type': 'xlinkType',
17162  xmlbase: 'xmlBase',
17163  'xml:base': 'xmlBase',
17164  xmllang: 'xmlLang',
17165  'xml:lang': 'xmlLang',
17166  xmlns: 'xmlns',
17167  'xml:space': 'xmlSpace',
17168  xmlnsxlink: 'xmlnsXlink',
17169  'xmlns:xlink': 'xmlnsXlink',
17170  xmlspace: 'xmlSpace',
17171  y1: 'y1',
17172  y2: 'y2',
17173  y: 'y',
17174  ychannelselector: 'yChannelSelector',
17175  z: 'z',
17176  zoomandpan: 'zoomAndPan'
17177};
17178
17179var ariaProperties = {
17180  'aria-current': 0,
17181  // state
17182  'aria-details': 0,
17183  'aria-disabled': 0,
17184  // state
17185  'aria-hidden': 0,
17186  // state
17187  'aria-invalid': 0,
17188  // state
17189  'aria-keyshortcuts': 0,
17190  'aria-label': 0,
17191  'aria-roledescription': 0,
17192  // Widget Attributes
17193  'aria-autocomplete': 0,
17194  'aria-checked': 0,
17195  'aria-expanded': 0,
17196  'aria-haspopup': 0,
17197  'aria-level': 0,
17198  'aria-modal': 0,
17199  'aria-multiline': 0,
17200  'aria-multiselectable': 0,
17201  'aria-orientation': 0,
17202  'aria-placeholder': 0,
17203  'aria-pressed': 0,
17204  'aria-readonly': 0,
17205  'aria-required': 0,
17206  'aria-selected': 0,
17207  'aria-sort': 0,
17208  'aria-valuemax': 0,
17209  'aria-valuemin': 0,
17210  'aria-valuenow': 0,
17211  'aria-valuetext': 0,
17212  // Live Region Attributes
17213  'aria-atomic': 0,
17214  'aria-busy': 0,
17215  'aria-live': 0,
17216  'aria-relevant': 0,
17217  // Drag-and-Drop Attributes
17218  'aria-dropeffect': 0,
17219  'aria-grabbed': 0,
17220  // Relationship Attributes
17221  'aria-activedescendant': 0,
17222  'aria-colcount': 0,
17223  'aria-colindex': 0,
17224  'aria-colspan': 0,
17225  'aria-controls': 0,
17226  'aria-describedby': 0,
17227  'aria-errormessage': 0,
17228  'aria-flowto': 0,
17229  'aria-labelledby': 0,
17230  'aria-owns': 0,
17231  'aria-posinset': 0,
17232  'aria-rowcount': 0,
17233  'aria-rowindex': 0,
17234  'aria-rowspan': 0,
17235  'aria-setsize': 0
17236};
17237
17238var warnedProperties = {};
17239var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
17240var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
17241var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
17242
17243function validateProperty(tagName, name) {
17244  {
17245    if (hasOwnProperty$1.call(warnedProperties, name) && warnedProperties[name]) {
17246      return true;
17247    }
17248
17249    if (rARIACamel.test(name)) {
17250      var ariaName = 'aria-' + name.slice(4).toLowerCase();
17251      var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM
17252      // DOM properties, then it is an invalid aria-* attribute.
17253
17254      if (correctName == null) {
17255        error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);
17256
17257        warnedProperties[name] = true;
17258        return true;
17259      } // aria-* attributes should be lowercase; suggest the lowercase version.
17260
17261
17262      if (name !== correctName) {
17263        error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);
17264
17265        warnedProperties[name] = true;
17266        return true;
17267      }
17268    }
17269
17270    if (rARIA.test(name)) {
17271      var lowerCasedName = name.toLowerCase();
17272      var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM
17273      // DOM properties, then it is an invalid aria-* attribute.
17274
17275      if (standardName == null) {
17276        warnedProperties[name] = true;
17277        return false;
17278      } // aria-* attributes should be lowercase; suggest the lowercase version.
17279
17280
17281      if (name !== standardName) {
17282        error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);
17283
17284        warnedProperties[name] = true;
17285        return true;
17286      }
17287    }
17288  }
17289
17290  return true;
17291}
17292
17293function warnInvalidARIAProps(type, props) {
17294  {
17295    var invalidProps = [];
17296
17297    for (var key in props) {
17298      var isValid = validateProperty(type, key);
17299
17300      if (!isValid) {
17301        invalidProps.push(key);
17302      }
17303    }
17304
17305    var unknownPropString = invalidProps.map(function (prop) {
17306      return '`' + prop + '`';
17307    }).join(', ');
17308
17309    if (invalidProps.length === 1) {
17310      error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
17311    } else if (invalidProps.length > 1) {
17312      error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
17313    }
17314  }
17315}
17316
17317function validateProperties(type, props) {
17318  if (isCustomComponent(type, props)) {
17319    return;
17320  }
17321
17322  warnInvalidARIAProps(type, props);
17323}
17324
17325var didWarnValueNull = false;
17326function validateProperties$1(type, props) {
17327  {
17328    if (type !== 'input' && type !== 'textarea' && type !== 'select') {
17329      return;
17330    }
17331
17332    if (props != null && props.value === null && !didWarnValueNull) {
17333      didWarnValueNull = true;
17334
17335      if (type === 'select' && props.multiple) {
17336        error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);
17337      } else {
17338        error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);
17339      }
17340    }
17341  }
17342}
17343
17344var validateProperty$1 = function () {};
17345
17346{
17347  var warnedProperties$1 = {};
17348  var _hasOwnProperty = Object.prototype.hasOwnProperty;
17349  var EVENT_NAME_REGEX = /^on./;
17350  var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
17351  var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
17352  var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
17353
17354  validateProperty$1 = function (tagName, name, value, canUseEventSystem) {
17355    if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {
17356      return true;
17357    }
17358
17359    var lowerCasedName = name.toLowerCase();
17360
17361    if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {
17362      error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');
17363
17364      warnedProperties$1[name] = true;
17365      return true;
17366    } // We can't rely on the event system being injected on the server.
17367
17368
17369    if (canUseEventSystem) {
17370      if (registrationNameModules.hasOwnProperty(name)) {
17371        return true;
17372      }
17373
17374      var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;
17375
17376      if (registrationName != null) {
17377        error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);
17378
17379        warnedProperties$1[name] = true;
17380        return true;
17381      }
17382
17383      if (EVENT_NAME_REGEX.test(name)) {
17384        error('Unknown event handler property `%s`. It will be ignored.', name);
17385
17386        warnedProperties$1[name] = true;
17387        return true;
17388      }
17389    } else if (EVENT_NAME_REGEX.test(name)) {
17390      // If no event plugins have been injected, we are in a server environment.
17391      // So we can't tell if the event name is correct for sure, but we can filter
17392      // out known bad ones like `onclick`. We can't suggest a specific replacement though.
17393      if (INVALID_EVENT_NAME_REGEX.test(name)) {
17394        error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);
17395      }
17396
17397      warnedProperties$1[name] = true;
17398      return true;
17399    } // Let the ARIA attribute hook validate ARIA attributes
17400
17401
17402    if (rARIA$1.test(name) || rARIACamel$1.test(name)) {
17403      return true;
17404    }
17405
17406    if (lowerCasedName === 'innerhtml') {
17407      error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');
17408
17409      warnedProperties$1[name] = true;
17410      return true;
17411    }
17412
17413    if (lowerCasedName === 'aria') {
17414      error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');
17415
17416      warnedProperties$1[name] = true;
17417      return true;
17418    }
17419
17420    if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {
17421      error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);
17422
17423      warnedProperties$1[name] = true;
17424      return true;
17425    }
17426
17427    if (typeof value === 'number' && isNaN(value)) {
17428      error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);
17429
17430      warnedProperties$1[name] = true;
17431      return true;
17432    }
17433
17434    var propertyInfo = getPropertyInfo(name);
17435    var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.
17436
17437    if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
17438      var standardName = possibleStandardNames[lowerCasedName];
17439
17440      if (standardName !== name) {
17441        error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);
17442
17443        warnedProperties$1[name] = true;
17444        return true;
17445      }
17446    } else if (!isReserved && name !== lowerCasedName) {
17447      // Unknown attributes should have lowercase casing since that's how they
17448      // will be cased anyway with server rendering.
17449      error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);
17450
17451      warnedProperties$1[name] = true;
17452      return true;
17453    }
17454
17455    if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
17456      if (value) {
17457        error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.', value, name, name, value, name);
17458      } else {
17459        error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);
17460      }
17461
17462      warnedProperties$1[name] = true;
17463      return true;
17464    } // Now that we've validated casing, do not validate
17465    // data types for reserved props
17466
17467
17468    if (isReserved) {
17469      return true;
17470    } // Warn when a known attribute is a bad type
17471
17472
17473    if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
17474      warnedProperties$1[name] = true;
17475      return false;
17476    } // Warn when passing the strings 'false' or 'true' into a boolean prop
17477
17478
17479    if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {
17480      error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value);
17481
17482      warnedProperties$1[name] = true;
17483      return true;
17484    }
17485
17486    return true;
17487  };
17488}
17489
17490var warnUnknownProperties = function (type, props, canUseEventSystem) {
17491  {
17492    var unknownProps = [];
17493
17494    for (var key in props) {
17495      var isValid = validateProperty$1(type, key, props[key], canUseEventSystem);
17496
17497      if (!isValid) {
17498        unknownProps.push(key);
17499      }
17500    }
17501
17502    var unknownPropString = unknownProps.map(function (prop) {
17503      return '`' + prop + '`';
17504    }).join(', ');
17505
17506    if (unknownProps.length === 1) {
17507      error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
17508    } else if (unknownProps.length > 1) {
17509      error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
17510    }
17511  }
17512};
17513
17514function validateProperties$2(type, props, canUseEventSystem) {
17515  if (isCustomComponent(type, props)) {
17516    return;
17517  }
17518
17519  warnUnknownProperties(type, props, canUseEventSystem);
17520}
17521
17522var didWarnInvalidHydration = false;
17523var DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';
17524var SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';
17525var SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';
17526var AUTOFOCUS = 'autoFocus';
17527var CHILDREN = 'children';
17528var STYLE = 'style';
17529var HTML$1 = '__html';
17530var HTML_NAMESPACE$1 = Namespaces.html;
17531var warnedUnknownTags;
17532var suppressHydrationWarning;
17533var validatePropertiesInDevelopment;
17534var warnForTextDifference;
17535var warnForPropDifference;
17536var warnForExtraAttributes;
17537var warnForInvalidEventListener;
17538var canDiffStyleForHydrationWarning;
17539var normalizeMarkupForTextOrAttribute;
17540var normalizeHTML;
17541
17542{
17543  warnedUnknownTags = {
17544    // Chrome is the only major browser not shipping <time>. But as of July
17545    // 2017 it intends to ship it due to widespread usage. We intentionally
17546    // *don't* warn for <time> even if it's unrecognized by Chrome because
17547    // it soon will be, and many apps have been using it anyway.
17548    time: true,
17549    // There are working polyfills for <dialog>. Let people use it.
17550    dialog: true,
17551    // Electron ships a custom <webview> tag to display external web content in
17552    // an isolated frame and process.
17553    // This tag is not present in non Electron environments such as JSDom which
17554    // is often used for testing purposes.
17555    // @see https://electronjs.org/docs/api/webview-tag
17556    webview: true
17557  };
17558
17559  validatePropertiesInDevelopment = function (type, props) {
17560    validateProperties(type, props);
17561    validateProperties$1(type, props);
17562    validateProperties$2(type, props,
17563    /* canUseEventSystem */
17564    true);
17565  }; // IE 11 parses & normalizes the style attribute as opposed to other
17566  // browsers. It adds spaces and sorts the properties in some
17567  // non-alphabetical order. Handling that would require sorting CSS
17568  // properties in the client & server versions or applying
17569  // `expectedStyle` to a temporary DOM node to read its `style` attribute
17570  // normalized. Since it only affects IE, we're skipping style warnings
17571  // in that browser completely in favor of doing all that work.
17572  // See https://github.com/facebook/react/issues/11807
17573
17574
17575  canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; // HTML parsing normalizes CR and CRLF to LF.
17576  // It also can turn \u0000 into \uFFFD inside attributes.
17577  // https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream
17578  // If we have a mismatch, it might be caused by that.
17579  // We will still patch up in this case but not fire the warning.
17580
17581  var NORMALIZE_NEWLINES_REGEX = /\r\n?/g;
17582  var NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g;
17583
17584  normalizeMarkupForTextOrAttribute = function (markup) {
17585    var markupString = typeof markup === 'string' ? markup : '' + markup;
17586    return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');
17587  };
17588
17589  warnForTextDifference = function (serverText, clientText) {
17590    if (didWarnInvalidHydration) {
17591      return;
17592    }
17593
17594    var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);
17595    var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);
17596
17597    if (normalizedServerText === normalizedClientText) {
17598      return;
17599    }
17600
17601    didWarnInvalidHydration = true;
17602
17603    error('Text content did not match. Server: "%s" Client: "%s"', normalizedServerText, normalizedClientText);
17604  };
17605
17606  warnForPropDifference = function (propName, serverValue, clientValue) {
17607    if (didWarnInvalidHydration) {
17608      return;
17609    }
17610
17611    var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);
17612    var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);
17613
17614    if (normalizedServerValue === normalizedClientValue) {
17615      return;
17616    }
17617
17618    didWarnInvalidHydration = true;
17619
17620    error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));
17621  };
17622
17623  warnForExtraAttributes = function (attributeNames) {
17624    if (didWarnInvalidHydration) {
17625      return;
17626    }
17627
17628    didWarnInvalidHydration = true;
17629    var names = [];
17630    attributeNames.forEach(function (name) {
17631      names.push(name);
17632    });
17633
17634    error('Extra attributes from the server: %s', names);
17635  };
17636
17637  warnForInvalidEventListener = function (registrationName, listener) {
17638    if (listener === false) {
17639      error('Expected `%s` listener to be a function, instead got `false`.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);
17640    } else {
17641      error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);
17642    }
17643  }; // Parse the HTML and read it back to normalize the HTML string so that it
17644  // can be used for comparison.
17645
17646
17647  normalizeHTML = function (parent, html) {
17648    // We could have created a separate document here to avoid
17649    // re-initializing custom elements if they exist. But this breaks
17650    // how <noscript> is being handled. So we use the same document.
17651    // See the discussion in https://github.com/facebook/react/pull/11157.
17652    var testElement = parent.namespaceURI === HTML_NAMESPACE$1 ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);
17653    testElement.innerHTML = html;
17654    return testElement.innerHTML;
17655  };
17656}
17657
17658function ensureListeningTo(rootContainerElement, registrationName) {
17659  var isDocumentOrFragment = rootContainerElement.nodeType === DOCUMENT_NODE || rootContainerElement.nodeType === DOCUMENT_FRAGMENT_NODE;
17660  var doc = isDocumentOrFragment ? rootContainerElement : rootContainerElement.ownerDocument;
17661  legacyListenToEvent(registrationName, doc);
17662}
17663
17664function getOwnerDocumentFromRootContainer(rootContainerElement) {
17665  return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;
17666}
17667
17668function noop() {}
17669
17670function trapClickOnNonInteractiveElement(node) {
17671  // Mobile Safari does not fire properly bubble click events on
17672  // non-interactive elements, which means delegated click listeners do not
17673  // fire. The workaround for this bug involves attaching an empty click
17674  // listener on the target node.
17675  // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
17676  // Just set it using the onclick property so that we don't have to manage any
17677  // bookkeeping for it. Not sure if we need to clear it when the listener is
17678  // removed.
17679  // TODO: Only do this for the relevant Safaris maybe?
17680  node.onclick = noop;
17681}
17682
17683function setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {
17684  for (var propKey in nextProps) {
17685    if (!nextProps.hasOwnProperty(propKey)) {
17686      continue;
17687    }
17688
17689    var nextProp = nextProps[propKey];
17690
17691    if (propKey === STYLE) {
17692      {
17693        if (nextProp) {
17694          // Freeze the next style object so that we can assume it won't be
17695          // mutated. We have already warned for this in the past.
17696          Object.freeze(nextProp);
17697        }
17698      } // Relies on `updateStylesByID` not mutating `styleUpdates`.
17699
17700
17701      setValueForStyles(domElement, nextProp);
17702    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
17703      var nextHtml = nextProp ? nextProp[HTML$1] : undefined;
17704
17705      if (nextHtml != null) {
17706        setInnerHTML(domElement, nextHtml);
17707      }
17708    } else if (propKey === CHILDREN) {
17709      if (typeof nextProp === 'string') {
17710        // Avoid setting initial textContent when the text is empty. In IE11 setting
17711        // textContent on a <textarea> will cause the placeholder to not
17712        // show within the <textarea> until it has been focused and blurred again.
17713        // https://github.com/facebook/react/issues/6731#issuecomment-254874553
17714        var canSetTextContent = tag !== 'textarea' || nextProp !== '';
17715
17716        if (canSetTextContent) {
17717          setTextContent(domElement, nextProp);
17718        }
17719      } else if (typeof nextProp === 'number') {
17720        setTextContent(domElement, '' + nextProp);
17721      }
17722    } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) {
17723      if (nextProp != null) {
17724        if ( typeof nextProp !== 'function') {
17725          warnForInvalidEventListener(propKey, nextProp);
17726        }
17727
17728        ensureListeningTo(rootContainerElement, propKey);
17729      }
17730    } else if (nextProp != null) {
17731      setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);
17732    }
17733  }
17734}
17735
17736function updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {
17737  // TODO: Handle wasCustomComponentTag
17738  for (var i = 0; i < updatePayload.length; i += 2) {
17739    var propKey = updatePayload[i];
17740    var propValue = updatePayload[i + 1];
17741
17742    if (propKey === STYLE) {
17743      setValueForStyles(domElement, propValue);
17744    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
17745      setInnerHTML(domElement, propValue);
17746    } else if (propKey === CHILDREN) {
17747      setTextContent(domElement, propValue);
17748    } else {
17749      setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);
17750    }
17751  }
17752}
17753
17754function createElement(type, props, rootContainerElement, parentNamespace) {
17755  var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML
17756  // tags get no namespace.
17757
17758  var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);
17759  var domElement;
17760  var namespaceURI = parentNamespace;
17761
17762  if (namespaceURI === HTML_NAMESPACE$1) {
17763    namespaceURI = getIntrinsicNamespace(type);
17764  }
17765
17766  if (namespaceURI === HTML_NAMESPACE$1) {
17767    {
17768      isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to
17769      // allow <SVG> or <mATH>.
17770
17771      if (!isCustomComponentTag && type !== type.toLowerCase()) {
17772        error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);
17773      }
17774    }
17775
17776    if (type === 'script') {
17777      // Create the script via .innerHTML so its "parser-inserted" flag is
17778      // set to true and it does not execute
17779      var div = ownerDocument.createElement('div');
17780
17781      div.innerHTML = '<script><' + '/script>'; // eslint-disable-line
17782      // This is guaranteed to yield a script element.
17783
17784      var firstChild = div.firstChild;
17785      domElement = div.removeChild(firstChild);
17786    } else if (typeof props.is === 'string') {
17787      // $FlowIssue `createElement` should be updated for Web Components
17788      domElement = ownerDocument.createElement(type, {
17789        is: props.is
17790      });
17791    } else {
17792      // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.
17793      // See discussion in https://github.com/facebook/react/pull/6896
17794      // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240
17795      domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`
17796      // attributes on `select`s needs to be added before `option`s are inserted.
17797      // This prevents:
17798      // - a bug where the `select` does not scroll to the correct option because singular
17799      //  `select` elements automatically pick the first item #13222
17800      // - a bug where the `select` set the first item as selected despite the `size` attribute #14239
17801      // See https://github.com/facebook/react/issues/13222
17802      // and https://github.com/facebook/react/issues/14239
17803
17804      if (type === 'select') {
17805        var node = domElement;
17806
17807        if (props.multiple) {
17808          node.multiple = true;
17809        } else if (props.size) {
17810          // Setting a size greater than 1 causes a select to behave like `multiple=true`, where
17811          // it is possible that no option is selected.
17812          //
17813          // This is only necessary when a select in "single selection mode".
17814          node.size = props.size;
17815        }
17816      }
17817    }
17818  } else {
17819    domElement = ownerDocument.createElementNS(namespaceURI, type);
17820  }
17821
17822  {
17823    if (namespaceURI === HTML_NAMESPACE$1) {
17824      if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !Object.prototype.hasOwnProperty.call(warnedUnknownTags, type)) {
17825        warnedUnknownTags[type] = true;
17826
17827        error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);
17828      }
17829    }
17830  }
17831
17832  return domElement;
17833}
17834function createTextNode(text, rootContainerElement) {
17835  return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);
17836}
17837function setInitialProperties(domElement, tag, rawProps, rootContainerElement) {
17838  var isCustomComponentTag = isCustomComponent(tag, rawProps);
17839
17840  {
17841    validatePropertiesInDevelopment(tag, rawProps);
17842  } // TODO: Make sure that we check isMounted before firing any of these events.
17843
17844
17845  var props;
17846
17847  switch (tag) {
17848    case 'iframe':
17849    case 'object':
17850    case 'embed':
17851      trapBubbledEvent(TOP_LOAD, domElement);
17852      props = rawProps;
17853      break;
17854
17855    case 'video':
17856    case 'audio':
17857      // Create listener for each media event
17858      for (var i = 0; i < mediaEventTypes.length; i++) {
17859        trapBubbledEvent(mediaEventTypes[i], domElement);
17860      }
17861
17862      props = rawProps;
17863      break;
17864
17865    case 'source':
17866      trapBubbledEvent(TOP_ERROR, domElement);
17867      props = rawProps;
17868      break;
17869
17870    case 'img':
17871    case 'image':
17872    case 'link':
17873      trapBubbledEvent(TOP_ERROR, domElement);
17874      trapBubbledEvent(TOP_LOAD, domElement);
17875      props = rawProps;
17876      break;
17877
17878    case 'form':
17879      trapBubbledEvent(TOP_RESET, domElement);
17880      trapBubbledEvent(TOP_SUBMIT, domElement);
17881      props = rawProps;
17882      break;
17883
17884    case 'details':
17885      trapBubbledEvent(TOP_TOGGLE, domElement);
17886      props = rawProps;
17887      break;
17888
17889    case 'input':
17890      initWrapperState(domElement, rawProps);
17891      props = getHostProps(domElement, rawProps);
17892      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
17893      // to onChange. Even if there is no listener.
17894
17895      ensureListeningTo(rootContainerElement, 'onChange');
17896      break;
17897
17898    case 'option':
17899      validateProps(domElement, rawProps);
17900      props = getHostProps$1(domElement, rawProps);
17901      break;
17902
17903    case 'select':
17904      initWrapperState$1(domElement, rawProps);
17905      props = getHostProps$2(domElement, rawProps);
17906      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
17907      // to onChange. Even if there is no listener.
17908
17909      ensureListeningTo(rootContainerElement, 'onChange');
17910      break;
17911
17912    case 'textarea':
17913      initWrapperState$2(domElement, rawProps);
17914      props = getHostProps$3(domElement, rawProps);
17915      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
17916      // to onChange. Even if there is no listener.
17917
17918      ensureListeningTo(rootContainerElement, 'onChange');
17919      break;
17920
17921    default:
17922      props = rawProps;
17923  }
17924
17925  assertValidProps(tag, props);
17926  setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);
17927
17928  switch (tag) {
17929    case 'input':
17930      // TODO: Make sure we check if this is still unmounted or do any clean
17931      // up necessary since we never stop tracking anymore.
17932      track(domElement);
17933      postMountWrapper(domElement, rawProps, false);
17934      break;
17935
17936    case 'textarea':
17937      // TODO: Make sure we check if this is still unmounted or do any clean
17938      // up necessary since we never stop tracking anymore.
17939      track(domElement);
17940      postMountWrapper$3(domElement);
17941      break;
17942
17943    case 'option':
17944      postMountWrapper$1(domElement, rawProps);
17945      break;
17946
17947    case 'select':
17948      postMountWrapper$2(domElement, rawProps);
17949      break;
17950
17951    default:
17952      if (typeof props.onClick === 'function') {
17953        // TODO: This cast may not be sound for SVG, MathML or custom elements.
17954        trapClickOnNonInteractiveElement(domElement);
17955      }
17956
17957      break;
17958  }
17959} // Calculate the diff between the two objects.
17960
17961function diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {
17962  {
17963    validatePropertiesInDevelopment(tag, nextRawProps);
17964  }
17965
17966  var updatePayload = null;
17967  var lastProps;
17968  var nextProps;
17969
17970  switch (tag) {
17971    case 'input':
17972      lastProps = getHostProps(domElement, lastRawProps);
17973      nextProps = getHostProps(domElement, nextRawProps);
17974      updatePayload = [];
17975      break;
17976
17977    case 'option':
17978      lastProps = getHostProps$1(domElement, lastRawProps);
17979      nextProps = getHostProps$1(domElement, nextRawProps);
17980      updatePayload = [];
17981      break;
17982
17983    case 'select':
17984      lastProps = getHostProps$2(domElement, lastRawProps);
17985      nextProps = getHostProps$2(domElement, nextRawProps);
17986      updatePayload = [];
17987      break;
17988
17989    case 'textarea':
17990      lastProps = getHostProps$3(domElement, lastRawProps);
17991      nextProps = getHostProps$3(domElement, nextRawProps);
17992      updatePayload = [];
17993      break;
17994
17995    default:
17996      lastProps = lastRawProps;
17997      nextProps = nextRawProps;
17998
17999      if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {
18000        // TODO: This cast may not be sound for SVG, MathML or custom elements.
18001        trapClickOnNonInteractiveElement(domElement);
18002      }
18003
18004      break;
18005  }
18006
18007  assertValidProps(tag, nextProps);
18008  var propKey;
18009  var styleName;
18010  var styleUpdates = null;
18011
18012  for (propKey in lastProps) {
18013    if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {
18014      continue;
18015    }
18016
18017    if (propKey === STYLE) {
18018      var lastStyle = lastProps[propKey];
18019
18020      for (styleName in lastStyle) {
18021        if (lastStyle.hasOwnProperty(styleName)) {
18022          if (!styleUpdates) {
18023            styleUpdates = {};
18024          }
18025
18026          styleUpdates[styleName] = '';
18027        }
18028      }
18029    } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) {
18030      // This is a special case. If any listener updates we need to ensure
18031      // that the "current" fiber pointer gets updated so we need a commit
18032      // to update this element.
18033      if (!updatePayload) {
18034        updatePayload = [];
18035      }
18036    } else {
18037      // For all other deleted properties we add it to the queue. We use
18038      // the whitelist in the commit phase instead.
18039      (updatePayload = updatePayload || []).push(propKey, null);
18040    }
18041  }
18042
18043  for (propKey in nextProps) {
18044    var nextProp = nextProps[propKey];
18045    var lastProp = lastProps != null ? lastProps[propKey] : undefined;
18046
18047    if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {
18048      continue;
18049    }
18050
18051    if (propKey === STYLE) {
18052      {
18053        if (nextProp) {
18054          // Freeze the next style object so that we can assume it won't be
18055          // mutated. We have already warned for this in the past.
18056          Object.freeze(nextProp);
18057        }
18058      }
18059
18060      if (lastProp) {
18061        // Unset styles on `lastProp` but not on `nextProp`.
18062        for (styleName in lastProp) {
18063          if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {
18064            if (!styleUpdates) {
18065              styleUpdates = {};
18066            }
18067
18068            styleUpdates[styleName] = '';
18069          }
18070        } // Update styles that changed since `lastProp`.
18071
18072
18073        for (styleName in nextProp) {
18074          if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {
18075            if (!styleUpdates) {
18076              styleUpdates = {};
18077            }
18078
18079            styleUpdates[styleName] = nextProp[styleName];
18080          }
18081        }
18082      } else {
18083        // Relies on `updateStylesByID` not mutating `styleUpdates`.
18084        if (!styleUpdates) {
18085          if (!updatePayload) {
18086            updatePayload = [];
18087          }
18088
18089          updatePayload.push(propKey, styleUpdates);
18090        }
18091
18092        styleUpdates = nextProp;
18093      }
18094    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
18095      var nextHtml = nextProp ? nextProp[HTML$1] : undefined;
18096      var lastHtml = lastProp ? lastProp[HTML$1] : undefined;
18097
18098      if (nextHtml != null) {
18099        if (lastHtml !== nextHtml) {
18100          (updatePayload = updatePayload || []).push(propKey, nextHtml);
18101        }
18102      }
18103    } else if (propKey === CHILDREN) {
18104      if (lastProp !== nextProp && (typeof nextProp === 'string' || typeof nextProp === 'number')) {
18105        (updatePayload = updatePayload || []).push(propKey, '' + nextProp);
18106      }
18107    } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameModules.hasOwnProperty(propKey)) {
18108      if (nextProp != null) {
18109        // We eagerly listen to this even though we haven't committed yet.
18110        if ( typeof nextProp !== 'function') {
18111          warnForInvalidEventListener(propKey, nextProp);
18112        }
18113
18114        ensureListeningTo(rootContainerElement, propKey);
18115      }
18116
18117      if (!updatePayload && lastProp !== nextProp) {
18118        // This is a special case. If any listener updates we need to ensure
18119        // that the "current" props pointer gets updated so we need a commit
18120        // to update this element.
18121        updatePayload = [];
18122      }
18123    } else {
18124      // For any other property we always add it to the queue and then we
18125      // filter it out using the whitelist during the commit.
18126      (updatePayload = updatePayload || []).push(propKey, nextProp);
18127    }
18128  }
18129
18130  if (styleUpdates) {
18131    {
18132      validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);
18133    }
18134
18135    (updatePayload = updatePayload || []).push(STYLE, styleUpdates);
18136  }
18137
18138  return updatePayload;
18139} // Apply the diff.
18140
18141function updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {
18142  // Update checked *before* name.
18143  // In the middle of an update, it is possible to have multiple checked.
18144  // When a checked radio tries to change name, browser makes another radio's checked false.
18145  if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {
18146    updateChecked(domElement, nextRawProps);
18147  }
18148
18149  var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);
18150  var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.
18151
18152  updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props
18153  // changed.
18154
18155  switch (tag) {
18156    case 'input':
18157      // Update the wrapper around inputs *after* updating props. This has to
18158      // happen after `updateDOMProperties`. Otherwise HTML5 input validations
18159      // raise warnings and prevent the new value from being assigned.
18160      updateWrapper(domElement, nextRawProps);
18161      break;
18162
18163    case 'textarea':
18164      updateWrapper$1(domElement, nextRawProps);
18165      break;
18166
18167    case 'select':
18168      // <select> value update needs to occur after <option> children
18169      // reconciliation
18170      postUpdateWrapper(domElement, nextRawProps);
18171      break;
18172  }
18173}
18174
18175function getPossibleStandardName(propName) {
18176  {
18177    var lowerCasedName = propName.toLowerCase();
18178
18179    if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {
18180      return null;
18181    }
18182
18183    return possibleStandardNames[lowerCasedName] || null;
18184  }
18185}
18186
18187function diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement) {
18188  var isCustomComponentTag;
18189  var extraAttributeNames;
18190
18191  {
18192    suppressHydrationWarning = rawProps[SUPPRESS_HYDRATION_WARNING] === true;
18193    isCustomComponentTag = isCustomComponent(tag, rawProps);
18194    validatePropertiesInDevelopment(tag, rawProps);
18195  } // TODO: Make sure that we check isMounted before firing any of these events.
18196
18197
18198  switch (tag) {
18199    case 'iframe':
18200    case 'object':
18201    case 'embed':
18202      trapBubbledEvent(TOP_LOAD, domElement);
18203      break;
18204
18205    case 'video':
18206    case 'audio':
18207      // Create listener for each media event
18208      for (var i = 0; i < mediaEventTypes.length; i++) {
18209        trapBubbledEvent(mediaEventTypes[i], domElement);
18210      }
18211
18212      break;
18213
18214    case 'source':
18215      trapBubbledEvent(TOP_ERROR, domElement);
18216      break;
18217
18218    case 'img':
18219    case 'image':
18220    case 'link':
18221      trapBubbledEvent(TOP_ERROR, domElement);
18222      trapBubbledEvent(TOP_LOAD, domElement);
18223      break;
18224
18225    case 'form':
18226      trapBubbledEvent(TOP_RESET, domElement);
18227      trapBubbledEvent(TOP_SUBMIT, domElement);
18228      break;
18229
18230    case 'details':
18231      trapBubbledEvent(TOP_TOGGLE, domElement);
18232      break;
18233
18234    case 'input':
18235      initWrapperState(domElement, rawProps);
18236      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
18237      // to onChange. Even if there is no listener.
18238
18239      ensureListeningTo(rootContainerElement, 'onChange');
18240      break;
18241
18242    case 'option':
18243      validateProps(domElement, rawProps);
18244      break;
18245
18246    case 'select':
18247      initWrapperState$1(domElement, rawProps);
18248      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
18249      // to onChange. Even if there is no listener.
18250
18251      ensureListeningTo(rootContainerElement, 'onChange');
18252      break;
18253
18254    case 'textarea':
18255      initWrapperState$2(domElement, rawProps);
18256      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
18257      // to onChange. Even if there is no listener.
18258
18259      ensureListeningTo(rootContainerElement, 'onChange');
18260      break;
18261  }
18262
18263  assertValidProps(tag, rawProps);
18264
18265  {
18266    extraAttributeNames = new Set();
18267    var attributes = domElement.attributes;
18268
18269    for (var _i = 0; _i < attributes.length; _i++) {
18270      var name = attributes[_i].name.toLowerCase();
18271
18272      switch (name) {
18273        // Built-in SSR attribute is whitelisted
18274        case 'data-reactroot':
18275          break;
18276        // Controlled attributes are not validated
18277        // TODO: Only ignore them on controlled tags.
18278
18279        case 'value':
18280          break;
18281
18282        case 'checked':
18283          break;
18284
18285        case 'selected':
18286          break;
18287
18288        default:
18289          // Intentionally use the original name.
18290          // See discussion in https://github.com/facebook/react/pull/10676.
18291          extraAttributeNames.add(attributes[_i].name);
18292      }
18293    }
18294  }
18295
18296  var updatePayload = null;
18297
18298  for (var propKey in rawProps) {
18299    if (!rawProps.hasOwnProperty(propKey)) {
18300      continue;
18301    }
18302
18303    var nextProp = rawProps[propKey];
18304
18305    if (propKey === CHILDREN) {
18306      // For text content children we compare against textContent. This
18307      // might match additional HTML that is hidden when we read it using
18308      // textContent. E.g. "foo" will match "f<span>oo</span>" but that still
18309      // satisfies our requirement. Our requirement is not to produce perfect
18310      // HTML and attributes. Ideally we should preserve structure but it's
18311      // ok not to if the visible content is still enough to indicate what
18312      // even listeners these nodes might be wired up to.
18313      // TODO: Warn if there is more than a single textNode as a child.
18314      // TODO: Should we use domElement.firstChild.nodeValue to compare?
18315      if (typeof nextProp === 'string') {
18316        if (domElement.textContent !== nextProp) {
18317          if ( !suppressHydrationWarning) {
18318            warnForTextDifference(domElement.textContent, nextProp);
18319          }
18320
18321          updatePayload = [CHILDREN, nextProp];
18322        }
18323      } else if (typeof nextProp === 'number') {
18324        if (domElement.textContent !== '' + nextProp) {
18325          if ( !suppressHydrationWarning) {
18326            warnForTextDifference(domElement.textContent, nextProp);
18327          }
18328
18329          updatePayload = [CHILDREN, '' + nextProp];
18330        }
18331      }
18332    } else if (registrationNameModules.hasOwnProperty(propKey)) {
18333      if (nextProp != null) {
18334        if ( typeof nextProp !== 'function') {
18335          warnForInvalidEventListener(propKey, nextProp);
18336        }
18337
18338        ensureListeningTo(rootContainerElement, propKey);
18339      }
18340    } else if ( // Convince Flow we've calculated it (it's DEV-only in this method.)
18341    typeof isCustomComponentTag === 'boolean') {
18342      // Validate that the properties correspond to their expected values.
18343      var serverValue = void 0;
18344      var propertyInfo = getPropertyInfo(propKey);
18345
18346      if (suppressHydrationWarning) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated
18347      // TODO: Only ignore them on controlled tags.
18348      propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
18349        var serverHTML = domElement.innerHTML;
18350        var nextHtml = nextProp ? nextProp[HTML$1] : undefined;
18351        var expectedHTML = normalizeHTML(domElement, nextHtml != null ? nextHtml : '');
18352
18353        if (expectedHTML !== serverHTML) {
18354          warnForPropDifference(propKey, serverHTML, expectedHTML);
18355        }
18356      } else if (propKey === STYLE) {
18357        // $FlowFixMe - Should be inferred as not undefined.
18358        extraAttributeNames.delete(propKey);
18359
18360        if (canDiffStyleForHydrationWarning) {
18361          var expectedStyle = createDangerousStringForStyles(nextProp);
18362          serverValue = domElement.getAttribute('style');
18363
18364          if (expectedStyle !== serverValue) {
18365            warnForPropDifference(propKey, serverValue, expectedStyle);
18366          }
18367        }
18368      } else if (isCustomComponentTag) {
18369        // $FlowFixMe - Should be inferred as not undefined.
18370        extraAttributeNames.delete(propKey.toLowerCase());
18371        serverValue = getValueForAttribute(domElement, propKey, nextProp);
18372
18373        if (nextProp !== serverValue) {
18374          warnForPropDifference(propKey, serverValue, nextProp);
18375        }
18376      } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {
18377        var isMismatchDueToBadCasing = false;
18378
18379        if (propertyInfo !== null) {
18380          // $FlowFixMe - Should be inferred as not undefined.
18381          extraAttributeNames.delete(propertyInfo.attributeName);
18382          serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);
18383        } else {
18384          var ownNamespace = parentNamespace;
18385
18386          if (ownNamespace === HTML_NAMESPACE$1) {
18387            ownNamespace = getIntrinsicNamespace(tag);
18388          }
18389
18390          if (ownNamespace === HTML_NAMESPACE$1) {
18391            // $FlowFixMe - Should be inferred as not undefined.
18392            extraAttributeNames.delete(propKey.toLowerCase());
18393          } else {
18394            var standardName = getPossibleStandardName(propKey);
18395
18396            if (standardName !== null && standardName !== propKey) {
18397              // If an SVG prop is supplied with bad casing, it will
18398              // be successfully parsed from HTML, but will produce a mismatch
18399              // (and would be incorrectly rendered on the client).
18400              // However, we already warn about bad casing elsewhere.
18401              // So we'll skip the misleading extra mismatch warning in this case.
18402              isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.
18403
18404              extraAttributeNames.delete(standardName);
18405            } // $FlowFixMe - Should be inferred as not undefined.
18406
18407
18408            extraAttributeNames.delete(propKey);
18409          }
18410
18411          serverValue = getValueForAttribute(domElement, propKey, nextProp);
18412        }
18413
18414        if (nextProp !== serverValue && !isMismatchDueToBadCasing) {
18415          warnForPropDifference(propKey, serverValue, nextProp);
18416        }
18417      }
18418    }
18419  }
18420
18421  {
18422    // $FlowFixMe - Should be inferred as not undefined.
18423    if (extraAttributeNames.size > 0 && !suppressHydrationWarning) {
18424      // $FlowFixMe - Should be inferred as not undefined.
18425      warnForExtraAttributes(extraAttributeNames);
18426    }
18427  }
18428
18429  switch (tag) {
18430    case 'input':
18431      // TODO: Make sure we check if this is still unmounted or do any clean
18432      // up necessary since we never stop tracking anymore.
18433      track(domElement);
18434      postMountWrapper(domElement, rawProps, true);
18435      break;
18436
18437    case 'textarea':
18438      // TODO: Make sure we check if this is still unmounted or do any clean
18439      // up necessary since we never stop tracking anymore.
18440      track(domElement);
18441      postMountWrapper$3(domElement);
18442      break;
18443
18444    case 'select':
18445    case 'option':
18446      // For input and textarea we current always set the value property at
18447      // post mount to force it to diverge from attributes. However, for
18448      // option and select we don't quite do the same thing and select
18449      // is not resilient to the DOM state changing so we don't do that here.
18450      // TODO: Consider not doing this for input and textarea.
18451      break;
18452
18453    default:
18454      if (typeof rawProps.onClick === 'function') {
18455        // TODO: This cast may not be sound for SVG, MathML or custom elements.
18456        trapClickOnNonInteractiveElement(domElement);
18457      }
18458
18459      break;
18460  }
18461
18462  return updatePayload;
18463}
18464function diffHydratedText(textNode, text) {
18465  var isDifferent = textNode.nodeValue !== text;
18466  return isDifferent;
18467}
18468function warnForUnmatchedText(textNode, text) {
18469  {
18470    warnForTextDifference(textNode.nodeValue, text);
18471  }
18472}
18473function warnForDeletedHydratableElement(parentNode, child) {
18474  {
18475    if (didWarnInvalidHydration) {
18476      return;
18477    }
18478
18479    didWarnInvalidHydration = true;
18480
18481    error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());
18482  }
18483}
18484function warnForDeletedHydratableText(parentNode, child) {
18485  {
18486    if (didWarnInvalidHydration) {
18487      return;
18488    }
18489
18490    didWarnInvalidHydration = true;
18491
18492    error('Did not expect server HTML to contain the text node "%s" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());
18493  }
18494}
18495function warnForInsertedHydratedElement(parentNode, tag, props) {
18496  {
18497    if (didWarnInvalidHydration) {
18498      return;
18499    }
18500
18501    didWarnInvalidHydration = true;
18502
18503    error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());
18504  }
18505}
18506function warnForInsertedHydratedText(parentNode, text) {
18507  {
18508    if (text === '') {
18509      // We expect to insert empty text nodes since they're not represented in
18510      // the HTML.
18511      // TODO: Remove this special case if we can just avoid inserting empty
18512      // text nodes.
18513      return;
18514    }
18515
18516    if (didWarnInvalidHydration) {
18517      return;
18518    }
18519
18520    didWarnInvalidHydration = true;
18521
18522    error('Expected server HTML to contain a matching text node for "%s" in <%s>.', text, parentNode.nodeName.toLowerCase());
18523  }
18524}
18525function restoreControlledState$3(domElement, tag, props) {
18526  switch (tag) {
18527    case 'input':
18528      restoreControlledState(domElement, props);
18529      return;
18530
18531    case 'textarea':
18532      restoreControlledState$2(domElement, props);
18533      return;
18534
18535    case 'select':
18536      restoreControlledState$1(domElement, props);
18537      return;
18538  }
18539}
18540
18541function getActiveElement(doc) {
18542  doc = doc || (typeof document !== 'undefined' ? document : undefined);
18543
18544  if (typeof doc === 'undefined') {
18545    return null;
18546  }
18547
18548  try {
18549    return doc.activeElement || doc.body;
18550  } catch (e) {
18551    return doc.body;
18552  }
18553}
18554
18555/**
18556 * Given any node return the first leaf node without children.
18557 *
18558 * @param {DOMElement|DOMTextNode} node
18559 * @return {DOMElement|DOMTextNode}
18560 */
18561
18562function getLeafNode(node) {
18563  while (node && node.firstChild) {
18564    node = node.firstChild;
18565  }
18566
18567  return node;
18568}
18569/**
18570 * Get the next sibling within a container. This will walk up the
18571 * DOM if a node's siblings have been exhausted.
18572 *
18573 * @param {DOMElement|DOMTextNode} node
18574 * @return {?DOMElement|DOMTextNode}
18575 */
18576
18577
18578function getSiblingNode(node) {
18579  while (node) {
18580    if (node.nextSibling) {
18581      return node.nextSibling;
18582    }
18583
18584    node = node.parentNode;
18585  }
18586}
18587/**
18588 * Get object describing the nodes which contain characters at offset.
18589 *
18590 * @param {DOMElement|DOMTextNode} root
18591 * @param {number} offset
18592 * @return {?object}
18593 */
18594
18595
18596function getNodeForCharacterOffset(root, offset) {
18597  var node = getLeafNode(root);
18598  var nodeStart = 0;
18599  var nodeEnd = 0;
18600
18601  while (node) {
18602    if (node.nodeType === TEXT_NODE) {
18603      nodeEnd = nodeStart + node.textContent.length;
18604
18605      if (nodeStart <= offset && nodeEnd >= offset) {
18606        return {
18607          node: node,
18608          offset: offset - nodeStart
18609        };
18610      }
18611
18612      nodeStart = nodeEnd;
18613    }
18614
18615    node = getLeafNode(getSiblingNode(node));
18616  }
18617}
18618
18619/**
18620 * @param {DOMElement} outerNode
18621 * @return {?object}
18622 */
18623
18624function getOffsets(outerNode) {
18625  var ownerDocument = outerNode.ownerDocument;
18626  var win = ownerDocument && ownerDocument.defaultView || window;
18627  var selection = win.getSelection && win.getSelection();
18628
18629  if (!selection || selection.rangeCount === 0) {
18630    return null;
18631  }
18632
18633  var anchorNode = selection.anchorNode,
18634      anchorOffset = selection.anchorOffset,
18635      focusNode = selection.focusNode,
18636      focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the
18637  // up/down buttons on an <input type="number">. Anonymous divs do not seem to
18638  // expose properties, triggering a "Permission denied error" if any of its
18639  // properties are accessed. The only seemingly possible way to avoid erroring
18640  // is to access a property that typically works for non-anonymous divs and
18641  // catch any error that may otherwise arise. See
18642  // https://bugzilla.mozilla.org/show_bug.cgi?id=208427
18643
18644  try {
18645    /* eslint-disable no-unused-expressions */
18646    anchorNode.nodeType;
18647    focusNode.nodeType;
18648    /* eslint-enable no-unused-expressions */
18649  } catch (e) {
18650    return null;
18651  }
18652
18653  return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);
18654}
18655/**
18656 * Returns {start, end} where `start` is the character/codepoint index of
18657 * (anchorNode, anchorOffset) within the textContent of `outerNode`, and
18658 * `end` is the index of (focusNode, focusOffset).
18659 *
18660 * Returns null if you pass in garbage input but we should probably just crash.
18661 *
18662 * Exported only for testing.
18663 */
18664
18665function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {
18666  var length = 0;
18667  var start = -1;
18668  var end = -1;
18669  var indexWithinAnchor = 0;
18670  var indexWithinFocus = 0;
18671  var node = outerNode;
18672  var parentNode = null;
18673
18674  outer: while (true) {
18675    var next = null;
18676
18677    while (true) {
18678      if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {
18679        start = length + anchorOffset;
18680      }
18681
18682      if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {
18683        end = length + focusOffset;
18684      }
18685
18686      if (node.nodeType === TEXT_NODE) {
18687        length += node.nodeValue.length;
18688      }
18689
18690      if ((next = node.firstChild) === null) {
18691        break;
18692      } // Moving from `node` to its first child `next`.
18693
18694
18695      parentNode = node;
18696      node = next;
18697    }
18698
18699    while (true) {
18700      if (node === outerNode) {
18701        // If `outerNode` has children, this is always the second time visiting
18702        // it. If it has no children, this is still the first loop, and the only
18703        // valid selection is anchorNode and focusNode both equal to this node
18704        // and both offsets 0, in which case we will have handled above.
18705        break outer;
18706      }
18707
18708      if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {
18709        start = length;
18710      }
18711
18712      if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {
18713        end = length;
18714      }
18715
18716      if ((next = node.nextSibling) !== null) {
18717        break;
18718      }
18719
18720      node = parentNode;
18721      parentNode = node.parentNode;
18722    } // Moving from `node` to its next sibling `next`.
18723
18724
18725    node = next;
18726  }
18727
18728  if (start === -1 || end === -1) {
18729    // This should never happen. (Would happen if the anchor/focus nodes aren't
18730    // actually inside the passed-in node.)
18731    return null;
18732  }
18733
18734  return {
18735    start: start,
18736    end: end
18737  };
18738}
18739/**
18740 * In modern non-IE browsers, we can support both forward and backward
18741 * selections.
18742 *
18743 * Note: IE10+ supports the Selection object, but it does not support
18744 * the `extend` method, which means that even in modern IE, it's not possible
18745 * to programmatically create a backward selection. Thus, for all IE
18746 * versions, we use the old IE API to create our selections.
18747 *
18748 * @param {DOMElement|DOMTextNode} node
18749 * @param {object} offsets
18750 */
18751
18752function setOffsets(node, offsets) {
18753  var doc = node.ownerDocument || document;
18754  var win = doc && doc.defaultView || window; // Edge fails with "Object expected" in some scenarios.
18755  // (For instance: TinyMCE editor used in a list component that supports pasting to add more,
18756  // fails when pasting 100+ items)
18757
18758  if (!win.getSelection) {
18759    return;
18760  }
18761
18762  var selection = win.getSelection();
18763  var length = node.textContent.length;
18764  var start = Math.min(offsets.start, length);
18765  var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.
18766  // Flip backward selections, so we can set with a single range.
18767
18768  if (!selection.extend && start > end) {
18769    var temp = end;
18770    end = start;
18771    start = temp;
18772  }
18773
18774  var startMarker = getNodeForCharacterOffset(node, start);
18775  var endMarker = getNodeForCharacterOffset(node, end);
18776
18777  if (startMarker && endMarker) {
18778    if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {
18779      return;
18780    }
18781
18782    var range = doc.createRange();
18783    range.setStart(startMarker.node, startMarker.offset);
18784    selection.removeAllRanges();
18785
18786    if (start > end) {
18787      selection.addRange(range);
18788      selection.extend(endMarker.node, endMarker.offset);
18789    } else {
18790      range.setEnd(endMarker.node, endMarker.offset);
18791      selection.addRange(range);
18792    }
18793  }
18794}
18795
18796function isTextNode(node) {
18797  return node && node.nodeType === TEXT_NODE;
18798}
18799
18800function containsNode(outerNode, innerNode) {
18801  if (!outerNode || !innerNode) {
18802    return false;
18803  } else if (outerNode === innerNode) {
18804    return true;
18805  } else if (isTextNode(outerNode)) {
18806    return false;
18807  } else if (isTextNode(innerNode)) {
18808    return containsNode(outerNode, innerNode.parentNode);
18809  } else if ('contains' in outerNode) {
18810    return outerNode.contains(innerNode);
18811  } else if (outerNode.compareDocumentPosition) {
18812    return !!(outerNode.compareDocumentPosition(innerNode) & 16);
18813  } else {
18814    return false;
18815  }
18816}
18817
18818function isInDocument(node) {
18819  return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);
18820}
18821
18822function isSameOriginFrame(iframe) {
18823  try {
18824    // Accessing the contentDocument of a HTMLIframeElement can cause the browser
18825    // to throw, e.g. if it has a cross-origin src attribute.
18826    // Safari will show an error in the console when the access results in "Blocked a frame with origin". e.g:
18827    // iframe.contentDocument.defaultView;
18828    // A safety way is to access one of the cross origin properties: Window or Location
18829    // Which might result in "SecurityError" DOM Exception and it is compatible to Safari.
18830    // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl
18831    return typeof iframe.contentWindow.location.href === 'string';
18832  } catch (err) {
18833    return false;
18834  }
18835}
18836
18837function getActiveElementDeep() {
18838  var win = window;
18839  var element = getActiveElement();
18840
18841  while (element instanceof win.HTMLIFrameElement) {
18842    if (isSameOriginFrame(element)) {
18843      win = element.contentWindow;
18844    } else {
18845      return element;
18846    }
18847
18848    element = getActiveElement(win.document);
18849  }
18850
18851  return element;
18852}
18853/**
18854 * @ReactInputSelection: React input selection module. Based on Selection.js,
18855 * but modified to be suitable for react and has a couple of bug fixes (doesn't
18856 * assume buttons have range selections allowed).
18857 * Input selection module for React.
18858 */
18859
18860/**
18861 * @hasSelectionCapabilities: we get the element types that support selection
18862 * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`
18863 * and `selectionEnd` rows.
18864 */
18865
18866
18867function hasSelectionCapabilities(elem) {
18868  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
18869  return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');
18870}
18871function getSelectionInformation() {
18872  var focusedElem = getActiveElementDeep();
18873  return {
18874    // Used by Flare
18875    activeElementDetached: null,
18876    focusedElem: focusedElem,
18877    selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null
18878  };
18879}
18880/**
18881 * @restoreSelection: If any selection information was potentially lost,
18882 * restore it. This is useful when performing operations that could remove dom
18883 * nodes and place them back in, resulting in focus being lost.
18884 */
18885
18886function restoreSelection(priorSelectionInformation) {
18887  var curFocusedElem = getActiveElementDeep();
18888  var priorFocusedElem = priorSelectionInformation.focusedElem;
18889  var priorSelectionRange = priorSelectionInformation.selectionRange;
18890
18891  if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {
18892    if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {
18893      setSelection(priorFocusedElem, priorSelectionRange);
18894    } // Focusing a node can change the scroll position, which is undesirable
18895
18896
18897    var ancestors = [];
18898    var ancestor = priorFocusedElem;
18899
18900    while (ancestor = ancestor.parentNode) {
18901      if (ancestor.nodeType === ELEMENT_NODE) {
18902        ancestors.push({
18903          element: ancestor,
18904          left: ancestor.scrollLeft,
18905          top: ancestor.scrollTop
18906        });
18907      }
18908    }
18909
18910    if (typeof priorFocusedElem.focus === 'function') {
18911      priorFocusedElem.focus();
18912    }
18913
18914    for (var i = 0; i < ancestors.length; i++) {
18915      var info = ancestors[i];
18916      info.element.scrollLeft = info.left;
18917      info.element.scrollTop = info.top;
18918    }
18919  }
18920}
18921/**
18922 * @getSelection: Gets the selection bounds of a focused textarea, input or
18923 * contentEditable node.
18924 * -@input: Look up selection bounds of this input
18925 * -@return {start: selectionStart, end: selectionEnd}
18926 */
18927
18928function getSelection(input) {
18929  var selection;
18930
18931  if ('selectionStart' in input) {
18932    // Modern browser with input or textarea.
18933    selection = {
18934      start: input.selectionStart,
18935      end: input.selectionEnd
18936    };
18937  } else {
18938    // Content editable or old IE textarea.
18939    selection = getOffsets(input);
18940  }
18941
18942  return selection || {
18943    start: 0,
18944    end: 0
18945  };
18946}
18947/**
18948 * @setSelection: Sets the selection bounds of a textarea or input and focuses
18949 * the input.
18950 * -@input     Set selection bounds of this input or textarea
18951 * -@offsets   Object of same form that is returned from get*
18952 */
18953
18954function setSelection(input, offsets) {
18955  var start = offsets.start,
18956      end = offsets.end;
18957
18958  if (end === undefined) {
18959    end = start;
18960  }
18961
18962  if ('selectionStart' in input) {
18963    input.selectionStart = start;
18964    input.selectionEnd = Math.min(end, input.value.length);
18965  } else {
18966    setOffsets(input, offsets);
18967  }
18968}
18969
18970var validateDOMNesting = function () {};
18971
18972var updatedAncestorInfo = function () {};
18973
18974{
18975  // This validation code was written based on the HTML5 parsing spec:
18976  // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
18977  //
18978  // Note: this does not catch all invalid nesting, nor does it try to (as it's
18979  // not clear what practical benefit doing so provides); instead, we warn only
18980  // for cases where the parser will give a parse tree differing from what React
18981  // intended. For example, <b><div></div></b> is invalid but we don't warn
18982  // because it still parses correctly; we do warn for other cases like nested
18983  // <p> tags where the beginning of the second element implicitly closes the
18984  // first, causing a confusing mess.
18985  // https://html.spec.whatwg.org/multipage/syntax.html#special
18986  var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
18987
18988  var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point
18989  // TODO: Distinguish by namespace here -- for <title>, including it here
18990  // errs on the side of fewer warnings
18991  'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope
18992
18993  var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags
18994
18995  var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];
18996  var emptyAncestorInfo = {
18997    current: null,
18998    formTag: null,
18999    aTagInScope: null,
19000    buttonTagInScope: null,
19001    nobrTagInScope: null,
19002    pTagInButtonScope: null,
19003    listItemTagAutoclosing: null,
19004    dlItemTagAutoclosing: null
19005  };
19006
19007  updatedAncestorInfo = function (oldInfo, tag) {
19008    var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);
19009
19010    var info = {
19011      tag: tag
19012    };
19013
19014    if (inScopeTags.indexOf(tag) !== -1) {
19015      ancestorInfo.aTagInScope = null;
19016      ancestorInfo.buttonTagInScope = null;
19017      ancestorInfo.nobrTagInScope = null;
19018    }
19019
19020    if (buttonScopeTags.indexOf(tag) !== -1) {
19021      ancestorInfo.pTagInButtonScope = null;
19022    } // See rules for 'li', 'dd', 'dt' start tags in
19023    // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
19024
19025
19026    if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {
19027      ancestorInfo.listItemTagAutoclosing = null;
19028      ancestorInfo.dlItemTagAutoclosing = null;
19029    }
19030
19031    ancestorInfo.current = info;
19032
19033    if (tag === 'form') {
19034      ancestorInfo.formTag = info;
19035    }
19036
19037    if (tag === 'a') {
19038      ancestorInfo.aTagInScope = info;
19039    }
19040
19041    if (tag === 'button') {
19042      ancestorInfo.buttonTagInScope = info;
19043    }
19044
19045    if (tag === 'nobr') {
19046      ancestorInfo.nobrTagInScope = info;
19047    }
19048
19049    if (tag === 'p') {
19050      ancestorInfo.pTagInButtonScope = info;
19051    }
19052
19053    if (tag === 'li') {
19054      ancestorInfo.listItemTagAutoclosing = info;
19055    }
19056
19057    if (tag === 'dd' || tag === 'dt') {
19058      ancestorInfo.dlItemTagAutoclosing = info;
19059    }
19060
19061    return ancestorInfo;
19062  };
19063  /**
19064   * Returns whether
19065   */
19066
19067
19068  var isTagValidWithParent = function (tag, parentTag) {
19069    // First, let's check if we're in an unusual parsing mode...
19070    switch (parentTag) {
19071      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect
19072      case 'select':
19073        return tag === 'option' || tag === 'optgroup' || tag === '#text';
19074
19075      case 'optgroup':
19076        return tag === 'option' || tag === '#text';
19077      // Strictly speaking, seeing an <option> doesn't mean we're in a <select>
19078      // but
19079
19080      case 'option':
19081        return tag === '#text';
19082      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd
19083      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption
19084      // No special behavior since these rules fall back to "in body" mode for
19085      // all except special table nodes which cause bad parsing behavior anyway.
19086      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr
19087
19088      case 'tr':
19089        return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';
19090      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody
19091
19092      case 'tbody':
19093      case 'thead':
19094      case 'tfoot':
19095        return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';
19096      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup
19097
19098      case 'colgroup':
19099        return tag === 'col' || tag === 'template';
19100      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable
19101
19102      case 'table':
19103        return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';
19104      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead
19105
19106      case 'head':
19107        return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';
19108      // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element
19109
19110      case 'html':
19111        return tag === 'head' || tag === 'body' || tag === 'frameset';
19112
19113      case 'frameset':
19114        return tag === 'frame';
19115
19116      case '#document':
19117        return tag === 'html';
19118    } // Probably in the "in body" parsing mode, so we outlaw only tag combos
19119    // where the parsing rules cause implicit opens or closes to be added.
19120    // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
19121
19122
19123    switch (tag) {
19124      case 'h1':
19125      case 'h2':
19126      case 'h3':
19127      case 'h4':
19128      case 'h5':
19129      case 'h6':
19130        return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';
19131
19132      case 'rp':
19133      case 'rt':
19134        return impliedEndTags.indexOf(parentTag) === -1;
19135
19136      case 'body':
19137      case 'caption':
19138      case 'col':
19139      case 'colgroup':
19140      case 'frameset':
19141      case 'frame':
19142      case 'head':
19143      case 'html':
19144      case 'tbody':
19145      case 'td':
19146      case 'tfoot':
19147      case 'th':
19148      case 'thead':
19149      case 'tr':
19150        // These tags are only valid with a few parents that have special child
19151        // parsing rules -- if we're down here, then none of those matched and
19152        // so we allow it only if we don't know what the parent is, as all other
19153        // cases are invalid.
19154        return parentTag == null;
19155    }
19156
19157    return true;
19158  };
19159  /**
19160   * Returns whether
19161   */
19162
19163
19164  var findInvalidAncestorForTag = function (tag, ancestorInfo) {
19165    switch (tag) {
19166      case 'address':
19167      case 'article':
19168      case 'aside':
19169      case 'blockquote':
19170      case 'center':
19171      case 'details':
19172      case 'dialog':
19173      case 'dir':
19174      case 'div':
19175      case 'dl':
19176      case 'fieldset':
19177      case 'figcaption':
19178      case 'figure':
19179      case 'footer':
19180      case 'header':
19181      case 'hgroup':
19182      case 'main':
19183      case 'menu':
19184      case 'nav':
19185      case 'ol':
19186      case 'p':
19187      case 'section':
19188      case 'summary':
19189      case 'ul':
19190      case 'pre':
19191      case 'listing':
19192      case 'table':
19193      case 'hr':
19194      case 'xmp':
19195      case 'h1':
19196      case 'h2':
19197      case 'h3':
19198      case 'h4':
19199      case 'h5':
19200      case 'h6':
19201        return ancestorInfo.pTagInButtonScope;
19202
19203      case 'form':
19204        return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
19205
19206      case 'li':
19207        return ancestorInfo.listItemTagAutoclosing;
19208
19209      case 'dd':
19210      case 'dt':
19211        return ancestorInfo.dlItemTagAutoclosing;
19212
19213      case 'button':
19214        return ancestorInfo.buttonTagInScope;
19215
19216      case 'a':
19217        // Spec says something about storing a list of markers, but it sounds
19218        // equivalent to this check.
19219        return ancestorInfo.aTagInScope;
19220
19221      case 'nobr':
19222        return ancestorInfo.nobrTagInScope;
19223    }
19224
19225    return null;
19226  };
19227
19228  var didWarn$1 = {};
19229
19230  validateDOMNesting = function (childTag, childText, ancestorInfo) {
19231    ancestorInfo = ancestorInfo || emptyAncestorInfo;
19232    var parentInfo = ancestorInfo.current;
19233    var parentTag = parentInfo && parentInfo.tag;
19234
19235    if (childText != null) {
19236      if (childTag != null) {
19237        error('validateDOMNesting: when childText is passed, childTag should be null');
19238      }
19239
19240      childTag = '#text';
19241    }
19242
19243    var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;
19244    var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
19245    var invalidParentOrAncestor = invalidParent || invalidAncestor;
19246
19247    if (!invalidParentOrAncestor) {
19248      return;
19249    }
19250
19251    var ancestorTag = invalidParentOrAncestor.tag;
19252    var addendum = getCurrentFiberStackInDev();
19253    var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + addendum;
19254
19255    if (didWarn$1[warnKey]) {
19256      return;
19257    }
19258
19259    didWarn$1[warnKey] = true;
19260    var tagDisplayName = childTag;
19261    var whitespaceInfo = '';
19262
19263    if (childTag === '#text') {
19264      if (/\S/.test(childText)) {
19265        tagDisplayName = 'Text nodes';
19266      } else {
19267        tagDisplayName = 'Whitespace text nodes';
19268        whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.';
19269      }
19270    } else {
19271      tagDisplayName = '<' + childTag + '>';
19272    }
19273
19274    if (invalidParent) {
19275      var info = '';
19276
19277      if (ancestorTag === 'table' && childTag === 'tr') {
19278        info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';
19279      }
19280
19281      error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);
19282    } else {
19283      error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);
19284    }
19285  };
19286}
19287
19288var SUPPRESS_HYDRATION_WARNING$1;
19289
19290{
19291  SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';
19292}
19293
19294var SUSPENSE_START_DATA = '$';
19295var SUSPENSE_END_DATA = '/$';
19296var SUSPENSE_PENDING_START_DATA = '$?';
19297var SUSPENSE_FALLBACK_START_DATA = '$!';
19298var STYLE$1 = 'style';
19299var eventsEnabled = null;
19300var selectionInformation = null;
19301
19302function shouldAutoFocusHostComponent(type, props) {
19303  switch (type) {
19304    case 'button':
19305    case 'input':
19306    case 'select':
19307    case 'textarea':
19308      return !!props.autoFocus;
19309  }
19310
19311  return false;
19312}
19313function getRootHostContext(rootContainerInstance) {
19314  var type;
19315  var namespace;
19316  var nodeType = rootContainerInstance.nodeType;
19317
19318  switch (nodeType) {
19319    case DOCUMENT_NODE:
19320    case DOCUMENT_FRAGMENT_NODE:
19321      {
19322        type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';
19323        var root = rootContainerInstance.documentElement;
19324        namespace = root ? root.namespaceURI : getChildNamespace(null, '');
19325        break;
19326      }
19327
19328    default:
19329      {
19330        var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;
19331        var ownNamespace = container.namespaceURI || null;
19332        type = container.tagName;
19333        namespace = getChildNamespace(ownNamespace, type);
19334        break;
19335      }
19336  }
19337
19338  {
19339    var validatedTag = type.toLowerCase();
19340    var ancestorInfo = updatedAncestorInfo(null, validatedTag);
19341    return {
19342      namespace: namespace,
19343      ancestorInfo: ancestorInfo
19344    };
19345  }
19346}
19347function getChildHostContext(parentHostContext, type, rootContainerInstance) {
19348  {
19349    var parentHostContextDev = parentHostContext;
19350    var namespace = getChildNamespace(parentHostContextDev.namespace, type);
19351    var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);
19352    return {
19353      namespace: namespace,
19354      ancestorInfo: ancestorInfo
19355    };
19356  }
19357}
19358function getPublicInstance(instance) {
19359  return instance;
19360}
19361function prepareForCommit(containerInfo) {
19362  eventsEnabled = isEnabled();
19363  selectionInformation = getSelectionInformation();
19364  setEnabled(false);
19365}
19366function resetAfterCommit(containerInfo) {
19367  restoreSelection(selectionInformation);
19368  setEnabled(eventsEnabled);
19369  eventsEnabled = null;
19370
19371  selectionInformation = null;
19372}
19373function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {
19374  var parentNamespace;
19375
19376  {
19377    // TODO: take namespace into account when validating.
19378    var hostContextDev = hostContext;
19379    validateDOMNesting(type, null, hostContextDev.ancestorInfo);
19380
19381    if (typeof props.children === 'string' || typeof props.children === 'number') {
19382      var string = '' + props.children;
19383      var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);
19384      validateDOMNesting(null, string, ownAncestorInfo);
19385    }
19386
19387    parentNamespace = hostContextDev.namespace;
19388  }
19389
19390  var domElement = createElement(type, props, rootContainerInstance, parentNamespace);
19391  precacheFiberNode(internalInstanceHandle, domElement);
19392  updateFiberProps(domElement, props);
19393  return domElement;
19394}
19395function appendInitialChild(parentInstance, child) {
19396  parentInstance.appendChild(child);
19397}
19398function finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {
19399  setInitialProperties(domElement, type, props, rootContainerInstance);
19400  return shouldAutoFocusHostComponent(type, props);
19401}
19402function prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {
19403  {
19404    var hostContextDev = hostContext;
19405
19406    if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {
19407      var string = '' + newProps.children;
19408      var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);
19409      validateDOMNesting(null, string, ownAncestorInfo);
19410    }
19411  }
19412
19413  return diffProperties(domElement, type, oldProps, newProps, rootContainerInstance);
19414}
19415function shouldSetTextContent(type, props) {
19416  return type === 'textarea' || type === 'option' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;
19417}
19418function shouldDeprioritizeSubtree(type, props) {
19419  return !!props.hidden;
19420}
19421function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {
19422  {
19423    var hostContextDev = hostContext;
19424    validateDOMNesting(null, text, hostContextDev.ancestorInfo);
19425  }
19426
19427  var textNode = createTextNode(text, rootContainerInstance);
19428  precacheFiberNode(internalInstanceHandle, textNode);
19429  return textNode;
19430}
19431// if a component just imports ReactDOM (e.g. for findDOMNode).
19432// Some environments might not have setTimeout or clearTimeout.
19433
19434var scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;
19435var cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;
19436var noTimeout = -1; // -------------------
19437function commitMount(domElement, type, newProps, internalInstanceHandle) {
19438  // Despite the naming that might imply otherwise, this method only
19439  // fires if there is an `Update` effect scheduled during mounting.
19440  // This happens if `finalizeInitialChildren` returns `true` (which it
19441  // does to implement the `autoFocus` attribute on the client). But
19442  // there are also other cases when this might happen (such as patching
19443  // up text content during hydration mismatch). So we'll check this again.
19444  if (shouldAutoFocusHostComponent(type, newProps)) {
19445    domElement.focus();
19446  }
19447}
19448function commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {
19449  // Update the props handle so that we know which props are the ones with
19450  // with current event handlers.
19451  updateFiberProps(domElement, newProps); // Apply the diff to the DOM node.
19452
19453  updateProperties(domElement, updatePayload, type, oldProps, newProps);
19454}
19455function resetTextContent(domElement) {
19456  setTextContent(domElement, '');
19457}
19458function commitTextUpdate(textInstance, oldText, newText) {
19459  textInstance.nodeValue = newText;
19460}
19461function appendChild(parentInstance, child) {
19462  parentInstance.appendChild(child);
19463}
19464function appendChildToContainer(container, child) {
19465  var parentNode;
19466
19467  if (container.nodeType === COMMENT_NODE) {
19468    parentNode = container.parentNode;
19469    parentNode.insertBefore(child, container);
19470  } else {
19471    parentNode = container;
19472    parentNode.appendChild(child);
19473  } // This container might be used for a portal.
19474  // If something inside a portal is clicked, that click should bubble
19475  // through the React tree. However, on Mobile Safari the click would
19476  // never bubble through the *DOM* tree unless an ancestor with onclick
19477  // event exists. So we wouldn't see it and dispatch it.
19478  // This is why we ensure that non React root containers have inline onclick
19479  // defined.
19480  // https://github.com/facebook/react/issues/11918
19481
19482
19483  var reactRootContainer = container._reactRootContainer;
19484
19485  if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {
19486    // TODO: This cast may not be sound for SVG, MathML or custom elements.
19487    trapClickOnNonInteractiveElement(parentNode);
19488  }
19489}
19490function insertBefore(parentInstance, child, beforeChild) {
19491  parentInstance.insertBefore(child, beforeChild);
19492}
19493function insertInContainerBefore(container, child, beforeChild) {
19494  if (container.nodeType === COMMENT_NODE) {
19495    container.parentNode.insertBefore(child, beforeChild);
19496  } else {
19497    container.insertBefore(child, beforeChild);
19498  }
19499}
19500function removeChild(parentInstance, child) {
19501  parentInstance.removeChild(child);
19502}
19503function removeChildFromContainer(container, child) {
19504  if (container.nodeType === COMMENT_NODE) {
19505    container.parentNode.removeChild(child);
19506  } else {
19507    container.removeChild(child);
19508  }
19509}
19510
19511function hideInstance(instance) {
19512  // pass host context to this method?
19513
19514
19515  instance = instance;
19516  var style = instance.style;
19517
19518  if (typeof style.setProperty === 'function') {
19519    style.setProperty('display', 'none', 'important');
19520  } else {
19521    style.display = 'none';
19522  }
19523}
19524function hideTextInstance(textInstance) {
19525  textInstance.nodeValue = '';
19526}
19527function unhideInstance(instance, props) {
19528  instance = instance;
19529  var styleProp = props[STYLE$1];
19530  var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;
19531  instance.style.display = dangerousStyleValue('display', display);
19532}
19533function unhideTextInstance(textInstance, text) {
19534  textInstance.nodeValue = text;
19535} // -------------------
19536function canHydrateInstance(instance, type, props) {
19537  if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {
19538    return null;
19539  } // This has now been refined to an element node.
19540
19541
19542  return instance;
19543}
19544function canHydrateTextInstance(instance, text) {
19545  if (text === '' || instance.nodeType !== TEXT_NODE) {
19546    // Empty strings are not parsed by HTML so there won't be a correct match here.
19547    return null;
19548  } // This has now been refined to a text node.
19549
19550
19551  return instance;
19552}
19553function isSuspenseInstancePending(instance) {
19554  return instance.data === SUSPENSE_PENDING_START_DATA;
19555}
19556function isSuspenseInstanceFallback(instance) {
19557  return instance.data === SUSPENSE_FALLBACK_START_DATA;
19558}
19559
19560function getNextHydratable(node) {
19561  // Skip non-hydratable nodes.
19562  for (; node != null; node = node.nextSibling) {
19563    var nodeType = node.nodeType;
19564
19565    if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {
19566      break;
19567    }
19568  }
19569
19570  return node;
19571}
19572
19573function getNextHydratableSibling(instance) {
19574  return getNextHydratable(instance.nextSibling);
19575}
19576function getFirstHydratableChild(parentInstance) {
19577  return getNextHydratable(parentInstance.firstChild);
19578}
19579function hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle) {
19580  precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events
19581  // get attached.
19582
19583  updateFiberProps(instance, props);
19584  var parentNamespace;
19585
19586  {
19587    var hostContextDev = hostContext;
19588    parentNamespace = hostContextDev.namespace;
19589  }
19590
19591  return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance);
19592}
19593function hydrateTextInstance(textInstance, text, internalInstanceHandle) {
19594  precacheFiberNode(internalInstanceHandle, textInstance);
19595  return diffHydratedText(textInstance, text);
19596}
19597function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {
19598  var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.
19599  // There might be nested nodes so we need to keep track of how
19600  // deep we are and only break out when we're back on top.
19601
19602  var depth = 0;
19603
19604  while (node) {
19605    if (node.nodeType === COMMENT_NODE) {
19606      var data = node.data;
19607
19608      if (data === SUSPENSE_END_DATA) {
19609        if (depth === 0) {
19610          return getNextHydratableSibling(node);
19611        } else {
19612          depth--;
19613        }
19614      } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {
19615        depth++;
19616      }
19617    }
19618
19619    node = node.nextSibling;
19620  } // TODO: Warn, we didn't find the end comment boundary.
19621
19622
19623  return null;
19624} // Returns the SuspenseInstance if this node is a direct child of a
19625// SuspenseInstance. I.e. if its previous sibling is a Comment with
19626// SUSPENSE_x_START_DATA. Otherwise, null.
19627
19628function getParentSuspenseInstance(targetInstance) {
19629  var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.
19630  // There might be nested nodes so we need to keep track of how
19631  // deep we are and only break out when we're back on top.
19632
19633  var depth = 0;
19634
19635  while (node) {
19636    if (node.nodeType === COMMENT_NODE) {
19637      var data = node.data;
19638
19639      if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {
19640        if (depth === 0) {
19641          return node;
19642        } else {
19643          depth--;
19644        }
19645      } else if (data === SUSPENSE_END_DATA) {
19646        depth++;
19647      }
19648    }
19649
19650    node = node.previousSibling;
19651  }
19652
19653  return null;
19654}
19655function commitHydratedContainer(container) {
19656  // Retry if any event replaying was blocked on this.
19657  retryIfBlockedOn(container);
19658}
19659function commitHydratedSuspenseInstance(suspenseInstance) {
19660  // Retry if any event replaying was blocked on this.
19661  retryIfBlockedOn(suspenseInstance);
19662}
19663function didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text) {
19664  {
19665    warnForUnmatchedText(textInstance, text);
19666  }
19667}
19668function didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text) {
19669  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
19670    warnForUnmatchedText(textInstance, text);
19671  }
19672}
19673function didNotHydrateContainerInstance(parentContainer, instance) {
19674  {
19675    if (instance.nodeType === ELEMENT_NODE) {
19676      warnForDeletedHydratableElement(parentContainer, instance);
19677    } else if (instance.nodeType === COMMENT_NODE) ; else {
19678      warnForDeletedHydratableText(parentContainer, instance);
19679    }
19680  }
19681}
19682function didNotHydrateInstance(parentType, parentProps, parentInstance, instance) {
19683  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
19684    if (instance.nodeType === ELEMENT_NODE) {
19685      warnForDeletedHydratableElement(parentInstance, instance);
19686    } else if (instance.nodeType === COMMENT_NODE) ; else {
19687      warnForDeletedHydratableText(parentInstance, instance);
19688    }
19689  }
19690}
19691function didNotFindHydratableContainerInstance(parentContainer, type, props) {
19692  {
19693    warnForInsertedHydratedElement(parentContainer, type);
19694  }
19695}
19696function didNotFindHydratableContainerTextInstance(parentContainer, text) {
19697  {
19698    warnForInsertedHydratedText(parentContainer, text);
19699  }
19700}
19701function didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props) {
19702  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
19703    warnForInsertedHydratedElement(parentInstance, type);
19704  }
19705}
19706function didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text) {
19707  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
19708    warnForInsertedHydratedText(parentInstance, text);
19709  }
19710}
19711function didNotFindHydratableSuspenseInstance(parentType, parentProps, parentInstance) {
19712  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) ;
19713}
19714
19715var randomKey = Math.random().toString(36).slice(2);
19716var internalInstanceKey = '__reactInternalInstance$' + randomKey;
19717var internalEventHandlersKey = '__reactEventHandlers$' + randomKey;
19718var internalContainerInstanceKey = '__reactContainere$' + randomKey;
19719function precacheFiberNode(hostInst, node) {
19720  node[internalInstanceKey] = hostInst;
19721}
19722function markContainerAsRoot(hostRoot, node) {
19723  node[internalContainerInstanceKey] = hostRoot;
19724}
19725function unmarkContainerAsRoot(node) {
19726  node[internalContainerInstanceKey] = null;
19727}
19728function isContainerMarkedAsRoot(node) {
19729  return !!node[internalContainerInstanceKey];
19730} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.
19731// If the target node is part of a hydrated or not yet rendered subtree, then
19732// this may also return a SuspenseComponent or HostRoot to indicate that.
19733// Conceptually the HostRoot fiber is a child of the Container node. So if you
19734// pass the Container node as the targetNode, you will not actually get the
19735// HostRoot back. To get to the HostRoot, you need to pass a child of it.
19736// The same thing applies to Suspense boundaries.
19737
19738function getClosestInstanceFromNode(targetNode) {
19739  var targetInst = targetNode[internalInstanceKey];
19740
19741  if (targetInst) {
19742    // Don't return HostRoot or SuspenseComponent here.
19743    return targetInst;
19744  } // If the direct event target isn't a React owned DOM node, we need to look
19745  // to see if one of its parents is a React owned DOM node.
19746
19747
19748  var parentNode = targetNode.parentNode;
19749
19750  while (parentNode) {
19751    // We'll check if this is a container root that could include
19752    // React nodes in the future. We need to check this first because
19753    // if we're a child of a dehydrated container, we need to first
19754    // find that inner container before moving on to finding the parent
19755    // instance. Note that we don't check this field on  the targetNode
19756    // itself because the fibers are conceptually between the container
19757    // node and the first child. It isn't surrounding the container node.
19758    // If it's not a container, we check if it's an instance.
19759    targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];
19760
19761    if (targetInst) {
19762      // Since this wasn't the direct target of the event, we might have
19763      // stepped past dehydrated DOM nodes to get here. However they could
19764      // also have been non-React nodes. We need to answer which one.
19765      // If we the instance doesn't have any children, then there can't be
19766      // a nested suspense boundary within it. So we can use this as a fast
19767      // bailout. Most of the time, when people add non-React children to
19768      // the tree, it is using a ref to a child-less DOM node.
19769      // Normally we'd only need to check one of the fibers because if it
19770      // has ever gone from having children to deleting them or vice versa
19771      // it would have deleted the dehydrated boundary nested inside already.
19772      // However, since the HostRoot starts out with an alternate it might
19773      // have one on the alternate so we need to check in case this was a
19774      // root.
19775      var alternate = targetInst.alternate;
19776
19777      if (targetInst.child !== null || alternate !== null && alternate.child !== null) {
19778        // Next we need to figure out if the node that skipped past is
19779        // nested within a dehydrated boundary and if so, which one.
19780        var suspenseInstance = getParentSuspenseInstance(targetNode);
19781
19782        while (suspenseInstance !== null) {
19783          // We found a suspense instance. That means that we haven't
19784          // hydrated it yet. Even though we leave the comments in the
19785          // DOM after hydrating, and there are boundaries in the DOM
19786          // that could already be hydrated, we wouldn't have found them
19787          // through this pass since if the target is hydrated it would
19788          // have had an internalInstanceKey on it.
19789          // Let's get the fiber associated with the SuspenseComponent
19790          // as the deepest instance.
19791          var targetSuspenseInst = suspenseInstance[internalInstanceKey];
19792
19793          if (targetSuspenseInst) {
19794            return targetSuspenseInst;
19795          } // If we don't find a Fiber on the comment, it might be because
19796          // we haven't gotten to hydrate it yet. There might still be a
19797          // parent boundary that hasn't above this one so we need to find
19798          // the outer most that is known.
19799
19800
19801          suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent
19802          // host component also hasn't hydrated yet. We can return it
19803          // below since it will bail out on the isMounted check later.
19804        }
19805      }
19806
19807      return targetInst;
19808    }
19809
19810    targetNode = parentNode;
19811    parentNode = targetNode.parentNode;
19812  }
19813
19814  return null;
19815}
19816/**
19817 * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent
19818 * instance, or null if the node was not rendered by this React.
19819 */
19820
19821function getInstanceFromNode$1(node) {
19822  var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];
19823
19824  if (inst) {
19825    if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {
19826      return inst;
19827    } else {
19828      return null;
19829    }
19830  }
19831
19832  return null;
19833}
19834/**
19835 * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding
19836 * DOM node.
19837 */
19838
19839function getNodeFromInstance$1(inst) {
19840  if (inst.tag === HostComponent || inst.tag === HostText) {
19841    // In Fiber this, is just the state node right now. We assume it will be
19842    // a host component or host text.
19843    return inst.stateNode;
19844  } // Without this first invariant, passing a non-DOM-component triggers the next
19845  // invariant for a missing parent, which is super confusing.
19846
19847
19848  {
19849    {
19850      throw Error( "getNodeFromInstance: Invalid argument." );
19851    }
19852  }
19853}
19854function getFiberCurrentPropsFromNode$1(node) {
19855  return node[internalEventHandlersKey] || null;
19856}
19857function updateFiberProps(node, props) {
19858  node[internalEventHandlersKey] = props;
19859}
19860
19861function getParent(inst) {
19862  do {
19863    inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.
19864    // That is depending on if we want nested subtrees (layers) to bubble
19865    // events to their parent. We could also go through parentNode on the
19866    // host node but that wouldn't work for React Native and doesn't let us
19867    // do the portal feature.
19868  } while (inst && inst.tag !== HostComponent);
19869
19870  if (inst) {
19871    return inst;
19872  }
19873
19874  return null;
19875}
19876/**
19877 * Return the lowest common ancestor of A and B, or null if they are in
19878 * different trees.
19879 */
19880
19881
19882function getLowestCommonAncestor(instA, instB) {
19883  var depthA = 0;
19884
19885  for (var tempA = instA; tempA; tempA = getParent(tempA)) {
19886    depthA++;
19887  }
19888
19889  var depthB = 0;
19890
19891  for (var tempB = instB; tempB; tempB = getParent(tempB)) {
19892    depthB++;
19893  } // If A is deeper, crawl up.
19894
19895
19896  while (depthA - depthB > 0) {
19897    instA = getParent(instA);
19898    depthA--;
19899  } // If B is deeper, crawl up.
19900
19901
19902  while (depthB - depthA > 0) {
19903    instB = getParent(instB);
19904    depthB--;
19905  } // Walk in lockstep until we find a match.
19906
19907
19908  var depth = depthA;
19909
19910  while (depth--) {
19911    if (instA === instB || instA === instB.alternate) {
19912      return instA;
19913    }
19914
19915    instA = getParent(instA);
19916    instB = getParent(instB);
19917  }
19918
19919  return null;
19920}
19921/**
19922 * Simulates the traversal of a two-phase, capture/bubble event dispatch.
19923 */
19924
19925function traverseTwoPhase(inst, fn, arg) {
19926  var path = [];
19927
19928  while (inst) {
19929    path.push(inst);
19930    inst = getParent(inst);
19931  }
19932
19933  var i;
19934
19935  for (i = path.length; i-- > 0;) {
19936    fn(path[i], 'captured', arg);
19937  }
19938
19939  for (i = 0; i < path.length; i++) {
19940    fn(path[i], 'bubbled', arg);
19941  }
19942}
19943/**
19944 * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that
19945 * should would receive a `mouseEnter` or `mouseLeave` event.
19946 *
19947 * Does not invoke the callback on the nearest common ancestor because nothing
19948 * "entered" or "left" that element.
19949 */
19950
19951function traverseEnterLeave(from, to, fn, argFrom, argTo) {
19952  var common = from && to ? getLowestCommonAncestor(from, to) : null;
19953  var pathFrom = [];
19954
19955  while (true) {
19956    if (!from) {
19957      break;
19958    }
19959
19960    if (from === common) {
19961      break;
19962    }
19963
19964    var alternate = from.alternate;
19965
19966    if (alternate !== null && alternate === common) {
19967      break;
19968    }
19969
19970    pathFrom.push(from);
19971    from = getParent(from);
19972  }
19973
19974  var pathTo = [];
19975
19976  while (true) {
19977    if (!to) {
19978      break;
19979    }
19980
19981    if (to === common) {
19982      break;
19983    }
19984
19985    var _alternate = to.alternate;
19986
19987    if (_alternate !== null && _alternate === common) {
19988      break;
19989    }
19990
19991    pathTo.push(to);
19992    to = getParent(to);
19993  }
19994
19995  for (var i = 0; i < pathFrom.length; i++) {
19996    fn(pathFrom[i], 'bubbled', argFrom);
19997  }
19998
19999  for (var _i = pathTo.length; _i-- > 0;) {
20000    fn(pathTo[_i], 'captured', argTo);
20001  }
20002}
20003
20004function isInteractive(tag) {
20005  return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';
20006}
20007
20008function shouldPreventMouseEvent(name, type, props) {
20009  switch (name) {
20010    case 'onClick':
20011    case 'onClickCapture':
20012    case 'onDoubleClick':
20013    case 'onDoubleClickCapture':
20014    case 'onMouseDown':
20015    case 'onMouseDownCapture':
20016    case 'onMouseMove':
20017    case 'onMouseMoveCapture':
20018    case 'onMouseUp':
20019    case 'onMouseUpCapture':
20020    case 'onMouseEnter':
20021      return !!(props.disabled && isInteractive(type));
20022
20023    default:
20024      return false;
20025  }
20026}
20027/**
20028 * @param {object} inst The instance, which is the source of events.
20029 * @param {string} registrationName Name of listener (e.g. `onClick`).
20030 * @return {?function} The stored callback.
20031 */
20032
20033
20034function getListener(inst, registrationName) {
20035  var listener; // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not
20036  // live here; needs to be moved to a better place soon
20037
20038  var stateNode = inst.stateNode;
20039
20040  if (!stateNode) {
20041    // Work in progress (ex: onload events in incremental mode).
20042    return null;
20043  }
20044
20045  var props = getFiberCurrentPropsFromNode(stateNode);
20046
20047  if (!props) {
20048    // Work in progress.
20049    return null;
20050  }
20051
20052  listener = props[registrationName];
20053
20054  if (shouldPreventMouseEvent(registrationName, inst.type, props)) {
20055    return null;
20056  }
20057
20058  if (!(!listener || typeof listener === 'function')) {
20059    {
20060      throw Error( "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener + "` type." );
20061    }
20062  }
20063
20064  return listener;
20065}
20066
20067/**
20068 * Some event types have a notion of different registration names for different
20069 * "phases" of propagation. This finds listeners by a given phase.
20070 */
20071function listenerAtPhase(inst, event, propagationPhase) {
20072  var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];
20073  return getListener(inst, registrationName);
20074}
20075/**
20076 * A small set of propagation patterns, each of which will accept a small amount
20077 * of information, and generate a set of "dispatch ready event objects" - which
20078 * are sets of events that have already been annotated with a set of dispatched
20079 * listener functions/ids. The API is designed this way to discourage these
20080 * propagation strategies from actually executing the dispatches, since we
20081 * always want to collect the entire set of dispatches before executing even a
20082 * single one.
20083 */
20084
20085/**
20086 * Tags a `SyntheticEvent` with dispatched listeners. Creating this function
20087 * here, allows us to not have to bind or create functions for each event.
20088 * Mutating the event's members allows us to not have to create a wrapping
20089 * "dispatch" object that pairs the event with the listener.
20090 */
20091
20092
20093function accumulateDirectionalDispatches(inst, phase, event) {
20094  {
20095    if (!inst) {
20096      error('Dispatching inst must not be null');
20097    }
20098  }
20099
20100  var listener = listenerAtPhase(inst, event, phase);
20101
20102  if (listener) {
20103    event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
20104    event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
20105  }
20106}
20107/**
20108 * Collect dispatches (must be entirely collected before dispatching - see unit
20109 * tests). Lazily allocate the array to conserve memory.  We must loop through
20110 * each event and perform the traversal for each one. We cannot perform a
20111 * single traversal for the entire collection of events because each event may
20112 * have a different target.
20113 */
20114
20115
20116function accumulateTwoPhaseDispatchesSingle(event) {
20117  if (event && event.dispatchConfig.phasedRegistrationNames) {
20118    traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
20119  }
20120}
20121/**
20122 * Accumulates without regard to direction, does not look for phased
20123 * registration names. Same as `accumulateDirectDispatchesSingle` but without
20124 * requiring that the `dispatchMarker` be the same as the dispatched ID.
20125 */
20126
20127
20128function accumulateDispatches(inst, ignoredDirection, event) {
20129  if (inst && event && event.dispatchConfig.registrationName) {
20130    var registrationName = event.dispatchConfig.registrationName;
20131    var listener = getListener(inst, registrationName);
20132
20133    if (listener) {
20134      event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
20135      event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
20136    }
20137  }
20138}
20139/**
20140 * Accumulates dispatches on an `SyntheticEvent`, but only for the
20141 * `dispatchMarker`.
20142 * @param {SyntheticEvent} event
20143 */
20144
20145
20146function accumulateDirectDispatchesSingle(event) {
20147  if (event && event.dispatchConfig.registrationName) {
20148    accumulateDispatches(event._targetInst, null, event);
20149  }
20150}
20151
20152function accumulateTwoPhaseDispatches(events) {
20153  forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);
20154}
20155function accumulateEnterLeaveDispatches(leave, enter, from, to) {
20156  traverseEnterLeave(from, to, accumulateDispatches, leave, enter);
20157}
20158function accumulateDirectDispatches(events) {
20159  forEachAccumulated(events, accumulateDirectDispatchesSingle);
20160}
20161
20162/**
20163 * These variables store information about text content of a target node,
20164 * allowing comparison of content before and after a given event.
20165 *
20166 * Identify the node where selection currently begins, then observe
20167 * both its text content and its current position in the DOM. Since the
20168 * browser may natively replace the target node during composition, we can
20169 * use its position to find its replacement.
20170 *
20171 *
20172 */
20173var root = null;
20174var startText = null;
20175var fallbackText = null;
20176function initialize(nativeEventTarget) {
20177  root = nativeEventTarget;
20178  startText = getText();
20179  return true;
20180}
20181function reset() {
20182  root = null;
20183  startText = null;
20184  fallbackText = null;
20185}
20186function getData() {
20187  if (fallbackText) {
20188    return fallbackText;
20189  }
20190
20191  var start;
20192  var startValue = startText;
20193  var startLength = startValue.length;
20194  var end;
20195  var endValue = getText();
20196  var endLength = endValue.length;
20197
20198  for (start = 0; start < startLength; start++) {
20199    if (startValue[start] !== endValue[start]) {
20200      break;
20201    }
20202  }
20203
20204  var minEnd = startLength - start;
20205
20206  for (end = 1; end <= minEnd; end++) {
20207    if (startValue[startLength - end] !== endValue[endLength - end]) {
20208      break;
20209    }
20210  }
20211
20212  var sliceTail = end > 1 ? 1 - end : undefined;
20213  fallbackText = endValue.slice(start, sliceTail);
20214  return fallbackText;
20215}
20216function getText() {
20217  if ('value' in root) {
20218    return root.value;
20219  }
20220
20221  return root.textContent;
20222}
20223
20224var EVENT_POOL_SIZE = 10;
20225/**
20226 * @interface Event
20227 * @see http://www.w3.org/TR/DOM-Level-3-Events/
20228 */
20229
20230var EventInterface = {
20231  type: null,
20232  target: null,
20233  // currentTarget is set when dispatching; no use in copying it here
20234  currentTarget: function () {
20235    return null;
20236  },
20237  eventPhase: null,
20238  bubbles: null,
20239  cancelable: null,
20240  timeStamp: function (event) {
20241    return event.timeStamp || Date.now();
20242  },
20243  defaultPrevented: null,
20244  isTrusted: null
20245};
20246
20247function functionThatReturnsTrue() {
20248  return true;
20249}
20250
20251function functionThatReturnsFalse() {
20252  return false;
20253}
20254/**
20255 * Synthetic events are dispatched by event plugins, typically in response to a
20256 * top-level event delegation handler.
20257 *
20258 * These systems should generally use pooling to reduce the frequency of garbage
20259 * collection. The system should check `isPersistent` to determine whether the
20260 * event should be released into the pool after being dispatched. Users that
20261 * need a persisted event should invoke `persist`.
20262 *
20263 * Synthetic events (and subclasses) implement the DOM Level 3 Events API by
20264 * normalizing browser quirks. Subclasses do not necessarily have to implement a
20265 * DOM interface; custom application-specific events can also subclass this.
20266 *
20267 * @param {object} dispatchConfig Configuration used to dispatch this event.
20268 * @param {*} targetInst Marker identifying the event target.
20269 * @param {object} nativeEvent Native browser event.
20270 * @param {DOMEventTarget} nativeEventTarget Target node.
20271 */
20272
20273
20274function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {
20275  {
20276    // these have a getter/setter for warnings
20277    delete this.nativeEvent;
20278    delete this.preventDefault;
20279    delete this.stopPropagation;
20280    delete this.isDefaultPrevented;
20281    delete this.isPropagationStopped;
20282  }
20283
20284  this.dispatchConfig = dispatchConfig;
20285  this._targetInst = targetInst;
20286  this.nativeEvent = nativeEvent;
20287  var Interface = this.constructor.Interface;
20288
20289  for (var propName in Interface) {
20290    if (!Interface.hasOwnProperty(propName)) {
20291      continue;
20292    }
20293
20294    {
20295      delete this[propName]; // this has a getter/setter for warnings
20296    }
20297
20298    var normalize = Interface[propName];
20299
20300    if (normalize) {
20301      this[propName] = normalize(nativeEvent);
20302    } else {
20303      if (propName === 'target') {
20304        this.target = nativeEventTarget;
20305      } else {
20306        this[propName] = nativeEvent[propName];
20307      }
20308    }
20309  }
20310
20311  var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;
20312
20313  if (defaultPrevented) {
20314    this.isDefaultPrevented = functionThatReturnsTrue;
20315  } else {
20316    this.isDefaultPrevented = functionThatReturnsFalse;
20317  }
20318
20319  this.isPropagationStopped = functionThatReturnsFalse;
20320  return this;
20321}
20322
20323_assign(SyntheticEvent.prototype, {
20324  preventDefault: function () {
20325    this.defaultPrevented = true;
20326    var event = this.nativeEvent;
20327
20328    if (!event) {
20329      return;
20330    }
20331
20332    if (event.preventDefault) {
20333      event.preventDefault();
20334    } else if (typeof event.returnValue !== 'unknown') {
20335      event.returnValue = false;
20336    }
20337
20338    this.isDefaultPrevented = functionThatReturnsTrue;
20339  },
20340  stopPropagation: function () {
20341    var event = this.nativeEvent;
20342
20343    if (!event) {
20344      return;
20345    }
20346
20347    if (event.stopPropagation) {
20348      event.stopPropagation();
20349    } else if (typeof event.cancelBubble !== 'unknown') {
20350      // The ChangeEventPlugin registers a "propertychange" event for
20351      // IE. This event does not support bubbling or cancelling, and
20352      // any references to cancelBubble throw "Member not found".  A
20353      // typeof check of "unknown" circumvents this issue (and is also
20354      // IE specific).
20355      event.cancelBubble = true;
20356    }
20357
20358    this.isPropagationStopped = functionThatReturnsTrue;
20359  },
20360
20361  /**
20362   * We release all dispatched `SyntheticEvent`s after each event loop, adding
20363   * them back into the pool. This allows a way to hold onto a reference that
20364   * won't be added back into the pool.
20365   */
20366  persist: function () {
20367    this.isPersistent = functionThatReturnsTrue;
20368  },
20369
20370  /**
20371   * Checks if this event should be released back into the pool.
20372   *
20373   * @return {boolean} True if this should not be released, false otherwise.
20374   */
20375  isPersistent: functionThatReturnsFalse,
20376
20377  /**
20378   * `PooledClass` looks for `destructor` on each instance it releases.
20379   */
20380  destructor: function () {
20381    var Interface = this.constructor.Interface;
20382
20383    for (var propName in Interface) {
20384      {
20385        Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));
20386      }
20387    }
20388
20389    this.dispatchConfig = null;
20390    this._targetInst = null;
20391    this.nativeEvent = null;
20392    this.isDefaultPrevented = functionThatReturnsFalse;
20393    this.isPropagationStopped = functionThatReturnsFalse;
20394    this._dispatchListeners = null;
20395    this._dispatchInstances = null;
20396
20397    {
20398      Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));
20399      Object.defineProperty(this, 'isDefaultPrevented', getPooledWarningPropertyDefinition('isDefaultPrevented', functionThatReturnsFalse));
20400      Object.defineProperty(this, 'isPropagationStopped', getPooledWarningPropertyDefinition('isPropagationStopped', functionThatReturnsFalse));
20401      Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', function () {}));
20402      Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', function () {}));
20403    }
20404  }
20405});
20406
20407SyntheticEvent.Interface = EventInterface;
20408/**
20409 * Helper to reduce boilerplate when creating subclasses.
20410 */
20411
20412SyntheticEvent.extend = function (Interface) {
20413  var Super = this;
20414
20415  var E = function () {};
20416
20417  E.prototype = Super.prototype;
20418  var prototype = new E();
20419
20420  function Class() {
20421    return Super.apply(this, arguments);
20422  }
20423
20424  _assign(prototype, Class.prototype);
20425
20426  Class.prototype = prototype;
20427  Class.prototype.constructor = Class;
20428  Class.Interface = _assign({}, Super.Interface, Interface);
20429  Class.extend = Super.extend;
20430  addEventPoolingTo(Class);
20431  return Class;
20432};
20433
20434addEventPoolingTo(SyntheticEvent);
20435/**
20436 * Helper to nullify syntheticEvent instance properties when destructing
20437 *
20438 * @param {String} propName
20439 * @param {?object} getVal
20440 * @return {object} defineProperty object
20441 */
20442
20443function getPooledWarningPropertyDefinition(propName, getVal) {
20444  var isFunction = typeof getVal === 'function';
20445  return {
20446    configurable: true,
20447    set: set,
20448    get: get
20449  };
20450
20451  function set(val) {
20452    var action = isFunction ? 'setting the method' : 'setting the property';
20453    warn(action, 'This is effectively a no-op');
20454    return val;
20455  }
20456
20457  function get() {
20458    var action = isFunction ? 'accessing the method' : 'accessing the property';
20459    var result = isFunction ? 'This is a no-op function' : 'This is set to null';
20460    warn(action, result);
20461    return getVal;
20462  }
20463
20464  function warn(action, result) {
20465    {
20466      error("This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result);
20467    }
20468  }
20469}
20470
20471function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) {
20472  var EventConstructor = this;
20473
20474  if (EventConstructor.eventPool.length) {
20475    var instance = EventConstructor.eventPool.pop();
20476    EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);
20477    return instance;
20478  }
20479
20480  return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst);
20481}
20482
20483function releasePooledEvent(event) {
20484  var EventConstructor = this;
20485
20486  if (!(event instanceof EventConstructor)) {
20487    {
20488      throw Error( "Trying to release an event instance into a pool of a different type." );
20489    }
20490  }
20491
20492  event.destructor();
20493
20494  if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) {
20495    EventConstructor.eventPool.push(event);
20496  }
20497}
20498
20499function addEventPoolingTo(EventConstructor) {
20500  EventConstructor.eventPool = [];
20501  EventConstructor.getPooled = getPooledEvent;
20502  EventConstructor.release = releasePooledEvent;
20503}
20504
20505/**
20506 * @interface Event
20507 * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents
20508 */
20509
20510var SyntheticCompositionEvent = SyntheticEvent.extend({
20511  data: null
20512});
20513
20514/**
20515 * @interface Event
20516 * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105
20517 *      /#events-inputevents
20518 */
20519
20520var SyntheticInputEvent = SyntheticEvent.extend({
20521  data: null
20522});
20523
20524var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
20525
20526var START_KEYCODE = 229;
20527var canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;
20528var documentMode = null;
20529
20530if (canUseDOM && 'documentMode' in document) {
20531  documentMode = document.documentMode;
20532} // Webkit offers a very useful `textInput` event that can be used to
20533// directly represent `beforeInput`. The IE `textinput` event is not as
20534// useful, so we don't use it.
20535
20536
20537var canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied
20538// by the native compositionend event may be incorrect. Japanese ideographic
20539// spaces, for instance (\u3000) are not recorded correctly.
20540
20541var useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);
20542var SPACEBAR_CODE = 32;
20543var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); // Events and their corresponding property names.
20544
20545var eventTypes = {
20546  beforeInput: {
20547    phasedRegistrationNames: {
20548      bubbled: 'onBeforeInput',
20549      captured: 'onBeforeInputCapture'
20550    },
20551    dependencies: [TOP_COMPOSITION_END, TOP_KEY_PRESS, TOP_TEXT_INPUT, TOP_PASTE]
20552  },
20553  compositionEnd: {
20554    phasedRegistrationNames: {
20555      bubbled: 'onCompositionEnd',
20556      captured: 'onCompositionEndCapture'
20557    },
20558    dependencies: [TOP_BLUR, TOP_COMPOSITION_END, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]
20559  },
20560  compositionStart: {
20561    phasedRegistrationNames: {
20562      bubbled: 'onCompositionStart',
20563      captured: 'onCompositionStartCapture'
20564    },
20565    dependencies: [TOP_BLUR, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]
20566  },
20567  compositionUpdate: {
20568    phasedRegistrationNames: {
20569      bubbled: 'onCompositionUpdate',
20570      captured: 'onCompositionUpdateCapture'
20571    },
20572    dependencies: [TOP_BLUR, TOP_COMPOSITION_UPDATE, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]
20573  }
20574}; // Track whether we've ever handled a keypress on the space key.
20575
20576var hasSpaceKeypress = false;
20577/**
20578 * Return whether a native keypress event is assumed to be a command.
20579 * This is required because Firefox fires `keypress` events for key commands
20580 * (cut, copy, select-all, etc.) even though no character is inserted.
20581 */
20582
20583function isKeypressCommand(nativeEvent) {
20584  return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.
20585  !(nativeEvent.ctrlKey && nativeEvent.altKey);
20586}
20587/**
20588 * Translate native top level events into event types.
20589 *
20590 * @param {string} topLevelType
20591 * @return {object}
20592 */
20593
20594
20595function getCompositionEventType(topLevelType) {
20596  switch (topLevelType) {
20597    case TOP_COMPOSITION_START:
20598      return eventTypes.compositionStart;
20599
20600    case TOP_COMPOSITION_END:
20601      return eventTypes.compositionEnd;
20602
20603    case TOP_COMPOSITION_UPDATE:
20604      return eventTypes.compositionUpdate;
20605  }
20606}
20607/**
20608 * Does our fallback best-guess model think this event signifies that
20609 * composition has begun?
20610 *
20611 * @param {string} topLevelType
20612 * @param {object} nativeEvent
20613 * @return {boolean}
20614 */
20615
20616
20617function isFallbackCompositionStart(topLevelType, nativeEvent) {
20618  return topLevelType === TOP_KEY_DOWN && nativeEvent.keyCode === START_KEYCODE;
20619}
20620/**
20621 * Does our fallback mode think that this event is the end of composition?
20622 *
20623 * @param {string} topLevelType
20624 * @param {object} nativeEvent
20625 * @return {boolean}
20626 */
20627
20628
20629function isFallbackCompositionEnd(topLevelType, nativeEvent) {
20630  switch (topLevelType) {
20631    case TOP_KEY_UP:
20632      // Command keys insert or clear IME input.
20633      return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
20634
20635    case TOP_KEY_DOWN:
20636      // Expect IME keyCode on each keydown. If we get any other
20637      // code we must have exited earlier.
20638      return nativeEvent.keyCode !== START_KEYCODE;
20639
20640    case TOP_KEY_PRESS:
20641    case TOP_MOUSE_DOWN:
20642    case TOP_BLUR:
20643      // Events are not possible without cancelling IME.
20644      return true;
20645
20646    default:
20647      return false;
20648  }
20649}
20650/**
20651 * Google Input Tools provides composition data via a CustomEvent,
20652 * with the `data` property populated in the `detail` object. If this
20653 * is available on the event object, use it. If not, this is a plain
20654 * composition event and we have nothing special to extract.
20655 *
20656 * @param {object} nativeEvent
20657 * @return {?string}
20658 */
20659
20660
20661function getDataFromCustomEvent(nativeEvent) {
20662  var detail = nativeEvent.detail;
20663
20664  if (typeof detail === 'object' && 'data' in detail) {
20665    return detail.data;
20666  }
20667
20668  return null;
20669}
20670/**
20671 * Check if a composition event was triggered by Korean IME.
20672 * Our fallback mode does not work well with IE's Korean IME,
20673 * so just use native composition events when Korean IME is used.
20674 * Although CompositionEvent.locale property is deprecated,
20675 * it is available in IE, where our fallback mode is enabled.
20676 *
20677 * @param {object} nativeEvent
20678 * @return {boolean}
20679 */
20680
20681
20682function isUsingKoreanIME(nativeEvent) {
20683  return nativeEvent.locale === 'ko';
20684} // Track the current IME composition status, if any.
20685
20686
20687var isComposing = false;
20688/**
20689 * @return {?object} A SyntheticCompositionEvent.
20690 */
20691
20692function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
20693  var eventType;
20694  var fallbackData;
20695
20696  if (canUseCompositionEvent) {
20697    eventType = getCompositionEventType(topLevelType);
20698  } else if (!isComposing) {
20699    if (isFallbackCompositionStart(topLevelType, nativeEvent)) {
20700      eventType = eventTypes.compositionStart;
20701    }
20702  } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {
20703    eventType = eventTypes.compositionEnd;
20704  }
20705
20706  if (!eventType) {
20707    return null;
20708  }
20709
20710  if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {
20711    // The current composition is stored statically and must not be
20712    // overwritten while composition continues.
20713    if (!isComposing && eventType === eventTypes.compositionStart) {
20714      isComposing = initialize(nativeEventTarget);
20715    } else if (eventType === eventTypes.compositionEnd) {
20716      if (isComposing) {
20717        fallbackData = getData();
20718      }
20719    }
20720  }
20721
20722  var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);
20723
20724  if (fallbackData) {
20725    // Inject data generated from fallback path into the synthetic event.
20726    // This matches the property of native CompositionEventInterface.
20727    event.data = fallbackData;
20728  } else {
20729    var customData = getDataFromCustomEvent(nativeEvent);
20730
20731    if (customData !== null) {
20732      event.data = customData;
20733    }
20734  }
20735
20736  accumulateTwoPhaseDispatches(event);
20737  return event;
20738}
20739/**
20740 * @param {TopLevelType} topLevelType Number from `TopLevelType`.
20741 * @param {object} nativeEvent Native browser event.
20742 * @return {?string} The string corresponding to this `beforeInput` event.
20743 */
20744
20745
20746function getNativeBeforeInputChars(topLevelType, nativeEvent) {
20747  switch (topLevelType) {
20748    case TOP_COMPOSITION_END:
20749      return getDataFromCustomEvent(nativeEvent);
20750
20751    case TOP_KEY_PRESS:
20752      /**
20753       * If native `textInput` events are available, our goal is to make
20754       * use of them. However, there is a special case: the spacebar key.
20755       * In Webkit, preventing default on a spacebar `textInput` event
20756       * cancels character insertion, but it *also* causes the browser
20757       * to fall back to its default spacebar behavior of scrolling the
20758       * page.
20759       *
20760       * Tracking at:
20761       * https://code.google.com/p/chromium/issues/detail?id=355103
20762       *
20763       * To avoid this issue, use the keypress event as if no `textInput`
20764       * event is available.
20765       */
20766      var which = nativeEvent.which;
20767
20768      if (which !== SPACEBAR_CODE) {
20769        return null;
20770      }
20771
20772      hasSpaceKeypress = true;
20773      return SPACEBAR_CHAR;
20774
20775    case TOP_TEXT_INPUT:
20776      // Record the characters to be added to the DOM.
20777      var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled
20778      // it at the keypress level and bail immediately. Android Chrome
20779      // doesn't give us keycodes, so we need to ignore it.
20780
20781      if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {
20782        return null;
20783      }
20784
20785      return chars;
20786
20787    default:
20788      // For other native event types, do nothing.
20789      return null;
20790  }
20791}
20792/**
20793 * For browsers that do not provide the `textInput` event, extract the
20794 * appropriate string to use for SyntheticInputEvent.
20795 *
20796 * @param {number} topLevelType Number from `TopLevelEventTypes`.
20797 * @param {object} nativeEvent Native browser event.
20798 * @return {?string} The fallback string for this `beforeInput` event.
20799 */
20800
20801
20802function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
20803  // If we are currently composing (IME) and using a fallback to do so,
20804  // try to extract the composed characters from the fallback object.
20805  // If composition event is available, we extract a string only at
20806  // compositionevent, otherwise extract it at fallback events.
20807  if (isComposing) {
20808    if (topLevelType === TOP_COMPOSITION_END || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
20809      var chars = getData();
20810      reset();
20811      isComposing = false;
20812      return chars;
20813    }
20814
20815    return null;
20816  }
20817
20818  switch (topLevelType) {
20819    case TOP_PASTE:
20820      // If a paste event occurs after a keypress, throw out the input
20821      // chars. Paste events should not lead to BeforeInput events.
20822      return null;
20823
20824    case TOP_KEY_PRESS:
20825      /**
20826       * As of v27, Firefox may fire keypress events even when no character
20827       * will be inserted. A few possibilities:
20828       *
20829       * - `which` is `0`. Arrow keys, Esc key, etc.
20830       *
20831       * - `which` is the pressed key code, but no char is available.
20832       *   Ex: 'AltGr + d` in Polish. There is no modified character for
20833       *   this key combination and no character is inserted into the
20834       *   document, but FF fires the keypress for char code `100` anyway.
20835       *   No `input` event will occur.
20836       *
20837       * - `which` is the pressed key code, but a command combination is
20838       *   being used. Ex: `Cmd+C`. No character is inserted, and no
20839       *   `input` event will occur.
20840       */
20841      if (!isKeypressCommand(nativeEvent)) {
20842        // IE fires the `keypress` event when a user types an emoji via
20843        // Touch keyboard of Windows.  In such a case, the `char` property
20844        // holds an emoji character like `\uD83D\uDE0A`.  Because its length
20845        // is 2, the property `which` does not represent an emoji correctly.
20846        // In such a case, we directly return the `char` property instead of
20847        // using `which`.
20848        if (nativeEvent.char && nativeEvent.char.length > 1) {
20849          return nativeEvent.char;
20850        } else if (nativeEvent.which) {
20851          return String.fromCharCode(nativeEvent.which);
20852        }
20853      }
20854
20855      return null;
20856
20857    case TOP_COMPOSITION_END:
20858      return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;
20859
20860    default:
20861      return null;
20862  }
20863}
20864/**
20865 * Extract a SyntheticInputEvent for `beforeInput`, based on either native
20866 * `textInput` or fallback behavior.
20867 *
20868 * @return {?object} A SyntheticInputEvent.
20869 */
20870
20871
20872function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
20873  var chars;
20874
20875  if (canUseTextInputEvent) {
20876    chars = getNativeBeforeInputChars(topLevelType, nativeEvent);
20877  } else {
20878    chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);
20879  } // If no characters are being inserted, no BeforeInput event should
20880  // be fired.
20881
20882
20883  if (!chars) {
20884    return null;
20885  }
20886
20887  var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);
20888  event.data = chars;
20889  accumulateTwoPhaseDispatches(event);
20890  return event;
20891}
20892/**
20893 * Create an `onBeforeInput` event to match
20894 * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.
20895 *
20896 * This event plugin is based on the native `textInput` event
20897 * available in Chrome, Safari, Opera, and IE. This event fires after
20898 * `onKeyPress` and `onCompositionEnd`, but before `onInput`.
20899 *
20900 * `beforeInput` is spec'd but not implemented in any browsers, and
20901 * the `input` event does not provide any useful information about what has
20902 * actually been added, contrary to the spec. Thus, `textInput` is the best
20903 * available event to identify the characters that have actually been inserted
20904 * into the target node.
20905 *
20906 * This plugin is also responsible for emitting `composition` events, thus
20907 * allowing us to share composition fallback code for both `beforeInput` and
20908 * `composition` event types.
20909 */
20910
20911
20912var BeforeInputEventPlugin = {
20913  eventTypes: eventTypes,
20914  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
20915    var composition = extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget);
20916    var beforeInput = extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget);
20917
20918    if (composition === null) {
20919      return beforeInput;
20920    }
20921
20922    if (beforeInput === null) {
20923      return composition;
20924    }
20925
20926    return [composition, beforeInput];
20927  }
20928};
20929
20930/**
20931 * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
20932 */
20933var supportedInputTypes = {
20934  color: true,
20935  date: true,
20936  datetime: true,
20937  'datetime-local': true,
20938  email: true,
20939  month: true,
20940  number: true,
20941  password: true,
20942  range: true,
20943  search: true,
20944  tel: true,
20945  text: true,
20946  time: true,
20947  url: true,
20948  week: true
20949};
20950
20951function isTextInputElement(elem) {
20952  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
20953
20954  if (nodeName === 'input') {
20955    return !!supportedInputTypes[elem.type];
20956  }
20957
20958  if (nodeName === 'textarea') {
20959    return true;
20960  }
20961
20962  return false;
20963}
20964
20965var eventTypes$1 = {
20966  change: {
20967    phasedRegistrationNames: {
20968      bubbled: 'onChange',
20969      captured: 'onChangeCapture'
20970    },
20971    dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE]
20972  }
20973};
20974
20975function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
20976  var event = SyntheticEvent.getPooled(eventTypes$1.change, inst, nativeEvent, target);
20977  event.type = 'change'; // Flag this event loop as needing state restore.
20978
20979  enqueueStateRestore(target);
20980  accumulateTwoPhaseDispatches(event);
20981  return event;
20982}
20983/**
20984 * For IE shims
20985 */
20986
20987
20988var activeElement = null;
20989var activeElementInst = null;
20990/**
20991 * SECTION: handle `change` event
20992 */
20993
20994function shouldUseChangeEvent(elem) {
20995  var nodeName = elem.nodeName && elem.nodeName.toLowerCase();
20996  return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';
20997}
20998
20999function manualDispatchChangeEvent(nativeEvent) {
21000  var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the
21001  // other events and have it go through ReactBrowserEventEmitter. Since it
21002  // doesn't, we manually listen for the events and so we have to enqueue and
21003  // process the abstract event manually.
21004  //
21005  // Batching is necessary here in order to ensure that all event handlers run
21006  // before the next rerender (including event handlers attached to ancestor
21007  // elements instead of directly on the input). Without this, controlled
21008  // components don't work properly in conjunction with event bubbling because
21009  // the component is rerendered and the value reverted before all the event
21010  // handlers can run. See https://github.com/facebook/react/issues/708.
21011
21012  batchedUpdates(runEventInBatch, event);
21013}
21014
21015function runEventInBatch(event) {
21016  runEventsInBatch(event);
21017}
21018
21019function getInstIfValueChanged(targetInst) {
21020  var targetNode = getNodeFromInstance$1(targetInst);
21021
21022  if (updateValueIfChanged(targetNode)) {
21023    return targetInst;
21024  }
21025}
21026
21027function getTargetInstForChangeEvent(topLevelType, targetInst) {
21028  if (topLevelType === TOP_CHANGE) {
21029    return targetInst;
21030  }
21031}
21032/**
21033 * SECTION: handle `input` event
21034 */
21035
21036
21037var isInputEventSupported = false;
21038
21039if (canUseDOM) {
21040  // IE9 claims to support the input event but fails to trigger it when
21041  // deleting text, so we ignore its input events.
21042  isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);
21043}
21044/**
21045 * (For IE <=9) Starts tracking propertychange events on the passed-in element
21046 * and override the value property so that we can distinguish user events from
21047 * value changes in JS.
21048 */
21049
21050
21051function startWatchingForValueChange(target, targetInst) {
21052  activeElement = target;
21053  activeElementInst = targetInst;
21054  activeElement.attachEvent('onpropertychange', handlePropertyChange);
21055}
21056/**
21057 * (For IE <=9) Removes the event listeners from the currently-tracked element,
21058 * if any exists.
21059 */
21060
21061
21062function stopWatchingForValueChange() {
21063  if (!activeElement) {
21064    return;
21065  }
21066
21067  activeElement.detachEvent('onpropertychange', handlePropertyChange);
21068  activeElement = null;
21069  activeElementInst = null;
21070}
21071/**
21072 * (For IE <=9) Handles a propertychange event, sending a `change` event if
21073 * the value of the active element has changed.
21074 */
21075
21076
21077function handlePropertyChange(nativeEvent) {
21078  if (nativeEvent.propertyName !== 'value') {
21079    return;
21080  }
21081
21082  if (getInstIfValueChanged(activeElementInst)) {
21083    manualDispatchChangeEvent(nativeEvent);
21084  }
21085}
21086
21087function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {
21088  if (topLevelType === TOP_FOCUS) {
21089    // In IE9, propertychange fires for most input events but is buggy and
21090    // doesn't fire when text is deleted, but conveniently, selectionchange
21091    // appears to fire in all of the remaining cases so we catch those and
21092    // forward the event if the value has changed
21093    // In either case, we don't want to call the event handler if the value
21094    // is changed from JS so we redefine a setter for `.value` that updates
21095    // our activeElementValue variable, allowing us to ignore those changes
21096    //
21097    // stopWatching() should be a noop here but we call it just in case we
21098    // missed a blur event somehow.
21099    stopWatchingForValueChange();
21100    startWatchingForValueChange(target, targetInst);
21101  } else if (topLevelType === TOP_BLUR) {
21102    stopWatchingForValueChange();
21103  }
21104} // For IE8 and IE9.
21105
21106
21107function getTargetInstForInputEventPolyfill(topLevelType, targetInst) {
21108  if (topLevelType === TOP_SELECTION_CHANGE || topLevelType === TOP_KEY_UP || topLevelType === TOP_KEY_DOWN) {
21109    // On the selectionchange event, the target is just document which isn't
21110    // helpful for us so just check activeElement instead.
21111    //
21112    // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire
21113    // propertychange on the first input event after setting `value` from a
21114    // script and fires only keydown, keypress, keyup. Catching keyup usually
21115    // gets it and catching keydown lets us fire an event for the first
21116    // keystroke if user does a key repeat (it'll be a little delayed: right
21117    // before the second keystroke). Other input methods (e.g., paste) seem to
21118    // fire selectionchange normally.
21119    return getInstIfValueChanged(activeElementInst);
21120  }
21121}
21122/**
21123 * SECTION: handle `click` event
21124 */
21125
21126
21127function shouldUseClickEvent(elem) {
21128  // Use the `click` event to detect changes to checkbox and radio inputs.
21129  // This approach works across all browsers, whereas `change` does not fire
21130  // until `blur` in IE8.
21131  var nodeName = elem.nodeName;
21132  return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
21133}
21134
21135function getTargetInstForClickEvent(topLevelType, targetInst) {
21136  if (topLevelType === TOP_CLICK) {
21137    return getInstIfValueChanged(targetInst);
21138  }
21139}
21140
21141function getTargetInstForInputOrChangeEvent(topLevelType, targetInst) {
21142  if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) {
21143    return getInstIfValueChanged(targetInst);
21144  }
21145}
21146
21147function handleControlledInputBlur(node) {
21148  var state = node._wrapperState;
21149
21150  if (!state || !state.controlled || node.type !== 'number') {
21151    return;
21152  }
21153
21154  {
21155    // If controlled, assign the value attribute to the current value on blur
21156    setDefaultValue(node, 'number', node.value);
21157  }
21158}
21159/**
21160 * This plugin creates an `onChange` event that normalizes change events
21161 * across form elements. This event fires at a time when it's possible to
21162 * change the element's value without seeing a flicker.
21163 *
21164 * Supported elements are:
21165 * - input (see `isTextInputElement`)
21166 * - textarea
21167 * - select
21168 */
21169
21170
21171var ChangeEventPlugin = {
21172  eventTypes: eventTypes$1,
21173  _isInputEventSupported: isInputEventSupported,
21174  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
21175    var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;
21176    var getTargetInstFunc, handleEventFunc;
21177
21178    if (shouldUseChangeEvent(targetNode)) {
21179      getTargetInstFunc = getTargetInstForChangeEvent;
21180    } else if (isTextInputElement(targetNode)) {
21181      if (isInputEventSupported) {
21182        getTargetInstFunc = getTargetInstForInputOrChangeEvent;
21183      } else {
21184        getTargetInstFunc = getTargetInstForInputEventPolyfill;
21185        handleEventFunc = handleEventsForInputEventPolyfill;
21186      }
21187    } else if (shouldUseClickEvent(targetNode)) {
21188      getTargetInstFunc = getTargetInstForClickEvent;
21189    }
21190
21191    if (getTargetInstFunc) {
21192      var inst = getTargetInstFunc(topLevelType, targetInst);
21193
21194      if (inst) {
21195        var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
21196        return event;
21197      }
21198    }
21199
21200    if (handleEventFunc) {
21201      handleEventFunc(topLevelType, targetNode, targetInst);
21202    } // When blurring, set the value attribute for number inputs
21203
21204
21205    if (topLevelType === TOP_BLUR) {
21206      handleControlledInputBlur(targetNode);
21207    }
21208  }
21209};
21210
21211var SyntheticUIEvent = SyntheticEvent.extend({
21212  view: null,
21213  detail: null
21214});
21215
21216/**
21217 * Translation from modifier key to the associated property in the event.
21218 * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers
21219 */
21220var modifierKeyToProp = {
21221  Alt: 'altKey',
21222  Control: 'ctrlKey',
21223  Meta: 'metaKey',
21224  Shift: 'shiftKey'
21225}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support
21226// getModifierState. If getModifierState is not supported, we map it to a set of
21227// modifier keys exposed by the event. In this case, Lock-keys are not supported.
21228
21229function modifierStateGetter(keyArg) {
21230  var syntheticEvent = this;
21231  var nativeEvent = syntheticEvent.nativeEvent;
21232
21233  if (nativeEvent.getModifierState) {
21234    return nativeEvent.getModifierState(keyArg);
21235  }
21236
21237  var keyProp = modifierKeyToProp[keyArg];
21238  return keyProp ? !!nativeEvent[keyProp] : false;
21239}
21240
21241function getEventModifierState(nativeEvent) {
21242  return modifierStateGetter;
21243}
21244
21245var previousScreenX = 0;
21246var previousScreenY = 0; // Use flags to signal movementX/Y has already been set
21247
21248var isMovementXSet = false;
21249var isMovementYSet = false;
21250/**
21251 * @interface MouseEvent
21252 * @see http://www.w3.org/TR/DOM-Level-3-Events/
21253 */
21254
21255var SyntheticMouseEvent = SyntheticUIEvent.extend({
21256  screenX: null,
21257  screenY: null,
21258  clientX: null,
21259  clientY: null,
21260  pageX: null,
21261  pageY: null,
21262  ctrlKey: null,
21263  shiftKey: null,
21264  altKey: null,
21265  metaKey: null,
21266  getModifierState: getEventModifierState,
21267  button: null,
21268  buttons: null,
21269  relatedTarget: function (event) {
21270    return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);
21271  },
21272  movementX: function (event) {
21273    if ('movementX' in event) {
21274      return event.movementX;
21275    }
21276
21277    var screenX = previousScreenX;
21278    previousScreenX = event.screenX;
21279
21280    if (!isMovementXSet) {
21281      isMovementXSet = true;
21282      return 0;
21283    }
21284
21285    return event.type === 'mousemove' ? event.screenX - screenX : 0;
21286  },
21287  movementY: function (event) {
21288    if ('movementY' in event) {
21289      return event.movementY;
21290    }
21291
21292    var screenY = previousScreenY;
21293    previousScreenY = event.screenY;
21294
21295    if (!isMovementYSet) {
21296      isMovementYSet = true;
21297      return 0;
21298    }
21299
21300    return event.type === 'mousemove' ? event.screenY - screenY : 0;
21301  }
21302});
21303
21304/**
21305 * @interface PointerEvent
21306 * @see http://www.w3.org/TR/pointerevents/
21307 */
21308
21309var SyntheticPointerEvent = SyntheticMouseEvent.extend({
21310  pointerId: null,
21311  width: null,
21312  height: null,
21313  pressure: null,
21314  tangentialPressure: null,
21315  tiltX: null,
21316  tiltY: null,
21317  twist: null,
21318  pointerType: null,
21319  isPrimary: null
21320});
21321
21322var eventTypes$2 = {
21323  mouseEnter: {
21324    registrationName: 'onMouseEnter',
21325    dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]
21326  },
21327  mouseLeave: {
21328    registrationName: 'onMouseLeave',
21329    dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]
21330  },
21331  pointerEnter: {
21332    registrationName: 'onPointerEnter',
21333    dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]
21334  },
21335  pointerLeave: {
21336    registrationName: 'onPointerLeave',
21337    dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]
21338  }
21339};
21340var EnterLeaveEventPlugin = {
21341  eventTypes: eventTypes$2,
21342
21343  /**
21344   * For almost every interaction we care about, there will be both a top-level
21345   * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that
21346   * we do not extract duplicate events. However, moving the mouse into the
21347   * browser from outside will not fire a `mouseout` event. In this case, we use
21348   * the `mouseover` top-level event.
21349   */
21350  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
21351    var isOverEvent = topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER;
21352    var isOutEvent = topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_POINTER_OUT;
21353
21354    if (isOverEvent && (eventSystemFlags & IS_REPLAYED) === 0 && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {
21355      // If this is an over event with a target, then we've already dispatched
21356      // the event in the out event of the other target. If this is replayed,
21357      // then it's because we couldn't dispatch against this target previously
21358      // so we have to do it now instead.
21359      return null;
21360    }
21361
21362    if (!isOutEvent && !isOverEvent) {
21363      // Must not be a mouse or pointer in or out - ignoring.
21364      return null;
21365    }
21366
21367    var win;
21368
21369    if (nativeEventTarget.window === nativeEventTarget) {
21370      // `nativeEventTarget` is probably a window object.
21371      win = nativeEventTarget;
21372    } else {
21373      // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.
21374      var doc = nativeEventTarget.ownerDocument;
21375
21376      if (doc) {
21377        win = doc.defaultView || doc.parentWindow;
21378      } else {
21379        win = window;
21380      }
21381    }
21382
21383    var from;
21384    var to;
21385
21386    if (isOutEvent) {
21387      from = targetInst;
21388      var related = nativeEvent.relatedTarget || nativeEvent.toElement;
21389      to = related ? getClosestInstanceFromNode(related) : null;
21390
21391      if (to !== null) {
21392        var nearestMounted = getNearestMountedFiber(to);
21393
21394        if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {
21395          to = null;
21396        }
21397      }
21398    } else {
21399      // Moving to a node from outside the window.
21400      from = null;
21401      to = targetInst;
21402    }
21403
21404    if (from === to) {
21405      // Nothing pertains to our managed components.
21406      return null;
21407    }
21408
21409    var eventInterface, leaveEventType, enterEventType, eventTypePrefix;
21410
21411    if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) {
21412      eventInterface = SyntheticMouseEvent;
21413      leaveEventType = eventTypes$2.mouseLeave;
21414      enterEventType = eventTypes$2.mouseEnter;
21415      eventTypePrefix = 'mouse';
21416    } else if (topLevelType === TOP_POINTER_OUT || topLevelType === TOP_POINTER_OVER) {
21417      eventInterface = SyntheticPointerEvent;
21418      leaveEventType = eventTypes$2.pointerLeave;
21419      enterEventType = eventTypes$2.pointerEnter;
21420      eventTypePrefix = 'pointer';
21421    }
21422
21423    var fromNode = from == null ? win : getNodeFromInstance$1(from);
21424    var toNode = to == null ? win : getNodeFromInstance$1(to);
21425    var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget);
21426    leave.type = eventTypePrefix + 'leave';
21427    leave.target = fromNode;
21428    leave.relatedTarget = toNode;
21429    var enter = eventInterface.getPooled(enterEventType, to, nativeEvent, nativeEventTarget);
21430    enter.type = eventTypePrefix + 'enter';
21431    enter.target = toNode;
21432    enter.relatedTarget = fromNode;
21433    accumulateEnterLeaveDispatches(leave, enter, from, to); // If we are not processing the first ancestor, then we
21434    // should not process the same nativeEvent again, as we
21435    // will have already processed it in the first ancestor.
21436
21437    if ((eventSystemFlags & IS_FIRST_ANCESTOR) === 0) {
21438      return [leave];
21439    }
21440
21441    return [leave, enter];
21442  }
21443};
21444
21445/**
21446 * inlined Object.is polyfill to avoid requiring consumers ship their own
21447 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
21448 */
21449function is(x, y) {
21450  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare
21451  ;
21452}
21453
21454var objectIs = typeof Object.is === 'function' ? Object.is : is;
21455
21456var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
21457/**
21458 * Performs equality by iterating through keys on an object and returning false
21459 * when any key has values which are not strictly equal between the arguments.
21460 * Returns true when the values of all keys are strictly equal.
21461 */
21462
21463function shallowEqual(objA, objB) {
21464  if (objectIs(objA, objB)) {
21465    return true;
21466  }
21467
21468  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
21469    return false;
21470  }
21471
21472  var keysA = Object.keys(objA);
21473  var keysB = Object.keys(objB);
21474
21475  if (keysA.length !== keysB.length) {
21476    return false;
21477  } // Test for A's keys different from B.
21478
21479
21480  for (var i = 0; i < keysA.length; i++) {
21481    if (!hasOwnProperty$2.call(objB, keysA[i]) || !objectIs(objA[keysA[i]], objB[keysA[i]])) {
21482      return false;
21483    }
21484  }
21485
21486  return true;
21487}
21488
21489var skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;
21490var eventTypes$3 = {
21491  select: {
21492    phasedRegistrationNames: {
21493      bubbled: 'onSelect',
21494      captured: 'onSelectCapture'
21495    },
21496    dependencies: [TOP_BLUR, TOP_CONTEXT_MENU, TOP_DRAG_END, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE]
21497  }
21498};
21499var activeElement$1 = null;
21500var activeElementInst$1 = null;
21501var lastSelection = null;
21502var mouseDown = false;
21503/**
21504 * Get an object which is a unique representation of the current selection.
21505 *
21506 * The return value will not be consistent across nodes or browsers, but
21507 * two identical selections on the same node will return identical objects.
21508 *
21509 * @param {DOMElement} node
21510 * @return {object}
21511 */
21512
21513function getSelection$1(node) {
21514  if ('selectionStart' in node && hasSelectionCapabilities(node)) {
21515    return {
21516      start: node.selectionStart,
21517      end: node.selectionEnd
21518    };
21519  } else {
21520    var win = node.ownerDocument && node.ownerDocument.defaultView || window;
21521    var selection = win.getSelection();
21522    return {
21523      anchorNode: selection.anchorNode,
21524      anchorOffset: selection.anchorOffset,
21525      focusNode: selection.focusNode,
21526      focusOffset: selection.focusOffset
21527    };
21528  }
21529}
21530/**
21531 * Get document associated with the event target.
21532 *
21533 * @param {object} nativeEventTarget
21534 * @return {Document}
21535 */
21536
21537
21538function getEventTargetDocument(eventTarget) {
21539  return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;
21540}
21541/**
21542 * Poll selection to see whether it's changed.
21543 *
21544 * @param {object} nativeEvent
21545 * @param {object} nativeEventTarget
21546 * @return {?SyntheticEvent}
21547 */
21548
21549
21550function constructSelectEvent(nativeEvent, nativeEventTarget) {
21551  // Ensure we have the right element, and that the user is not dragging a
21552  // selection (this matches native `select` event behavior). In HTML5, select
21553  // fires only on input and textarea thus if there's no focused element we
21554  // won't dispatch.
21555  var doc = getEventTargetDocument(nativeEventTarget);
21556
21557  if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {
21558    return null;
21559  } // Only fire when selection has actually changed.
21560
21561
21562  var currentSelection = getSelection$1(activeElement$1);
21563
21564  if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {
21565    lastSelection = currentSelection;
21566    var syntheticEvent = SyntheticEvent.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget);
21567    syntheticEvent.type = 'select';
21568    syntheticEvent.target = activeElement$1;
21569    accumulateTwoPhaseDispatches(syntheticEvent);
21570    return syntheticEvent;
21571  }
21572
21573  return null;
21574}
21575/**
21576 * This plugin creates an `onSelect` event that normalizes select events
21577 * across form elements.
21578 *
21579 * Supported elements are:
21580 * - input (see `isTextInputElement`)
21581 * - textarea
21582 * - contentEditable
21583 *
21584 * This differs from native browser implementations in the following ways:
21585 * - Fires on contentEditable fields as well as inputs.
21586 * - Fires for collapsed selection.
21587 * - Fires after user input.
21588 */
21589
21590
21591var SelectEventPlugin = {
21592  eventTypes: eventTypes$3,
21593  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, container) {
21594    var containerOrDoc = container || getEventTargetDocument(nativeEventTarget); // Track whether all listeners exists for this plugin. If none exist, we do
21595    // not extract events. See #3639.
21596
21597    if (!containerOrDoc || !isListeningToAllDependencies('onSelect', containerOrDoc)) {
21598      return null;
21599    }
21600
21601    var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;
21602
21603    switch (topLevelType) {
21604      // Track the input node that has focus.
21605      case TOP_FOCUS:
21606        if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {
21607          activeElement$1 = targetNode;
21608          activeElementInst$1 = targetInst;
21609          lastSelection = null;
21610        }
21611
21612        break;
21613
21614      case TOP_BLUR:
21615        activeElement$1 = null;
21616        activeElementInst$1 = null;
21617        lastSelection = null;
21618        break;
21619      // Don't fire the event while the user is dragging. This matches the
21620      // semantics of the native select event.
21621
21622      case TOP_MOUSE_DOWN:
21623        mouseDown = true;
21624        break;
21625
21626      case TOP_CONTEXT_MENU:
21627      case TOP_MOUSE_UP:
21628      case TOP_DRAG_END:
21629        mouseDown = false;
21630        return constructSelectEvent(nativeEvent, nativeEventTarget);
21631      // Chrome and IE fire non-standard event when selection is changed (and
21632      // sometimes when it hasn't). IE's event fires out of order with respect
21633      // to key and input events on deletion, so we discard it.
21634      //
21635      // Firefox doesn't support selectionchange, so check selection status
21636      // after each key entry. The selection changes after keydown and before
21637      // keyup, but we check on keydown as well in the case of holding down a
21638      // key, when multiple keydown events are fired but only one keyup is.
21639      // This is also our approach for IE handling, for the reason above.
21640
21641      case TOP_SELECTION_CHANGE:
21642        if (skipSelectionChangeEvent) {
21643          break;
21644        }
21645
21646      // falls through
21647
21648      case TOP_KEY_DOWN:
21649      case TOP_KEY_UP:
21650        return constructSelectEvent(nativeEvent, nativeEventTarget);
21651    }
21652
21653    return null;
21654  }
21655};
21656
21657/**
21658 * @interface Event
21659 * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface
21660 * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent
21661 */
21662
21663var SyntheticAnimationEvent = SyntheticEvent.extend({
21664  animationName: null,
21665  elapsedTime: null,
21666  pseudoElement: null
21667});
21668
21669/**
21670 * @interface Event
21671 * @see http://www.w3.org/TR/clipboard-apis/
21672 */
21673
21674var SyntheticClipboardEvent = SyntheticEvent.extend({
21675  clipboardData: function (event) {
21676    return 'clipboardData' in event ? event.clipboardData : window.clipboardData;
21677  }
21678});
21679
21680/**
21681 * @interface FocusEvent
21682 * @see http://www.w3.org/TR/DOM-Level-3-Events/
21683 */
21684
21685var SyntheticFocusEvent = SyntheticUIEvent.extend({
21686  relatedTarget: null
21687});
21688
21689/**
21690 * `charCode` represents the actual "character code" and is safe to use with
21691 * `String.fromCharCode`. As such, only keys that correspond to printable
21692 * characters produce a valid `charCode`, the only exception to this is Enter.
21693 * The Tab-key is considered non-printable and does not have a `charCode`,
21694 * presumably because it does not produce a tab-character in browsers.
21695 *
21696 * @param {object} nativeEvent Native browser event.
21697 * @return {number} Normalized `charCode` property.
21698 */
21699function getEventCharCode(nativeEvent) {
21700  var charCode;
21701  var keyCode = nativeEvent.keyCode;
21702
21703  if ('charCode' in nativeEvent) {
21704    charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.
21705
21706    if (charCode === 0 && keyCode === 13) {
21707      charCode = 13;
21708    }
21709  } else {
21710    // IE8 does not implement `charCode`, but `keyCode` has the correct value.
21711    charCode = keyCode;
21712  } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)
21713  // report Enter as charCode 10 when ctrl is pressed.
21714
21715
21716  if (charCode === 10) {
21717    charCode = 13;
21718  } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.
21719  // Must not discard the (non-)printable Enter-key.
21720
21721
21722  if (charCode >= 32 || charCode === 13) {
21723    return charCode;
21724  }
21725
21726  return 0;
21727}
21728
21729/**
21730 * Normalization of deprecated HTML5 `key` values
21731 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
21732 */
21733
21734var normalizeKey = {
21735  Esc: 'Escape',
21736  Spacebar: ' ',
21737  Left: 'ArrowLeft',
21738  Up: 'ArrowUp',
21739  Right: 'ArrowRight',
21740  Down: 'ArrowDown',
21741  Del: 'Delete',
21742  Win: 'OS',
21743  Menu: 'ContextMenu',
21744  Apps: 'ContextMenu',
21745  Scroll: 'ScrollLock',
21746  MozPrintableKey: 'Unidentified'
21747};
21748/**
21749 * Translation from legacy `keyCode` to HTML5 `key`
21750 * Only special keys supported, all others depend on keyboard layout or browser
21751 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
21752 */
21753
21754var translateToKey = {
21755  '8': 'Backspace',
21756  '9': 'Tab',
21757  '12': 'Clear',
21758  '13': 'Enter',
21759  '16': 'Shift',
21760  '17': 'Control',
21761  '18': 'Alt',
21762  '19': 'Pause',
21763  '20': 'CapsLock',
21764  '27': 'Escape',
21765  '32': ' ',
21766  '33': 'PageUp',
21767  '34': 'PageDown',
21768  '35': 'End',
21769  '36': 'Home',
21770  '37': 'ArrowLeft',
21771  '38': 'ArrowUp',
21772  '39': 'ArrowRight',
21773  '40': 'ArrowDown',
21774  '45': 'Insert',
21775  '46': 'Delete',
21776  '112': 'F1',
21777  '113': 'F2',
21778  '114': 'F3',
21779  '115': 'F4',
21780  '116': 'F5',
21781  '117': 'F6',
21782  '118': 'F7',
21783  '119': 'F8',
21784  '120': 'F9',
21785  '121': 'F10',
21786  '122': 'F11',
21787  '123': 'F12',
21788  '144': 'NumLock',
21789  '145': 'ScrollLock',
21790  '224': 'Meta'
21791};
21792/**
21793 * @param {object} nativeEvent Native browser event.
21794 * @return {string} Normalized `key` property.
21795 */
21796
21797function getEventKey(nativeEvent) {
21798  if (nativeEvent.key) {
21799    // Normalize inconsistent values reported by browsers due to
21800    // implementations of a working draft specification.
21801    // FireFox implements `key` but returns `MozPrintableKey` for all
21802    // printable characters (normalized to `Unidentified`), ignore it.
21803    var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
21804
21805    if (key !== 'Unidentified') {
21806      return key;
21807    }
21808  } // Browser does not implement `key`, polyfill as much of it as we can.
21809
21810
21811  if (nativeEvent.type === 'keypress') {
21812    var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can
21813    // thus be captured by `keypress`, no other non-printable key should.
21814
21815    return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);
21816  }
21817
21818  if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {
21819    // While user keyboard layout determines the actual meaning of each
21820    // `keyCode` value, almost all function keys have a universal value.
21821    return translateToKey[nativeEvent.keyCode] || 'Unidentified';
21822  }
21823
21824  return '';
21825}
21826
21827/**
21828 * @interface KeyboardEvent
21829 * @see http://www.w3.org/TR/DOM-Level-3-Events/
21830 */
21831
21832var SyntheticKeyboardEvent = SyntheticUIEvent.extend({
21833  key: getEventKey,
21834  location: null,
21835  ctrlKey: null,
21836  shiftKey: null,
21837  altKey: null,
21838  metaKey: null,
21839  repeat: null,
21840  locale: null,
21841  getModifierState: getEventModifierState,
21842  // Legacy Interface
21843  charCode: function (event) {
21844    // `charCode` is the result of a KeyPress event and represents the value of
21845    // the actual printable character.
21846    // KeyPress is deprecated, but its replacement is not yet final and not
21847    // implemented in any major browser. Only KeyPress has charCode.
21848    if (event.type === 'keypress') {
21849      return getEventCharCode(event);
21850    }
21851
21852    return 0;
21853  },
21854  keyCode: function (event) {
21855    // `keyCode` is the result of a KeyDown/Up event and represents the value of
21856    // physical keyboard key.
21857    // The actual meaning of the value depends on the users' keyboard layout
21858    // which cannot be detected. Assuming that it is a US keyboard layout
21859    // provides a surprisingly accurate mapping for US and European users.
21860    // Due to this, it is left to the user to implement at this time.
21861    if (event.type === 'keydown' || event.type === 'keyup') {
21862      return event.keyCode;
21863    }
21864
21865    return 0;
21866  },
21867  which: function (event) {
21868    // `which` is an alias for either `keyCode` or `charCode` depending on the
21869    // type of the event.
21870    if (event.type === 'keypress') {
21871      return getEventCharCode(event);
21872    }
21873
21874    if (event.type === 'keydown' || event.type === 'keyup') {
21875      return event.keyCode;
21876    }
21877
21878    return 0;
21879  }
21880});
21881
21882/**
21883 * @interface DragEvent
21884 * @see http://www.w3.org/TR/DOM-Level-3-Events/
21885 */
21886
21887var SyntheticDragEvent = SyntheticMouseEvent.extend({
21888  dataTransfer: null
21889});
21890
21891/**
21892 * @interface TouchEvent
21893 * @see http://www.w3.org/TR/touch-events/
21894 */
21895
21896var SyntheticTouchEvent = SyntheticUIEvent.extend({
21897  touches: null,
21898  targetTouches: null,
21899  changedTouches: null,
21900  altKey: null,
21901  metaKey: null,
21902  ctrlKey: null,
21903  shiftKey: null,
21904  getModifierState: getEventModifierState
21905});
21906
21907/**
21908 * @interface Event
21909 * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-
21910 * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent
21911 */
21912
21913var SyntheticTransitionEvent = SyntheticEvent.extend({
21914  propertyName: null,
21915  elapsedTime: null,
21916  pseudoElement: null
21917});
21918
21919/**
21920 * @interface WheelEvent
21921 * @see http://www.w3.org/TR/DOM-Level-3-Events/
21922 */
21923
21924var SyntheticWheelEvent = SyntheticMouseEvent.extend({
21925  deltaX: function (event) {
21926    return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
21927    'wheelDeltaX' in event ? -event.wheelDeltaX : 0;
21928  },
21929  deltaY: function (event) {
21930    return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
21931    'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
21932    'wheelDelta' in event ? -event.wheelDelta : 0;
21933  },
21934  deltaZ: null,
21935  // Browsers without "deltaMode" is reporting in raw wheel delta where one
21936  // notch on the scroll is always +/- 120, roughly equivalent to pixels.
21937  // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or
21938  // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.
21939  deltaMode: null
21940});
21941
21942var knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_CLOSE, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_INPUT, TOP_INVALID, TOP_LOAD, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_RESET, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUBMIT, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_TOGGLE, TOP_VOLUME_CHANGE, TOP_WAITING];
21943var SimpleEventPlugin = {
21944  // simpleEventPluginEventTypes gets populated from
21945  // the DOMEventProperties module.
21946  eventTypes: simpleEventPluginEventTypes,
21947  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
21948    var dispatchConfig = topLevelEventsToDispatchConfig.get(topLevelType);
21949
21950    if (!dispatchConfig) {
21951      return null;
21952    }
21953
21954    var EventConstructor;
21955
21956    switch (topLevelType) {
21957      case TOP_KEY_PRESS:
21958        // Firefox creates a keypress event for function keys too. This removes
21959        // the unwanted keypress events. Enter is however both printable and
21960        // non-printable. One would expect Tab to be as well (but it isn't).
21961        if (getEventCharCode(nativeEvent) === 0) {
21962          return null;
21963        }
21964
21965      /* falls through */
21966
21967      case TOP_KEY_DOWN:
21968      case TOP_KEY_UP:
21969        EventConstructor = SyntheticKeyboardEvent;
21970        break;
21971
21972      case TOP_BLUR:
21973      case TOP_FOCUS:
21974        EventConstructor = SyntheticFocusEvent;
21975        break;
21976
21977      case TOP_CLICK:
21978        // Firefox creates a click event on right mouse clicks. This removes the
21979        // unwanted click events.
21980        if (nativeEvent.button === 2) {
21981          return null;
21982        }
21983
21984      /* falls through */
21985
21986      case TOP_AUX_CLICK:
21987      case TOP_DOUBLE_CLICK:
21988      case TOP_MOUSE_DOWN:
21989      case TOP_MOUSE_MOVE:
21990      case TOP_MOUSE_UP: // TODO: Disabled elements should not respond to mouse events
21991
21992      /* falls through */
21993
21994      case TOP_MOUSE_OUT:
21995      case TOP_MOUSE_OVER:
21996      case TOP_CONTEXT_MENU:
21997        EventConstructor = SyntheticMouseEvent;
21998        break;
21999
22000      case TOP_DRAG:
22001      case TOP_DRAG_END:
22002      case TOP_DRAG_ENTER:
22003      case TOP_DRAG_EXIT:
22004      case TOP_DRAG_LEAVE:
22005      case TOP_DRAG_OVER:
22006      case TOP_DRAG_START:
22007      case TOP_DROP:
22008        EventConstructor = SyntheticDragEvent;
22009        break;
22010
22011      case TOP_TOUCH_CANCEL:
22012      case TOP_TOUCH_END:
22013      case TOP_TOUCH_MOVE:
22014      case TOP_TOUCH_START:
22015        EventConstructor = SyntheticTouchEvent;
22016        break;
22017
22018      case TOP_ANIMATION_END:
22019      case TOP_ANIMATION_ITERATION:
22020      case TOP_ANIMATION_START:
22021        EventConstructor = SyntheticAnimationEvent;
22022        break;
22023
22024      case TOP_TRANSITION_END:
22025        EventConstructor = SyntheticTransitionEvent;
22026        break;
22027
22028      case TOP_SCROLL:
22029        EventConstructor = SyntheticUIEvent;
22030        break;
22031
22032      case TOP_WHEEL:
22033        EventConstructor = SyntheticWheelEvent;
22034        break;
22035
22036      case TOP_COPY:
22037      case TOP_CUT:
22038      case TOP_PASTE:
22039        EventConstructor = SyntheticClipboardEvent;
22040        break;
22041
22042      case TOP_GOT_POINTER_CAPTURE:
22043      case TOP_LOST_POINTER_CAPTURE:
22044      case TOP_POINTER_CANCEL:
22045      case TOP_POINTER_DOWN:
22046      case TOP_POINTER_MOVE:
22047      case TOP_POINTER_OUT:
22048      case TOP_POINTER_OVER:
22049      case TOP_POINTER_UP:
22050        EventConstructor = SyntheticPointerEvent;
22051        break;
22052
22053      default:
22054        {
22055          if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) {
22056            error('SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType);
22057          }
22058        } // HTML Events
22059        // @see http://www.w3.org/TR/html5/index.html#events-0
22060
22061
22062        EventConstructor = SyntheticEvent;
22063        break;
22064    }
22065
22066    var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);
22067    accumulateTwoPhaseDispatches(event);
22068    return event;
22069  }
22070};
22071
22072/**
22073 * Specifies a deterministic ordering of `EventPlugin`s. A convenient way to
22074 * reason about plugins, without having to package every one of them. This
22075 * is better than having plugins be ordered in the same order that they
22076 * are injected because that ordering would be influenced by the packaging order.
22077 * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that
22078 * preventing default on events is convenient in `SimpleEventPlugin` handlers.
22079 */
22080
22081var DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];
22082/**
22083 * Inject modules for resolving DOM hierarchy and plugin ordering.
22084 */
22085
22086injectEventPluginOrder(DOMEventPluginOrder);
22087setComponentTree(getFiberCurrentPropsFromNode$1, getInstanceFromNode$1, getNodeFromInstance$1);
22088/**
22089 * Some important event plugins included by default (without having to require
22090 * them).
22091 */
22092
22093injectEventPluginsByName({
22094  SimpleEventPlugin: SimpleEventPlugin,
22095  EnterLeaveEventPlugin: EnterLeaveEventPlugin,
22096  ChangeEventPlugin: ChangeEventPlugin,
22097  SelectEventPlugin: SelectEventPlugin,
22098  BeforeInputEventPlugin: BeforeInputEventPlugin
22099});
22100
22101// Prefix measurements so that it's possible to filter them.
22102// Longer prefixes are hard to read in DevTools.
22103var reactEmoji = "\u269B";
22104var warningEmoji = "\u26D4";
22105var supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; // Keep track of current fiber so that we know the path to unwind on pause.
22106// TODO: this looks the same as nextUnitOfWork in scheduler. Can we unify them?
22107
22108var currentFiber = null; // If we're in the middle of user code, which fiber and method is it?
22109// Reusing `currentFiber` would be confusing for this because user code fiber
22110// can change during commit phase too, but we don't need to unwind it (since
22111// lifecycles in the commit phase don't resemble a tree).
22112
22113var currentPhase = null;
22114var currentPhaseFiber = null; // Did lifecycle hook schedule an update? This is often a performance problem,
22115// so we will keep track of it, and include it in the report.
22116// Track commits caused by cascading updates.
22117
22118var isCommitting = false;
22119var hasScheduledUpdateInCurrentCommit = false;
22120var hasScheduledUpdateInCurrentPhase = false;
22121var commitCountInCurrentWorkLoop = 0;
22122var effectCountInCurrentCommit = 0;
22123// to avoid stretch the commit phase with measurement overhead.
22124
22125var labelsInCurrentCommit = new Set();
22126
22127var formatMarkName = function (markName) {
22128  return reactEmoji + " " + markName;
22129};
22130
22131var formatLabel = function (label, warning) {
22132  var prefix = warning ? warningEmoji + " " : reactEmoji + " ";
22133  var suffix = warning ? " Warning: " + warning : '';
22134  return "" + prefix + label + suffix;
22135};
22136
22137var beginMark = function (markName) {
22138  performance.mark(formatMarkName(markName));
22139};
22140
22141var clearMark = function (markName) {
22142  performance.clearMarks(formatMarkName(markName));
22143};
22144
22145var endMark = function (label, markName, warning) {
22146  var formattedMarkName = formatMarkName(markName);
22147  var formattedLabel = formatLabel(label, warning);
22148
22149  try {
22150    performance.measure(formattedLabel, formattedMarkName);
22151  } catch (err) {} // If previous mark was missing for some reason, this will throw.
22152  // This could only happen if React crashed in an unexpected place earlier.
22153  // Don't pile on with more errors.
22154  // Clear marks immediately to avoid growing buffer.
22155
22156
22157  performance.clearMarks(formattedMarkName);
22158  performance.clearMeasures(formattedLabel);
22159};
22160
22161var getFiberMarkName = function (label, debugID) {
22162  return label + " (#" + debugID + ")";
22163};
22164
22165var getFiberLabel = function (componentName, isMounted, phase) {
22166  if (phase === null) {
22167    // These are composite component total time measurements.
22168    return componentName + " [" + (isMounted ? 'update' : 'mount') + "]";
22169  } else {
22170    // Composite component methods.
22171    return componentName + "." + phase;
22172  }
22173};
22174
22175var beginFiberMark = function (fiber, phase) {
22176  var componentName = getComponentName(fiber.type) || 'Unknown';
22177  var debugID = fiber._debugID;
22178  var isMounted = fiber.alternate !== null;
22179  var label = getFiberLabel(componentName, isMounted, phase);
22180
22181  if (isCommitting && labelsInCurrentCommit.has(label)) {
22182    // During the commit phase, we don't show duplicate labels because
22183    // there is a fixed overhead for every measurement, and we don't
22184    // want to stretch the commit phase beyond necessary.
22185    return false;
22186  }
22187
22188  labelsInCurrentCommit.add(label);
22189  var markName = getFiberMarkName(label, debugID);
22190  beginMark(markName);
22191  return true;
22192};
22193
22194var clearFiberMark = function (fiber, phase) {
22195  var componentName = getComponentName(fiber.type) || 'Unknown';
22196  var debugID = fiber._debugID;
22197  var isMounted = fiber.alternate !== null;
22198  var label = getFiberLabel(componentName, isMounted, phase);
22199  var markName = getFiberMarkName(label, debugID);
22200  clearMark(markName);
22201};
22202
22203var endFiberMark = function (fiber, phase, warning) {
22204  var componentName = getComponentName(fiber.type) || 'Unknown';
22205  var debugID = fiber._debugID;
22206  var isMounted = fiber.alternate !== null;
22207  var label = getFiberLabel(componentName, isMounted, phase);
22208  var markName = getFiberMarkName(label, debugID);
22209  endMark(label, markName, warning);
22210};
22211
22212var shouldIgnoreFiber = function (fiber) {
22213  // Host components should be skipped in the timeline.
22214  // We could check typeof fiber.type, but does this work with RN?
22215  switch (fiber.tag) {
22216    case HostRoot:
22217    case HostComponent:
22218    case HostText:
22219    case HostPortal:
22220    case Fragment:
22221    case ContextProvider:
22222    case ContextConsumer:
22223    case Mode:
22224      return true;
22225
22226    default:
22227      return false;
22228  }
22229};
22230
22231var clearPendingPhaseMeasurement = function () {
22232  if (currentPhase !== null && currentPhaseFiber !== null) {
22233    clearFiberMark(currentPhaseFiber, currentPhase);
22234  }
22235
22236  currentPhaseFiber = null;
22237  currentPhase = null;
22238  hasScheduledUpdateInCurrentPhase = false;
22239};
22240
22241var pauseTimers = function () {
22242  // Stops all currently active measurements so that they can be resumed
22243  // if we continue in a later deferred loop from the same unit of work.
22244  var fiber = currentFiber;
22245
22246  while (fiber) {
22247    if (fiber._debugIsCurrentlyTiming) {
22248      endFiberMark(fiber, null, null);
22249    }
22250
22251    fiber = fiber.return;
22252  }
22253};
22254
22255var resumeTimersRecursively = function (fiber) {
22256  if (fiber.return !== null) {
22257    resumeTimersRecursively(fiber.return);
22258  }
22259
22260  if (fiber._debugIsCurrentlyTiming) {
22261    beginFiberMark(fiber, null);
22262  }
22263};
22264
22265var resumeTimers = function () {
22266  // Resumes all measurements that were active during the last deferred loop.
22267  if (currentFiber !== null) {
22268    resumeTimersRecursively(currentFiber);
22269  }
22270};
22271
22272function recordEffect() {
22273  {
22274    effectCountInCurrentCommit++;
22275  }
22276}
22277function recordScheduleUpdate() {
22278  {
22279    if (isCommitting) {
22280      hasScheduledUpdateInCurrentCommit = true;
22281    }
22282
22283    if (currentPhase !== null && currentPhase !== 'componentWillMount' && currentPhase !== 'componentWillReceiveProps') {
22284      hasScheduledUpdateInCurrentPhase = true;
22285    }
22286  }
22287}
22288function startWorkTimer(fiber) {
22289  {
22290    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
22291      return;
22292    } // If we pause, this is the fiber to unwind from.
22293
22294
22295    currentFiber = fiber;
22296
22297    if (!beginFiberMark(fiber, null)) {
22298      return;
22299    }
22300
22301    fiber._debugIsCurrentlyTiming = true;
22302  }
22303}
22304function cancelWorkTimer(fiber) {
22305  {
22306    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
22307      return;
22308    } // Remember we shouldn't complete measurement for this fiber.
22309    // Otherwise flamechart will be deep even for small updates.
22310
22311
22312    fiber._debugIsCurrentlyTiming = false;
22313    clearFiberMark(fiber, null);
22314  }
22315}
22316function stopWorkTimer(fiber) {
22317  {
22318    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
22319      return;
22320    } // If we pause, its parent is the fiber to unwind from.
22321
22322
22323    currentFiber = fiber.return;
22324
22325    if (!fiber._debugIsCurrentlyTiming) {
22326      return;
22327    }
22328
22329    fiber._debugIsCurrentlyTiming = false;
22330    endFiberMark(fiber, null, null);
22331  }
22332}
22333function stopFailedWorkTimer(fiber) {
22334  {
22335    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
22336      return;
22337    } // If we pause, its parent is the fiber to unwind from.
22338
22339
22340    currentFiber = fiber.return;
22341
22342    if (!fiber._debugIsCurrentlyTiming) {
22343      return;
22344    }
22345
22346    fiber._debugIsCurrentlyTiming = false;
22347    var warning = fiber.tag === SuspenseComponent ? 'Rendering was suspended' : 'An error was thrown inside this error boundary';
22348    endFiberMark(fiber, null, warning);
22349  }
22350}
22351function startPhaseTimer(fiber, phase) {
22352  {
22353    if (!supportsUserTiming) {
22354      return;
22355    }
22356
22357    clearPendingPhaseMeasurement();
22358
22359    if (!beginFiberMark(fiber, phase)) {
22360      return;
22361    }
22362
22363    currentPhaseFiber = fiber;
22364    currentPhase = phase;
22365  }
22366}
22367function stopPhaseTimer() {
22368  {
22369    if (!supportsUserTiming) {
22370      return;
22371    }
22372
22373    if (currentPhase !== null && currentPhaseFiber !== null) {
22374      var warning = hasScheduledUpdateInCurrentPhase ? 'Scheduled a cascading update' : null;
22375      endFiberMark(currentPhaseFiber, currentPhase, warning);
22376    }
22377
22378    currentPhase = null;
22379    currentPhaseFiber = null;
22380  }
22381}
22382function startWorkLoopTimer(nextUnitOfWork) {
22383  {
22384    currentFiber = nextUnitOfWork;
22385
22386    if (!supportsUserTiming) {
22387      return;
22388    }
22389
22390    commitCountInCurrentWorkLoop = 0; // This is top level call.
22391    // Any other measurements are performed within.
22392
22393    beginMark('(React Tree Reconciliation)'); // Resume any measurements that were in progress during the last loop.
22394
22395    resumeTimers();
22396  }
22397}
22398function stopWorkLoopTimer(interruptedBy, didCompleteRoot) {
22399  {
22400    if (!supportsUserTiming) {
22401      return;
22402    }
22403
22404    var warning = null;
22405
22406    if (interruptedBy !== null) {
22407      if (interruptedBy.tag === HostRoot) {
22408        warning = 'A top-level update interrupted the previous render';
22409      } else {
22410        var componentName = getComponentName(interruptedBy.type) || 'Unknown';
22411        warning = "An update to " + componentName + " interrupted the previous render";
22412      }
22413    } else if (commitCountInCurrentWorkLoop > 1) {
22414      warning = 'There were cascading updates';
22415    }
22416
22417    commitCountInCurrentWorkLoop = 0;
22418    var label = didCompleteRoot ? '(React Tree Reconciliation: Completed Root)' : '(React Tree Reconciliation: Yielded)'; // Pause any measurements until the next loop.
22419
22420    pauseTimers();
22421    endMark(label, '(React Tree Reconciliation)', warning);
22422  }
22423}
22424function startCommitTimer() {
22425  {
22426    if (!supportsUserTiming) {
22427      return;
22428    }
22429
22430    isCommitting = true;
22431    hasScheduledUpdateInCurrentCommit = false;
22432    labelsInCurrentCommit.clear();
22433    beginMark('(Committing Changes)');
22434  }
22435}
22436function stopCommitTimer() {
22437  {
22438    if (!supportsUserTiming) {
22439      return;
22440    }
22441
22442    var warning = null;
22443
22444    if (hasScheduledUpdateInCurrentCommit) {
22445      warning = 'Lifecycle hook scheduled a cascading update';
22446    } else if (commitCountInCurrentWorkLoop > 0) {
22447      warning = 'Caused by a cascading update in earlier commit';
22448    }
22449
22450    hasScheduledUpdateInCurrentCommit = false;
22451    commitCountInCurrentWorkLoop++;
22452    isCommitting = false;
22453    labelsInCurrentCommit.clear();
22454    endMark('(Committing Changes)', '(Committing Changes)', warning);
22455  }
22456}
22457function startCommitSnapshotEffectsTimer() {
22458  {
22459    if (!supportsUserTiming) {
22460      return;
22461    }
22462
22463    effectCountInCurrentCommit = 0;
22464    beginMark('(Committing Snapshot Effects)');
22465  }
22466}
22467function stopCommitSnapshotEffectsTimer() {
22468  {
22469    if (!supportsUserTiming) {
22470      return;
22471    }
22472
22473    var count = effectCountInCurrentCommit;
22474    effectCountInCurrentCommit = 0;
22475    endMark("(Committing Snapshot Effects: " + count + " Total)", '(Committing Snapshot Effects)', null);
22476  }
22477}
22478function startCommitHostEffectsTimer() {
22479  {
22480    if (!supportsUserTiming) {
22481      return;
22482    }
22483
22484    effectCountInCurrentCommit = 0;
22485    beginMark('(Committing Host Effects)');
22486  }
22487}
22488function stopCommitHostEffectsTimer() {
22489  {
22490    if (!supportsUserTiming) {
22491      return;
22492    }
22493
22494    var count = effectCountInCurrentCommit;
22495    effectCountInCurrentCommit = 0;
22496    endMark("(Committing Host Effects: " + count + " Total)", '(Committing Host Effects)', null);
22497  }
22498}
22499function startCommitLifeCyclesTimer() {
22500  {
22501    if (!supportsUserTiming) {
22502      return;
22503    }
22504
22505    effectCountInCurrentCommit = 0;
22506    beginMark('(Calling Lifecycle Methods)');
22507  }
22508}
22509function stopCommitLifeCyclesTimer() {
22510  {
22511    if (!supportsUserTiming) {
22512      return;
22513    }
22514
22515    var count = effectCountInCurrentCommit;
22516    effectCountInCurrentCommit = 0;
22517    endMark("(Calling Lifecycle Methods: " + count + " Total)", '(Calling Lifecycle Methods)', null);
22518  }
22519}
22520
22521var valueStack = [];
22522var fiberStack;
22523
22524{
22525  fiberStack = [];
22526}
22527
22528var index = -1;
22529
22530function createCursor(defaultValue) {
22531  return {
22532    current: defaultValue
22533  };
22534}
22535
22536function pop(cursor, fiber) {
22537  if (index < 0) {
22538    {
22539      error('Unexpected pop.');
22540    }
22541
22542    return;
22543  }
22544
22545  {
22546    if (fiber !== fiberStack[index]) {
22547      error('Unexpected Fiber popped.');
22548    }
22549  }
22550
22551  cursor.current = valueStack[index];
22552  valueStack[index] = null;
22553
22554  {
22555    fiberStack[index] = null;
22556  }
22557
22558  index--;
22559}
22560
22561function push(cursor, value, fiber) {
22562  index++;
22563  valueStack[index] = cursor.current;
22564
22565  {
22566    fiberStack[index] = fiber;
22567  }
22568
22569  cursor.current = value;
22570}
22571
22572var warnedAboutMissingGetChildContext;
22573
22574{
22575  warnedAboutMissingGetChildContext = {};
22576}
22577
22578var emptyContextObject = {};
22579
22580{
22581  Object.freeze(emptyContextObject);
22582} // A cursor to the current merged context object on the stack.
22583
22584
22585var contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.
22586
22587var didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.
22588// We use this to get access to the parent context after we have already
22589// pushed the next context provider, and now need to merge their contexts.
22590
22591var previousContext = emptyContextObject;
22592
22593function getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {
22594  {
22595    if (didPushOwnContextIfProvider && isContextProvider(Component)) {
22596      // If the fiber is a context provider itself, when we read its context
22597      // we may have already pushed its own child context on the stack. A context
22598      // provider should not "see" its own child context. Therefore we read the
22599      // previous (parent) context instead for a context provider.
22600      return previousContext;
22601    }
22602
22603    return contextStackCursor.current;
22604  }
22605}
22606
22607function cacheContext(workInProgress, unmaskedContext, maskedContext) {
22608  {
22609    var instance = workInProgress.stateNode;
22610    instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;
22611    instance.__reactInternalMemoizedMaskedChildContext = maskedContext;
22612  }
22613}
22614
22615function getMaskedContext(workInProgress, unmaskedContext) {
22616  {
22617    var type = workInProgress.type;
22618    var contextTypes = type.contextTypes;
22619
22620    if (!contextTypes) {
22621      return emptyContextObject;
22622    } // Avoid recreating masked context unless unmasked context has changed.
22623    // Failing to do this will result in unnecessary calls to componentWillReceiveProps.
22624    // This may trigger infinite loops if componentWillReceiveProps calls setState.
22625
22626
22627    var instance = workInProgress.stateNode;
22628
22629    if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {
22630      return instance.__reactInternalMemoizedMaskedChildContext;
22631    }
22632
22633    var context = {};
22634
22635    for (var key in contextTypes) {
22636      context[key] = unmaskedContext[key];
22637    }
22638
22639    {
22640      var name = getComponentName(type) || 'Unknown';
22641      checkPropTypes(contextTypes, context, 'context', name, getCurrentFiberStackInDev);
22642    } // Cache unmasked context so we can avoid recreating masked context unless necessary.
22643    // Context is created before the class component is instantiated so check for instance.
22644
22645
22646    if (instance) {
22647      cacheContext(workInProgress, unmaskedContext, context);
22648    }
22649
22650    return context;
22651  }
22652}
22653
22654function hasContextChanged() {
22655  {
22656    return didPerformWorkStackCursor.current;
22657  }
22658}
22659
22660function isContextProvider(type) {
22661  {
22662    var childContextTypes = type.childContextTypes;
22663    return childContextTypes !== null && childContextTypes !== undefined;
22664  }
22665}
22666
22667function popContext(fiber) {
22668  {
22669    pop(didPerformWorkStackCursor, fiber);
22670    pop(contextStackCursor, fiber);
22671  }
22672}
22673
22674function popTopLevelContextObject(fiber) {
22675  {
22676    pop(didPerformWorkStackCursor, fiber);
22677    pop(contextStackCursor, fiber);
22678  }
22679}
22680
22681function pushTopLevelContextObject(fiber, context, didChange) {
22682  {
22683    if (!(contextStackCursor.current === emptyContextObject)) {
22684      {
22685        throw Error( "Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue." );
22686      }
22687    }
22688
22689    push(contextStackCursor, context, fiber);
22690    push(didPerformWorkStackCursor, didChange, fiber);
22691  }
22692}
22693
22694function processChildContext(fiber, type, parentContext) {
22695  {
22696    var instance = fiber.stateNode;
22697    var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.
22698    // It has only been added in Fiber to match the (unintentional) behavior in Stack.
22699
22700    if (typeof instance.getChildContext !== 'function') {
22701      {
22702        var componentName = getComponentName(type) || 'Unknown';
22703
22704        if (!warnedAboutMissingGetChildContext[componentName]) {
22705          warnedAboutMissingGetChildContext[componentName] = true;
22706
22707          error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);
22708        }
22709      }
22710
22711      return parentContext;
22712    }
22713
22714    var childContext;
22715    startPhaseTimer(fiber, 'getChildContext');
22716    childContext = instance.getChildContext();
22717    stopPhaseTimer();
22718
22719    for (var contextKey in childContext) {
22720      if (!(contextKey in childContextTypes)) {
22721        {
22722          throw Error( (getComponentName(type) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes." );
22723        }
22724      }
22725    }
22726
22727    {
22728      var name = getComponentName(type) || 'Unknown';
22729      checkPropTypes(childContextTypes, childContext, 'child context', name, // In practice, there is one case in which we won't get a stack. It's when
22730      // somebody calls unstable_renderSubtreeIntoContainer() and we process
22731      // context from the parent component instance. The stack will be missing
22732      // because it's outside of the reconciliation, and so the pointer has not
22733      // been set. This is rare and doesn't matter. We'll also remove that API.
22734      getCurrentFiberStackInDev);
22735    }
22736
22737    return _assign({}, parentContext, {}, childContext);
22738  }
22739}
22740
22741function pushContextProvider(workInProgress) {
22742  {
22743    var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.
22744    // If the instance does not exist yet, we will push null at first,
22745    // and replace it on the stack later when invalidating the context.
22746
22747    var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.
22748    // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.
22749
22750    previousContext = contextStackCursor.current;
22751    push(contextStackCursor, memoizedMergedChildContext, workInProgress);
22752    push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);
22753    return true;
22754  }
22755}
22756
22757function invalidateContextProvider(workInProgress, type, didChange) {
22758  {
22759    var instance = workInProgress.stateNode;
22760
22761    if (!instance) {
22762      {
22763        throw Error( "Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue." );
22764      }
22765    }
22766
22767    if (didChange) {
22768      // Merge parent and own context.
22769      // Skip this if we're not updating due to sCU.
22770      // This avoids unnecessarily recomputing memoized values.
22771      var mergedContext = processChildContext(workInProgress, type, previousContext);
22772      instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.
22773      // It is important to unwind the context in the reverse order.
22774
22775      pop(didPerformWorkStackCursor, workInProgress);
22776      pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.
22777
22778      push(contextStackCursor, mergedContext, workInProgress);
22779      push(didPerformWorkStackCursor, didChange, workInProgress);
22780    } else {
22781      pop(didPerformWorkStackCursor, workInProgress);
22782      push(didPerformWorkStackCursor, didChange, workInProgress);
22783    }
22784  }
22785}
22786
22787function findCurrentUnmaskedContext(fiber) {
22788  {
22789    // Currently this is only used with renderSubtreeIntoContainer; not sure if it
22790    // makes sense elsewhere
22791    if (!(isFiberMounted(fiber) && fiber.tag === ClassComponent)) {
22792      {
22793        throw Error( "Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue." );
22794      }
22795    }
22796
22797    var node = fiber;
22798
22799    do {
22800      switch (node.tag) {
22801        case HostRoot:
22802          return node.stateNode.context;
22803
22804        case ClassComponent:
22805          {
22806            var Component = node.type;
22807
22808            if (isContextProvider(Component)) {
22809              return node.stateNode.__reactInternalMemoizedMergedChildContext;
22810            }
22811
22812            break;
22813          }
22814      }
22815
22816      node = node.return;
22817    } while (node !== null);
22818
22819    {
22820      {
22821        throw Error( "Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue." );
22822      }
22823    }
22824  }
22825}
22826
22827var LegacyRoot = 0;
22828var BlockingRoot = 1;
22829var ConcurrentRoot = 2;
22830
22831var Scheduler_runWithPriority = Scheduler.unstable_runWithPriority,
22832    Scheduler_scheduleCallback = Scheduler.unstable_scheduleCallback,
22833    Scheduler_cancelCallback = Scheduler.unstable_cancelCallback,
22834    Scheduler_shouldYield = Scheduler.unstable_shouldYield,
22835    Scheduler_requestPaint = Scheduler.unstable_requestPaint,
22836    Scheduler_now = Scheduler.unstable_now,
22837    Scheduler_getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,
22838    Scheduler_ImmediatePriority = Scheduler.unstable_ImmediatePriority,
22839    Scheduler_UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,
22840    Scheduler_NormalPriority = Scheduler.unstable_NormalPriority,
22841    Scheduler_LowPriority = Scheduler.unstable_LowPriority,
22842    Scheduler_IdlePriority = Scheduler.unstable_IdlePriority;
22843
22844{
22845  // Provide explicit error message when production+profiling bundle of e.g.
22846  // react-dom is used with production (non-profiling) bundle of
22847  // scheduler/tracing
22848  if (!(tracing.__interactionsRef != null && tracing.__interactionsRef.current != null)) {
22849    {
22850      throw Error( "It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling" );
22851    }
22852  }
22853}
22854
22855var fakeCallbackNode = {}; // Except for NoPriority, these correspond to Scheduler priorities. We use
22856// ascending numbers so we can compare them like numbers. They start at 90 to
22857// avoid clashing with Scheduler's priorities.
22858
22859var ImmediatePriority = 99;
22860var UserBlockingPriority$1 = 98;
22861var NormalPriority = 97;
22862var LowPriority = 96;
22863var IdlePriority = 95; // NoPriority is the absence of priority. Also React-only.
22864
22865var NoPriority = 90;
22866var shouldYield = Scheduler_shouldYield;
22867var requestPaint = // Fall back gracefully if we're running an older version of Scheduler.
22868Scheduler_requestPaint !== undefined ? Scheduler_requestPaint : function () {};
22869var syncQueue = null;
22870var immediateQueueCallbackNode = null;
22871var isFlushingSyncQueue = false;
22872var initialTimeMs = Scheduler_now(); // If the initial timestamp is reasonably small, use Scheduler's `now` directly.
22873// This will be the case for modern browsers that support `performance.now`. In
22874// older browsers, Scheduler falls back to `Date.now`, which returns a Unix
22875// timestamp. In that case, subtract the module initialization time to simulate
22876// the behavior of performance.now and keep our times small enough to fit
22877// within 32 bits.
22878// TODO: Consider lifting this into Scheduler.
22879
22880var now = initialTimeMs < 10000 ? Scheduler_now : function () {
22881  return Scheduler_now() - initialTimeMs;
22882};
22883function getCurrentPriorityLevel() {
22884  switch (Scheduler_getCurrentPriorityLevel()) {
22885    case Scheduler_ImmediatePriority:
22886      return ImmediatePriority;
22887
22888    case Scheduler_UserBlockingPriority:
22889      return UserBlockingPriority$1;
22890
22891    case Scheduler_NormalPriority:
22892      return NormalPriority;
22893
22894    case Scheduler_LowPriority:
22895      return LowPriority;
22896
22897    case Scheduler_IdlePriority:
22898      return IdlePriority;
22899
22900    default:
22901      {
22902        {
22903          throw Error( "Unknown priority level." );
22904        }
22905      }
22906
22907  }
22908}
22909
22910function reactPriorityToSchedulerPriority(reactPriorityLevel) {
22911  switch (reactPriorityLevel) {
22912    case ImmediatePriority:
22913      return Scheduler_ImmediatePriority;
22914
22915    case UserBlockingPriority$1:
22916      return Scheduler_UserBlockingPriority;
22917
22918    case NormalPriority:
22919      return Scheduler_NormalPriority;
22920
22921    case LowPriority:
22922      return Scheduler_LowPriority;
22923
22924    case IdlePriority:
22925      return Scheduler_IdlePriority;
22926
22927    default:
22928      {
22929        {
22930          throw Error( "Unknown priority level." );
22931        }
22932      }
22933
22934  }
22935}
22936
22937function runWithPriority$1(reactPriorityLevel, fn) {
22938  var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel);
22939  return Scheduler_runWithPriority(priorityLevel, fn);
22940}
22941function scheduleCallback(reactPriorityLevel, callback, options) {
22942  var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel);
22943  return Scheduler_scheduleCallback(priorityLevel, callback, options);
22944}
22945function scheduleSyncCallback(callback) {
22946  // Push this callback into an internal queue. We'll flush these either in
22947  // the next tick, or earlier if something calls `flushSyncCallbackQueue`.
22948  if (syncQueue === null) {
22949    syncQueue = [callback]; // Flush the queue in the next tick, at the earliest.
22950
22951    immediateQueueCallbackNode = Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueueImpl);
22952  } else {
22953    // Push onto existing queue. Don't need to schedule a callback because
22954    // we already scheduled one when we created the queue.
22955    syncQueue.push(callback);
22956  }
22957
22958  return fakeCallbackNode;
22959}
22960function cancelCallback(callbackNode) {
22961  if (callbackNode !== fakeCallbackNode) {
22962    Scheduler_cancelCallback(callbackNode);
22963  }
22964}
22965function flushSyncCallbackQueue() {
22966  if (immediateQueueCallbackNode !== null) {
22967    var node = immediateQueueCallbackNode;
22968    immediateQueueCallbackNode = null;
22969    Scheduler_cancelCallback(node);
22970  }
22971
22972  flushSyncCallbackQueueImpl();
22973}
22974
22975function flushSyncCallbackQueueImpl() {
22976  if (!isFlushingSyncQueue && syncQueue !== null) {
22977    // Prevent re-entrancy.
22978    isFlushingSyncQueue = true;
22979    var i = 0;
22980
22981    try {
22982      var _isSync = true;
22983      var queue = syncQueue;
22984      runWithPriority$1(ImmediatePriority, function () {
22985        for (; i < queue.length; i++) {
22986          var callback = queue[i];
22987
22988          do {
22989            callback = callback(_isSync);
22990          } while (callback !== null);
22991        }
22992      });
22993      syncQueue = null;
22994    } catch (error) {
22995      // If something throws, leave the remaining callbacks on the queue.
22996      if (syncQueue !== null) {
22997        syncQueue = syncQueue.slice(i + 1);
22998      } // Resume flushing in the next tick
22999
23000
23001      Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueue);
23002      throw error;
23003    } finally {
23004      isFlushingSyncQueue = false;
23005    }
23006  }
23007}
23008
23009var NoMode = 0;
23010var StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root
23011// tag instead
23012
23013var BlockingMode = 2;
23014var ConcurrentMode = 4;
23015var ProfileMode = 8;
23016
23017// Max 31 bit integer. The max integer size in V8 for 32-bit systems.
23018// Math.pow(2, 30) - 1
23019// 0b111111111111111111111111111111
23020var MAX_SIGNED_31_BIT_INT = 1073741823;
23021
23022var NoWork = 0; // TODO: Think of a better name for Never. The key difference with Idle is that
23023// Never work can be committed in an inconsistent state without tearing the UI.
23024// The main example is offscreen content, like a hidden subtree. So one possible
23025// name is Offscreen. However, it also includes dehydrated Suspense boundaries,
23026// which are inconsistent in the sense that they haven't finished yet, but
23027// aren't visibly inconsistent because the server rendered HTML matches what the
23028// hydrated tree would look like.
23029
23030var Never = 1; // Idle is slightly higher priority than Never. It must completely finish in
23031// order to be consistent.
23032
23033var Idle = 2; // Continuous Hydration is slightly higher than Idle and is used to increase
23034// priority of hover targets.
23035
23036var ContinuousHydration = 3;
23037var Sync = MAX_SIGNED_31_BIT_INT;
23038var Batched = Sync - 1;
23039var UNIT_SIZE = 10;
23040var MAGIC_NUMBER_OFFSET = Batched - 1; // 1 unit of expiration time represents 10ms.
23041
23042function msToExpirationTime(ms) {
23043  // Always subtract from the offset so that we don't clash with the magic number for NoWork.
23044  return MAGIC_NUMBER_OFFSET - (ms / UNIT_SIZE | 0);
23045}
23046function expirationTimeToMs(expirationTime) {
23047  return (MAGIC_NUMBER_OFFSET - expirationTime) * UNIT_SIZE;
23048}
23049
23050function ceiling(num, precision) {
23051  return ((num / precision | 0) + 1) * precision;
23052}
23053
23054function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) {
23055  return MAGIC_NUMBER_OFFSET - ceiling(MAGIC_NUMBER_OFFSET - currentTime + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE);
23056} // TODO: This corresponds to Scheduler's NormalPriority, not LowPriority. Update
23057// the names to reflect.
23058
23059
23060var LOW_PRIORITY_EXPIRATION = 5000;
23061var LOW_PRIORITY_BATCH_SIZE = 250;
23062function computeAsyncExpiration(currentTime) {
23063  return computeExpirationBucket(currentTime, LOW_PRIORITY_EXPIRATION, LOW_PRIORITY_BATCH_SIZE);
23064}
23065function computeSuspenseExpiration(currentTime, timeoutMs) {
23066  // TODO: Should we warn if timeoutMs is lower than the normal pri expiration time?
23067  return computeExpirationBucket(currentTime, timeoutMs, LOW_PRIORITY_BATCH_SIZE);
23068} // We intentionally set a higher expiration time for interactive updates in
23069// dev than in production.
23070//
23071// If the main thread is being blocked so long that you hit the expiration,
23072// it's a problem that could be solved with better scheduling.
23073//
23074// People will be more likely to notice this and fix it with the long
23075// expiration time in development.
23076//
23077// In production we opt for better UX at the risk of masking scheduling
23078// problems, by expiring fast.
23079
23080var HIGH_PRIORITY_EXPIRATION =  500 ;
23081var HIGH_PRIORITY_BATCH_SIZE = 100;
23082function computeInteractiveExpiration(currentTime) {
23083  return computeExpirationBucket(currentTime, HIGH_PRIORITY_EXPIRATION, HIGH_PRIORITY_BATCH_SIZE);
23084}
23085function inferPriorityFromExpirationTime(currentTime, expirationTime) {
23086  if (expirationTime === Sync) {
23087    return ImmediatePriority;
23088  }
23089
23090  if (expirationTime === Never || expirationTime === Idle) {
23091    return IdlePriority;
23092  }
23093
23094  var msUntil = expirationTimeToMs(expirationTime) - expirationTimeToMs(currentTime);
23095
23096  if (msUntil <= 0) {
23097    return ImmediatePriority;
23098  }
23099
23100  if (msUntil <= HIGH_PRIORITY_EXPIRATION + HIGH_PRIORITY_BATCH_SIZE) {
23101    return UserBlockingPriority$1;
23102  }
23103
23104  if (msUntil <= LOW_PRIORITY_EXPIRATION + LOW_PRIORITY_BATCH_SIZE) {
23105    return NormalPriority;
23106  } // TODO: Handle LowPriority
23107  // Assume anything lower has idle priority
23108
23109
23110  return IdlePriority;
23111}
23112
23113var ReactStrictModeWarnings = {
23114  recordUnsafeLifecycleWarnings: function (fiber, instance) {},
23115  flushPendingUnsafeLifecycleWarnings: function () {},
23116  recordLegacyContextWarning: function (fiber, instance) {},
23117  flushLegacyContextWarning: function () {},
23118  discardPendingWarnings: function () {}
23119};
23120
23121{
23122  var findStrictRoot = function (fiber) {
23123    var maybeStrictRoot = null;
23124    var node = fiber;
23125
23126    while (node !== null) {
23127      if (node.mode & StrictMode) {
23128        maybeStrictRoot = node;
23129      }
23130
23131      node = node.return;
23132    }
23133
23134    return maybeStrictRoot;
23135  };
23136
23137  var setToSortedString = function (set) {
23138    var array = [];
23139    set.forEach(function (value) {
23140      array.push(value);
23141    });
23142    return array.sort().join(', ');
23143  };
23144
23145  var pendingComponentWillMountWarnings = [];
23146  var pendingUNSAFE_ComponentWillMountWarnings = [];
23147  var pendingComponentWillReceivePropsWarnings = [];
23148  var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
23149  var pendingComponentWillUpdateWarnings = [];
23150  var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.
23151
23152  var didWarnAboutUnsafeLifecycles = new Set();
23153
23154  ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {
23155    // Dedup strategy: Warn once per component.
23156    if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {
23157      return;
23158    }
23159
23160    if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.
23161    instance.componentWillMount.__suppressDeprecationWarning !== true) {
23162      pendingComponentWillMountWarnings.push(fiber);
23163    }
23164
23165    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillMount === 'function') {
23166      pendingUNSAFE_ComponentWillMountWarnings.push(fiber);
23167    }
23168
23169    if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {
23170      pendingComponentWillReceivePropsWarnings.push(fiber);
23171    }
23172
23173    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
23174      pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);
23175    }
23176
23177    if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {
23178      pendingComponentWillUpdateWarnings.push(fiber);
23179    }
23180
23181    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {
23182      pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);
23183    }
23184  };
23185
23186  ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {
23187    // We do an initial pass to gather component names
23188    var componentWillMountUniqueNames = new Set();
23189
23190    if (pendingComponentWillMountWarnings.length > 0) {
23191      pendingComponentWillMountWarnings.forEach(function (fiber) {
23192        componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component');
23193        didWarnAboutUnsafeLifecycles.add(fiber.type);
23194      });
23195      pendingComponentWillMountWarnings = [];
23196    }
23197
23198    var UNSAFE_componentWillMountUniqueNames = new Set();
23199
23200    if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {
23201      pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {
23202        UNSAFE_componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component');
23203        didWarnAboutUnsafeLifecycles.add(fiber.type);
23204      });
23205      pendingUNSAFE_ComponentWillMountWarnings = [];
23206    }
23207
23208    var componentWillReceivePropsUniqueNames = new Set();
23209
23210    if (pendingComponentWillReceivePropsWarnings.length > 0) {
23211      pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {
23212        componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component');
23213        didWarnAboutUnsafeLifecycles.add(fiber.type);
23214      });
23215      pendingComponentWillReceivePropsWarnings = [];
23216    }
23217
23218    var UNSAFE_componentWillReceivePropsUniqueNames = new Set();
23219
23220    if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {
23221      pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {
23222        UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component');
23223        didWarnAboutUnsafeLifecycles.add(fiber.type);
23224      });
23225      pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
23226    }
23227
23228    var componentWillUpdateUniqueNames = new Set();
23229
23230    if (pendingComponentWillUpdateWarnings.length > 0) {
23231      pendingComponentWillUpdateWarnings.forEach(function (fiber) {
23232        componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component');
23233        didWarnAboutUnsafeLifecycles.add(fiber.type);
23234      });
23235      pendingComponentWillUpdateWarnings = [];
23236    }
23237
23238    var UNSAFE_componentWillUpdateUniqueNames = new Set();
23239
23240    if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {
23241      pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {
23242        UNSAFE_componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component');
23243        didWarnAboutUnsafeLifecycles.add(fiber.type);
23244      });
23245      pendingUNSAFE_ComponentWillUpdateWarnings = [];
23246    } // Finally, we flush all the warnings
23247    // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'
23248
23249
23250    if (UNSAFE_componentWillMountUniqueNames.size > 0) {
23251      var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);
23252
23253      error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '\nPlease update the following components: %s', sortedNames);
23254    }
23255
23256    if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {
23257      var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);
23258
23259      error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, " + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '\nPlease update the following components: %s', _sortedNames);
23260    }
23261
23262    if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {
23263      var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);
23264
23265      error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '\nPlease update the following components: %s', _sortedNames2);
23266    }
23267
23268    if (componentWillMountUniqueNames.size > 0) {
23269      var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);
23270
23271      warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames3);
23272    }
23273
23274    if (componentWillReceivePropsUniqueNames.size > 0) {
23275      var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);
23276
23277      warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, refactor your " + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames4);
23278    }
23279
23280    if (componentWillUpdateUniqueNames.size > 0) {
23281      var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);
23282
23283      warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames5);
23284    }
23285  };
23286
23287  var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.
23288
23289  var didWarnAboutLegacyContext = new Set();
23290
23291  ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {
23292    var strictRoot = findStrictRoot(fiber);
23293
23294    if (strictRoot === null) {
23295      error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');
23296
23297      return;
23298    } // Dedup strategy: Warn once per component.
23299
23300
23301    if (didWarnAboutLegacyContext.has(fiber.type)) {
23302      return;
23303    }
23304
23305    var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);
23306
23307    if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {
23308      if (warningsForRoot === undefined) {
23309        warningsForRoot = [];
23310        pendingLegacyContextWarning.set(strictRoot, warningsForRoot);
23311      }
23312
23313      warningsForRoot.push(fiber);
23314    }
23315  };
23316
23317  ReactStrictModeWarnings.flushLegacyContextWarning = function () {
23318    pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {
23319      if (fiberArray.length === 0) {
23320        return;
23321      }
23322
23323      var firstFiber = fiberArray[0];
23324      var uniqueNames = new Set();
23325      fiberArray.forEach(function (fiber) {
23326        uniqueNames.add(getComponentName(fiber.type) || 'Component');
23327        didWarnAboutLegacyContext.add(fiber.type);
23328      });
23329      var sortedNames = setToSortedString(uniqueNames);
23330      var firstComponentStack = getStackByFiberInDevAndProd(firstFiber);
23331
23332      error('Legacy context API has been detected within a strict-mode tree.' + '\n\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here: https://fb.me/react-legacy-context' + '%s', sortedNames, firstComponentStack);
23333    });
23334  };
23335
23336  ReactStrictModeWarnings.discardPendingWarnings = function () {
23337    pendingComponentWillMountWarnings = [];
23338    pendingUNSAFE_ComponentWillMountWarnings = [];
23339    pendingComponentWillReceivePropsWarnings = [];
23340    pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
23341    pendingComponentWillUpdateWarnings = [];
23342    pendingUNSAFE_ComponentWillUpdateWarnings = [];
23343    pendingLegacyContextWarning = new Map();
23344  };
23345}
23346
23347var resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.
23348
23349var failedBoundaries = null;
23350var setRefreshHandler = function (handler) {
23351  {
23352    resolveFamily = handler;
23353  }
23354};
23355function resolveFunctionForHotReloading(type) {
23356  {
23357    if (resolveFamily === null) {
23358      // Hot reloading is disabled.
23359      return type;
23360    }
23361
23362    var family = resolveFamily(type);
23363
23364    if (family === undefined) {
23365      return type;
23366    } // Use the latest known implementation.
23367
23368
23369    return family.current;
23370  }
23371}
23372function resolveClassForHotReloading(type) {
23373  // No implementation differences.
23374  return resolveFunctionForHotReloading(type);
23375}
23376function resolveForwardRefForHotReloading(type) {
23377  {
23378    if (resolveFamily === null) {
23379      // Hot reloading is disabled.
23380      return type;
23381    }
23382
23383    var family = resolveFamily(type);
23384
23385    if (family === undefined) {
23386      // Check if we're dealing with a real forwardRef. Don't want to crash early.
23387      if (type !== null && type !== undefined && typeof type.render === 'function') {
23388        // ForwardRef is special because its resolved .type is an object,
23389        // but it's possible that we only have its inner render function in the map.
23390        // If that inner render function is different, we'll build a new forwardRef type.
23391        var currentRender = resolveFunctionForHotReloading(type.render);
23392
23393        if (type.render !== currentRender) {
23394          var syntheticType = {
23395            $$typeof: REACT_FORWARD_REF_TYPE,
23396            render: currentRender
23397          };
23398
23399          if (type.displayName !== undefined) {
23400            syntheticType.displayName = type.displayName;
23401          }
23402
23403          return syntheticType;
23404        }
23405      }
23406
23407      return type;
23408    } // Use the latest known implementation.
23409
23410
23411    return family.current;
23412  }
23413}
23414function isCompatibleFamilyForHotReloading(fiber, element) {
23415  {
23416    if (resolveFamily === null) {
23417      // Hot reloading is disabled.
23418      return false;
23419    }
23420
23421    var prevType = fiber.elementType;
23422    var nextType = element.type; // If we got here, we know types aren't === equal.
23423
23424    var needsCompareFamilies = false;
23425    var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;
23426
23427    switch (fiber.tag) {
23428      case ClassComponent:
23429        {
23430          if (typeof nextType === 'function') {
23431            needsCompareFamilies = true;
23432          }
23433
23434          break;
23435        }
23436
23437      case FunctionComponent:
23438        {
23439          if (typeof nextType === 'function') {
23440            needsCompareFamilies = true;
23441          } else if ($$typeofNextType === REACT_LAZY_TYPE) {
23442            // We don't know the inner type yet.
23443            // We're going to assume that the lazy inner type is stable,
23444            // and so it is sufficient to avoid reconciling it away.
23445            // We're not going to unwrap or actually use the new lazy type.
23446            needsCompareFamilies = true;
23447          }
23448
23449          break;
23450        }
23451
23452      case ForwardRef:
23453        {
23454          if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {
23455            needsCompareFamilies = true;
23456          } else if ($$typeofNextType === REACT_LAZY_TYPE) {
23457            needsCompareFamilies = true;
23458          }
23459
23460          break;
23461        }
23462
23463      case MemoComponent:
23464      case SimpleMemoComponent:
23465        {
23466          if ($$typeofNextType === REACT_MEMO_TYPE) {
23467            // TODO: if it was but can no longer be simple,
23468            // we shouldn't set this.
23469            needsCompareFamilies = true;
23470          } else if ($$typeofNextType === REACT_LAZY_TYPE) {
23471            needsCompareFamilies = true;
23472          }
23473
23474          break;
23475        }
23476
23477      default:
23478        return false;
23479    } // Check if both types have a family and it's the same one.
23480
23481
23482    if (needsCompareFamilies) {
23483      // Note: memo() and forwardRef() we'll compare outer rather than inner type.
23484      // This means both of them need to be registered to preserve state.
23485      // If we unwrapped and compared the inner types for wrappers instead,
23486      // then we would risk falsely saying two separate memo(Foo)
23487      // calls are equivalent because they wrap the same Foo function.
23488      var prevFamily = resolveFamily(prevType);
23489
23490      if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {
23491        return true;
23492      }
23493    }
23494
23495    return false;
23496  }
23497}
23498function markFailedErrorBoundaryForHotReloading(fiber) {
23499  {
23500    if (resolveFamily === null) {
23501      // Hot reloading is disabled.
23502      return;
23503    }
23504
23505    if (typeof WeakSet !== 'function') {
23506      return;
23507    }
23508
23509    if (failedBoundaries === null) {
23510      failedBoundaries = new WeakSet();
23511    }
23512
23513    failedBoundaries.add(fiber);
23514  }
23515}
23516var scheduleRefresh = function (root, update) {
23517  {
23518    if (resolveFamily === null) {
23519      // Hot reloading is disabled.
23520      return;
23521    }
23522
23523    var staleFamilies = update.staleFamilies,
23524        updatedFamilies = update.updatedFamilies;
23525    flushPassiveEffects();
23526    flushSync(function () {
23527      scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);
23528    });
23529  }
23530};
23531var scheduleRoot = function (root, element) {
23532  {
23533    if (root.context !== emptyContextObject) {
23534      // Super edge case: root has a legacy _renderSubtree context
23535      // but we don't know the parentComponent so we can't pass it.
23536      // Just ignore. We'll delete this with _renderSubtree code path later.
23537      return;
23538    }
23539
23540    flushPassiveEffects();
23541    syncUpdates(function () {
23542      updateContainer(element, root, null, null);
23543    });
23544  }
23545};
23546
23547function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
23548  {
23549    var alternate = fiber.alternate,
23550        child = fiber.child,
23551        sibling = fiber.sibling,
23552        tag = fiber.tag,
23553        type = fiber.type;
23554    var candidateType = null;
23555
23556    switch (tag) {
23557      case FunctionComponent:
23558      case SimpleMemoComponent:
23559      case ClassComponent:
23560        candidateType = type;
23561        break;
23562
23563      case ForwardRef:
23564        candidateType = type.render;
23565        break;
23566    }
23567
23568    if (resolveFamily === null) {
23569      throw new Error('Expected resolveFamily to be set during hot reload.');
23570    }
23571
23572    var needsRender = false;
23573    var needsRemount = false;
23574
23575    if (candidateType !== null) {
23576      var family = resolveFamily(candidateType);
23577
23578      if (family !== undefined) {
23579        if (staleFamilies.has(family)) {
23580          needsRemount = true;
23581        } else if (updatedFamilies.has(family)) {
23582          if (tag === ClassComponent) {
23583            needsRemount = true;
23584          } else {
23585            needsRender = true;
23586          }
23587        }
23588      }
23589    }
23590
23591    if (failedBoundaries !== null) {
23592      if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {
23593        needsRemount = true;
23594      }
23595    }
23596
23597    if (needsRemount) {
23598      fiber._debugNeedsRemount = true;
23599    }
23600
23601    if (needsRemount || needsRender) {
23602      scheduleWork(fiber, Sync);
23603    }
23604
23605    if (child !== null && !needsRemount) {
23606      scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);
23607    }
23608
23609    if (sibling !== null) {
23610      scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);
23611    }
23612  }
23613}
23614
23615var findHostInstancesForRefresh = function (root, families) {
23616  {
23617    var hostInstances = new Set();
23618    var types = new Set(families.map(function (family) {
23619      return family.current;
23620    }));
23621    findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);
23622    return hostInstances;
23623  }
23624};
23625
23626function findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {
23627  {
23628    var child = fiber.child,
23629        sibling = fiber.sibling,
23630        tag = fiber.tag,
23631        type = fiber.type;
23632    var candidateType = null;
23633
23634    switch (tag) {
23635      case FunctionComponent:
23636      case SimpleMemoComponent:
23637      case ClassComponent:
23638        candidateType = type;
23639        break;
23640
23641      case ForwardRef:
23642        candidateType = type.render;
23643        break;
23644    }
23645
23646    var didMatch = false;
23647
23648    if (candidateType !== null) {
23649      if (types.has(candidateType)) {
23650        didMatch = true;
23651      }
23652    }
23653
23654    if (didMatch) {
23655      // We have a match. This only drills down to the closest host components.
23656      // There's no need to search deeper because for the purpose of giving
23657      // visual feedback, "flashing" outermost parent rectangles is sufficient.
23658      findHostInstancesForFiberShallowly(fiber, hostInstances);
23659    } else {
23660      // If there's no match, maybe there will be one further down in the child tree.
23661      if (child !== null) {
23662        findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);
23663      }
23664    }
23665
23666    if (sibling !== null) {
23667      findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);
23668    }
23669  }
23670}
23671
23672function findHostInstancesForFiberShallowly(fiber, hostInstances) {
23673  {
23674    var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);
23675
23676    if (foundHostInstances) {
23677      return;
23678    } // If we didn't find any host children, fallback to closest host parent.
23679
23680
23681    var node = fiber;
23682
23683    while (true) {
23684      switch (node.tag) {
23685        case HostComponent:
23686          hostInstances.add(node.stateNode);
23687          return;
23688
23689        case HostPortal:
23690          hostInstances.add(node.stateNode.containerInfo);
23691          return;
23692
23693        case HostRoot:
23694          hostInstances.add(node.stateNode.containerInfo);
23695          return;
23696      }
23697
23698      if (node.return === null) {
23699        throw new Error('Expected to reach root first.');
23700      }
23701
23702      node = node.return;
23703    }
23704  }
23705}
23706
23707function findChildHostInstancesForFiberShallowly(fiber, hostInstances) {
23708  {
23709    var node = fiber;
23710    var foundHostInstances = false;
23711
23712    while (true) {
23713      if (node.tag === HostComponent) {
23714        // We got a match.
23715        foundHostInstances = true;
23716        hostInstances.add(node.stateNode); // There may still be more, so keep searching.
23717      } else if (node.child !== null) {
23718        node.child.return = node;
23719        node = node.child;
23720        continue;
23721      }
23722
23723      if (node === fiber) {
23724        return foundHostInstances;
23725      }
23726
23727      while (node.sibling === null) {
23728        if (node.return === null || node.return === fiber) {
23729          return foundHostInstances;
23730        }
23731
23732        node = node.return;
23733      }
23734
23735      node.sibling.return = node.return;
23736      node = node.sibling;
23737    }
23738  }
23739
23740  return false;
23741}
23742
23743function resolveDefaultProps(Component, baseProps) {
23744  if (Component && Component.defaultProps) {
23745    // Resolve default props. Taken from ReactElement
23746    var props = _assign({}, baseProps);
23747
23748    var defaultProps = Component.defaultProps;
23749
23750    for (var propName in defaultProps) {
23751      if (props[propName] === undefined) {
23752        props[propName] = defaultProps[propName];
23753      }
23754    }
23755
23756    return props;
23757  }
23758
23759  return baseProps;
23760}
23761function readLazyComponentType(lazyComponent) {
23762  initializeLazyComponentType(lazyComponent);
23763
23764  if (lazyComponent._status !== Resolved) {
23765    throw lazyComponent._result;
23766  }
23767
23768  return lazyComponent._result;
23769}
23770
23771var valueCursor = createCursor(null);
23772var rendererSigil;
23773
23774{
23775  // Use this to detect multiple renderers using the same context
23776  rendererSigil = {};
23777}
23778
23779var currentlyRenderingFiber = null;
23780var lastContextDependency = null;
23781var lastContextWithAllBitsObserved = null;
23782var isDisallowedContextReadInDEV = false;
23783function resetContextDependencies() {
23784  // This is called right before React yields execution, to ensure `readContext`
23785  // cannot be called outside the render phase.
23786  currentlyRenderingFiber = null;
23787  lastContextDependency = null;
23788  lastContextWithAllBitsObserved = null;
23789
23790  {
23791    isDisallowedContextReadInDEV = false;
23792  }
23793}
23794function enterDisallowedContextReadInDEV() {
23795  {
23796    isDisallowedContextReadInDEV = true;
23797  }
23798}
23799function exitDisallowedContextReadInDEV() {
23800  {
23801    isDisallowedContextReadInDEV = false;
23802  }
23803}
23804function pushProvider(providerFiber, nextValue) {
23805  var context = providerFiber.type._context;
23806
23807  {
23808    push(valueCursor, context._currentValue, providerFiber);
23809    context._currentValue = nextValue;
23810
23811    {
23812      if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {
23813        error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');
23814      }
23815
23816      context._currentRenderer = rendererSigil;
23817    }
23818  }
23819}
23820function popProvider(providerFiber) {
23821  var currentValue = valueCursor.current;
23822  pop(valueCursor, providerFiber);
23823  var context = providerFiber.type._context;
23824
23825  {
23826    context._currentValue = currentValue;
23827  }
23828}
23829function calculateChangedBits(context, newValue, oldValue) {
23830  if (objectIs(oldValue, newValue)) {
23831    // No change
23832    return 0;
23833  } else {
23834    var changedBits = typeof context._calculateChangedBits === 'function' ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
23835
23836    {
23837      if ((changedBits & MAX_SIGNED_31_BIT_INT) !== changedBits) {
23838        error('calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);
23839      }
23840    }
23841
23842    return changedBits | 0;
23843  }
23844}
23845function scheduleWorkOnParentPath(parent, renderExpirationTime) {
23846  // Update the child expiration time of all the ancestors, including
23847  // the alternates.
23848  var node = parent;
23849
23850  while (node !== null) {
23851    var alternate = node.alternate;
23852
23853    if (node.childExpirationTime < renderExpirationTime) {
23854      node.childExpirationTime = renderExpirationTime;
23855
23856      if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) {
23857        alternate.childExpirationTime = renderExpirationTime;
23858      }
23859    } else if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) {
23860      alternate.childExpirationTime = renderExpirationTime;
23861    } else {
23862      // Neither alternate was updated, which means the rest of the
23863      // ancestor path already has sufficient priority.
23864      break;
23865    }
23866
23867    node = node.return;
23868  }
23869}
23870function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) {
23871  var fiber = workInProgress.child;
23872
23873  if (fiber !== null) {
23874    // Set the return pointer of the child to the work-in-progress fiber.
23875    fiber.return = workInProgress;
23876  }
23877
23878  while (fiber !== null) {
23879    var nextFiber = void 0; // Visit this fiber.
23880
23881    var list = fiber.dependencies;
23882
23883    if (list !== null) {
23884      nextFiber = fiber.child;
23885      var dependency = list.firstContext;
23886
23887      while (dependency !== null) {
23888        // Check if the context matches.
23889        if (dependency.context === context && (dependency.observedBits & changedBits) !== 0) {
23890          // Match! Schedule an update on this fiber.
23891          if (fiber.tag === ClassComponent) {
23892            // Schedule a force update on the work-in-progress.
23893            var update = createUpdate(renderExpirationTime, null);
23894            update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the
23895            // update to the current fiber, too, which means it will persist even if
23896            // this render is thrown away. Since it's a race condition, not sure it's
23897            // worth fixing.
23898
23899            enqueueUpdate(fiber, update);
23900          }
23901
23902          if (fiber.expirationTime < renderExpirationTime) {
23903            fiber.expirationTime = renderExpirationTime;
23904          }
23905
23906          var alternate = fiber.alternate;
23907
23908          if (alternate !== null && alternate.expirationTime < renderExpirationTime) {
23909            alternate.expirationTime = renderExpirationTime;
23910          }
23911
23912          scheduleWorkOnParentPath(fiber.return, renderExpirationTime); // Mark the expiration time on the list, too.
23913
23914          if (list.expirationTime < renderExpirationTime) {
23915            list.expirationTime = renderExpirationTime;
23916          } // Since we already found a match, we can stop traversing the
23917          // dependency list.
23918
23919
23920          break;
23921        }
23922
23923        dependency = dependency.next;
23924      }
23925    } else if (fiber.tag === ContextProvider) {
23926      // Don't scan deeper if this is a matching provider
23927      nextFiber = fiber.type === workInProgress.type ? null : fiber.child;
23928    } else {
23929      // Traverse down.
23930      nextFiber = fiber.child;
23931    }
23932
23933    if (nextFiber !== null) {
23934      // Set the return pointer of the child to the work-in-progress fiber.
23935      nextFiber.return = fiber;
23936    } else {
23937      // No child. Traverse to next sibling.
23938      nextFiber = fiber;
23939
23940      while (nextFiber !== null) {
23941        if (nextFiber === workInProgress) {
23942          // We're back to the root of this subtree. Exit.
23943          nextFiber = null;
23944          break;
23945        }
23946
23947        var sibling = nextFiber.sibling;
23948
23949        if (sibling !== null) {
23950          // Set the return pointer of the sibling to the work-in-progress fiber.
23951          sibling.return = nextFiber.return;
23952          nextFiber = sibling;
23953          break;
23954        } // No more siblings. Traverse up.
23955
23956
23957        nextFiber = nextFiber.return;
23958      }
23959    }
23960
23961    fiber = nextFiber;
23962  }
23963}
23964function prepareToReadContext(workInProgress, renderExpirationTime) {
23965  currentlyRenderingFiber = workInProgress;
23966  lastContextDependency = null;
23967  lastContextWithAllBitsObserved = null;
23968  var dependencies = workInProgress.dependencies;
23969
23970  if (dependencies !== null) {
23971    var firstContext = dependencies.firstContext;
23972
23973    if (firstContext !== null) {
23974      if (dependencies.expirationTime >= renderExpirationTime) {
23975        // Context list has a pending update. Mark that this fiber performed work.
23976        markWorkInProgressReceivedUpdate();
23977      } // Reset the work-in-progress list
23978
23979
23980      dependencies.firstContext = null;
23981    }
23982  }
23983}
23984function readContext(context, observedBits) {
23985  {
23986    // This warning would fire if you read context inside a Hook like useMemo.
23987    // Unlike the class check below, it's not enforced in production for perf.
23988    if (isDisallowedContextReadInDEV) {
23989      error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');
23990    }
23991  }
23992
23993  if (lastContextWithAllBitsObserved === context) ; else if (observedBits === false || observedBits === 0) ; else {
23994    var resolvedObservedBits; // Avoid deopting on observable arguments or heterogeneous types.
23995
23996    if (typeof observedBits !== 'number' || observedBits === MAX_SIGNED_31_BIT_INT) {
23997      // Observe all updates.
23998      lastContextWithAllBitsObserved = context;
23999      resolvedObservedBits = MAX_SIGNED_31_BIT_INT;
24000    } else {
24001      resolvedObservedBits = observedBits;
24002    }
24003
24004    var contextItem = {
24005      context: context,
24006      observedBits: resolvedObservedBits,
24007      next: null
24008    };
24009
24010    if (lastContextDependency === null) {
24011      if (!(currentlyRenderingFiber !== null)) {
24012        {
24013          throw Error( "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." );
24014        }
24015      } // This is the first dependency for this component. Create a new list.
24016
24017
24018      lastContextDependency = contextItem;
24019      currentlyRenderingFiber.dependencies = {
24020        expirationTime: NoWork,
24021        firstContext: contextItem,
24022        responders: null
24023      };
24024    } else {
24025      // Append a new context item.
24026      lastContextDependency = lastContextDependency.next = contextItem;
24027    }
24028  }
24029
24030  return  context._currentValue ;
24031}
24032
24033var UpdateState = 0;
24034var ReplaceState = 1;
24035var ForceUpdate = 2;
24036var CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.
24037// It should only be read right after calling `processUpdateQueue`, via
24038// `checkHasForceUpdateAfterProcessing`.
24039
24040var hasForceUpdate = false;
24041var didWarnUpdateInsideUpdate;
24042var currentlyProcessingQueue;
24043
24044{
24045  didWarnUpdateInsideUpdate = false;
24046  currentlyProcessingQueue = null;
24047}
24048
24049function initializeUpdateQueue(fiber) {
24050  var queue = {
24051    baseState: fiber.memoizedState,
24052    baseQueue: null,
24053    shared: {
24054      pending: null
24055    },
24056    effects: null
24057  };
24058  fiber.updateQueue = queue;
24059}
24060function cloneUpdateQueue(current, workInProgress) {
24061  // Clone the update queue from current. Unless it's already a clone.
24062  var queue = workInProgress.updateQueue;
24063  var currentQueue = current.updateQueue;
24064
24065  if (queue === currentQueue) {
24066    var clone = {
24067      baseState: currentQueue.baseState,
24068      baseQueue: currentQueue.baseQueue,
24069      shared: currentQueue.shared,
24070      effects: currentQueue.effects
24071    };
24072    workInProgress.updateQueue = clone;
24073  }
24074}
24075function createUpdate(expirationTime, suspenseConfig) {
24076  var update = {
24077    expirationTime: expirationTime,
24078    suspenseConfig: suspenseConfig,
24079    tag: UpdateState,
24080    payload: null,
24081    callback: null,
24082    next: null
24083  };
24084  update.next = update;
24085
24086  {
24087    update.priority = getCurrentPriorityLevel();
24088  }
24089
24090  return update;
24091}
24092function enqueueUpdate(fiber, update) {
24093  var updateQueue = fiber.updateQueue;
24094
24095  if (updateQueue === null) {
24096    // Only occurs if the fiber has been unmounted.
24097    return;
24098  }
24099
24100  var sharedQueue = updateQueue.shared;
24101  var pending = sharedQueue.pending;
24102
24103  if (pending === null) {
24104    // This is the first update. Create a circular list.
24105    update.next = update;
24106  } else {
24107    update.next = pending.next;
24108    pending.next = update;
24109  }
24110
24111  sharedQueue.pending = update;
24112
24113  {
24114    if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {
24115      error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');
24116
24117      didWarnUpdateInsideUpdate = true;
24118    }
24119  }
24120}
24121function enqueueCapturedUpdate(workInProgress, update) {
24122  var current = workInProgress.alternate;
24123
24124  if (current !== null) {
24125    // Ensure the work-in-progress queue is a clone
24126    cloneUpdateQueue(current, workInProgress);
24127  } // Captured updates go only on the work-in-progress queue.
24128
24129
24130  var queue = workInProgress.updateQueue; // Append the update to the end of the list.
24131
24132  var last = queue.baseQueue;
24133
24134  if (last === null) {
24135    queue.baseQueue = update.next = update;
24136    update.next = update;
24137  } else {
24138    update.next = last.next;
24139    last.next = update;
24140  }
24141}
24142
24143function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {
24144  switch (update.tag) {
24145    case ReplaceState:
24146      {
24147        var payload = update.payload;
24148
24149        if (typeof payload === 'function') {
24150          // Updater function
24151          {
24152            enterDisallowedContextReadInDEV();
24153
24154            if ( workInProgress.mode & StrictMode) {
24155              payload.call(instance, prevState, nextProps);
24156            }
24157          }
24158
24159          var nextState = payload.call(instance, prevState, nextProps);
24160
24161          {
24162            exitDisallowedContextReadInDEV();
24163          }
24164
24165          return nextState;
24166        } // State object
24167
24168
24169        return payload;
24170      }
24171
24172    case CaptureUpdate:
24173      {
24174        workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture;
24175      }
24176    // Intentional fallthrough
24177
24178    case UpdateState:
24179      {
24180        var _payload = update.payload;
24181        var partialState;
24182
24183        if (typeof _payload === 'function') {
24184          // Updater function
24185          {
24186            enterDisallowedContextReadInDEV();
24187
24188            if ( workInProgress.mode & StrictMode) {
24189              _payload.call(instance, prevState, nextProps);
24190            }
24191          }
24192
24193          partialState = _payload.call(instance, prevState, nextProps);
24194
24195          {
24196            exitDisallowedContextReadInDEV();
24197          }
24198        } else {
24199          // Partial state object
24200          partialState = _payload;
24201        }
24202
24203        if (partialState === null || partialState === undefined) {
24204          // Null and undefined are treated as no-ops.
24205          return prevState;
24206        } // Merge the partial state and the previous state.
24207
24208
24209        return _assign({}, prevState, partialState);
24210      }
24211
24212    case ForceUpdate:
24213      {
24214        hasForceUpdate = true;
24215        return prevState;
24216      }
24217  }
24218
24219  return prevState;
24220}
24221
24222function processUpdateQueue(workInProgress, props, instance, renderExpirationTime) {
24223  // This is always non-null on a ClassComponent or HostRoot
24224  var queue = workInProgress.updateQueue;
24225  hasForceUpdate = false;
24226
24227  {
24228    currentlyProcessingQueue = queue.shared;
24229  } // The last rebase update that is NOT part of the base state.
24230
24231
24232  var baseQueue = queue.baseQueue; // The last pending update that hasn't been processed yet.
24233
24234  var pendingQueue = queue.shared.pending;
24235
24236  if (pendingQueue !== null) {
24237    // We have new updates that haven't been processed yet.
24238    // We'll add them to the base queue.
24239    if (baseQueue !== null) {
24240      // Merge the pending queue and the base queue.
24241      var baseFirst = baseQueue.next;
24242      var pendingFirst = pendingQueue.next;
24243      baseQueue.next = pendingFirst;
24244      pendingQueue.next = baseFirst;
24245    }
24246
24247    baseQueue = pendingQueue;
24248    queue.shared.pending = null; // TODO: Pass `current` as argument
24249
24250    var current = workInProgress.alternate;
24251
24252    if (current !== null) {
24253      var currentQueue = current.updateQueue;
24254
24255      if (currentQueue !== null) {
24256        currentQueue.baseQueue = pendingQueue;
24257      }
24258    }
24259  } // These values may change as we process the queue.
24260
24261
24262  if (baseQueue !== null) {
24263    var first = baseQueue.next; // Iterate through the list of updates to compute the result.
24264
24265    var newState = queue.baseState;
24266    var newExpirationTime = NoWork;
24267    var newBaseState = null;
24268    var newBaseQueueFirst = null;
24269    var newBaseQueueLast = null;
24270
24271    if (first !== null) {
24272      var update = first;
24273
24274      do {
24275        var updateExpirationTime = update.expirationTime;
24276
24277        if (updateExpirationTime < renderExpirationTime) {
24278          // Priority is insufficient. Skip this update. If this is the first
24279          // skipped update, the previous update/state is the new base
24280          // update/state.
24281          var clone = {
24282            expirationTime: update.expirationTime,
24283            suspenseConfig: update.suspenseConfig,
24284            tag: update.tag,
24285            payload: update.payload,
24286            callback: update.callback,
24287            next: null
24288          };
24289
24290          if (newBaseQueueLast === null) {
24291            newBaseQueueFirst = newBaseQueueLast = clone;
24292            newBaseState = newState;
24293          } else {
24294            newBaseQueueLast = newBaseQueueLast.next = clone;
24295          } // Update the remaining priority in the queue.
24296
24297
24298          if (updateExpirationTime > newExpirationTime) {
24299            newExpirationTime = updateExpirationTime;
24300          }
24301        } else {
24302          // This update does have sufficient priority.
24303          if (newBaseQueueLast !== null) {
24304            var _clone = {
24305              expirationTime: Sync,
24306              // This update is going to be committed so we never want uncommit it.
24307              suspenseConfig: update.suspenseConfig,
24308              tag: update.tag,
24309              payload: update.payload,
24310              callback: update.callback,
24311              next: null
24312            };
24313            newBaseQueueLast = newBaseQueueLast.next = _clone;
24314          } // Mark the event time of this update as relevant to this render pass.
24315          // TODO: This should ideally use the true event time of this update rather than
24316          // its priority which is a derived and not reverseable value.
24317          // TODO: We should skip this update if it was already committed but currently
24318          // we have no way of detecting the difference between a committed and suspended
24319          // update here.
24320
24321
24322          markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update.
24323
24324          newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);
24325          var callback = update.callback;
24326
24327          if (callback !== null) {
24328            workInProgress.effectTag |= Callback;
24329            var effects = queue.effects;
24330
24331            if (effects === null) {
24332              queue.effects = [update];
24333            } else {
24334              effects.push(update);
24335            }
24336          }
24337        }
24338
24339        update = update.next;
24340
24341        if (update === null || update === first) {
24342          pendingQueue = queue.shared.pending;
24343
24344          if (pendingQueue === null) {
24345            break;
24346          } else {
24347            // An update was scheduled from inside a reducer. Add the new
24348            // pending updates to the end of the list and keep processing.
24349            update = baseQueue.next = pendingQueue.next;
24350            pendingQueue.next = first;
24351            queue.baseQueue = baseQueue = pendingQueue;
24352            queue.shared.pending = null;
24353          }
24354        }
24355      } while (true);
24356    }
24357
24358    if (newBaseQueueLast === null) {
24359      newBaseState = newState;
24360    } else {
24361      newBaseQueueLast.next = newBaseQueueFirst;
24362    }
24363
24364    queue.baseState = newBaseState;
24365    queue.baseQueue = newBaseQueueLast; // Set the remaining expiration time to be whatever is remaining in the queue.
24366    // This should be fine because the only two other things that contribute to
24367    // expiration time are props and context. We're already in the middle of the
24368    // begin phase by the time we start processing the queue, so we've already
24369    // dealt with the props. Context in components that specify
24370    // shouldComponentUpdate is tricky; but we'll have to account for
24371    // that regardless.
24372
24373    markUnprocessedUpdateTime(newExpirationTime);
24374    workInProgress.expirationTime = newExpirationTime;
24375    workInProgress.memoizedState = newState;
24376  }
24377
24378  {
24379    currentlyProcessingQueue = null;
24380  }
24381}
24382
24383function callCallback(callback, context) {
24384  if (!(typeof callback === 'function')) {
24385    {
24386      throw Error( "Invalid argument passed as callback. Expected a function. Instead received: " + callback );
24387    }
24388  }
24389
24390  callback.call(context);
24391}
24392
24393function resetHasForceUpdateBeforeProcessing() {
24394  hasForceUpdate = false;
24395}
24396function checkHasForceUpdateAfterProcessing() {
24397  return hasForceUpdate;
24398}
24399function commitUpdateQueue(finishedWork, finishedQueue, instance) {
24400  // Commit the effects
24401  var effects = finishedQueue.effects;
24402  finishedQueue.effects = null;
24403
24404  if (effects !== null) {
24405    for (var i = 0; i < effects.length; i++) {
24406      var effect = effects[i];
24407      var callback = effect.callback;
24408
24409      if (callback !== null) {
24410        effect.callback = null;
24411        callCallback(callback, instance);
24412      }
24413    }
24414  }
24415}
24416
24417var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig;
24418function requestCurrentSuspenseConfig() {
24419  return ReactCurrentBatchConfig.suspense;
24420}
24421
24422var fakeInternalInstance = {};
24423var isArray = Array.isArray; // React.Component uses a shared frozen object by default.
24424// We'll use it to determine whether we need to initialize legacy refs.
24425
24426var emptyRefsObject = new React.Component().refs;
24427var didWarnAboutStateAssignmentForComponent;
24428var didWarnAboutUninitializedState;
24429var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
24430var didWarnAboutLegacyLifecyclesAndDerivedState;
24431var didWarnAboutUndefinedDerivedState;
24432var warnOnUndefinedDerivedState;
24433var warnOnInvalidCallback;
24434var didWarnAboutDirectlyAssigningPropsToState;
24435var didWarnAboutContextTypeAndContextTypes;
24436var didWarnAboutInvalidateContextType;
24437
24438{
24439  didWarnAboutStateAssignmentForComponent = new Set();
24440  didWarnAboutUninitializedState = new Set();
24441  didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();
24442  didWarnAboutLegacyLifecyclesAndDerivedState = new Set();
24443  didWarnAboutDirectlyAssigningPropsToState = new Set();
24444  didWarnAboutUndefinedDerivedState = new Set();
24445  didWarnAboutContextTypeAndContextTypes = new Set();
24446  didWarnAboutInvalidateContextType = new Set();
24447  var didWarnOnInvalidCallback = new Set();
24448
24449  warnOnInvalidCallback = function (callback, callerName) {
24450    if (callback === null || typeof callback === 'function') {
24451      return;
24452    }
24453
24454    var key = callerName + "_" + callback;
24455
24456    if (!didWarnOnInvalidCallback.has(key)) {
24457      didWarnOnInvalidCallback.add(key);
24458
24459      error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);
24460    }
24461  };
24462
24463  warnOnUndefinedDerivedState = function (type, partialState) {
24464    if (partialState === undefined) {
24465      var componentName = getComponentName(type) || 'Component';
24466
24467      if (!didWarnAboutUndefinedDerivedState.has(componentName)) {
24468        didWarnAboutUndefinedDerivedState.add(componentName);
24469
24470        error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);
24471      }
24472    }
24473  }; // This is so gross but it's at least non-critical and can be removed if
24474  // it causes problems. This is meant to give a nicer error message for
24475  // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,
24476  // ...)) which otherwise throws a "_processChildContext is not a function"
24477  // exception.
24478
24479
24480  Object.defineProperty(fakeInternalInstance, '_processChildContext', {
24481    enumerable: false,
24482    value: function () {
24483      {
24484        {
24485          throw Error( "_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal)." );
24486        }
24487      }
24488    }
24489  });
24490  Object.freeze(fakeInternalInstance);
24491}
24492
24493function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {
24494  var prevState = workInProgress.memoizedState;
24495
24496  {
24497    if ( workInProgress.mode & StrictMode) {
24498      // Invoke the function an extra time to help detect side-effects.
24499      getDerivedStateFromProps(nextProps, prevState);
24500    }
24501  }
24502
24503  var partialState = getDerivedStateFromProps(nextProps, prevState);
24504
24505  {
24506    warnOnUndefinedDerivedState(ctor, partialState);
24507  } // Merge the partial state and the previous state.
24508
24509
24510  var memoizedState = partialState === null || partialState === undefined ? prevState : _assign({}, prevState, partialState);
24511  workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the
24512  // base state.
24513
24514  if (workInProgress.expirationTime === NoWork) {
24515    // Queue is always non-null for classes
24516    var updateQueue = workInProgress.updateQueue;
24517    updateQueue.baseState = memoizedState;
24518  }
24519}
24520var classComponentUpdater = {
24521  isMounted: isMounted,
24522  enqueueSetState: function (inst, payload, callback) {
24523    var fiber = get(inst);
24524    var currentTime = requestCurrentTimeForUpdate();
24525    var suspenseConfig = requestCurrentSuspenseConfig();
24526    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
24527    var update = createUpdate(expirationTime, suspenseConfig);
24528    update.payload = payload;
24529
24530    if (callback !== undefined && callback !== null) {
24531      {
24532        warnOnInvalidCallback(callback, 'setState');
24533      }
24534
24535      update.callback = callback;
24536    }
24537
24538    enqueueUpdate(fiber, update);
24539    scheduleWork(fiber, expirationTime);
24540  },
24541  enqueueReplaceState: function (inst, payload, callback) {
24542    var fiber = get(inst);
24543    var currentTime = requestCurrentTimeForUpdate();
24544    var suspenseConfig = requestCurrentSuspenseConfig();
24545    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
24546    var update = createUpdate(expirationTime, suspenseConfig);
24547    update.tag = ReplaceState;
24548    update.payload = payload;
24549
24550    if (callback !== undefined && callback !== null) {
24551      {
24552        warnOnInvalidCallback(callback, 'replaceState');
24553      }
24554
24555      update.callback = callback;
24556    }
24557
24558    enqueueUpdate(fiber, update);
24559    scheduleWork(fiber, expirationTime);
24560  },
24561  enqueueForceUpdate: function (inst, callback) {
24562    var fiber = get(inst);
24563    var currentTime = requestCurrentTimeForUpdate();
24564    var suspenseConfig = requestCurrentSuspenseConfig();
24565    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
24566    var update = createUpdate(expirationTime, suspenseConfig);
24567    update.tag = ForceUpdate;
24568
24569    if (callback !== undefined && callback !== null) {
24570      {
24571        warnOnInvalidCallback(callback, 'forceUpdate');
24572      }
24573
24574      update.callback = callback;
24575    }
24576
24577    enqueueUpdate(fiber, update);
24578    scheduleWork(fiber, expirationTime);
24579  }
24580};
24581
24582function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {
24583  var instance = workInProgress.stateNode;
24584
24585  if (typeof instance.shouldComponentUpdate === 'function') {
24586    {
24587      if ( workInProgress.mode & StrictMode) {
24588        // Invoke the function an extra time to help detect side-effects.
24589        instance.shouldComponentUpdate(newProps, newState, nextContext);
24590      }
24591    }
24592
24593    startPhaseTimer(workInProgress, 'shouldComponentUpdate');
24594    var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);
24595    stopPhaseTimer();
24596
24597    {
24598      if (shouldUpdate === undefined) {
24599        error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentName(ctor) || 'Component');
24600      }
24601    }
24602
24603    return shouldUpdate;
24604  }
24605
24606  if (ctor.prototype && ctor.prototype.isPureReactComponent) {
24607    return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);
24608  }
24609
24610  return true;
24611}
24612
24613function checkClassInstance(workInProgress, ctor, newProps) {
24614  var instance = workInProgress.stateNode;
24615
24616  {
24617    var name = getComponentName(ctor) || 'Component';
24618    var renderPresent = instance.render;
24619
24620    if (!renderPresent) {
24621      if (ctor.prototype && typeof ctor.prototype.render === 'function') {
24622        error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);
24623      } else {
24624        error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);
24625      }
24626    }
24627
24628    if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {
24629      error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);
24630    }
24631
24632    if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {
24633      error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);
24634    }
24635
24636    if (instance.propTypes) {
24637      error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);
24638    }
24639
24640    if (instance.contextType) {
24641      error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);
24642    }
24643
24644    {
24645      if (instance.contextTypes) {
24646        error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);
24647      }
24648
24649      if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {
24650        didWarnAboutContextTypeAndContextTypes.add(ctor);
24651
24652        error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);
24653      }
24654    }
24655
24656    if (typeof instance.componentShouldUpdate === 'function') {
24657      error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);
24658    }
24659
24660    if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {
24661      error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(ctor) || 'A pure component');
24662    }
24663
24664    if (typeof instance.componentDidUnmount === 'function') {
24665      error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);
24666    }
24667
24668    if (typeof instance.componentDidReceiveProps === 'function') {
24669      error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);
24670    }
24671
24672    if (typeof instance.componentWillRecieveProps === 'function') {
24673      error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);
24674    }
24675
24676    if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {
24677      error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);
24678    }
24679
24680    var hasMutatedProps = instance.props !== newProps;
24681
24682    if (instance.props !== undefined && hasMutatedProps) {
24683      error('%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name);
24684    }
24685
24686    if (instance.defaultProps) {
24687      error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);
24688    }
24689
24690    if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {
24691      didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);
24692
24693      error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentName(ctor));
24694    }
24695
24696    if (typeof instance.getDerivedStateFromProps === 'function') {
24697      error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
24698    }
24699
24700    if (typeof instance.getDerivedStateFromError === 'function') {
24701      error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
24702    }
24703
24704    if (typeof ctor.getSnapshotBeforeUpdate === 'function') {
24705      error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);
24706    }
24707
24708    var _state = instance.state;
24709
24710    if (_state && (typeof _state !== 'object' || isArray(_state))) {
24711      error('%s.state: must be set to an object or null', name);
24712    }
24713
24714    if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {
24715      error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);
24716    }
24717  }
24718}
24719
24720function adoptClassInstance(workInProgress, instance) {
24721  instance.updater = classComponentUpdater;
24722  workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates
24723
24724  set(instance, workInProgress);
24725
24726  {
24727    instance._reactInternalInstance = fakeInternalInstance;
24728  }
24729}
24730
24731function constructClassInstance(workInProgress, ctor, props) {
24732  var isLegacyContextConsumer = false;
24733  var unmaskedContext = emptyContextObject;
24734  var context = emptyContextObject;
24735  var contextType = ctor.contextType;
24736
24737  {
24738    if ('contextType' in ctor) {
24739      var isValid = // Allow null for conditional declaration
24740      contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>
24741
24742      if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {
24743        didWarnAboutInvalidateContextType.add(ctor);
24744        var addendum = '';
24745
24746        if (contextType === undefined) {
24747          addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';
24748        } else if (typeof contextType !== 'object') {
24749          addendum = ' However, it is set to a ' + typeof contextType + '.';
24750        } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {
24751          addendum = ' Did you accidentally pass the Context.Provider instead?';
24752        } else if (contextType._context !== undefined) {
24753          // <Context.Consumer>
24754          addendum = ' Did you accidentally pass the Context.Consumer instead?';
24755        } else {
24756          addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';
24757        }
24758
24759        error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(ctor) || 'Component', addendum);
24760      }
24761    }
24762  }
24763
24764  if (typeof contextType === 'object' && contextType !== null) {
24765    context = readContext(contextType);
24766  } else {
24767    unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
24768    var contextTypes = ctor.contextTypes;
24769    isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;
24770    context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;
24771  } // Instantiate twice to help detect side-effects.
24772
24773
24774  {
24775    if ( workInProgress.mode & StrictMode) {
24776      new ctor(props, context); // eslint-disable-line no-new
24777    }
24778  }
24779
24780  var instance = new ctor(props, context);
24781  var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;
24782  adoptClassInstance(workInProgress, instance);
24783
24784  {
24785    if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {
24786      var componentName = getComponentName(ctor) || 'Component';
24787
24788      if (!didWarnAboutUninitializedState.has(componentName)) {
24789        didWarnAboutUninitializedState.add(componentName);
24790
24791        error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);
24792      }
24793    } // If new component APIs are defined, "unsafe" lifecycles won't be called.
24794    // Warn about these lifecycles if they are present.
24795    // Don't warn about react-lifecycles-compat polyfilled methods though.
24796
24797
24798    if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {
24799      var foundWillMountName = null;
24800      var foundWillReceivePropsName = null;
24801      var foundWillUpdateName = null;
24802
24803      if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {
24804        foundWillMountName = 'componentWillMount';
24805      } else if (typeof instance.UNSAFE_componentWillMount === 'function') {
24806        foundWillMountName = 'UNSAFE_componentWillMount';
24807      }
24808
24809      if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {
24810        foundWillReceivePropsName = 'componentWillReceiveProps';
24811      } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
24812        foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
24813      }
24814
24815      if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {
24816        foundWillUpdateName = 'componentWillUpdate';
24817      } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {
24818        foundWillUpdateName = 'UNSAFE_componentWillUpdate';
24819      }
24820
24821      if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {
24822        var _componentName = getComponentName(ctor) || 'Component';
24823
24824        var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';
24825
24826        if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {
24827          didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);
24828
24829          error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n' + 'The above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? "\n  " + foundWillMountName : '', foundWillReceivePropsName !== null ? "\n  " + foundWillReceivePropsName : '', foundWillUpdateName !== null ? "\n  " + foundWillUpdateName : '');
24830        }
24831      }
24832    }
24833  } // Cache unmasked context so we can avoid recreating masked context unless necessary.
24834  // ReactFiberContext usually updates this cache but can't for newly-created instances.
24835
24836
24837  if (isLegacyContextConsumer) {
24838    cacheContext(workInProgress, unmaskedContext, context);
24839  }
24840
24841  return instance;
24842}
24843
24844function callComponentWillMount(workInProgress, instance) {
24845  startPhaseTimer(workInProgress, 'componentWillMount');
24846  var oldState = instance.state;
24847
24848  if (typeof instance.componentWillMount === 'function') {
24849    instance.componentWillMount();
24850  }
24851
24852  if (typeof instance.UNSAFE_componentWillMount === 'function') {
24853    instance.UNSAFE_componentWillMount();
24854  }
24855
24856  stopPhaseTimer();
24857
24858  if (oldState !== instance.state) {
24859    {
24860      error('%s.componentWillMount(): Assigning directly to this.state is ' + "deprecated (except inside a component's " + 'constructor). Use setState instead.', getComponentName(workInProgress.type) || 'Component');
24861    }
24862
24863    classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
24864  }
24865}
24866
24867function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {
24868  var oldState = instance.state;
24869  startPhaseTimer(workInProgress, 'componentWillReceiveProps');
24870
24871  if (typeof instance.componentWillReceiveProps === 'function') {
24872    instance.componentWillReceiveProps(newProps, nextContext);
24873  }
24874
24875  if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
24876    instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
24877  }
24878
24879  stopPhaseTimer();
24880
24881  if (instance.state !== oldState) {
24882    {
24883      var componentName = getComponentName(workInProgress.type) || 'Component';
24884
24885      if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {
24886        didWarnAboutStateAssignmentForComponent.add(componentName);
24887
24888        error('%s.componentWillReceiveProps(): Assigning directly to ' + "this.state is deprecated (except inside a component's " + 'constructor). Use setState instead.', componentName);
24889      }
24890    }
24891
24892    classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
24893  }
24894} // Invokes the mount life-cycles on a previously never rendered instance.
24895
24896
24897function mountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) {
24898  {
24899    checkClassInstance(workInProgress, ctor, newProps);
24900  }
24901
24902  var instance = workInProgress.stateNode;
24903  instance.props = newProps;
24904  instance.state = workInProgress.memoizedState;
24905  instance.refs = emptyRefsObject;
24906  initializeUpdateQueue(workInProgress);
24907  var contextType = ctor.contextType;
24908
24909  if (typeof contextType === 'object' && contextType !== null) {
24910    instance.context = readContext(contextType);
24911  } else {
24912    var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
24913    instance.context = getMaskedContext(workInProgress, unmaskedContext);
24914  }
24915
24916  {
24917    if (instance.state === newProps) {
24918      var componentName = getComponentName(ctor) || 'Component';
24919
24920      if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {
24921        didWarnAboutDirectlyAssigningPropsToState.add(componentName);
24922
24923        error('%s: It is not recommended to assign props directly to state ' + "because updates to props won't be reflected in state. " + 'In most cases, it is better to use props directly.', componentName);
24924      }
24925    }
24926
24927    if (workInProgress.mode & StrictMode) {
24928      ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);
24929    }
24930
24931    {
24932      ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);
24933    }
24934  }
24935
24936  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
24937  instance.state = workInProgress.memoizedState;
24938  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
24939
24940  if (typeof getDerivedStateFromProps === 'function') {
24941    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);
24942    instance.state = workInProgress.memoizedState;
24943  } // In order to support react-lifecycles-compat polyfilled components,
24944  // Unsafe lifecycles should not be invoked for components using the new APIs.
24945
24946
24947  if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {
24948    callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's
24949    // process them now.
24950
24951    processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
24952    instance.state = workInProgress.memoizedState;
24953  }
24954
24955  if (typeof instance.componentDidMount === 'function') {
24956    workInProgress.effectTag |= Update;
24957  }
24958}
24959
24960function resumeMountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) {
24961  var instance = workInProgress.stateNode;
24962  var oldProps = workInProgress.memoizedProps;
24963  instance.props = oldProps;
24964  var oldContext = instance.context;
24965  var contextType = ctor.contextType;
24966  var nextContext = emptyContextObject;
24967
24968  if (typeof contextType === 'object' && contextType !== null) {
24969    nextContext = readContext(contextType);
24970  } else {
24971    var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
24972    nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);
24973  }
24974
24975  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
24976  var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what
24977  // ever the previously attempted to render - not the "current". However,
24978  // during componentDidUpdate we pass the "current" props.
24979  // In order to support react-lifecycles-compat polyfilled components,
24980  // Unsafe lifecycles should not be invoked for components using the new APIs.
24981
24982  if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {
24983    if (oldProps !== newProps || oldContext !== nextContext) {
24984      callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);
24985    }
24986  }
24987
24988  resetHasForceUpdateBeforeProcessing();
24989  var oldState = workInProgress.memoizedState;
24990  var newState = instance.state = oldState;
24991  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
24992  newState = workInProgress.memoizedState;
24993
24994  if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {
24995    // If an update was already in progress, we should schedule an Update
24996    // effect even though we're bailing out, so that cWU/cDU are called.
24997    if (typeof instance.componentDidMount === 'function') {
24998      workInProgress.effectTag |= Update;
24999    }
25000
25001    return false;
25002  }
25003
25004  if (typeof getDerivedStateFromProps === 'function') {
25005    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);
25006    newState = workInProgress.memoizedState;
25007  }
25008
25009  var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);
25010
25011  if (shouldUpdate) {
25012    // In order to support react-lifecycles-compat polyfilled components,
25013    // Unsafe lifecycles should not be invoked for components using the new APIs.
25014    if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {
25015      startPhaseTimer(workInProgress, 'componentWillMount');
25016
25017      if (typeof instance.componentWillMount === 'function') {
25018        instance.componentWillMount();
25019      }
25020
25021      if (typeof instance.UNSAFE_componentWillMount === 'function') {
25022        instance.UNSAFE_componentWillMount();
25023      }
25024
25025      stopPhaseTimer();
25026    }
25027
25028    if (typeof instance.componentDidMount === 'function') {
25029      workInProgress.effectTag |= Update;
25030    }
25031  } else {
25032    // If an update was already in progress, we should schedule an Update
25033    // effect even though we're bailing out, so that cWU/cDU are called.
25034    if (typeof instance.componentDidMount === 'function') {
25035      workInProgress.effectTag |= Update;
25036    } // If shouldComponentUpdate returned false, we should still update the
25037    // memoized state to indicate that this work can be reused.
25038
25039
25040    workInProgress.memoizedProps = newProps;
25041    workInProgress.memoizedState = newState;
25042  } // Update the existing instance's state, props, and context pointers even
25043  // if shouldComponentUpdate returns false.
25044
25045
25046  instance.props = newProps;
25047  instance.state = newState;
25048  instance.context = nextContext;
25049  return shouldUpdate;
25050} // Invokes the update life-cycles and returns false if it shouldn't rerender.
25051
25052
25053function updateClassInstance(current, workInProgress, ctor, newProps, renderExpirationTime) {
25054  var instance = workInProgress.stateNode;
25055  cloneUpdateQueue(current, workInProgress);
25056  var oldProps = workInProgress.memoizedProps;
25057  instance.props = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps);
25058  var oldContext = instance.context;
25059  var contextType = ctor.contextType;
25060  var nextContext = emptyContextObject;
25061
25062  if (typeof contextType === 'object' && contextType !== null) {
25063    nextContext = readContext(contextType);
25064  } else {
25065    var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
25066    nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);
25067  }
25068
25069  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
25070  var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what
25071  // ever the previously attempted to render - not the "current". However,
25072  // during componentDidUpdate we pass the "current" props.
25073  // In order to support react-lifecycles-compat polyfilled components,
25074  // Unsafe lifecycles should not be invoked for components using the new APIs.
25075
25076  if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {
25077    if (oldProps !== newProps || oldContext !== nextContext) {
25078      callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);
25079    }
25080  }
25081
25082  resetHasForceUpdateBeforeProcessing();
25083  var oldState = workInProgress.memoizedState;
25084  var newState = instance.state = oldState;
25085  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
25086  newState = workInProgress.memoizedState;
25087
25088  if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {
25089    // If an update was already in progress, we should schedule an Update
25090    // effect even though we're bailing out, so that cWU/cDU are called.
25091    if (typeof instance.componentDidUpdate === 'function') {
25092      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
25093        workInProgress.effectTag |= Update;
25094      }
25095    }
25096
25097    if (typeof instance.getSnapshotBeforeUpdate === 'function') {
25098      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
25099        workInProgress.effectTag |= Snapshot;
25100      }
25101    }
25102
25103    return false;
25104  }
25105
25106  if (typeof getDerivedStateFromProps === 'function') {
25107    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);
25108    newState = workInProgress.memoizedState;
25109  }
25110
25111  var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);
25112
25113  if (shouldUpdate) {
25114    // In order to support react-lifecycles-compat polyfilled components,
25115    // Unsafe lifecycles should not be invoked for components using the new APIs.
25116    if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {
25117      startPhaseTimer(workInProgress, 'componentWillUpdate');
25118
25119      if (typeof instance.componentWillUpdate === 'function') {
25120        instance.componentWillUpdate(newProps, newState, nextContext);
25121      }
25122
25123      if (typeof instance.UNSAFE_componentWillUpdate === 'function') {
25124        instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);
25125      }
25126
25127      stopPhaseTimer();
25128    }
25129
25130    if (typeof instance.componentDidUpdate === 'function') {
25131      workInProgress.effectTag |= Update;
25132    }
25133
25134    if (typeof instance.getSnapshotBeforeUpdate === 'function') {
25135      workInProgress.effectTag |= Snapshot;
25136    }
25137  } else {
25138    // If an update was already in progress, we should schedule an Update
25139    // effect even though we're bailing out, so that cWU/cDU are called.
25140    if (typeof instance.componentDidUpdate === 'function') {
25141      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
25142        workInProgress.effectTag |= Update;
25143      }
25144    }
25145
25146    if (typeof instance.getSnapshotBeforeUpdate === 'function') {
25147      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
25148        workInProgress.effectTag |= Snapshot;
25149      }
25150    } // If shouldComponentUpdate returned false, we should still update the
25151    // memoized props/state to indicate that this work can be reused.
25152
25153
25154    workInProgress.memoizedProps = newProps;
25155    workInProgress.memoizedState = newState;
25156  } // Update the existing instance's state, props, and context pointers even
25157  // if shouldComponentUpdate returns false.
25158
25159
25160  instance.props = newProps;
25161  instance.state = newState;
25162  instance.context = nextContext;
25163  return shouldUpdate;
25164}
25165
25166var didWarnAboutMaps;
25167var didWarnAboutGenerators;
25168var didWarnAboutStringRefs;
25169var ownerHasKeyUseWarning;
25170var ownerHasFunctionTypeWarning;
25171
25172var warnForMissingKey = function (child) {};
25173
25174{
25175  didWarnAboutMaps = false;
25176  didWarnAboutGenerators = false;
25177  didWarnAboutStringRefs = {};
25178  /**
25179   * Warn if there's no key explicitly set on dynamic arrays of children or
25180   * object keys are not valid. This allows us to keep track of children between
25181   * updates.
25182   */
25183
25184  ownerHasKeyUseWarning = {};
25185  ownerHasFunctionTypeWarning = {};
25186
25187  warnForMissingKey = function (child) {
25188    if (child === null || typeof child !== 'object') {
25189      return;
25190    }
25191
25192    if (!child._store || child._store.validated || child.key != null) {
25193      return;
25194    }
25195
25196    if (!(typeof child._store === 'object')) {
25197      {
25198        throw Error( "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." );
25199      }
25200    }
25201
25202    child._store.validated = true;
25203    var currentComponentErrorInfo = 'Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.' + getCurrentFiberStackInDev();
25204
25205    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
25206      return;
25207    }
25208
25209    ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
25210
25211    error('Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.');
25212  };
25213}
25214
25215var isArray$1 = Array.isArray;
25216
25217function coerceRef(returnFiber, current, element) {
25218  var mixedRef = element.ref;
25219
25220  if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {
25221    {
25222      // TODO: Clean this up once we turn on the string ref warning for
25223      // everyone, because the strict mode case will no longer be relevant
25224      if ((returnFiber.mode & StrictMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs
25225      // because these cannot be automatically converted to an arrow function
25226      // using a codemod. Therefore, we don't have to warn about string refs again.
25227      !(element._owner && element._self && element._owner.stateNode !== element._self)) {
25228        var componentName = getComponentName(returnFiber.type) || 'Component';
25229
25230        if (!didWarnAboutStringRefs[componentName]) {
25231          {
25232            error('A string ref, "%s", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref%s', mixedRef, getStackByFiberInDevAndProd(returnFiber));
25233          }
25234
25235          didWarnAboutStringRefs[componentName] = true;
25236        }
25237      }
25238    }
25239
25240    if (element._owner) {
25241      var owner = element._owner;
25242      var inst;
25243
25244      if (owner) {
25245        var ownerFiber = owner;
25246
25247        if (!(ownerFiber.tag === ClassComponent)) {
25248          {
25249            throw Error( "Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref" );
25250          }
25251        }
25252
25253        inst = ownerFiber.stateNode;
25254      }
25255
25256      if (!inst) {
25257        {
25258          throw Error( "Missing owner for string ref " + mixedRef + ". This error is likely caused by a bug in React. Please file an issue." );
25259        }
25260      }
25261
25262      var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref
25263
25264      if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {
25265        return current.ref;
25266      }
25267
25268      var ref = function (value) {
25269        var refs = inst.refs;
25270
25271        if (refs === emptyRefsObject) {
25272          // This is a lazy pooled frozen object, so we need to initialize.
25273          refs = inst.refs = {};
25274        }
25275
25276        if (value === null) {
25277          delete refs[stringRef];
25278        } else {
25279          refs[stringRef] = value;
25280        }
25281      };
25282
25283      ref._stringRef = stringRef;
25284      return ref;
25285    } else {
25286      if (!(typeof mixedRef === 'string')) {
25287        {
25288          throw Error( "Expected ref to be a function, a string, an object returned by React.createRef(), or null." );
25289        }
25290      }
25291
25292      if (!element._owner) {
25293        {
25294          throw Error( "Element ref was specified as a string (" + mixedRef + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information." );
25295        }
25296      }
25297    }
25298  }
25299
25300  return mixedRef;
25301}
25302
25303function throwOnInvalidObjectType(returnFiber, newChild) {
25304  if (returnFiber.type !== 'textarea') {
25305    var addendum = '';
25306
25307    {
25308      addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + getCurrentFiberStackInDev();
25309    }
25310
25311    {
25312      {
25313        throw Error( "Objects are not valid as a React child (found: " + (Object.prototype.toString.call(newChild) === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : newChild) + ")." + addendum );
25314      }
25315    }
25316  }
25317}
25318
25319function warnOnFunctionType() {
25320  {
25321    var currentComponentErrorInfo = 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.' + getCurrentFiberStackInDev();
25322
25323    if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) {
25324      return;
25325    }
25326
25327    ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true;
25328
25329    error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');
25330  }
25331} // This wrapper function exists because I expect to clone the code in each path
25332// to be able to optimize each path individually by branching early. This needs
25333// a compiler or we can do it manually. Helpers that don't need this branching
25334// live outside of this function.
25335
25336
25337function ChildReconciler(shouldTrackSideEffects) {
25338  function deleteChild(returnFiber, childToDelete) {
25339    if (!shouldTrackSideEffects) {
25340      // Noop.
25341      return;
25342    } // Deletions are added in reversed order so we add it to the front.
25343    // At this point, the return fiber's effect list is empty except for
25344    // deletions, so we can just append the deletion to the list. The remaining
25345    // effects aren't added until the complete phase. Once we implement
25346    // resuming, this may not be true.
25347
25348
25349    var last = returnFiber.lastEffect;
25350
25351    if (last !== null) {
25352      last.nextEffect = childToDelete;
25353      returnFiber.lastEffect = childToDelete;
25354    } else {
25355      returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
25356    }
25357
25358    childToDelete.nextEffect = null;
25359    childToDelete.effectTag = Deletion;
25360  }
25361
25362  function deleteRemainingChildren(returnFiber, currentFirstChild) {
25363    if (!shouldTrackSideEffects) {
25364      // Noop.
25365      return null;
25366    } // TODO: For the shouldClone case, this could be micro-optimized a bit by
25367    // assuming that after the first child we've already added everything.
25368
25369
25370    var childToDelete = currentFirstChild;
25371
25372    while (childToDelete !== null) {
25373      deleteChild(returnFiber, childToDelete);
25374      childToDelete = childToDelete.sibling;
25375    }
25376
25377    return null;
25378  }
25379
25380  function mapRemainingChildren(returnFiber, currentFirstChild) {
25381    // Add the remaining children to a temporary map so that we can find them by
25382    // keys quickly. Implicit (null) keys get added to this set with their index
25383    // instead.
25384    var existingChildren = new Map();
25385    var existingChild = currentFirstChild;
25386
25387    while (existingChild !== null) {
25388      if (existingChild.key !== null) {
25389        existingChildren.set(existingChild.key, existingChild);
25390      } else {
25391        existingChildren.set(existingChild.index, existingChild);
25392      }
25393
25394      existingChild = existingChild.sibling;
25395    }
25396
25397    return existingChildren;
25398  }
25399
25400  function useFiber(fiber, pendingProps) {
25401    // We currently set sibling to null and index to 0 here because it is easy
25402    // to forget to do before returning it. E.g. for the single child case.
25403    var clone = createWorkInProgress(fiber, pendingProps);
25404    clone.index = 0;
25405    clone.sibling = null;
25406    return clone;
25407  }
25408
25409  function placeChild(newFiber, lastPlacedIndex, newIndex) {
25410    newFiber.index = newIndex;
25411
25412    if (!shouldTrackSideEffects) {
25413      // Noop.
25414      return lastPlacedIndex;
25415    }
25416
25417    var current = newFiber.alternate;
25418
25419    if (current !== null) {
25420      var oldIndex = current.index;
25421
25422      if (oldIndex < lastPlacedIndex) {
25423        // This is a move.
25424        newFiber.effectTag = Placement;
25425        return lastPlacedIndex;
25426      } else {
25427        // This item can stay in place.
25428        return oldIndex;
25429      }
25430    } else {
25431      // This is an insertion.
25432      newFiber.effectTag = Placement;
25433      return lastPlacedIndex;
25434    }
25435  }
25436
25437  function placeSingleChild(newFiber) {
25438    // This is simpler for the single child case. We only need to do a
25439    // placement for inserting new children.
25440    if (shouldTrackSideEffects && newFiber.alternate === null) {
25441      newFiber.effectTag = Placement;
25442    }
25443
25444    return newFiber;
25445  }
25446
25447  function updateTextNode(returnFiber, current, textContent, expirationTime) {
25448    if (current === null || current.tag !== HostText) {
25449      // Insert
25450      var created = createFiberFromText(textContent, returnFiber.mode, expirationTime);
25451      created.return = returnFiber;
25452      return created;
25453    } else {
25454      // Update
25455      var existing = useFiber(current, textContent);
25456      existing.return = returnFiber;
25457      return existing;
25458    }
25459  }
25460
25461  function updateElement(returnFiber, current, element, expirationTime) {
25462    if (current !== null) {
25463      if (current.elementType === element.type || ( // Keep this check inline so it only runs on the false path:
25464       isCompatibleFamilyForHotReloading(current, element) )) {
25465        // Move based on index
25466        var existing = useFiber(current, element.props);
25467        existing.ref = coerceRef(returnFiber, current, element);
25468        existing.return = returnFiber;
25469
25470        {
25471          existing._debugSource = element._source;
25472          existing._debugOwner = element._owner;
25473        }
25474
25475        return existing;
25476      }
25477    } // Insert
25478
25479
25480    var created = createFiberFromElement(element, returnFiber.mode, expirationTime);
25481    created.ref = coerceRef(returnFiber, current, element);
25482    created.return = returnFiber;
25483    return created;
25484  }
25485
25486  function updatePortal(returnFiber, current, portal, expirationTime) {
25487    if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {
25488      // Insert
25489      var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime);
25490      created.return = returnFiber;
25491      return created;
25492    } else {
25493      // Update
25494      var existing = useFiber(current, portal.children || []);
25495      existing.return = returnFiber;
25496      return existing;
25497    }
25498  }
25499
25500  function updateFragment(returnFiber, current, fragment, expirationTime, key) {
25501    if (current === null || current.tag !== Fragment) {
25502      // Insert
25503      var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key);
25504      created.return = returnFiber;
25505      return created;
25506    } else {
25507      // Update
25508      var existing = useFiber(current, fragment);
25509      existing.return = returnFiber;
25510      return existing;
25511    }
25512  }
25513
25514  function createChild(returnFiber, newChild, expirationTime) {
25515    if (typeof newChild === 'string' || typeof newChild === 'number') {
25516      // Text nodes don't have keys. If the previous node is implicitly keyed
25517      // we can continue to replace it without aborting even if it is not a text
25518      // node.
25519      var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime);
25520      created.return = returnFiber;
25521      return created;
25522    }
25523
25524    if (typeof newChild === 'object' && newChild !== null) {
25525      switch (newChild.$$typeof) {
25526        case REACT_ELEMENT_TYPE:
25527          {
25528            var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime);
25529
25530            _created.ref = coerceRef(returnFiber, null, newChild);
25531            _created.return = returnFiber;
25532            return _created;
25533          }
25534
25535        case REACT_PORTAL_TYPE:
25536          {
25537            var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime);
25538
25539            _created2.return = returnFiber;
25540            return _created2;
25541          }
25542      }
25543
25544      if (isArray$1(newChild) || getIteratorFn(newChild)) {
25545        var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null);
25546
25547        _created3.return = returnFiber;
25548        return _created3;
25549      }
25550
25551      throwOnInvalidObjectType(returnFiber, newChild);
25552    }
25553
25554    {
25555      if (typeof newChild === 'function') {
25556        warnOnFunctionType();
25557      }
25558    }
25559
25560    return null;
25561  }
25562
25563  function updateSlot(returnFiber, oldFiber, newChild, expirationTime) {
25564    // Update the fiber if the keys match, otherwise return null.
25565    var key = oldFiber !== null ? oldFiber.key : null;
25566
25567    if (typeof newChild === 'string' || typeof newChild === 'number') {
25568      // Text nodes don't have keys. If the previous node is implicitly keyed
25569      // we can continue to replace it without aborting even if it is not a text
25570      // node.
25571      if (key !== null) {
25572        return null;
25573      }
25574
25575      return updateTextNode(returnFiber, oldFiber, '' + newChild, expirationTime);
25576    }
25577
25578    if (typeof newChild === 'object' && newChild !== null) {
25579      switch (newChild.$$typeof) {
25580        case REACT_ELEMENT_TYPE:
25581          {
25582            if (newChild.key === key) {
25583              if (newChild.type === REACT_FRAGMENT_TYPE) {
25584                return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key);
25585              }
25586
25587              return updateElement(returnFiber, oldFiber, newChild, expirationTime);
25588            } else {
25589              return null;
25590            }
25591          }
25592
25593        case REACT_PORTAL_TYPE:
25594          {
25595            if (newChild.key === key) {
25596              return updatePortal(returnFiber, oldFiber, newChild, expirationTime);
25597            } else {
25598              return null;
25599            }
25600          }
25601      }
25602
25603      if (isArray$1(newChild) || getIteratorFn(newChild)) {
25604        if (key !== null) {
25605          return null;
25606        }
25607
25608        return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null);
25609      }
25610
25611      throwOnInvalidObjectType(returnFiber, newChild);
25612    }
25613
25614    {
25615      if (typeof newChild === 'function') {
25616        warnOnFunctionType();
25617      }
25618    }
25619
25620    return null;
25621  }
25622
25623  function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) {
25624    if (typeof newChild === 'string' || typeof newChild === 'number') {
25625      // Text nodes don't have keys, so we neither have to check the old nor
25626      // new node for the key. If both are text nodes, they match.
25627      var matchedFiber = existingChildren.get(newIdx) || null;
25628      return updateTextNode(returnFiber, matchedFiber, '' + newChild, expirationTime);
25629    }
25630
25631    if (typeof newChild === 'object' && newChild !== null) {
25632      switch (newChild.$$typeof) {
25633        case REACT_ELEMENT_TYPE:
25634          {
25635            var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;
25636
25637            if (newChild.type === REACT_FRAGMENT_TYPE) {
25638              return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key);
25639            }
25640
25641            return updateElement(returnFiber, _matchedFiber, newChild, expirationTime);
25642          }
25643
25644        case REACT_PORTAL_TYPE:
25645          {
25646            var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;
25647
25648            return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime);
25649          }
25650      }
25651
25652      if (isArray$1(newChild) || getIteratorFn(newChild)) {
25653        var _matchedFiber3 = existingChildren.get(newIdx) || null;
25654
25655        return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null);
25656      }
25657
25658      throwOnInvalidObjectType(returnFiber, newChild);
25659    }
25660
25661    {
25662      if (typeof newChild === 'function') {
25663        warnOnFunctionType();
25664      }
25665    }
25666
25667    return null;
25668  }
25669  /**
25670   * Warns if there is a duplicate or missing key
25671   */
25672
25673
25674  function warnOnInvalidKey(child, knownKeys) {
25675    {
25676      if (typeof child !== 'object' || child === null) {
25677        return knownKeys;
25678      }
25679
25680      switch (child.$$typeof) {
25681        case REACT_ELEMENT_TYPE:
25682        case REACT_PORTAL_TYPE:
25683          warnForMissingKey(child);
25684          var key = child.key;
25685
25686          if (typeof key !== 'string') {
25687            break;
25688          }
25689
25690          if (knownKeys === null) {
25691            knownKeys = new Set();
25692            knownKeys.add(key);
25693            break;
25694          }
25695
25696          if (!knownKeys.has(key)) {
25697            knownKeys.add(key);
25698            break;
25699          }
25700
25701          error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);
25702
25703          break;
25704      }
25705    }
25706
25707    return knownKeys;
25708  }
25709
25710  function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) {
25711    // This algorithm can't optimize by searching from both ends since we
25712    // don't have backpointers on fibers. I'm trying to see how far we can get
25713    // with that model. If it ends up not being worth the tradeoffs, we can
25714    // add it later.
25715    // Even with a two ended optimization, we'd want to optimize for the case
25716    // where there are few changes and brute force the comparison instead of
25717    // going for the Map. It'd like to explore hitting that path first in
25718    // forward-only mode and only go for the Map once we notice that we need
25719    // lots of look ahead. This doesn't handle reversal as well as two ended
25720    // search but that's unusual. Besides, for the two ended optimization to
25721    // work on Iterables, we'd need to copy the whole set.
25722    // In this first iteration, we'll just live with hitting the bad case
25723    // (adding everything to a Map) in for every insert/move.
25724    // If you change this code, also update reconcileChildrenIterator() which
25725    // uses the same algorithm.
25726    {
25727      // First, validate keys.
25728      var knownKeys = null;
25729
25730      for (var i = 0; i < newChildren.length; i++) {
25731        var child = newChildren[i];
25732        knownKeys = warnOnInvalidKey(child, knownKeys);
25733      }
25734    }
25735
25736    var resultingFirstChild = null;
25737    var previousNewFiber = null;
25738    var oldFiber = currentFirstChild;
25739    var lastPlacedIndex = 0;
25740    var newIdx = 0;
25741    var nextOldFiber = null;
25742
25743    for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {
25744      if (oldFiber.index > newIdx) {
25745        nextOldFiber = oldFiber;
25746        oldFiber = null;
25747      } else {
25748        nextOldFiber = oldFiber.sibling;
25749      }
25750
25751      var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime);
25752
25753      if (newFiber === null) {
25754        // TODO: This breaks on empty slots like null children. That's
25755        // unfortunate because it triggers the slow path all the time. We need
25756        // a better way to communicate whether this was a miss or null,
25757        // boolean, undefined, etc.
25758        if (oldFiber === null) {
25759          oldFiber = nextOldFiber;
25760        }
25761
25762        break;
25763      }
25764
25765      if (shouldTrackSideEffects) {
25766        if (oldFiber && newFiber.alternate === null) {
25767          // We matched the slot, but we didn't reuse the existing fiber, so we
25768          // need to delete the existing child.
25769          deleteChild(returnFiber, oldFiber);
25770        }
25771      }
25772
25773      lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);
25774
25775      if (previousNewFiber === null) {
25776        // TODO: Move out of the loop. This only happens for the first run.
25777        resultingFirstChild = newFiber;
25778      } else {
25779        // TODO: Defer siblings if we're not at the right index for this slot.
25780        // I.e. if we had null values before, then we want to defer this
25781        // for each null value. However, we also don't want to call updateSlot
25782        // with the previous one.
25783        previousNewFiber.sibling = newFiber;
25784      }
25785
25786      previousNewFiber = newFiber;
25787      oldFiber = nextOldFiber;
25788    }
25789
25790    if (newIdx === newChildren.length) {
25791      // We've reached the end of the new children. We can delete the rest.
25792      deleteRemainingChildren(returnFiber, oldFiber);
25793      return resultingFirstChild;
25794    }
25795
25796    if (oldFiber === null) {
25797      // If we don't have any more existing children we can choose a fast path
25798      // since the rest will all be insertions.
25799      for (; newIdx < newChildren.length; newIdx++) {
25800        var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime);
25801
25802        if (_newFiber === null) {
25803          continue;
25804        }
25805
25806        lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);
25807
25808        if (previousNewFiber === null) {
25809          // TODO: Move out of the loop. This only happens for the first run.
25810          resultingFirstChild = _newFiber;
25811        } else {
25812          previousNewFiber.sibling = _newFiber;
25813        }
25814
25815        previousNewFiber = _newFiber;
25816      }
25817
25818      return resultingFirstChild;
25819    } // Add all children to a key map for quick lookups.
25820
25821
25822    var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.
25823
25824    for (; newIdx < newChildren.length; newIdx++) {
25825      var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime);
25826
25827      if (_newFiber2 !== null) {
25828        if (shouldTrackSideEffects) {
25829          if (_newFiber2.alternate !== null) {
25830            // The new fiber is a work in progress, but if there exists a
25831            // current, that means that we reused the fiber. We need to delete
25832            // it from the child list so that we don't add it to the deletion
25833            // list.
25834            existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);
25835          }
25836        }
25837
25838        lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);
25839
25840        if (previousNewFiber === null) {
25841          resultingFirstChild = _newFiber2;
25842        } else {
25843          previousNewFiber.sibling = _newFiber2;
25844        }
25845
25846        previousNewFiber = _newFiber2;
25847      }
25848    }
25849
25850    if (shouldTrackSideEffects) {
25851      // Any existing children that weren't consumed above were deleted. We need
25852      // to add them to the deletion list.
25853      existingChildren.forEach(function (child) {
25854        return deleteChild(returnFiber, child);
25855      });
25856    }
25857
25858    return resultingFirstChild;
25859  }
25860
25861  function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) {
25862    // This is the same implementation as reconcileChildrenArray(),
25863    // but using the iterator instead.
25864    var iteratorFn = getIteratorFn(newChildrenIterable);
25865
25866    if (!(typeof iteratorFn === 'function')) {
25867      {
25868        throw Error( "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." );
25869      }
25870    }
25871
25872    {
25873      // We don't support rendering Generators because it's a mutation.
25874      // See https://github.com/facebook/react/issues/12995
25875      if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag
25876      newChildrenIterable[Symbol.toStringTag] === 'Generator') {
25877        if (!didWarnAboutGenerators) {
25878          error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');
25879        }
25880
25881        didWarnAboutGenerators = true;
25882      } // Warn about using Maps as children
25883
25884
25885      if (newChildrenIterable.entries === iteratorFn) {
25886        if (!didWarnAboutMaps) {
25887          error('Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.');
25888        }
25889
25890        didWarnAboutMaps = true;
25891      } // First, validate keys.
25892      // We'll get a different iterator later for the main pass.
25893
25894
25895      var _newChildren = iteratorFn.call(newChildrenIterable);
25896
25897      if (_newChildren) {
25898        var knownKeys = null;
25899
25900        var _step = _newChildren.next();
25901
25902        for (; !_step.done; _step = _newChildren.next()) {
25903          var child = _step.value;
25904          knownKeys = warnOnInvalidKey(child, knownKeys);
25905        }
25906      }
25907    }
25908
25909    var newChildren = iteratorFn.call(newChildrenIterable);
25910
25911    if (!(newChildren != null)) {
25912      {
25913        throw Error( "An iterable object provided no iterator." );
25914      }
25915    }
25916
25917    var resultingFirstChild = null;
25918    var previousNewFiber = null;
25919    var oldFiber = currentFirstChild;
25920    var lastPlacedIndex = 0;
25921    var newIdx = 0;
25922    var nextOldFiber = null;
25923    var step = newChildren.next();
25924
25925    for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {
25926      if (oldFiber.index > newIdx) {
25927        nextOldFiber = oldFiber;
25928        oldFiber = null;
25929      } else {
25930        nextOldFiber = oldFiber.sibling;
25931      }
25932
25933      var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime);
25934
25935      if (newFiber === null) {
25936        // TODO: This breaks on empty slots like null children. That's
25937        // unfortunate because it triggers the slow path all the time. We need
25938        // a better way to communicate whether this was a miss or null,
25939        // boolean, undefined, etc.
25940        if (oldFiber === null) {
25941          oldFiber = nextOldFiber;
25942        }
25943
25944        break;
25945      }
25946
25947      if (shouldTrackSideEffects) {
25948        if (oldFiber && newFiber.alternate === null) {
25949          // We matched the slot, but we didn't reuse the existing fiber, so we
25950          // need to delete the existing child.
25951          deleteChild(returnFiber, oldFiber);
25952        }
25953      }
25954
25955      lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);
25956
25957      if (previousNewFiber === null) {
25958        // TODO: Move out of the loop. This only happens for the first run.
25959        resultingFirstChild = newFiber;
25960      } else {
25961        // TODO: Defer siblings if we're not at the right index for this slot.
25962        // I.e. if we had null values before, then we want to defer this
25963        // for each null value. However, we also don't want to call updateSlot
25964        // with the previous one.
25965        previousNewFiber.sibling = newFiber;
25966      }
25967
25968      previousNewFiber = newFiber;
25969      oldFiber = nextOldFiber;
25970    }
25971
25972    if (step.done) {
25973      // We've reached the end of the new children. We can delete the rest.
25974      deleteRemainingChildren(returnFiber, oldFiber);
25975      return resultingFirstChild;
25976    }
25977
25978    if (oldFiber === null) {
25979      // If we don't have any more existing children we can choose a fast path
25980      // since the rest will all be insertions.
25981      for (; !step.done; newIdx++, step = newChildren.next()) {
25982        var _newFiber3 = createChild(returnFiber, step.value, expirationTime);
25983
25984        if (_newFiber3 === null) {
25985          continue;
25986        }
25987
25988        lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);
25989
25990        if (previousNewFiber === null) {
25991          // TODO: Move out of the loop. This only happens for the first run.
25992          resultingFirstChild = _newFiber3;
25993        } else {
25994          previousNewFiber.sibling = _newFiber3;
25995        }
25996
25997        previousNewFiber = _newFiber3;
25998      }
25999
26000      return resultingFirstChild;
26001    } // Add all children to a key map for quick lookups.
26002
26003
26004    var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.
26005
26006    for (; !step.done; newIdx++, step = newChildren.next()) {
26007      var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime);
26008
26009      if (_newFiber4 !== null) {
26010        if (shouldTrackSideEffects) {
26011          if (_newFiber4.alternate !== null) {
26012            // The new fiber is a work in progress, but if there exists a
26013            // current, that means that we reused the fiber. We need to delete
26014            // it from the child list so that we don't add it to the deletion
26015            // list.
26016            existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);
26017          }
26018        }
26019
26020        lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);
26021
26022        if (previousNewFiber === null) {
26023          resultingFirstChild = _newFiber4;
26024        } else {
26025          previousNewFiber.sibling = _newFiber4;
26026        }
26027
26028        previousNewFiber = _newFiber4;
26029      }
26030    }
26031
26032    if (shouldTrackSideEffects) {
26033      // Any existing children that weren't consumed above were deleted. We need
26034      // to add them to the deletion list.
26035      existingChildren.forEach(function (child) {
26036        return deleteChild(returnFiber, child);
26037      });
26038    }
26039
26040    return resultingFirstChild;
26041  }
26042
26043  function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) {
26044    // There's no need to check for keys on text nodes since we don't have a
26045    // way to define them.
26046    if (currentFirstChild !== null && currentFirstChild.tag === HostText) {
26047      // We already have an existing node so let's just update it and delete
26048      // the rest.
26049      deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
26050      var existing = useFiber(currentFirstChild, textContent);
26051      existing.return = returnFiber;
26052      return existing;
26053    } // The existing first child is not a text node so we need to create one
26054    // and delete the existing ones.
26055
26056
26057    deleteRemainingChildren(returnFiber, currentFirstChild);
26058    var created = createFiberFromText(textContent, returnFiber.mode, expirationTime);
26059    created.return = returnFiber;
26060    return created;
26061  }
26062
26063  function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) {
26064    var key = element.key;
26065    var child = currentFirstChild;
26066
26067    while (child !== null) {
26068      // TODO: If key === null and child.key === null, then this only applies to
26069      // the first item in the list.
26070      if (child.key === key) {
26071        switch (child.tag) {
26072          case Fragment:
26073            {
26074              if (element.type === REACT_FRAGMENT_TYPE) {
26075                deleteRemainingChildren(returnFiber, child.sibling);
26076                var existing = useFiber(child, element.props.children);
26077                existing.return = returnFiber;
26078
26079                {
26080                  existing._debugSource = element._source;
26081                  existing._debugOwner = element._owner;
26082                }
26083
26084                return existing;
26085              }
26086
26087              break;
26088            }
26089
26090          case Block:
26091
26092          // We intentionally fallthrough here if enableBlocksAPI is not on.
26093          // eslint-disable-next-lined no-fallthrough
26094
26095          default:
26096            {
26097              if (child.elementType === element.type || ( // Keep this check inline so it only runs on the false path:
26098               isCompatibleFamilyForHotReloading(child, element) )) {
26099                deleteRemainingChildren(returnFiber, child.sibling);
26100
26101                var _existing3 = useFiber(child, element.props);
26102
26103                _existing3.ref = coerceRef(returnFiber, child, element);
26104                _existing3.return = returnFiber;
26105
26106                {
26107                  _existing3._debugSource = element._source;
26108                  _existing3._debugOwner = element._owner;
26109                }
26110
26111                return _existing3;
26112              }
26113
26114              break;
26115            }
26116        } // Didn't match.
26117
26118
26119        deleteRemainingChildren(returnFiber, child);
26120        break;
26121      } else {
26122        deleteChild(returnFiber, child);
26123      }
26124
26125      child = child.sibling;
26126    }
26127
26128    if (element.type === REACT_FRAGMENT_TYPE) {
26129      var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key);
26130      created.return = returnFiber;
26131      return created;
26132    } else {
26133      var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime);
26134
26135      _created4.ref = coerceRef(returnFiber, currentFirstChild, element);
26136      _created4.return = returnFiber;
26137      return _created4;
26138    }
26139  }
26140
26141  function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) {
26142    var key = portal.key;
26143    var child = currentFirstChild;
26144
26145    while (child !== null) {
26146      // TODO: If key === null and child.key === null, then this only applies to
26147      // the first item in the list.
26148      if (child.key === key) {
26149        if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {
26150          deleteRemainingChildren(returnFiber, child.sibling);
26151          var existing = useFiber(child, portal.children || []);
26152          existing.return = returnFiber;
26153          return existing;
26154        } else {
26155          deleteRemainingChildren(returnFiber, child);
26156          break;
26157        }
26158      } else {
26159        deleteChild(returnFiber, child);
26160      }
26161
26162      child = child.sibling;
26163    }
26164
26165    var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime);
26166    created.return = returnFiber;
26167    return created;
26168  } // This API will tag the children with the side-effect of the reconciliation
26169  // itself. They will be added to the side-effect list as we pass through the
26170  // children and the parent.
26171
26172
26173  function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) {
26174    // This function is not recursive.
26175    // If the top level item is an array, we treat it as a set of children,
26176    // not as a fragment. Nested arrays on the other hand will be treated as
26177    // fragment nodes. Recursion happens at the normal flow.
26178    // Handle top level unkeyed fragments as if they were arrays.
26179    // This leads to an ambiguity between <>{[...]}</> and <>...</>.
26180    // We treat the ambiguous cases above the same.
26181    var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;
26182
26183    if (isUnkeyedTopLevelFragment) {
26184      newChild = newChild.props.children;
26185    } // Handle object types
26186
26187
26188    var isObject = typeof newChild === 'object' && newChild !== null;
26189
26190    if (isObject) {
26191      switch (newChild.$$typeof) {
26192        case REACT_ELEMENT_TYPE:
26193          return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime));
26194
26195        case REACT_PORTAL_TYPE:
26196          return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime));
26197      }
26198    }
26199
26200    if (typeof newChild === 'string' || typeof newChild === 'number') {
26201      return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, expirationTime));
26202    }
26203
26204    if (isArray$1(newChild)) {
26205      return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime);
26206    }
26207
26208    if (getIteratorFn(newChild)) {
26209      return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime);
26210    }
26211
26212    if (isObject) {
26213      throwOnInvalidObjectType(returnFiber, newChild);
26214    }
26215
26216    {
26217      if (typeof newChild === 'function') {
26218        warnOnFunctionType();
26219      }
26220    }
26221
26222    if (typeof newChild === 'undefined' && !isUnkeyedTopLevelFragment) {
26223      // If the new child is undefined, and the return fiber is a composite
26224      // component, throw an error. If Fiber return types are disabled,
26225      // we already threw above.
26226      switch (returnFiber.tag) {
26227        case ClassComponent:
26228          {
26229            {
26230              var instance = returnFiber.stateNode;
26231
26232              if (instance.render._isMockFunction) {
26233                // We allow auto-mocks to proceed as if they're returning null.
26234                break;
26235              }
26236            }
26237          }
26238        // Intentionally fall through to the next case, which handles both
26239        // functions and classes
26240        // eslint-disable-next-lined no-fallthrough
26241
26242        case FunctionComponent:
26243          {
26244            var Component = returnFiber.type;
26245
26246            {
26247              {
26248                throw Error( (Component.displayName || Component.name || 'Component') + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null." );
26249              }
26250            }
26251          }
26252      }
26253    } // Remaining cases are all treated as empty.
26254
26255
26256    return deleteRemainingChildren(returnFiber, currentFirstChild);
26257  }
26258
26259  return reconcileChildFibers;
26260}
26261
26262var reconcileChildFibers = ChildReconciler(true);
26263var mountChildFibers = ChildReconciler(false);
26264function cloneChildFibers(current, workInProgress) {
26265  if (!(current === null || workInProgress.child === current.child)) {
26266    {
26267      throw Error( "Resuming work not yet implemented." );
26268    }
26269  }
26270
26271  if (workInProgress.child === null) {
26272    return;
26273  }
26274
26275  var currentChild = workInProgress.child;
26276  var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);
26277  workInProgress.child = newChild;
26278  newChild.return = workInProgress;
26279
26280  while (currentChild.sibling !== null) {
26281    currentChild = currentChild.sibling;
26282    newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);
26283    newChild.return = workInProgress;
26284  }
26285
26286  newChild.sibling = null;
26287} // Reset a workInProgress child set to prepare it for a second pass.
26288
26289function resetChildFibers(workInProgress, renderExpirationTime) {
26290  var child = workInProgress.child;
26291
26292  while (child !== null) {
26293    resetWorkInProgress(child, renderExpirationTime);
26294    child = child.sibling;
26295  }
26296}
26297
26298var NO_CONTEXT = {};
26299var contextStackCursor$1 = createCursor(NO_CONTEXT);
26300var contextFiberStackCursor = createCursor(NO_CONTEXT);
26301var rootInstanceStackCursor = createCursor(NO_CONTEXT);
26302
26303function requiredContext(c) {
26304  if (!(c !== NO_CONTEXT)) {
26305    {
26306      throw Error( "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." );
26307    }
26308  }
26309
26310  return c;
26311}
26312
26313function getRootHostContainer() {
26314  var rootInstance = requiredContext(rootInstanceStackCursor.current);
26315  return rootInstance;
26316}
26317
26318function pushHostContainer(fiber, nextRootInstance) {
26319  // Push current root instance onto the stack;
26320  // This allows us to reset root when portals are popped.
26321  push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.
26322  // This enables us to pop only Fibers that provide unique contexts.
26323
26324  push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.
26325  // However, we can't just call getRootHostContext() and push it because
26326  // we'd have a different number of entries on the stack depending on
26327  // whether getRootHostContext() throws somewhere in renderer code or not.
26328  // So we push an empty value first. This lets us safely unwind on errors.
26329
26330  push(contextStackCursor$1, NO_CONTEXT, fiber);
26331  var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.
26332
26333  pop(contextStackCursor$1, fiber);
26334  push(contextStackCursor$1, nextRootContext, fiber);
26335}
26336
26337function popHostContainer(fiber) {
26338  pop(contextStackCursor$1, fiber);
26339  pop(contextFiberStackCursor, fiber);
26340  pop(rootInstanceStackCursor, fiber);
26341}
26342
26343function getHostContext() {
26344  var context = requiredContext(contextStackCursor$1.current);
26345  return context;
26346}
26347
26348function pushHostContext(fiber) {
26349  var rootInstance = requiredContext(rootInstanceStackCursor.current);
26350  var context = requiredContext(contextStackCursor$1.current);
26351  var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.
26352
26353  if (context === nextContext) {
26354    return;
26355  } // Track the context and the Fiber that provided it.
26356  // This enables us to pop only Fibers that provide unique contexts.
26357
26358
26359  push(contextFiberStackCursor, fiber, fiber);
26360  push(contextStackCursor$1, nextContext, fiber);
26361}
26362
26363function popHostContext(fiber) {
26364  // Do not pop unless this Fiber provided the current context.
26365  // pushHostContext() only pushes Fibers that provide unique contexts.
26366  if (contextFiberStackCursor.current !== fiber) {
26367    return;
26368  }
26369
26370  pop(contextStackCursor$1, fiber);
26371  pop(contextFiberStackCursor, fiber);
26372}
26373
26374var DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is
26375// inherited deeply down the subtree. The upper bits only affect
26376// this immediate suspense boundary and gets reset each new
26377// boundary or suspense list.
26378
26379var SubtreeSuspenseContextMask = 1; // Subtree Flags:
26380// InvisibleParentSuspenseContext indicates that one of our parent Suspense
26381// boundaries is not currently showing visible main content.
26382// Either because it is already showing a fallback or is not mounted at all.
26383// We can use this to determine if it is desirable to trigger a fallback at
26384// the parent. If not, then we might need to trigger undesirable boundaries
26385// and/or suspend the commit to avoid hiding the parent content.
26386
26387var InvisibleParentSuspenseContext = 1; // Shallow Flags:
26388// ForceSuspenseFallback can be used by SuspenseList to force newly added
26389// items into their fallback state during one of the render passes.
26390
26391var ForceSuspenseFallback = 2;
26392var suspenseStackCursor = createCursor(DefaultSuspenseContext);
26393function hasSuspenseContext(parentContext, flag) {
26394  return (parentContext & flag) !== 0;
26395}
26396function setDefaultShallowSuspenseContext(parentContext) {
26397  return parentContext & SubtreeSuspenseContextMask;
26398}
26399function setShallowSuspenseContext(parentContext, shallowContext) {
26400  return parentContext & SubtreeSuspenseContextMask | shallowContext;
26401}
26402function addSubtreeSuspenseContext(parentContext, subtreeContext) {
26403  return parentContext | subtreeContext;
26404}
26405function pushSuspenseContext(fiber, newContext) {
26406  push(suspenseStackCursor, newContext, fiber);
26407}
26408function popSuspenseContext(fiber) {
26409  pop(suspenseStackCursor, fiber);
26410}
26411
26412function shouldCaptureSuspense(workInProgress, hasInvisibleParent) {
26413  // If it was the primary children that just suspended, capture and render the
26414  // fallback. Otherwise, don't capture and bubble to the next boundary.
26415  var nextState = workInProgress.memoizedState;
26416
26417  if (nextState !== null) {
26418    if (nextState.dehydrated !== null) {
26419      // A dehydrated boundary always captures.
26420      return true;
26421    }
26422
26423    return false;
26424  }
26425
26426  var props = workInProgress.memoizedProps; // In order to capture, the Suspense component must have a fallback prop.
26427
26428  if (props.fallback === undefined) {
26429    return false;
26430  } // Regular boundaries always capture.
26431
26432
26433  if (props.unstable_avoidThisFallback !== true) {
26434    return true;
26435  } // If it's a boundary we should avoid, then we prefer to bubble up to the
26436  // parent boundary if it is currently invisible.
26437
26438
26439  if (hasInvisibleParent) {
26440    return false;
26441  } // If the parent is not able to handle it, we must handle it.
26442
26443
26444  return true;
26445}
26446function findFirstSuspended(row) {
26447  var node = row;
26448
26449  while (node !== null) {
26450    if (node.tag === SuspenseComponent) {
26451      var state = node.memoizedState;
26452
26453      if (state !== null) {
26454        var dehydrated = state.dehydrated;
26455
26456        if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {
26457          return node;
26458        }
26459      }
26460    } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't
26461    // keep track of whether it suspended or not.
26462    node.memoizedProps.revealOrder !== undefined) {
26463      var didSuspend = (node.effectTag & DidCapture) !== NoEffect;
26464
26465      if (didSuspend) {
26466        return node;
26467      }
26468    } else if (node.child !== null) {
26469      node.child.return = node;
26470      node = node.child;
26471      continue;
26472    }
26473
26474    if (node === row) {
26475      return null;
26476    }
26477
26478    while (node.sibling === null) {
26479      if (node.return === null || node.return === row) {
26480        return null;
26481      }
26482
26483      node = node.return;
26484    }
26485
26486    node.sibling.return = node.return;
26487    node = node.sibling;
26488  }
26489
26490  return null;
26491}
26492
26493function createDeprecatedResponderListener(responder, props) {
26494  var eventResponderListener = {
26495    responder: responder,
26496    props: props
26497  };
26498
26499  {
26500    Object.freeze(eventResponderListener);
26501  }
26502
26503  return eventResponderListener;
26504}
26505
26506var HasEffect =
26507/* */
265081; // Represents the phase in which the effect (not the clean-up) fires.
26509
26510var Layout =
26511/*    */
265122;
26513var Passive$1 =
26514/*   */
265154;
26516
26517var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher,
26518    ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;
26519var didWarnAboutMismatchedHooksForComponent;
26520
26521{
26522  didWarnAboutMismatchedHooksForComponent = new Set();
26523}
26524
26525// These are set right before calling the component.
26526var renderExpirationTime = NoWork; // The work-in-progress fiber. I've named it differently to distinguish it from
26527// the work-in-progress hook.
26528
26529var currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The
26530// current hook list is the list that belongs to the current fiber. The
26531// work-in-progress hook list is a new list that will be added to the
26532// work-in-progress fiber.
26533
26534var currentHook = null;
26535var workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This
26536// does not get reset if we do another render pass; only when we're completely
26537// finished evaluating this component. This is an optimization so we know
26538// whether we need to clear render phase updates after a throw.
26539
26540var didScheduleRenderPhaseUpdate = false;
26541var RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook
26542
26543var currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.
26544// The list stores the order of hooks used during the initial render (mount).
26545// Subsequent renders (updates) reference this list.
26546
26547var hookTypesDev = null;
26548var hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore
26549// the dependencies for Hooks that need them (e.g. useEffect or useMemo).
26550// When true, such Hooks will always be "remounted". Only used during hot reload.
26551
26552var ignorePreviousDependencies = false;
26553
26554function mountHookTypesDev() {
26555  {
26556    var hookName = currentHookNameInDev;
26557
26558    if (hookTypesDev === null) {
26559      hookTypesDev = [hookName];
26560    } else {
26561      hookTypesDev.push(hookName);
26562    }
26563  }
26564}
26565
26566function updateHookTypesDev() {
26567  {
26568    var hookName = currentHookNameInDev;
26569
26570    if (hookTypesDev !== null) {
26571      hookTypesUpdateIndexDev++;
26572
26573      if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {
26574        warnOnHookMismatchInDev(hookName);
26575      }
26576    }
26577  }
26578}
26579
26580function checkDepsAreArrayDev(deps) {
26581  {
26582    if (deps !== undefined && deps !== null && !Array.isArray(deps)) {
26583      // Verify deps, but only on mount to avoid extra checks.
26584      // It's unlikely their type would change as usually you define them inline.
26585      error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);
26586    }
26587  }
26588}
26589
26590function warnOnHookMismatchInDev(currentHookName) {
26591  {
26592    var componentName = getComponentName(currentlyRenderingFiber$1.type);
26593
26594    if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {
26595      didWarnAboutMismatchedHooksForComponent.add(componentName);
26596
26597      if (hookTypesDev !== null) {
26598        var table = '';
26599        var secondColumnStart = 30;
26600
26601        for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {
26602          var oldHookName = hookTypesDev[i];
26603          var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;
26604          var row = i + 1 + ". " + oldHookName; // Extra space so second column lines up
26605          // lol @ IE not supporting String#repeat
26606
26607          while (row.length < secondColumnStart) {
26608            row += ' ';
26609          }
26610
26611          row += newHookName + '\n';
26612          table += row;
26613        }
26614
26615        error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + '   Previous render            Next render\n' + '   ------------------------------------------------------\n' + '%s' + '   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table);
26616      }
26617    }
26618  }
26619}
26620
26621function throwInvalidHookError() {
26622  {
26623    {
26624      throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." );
26625    }
26626  }
26627}
26628
26629function areHookInputsEqual(nextDeps, prevDeps) {
26630  {
26631    if (ignorePreviousDependencies) {
26632      // Only true when this component is being hot reloaded.
26633      return false;
26634    }
26635  }
26636
26637  if (prevDeps === null) {
26638    {
26639      error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);
26640    }
26641
26642    return false;
26643  }
26644
26645  {
26646    // Don't bother comparing lengths in prod because these arrays should be
26647    // passed inline.
26648    if (nextDeps.length !== prevDeps.length) {
26649      error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + prevDeps.join(', ') + "]", "[" + nextDeps.join(', ') + "]");
26650    }
26651  }
26652
26653  for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {
26654    if (objectIs(nextDeps[i], prevDeps[i])) {
26655      continue;
26656    }
26657
26658    return false;
26659  }
26660
26661  return true;
26662}
26663
26664function renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderExpirationTime) {
26665  renderExpirationTime = nextRenderExpirationTime;
26666  currentlyRenderingFiber$1 = workInProgress;
26667
26668  {
26669    hookTypesDev = current !== null ? current._debugHookTypes : null;
26670    hookTypesUpdateIndexDev = -1; // Used for hot reloading:
26671
26672    ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;
26673  }
26674
26675  workInProgress.memoizedState = null;
26676  workInProgress.updateQueue = null;
26677  workInProgress.expirationTime = NoWork; // The following should have already been reset
26678  // currentHook = null;
26679  // workInProgressHook = null;
26680  // didScheduleRenderPhaseUpdate = false;
26681  // TODO Warn if no hooks are used at all during mount, then some are used during update.
26682  // Currently we will identify the update render as a mount because memoizedState === null.
26683  // This is tricky because it's valid for certain types of components (e.g. React.lazy)
26684  // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.
26685  // Non-stateful hooks (e.g. context) don't get added to memoizedState,
26686  // so memoizedState would be null during updates and mounts.
26687
26688  {
26689    if (current !== null && current.memoizedState !== null) {
26690      ReactCurrentDispatcher.current = HooksDispatcherOnUpdateInDEV;
26691    } else if (hookTypesDev !== null) {
26692      // This dispatcher handles an edge case where a component is updating,
26693      // but no stateful hooks have been used.
26694      // We want to match the production code behavior (which will use HooksDispatcherOnMount),
26695      // but with the extra DEV validation to ensure hooks ordering hasn't changed.
26696      // This dispatcher does that.
26697      ReactCurrentDispatcher.current = HooksDispatcherOnMountWithHookTypesInDEV;
26698    } else {
26699      ReactCurrentDispatcher.current = HooksDispatcherOnMountInDEV;
26700    }
26701  }
26702
26703  var children = Component(props, secondArg); // Check if there was a render phase update
26704
26705  if (workInProgress.expirationTime === renderExpirationTime) {
26706    // Keep rendering in a loop for as long as render phase updates continue to
26707    // be scheduled. Use a counter to prevent infinite loops.
26708    var numberOfReRenders = 0;
26709
26710    do {
26711      workInProgress.expirationTime = NoWork;
26712
26713      if (!(numberOfReRenders < RE_RENDER_LIMIT)) {
26714        {
26715          throw Error( "Too many re-renders. React limits the number of renders to prevent an infinite loop." );
26716        }
26717      }
26718
26719      numberOfReRenders += 1;
26720
26721      {
26722        // Even when hot reloading, allow dependencies to stabilize
26723        // after first render to prevent infinite render phase updates.
26724        ignorePreviousDependencies = false;
26725      } // Start over from the beginning of the list
26726
26727
26728      currentHook = null;
26729      workInProgressHook = null;
26730      workInProgress.updateQueue = null;
26731
26732      {
26733        // Also validate hook order for cascading updates.
26734        hookTypesUpdateIndexDev = -1;
26735      }
26736
26737      ReactCurrentDispatcher.current =  HooksDispatcherOnRerenderInDEV ;
26738      children = Component(props, secondArg);
26739    } while (workInProgress.expirationTime === renderExpirationTime);
26740  } // We can assume the previous dispatcher is always this one, since we set it
26741  // at the beginning of the render phase and there's no re-entrancy.
26742
26743
26744  ReactCurrentDispatcher.current = ContextOnlyDispatcher;
26745
26746  {
26747    workInProgress._debugHookTypes = hookTypesDev;
26748  } // This check uses currentHook so that it works the same in DEV and prod bundles.
26749  // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.
26750
26751
26752  var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;
26753  renderExpirationTime = NoWork;
26754  currentlyRenderingFiber$1 = null;
26755  currentHook = null;
26756  workInProgressHook = null;
26757
26758  {
26759    currentHookNameInDev = null;
26760    hookTypesDev = null;
26761    hookTypesUpdateIndexDev = -1;
26762  }
26763
26764  didScheduleRenderPhaseUpdate = false;
26765
26766  if (!!didRenderTooFewHooks) {
26767    {
26768      throw Error( "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." );
26769    }
26770  }
26771
26772  return children;
26773}
26774function bailoutHooks(current, workInProgress, expirationTime) {
26775  workInProgress.updateQueue = current.updateQueue;
26776  workInProgress.effectTag &= ~(Passive | Update);
26777
26778  if (current.expirationTime <= expirationTime) {
26779    current.expirationTime = NoWork;
26780  }
26781}
26782function resetHooksAfterThrow() {
26783  // We can assume the previous dispatcher is always this one, since we set it
26784  // at the beginning of the render phase and there's no re-entrancy.
26785  ReactCurrentDispatcher.current = ContextOnlyDispatcher;
26786
26787  if (didScheduleRenderPhaseUpdate) {
26788    // There were render phase updates. These are only valid for this render
26789    // phase, which we are now aborting. Remove the updates from the queues so
26790    // they do not persist to the next render. Do not remove updates from hooks
26791    // that weren't processed.
26792    //
26793    // Only reset the updates from the queue if it has a clone. If it does
26794    // not have a clone, that means it wasn't processed, and the updates were
26795    // scheduled before we entered the render phase.
26796    var hook = currentlyRenderingFiber$1.memoizedState;
26797
26798    while (hook !== null) {
26799      var queue = hook.queue;
26800
26801      if (queue !== null) {
26802        queue.pending = null;
26803      }
26804
26805      hook = hook.next;
26806    }
26807  }
26808
26809  renderExpirationTime = NoWork;
26810  currentlyRenderingFiber$1 = null;
26811  currentHook = null;
26812  workInProgressHook = null;
26813
26814  {
26815    hookTypesDev = null;
26816    hookTypesUpdateIndexDev = -1;
26817    currentHookNameInDev = null;
26818  }
26819
26820  didScheduleRenderPhaseUpdate = false;
26821}
26822
26823function mountWorkInProgressHook() {
26824  var hook = {
26825    memoizedState: null,
26826    baseState: null,
26827    baseQueue: null,
26828    queue: null,
26829    next: null
26830  };
26831
26832  if (workInProgressHook === null) {
26833    // This is the first hook in the list
26834    currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;
26835  } else {
26836    // Append to the end of the list
26837    workInProgressHook = workInProgressHook.next = hook;
26838  }
26839
26840  return workInProgressHook;
26841}
26842
26843function updateWorkInProgressHook() {
26844  // This function is used both for updates and for re-renders triggered by a
26845  // render phase update. It assumes there is either a current hook we can
26846  // clone, or a work-in-progress hook from a previous render pass that we can
26847  // use as a base. When we reach the end of the base list, we must switch to
26848  // the dispatcher used for mounts.
26849  var nextCurrentHook;
26850
26851  if (currentHook === null) {
26852    var current = currentlyRenderingFiber$1.alternate;
26853
26854    if (current !== null) {
26855      nextCurrentHook = current.memoizedState;
26856    } else {
26857      nextCurrentHook = null;
26858    }
26859  } else {
26860    nextCurrentHook = currentHook.next;
26861  }
26862
26863  var nextWorkInProgressHook;
26864
26865  if (workInProgressHook === null) {
26866    nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;
26867  } else {
26868    nextWorkInProgressHook = workInProgressHook.next;
26869  }
26870
26871  if (nextWorkInProgressHook !== null) {
26872    // There's already a work-in-progress. Reuse it.
26873    workInProgressHook = nextWorkInProgressHook;
26874    nextWorkInProgressHook = workInProgressHook.next;
26875    currentHook = nextCurrentHook;
26876  } else {
26877    // Clone from the current hook.
26878    if (!(nextCurrentHook !== null)) {
26879      {
26880        throw Error( "Rendered more hooks than during the previous render." );
26881      }
26882    }
26883
26884    currentHook = nextCurrentHook;
26885    var newHook = {
26886      memoizedState: currentHook.memoizedState,
26887      baseState: currentHook.baseState,
26888      baseQueue: currentHook.baseQueue,
26889      queue: currentHook.queue,
26890      next: null
26891    };
26892
26893    if (workInProgressHook === null) {
26894      // This is the first hook in the list.
26895      currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;
26896    } else {
26897      // Append to the end of the list.
26898      workInProgressHook = workInProgressHook.next = newHook;
26899    }
26900  }
26901
26902  return workInProgressHook;
26903}
26904
26905function createFunctionComponentUpdateQueue() {
26906  return {
26907    lastEffect: null
26908  };
26909}
26910
26911function basicStateReducer(state, action) {
26912  // $FlowFixMe: Flow doesn't like mixed types
26913  return typeof action === 'function' ? action(state) : action;
26914}
26915
26916function mountReducer(reducer, initialArg, init) {
26917  var hook = mountWorkInProgressHook();
26918  var initialState;
26919
26920  if (init !== undefined) {
26921    initialState = init(initialArg);
26922  } else {
26923    initialState = initialArg;
26924  }
26925
26926  hook.memoizedState = hook.baseState = initialState;
26927  var queue = hook.queue = {
26928    pending: null,
26929    dispatch: null,
26930    lastRenderedReducer: reducer,
26931    lastRenderedState: initialState
26932  };
26933  var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue);
26934  return [hook.memoizedState, dispatch];
26935}
26936
26937function updateReducer(reducer, initialArg, init) {
26938  var hook = updateWorkInProgressHook();
26939  var queue = hook.queue;
26940
26941  if (!(queue !== null)) {
26942    {
26943      throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." );
26944    }
26945  }
26946
26947  queue.lastRenderedReducer = reducer;
26948  var current = currentHook; // The last rebase update that is NOT part of the base state.
26949
26950  var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.
26951
26952  var pendingQueue = queue.pending;
26953
26954  if (pendingQueue !== null) {
26955    // We have new updates that haven't been processed yet.
26956    // We'll add them to the base queue.
26957    if (baseQueue !== null) {
26958      // Merge the pending queue and the base queue.
26959      var baseFirst = baseQueue.next;
26960      var pendingFirst = pendingQueue.next;
26961      baseQueue.next = pendingFirst;
26962      pendingQueue.next = baseFirst;
26963    }
26964
26965    current.baseQueue = baseQueue = pendingQueue;
26966    queue.pending = null;
26967  }
26968
26969  if (baseQueue !== null) {
26970    // We have a queue to process.
26971    var first = baseQueue.next;
26972    var newState = current.baseState;
26973    var newBaseState = null;
26974    var newBaseQueueFirst = null;
26975    var newBaseQueueLast = null;
26976    var update = first;
26977
26978    do {
26979      var updateExpirationTime = update.expirationTime;
26980
26981      if (updateExpirationTime < renderExpirationTime) {
26982        // Priority is insufficient. Skip this update. If this is the first
26983        // skipped update, the previous update/state is the new base
26984        // update/state.
26985        var clone = {
26986          expirationTime: update.expirationTime,
26987          suspenseConfig: update.suspenseConfig,
26988          action: update.action,
26989          eagerReducer: update.eagerReducer,
26990          eagerState: update.eagerState,
26991          next: null
26992        };
26993
26994        if (newBaseQueueLast === null) {
26995          newBaseQueueFirst = newBaseQueueLast = clone;
26996          newBaseState = newState;
26997        } else {
26998          newBaseQueueLast = newBaseQueueLast.next = clone;
26999        } // Update the remaining priority in the queue.
27000
27001
27002        if (updateExpirationTime > currentlyRenderingFiber$1.expirationTime) {
27003          currentlyRenderingFiber$1.expirationTime = updateExpirationTime;
27004          markUnprocessedUpdateTime(updateExpirationTime);
27005        }
27006      } else {
27007        // This update does have sufficient priority.
27008        if (newBaseQueueLast !== null) {
27009          var _clone = {
27010            expirationTime: Sync,
27011            // This update is going to be committed so we never want uncommit it.
27012            suspenseConfig: update.suspenseConfig,
27013            action: update.action,
27014            eagerReducer: update.eagerReducer,
27015            eagerState: update.eagerState,
27016            next: null
27017          };
27018          newBaseQueueLast = newBaseQueueLast.next = _clone;
27019        } // Mark the event time of this update as relevant to this render pass.
27020        // TODO: This should ideally use the true event time of this update rather than
27021        // its priority which is a derived and not reverseable value.
27022        // TODO: We should skip this update if it was already committed but currently
27023        // we have no way of detecting the difference between a committed and suspended
27024        // update here.
27025
27026
27027        markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update.
27028
27029        if (update.eagerReducer === reducer) {
27030          // If this update was processed eagerly, and its reducer matches the
27031          // current reducer, we can use the eagerly computed state.
27032          newState = update.eagerState;
27033        } else {
27034          var action = update.action;
27035          newState = reducer(newState, action);
27036        }
27037      }
27038
27039      update = update.next;
27040    } while (update !== null && update !== first);
27041
27042    if (newBaseQueueLast === null) {
27043      newBaseState = newState;
27044    } else {
27045      newBaseQueueLast.next = newBaseQueueFirst;
27046    } // Mark that the fiber performed work, but only if the new state is
27047    // different from the current state.
27048
27049
27050    if (!objectIs(newState, hook.memoizedState)) {
27051      markWorkInProgressReceivedUpdate();
27052    }
27053
27054    hook.memoizedState = newState;
27055    hook.baseState = newBaseState;
27056    hook.baseQueue = newBaseQueueLast;
27057    queue.lastRenderedState = newState;
27058  }
27059
27060  var dispatch = queue.dispatch;
27061  return [hook.memoizedState, dispatch];
27062}
27063
27064function rerenderReducer(reducer, initialArg, init) {
27065  var hook = updateWorkInProgressHook();
27066  var queue = hook.queue;
27067
27068  if (!(queue !== null)) {
27069    {
27070      throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." );
27071    }
27072  }
27073
27074  queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous
27075  // work-in-progress hook.
27076
27077  var dispatch = queue.dispatch;
27078  var lastRenderPhaseUpdate = queue.pending;
27079  var newState = hook.memoizedState;
27080
27081  if (lastRenderPhaseUpdate !== null) {
27082    // The queue doesn't persist past this render pass.
27083    queue.pending = null;
27084    var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;
27085    var update = firstRenderPhaseUpdate;
27086
27087    do {
27088      // Process this render phase update. We don't have to check the
27089      // priority because it will always be the same as the current
27090      // render's.
27091      var action = update.action;
27092      newState = reducer(newState, action);
27093      update = update.next;
27094    } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is
27095    // different from the current state.
27096
27097
27098    if (!objectIs(newState, hook.memoizedState)) {
27099      markWorkInProgressReceivedUpdate();
27100    }
27101
27102    hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to
27103    // the base state unless the queue is empty.
27104    // TODO: Not sure if this is the desired semantics, but it's what we
27105    // do for gDSFP. I can't remember why.
27106
27107    if (hook.baseQueue === null) {
27108      hook.baseState = newState;
27109    }
27110
27111    queue.lastRenderedState = newState;
27112  }
27113
27114  return [newState, dispatch];
27115}
27116
27117function mountState(initialState) {
27118  var hook = mountWorkInProgressHook();
27119
27120  if (typeof initialState === 'function') {
27121    // $FlowFixMe: Flow doesn't like mixed types
27122    initialState = initialState();
27123  }
27124
27125  hook.memoizedState = hook.baseState = initialState;
27126  var queue = hook.queue = {
27127    pending: null,
27128    dispatch: null,
27129    lastRenderedReducer: basicStateReducer,
27130    lastRenderedState: initialState
27131  };
27132  var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue);
27133  return [hook.memoizedState, dispatch];
27134}
27135
27136function updateState(initialState) {
27137  return updateReducer(basicStateReducer);
27138}
27139
27140function rerenderState(initialState) {
27141  return rerenderReducer(basicStateReducer);
27142}
27143
27144function pushEffect(tag, create, destroy, deps) {
27145  var effect = {
27146    tag: tag,
27147    create: create,
27148    destroy: destroy,
27149    deps: deps,
27150    // Circular
27151    next: null
27152  };
27153  var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;
27154
27155  if (componentUpdateQueue === null) {
27156    componentUpdateQueue = createFunctionComponentUpdateQueue();
27157    currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;
27158    componentUpdateQueue.lastEffect = effect.next = effect;
27159  } else {
27160    var lastEffect = componentUpdateQueue.lastEffect;
27161
27162    if (lastEffect === null) {
27163      componentUpdateQueue.lastEffect = effect.next = effect;
27164    } else {
27165      var firstEffect = lastEffect.next;
27166      lastEffect.next = effect;
27167      effect.next = firstEffect;
27168      componentUpdateQueue.lastEffect = effect;
27169    }
27170  }
27171
27172  return effect;
27173}
27174
27175function mountRef(initialValue) {
27176  var hook = mountWorkInProgressHook();
27177  var ref = {
27178    current: initialValue
27179  };
27180
27181  {
27182    Object.seal(ref);
27183  }
27184
27185  hook.memoizedState = ref;
27186  return ref;
27187}
27188
27189function updateRef(initialValue) {
27190  var hook = updateWorkInProgressHook();
27191  return hook.memoizedState;
27192}
27193
27194function mountEffectImpl(fiberEffectTag, hookEffectTag, create, deps) {
27195  var hook = mountWorkInProgressHook();
27196  var nextDeps = deps === undefined ? null : deps;
27197  currentlyRenderingFiber$1.effectTag |= fiberEffectTag;
27198  hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, undefined, nextDeps);
27199}
27200
27201function updateEffectImpl(fiberEffectTag, hookEffectTag, create, deps) {
27202  var hook = updateWorkInProgressHook();
27203  var nextDeps = deps === undefined ? null : deps;
27204  var destroy = undefined;
27205
27206  if (currentHook !== null) {
27207    var prevEffect = currentHook.memoizedState;
27208    destroy = prevEffect.destroy;
27209
27210    if (nextDeps !== null) {
27211      var prevDeps = prevEffect.deps;
27212
27213      if (areHookInputsEqual(nextDeps, prevDeps)) {
27214        pushEffect(hookEffectTag, create, destroy, nextDeps);
27215        return;
27216      }
27217    }
27218  }
27219
27220  currentlyRenderingFiber$1.effectTag |= fiberEffectTag;
27221  hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, destroy, nextDeps);
27222}
27223
27224function mountEffect(create, deps) {
27225  {
27226    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
27227    if ('undefined' !== typeof jest) {
27228      warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1);
27229    }
27230  }
27231
27232  return mountEffectImpl(Update | Passive, Passive$1, create, deps);
27233}
27234
27235function updateEffect(create, deps) {
27236  {
27237    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
27238    if ('undefined' !== typeof jest) {
27239      warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1);
27240    }
27241  }
27242
27243  return updateEffectImpl(Update | Passive, Passive$1, create, deps);
27244}
27245
27246function mountLayoutEffect(create, deps) {
27247  return mountEffectImpl(Update, Layout, create, deps);
27248}
27249
27250function updateLayoutEffect(create, deps) {
27251  return updateEffectImpl(Update, Layout, create, deps);
27252}
27253
27254function imperativeHandleEffect(create, ref) {
27255  if (typeof ref === 'function') {
27256    var refCallback = ref;
27257
27258    var _inst = create();
27259
27260    refCallback(_inst);
27261    return function () {
27262      refCallback(null);
27263    };
27264  } else if (ref !== null && ref !== undefined) {
27265    var refObject = ref;
27266
27267    {
27268      if (!refObject.hasOwnProperty('current')) {
27269        error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');
27270      }
27271    }
27272
27273    var _inst2 = create();
27274
27275    refObject.current = _inst2;
27276    return function () {
27277      refObject.current = null;
27278    };
27279  }
27280}
27281
27282function mountImperativeHandle(ref, create, deps) {
27283  {
27284    if (typeof create !== 'function') {
27285      error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');
27286    }
27287  } // TODO: If deps are provided, should we skip comparing the ref itself?
27288
27289
27290  var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;
27291  return mountEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);
27292}
27293
27294function updateImperativeHandle(ref, create, deps) {
27295  {
27296    if (typeof create !== 'function') {
27297      error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');
27298    }
27299  } // TODO: If deps are provided, should we skip comparing the ref itself?
27300
27301
27302  var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;
27303  return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);
27304}
27305
27306function mountDebugValue(value, formatterFn) {// This hook is normally a no-op.
27307  // The react-debug-hooks package injects its own implementation
27308  // so that e.g. DevTools can display custom hook values.
27309}
27310
27311var updateDebugValue = mountDebugValue;
27312
27313function mountCallback(callback, deps) {
27314  var hook = mountWorkInProgressHook();
27315  var nextDeps = deps === undefined ? null : deps;
27316  hook.memoizedState = [callback, nextDeps];
27317  return callback;
27318}
27319
27320function updateCallback(callback, deps) {
27321  var hook = updateWorkInProgressHook();
27322  var nextDeps = deps === undefined ? null : deps;
27323  var prevState = hook.memoizedState;
27324
27325  if (prevState !== null) {
27326    if (nextDeps !== null) {
27327      var prevDeps = prevState[1];
27328
27329      if (areHookInputsEqual(nextDeps, prevDeps)) {
27330        return prevState[0];
27331      }
27332    }
27333  }
27334
27335  hook.memoizedState = [callback, nextDeps];
27336  return callback;
27337}
27338
27339function mountMemo(nextCreate, deps) {
27340  var hook = mountWorkInProgressHook();
27341  var nextDeps = deps === undefined ? null : deps;
27342  var nextValue = nextCreate();
27343  hook.memoizedState = [nextValue, nextDeps];
27344  return nextValue;
27345}
27346
27347function updateMemo(nextCreate, deps) {
27348  var hook = updateWorkInProgressHook();
27349  var nextDeps = deps === undefined ? null : deps;
27350  var prevState = hook.memoizedState;
27351
27352  if (prevState !== null) {
27353    // Assume these are defined. If they're not, areHookInputsEqual will warn.
27354    if (nextDeps !== null) {
27355      var prevDeps = prevState[1];
27356
27357      if (areHookInputsEqual(nextDeps, prevDeps)) {
27358        return prevState[0];
27359      }
27360    }
27361  }
27362
27363  var nextValue = nextCreate();
27364  hook.memoizedState = [nextValue, nextDeps];
27365  return nextValue;
27366}
27367
27368function mountDeferredValue(value, config) {
27369  var _mountState = mountState(value),
27370      prevValue = _mountState[0],
27371      setValue = _mountState[1];
27372
27373  mountEffect(function () {
27374    var previousConfig = ReactCurrentBatchConfig$1.suspense;
27375    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
27376
27377    try {
27378      setValue(value);
27379    } finally {
27380      ReactCurrentBatchConfig$1.suspense = previousConfig;
27381    }
27382  }, [value, config]);
27383  return prevValue;
27384}
27385
27386function updateDeferredValue(value, config) {
27387  var _updateState = updateState(),
27388      prevValue = _updateState[0],
27389      setValue = _updateState[1];
27390
27391  updateEffect(function () {
27392    var previousConfig = ReactCurrentBatchConfig$1.suspense;
27393    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
27394
27395    try {
27396      setValue(value);
27397    } finally {
27398      ReactCurrentBatchConfig$1.suspense = previousConfig;
27399    }
27400  }, [value, config]);
27401  return prevValue;
27402}
27403
27404function rerenderDeferredValue(value, config) {
27405  var _rerenderState = rerenderState(),
27406      prevValue = _rerenderState[0],
27407      setValue = _rerenderState[1];
27408
27409  updateEffect(function () {
27410    var previousConfig = ReactCurrentBatchConfig$1.suspense;
27411    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
27412
27413    try {
27414      setValue(value);
27415    } finally {
27416      ReactCurrentBatchConfig$1.suspense = previousConfig;
27417    }
27418  }, [value, config]);
27419  return prevValue;
27420}
27421
27422function startTransition(setPending, config, callback) {
27423  var priorityLevel = getCurrentPriorityLevel();
27424  runWithPriority$1(priorityLevel < UserBlockingPriority$1 ? UserBlockingPriority$1 : priorityLevel, function () {
27425    setPending(true);
27426  });
27427  runWithPriority$1(priorityLevel > NormalPriority ? NormalPriority : priorityLevel, function () {
27428    var previousConfig = ReactCurrentBatchConfig$1.suspense;
27429    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
27430
27431    try {
27432      setPending(false);
27433      callback();
27434    } finally {
27435      ReactCurrentBatchConfig$1.suspense = previousConfig;
27436    }
27437  });
27438}
27439
27440function mountTransition(config) {
27441  var _mountState2 = mountState(false),
27442      isPending = _mountState2[0],
27443      setPending = _mountState2[1];
27444
27445  var start = mountCallback(startTransition.bind(null, setPending, config), [setPending, config]);
27446  return [start, isPending];
27447}
27448
27449function updateTransition(config) {
27450  var _updateState2 = updateState(),
27451      isPending = _updateState2[0],
27452      setPending = _updateState2[1];
27453
27454  var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]);
27455  return [start, isPending];
27456}
27457
27458function rerenderTransition(config) {
27459  var _rerenderState2 = rerenderState(),
27460      isPending = _rerenderState2[0],
27461      setPending = _rerenderState2[1];
27462
27463  var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]);
27464  return [start, isPending];
27465}
27466
27467function dispatchAction(fiber, queue, action) {
27468  {
27469    if (typeof arguments[3] === 'function') {
27470      error("State updates from the useState() and useReducer() Hooks don't support the " + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');
27471    }
27472  }
27473
27474  var currentTime = requestCurrentTimeForUpdate();
27475  var suspenseConfig = requestCurrentSuspenseConfig();
27476  var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
27477  var update = {
27478    expirationTime: expirationTime,
27479    suspenseConfig: suspenseConfig,
27480    action: action,
27481    eagerReducer: null,
27482    eagerState: null,
27483    next: null
27484  };
27485
27486  {
27487    update.priority = getCurrentPriorityLevel();
27488  } // Append the update to the end of the list.
27489
27490
27491  var pending = queue.pending;
27492
27493  if (pending === null) {
27494    // This is the first update. Create a circular list.
27495    update.next = update;
27496  } else {
27497    update.next = pending.next;
27498    pending.next = update;
27499  }
27500
27501  queue.pending = update;
27502  var alternate = fiber.alternate;
27503
27504  if (fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1) {
27505    // This is a render phase update. Stash it in a lazily-created map of
27506    // queue -> linked list of updates. After this render pass, we'll restart
27507    // and apply the stashed updates on top of the work-in-progress hook.
27508    didScheduleRenderPhaseUpdate = true;
27509    update.expirationTime = renderExpirationTime;
27510    currentlyRenderingFiber$1.expirationTime = renderExpirationTime;
27511  } else {
27512    if (fiber.expirationTime === NoWork && (alternate === null || alternate.expirationTime === NoWork)) {
27513      // The queue is currently empty, which means we can eagerly compute the
27514      // next state before entering the render phase. If the new state is the
27515      // same as the current state, we may be able to bail out entirely.
27516      var lastRenderedReducer = queue.lastRenderedReducer;
27517
27518      if (lastRenderedReducer !== null) {
27519        var prevDispatcher;
27520
27521        {
27522          prevDispatcher = ReactCurrentDispatcher.current;
27523          ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
27524        }
27525
27526        try {
27527          var currentState = queue.lastRenderedState;
27528          var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute
27529          // it, on the update object. If the reducer hasn't changed by the
27530          // time we enter the render phase, then the eager state can be used
27531          // without calling the reducer again.
27532
27533          update.eagerReducer = lastRenderedReducer;
27534          update.eagerState = eagerState;
27535
27536          if (objectIs(eagerState, currentState)) {
27537            // Fast path. We can bail out without scheduling React to re-render.
27538            // It's still possible that we'll need to rebase this update later,
27539            // if the component re-renders for a different reason and by that
27540            // time the reducer has changed.
27541            return;
27542          }
27543        } catch (error) {// Suppress the error. It will throw again in the render phase.
27544        } finally {
27545          {
27546            ReactCurrentDispatcher.current = prevDispatcher;
27547          }
27548        }
27549      }
27550    }
27551
27552    {
27553      // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
27554      if ('undefined' !== typeof jest) {
27555        warnIfNotScopedWithMatchingAct(fiber);
27556        warnIfNotCurrentlyActingUpdatesInDev(fiber);
27557      }
27558    }
27559
27560    scheduleWork(fiber, expirationTime);
27561  }
27562}
27563
27564var ContextOnlyDispatcher = {
27565  readContext: readContext,
27566  useCallback: throwInvalidHookError,
27567  useContext: throwInvalidHookError,
27568  useEffect: throwInvalidHookError,
27569  useImperativeHandle: throwInvalidHookError,
27570  useLayoutEffect: throwInvalidHookError,
27571  useMemo: throwInvalidHookError,
27572  useReducer: throwInvalidHookError,
27573  useRef: throwInvalidHookError,
27574  useState: throwInvalidHookError,
27575  useDebugValue: throwInvalidHookError,
27576  useResponder: throwInvalidHookError,
27577  useDeferredValue: throwInvalidHookError,
27578  useTransition: throwInvalidHookError
27579};
27580var HooksDispatcherOnMountInDEV = null;
27581var HooksDispatcherOnMountWithHookTypesInDEV = null;
27582var HooksDispatcherOnUpdateInDEV = null;
27583var HooksDispatcherOnRerenderInDEV = null;
27584var InvalidNestedHooksDispatcherOnMountInDEV = null;
27585var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
27586var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
27587
27588{
27589  var warnInvalidContextAccess = function () {
27590    error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');
27591  };
27592
27593  var warnInvalidHookAccess = function () {
27594    error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks');
27595  };
27596
27597  HooksDispatcherOnMountInDEV = {
27598    readContext: function (context, observedBits) {
27599      return readContext(context, observedBits);
27600    },
27601    useCallback: function (callback, deps) {
27602      currentHookNameInDev = 'useCallback';
27603      mountHookTypesDev();
27604      checkDepsAreArrayDev(deps);
27605      return mountCallback(callback, deps);
27606    },
27607    useContext: function (context, observedBits) {
27608      currentHookNameInDev = 'useContext';
27609      mountHookTypesDev();
27610      return readContext(context, observedBits);
27611    },
27612    useEffect: function (create, deps) {
27613      currentHookNameInDev = 'useEffect';
27614      mountHookTypesDev();
27615      checkDepsAreArrayDev(deps);
27616      return mountEffect(create, deps);
27617    },
27618    useImperativeHandle: function (ref, create, deps) {
27619      currentHookNameInDev = 'useImperativeHandle';
27620      mountHookTypesDev();
27621      checkDepsAreArrayDev(deps);
27622      return mountImperativeHandle(ref, create, deps);
27623    },
27624    useLayoutEffect: function (create, deps) {
27625      currentHookNameInDev = 'useLayoutEffect';
27626      mountHookTypesDev();
27627      checkDepsAreArrayDev(deps);
27628      return mountLayoutEffect(create, deps);
27629    },
27630    useMemo: function (create, deps) {
27631      currentHookNameInDev = 'useMemo';
27632      mountHookTypesDev();
27633      checkDepsAreArrayDev(deps);
27634      var prevDispatcher = ReactCurrentDispatcher.current;
27635      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
27636
27637      try {
27638        return mountMemo(create, deps);
27639      } finally {
27640        ReactCurrentDispatcher.current = prevDispatcher;
27641      }
27642    },
27643    useReducer: function (reducer, initialArg, init) {
27644      currentHookNameInDev = 'useReducer';
27645      mountHookTypesDev();
27646      var prevDispatcher = ReactCurrentDispatcher.current;
27647      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
27648
27649      try {
27650        return mountReducer(reducer, initialArg, init);
27651      } finally {
27652        ReactCurrentDispatcher.current = prevDispatcher;
27653      }
27654    },
27655    useRef: function (initialValue) {
27656      currentHookNameInDev = 'useRef';
27657      mountHookTypesDev();
27658      return mountRef(initialValue);
27659    },
27660    useState: function (initialState) {
27661      currentHookNameInDev = 'useState';
27662      mountHookTypesDev();
27663      var prevDispatcher = ReactCurrentDispatcher.current;
27664      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
27665
27666      try {
27667        return mountState(initialState);
27668      } finally {
27669        ReactCurrentDispatcher.current = prevDispatcher;
27670      }
27671    },
27672    useDebugValue: function (value, formatterFn) {
27673      currentHookNameInDev = 'useDebugValue';
27674      mountHookTypesDev();
27675      return mountDebugValue();
27676    },
27677    useResponder: function (responder, props) {
27678      currentHookNameInDev = 'useResponder';
27679      mountHookTypesDev();
27680      return createDeprecatedResponderListener(responder, props);
27681    },
27682    useDeferredValue: function (value, config) {
27683      currentHookNameInDev = 'useDeferredValue';
27684      mountHookTypesDev();
27685      return mountDeferredValue(value, config);
27686    },
27687    useTransition: function (config) {
27688      currentHookNameInDev = 'useTransition';
27689      mountHookTypesDev();
27690      return mountTransition(config);
27691    }
27692  };
27693  HooksDispatcherOnMountWithHookTypesInDEV = {
27694    readContext: function (context, observedBits) {
27695      return readContext(context, observedBits);
27696    },
27697    useCallback: function (callback, deps) {
27698      currentHookNameInDev = 'useCallback';
27699      updateHookTypesDev();
27700      return mountCallback(callback, deps);
27701    },
27702    useContext: function (context, observedBits) {
27703      currentHookNameInDev = 'useContext';
27704      updateHookTypesDev();
27705      return readContext(context, observedBits);
27706    },
27707    useEffect: function (create, deps) {
27708      currentHookNameInDev = 'useEffect';
27709      updateHookTypesDev();
27710      return mountEffect(create, deps);
27711    },
27712    useImperativeHandle: function (ref, create, deps) {
27713      currentHookNameInDev = 'useImperativeHandle';
27714      updateHookTypesDev();
27715      return mountImperativeHandle(ref, create, deps);
27716    },
27717    useLayoutEffect: function (create, deps) {
27718      currentHookNameInDev = 'useLayoutEffect';
27719      updateHookTypesDev();
27720      return mountLayoutEffect(create, deps);
27721    },
27722    useMemo: function (create, deps) {
27723      currentHookNameInDev = 'useMemo';
27724      updateHookTypesDev();
27725      var prevDispatcher = ReactCurrentDispatcher.current;
27726      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
27727
27728      try {
27729        return mountMemo(create, deps);
27730      } finally {
27731        ReactCurrentDispatcher.current = prevDispatcher;
27732      }
27733    },
27734    useReducer: function (reducer, initialArg, init) {
27735      currentHookNameInDev = 'useReducer';
27736      updateHookTypesDev();
27737      var prevDispatcher = ReactCurrentDispatcher.current;
27738      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
27739
27740      try {
27741        return mountReducer(reducer, initialArg, init);
27742      } finally {
27743        ReactCurrentDispatcher.current = prevDispatcher;
27744      }
27745    },
27746    useRef: function (initialValue) {
27747      currentHookNameInDev = 'useRef';
27748      updateHookTypesDev();
27749      return mountRef(initialValue);
27750    },
27751    useState: function (initialState) {
27752      currentHookNameInDev = 'useState';
27753      updateHookTypesDev();
27754      var prevDispatcher = ReactCurrentDispatcher.current;
27755      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
27756
27757      try {
27758        return mountState(initialState);
27759      } finally {
27760        ReactCurrentDispatcher.current = prevDispatcher;
27761      }
27762    },
27763    useDebugValue: function (value, formatterFn) {
27764      currentHookNameInDev = 'useDebugValue';
27765      updateHookTypesDev();
27766      return mountDebugValue();
27767    },
27768    useResponder: function (responder, props) {
27769      currentHookNameInDev = 'useResponder';
27770      updateHookTypesDev();
27771      return createDeprecatedResponderListener(responder, props);
27772    },
27773    useDeferredValue: function (value, config) {
27774      currentHookNameInDev = 'useDeferredValue';
27775      updateHookTypesDev();
27776      return mountDeferredValue(value, config);
27777    },
27778    useTransition: function (config) {
27779      currentHookNameInDev = 'useTransition';
27780      updateHookTypesDev();
27781      return mountTransition(config);
27782    }
27783  };
27784  HooksDispatcherOnUpdateInDEV = {
27785    readContext: function (context, observedBits) {
27786      return readContext(context, observedBits);
27787    },
27788    useCallback: function (callback, deps) {
27789      currentHookNameInDev = 'useCallback';
27790      updateHookTypesDev();
27791      return updateCallback(callback, deps);
27792    },
27793    useContext: function (context, observedBits) {
27794      currentHookNameInDev = 'useContext';
27795      updateHookTypesDev();
27796      return readContext(context, observedBits);
27797    },
27798    useEffect: function (create, deps) {
27799      currentHookNameInDev = 'useEffect';
27800      updateHookTypesDev();
27801      return updateEffect(create, deps);
27802    },
27803    useImperativeHandle: function (ref, create, deps) {
27804      currentHookNameInDev = 'useImperativeHandle';
27805      updateHookTypesDev();
27806      return updateImperativeHandle(ref, create, deps);
27807    },
27808    useLayoutEffect: function (create, deps) {
27809      currentHookNameInDev = 'useLayoutEffect';
27810      updateHookTypesDev();
27811      return updateLayoutEffect(create, deps);
27812    },
27813    useMemo: function (create, deps) {
27814      currentHookNameInDev = 'useMemo';
27815      updateHookTypesDev();
27816      var prevDispatcher = ReactCurrentDispatcher.current;
27817      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
27818
27819      try {
27820        return updateMemo(create, deps);
27821      } finally {
27822        ReactCurrentDispatcher.current = prevDispatcher;
27823      }
27824    },
27825    useReducer: function (reducer, initialArg, init) {
27826      currentHookNameInDev = 'useReducer';
27827      updateHookTypesDev();
27828      var prevDispatcher = ReactCurrentDispatcher.current;
27829      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
27830
27831      try {
27832        return updateReducer(reducer, initialArg, init);
27833      } finally {
27834        ReactCurrentDispatcher.current = prevDispatcher;
27835      }
27836    },
27837    useRef: function (initialValue) {
27838      currentHookNameInDev = 'useRef';
27839      updateHookTypesDev();
27840      return updateRef();
27841    },
27842    useState: function (initialState) {
27843      currentHookNameInDev = 'useState';
27844      updateHookTypesDev();
27845      var prevDispatcher = ReactCurrentDispatcher.current;
27846      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
27847
27848      try {
27849        return updateState(initialState);
27850      } finally {
27851        ReactCurrentDispatcher.current = prevDispatcher;
27852      }
27853    },
27854    useDebugValue: function (value, formatterFn) {
27855      currentHookNameInDev = 'useDebugValue';
27856      updateHookTypesDev();
27857      return updateDebugValue();
27858    },
27859    useResponder: function (responder, props) {
27860      currentHookNameInDev = 'useResponder';
27861      updateHookTypesDev();
27862      return createDeprecatedResponderListener(responder, props);
27863    },
27864    useDeferredValue: function (value, config) {
27865      currentHookNameInDev = 'useDeferredValue';
27866      updateHookTypesDev();
27867      return updateDeferredValue(value, config);
27868    },
27869    useTransition: function (config) {
27870      currentHookNameInDev = 'useTransition';
27871      updateHookTypesDev();
27872      return updateTransition(config);
27873    }
27874  };
27875  HooksDispatcherOnRerenderInDEV = {
27876    readContext: function (context, observedBits) {
27877      return readContext(context, observedBits);
27878    },
27879    useCallback: function (callback, deps) {
27880      currentHookNameInDev = 'useCallback';
27881      updateHookTypesDev();
27882      return updateCallback(callback, deps);
27883    },
27884    useContext: function (context, observedBits) {
27885      currentHookNameInDev = 'useContext';
27886      updateHookTypesDev();
27887      return readContext(context, observedBits);
27888    },
27889    useEffect: function (create, deps) {
27890      currentHookNameInDev = 'useEffect';
27891      updateHookTypesDev();
27892      return updateEffect(create, deps);
27893    },
27894    useImperativeHandle: function (ref, create, deps) {
27895      currentHookNameInDev = 'useImperativeHandle';
27896      updateHookTypesDev();
27897      return updateImperativeHandle(ref, create, deps);
27898    },
27899    useLayoutEffect: function (create, deps) {
27900      currentHookNameInDev = 'useLayoutEffect';
27901      updateHookTypesDev();
27902      return updateLayoutEffect(create, deps);
27903    },
27904    useMemo: function (create, deps) {
27905      currentHookNameInDev = 'useMemo';
27906      updateHookTypesDev();
27907      var prevDispatcher = ReactCurrentDispatcher.current;
27908      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;
27909
27910      try {
27911        return updateMemo(create, deps);
27912      } finally {
27913        ReactCurrentDispatcher.current = prevDispatcher;
27914      }
27915    },
27916    useReducer: function (reducer, initialArg, init) {
27917      currentHookNameInDev = 'useReducer';
27918      updateHookTypesDev();
27919      var prevDispatcher = ReactCurrentDispatcher.current;
27920      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;
27921
27922      try {
27923        return rerenderReducer(reducer, initialArg, init);
27924      } finally {
27925        ReactCurrentDispatcher.current = prevDispatcher;
27926      }
27927    },
27928    useRef: function (initialValue) {
27929      currentHookNameInDev = 'useRef';
27930      updateHookTypesDev();
27931      return updateRef();
27932    },
27933    useState: function (initialState) {
27934      currentHookNameInDev = 'useState';
27935      updateHookTypesDev();
27936      var prevDispatcher = ReactCurrentDispatcher.current;
27937      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;
27938
27939      try {
27940        return rerenderState(initialState);
27941      } finally {
27942        ReactCurrentDispatcher.current = prevDispatcher;
27943      }
27944    },
27945    useDebugValue: function (value, formatterFn) {
27946      currentHookNameInDev = 'useDebugValue';
27947      updateHookTypesDev();
27948      return updateDebugValue();
27949    },
27950    useResponder: function (responder, props) {
27951      currentHookNameInDev = 'useResponder';
27952      updateHookTypesDev();
27953      return createDeprecatedResponderListener(responder, props);
27954    },
27955    useDeferredValue: function (value, config) {
27956      currentHookNameInDev = 'useDeferredValue';
27957      updateHookTypesDev();
27958      return rerenderDeferredValue(value, config);
27959    },
27960    useTransition: function (config) {
27961      currentHookNameInDev = 'useTransition';
27962      updateHookTypesDev();
27963      return rerenderTransition(config);
27964    }
27965  };
27966  InvalidNestedHooksDispatcherOnMountInDEV = {
27967    readContext: function (context, observedBits) {
27968      warnInvalidContextAccess();
27969      return readContext(context, observedBits);
27970    },
27971    useCallback: function (callback, deps) {
27972      currentHookNameInDev = 'useCallback';
27973      warnInvalidHookAccess();
27974      mountHookTypesDev();
27975      return mountCallback(callback, deps);
27976    },
27977    useContext: function (context, observedBits) {
27978      currentHookNameInDev = 'useContext';
27979      warnInvalidHookAccess();
27980      mountHookTypesDev();
27981      return readContext(context, observedBits);
27982    },
27983    useEffect: function (create, deps) {
27984      currentHookNameInDev = 'useEffect';
27985      warnInvalidHookAccess();
27986      mountHookTypesDev();
27987      return mountEffect(create, deps);
27988    },
27989    useImperativeHandle: function (ref, create, deps) {
27990      currentHookNameInDev = 'useImperativeHandle';
27991      warnInvalidHookAccess();
27992      mountHookTypesDev();
27993      return mountImperativeHandle(ref, create, deps);
27994    },
27995    useLayoutEffect: function (create, deps) {
27996      currentHookNameInDev = 'useLayoutEffect';
27997      warnInvalidHookAccess();
27998      mountHookTypesDev();
27999      return mountLayoutEffect(create, deps);
28000    },
28001    useMemo: function (create, deps) {
28002      currentHookNameInDev = 'useMemo';
28003      warnInvalidHookAccess();
28004      mountHookTypesDev();
28005      var prevDispatcher = ReactCurrentDispatcher.current;
28006      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
28007
28008      try {
28009        return mountMemo(create, deps);
28010      } finally {
28011        ReactCurrentDispatcher.current = prevDispatcher;
28012      }
28013    },
28014    useReducer: function (reducer, initialArg, init) {
28015      currentHookNameInDev = 'useReducer';
28016      warnInvalidHookAccess();
28017      mountHookTypesDev();
28018      var prevDispatcher = ReactCurrentDispatcher.current;
28019      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
28020
28021      try {
28022        return mountReducer(reducer, initialArg, init);
28023      } finally {
28024        ReactCurrentDispatcher.current = prevDispatcher;
28025      }
28026    },
28027    useRef: function (initialValue) {
28028      currentHookNameInDev = 'useRef';
28029      warnInvalidHookAccess();
28030      mountHookTypesDev();
28031      return mountRef(initialValue);
28032    },
28033    useState: function (initialState) {
28034      currentHookNameInDev = 'useState';
28035      warnInvalidHookAccess();
28036      mountHookTypesDev();
28037      var prevDispatcher = ReactCurrentDispatcher.current;
28038      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
28039
28040      try {
28041        return mountState(initialState);
28042      } finally {
28043        ReactCurrentDispatcher.current = prevDispatcher;
28044      }
28045    },
28046    useDebugValue: function (value, formatterFn) {
28047      currentHookNameInDev = 'useDebugValue';
28048      warnInvalidHookAccess();
28049      mountHookTypesDev();
28050      return mountDebugValue();
28051    },
28052    useResponder: function (responder, props) {
28053      currentHookNameInDev = 'useResponder';
28054      warnInvalidHookAccess();
28055      mountHookTypesDev();
28056      return createDeprecatedResponderListener(responder, props);
28057    },
28058    useDeferredValue: function (value, config) {
28059      currentHookNameInDev = 'useDeferredValue';
28060      warnInvalidHookAccess();
28061      mountHookTypesDev();
28062      return mountDeferredValue(value, config);
28063    },
28064    useTransition: function (config) {
28065      currentHookNameInDev = 'useTransition';
28066      warnInvalidHookAccess();
28067      mountHookTypesDev();
28068      return mountTransition(config);
28069    }
28070  };
28071  InvalidNestedHooksDispatcherOnUpdateInDEV = {
28072    readContext: function (context, observedBits) {
28073      warnInvalidContextAccess();
28074      return readContext(context, observedBits);
28075    },
28076    useCallback: function (callback, deps) {
28077      currentHookNameInDev = 'useCallback';
28078      warnInvalidHookAccess();
28079      updateHookTypesDev();
28080      return updateCallback(callback, deps);
28081    },
28082    useContext: function (context, observedBits) {
28083      currentHookNameInDev = 'useContext';
28084      warnInvalidHookAccess();
28085      updateHookTypesDev();
28086      return readContext(context, observedBits);
28087    },
28088    useEffect: function (create, deps) {
28089      currentHookNameInDev = 'useEffect';
28090      warnInvalidHookAccess();
28091      updateHookTypesDev();
28092      return updateEffect(create, deps);
28093    },
28094    useImperativeHandle: function (ref, create, deps) {
28095      currentHookNameInDev = 'useImperativeHandle';
28096      warnInvalidHookAccess();
28097      updateHookTypesDev();
28098      return updateImperativeHandle(ref, create, deps);
28099    },
28100    useLayoutEffect: function (create, deps) {
28101      currentHookNameInDev = 'useLayoutEffect';
28102      warnInvalidHookAccess();
28103      updateHookTypesDev();
28104      return updateLayoutEffect(create, deps);
28105    },
28106    useMemo: function (create, deps) {
28107      currentHookNameInDev = 'useMemo';
28108      warnInvalidHookAccess();
28109      updateHookTypesDev();
28110      var prevDispatcher = ReactCurrentDispatcher.current;
28111      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
28112
28113      try {
28114        return updateMemo(create, deps);
28115      } finally {
28116        ReactCurrentDispatcher.current = prevDispatcher;
28117      }
28118    },
28119    useReducer: function (reducer, initialArg, init) {
28120      currentHookNameInDev = 'useReducer';
28121      warnInvalidHookAccess();
28122      updateHookTypesDev();
28123      var prevDispatcher = ReactCurrentDispatcher.current;
28124      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
28125
28126      try {
28127        return updateReducer(reducer, initialArg, init);
28128      } finally {
28129        ReactCurrentDispatcher.current = prevDispatcher;
28130      }
28131    },
28132    useRef: function (initialValue) {
28133      currentHookNameInDev = 'useRef';
28134      warnInvalidHookAccess();
28135      updateHookTypesDev();
28136      return updateRef();
28137    },
28138    useState: function (initialState) {
28139      currentHookNameInDev = 'useState';
28140      warnInvalidHookAccess();
28141      updateHookTypesDev();
28142      var prevDispatcher = ReactCurrentDispatcher.current;
28143      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
28144
28145      try {
28146        return updateState(initialState);
28147      } finally {
28148        ReactCurrentDispatcher.current = prevDispatcher;
28149      }
28150    },
28151    useDebugValue: function (value, formatterFn) {
28152      currentHookNameInDev = 'useDebugValue';
28153      warnInvalidHookAccess();
28154      updateHookTypesDev();
28155      return updateDebugValue();
28156    },
28157    useResponder: function (responder, props) {
28158      currentHookNameInDev = 'useResponder';
28159      warnInvalidHookAccess();
28160      updateHookTypesDev();
28161      return createDeprecatedResponderListener(responder, props);
28162    },
28163    useDeferredValue: function (value, config) {
28164      currentHookNameInDev = 'useDeferredValue';
28165      warnInvalidHookAccess();
28166      updateHookTypesDev();
28167      return updateDeferredValue(value, config);
28168    },
28169    useTransition: function (config) {
28170      currentHookNameInDev = 'useTransition';
28171      warnInvalidHookAccess();
28172      updateHookTypesDev();
28173      return updateTransition(config);
28174    }
28175  };
28176  InvalidNestedHooksDispatcherOnRerenderInDEV = {
28177    readContext: function (context, observedBits) {
28178      warnInvalidContextAccess();
28179      return readContext(context, observedBits);
28180    },
28181    useCallback: function (callback, deps) {
28182      currentHookNameInDev = 'useCallback';
28183      warnInvalidHookAccess();
28184      updateHookTypesDev();
28185      return updateCallback(callback, deps);
28186    },
28187    useContext: function (context, observedBits) {
28188      currentHookNameInDev = 'useContext';
28189      warnInvalidHookAccess();
28190      updateHookTypesDev();
28191      return readContext(context, observedBits);
28192    },
28193    useEffect: function (create, deps) {
28194      currentHookNameInDev = 'useEffect';
28195      warnInvalidHookAccess();
28196      updateHookTypesDev();
28197      return updateEffect(create, deps);
28198    },
28199    useImperativeHandle: function (ref, create, deps) {
28200      currentHookNameInDev = 'useImperativeHandle';
28201      warnInvalidHookAccess();
28202      updateHookTypesDev();
28203      return updateImperativeHandle(ref, create, deps);
28204    },
28205    useLayoutEffect: function (create, deps) {
28206      currentHookNameInDev = 'useLayoutEffect';
28207      warnInvalidHookAccess();
28208      updateHookTypesDev();
28209      return updateLayoutEffect(create, deps);
28210    },
28211    useMemo: function (create, deps) {
28212      currentHookNameInDev = 'useMemo';
28213      warnInvalidHookAccess();
28214      updateHookTypesDev();
28215      var prevDispatcher = ReactCurrentDispatcher.current;
28216      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
28217
28218      try {
28219        return updateMemo(create, deps);
28220      } finally {
28221        ReactCurrentDispatcher.current = prevDispatcher;
28222      }
28223    },
28224    useReducer: function (reducer, initialArg, init) {
28225      currentHookNameInDev = 'useReducer';
28226      warnInvalidHookAccess();
28227      updateHookTypesDev();
28228      var prevDispatcher = ReactCurrentDispatcher.current;
28229      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
28230
28231      try {
28232        return rerenderReducer(reducer, initialArg, init);
28233      } finally {
28234        ReactCurrentDispatcher.current = prevDispatcher;
28235      }
28236    },
28237    useRef: function (initialValue) {
28238      currentHookNameInDev = 'useRef';
28239      warnInvalidHookAccess();
28240      updateHookTypesDev();
28241      return updateRef();
28242    },
28243    useState: function (initialState) {
28244      currentHookNameInDev = 'useState';
28245      warnInvalidHookAccess();
28246      updateHookTypesDev();
28247      var prevDispatcher = ReactCurrentDispatcher.current;
28248      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
28249
28250      try {
28251        return rerenderState(initialState);
28252      } finally {
28253        ReactCurrentDispatcher.current = prevDispatcher;
28254      }
28255    },
28256    useDebugValue: function (value, formatterFn) {
28257      currentHookNameInDev = 'useDebugValue';
28258      warnInvalidHookAccess();
28259      updateHookTypesDev();
28260      return updateDebugValue();
28261    },
28262    useResponder: function (responder, props) {
28263      currentHookNameInDev = 'useResponder';
28264      warnInvalidHookAccess();
28265      updateHookTypesDev();
28266      return createDeprecatedResponderListener(responder, props);
28267    },
28268    useDeferredValue: function (value, config) {
28269      currentHookNameInDev = 'useDeferredValue';
28270      warnInvalidHookAccess();
28271      updateHookTypesDev();
28272      return rerenderDeferredValue(value, config);
28273    },
28274    useTransition: function (config) {
28275      currentHookNameInDev = 'useTransition';
28276      warnInvalidHookAccess();
28277      updateHookTypesDev();
28278      return rerenderTransition(config);
28279    }
28280  };
28281}
28282
28283var now$1 = Scheduler.unstable_now;
28284var commitTime = 0;
28285var profilerStartTime = -1;
28286
28287function getCommitTime() {
28288  return commitTime;
28289}
28290
28291function recordCommitTime() {
28292
28293  commitTime = now$1();
28294}
28295
28296function startProfilerTimer(fiber) {
28297
28298  profilerStartTime = now$1();
28299
28300  if (fiber.actualStartTime < 0) {
28301    fiber.actualStartTime = now$1();
28302  }
28303}
28304
28305function stopProfilerTimerIfRunning(fiber) {
28306
28307  profilerStartTime = -1;
28308}
28309
28310function stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {
28311
28312  if (profilerStartTime >= 0) {
28313    var elapsedTime = now$1() - profilerStartTime;
28314    fiber.actualDuration += elapsedTime;
28315
28316    if (overrideBaseTime) {
28317      fiber.selfBaseDuration = elapsedTime;
28318    }
28319
28320    profilerStartTime = -1;
28321  }
28322}
28323
28324// This may have been an insertion or a hydration.
28325
28326var hydrationParentFiber = null;
28327var nextHydratableInstance = null;
28328var isHydrating = false;
28329
28330function enterHydrationState(fiber) {
28331
28332  var parentInstance = fiber.stateNode.containerInfo;
28333  nextHydratableInstance = getFirstHydratableChild(parentInstance);
28334  hydrationParentFiber = fiber;
28335  isHydrating = true;
28336  return true;
28337}
28338
28339function deleteHydratableInstance(returnFiber, instance) {
28340  {
28341    switch (returnFiber.tag) {
28342      case HostRoot:
28343        didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance);
28344        break;
28345
28346      case HostComponent:
28347        didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance);
28348        break;
28349    }
28350  }
28351
28352  var childToDelete = createFiberFromHostInstanceForDeletion();
28353  childToDelete.stateNode = instance;
28354  childToDelete.return = returnFiber;
28355  childToDelete.effectTag = Deletion; // This might seem like it belongs on progressedFirstDeletion. However,
28356  // these children are not part of the reconciliation list of children.
28357  // Even if we abort and rereconcile the children, that will try to hydrate
28358  // again and the nodes are still in the host tree so these will be
28359  // recreated.
28360
28361  if (returnFiber.lastEffect !== null) {
28362    returnFiber.lastEffect.nextEffect = childToDelete;
28363    returnFiber.lastEffect = childToDelete;
28364  } else {
28365    returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
28366  }
28367}
28368
28369function insertNonHydratedInstance(returnFiber, fiber) {
28370  fiber.effectTag = fiber.effectTag & ~Hydrating | Placement;
28371
28372  {
28373    switch (returnFiber.tag) {
28374      case HostRoot:
28375        {
28376          var parentContainer = returnFiber.stateNode.containerInfo;
28377
28378          switch (fiber.tag) {
28379            case HostComponent:
28380              var type = fiber.type;
28381              var props = fiber.pendingProps;
28382              didNotFindHydratableContainerInstance(parentContainer, type);
28383              break;
28384
28385            case HostText:
28386              var text = fiber.pendingProps;
28387              didNotFindHydratableContainerTextInstance(parentContainer, text);
28388              break;
28389          }
28390
28391          break;
28392        }
28393
28394      case HostComponent:
28395        {
28396          var parentType = returnFiber.type;
28397          var parentProps = returnFiber.memoizedProps;
28398          var parentInstance = returnFiber.stateNode;
28399
28400          switch (fiber.tag) {
28401            case HostComponent:
28402              var _type = fiber.type;
28403              var _props = fiber.pendingProps;
28404              didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type);
28405              break;
28406
28407            case HostText:
28408              var _text = fiber.pendingProps;
28409              didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text);
28410              break;
28411
28412            case SuspenseComponent:
28413              didNotFindHydratableSuspenseInstance(parentType, parentProps);
28414              break;
28415          }
28416
28417          break;
28418        }
28419
28420      default:
28421        return;
28422    }
28423  }
28424}
28425
28426function tryHydrate(fiber, nextInstance) {
28427  switch (fiber.tag) {
28428    case HostComponent:
28429      {
28430        var type = fiber.type;
28431        var props = fiber.pendingProps;
28432        var instance = canHydrateInstance(nextInstance, type);
28433
28434        if (instance !== null) {
28435          fiber.stateNode = instance;
28436          return true;
28437        }
28438
28439        return false;
28440      }
28441
28442    case HostText:
28443      {
28444        var text = fiber.pendingProps;
28445        var textInstance = canHydrateTextInstance(nextInstance, text);
28446
28447        if (textInstance !== null) {
28448          fiber.stateNode = textInstance;
28449          return true;
28450        }
28451
28452        return false;
28453      }
28454
28455    case SuspenseComponent:
28456      {
28457
28458        return false;
28459      }
28460
28461    default:
28462      return false;
28463  }
28464}
28465
28466function tryToClaimNextHydratableInstance(fiber) {
28467  if (!isHydrating) {
28468    return;
28469  }
28470
28471  var nextInstance = nextHydratableInstance;
28472
28473  if (!nextInstance) {
28474    // Nothing to hydrate. Make it an insertion.
28475    insertNonHydratedInstance(hydrationParentFiber, fiber);
28476    isHydrating = false;
28477    hydrationParentFiber = fiber;
28478    return;
28479  }
28480
28481  var firstAttemptedInstance = nextInstance;
28482
28483  if (!tryHydrate(fiber, nextInstance)) {
28484    // If we can't hydrate this instance let's try the next one.
28485    // We use this as a heuristic. It's based on intuition and not data so it
28486    // might be flawed or unnecessary.
28487    nextInstance = getNextHydratableSibling(firstAttemptedInstance);
28488
28489    if (!nextInstance || !tryHydrate(fiber, nextInstance)) {
28490      // Nothing to hydrate. Make it an insertion.
28491      insertNonHydratedInstance(hydrationParentFiber, fiber);
28492      isHydrating = false;
28493      hydrationParentFiber = fiber;
28494      return;
28495    } // We matched the next one, we'll now assume that the first one was
28496    // superfluous and we'll delete it. Since we can't eagerly delete it
28497    // we'll have to schedule a deletion. To do that, this node needs a dummy
28498    // fiber associated with it.
28499
28500
28501    deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance);
28502  }
28503
28504  hydrationParentFiber = fiber;
28505  nextHydratableInstance = getFirstHydratableChild(nextInstance);
28506}
28507
28508function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {
28509
28510  var instance = fiber.stateNode;
28511  var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); // TODO: Type this specific to this type of component.
28512
28513  fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there
28514  // is a new ref we mark this as an update.
28515
28516  if (updatePayload !== null) {
28517    return true;
28518  }
28519
28520  return false;
28521}
28522
28523function prepareToHydrateHostTextInstance(fiber) {
28524
28525  var textInstance = fiber.stateNode;
28526  var textContent = fiber.memoizedProps;
28527  var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);
28528
28529  {
28530    if (shouldUpdate) {
28531      // We assume that prepareToHydrateHostTextInstance is called in a context where the
28532      // hydration parent is the parent host component of this host text.
28533      var returnFiber = hydrationParentFiber;
28534
28535      if (returnFiber !== null) {
28536        switch (returnFiber.tag) {
28537          case HostRoot:
28538            {
28539              var parentContainer = returnFiber.stateNode.containerInfo;
28540              didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent);
28541              break;
28542            }
28543
28544          case HostComponent:
28545            {
28546              var parentType = returnFiber.type;
28547              var parentProps = returnFiber.memoizedProps;
28548              var parentInstance = returnFiber.stateNode;
28549              didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent);
28550              break;
28551            }
28552        }
28553      }
28554    }
28555  }
28556
28557  return shouldUpdate;
28558}
28559
28560function skipPastDehydratedSuspenseInstance(fiber) {
28561
28562  var suspenseState = fiber.memoizedState;
28563  var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;
28564
28565  if (!suspenseInstance) {
28566    {
28567      throw Error( "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." );
28568    }
28569  }
28570
28571  return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);
28572}
28573
28574function popToNextHostParent(fiber) {
28575  var parent = fiber.return;
28576
28577  while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {
28578    parent = parent.return;
28579  }
28580
28581  hydrationParentFiber = parent;
28582}
28583
28584function popHydrationState(fiber) {
28585
28586  if (fiber !== hydrationParentFiber) {
28587    // We're deeper than the current hydration context, inside an inserted
28588    // tree.
28589    return false;
28590  }
28591
28592  if (!isHydrating) {
28593    // If we're not currently hydrating but we're in a hydration context, then
28594    // we were an insertion and now need to pop up reenter hydration of our
28595    // siblings.
28596    popToNextHostParent(fiber);
28597    isHydrating = true;
28598    return false;
28599  }
28600
28601  var type = fiber.type; // If we have any remaining hydratable nodes, we need to delete them now.
28602  // We only do this deeper than head and body since they tend to have random
28603  // other nodes in them. We also ignore components with pure text content in
28604  // side of them.
28605  // TODO: Better heuristic.
28606
28607  if (fiber.tag !== HostComponent || type !== 'head' && type !== 'body' && !shouldSetTextContent(type, fiber.memoizedProps)) {
28608    var nextInstance = nextHydratableInstance;
28609
28610    while (nextInstance) {
28611      deleteHydratableInstance(fiber, nextInstance);
28612      nextInstance = getNextHydratableSibling(nextInstance);
28613    }
28614  }
28615
28616  popToNextHostParent(fiber);
28617
28618  if (fiber.tag === SuspenseComponent) {
28619    nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);
28620  } else {
28621    nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;
28622  }
28623
28624  return true;
28625}
28626
28627function resetHydrationState() {
28628
28629  hydrationParentFiber = null;
28630  nextHydratableInstance = null;
28631  isHydrating = false;
28632}
28633
28634var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
28635var didReceiveUpdate = false;
28636var didWarnAboutBadClass;
28637var didWarnAboutModulePatternComponent;
28638var didWarnAboutContextTypeOnFunctionComponent;
28639var didWarnAboutGetDerivedStateOnFunctionComponent;
28640var didWarnAboutFunctionRefs;
28641var didWarnAboutReassigningProps;
28642var didWarnAboutRevealOrder;
28643var didWarnAboutTailOptions;
28644
28645{
28646  didWarnAboutBadClass = {};
28647  didWarnAboutModulePatternComponent = {};
28648  didWarnAboutContextTypeOnFunctionComponent = {};
28649  didWarnAboutGetDerivedStateOnFunctionComponent = {};
28650  didWarnAboutFunctionRefs = {};
28651  didWarnAboutReassigningProps = false;
28652  didWarnAboutRevealOrder = {};
28653  didWarnAboutTailOptions = {};
28654}
28655
28656function reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime) {
28657  if (current === null) {
28658    // If this is a fresh new component that hasn't been rendered yet, we
28659    // won't update its child set by applying minimal side-effects. Instead,
28660    // we will add them all to the child before it gets rendered. That means
28661    // we can optimize this reconciliation pass by not tracking side-effects.
28662    workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
28663  } else {
28664    // If the current child is the same as the work in progress, it means that
28665    // we haven't yet started any work on these children. Therefore, we use
28666    // the clone algorithm to create a copy of all the current children.
28667    // If we had any progressed work already, that is invalid at this point so
28668    // let's throw it out.
28669    workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime);
28670  }
28671}
28672
28673function forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime) {
28674  // This function is fork of reconcileChildren. It's used in cases where we
28675  // want to reconcile without matching against the existing set. This has the
28676  // effect of all current children being unmounted; even if the type and key
28677  // are the same, the old child is unmounted and a new child is created.
28678  //
28679  // To do this, we're going to go through the reconcile algorithm twice. In
28680  // the first pass, we schedule a deletion for all the current children by
28681  // passing null.
28682  workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderExpirationTime); // In the second pass, we mount the new children. The trick here is that we
28683  // pass null in place of where we usually pass the current child set. This has
28684  // the effect of remounting all children regardless of whether their
28685  // identities match.
28686
28687  workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
28688}
28689
28690function updateForwardRef(current, workInProgress, Component, nextProps, renderExpirationTime) {
28691  // TODO: current can be non-null here even if the component
28692  // hasn't yet mounted. This happens after the first render suspends.
28693  // We'll need to figure out if this is fine or can cause issues.
28694  {
28695    if (workInProgress.type !== workInProgress.elementType) {
28696      // Lazy component props can't be validated in createElement
28697      // because they're only guaranteed to be resolved here.
28698      var innerPropTypes = Component.propTypes;
28699
28700      if (innerPropTypes) {
28701        checkPropTypes(innerPropTypes, nextProps, // Resolved props
28702        'prop', getComponentName(Component), getCurrentFiberStackInDev);
28703      }
28704    }
28705  }
28706
28707  var render = Component.render;
28708  var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent
28709
28710  var nextChildren;
28711  prepareToReadContext(workInProgress, renderExpirationTime);
28712
28713  {
28714    ReactCurrentOwner$1.current = workInProgress;
28715    setIsRendering(true);
28716    nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);
28717
28718    if ( workInProgress.mode & StrictMode) {
28719      // Only double-render components with Hooks
28720      if (workInProgress.memoizedState !== null) {
28721        nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);
28722      }
28723    }
28724
28725    setIsRendering(false);
28726  }
28727
28728  if (current !== null && !didReceiveUpdate) {
28729    bailoutHooks(current, workInProgress, renderExpirationTime);
28730    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
28731  } // React DevTools reads this flag.
28732
28733
28734  workInProgress.effectTag |= PerformedWork;
28735  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
28736  return workInProgress.child;
28737}
28738
28739function updateMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {
28740  if (current === null) {
28741    var type = Component.type;
28742
28743    if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
28744    Component.defaultProps === undefined) {
28745      var resolvedType = type;
28746
28747      {
28748        resolvedType = resolveFunctionForHotReloading(type);
28749      } // If this is a plain function component without default props,
28750      // and with only the default shallow comparison, we upgrade it
28751      // to a SimpleMemoComponent to allow fast path updates.
28752
28753
28754      workInProgress.tag = SimpleMemoComponent;
28755      workInProgress.type = resolvedType;
28756
28757      {
28758        validateFunctionComponentInDev(workInProgress, type);
28759      }
28760
28761      return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, updateExpirationTime, renderExpirationTime);
28762    }
28763
28764    {
28765      var innerPropTypes = type.propTypes;
28766
28767      if (innerPropTypes) {
28768        // Inner memo component props aren't currently validated in createElement.
28769        // We could move it there, but we'd still need this for lazy code path.
28770        checkPropTypes(innerPropTypes, nextProps, // Resolved props
28771        'prop', getComponentName(type), getCurrentFiberStackInDev);
28772      }
28773    }
28774
28775    var child = createFiberFromTypeAndProps(Component.type, null, nextProps, null, workInProgress.mode, renderExpirationTime);
28776    child.ref = workInProgress.ref;
28777    child.return = workInProgress;
28778    workInProgress.child = child;
28779    return child;
28780  }
28781
28782  {
28783    var _type = Component.type;
28784    var _innerPropTypes = _type.propTypes;
28785
28786    if (_innerPropTypes) {
28787      // Inner memo component props aren't currently validated in createElement.
28788      // We could move it there, but we'd still need this for lazy code path.
28789      checkPropTypes(_innerPropTypes, nextProps, // Resolved props
28790      'prop', getComponentName(_type), getCurrentFiberStackInDev);
28791    }
28792  }
28793
28794  var currentChild = current.child; // This is always exactly one child
28795
28796  if (updateExpirationTime < renderExpirationTime) {
28797    // This will be the props with resolved defaultProps,
28798    // unlike current.memoizedProps which will be the unresolved ones.
28799    var prevProps = currentChild.memoizedProps; // Default to shallow comparison
28800
28801    var compare = Component.compare;
28802    compare = compare !== null ? compare : shallowEqual;
28803
28804    if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {
28805      return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
28806    }
28807  } // React DevTools reads this flag.
28808
28809
28810  workInProgress.effectTag |= PerformedWork;
28811  var newChild = createWorkInProgress(currentChild, nextProps);
28812  newChild.ref = workInProgress.ref;
28813  newChild.return = workInProgress;
28814  workInProgress.child = newChild;
28815  return newChild;
28816}
28817
28818function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {
28819  // TODO: current can be non-null here even if the component
28820  // hasn't yet mounted. This happens when the inner render suspends.
28821  // We'll need to figure out if this is fine or can cause issues.
28822  {
28823    if (workInProgress.type !== workInProgress.elementType) {
28824      // Lazy component props can't be validated in createElement
28825      // because they're only guaranteed to be resolved here.
28826      var outerMemoType = workInProgress.elementType;
28827
28828      if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {
28829        // We warn when you define propTypes on lazy()
28830        // so let's just skip over it to find memo() outer wrapper.
28831        // Inner props for memo are validated later.
28832        outerMemoType = refineResolvedLazyComponent(outerMemoType);
28833      }
28834
28835      var outerPropTypes = outerMemoType && outerMemoType.propTypes;
28836
28837      if (outerPropTypes) {
28838        checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)
28839        'prop', getComponentName(outerMemoType), getCurrentFiberStackInDev);
28840      } // Inner propTypes will be validated in the function component path.
28841
28842    }
28843  }
28844
28845  if (current !== null) {
28846    var prevProps = current.memoizedProps;
28847
28848    if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.
28849     workInProgress.type === current.type )) {
28850      didReceiveUpdate = false;
28851
28852      if (updateExpirationTime < renderExpirationTime) {
28853        // The pending update priority was cleared at the beginning of
28854        // beginWork. We're about to bail out, but there might be additional
28855        // updates at a lower priority. Usually, the priority level of the
28856        // remaining updates is accumlated during the evaluation of the
28857        // component (i.e. when processing the update queue). But since since
28858        // we're bailing out early *without* evaluating the component, we need
28859        // to account for it here, too. Reset to the value of the current fiber.
28860        // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,
28861        // because a MemoComponent fiber does not have hooks or an update queue;
28862        // rather, it wraps around an inner component, which may or may not
28863        // contains hooks.
28864        // TODO: Move the reset at in beginWork out of the common path so that
28865        // this is no longer necessary.
28866        workInProgress.expirationTime = current.expirationTime;
28867        return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
28868      }
28869    }
28870  }
28871
28872  return updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime);
28873}
28874
28875function updateFragment(current, workInProgress, renderExpirationTime) {
28876  var nextChildren = workInProgress.pendingProps;
28877  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
28878  return workInProgress.child;
28879}
28880
28881function updateMode(current, workInProgress, renderExpirationTime) {
28882  var nextChildren = workInProgress.pendingProps.children;
28883  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
28884  return workInProgress.child;
28885}
28886
28887function updateProfiler(current, workInProgress, renderExpirationTime) {
28888  {
28889    workInProgress.effectTag |= Update;
28890  }
28891
28892  var nextProps = workInProgress.pendingProps;
28893  var nextChildren = nextProps.children;
28894  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
28895  return workInProgress.child;
28896}
28897
28898function markRef(current, workInProgress) {
28899  var ref = workInProgress.ref;
28900
28901  if (current === null && ref !== null || current !== null && current.ref !== ref) {
28902    // Schedule a Ref effect
28903    workInProgress.effectTag |= Ref;
28904  }
28905}
28906
28907function updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime) {
28908  {
28909    if (workInProgress.type !== workInProgress.elementType) {
28910      // Lazy component props can't be validated in createElement
28911      // because they're only guaranteed to be resolved here.
28912      var innerPropTypes = Component.propTypes;
28913
28914      if (innerPropTypes) {
28915        checkPropTypes(innerPropTypes, nextProps, // Resolved props
28916        'prop', getComponentName(Component), getCurrentFiberStackInDev);
28917      }
28918    }
28919  }
28920
28921  var context;
28922
28923  {
28924    var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);
28925    context = getMaskedContext(workInProgress, unmaskedContext);
28926  }
28927
28928  var nextChildren;
28929  prepareToReadContext(workInProgress, renderExpirationTime);
28930
28931  {
28932    ReactCurrentOwner$1.current = workInProgress;
28933    setIsRendering(true);
28934    nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);
28935
28936    if ( workInProgress.mode & StrictMode) {
28937      // Only double-render components with Hooks
28938      if (workInProgress.memoizedState !== null) {
28939        nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);
28940      }
28941    }
28942
28943    setIsRendering(false);
28944  }
28945
28946  if (current !== null && !didReceiveUpdate) {
28947    bailoutHooks(current, workInProgress, renderExpirationTime);
28948    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
28949  } // React DevTools reads this flag.
28950
28951
28952  workInProgress.effectTag |= PerformedWork;
28953  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
28954  return workInProgress.child;
28955}
28956
28957function updateClassComponent(current, workInProgress, Component, nextProps, renderExpirationTime) {
28958  {
28959    if (workInProgress.type !== workInProgress.elementType) {
28960      // Lazy component props can't be validated in createElement
28961      // because they're only guaranteed to be resolved here.
28962      var innerPropTypes = Component.propTypes;
28963
28964      if (innerPropTypes) {
28965        checkPropTypes(innerPropTypes, nextProps, // Resolved props
28966        'prop', getComponentName(Component), getCurrentFiberStackInDev);
28967      }
28968    }
28969  } // Push context providers early to prevent context stack mismatches.
28970  // During mounting we don't know the child context yet as the instance doesn't exist.
28971  // We will invalidate the child context in finishClassComponent() right after rendering.
28972
28973
28974  var hasContext;
28975
28976  if (isContextProvider(Component)) {
28977    hasContext = true;
28978    pushContextProvider(workInProgress);
28979  } else {
28980    hasContext = false;
28981  }
28982
28983  prepareToReadContext(workInProgress, renderExpirationTime);
28984  var instance = workInProgress.stateNode;
28985  var shouldUpdate;
28986
28987  if (instance === null) {
28988    if (current !== null) {
28989      // A class component without an instance only mounts if it suspended
28990      // inside a non-concurrent tree, in an inconsistent state. We want to
28991      // treat it like a new mount, even though an empty version of it already
28992      // committed. Disconnect the alternate pointers.
28993      current.alternate = null;
28994      workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
28995
28996      workInProgress.effectTag |= Placement;
28997    } // In the initial pass we might need to construct the instance.
28998
28999
29000    constructClassInstance(workInProgress, Component, nextProps);
29001    mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);
29002    shouldUpdate = true;
29003  } else if (current === null) {
29004    // In a resume, we'll already have an instance we can reuse.
29005    shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);
29006  } else {
29007    shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderExpirationTime);
29008  }
29009
29010  var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime);
29011
29012  {
29013    var inst = workInProgress.stateNode;
29014
29015    if (inst.props !== nextProps) {
29016      if (!didWarnAboutReassigningProps) {
29017        error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentName(workInProgress.type) || 'a component');
29018      }
29019
29020      didWarnAboutReassigningProps = true;
29021    }
29022  }
29023
29024  return nextUnitOfWork;
29025}
29026
29027function finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime) {
29028  // Refs should update even if shouldComponentUpdate returns false
29029  markRef(current, workInProgress);
29030  var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect;
29031
29032  if (!shouldUpdate && !didCaptureError) {
29033    // Context providers should defer to sCU for rendering
29034    if (hasContext) {
29035      invalidateContextProvider(workInProgress, Component, false);
29036    }
29037
29038    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
29039  }
29040
29041  var instance = workInProgress.stateNode; // Rerender
29042
29043  ReactCurrentOwner$1.current = workInProgress;
29044  var nextChildren;
29045
29046  if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {
29047    // If we captured an error, but getDerivedStateFromError is not defined,
29048    // unmount all the children. componentDidCatch will schedule an update to
29049    // re-render a fallback. This is temporary until we migrate everyone to
29050    // the new API.
29051    // TODO: Warn in a future release.
29052    nextChildren = null;
29053
29054    {
29055      stopProfilerTimerIfRunning();
29056    }
29057  } else {
29058    {
29059      setIsRendering(true);
29060      nextChildren = instance.render();
29061
29062      if ( workInProgress.mode & StrictMode) {
29063        instance.render();
29064      }
29065
29066      setIsRendering(false);
29067    }
29068  } // React DevTools reads this flag.
29069
29070
29071  workInProgress.effectTag |= PerformedWork;
29072
29073  if (current !== null && didCaptureError) {
29074    // If we're recovering from an error, reconcile without reusing any of
29075    // the existing children. Conceptually, the normal children and the children
29076    // that are shown on error are two different sets, so we shouldn't reuse
29077    // normal children even if their identities match.
29078    forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime);
29079  } else {
29080    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
29081  } // Memoize state using the values we just used to render.
29082  // TODO: Restructure so we never read values from the instance.
29083
29084
29085  workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.
29086
29087  if (hasContext) {
29088    invalidateContextProvider(workInProgress, Component, true);
29089  }
29090
29091  return workInProgress.child;
29092}
29093
29094function pushHostRootContext(workInProgress) {
29095  var root = workInProgress.stateNode;
29096
29097  if (root.pendingContext) {
29098    pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);
29099  } else if (root.context) {
29100    // Should always be set
29101    pushTopLevelContextObject(workInProgress, root.context, false);
29102  }
29103
29104  pushHostContainer(workInProgress, root.containerInfo);
29105}
29106
29107function updateHostRoot(current, workInProgress, renderExpirationTime) {
29108  pushHostRootContext(workInProgress);
29109  var updateQueue = workInProgress.updateQueue;
29110
29111  if (!(current !== null && updateQueue !== null)) {
29112    {
29113      throw Error( "If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue." );
29114    }
29115  }
29116
29117  var nextProps = workInProgress.pendingProps;
29118  var prevState = workInProgress.memoizedState;
29119  var prevChildren = prevState !== null ? prevState.element : null;
29120  cloneUpdateQueue(current, workInProgress);
29121  processUpdateQueue(workInProgress, nextProps, null, renderExpirationTime);
29122  var nextState = workInProgress.memoizedState; // Caution: React DevTools currently depends on this property
29123  // being called "element".
29124
29125  var nextChildren = nextState.element;
29126
29127  if (nextChildren === prevChildren) {
29128    // If the state is the same as before, that's a bailout because we had
29129    // no work that expires at this time.
29130    resetHydrationState();
29131    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
29132  }
29133
29134  var root = workInProgress.stateNode;
29135
29136  if (root.hydrate && enterHydrationState(workInProgress)) {
29137    // If we don't have any current children this might be the first pass.
29138    // We always try to hydrate. If this isn't a hydration pass there won't
29139    // be any children to hydrate which is effectively the same thing as
29140    // not hydrating.
29141    var child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
29142    workInProgress.child = child;
29143    var node = child;
29144
29145    while (node) {
29146      // Mark each child as hydrating. This is a fast path to know whether this
29147      // tree is part of a hydrating tree. This is used to determine if a child
29148      // node has fully mounted yet, and for scheduling event replaying.
29149      // Conceptually this is similar to Placement in that a new subtree is
29150      // inserted into the React tree here. It just happens to not need DOM
29151      // mutations because it already exists.
29152      node.effectTag = node.effectTag & ~Placement | Hydrating;
29153      node = node.sibling;
29154    }
29155  } else {
29156    // Otherwise reset hydration state in case we aborted and resumed another
29157    // root.
29158    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
29159    resetHydrationState();
29160  }
29161
29162  return workInProgress.child;
29163}
29164
29165function updateHostComponent(current, workInProgress, renderExpirationTime) {
29166  pushHostContext(workInProgress);
29167
29168  if (current === null) {
29169    tryToClaimNextHydratableInstance(workInProgress);
29170  }
29171
29172  var type = workInProgress.type;
29173  var nextProps = workInProgress.pendingProps;
29174  var prevProps = current !== null ? current.memoizedProps : null;
29175  var nextChildren = nextProps.children;
29176  var isDirectTextChild = shouldSetTextContent(type, nextProps);
29177
29178  if (isDirectTextChild) {
29179    // We special case a direct text child of a host node. This is a common
29180    // case. We won't handle it as a reified child. We will instead handle
29181    // this in the host environment that also has access to this prop. That
29182    // avoids allocating another HostText fiber and traversing it.
29183    nextChildren = null;
29184  } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {
29185    // If we're switching from a direct text child to a normal child, or to
29186    // empty, we need to schedule the text content to be reset.
29187    workInProgress.effectTag |= ContentReset;
29188  }
29189
29190  markRef(current, workInProgress); // Check the host config to see if the children are offscreen/hidden.
29191
29192  if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(type, nextProps)) {
29193    {
29194      markSpawnedWork(Never);
29195    } // Schedule this fiber to re-render at offscreen priority. Then bailout.
29196
29197
29198    workInProgress.expirationTime = workInProgress.childExpirationTime = Never;
29199    return null;
29200  }
29201
29202  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
29203  return workInProgress.child;
29204}
29205
29206function updateHostText(current, workInProgress) {
29207  if (current === null) {
29208    tryToClaimNextHydratableInstance(workInProgress);
29209  } // Nothing to do here. This is terminal. We'll do the completion step
29210  // immediately after.
29211
29212
29213  return null;
29214}
29215
29216function mountLazyComponent(_current, workInProgress, elementType, updateExpirationTime, renderExpirationTime) {
29217  if (_current !== null) {
29218    // A lazy component only mounts if it suspended inside a non-
29219    // concurrent tree, in an inconsistent state. We want to treat it like
29220    // a new mount, even though an empty version of it already committed.
29221    // Disconnect the alternate pointers.
29222    _current.alternate = null;
29223    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
29224
29225    workInProgress.effectTag |= Placement;
29226  }
29227
29228  var props = workInProgress.pendingProps; // We can't start a User Timing measurement with correct label yet.
29229  // Cancel and resume right after we know the tag.
29230
29231  cancelWorkTimer(workInProgress);
29232  var Component = readLazyComponentType(elementType); // Store the unwrapped component in the type.
29233
29234  workInProgress.type = Component;
29235  var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);
29236  startWorkTimer(workInProgress);
29237  var resolvedProps = resolveDefaultProps(Component, props);
29238  var child;
29239
29240  switch (resolvedTag) {
29241    case FunctionComponent:
29242      {
29243        {
29244          validateFunctionComponentInDev(workInProgress, Component);
29245          workInProgress.type = Component = resolveFunctionForHotReloading(Component);
29246        }
29247
29248        child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime);
29249        return child;
29250      }
29251
29252    case ClassComponent:
29253      {
29254        {
29255          workInProgress.type = Component = resolveClassForHotReloading(Component);
29256        }
29257
29258        child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime);
29259        return child;
29260      }
29261
29262    case ForwardRef:
29263      {
29264        {
29265          workInProgress.type = Component = resolveForwardRefForHotReloading(Component);
29266        }
29267
29268        child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderExpirationTime);
29269        return child;
29270      }
29271
29272    case MemoComponent:
29273      {
29274        {
29275          if (workInProgress.type !== workInProgress.elementType) {
29276            var outerPropTypes = Component.propTypes;
29277
29278            if (outerPropTypes) {
29279              checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only
29280              'prop', getComponentName(Component), getCurrentFiberStackInDev);
29281            }
29282          }
29283        }
29284
29285        child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too
29286        updateExpirationTime, renderExpirationTime);
29287        return child;
29288      }
29289  }
29290
29291  var hint = '';
29292
29293  {
29294    if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {
29295      hint = ' Did you wrap a component in React.lazy() more than once?';
29296    }
29297  } // This message intentionally doesn't mention ForwardRef or MemoComponent
29298  // because the fact that it's a separate type of work is an
29299  // implementation detail.
29300
29301
29302  {
29303    {
29304      throw Error( "Element type is invalid. Received a promise that resolves to: " + Component + ". Lazy element type must resolve to a class or function." + hint );
29305    }
29306  }
29307}
29308
29309function mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderExpirationTime) {
29310  if (_current !== null) {
29311    // An incomplete component only mounts if it suspended inside a non-
29312    // concurrent tree, in an inconsistent state. We want to treat it like
29313    // a new mount, even though an empty version of it already committed.
29314    // Disconnect the alternate pointers.
29315    _current.alternate = null;
29316    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
29317
29318    workInProgress.effectTag |= Placement;
29319  } // Promote the fiber to a class and try rendering again.
29320
29321
29322  workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`
29323  // Push context providers early to prevent context stack mismatches.
29324  // During mounting we don't know the child context yet as the instance doesn't exist.
29325  // We will invalidate the child context in finishClassComponent() right after rendering.
29326
29327  var hasContext;
29328
29329  if (isContextProvider(Component)) {
29330    hasContext = true;
29331    pushContextProvider(workInProgress);
29332  } else {
29333    hasContext = false;
29334  }
29335
29336  prepareToReadContext(workInProgress, renderExpirationTime);
29337  constructClassInstance(workInProgress, Component, nextProps);
29338  mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);
29339  return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime);
29340}
29341
29342function mountIndeterminateComponent(_current, workInProgress, Component, renderExpirationTime) {
29343  if (_current !== null) {
29344    // An indeterminate component only mounts if it suspended inside a non-
29345    // concurrent tree, in an inconsistent state. We want to treat it like
29346    // a new mount, even though an empty version of it already committed.
29347    // Disconnect the alternate pointers.
29348    _current.alternate = null;
29349    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
29350
29351    workInProgress.effectTag |= Placement;
29352  }
29353
29354  var props = workInProgress.pendingProps;
29355  var context;
29356
29357  {
29358    var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);
29359    context = getMaskedContext(workInProgress, unmaskedContext);
29360  }
29361
29362  prepareToReadContext(workInProgress, renderExpirationTime);
29363  var value;
29364
29365  {
29366    if (Component.prototype && typeof Component.prototype.render === 'function') {
29367      var componentName = getComponentName(Component) || 'Unknown';
29368
29369      if (!didWarnAboutBadClass[componentName]) {
29370        error("The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);
29371
29372        didWarnAboutBadClass[componentName] = true;
29373      }
29374    }
29375
29376    if (workInProgress.mode & StrictMode) {
29377      ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);
29378    }
29379
29380    setIsRendering(true);
29381    ReactCurrentOwner$1.current = workInProgress;
29382    value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
29383    setIsRendering(false);
29384  } // React DevTools reads this flag.
29385
29386
29387  workInProgress.effectTag |= PerformedWork;
29388
29389  if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {
29390    {
29391      var _componentName = getComponentName(Component) || 'Unknown';
29392
29393      if (!didWarnAboutModulePatternComponent[_componentName]) {
29394        error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);
29395
29396        didWarnAboutModulePatternComponent[_componentName] = true;
29397      }
29398    } // Proceed under the assumption that this is a class instance
29399
29400
29401    workInProgress.tag = ClassComponent; // Throw out any hooks that were used.
29402
29403    workInProgress.memoizedState = null;
29404    workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.
29405    // During mounting we don't know the child context yet as the instance doesn't exist.
29406    // We will invalidate the child context in finishClassComponent() right after rendering.
29407
29408    var hasContext = false;
29409
29410    if (isContextProvider(Component)) {
29411      hasContext = true;
29412      pushContextProvider(workInProgress);
29413    } else {
29414      hasContext = false;
29415    }
29416
29417    workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;
29418    initializeUpdateQueue(workInProgress);
29419    var getDerivedStateFromProps = Component.getDerivedStateFromProps;
29420
29421    if (typeof getDerivedStateFromProps === 'function') {
29422      applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, props);
29423    }
29424
29425    adoptClassInstance(workInProgress, value);
29426    mountClassInstance(workInProgress, Component, props, renderExpirationTime);
29427    return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime);
29428  } else {
29429    // Proceed under the assumption that this is a function component
29430    workInProgress.tag = FunctionComponent;
29431
29432    {
29433
29434      if ( workInProgress.mode & StrictMode) {
29435        // Only double-render components with Hooks
29436        if (workInProgress.memoizedState !== null) {
29437          value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
29438        }
29439      }
29440    }
29441
29442    reconcileChildren(null, workInProgress, value, renderExpirationTime);
29443
29444    {
29445      validateFunctionComponentInDev(workInProgress, Component);
29446    }
29447
29448    return workInProgress.child;
29449  }
29450}
29451
29452function validateFunctionComponentInDev(workInProgress, Component) {
29453  {
29454    if (Component) {
29455      if (Component.childContextTypes) {
29456        error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');
29457      }
29458    }
29459
29460    if (workInProgress.ref !== null) {
29461      var info = '';
29462      var ownerName = getCurrentFiberOwnerNameInDevOrNull();
29463
29464      if (ownerName) {
29465        info += '\n\nCheck the render method of `' + ownerName + '`.';
29466      }
29467
29468      var warningKey = ownerName || workInProgress._debugID || '';
29469      var debugSource = workInProgress._debugSource;
29470
29471      if (debugSource) {
29472        warningKey = debugSource.fileName + ':' + debugSource.lineNumber;
29473      }
29474
29475      if (!didWarnAboutFunctionRefs[warningKey]) {
29476        didWarnAboutFunctionRefs[warningKey] = true;
29477
29478        error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);
29479      }
29480    }
29481
29482    if (typeof Component.getDerivedStateFromProps === 'function') {
29483      var _componentName2 = getComponentName(Component) || 'Unknown';
29484
29485      if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2]) {
29486        error('%s: Function components do not support getDerivedStateFromProps.', _componentName2);
29487
29488        didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2] = true;
29489      }
29490    }
29491
29492    if (typeof Component.contextType === 'object' && Component.contextType !== null) {
29493      var _componentName3 = getComponentName(Component) || 'Unknown';
29494
29495      if (!didWarnAboutContextTypeOnFunctionComponent[_componentName3]) {
29496        error('%s: Function components do not support contextType.', _componentName3);
29497
29498        didWarnAboutContextTypeOnFunctionComponent[_componentName3] = true;
29499      }
29500    }
29501  }
29502}
29503
29504var SUSPENDED_MARKER = {
29505  dehydrated: null,
29506  retryTime: NoWork
29507};
29508
29509function shouldRemainOnFallback(suspenseContext, current, workInProgress) {
29510  // If the context is telling us that we should show a fallback, and we're not
29511  // already showing content, then we should show the fallback instead.
29512  return hasSuspenseContext(suspenseContext, ForceSuspenseFallback) && (current === null || current.memoizedState !== null);
29513}
29514
29515function updateSuspenseComponent(current, workInProgress, renderExpirationTime) {
29516  var mode = workInProgress.mode;
29517  var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.
29518
29519  {
29520    if (shouldSuspend(workInProgress)) {
29521      workInProgress.effectTag |= DidCapture;
29522    }
29523  }
29524
29525  var suspenseContext = suspenseStackCursor.current;
29526  var nextDidTimeout = false;
29527  var didSuspend = (workInProgress.effectTag & DidCapture) !== NoEffect;
29528
29529  if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {
29530    // Something in this boundary's subtree already suspended. Switch to
29531    // rendering the fallback children.
29532    nextDidTimeout = true;
29533    workInProgress.effectTag &= ~DidCapture;
29534  } else {
29535    // Attempting the main content
29536    if (current === null || current.memoizedState !== null) {
29537      // This is a new mount or this boundary is already showing a fallback state.
29538      // Mark this subtree context as having at least one invisible parent that could
29539      // handle the fallback state.
29540      // Boundaries without fallbacks or should be avoided are not considered since
29541      // they cannot handle preferred fallback states.
29542      if (nextProps.fallback !== undefined && nextProps.unstable_avoidThisFallback !== true) {
29543        suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);
29544      }
29545    }
29546  }
29547
29548  suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
29549  pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to
29550  // showing the fallback children in place of the "primary" children.
29551  // However, we don't want to delete the primary children because then their
29552  // state will be lost (both the React state and the host state, e.g.
29553  // uncontrolled form inputs). Instead we keep them mounted and hide them.
29554  // Both the fallback children AND the primary children are rendered at the
29555  // same time. Once the primary children are un-suspended, we can delete
29556  // the fallback children — don't need to preserve their state.
29557  //
29558  // The two sets of children are siblings in the host environment, but
29559  // semantically, for purposes of reconciliation, they are two separate sets.
29560  // So we store them using two fragment fibers.
29561  //
29562  // However, we want to avoid allocating extra fibers for every placeholder.
29563  // They're only necessary when the children time out, because that's the
29564  // only time when both sets are mounted.
29565  //
29566  // So, the extra fragment fibers are only used if the children time out.
29567  // Otherwise, we render the primary children directly. This requires some
29568  // custom reconciliation logic to preserve the state of the primary
29569  // children. It's essentially a very basic form of re-parenting.
29570
29571  if (current === null) {
29572    // If we're currently hydrating, try to hydrate this boundary.
29573    // But only if this has a fallback.
29574    if (nextProps.fallback !== undefined) {
29575      tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.
29576    } // This is the initial mount. This branch is pretty simple because there's
29577    // no previous state that needs to be preserved.
29578
29579
29580    if (nextDidTimeout) {
29581      // Mount separate fragments for primary and fallback children.
29582      var nextFallbackChildren = nextProps.fallback;
29583      var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null);
29584      primaryChildFragment.return = workInProgress;
29585
29586      if ((workInProgress.mode & BlockingMode) === NoMode) {
29587        // Outside of blocking mode, we commit the effects from the
29588        // partially completed, timed-out tree, too.
29589        var progressedState = workInProgress.memoizedState;
29590        var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child;
29591        primaryChildFragment.child = progressedPrimaryChild;
29592        var progressedChild = progressedPrimaryChild;
29593
29594        while (progressedChild !== null) {
29595          progressedChild.return = primaryChildFragment;
29596          progressedChild = progressedChild.sibling;
29597        }
29598      }
29599
29600      var fallbackChildFragment = createFiberFromFragment(nextFallbackChildren, mode, renderExpirationTime, null);
29601      fallbackChildFragment.return = workInProgress;
29602      primaryChildFragment.sibling = fallbackChildFragment; // Skip the primary children, and continue working on the
29603      // fallback children.
29604
29605      workInProgress.memoizedState = SUSPENDED_MARKER;
29606      workInProgress.child = primaryChildFragment;
29607      return fallbackChildFragment;
29608    } else {
29609      // Mount the primary children without an intermediate fragment fiber.
29610      var nextPrimaryChildren = nextProps.children;
29611      workInProgress.memoizedState = null;
29612      return workInProgress.child = mountChildFibers(workInProgress, null, nextPrimaryChildren, renderExpirationTime);
29613    }
29614  } else {
29615    // This is an update. This branch is more complicated because we need to
29616    // ensure the state of the primary children is preserved.
29617    var prevState = current.memoizedState;
29618
29619    if (prevState !== null) {
29620      // wrapped in a fragment fiber.
29621
29622
29623      var currentPrimaryChildFragment = current.child;
29624      var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;
29625
29626      if (nextDidTimeout) {
29627        // Still timed out. Reuse the current primary children by cloning
29628        // its fragment. We're going to skip over these entirely.
29629        var _nextFallbackChildren2 = nextProps.fallback;
29630
29631        var _primaryChildFragment2 = createWorkInProgress(currentPrimaryChildFragment, currentPrimaryChildFragment.pendingProps);
29632
29633        _primaryChildFragment2.return = workInProgress;
29634
29635        if ((workInProgress.mode & BlockingMode) === NoMode) {
29636          // Outside of blocking mode, we commit the effects from the
29637          // partially completed, timed-out tree, too.
29638          var _progressedState = workInProgress.memoizedState;
29639
29640          var _progressedPrimaryChild = _progressedState !== null ? workInProgress.child.child : workInProgress.child;
29641
29642          if (_progressedPrimaryChild !== currentPrimaryChildFragment.child) {
29643            _primaryChildFragment2.child = _progressedPrimaryChild;
29644            var _progressedChild2 = _progressedPrimaryChild;
29645
29646            while (_progressedChild2 !== null) {
29647              _progressedChild2.return = _primaryChildFragment2;
29648              _progressedChild2 = _progressedChild2.sibling;
29649            }
29650          }
29651        } // Because primaryChildFragment is a new fiber that we're inserting as the
29652        // parent of a new tree, we need to set its treeBaseDuration.
29653
29654
29655        if ( workInProgress.mode & ProfileMode) {
29656          // treeBaseDuration is the sum of all the child tree base durations.
29657          var _treeBaseDuration = 0;
29658          var _hiddenChild = _primaryChildFragment2.child;
29659
29660          while (_hiddenChild !== null) {
29661            _treeBaseDuration += _hiddenChild.treeBaseDuration;
29662            _hiddenChild = _hiddenChild.sibling;
29663          }
29664
29665          _primaryChildFragment2.treeBaseDuration = _treeBaseDuration;
29666        } // Clone the fallback child fragment, too. These we'll continue
29667        // working on.
29668
29669
29670        var _fallbackChildFragment2 = createWorkInProgress(currentFallbackChildFragment, _nextFallbackChildren2);
29671
29672        _fallbackChildFragment2.return = workInProgress;
29673        _primaryChildFragment2.sibling = _fallbackChildFragment2;
29674        _primaryChildFragment2.childExpirationTime = NoWork; // Skip the primary children, and continue working on the
29675        // fallback children.
29676
29677        workInProgress.memoizedState = SUSPENDED_MARKER;
29678        workInProgress.child = _primaryChildFragment2;
29679        return _fallbackChildFragment2;
29680      } else {
29681        // No longer suspended. Switch back to showing the primary children,
29682        // and remove the intermediate fragment fiber.
29683        var _nextPrimaryChildren = nextProps.children;
29684        var currentPrimaryChild = currentPrimaryChildFragment.child;
29685        var primaryChild = reconcileChildFibers(workInProgress, currentPrimaryChild, _nextPrimaryChildren, renderExpirationTime); // If this render doesn't suspend, we need to delete the fallback
29686        // children. Wait until the complete phase, after we've confirmed the
29687        // fallback is no longer needed.
29688        // TODO: Would it be better to store the fallback fragment on
29689        // the stateNode?
29690        // Continue rendering the children, like we normally do.
29691
29692        workInProgress.memoizedState = null;
29693        return workInProgress.child = primaryChild;
29694      }
29695    } else {
29696      // The current tree has not already timed out. That means the primary
29697      // children are not wrapped in a fragment fiber.
29698      var _currentPrimaryChild = current.child;
29699
29700      if (nextDidTimeout) {
29701        // Timed out. Wrap the children in a fragment fiber to keep them
29702        // separate from the fallback children.
29703        var _nextFallbackChildren3 = nextProps.fallback;
29704
29705        var _primaryChildFragment3 = createFiberFromFragment( // It shouldn't matter what the pending props are because we aren't
29706        // going to render this fragment.
29707        null, mode, NoWork, null);
29708
29709        _primaryChildFragment3.return = workInProgress;
29710        _primaryChildFragment3.child = _currentPrimaryChild;
29711
29712        if (_currentPrimaryChild !== null) {
29713          _currentPrimaryChild.return = _primaryChildFragment3;
29714        } // Even though we're creating a new fiber, there are no new children,
29715        // because we're reusing an already mounted tree. So we don't need to
29716        // schedule a placement.
29717        // primaryChildFragment.effectTag |= Placement;
29718
29719
29720        if ((workInProgress.mode & BlockingMode) === NoMode) {
29721          // Outside of blocking mode, we commit the effects from the
29722          // partially completed, timed-out tree, too.
29723          var _progressedState2 = workInProgress.memoizedState;
29724
29725          var _progressedPrimaryChild2 = _progressedState2 !== null ? workInProgress.child.child : workInProgress.child;
29726
29727          _primaryChildFragment3.child = _progressedPrimaryChild2;
29728          var _progressedChild3 = _progressedPrimaryChild2;
29729
29730          while (_progressedChild3 !== null) {
29731            _progressedChild3.return = _primaryChildFragment3;
29732            _progressedChild3 = _progressedChild3.sibling;
29733          }
29734        } // Because primaryChildFragment is a new fiber that we're inserting as the
29735        // parent of a new tree, we need to set its treeBaseDuration.
29736
29737
29738        if ( workInProgress.mode & ProfileMode) {
29739          // treeBaseDuration is the sum of all the child tree base durations.
29740          var _treeBaseDuration2 = 0;
29741          var _hiddenChild2 = _primaryChildFragment3.child;
29742
29743          while (_hiddenChild2 !== null) {
29744            _treeBaseDuration2 += _hiddenChild2.treeBaseDuration;
29745            _hiddenChild2 = _hiddenChild2.sibling;
29746          }
29747
29748          _primaryChildFragment3.treeBaseDuration = _treeBaseDuration2;
29749        } // Create a fragment from the fallback children, too.
29750
29751
29752        var _fallbackChildFragment3 = createFiberFromFragment(_nextFallbackChildren3, mode, renderExpirationTime, null);
29753
29754        _fallbackChildFragment3.return = workInProgress;
29755        _primaryChildFragment3.sibling = _fallbackChildFragment3;
29756        _fallbackChildFragment3.effectTag |= Placement;
29757        _primaryChildFragment3.childExpirationTime = NoWork; // Skip the primary children, and continue working on the
29758        // fallback children.
29759
29760        workInProgress.memoizedState = SUSPENDED_MARKER;
29761        workInProgress.child = _primaryChildFragment3;
29762        return _fallbackChildFragment3;
29763      } else {
29764        // Still haven't timed out. Continue rendering the children, like we
29765        // normally do.
29766        workInProgress.memoizedState = null;
29767        var _nextPrimaryChildren2 = nextProps.children;
29768        return workInProgress.child = reconcileChildFibers(workInProgress, _currentPrimaryChild, _nextPrimaryChildren2, renderExpirationTime);
29769      }
29770    }
29771  }
29772}
29773
29774function scheduleWorkOnFiber(fiber, renderExpirationTime) {
29775  if (fiber.expirationTime < renderExpirationTime) {
29776    fiber.expirationTime = renderExpirationTime;
29777  }
29778
29779  var alternate = fiber.alternate;
29780
29781  if (alternate !== null && alternate.expirationTime < renderExpirationTime) {
29782    alternate.expirationTime = renderExpirationTime;
29783  }
29784
29785  scheduleWorkOnParentPath(fiber.return, renderExpirationTime);
29786}
29787
29788function propagateSuspenseContextChange(workInProgress, firstChild, renderExpirationTime) {
29789  // Mark any Suspense boundaries with fallbacks as having work to do.
29790  // If they were previously forced into fallbacks, they may now be able
29791  // to unblock.
29792  var node = firstChild;
29793
29794  while (node !== null) {
29795    if (node.tag === SuspenseComponent) {
29796      var state = node.memoizedState;
29797
29798      if (state !== null) {
29799        scheduleWorkOnFiber(node, renderExpirationTime);
29800      }
29801    } else if (node.tag === SuspenseListComponent) {
29802      // If the tail is hidden there might not be an Suspense boundaries
29803      // to schedule work on. In this case we have to schedule it on the
29804      // list itself.
29805      // We don't have to traverse to the children of the list since
29806      // the list will propagate the change when it rerenders.
29807      scheduleWorkOnFiber(node, renderExpirationTime);
29808    } else if (node.child !== null) {
29809      node.child.return = node;
29810      node = node.child;
29811      continue;
29812    }
29813
29814    if (node === workInProgress) {
29815      return;
29816    }
29817
29818    while (node.sibling === null) {
29819      if (node.return === null || node.return === workInProgress) {
29820        return;
29821      }
29822
29823      node = node.return;
29824    }
29825
29826    node.sibling.return = node.return;
29827    node = node.sibling;
29828  }
29829}
29830
29831function findLastContentRow(firstChild) {
29832  // This is going to find the last row among these children that is already
29833  // showing content on the screen, as opposed to being in fallback state or
29834  // new. If a row has multiple Suspense boundaries, any of them being in the
29835  // fallback state, counts as the whole row being in a fallback state.
29836  // Note that the "rows" will be workInProgress, but any nested children
29837  // will still be current since we haven't rendered them yet. The mounted
29838  // order may not be the same as the new order. We use the new order.
29839  var row = firstChild;
29840  var lastContentRow = null;
29841
29842  while (row !== null) {
29843    var currentRow = row.alternate; // New rows can't be content rows.
29844
29845    if (currentRow !== null && findFirstSuspended(currentRow) === null) {
29846      lastContentRow = row;
29847    }
29848
29849    row = row.sibling;
29850  }
29851
29852  return lastContentRow;
29853}
29854
29855function validateRevealOrder(revealOrder) {
29856  {
29857    if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {
29858      didWarnAboutRevealOrder[revealOrder] = true;
29859
29860      if (typeof revealOrder === 'string') {
29861        switch (revealOrder.toLowerCase()) {
29862          case 'together':
29863          case 'forwards':
29864          case 'backwards':
29865            {
29866              error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase "%s" instead.', revealOrder, revealOrder.toLowerCase());
29867
29868              break;
29869            }
29870
29871          case 'forward':
29872          case 'backward':
29873            {
29874              error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use "%ss" instead.', revealOrder, revealOrder.toLowerCase());
29875
29876              break;
29877            }
29878
29879          default:
29880            error('"%s" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder);
29881
29882            break;
29883        }
29884      } else {
29885        error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder);
29886      }
29887    }
29888  }
29889}
29890
29891function validateTailOptions(tailMode, revealOrder) {
29892  {
29893    if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {
29894      if (tailMode !== 'collapsed' && tailMode !== 'hidden') {
29895        didWarnAboutTailOptions[tailMode] = true;
29896
29897        error('"%s" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean "collapsed" or "hidden"?', tailMode);
29898      } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {
29899        didWarnAboutTailOptions[tailMode] = true;
29900
29901        error('<SuspenseList tail="%s" /> is only valid if revealOrder is ' + '"forwards" or "backwards". ' + 'Did you mean to specify revealOrder="forwards"?', tailMode);
29902      }
29903    }
29904  }
29905}
29906
29907function validateSuspenseListNestedChild(childSlot, index) {
29908  {
29909    var isArray = Array.isArray(childSlot);
29910    var isIterable = !isArray && typeof getIteratorFn(childSlot) === 'function';
29911
29912    if (isArray || isIterable) {
29913      var type = isArray ? 'array' : 'iterable';
29914
29915      error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);
29916
29917      return false;
29918    }
29919  }
29920
29921  return true;
29922}
29923
29924function validateSuspenseListChildren(children, revealOrder) {
29925  {
29926    if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {
29927      if (Array.isArray(children)) {
29928        for (var i = 0; i < children.length; i++) {
29929          if (!validateSuspenseListNestedChild(children[i], i)) {
29930            return;
29931          }
29932        }
29933      } else {
29934        var iteratorFn = getIteratorFn(children);
29935
29936        if (typeof iteratorFn === 'function') {
29937          var childrenIterator = iteratorFn.call(children);
29938
29939          if (childrenIterator) {
29940            var step = childrenIterator.next();
29941            var _i = 0;
29942
29943            for (; !step.done; step = childrenIterator.next()) {
29944              if (!validateSuspenseListNestedChild(step.value, _i)) {
29945                return;
29946              }
29947
29948              _i++;
29949            }
29950          }
29951        } else {
29952          error('A single row was passed to a <SuspenseList revealOrder="%s" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);
29953        }
29954      }
29955    }
29956  }
29957}
29958
29959function initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode, lastEffectBeforeRendering) {
29960  var renderState = workInProgress.memoizedState;
29961
29962  if (renderState === null) {
29963    workInProgress.memoizedState = {
29964      isBackwards: isBackwards,
29965      rendering: null,
29966      renderingStartTime: 0,
29967      last: lastContentRow,
29968      tail: tail,
29969      tailExpiration: 0,
29970      tailMode: tailMode,
29971      lastEffect: lastEffectBeforeRendering
29972    };
29973  } else {
29974    // We can reuse the existing object from previous renders.
29975    renderState.isBackwards = isBackwards;
29976    renderState.rendering = null;
29977    renderState.renderingStartTime = 0;
29978    renderState.last = lastContentRow;
29979    renderState.tail = tail;
29980    renderState.tailExpiration = 0;
29981    renderState.tailMode = tailMode;
29982    renderState.lastEffect = lastEffectBeforeRendering;
29983  }
29984} // This can end up rendering this component multiple passes.
29985// The first pass splits the children fibers into two sets. A head and tail.
29986// We first render the head. If anything is in fallback state, we do another
29987// pass through beginWork to rerender all children (including the tail) with
29988// the force suspend context. If the first render didn't have anything in
29989// in fallback state. Then we render each row in the tail one-by-one.
29990// That happens in the completeWork phase without going back to beginWork.
29991
29992
29993function updateSuspenseListComponent(current, workInProgress, renderExpirationTime) {
29994  var nextProps = workInProgress.pendingProps;
29995  var revealOrder = nextProps.revealOrder;
29996  var tailMode = nextProps.tail;
29997  var newChildren = nextProps.children;
29998  validateRevealOrder(revealOrder);
29999  validateTailOptions(tailMode, revealOrder);
30000  validateSuspenseListChildren(newChildren, revealOrder);
30001  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);
30002  var suspenseContext = suspenseStackCursor.current;
30003  var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);
30004
30005  if (shouldForceFallback) {
30006    suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);
30007    workInProgress.effectTag |= DidCapture;
30008  } else {
30009    var didSuspendBefore = current !== null && (current.effectTag & DidCapture) !== NoEffect;
30010
30011    if (didSuspendBefore) {
30012      // If we previously forced a fallback, we need to schedule work
30013      // on any nested boundaries to let them know to try to render
30014      // again. This is the same as context updating.
30015      propagateSuspenseContextChange(workInProgress, workInProgress.child, renderExpirationTime);
30016    }
30017
30018    suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
30019  }
30020
30021  pushSuspenseContext(workInProgress, suspenseContext);
30022
30023  if ((workInProgress.mode & BlockingMode) === NoMode) {
30024    // Outside of blocking mode, SuspenseList doesn't work so we just
30025    // use make it a noop by treating it as the default revealOrder.
30026    workInProgress.memoizedState = null;
30027  } else {
30028    switch (revealOrder) {
30029      case 'forwards':
30030        {
30031          var lastContentRow = findLastContentRow(workInProgress.child);
30032          var tail;
30033
30034          if (lastContentRow === null) {
30035            // The whole list is part of the tail.
30036            // TODO: We could fast path by just rendering the tail now.
30037            tail = workInProgress.child;
30038            workInProgress.child = null;
30039          } else {
30040            // Disconnect the tail rows after the content row.
30041            // We're going to render them separately later.
30042            tail = lastContentRow.sibling;
30043            lastContentRow.sibling = null;
30044          }
30045
30046          initSuspenseListRenderState(workInProgress, false, // isBackwards
30047          tail, lastContentRow, tailMode, workInProgress.lastEffect);
30048          break;
30049        }
30050
30051      case 'backwards':
30052        {
30053          // We're going to find the first row that has existing content.
30054          // At the same time we're going to reverse the list of everything
30055          // we pass in the meantime. That's going to be our tail in reverse
30056          // order.
30057          var _tail = null;
30058          var row = workInProgress.child;
30059          workInProgress.child = null;
30060
30061          while (row !== null) {
30062            var currentRow = row.alternate; // New rows can't be content rows.
30063
30064            if (currentRow !== null && findFirstSuspended(currentRow) === null) {
30065              // This is the beginning of the main content.
30066              workInProgress.child = row;
30067              break;
30068            }
30069
30070            var nextRow = row.sibling;
30071            row.sibling = _tail;
30072            _tail = row;
30073            row = nextRow;
30074          } // TODO: If workInProgress.child is null, we can continue on the tail immediately.
30075
30076
30077          initSuspenseListRenderState(workInProgress, true, // isBackwards
30078          _tail, null, // last
30079          tailMode, workInProgress.lastEffect);
30080          break;
30081        }
30082
30083      case 'together':
30084        {
30085          initSuspenseListRenderState(workInProgress, false, // isBackwards
30086          null, // tail
30087          null, // last
30088          undefined, workInProgress.lastEffect);
30089          break;
30090        }
30091
30092      default:
30093        {
30094          // The default reveal order is the same as not having
30095          // a boundary.
30096          workInProgress.memoizedState = null;
30097        }
30098    }
30099  }
30100
30101  return workInProgress.child;
30102}
30103
30104function updatePortalComponent(current, workInProgress, renderExpirationTime) {
30105  pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
30106  var nextChildren = workInProgress.pendingProps;
30107
30108  if (current === null) {
30109    // Portals are special because we don't append the children during mount
30110    // but at commit. Therefore we need to track insertions which the normal
30111    // flow doesn't do during mount. This doesn't happen at the root because
30112    // the root always starts with a "current" with a null child.
30113    // TODO: Consider unifying this with how the root works.
30114    workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
30115  } else {
30116    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
30117  }
30118
30119  return workInProgress.child;
30120}
30121
30122function updateContextProvider(current, workInProgress, renderExpirationTime) {
30123  var providerType = workInProgress.type;
30124  var context = providerType._context;
30125  var newProps = workInProgress.pendingProps;
30126  var oldProps = workInProgress.memoizedProps;
30127  var newValue = newProps.value;
30128
30129  {
30130    var providerPropTypes = workInProgress.type.propTypes;
30131
30132    if (providerPropTypes) {
30133      checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider', getCurrentFiberStackInDev);
30134    }
30135  }
30136
30137  pushProvider(workInProgress, newValue);
30138
30139  if (oldProps !== null) {
30140    var oldValue = oldProps.value;
30141    var changedBits = calculateChangedBits(context, newValue, oldValue);
30142
30143    if (changedBits === 0) {
30144      // No change. Bailout early if children are the same.
30145      if (oldProps.children === newProps.children && !hasContextChanged()) {
30146        return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
30147      }
30148    } else {
30149      // The context value changed. Search for matching consumers and schedule
30150      // them to update.
30151      propagateContextChange(workInProgress, context, changedBits, renderExpirationTime);
30152    }
30153  }
30154
30155  var newChildren = newProps.children;
30156  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);
30157  return workInProgress.child;
30158}
30159
30160var hasWarnedAboutUsingContextAsConsumer = false;
30161
30162function updateContextConsumer(current, workInProgress, renderExpirationTime) {
30163  var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In
30164  // DEV mode, we create a separate object for Context.Consumer that acts
30165  // like a proxy to Context. This proxy object adds unnecessary code in PROD
30166  // so we use the old behaviour (Context.Consumer references Context) to
30167  // reduce size and overhead. The separate object references context via
30168  // a property called "_context", which also gives us the ability to check
30169  // in DEV mode if this property exists or not and warn if it does not.
30170
30171  {
30172    if (context._context === undefined) {
30173      // This may be because it's a Context (rather than a Consumer).
30174      // Or it may be because it's older React where they're the same thing.
30175      // We only want to warn if we're sure it's a new React.
30176      if (context !== context.Consumer) {
30177        if (!hasWarnedAboutUsingContextAsConsumer) {
30178          hasWarnedAboutUsingContextAsConsumer = true;
30179
30180          error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
30181        }
30182      }
30183    } else {
30184      context = context._context;
30185    }
30186  }
30187
30188  var newProps = workInProgress.pendingProps;
30189  var render = newProps.children;
30190
30191  {
30192    if (typeof render !== 'function') {
30193      error('A context consumer was rendered with multiple children, or a child ' + "that isn't a function. A context consumer expects a single child " + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');
30194    }
30195  }
30196
30197  prepareToReadContext(workInProgress, renderExpirationTime);
30198  var newValue = readContext(context, newProps.unstable_observedBits);
30199  var newChildren;
30200
30201  {
30202    ReactCurrentOwner$1.current = workInProgress;
30203    setIsRendering(true);
30204    newChildren = render(newValue);
30205    setIsRendering(false);
30206  } // React DevTools reads this flag.
30207
30208
30209  workInProgress.effectTag |= PerformedWork;
30210  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);
30211  return workInProgress.child;
30212}
30213
30214function markWorkInProgressReceivedUpdate() {
30215  didReceiveUpdate = true;
30216}
30217
30218function bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime) {
30219  cancelWorkTimer(workInProgress);
30220
30221  if (current !== null) {
30222    // Reuse previous dependencies
30223    workInProgress.dependencies = current.dependencies;
30224  }
30225
30226  {
30227    // Don't update "base" render times for bailouts.
30228    stopProfilerTimerIfRunning();
30229  }
30230
30231  var updateExpirationTime = workInProgress.expirationTime;
30232
30233  if (updateExpirationTime !== NoWork) {
30234    markUnprocessedUpdateTime(updateExpirationTime);
30235  } // Check if the children have any pending work.
30236
30237
30238  var childExpirationTime = workInProgress.childExpirationTime;
30239
30240  if (childExpirationTime < renderExpirationTime) {
30241    // The children don't have any work either. We can skip them.
30242    // TODO: Once we add back resuming, we should check if the children are
30243    // a work-in-progress set. If so, we need to transfer their effects.
30244    return null;
30245  } else {
30246    // This fiber doesn't have work, but its subtree does. Clone the child
30247    // fibers and continue.
30248    cloneChildFibers(current, workInProgress);
30249    return workInProgress.child;
30250  }
30251}
30252
30253function remountFiber(current, oldWorkInProgress, newWorkInProgress) {
30254  {
30255    var returnFiber = oldWorkInProgress.return;
30256
30257    if (returnFiber === null) {
30258      throw new Error('Cannot swap the root fiber.');
30259    } // Disconnect from the old current.
30260    // It will get deleted.
30261
30262
30263    current.alternate = null;
30264    oldWorkInProgress.alternate = null; // Connect to the new tree.
30265
30266    newWorkInProgress.index = oldWorkInProgress.index;
30267    newWorkInProgress.sibling = oldWorkInProgress.sibling;
30268    newWorkInProgress.return = oldWorkInProgress.return;
30269    newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.
30270
30271    if (oldWorkInProgress === returnFiber.child) {
30272      returnFiber.child = newWorkInProgress;
30273    } else {
30274      var prevSibling = returnFiber.child;
30275
30276      if (prevSibling === null) {
30277        throw new Error('Expected parent to have a child.');
30278      }
30279
30280      while (prevSibling.sibling !== oldWorkInProgress) {
30281        prevSibling = prevSibling.sibling;
30282
30283        if (prevSibling === null) {
30284          throw new Error('Expected to find the previous sibling.');
30285        }
30286      }
30287
30288      prevSibling.sibling = newWorkInProgress;
30289    } // Delete the old fiber and place the new one.
30290    // Since the old fiber is disconnected, we have to schedule it manually.
30291
30292
30293    var last = returnFiber.lastEffect;
30294
30295    if (last !== null) {
30296      last.nextEffect = current;
30297      returnFiber.lastEffect = current;
30298    } else {
30299      returnFiber.firstEffect = returnFiber.lastEffect = current;
30300    }
30301
30302    current.nextEffect = null;
30303    current.effectTag = Deletion;
30304    newWorkInProgress.effectTag |= Placement; // Restart work from the new fiber.
30305
30306    return newWorkInProgress;
30307  }
30308}
30309
30310function beginWork(current, workInProgress, renderExpirationTime) {
30311  var updateExpirationTime = workInProgress.expirationTime;
30312
30313  {
30314    if (workInProgress._debugNeedsRemount && current !== null) {
30315      // This will restart the begin phase with a new fiber.
30316      return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.expirationTime));
30317    }
30318  }
30319
30320  if (current !== null) {
30321    var oldProps = current.memoizedProps;
30322    var newProps = workInProgress.pendingProps;
30323
30324    if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:
30325     workInProgress.type !== current.type )) {
30326      // If props or context changed, mark the fiber as having performed work.
30327      // This may be unset if the props are determined to be equal later (memo).
30328      didReceiveUpdate = true;
30329    } else if (updateExpirationTime < renderExpirationTime) {
30330      didReceiveUpdate = false; // This fiber does not have any pending work. Bailout without entering
30331      // the begin phase. There's still some bookkeeping we that needs to be done
30332      // in this optimized path, mostly pushing stuff onto the stack.
30333
30334      switch (workInProgress.tag) {
30335        case HostRoot:
30336          pushHostRootContext(workInProgress);
30337          resetHydrationState();
30338          break;
30339
30340        case HostComponent:
30341          pushHostContext(workInProgress);
30342
30343          if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(workInProgress.type, newProps)) {
30344            {
30345              markSpawnedWork(Never);
30346            } // Schedule this fiber to re-render at offscreen priority. Then bailout.
30347
30348
30349            workInProgress.expirationTime = workInProgress.childExpirationTime = Never;
30350            return null;
30351          }
30352
30353          break;
30354
30355        case ClassComponent:
30356          {
30357            var Component = workInProgress.type;
30358
30359            if (isContextProvider(Component)) {
30360              pushContextProvider(workInProgress);
30361            }
30362
30363            break;
30364          }
30365
30366        case HostPortal:
30367          pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
30368          break;
30369
30370        case ContextProvider:
30371          {
30372            var newValue = workInProgress.memoizedProps.value;
30373            pushProvider(workInProgress, newValue);
30374            break;
30375          }
30376
30377        case Profiler:
30378          {
30379            // Profiler should only call onRender when one of its descendants actually rendered.
30380            var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
30381
30382            if (hasChildWork) {
30383              workInProgress.effectTag |= Update;
30384            }
30385          }
30386
30387          break;
30388
30389        case SuspenseComponent:
30390          {
30391            var state = workInProgress.memoizedState;
30392
30393            if (state !== null) {
30394              // whether to retry the primary children, or to skip over it and
30395              // go straight to the fallback. Check the priority of the primary
30396              // child fragment.
30397
30398
30399              var primaryChildFragment = workInProgress.child;
30400              var primaryChildExpirationTime = primaryChildFragment.childExpirationTime;
30401
30402              if (primaryChildExpirationTime !== NoWork && primaryChildExpirationTime >= renderExpirationTime) {
30403                // The primary children have pending work. Use the normal path
30404                // to attempt to render the primary children again.
30405                return updateSuspenseComponent(current, workInProgress, renderExpirationTime);
30406              } else {
30407                pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient
30408                // priority. Bailout.
30409
30410                var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
30411
30412                if (child !== null) {
30413                  // The fallback children have pending work. Skip over the
30414                  // primary children and work on the fallback.
30415                  return child.sibling;
30416                } else {
30417                  return null;
30418                }
30419              }
30420            } else {
30421              pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));
30422            }
30423
30424            break;
30425          }
30426
30427        case SuspenseListComponent:
30428          {
30429            var didSuspendBefore = (current.effectTag & DidCapture) !== NoEffect;
30430
30431            var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
30432
30433            if (didSuspendBefore) {
30434              if (_hasChildWork) {
30435                // If something was in fallback state last time, and we have all the
30436                // same children then we're still in progressive loading state.
30437                // Something might get unblocked by state updates or retries in the
30438                // tree which will affect the tail. So we need to use the normal
30439                // path to compute the correct tail.
30440                return updateSuspenseListComponent(current, workInProgress, renderExpirationTime);
30441              } // If none of the children had any work, that means that none of
30442              // them got retried so they'll still be blocked in the same way
30443              // as before. We can fast bail out.
30444
30445
30446              workInProgress.effectTag |= DidCapture;
30447            } // If nothing suspended before and we're rendering the same children,
30448            // then the tail doesn't matter. Anything new that suspends will work
30449            // in the "together" mode, so we can continue from the state we had.
30450
30451
30452            var renderState = workInProgress.memoizedState;
30453
30454            if (renderState !== null) {
30455              // Reset to the "together" mode in case we've started a different
30456              // update in the past but didn't complete it.
30457              renderState.rendering = null;
30458              renderState.tail = null;
30459            }
30460
30461            pushSuspenseContext(workInProgress, suspenseStackCursor.current);
30462
30463            if (_hasChildWork) {
30464              break;
30465            } else {
30466              // If none of the children had any work, that means that none of
30467              // them got retried so they'll still be blocked in the same way
30468              // as before. We can fast bail out.
30469              return null;
30470            }
30471          }
30472      }
30473
30474      return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
30475    } else {
30476      // An update was scheduled on this fiber, but there are no new props
30477      // nor legacy context. Set this to false. If an update queue or context
30478      // consumer produces a changed value, it will set this to true. Otherwise,
30479      // the component will assume the children have not changed and bail out.
30480      didReceiveUpdate = false;
30481    }
30482  } else {
30483    didReceiveUpdate = false;
30484  } // Before entering the begin phase, clear pending update priority.
30485  // TODO: This assumes that we're about to evaluate the component and process
30486  // the update queue. However, there's an exception: SimpleMemoComponent
30487  // sometimes bails out later in the begin phase. This indicates that we should
30488  // move this assignment out of the common path and into each branch.
30489
30490
30491  workInProgress.expirationTime = NoWork;
30492
30493  switch (workInProgress.tag) {
30494    case IndeterminateComponent:
30495      {
30496        return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderExpirationTime);
30497      }
30498
30499    case LazyComponent:
30500      {
30501        var elementType = workInProgress.elementType;
30502        return mountLazyComponent(current, workInProgress, elementType, updateExpirationTime, renderExpirationTime);
30503      }
30504
30505    case FunctionComponent:
30506      {
30507        var _Component = workInProgress.type;
30508        var unresolvedProps = workInProgress.pendingProps;
30509        var resolvedProps = workInProgress.elementType === _Component ? unresolvedProps : resolveDefaultProps(_Component, unresolvedProps);
30510        return updateFunctionComponent(current, workInProgress, _Component, resolvedProps, renderExpirationTime);
30511      }
30512
30513    case ClassComponent:
30514      {
30515        var _Component2 = workInProgress.type;
30516        var _unresolvedProps = workInProgress.pendingProps;
30517
30518        var _resolvedProps = workInProgress.elementType === _Component2 ? _unresolvedProps : resolveDefaultProps(_Component2, _unresolvedProps);
30519
30520        return updateClassComponent(current, workInProgress, _Component2, _resolvedProps, renderExpirationTime);
30521      }
30522
30523    case HostRoot:
30524      return updateHostRoot(current, workInProgress, renderExpirationTime);
30525
30526    case HostComponent:
30527      return updateHostComponent(current, workInProgress, renderExpirationTime);
30528
30529    case HostText:
30530      return updateHostText(current, workInProgress);
30531
30532    case SuspenseComponent:
30533      return updateSuspenseComponent(current, workInProgress, renderExpirationTime);
30534
30535    case HostPortal:
30536      return updatePortalComponent(current, workInProgress, renderExpirationTime);
30537
30538    case ForwardRef:
30539      {
30540        var type = workInProgress.type;
30541        var _unresolvedProps2 = workInProgress.pendingProps;
30542
30543        var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
30544
30545        return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderExpirationTime);
30546      }
30547
30548    case Fragment:
30549      return updateFragment(current, workInProgress, renderExpirationTime);
30550
30551    case Mode:
30552      return updateMode(current, workInProgress, renderExpirationTime);
30553
30554    case Profiler:
30555      return updateProfiler(current, workInProgress, renderExpirationTime);
30556
30557    case ContextProvider:
30558      return updateContextProvider(current, workInProgress, renderExpirationTime);
30559
30560    case ContextConsumer:
30561      return updateContextConsumer(current, workInProgress, renderExpirationTime);
30562
30563    case MemoComponent:
30564      {
30565        var _type2 = workInProgress.type;
30566        var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
30567
30568        var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);
30569
30570        {
30571          if (workInProgress.type !== workInProgress.elementType) {
30572            var outerPropTypes = _type2.propTypes;
30573
30574            if (outerPropTypes) {
30575              checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only
30576              'prop', getComponentName(_type2), getCurrentFiberStackInDev);
30577            }
30578          }
30579        }
30580
30581        _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);
30582        return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, updateExpirationTime, renderExpirationTime);
30583      }
30584
30585    case SimpleMemoComponent:
30586      {
30587        return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateExpirationTime, renderExpirationTime);
30588      }
30589
30590    case IncompleteClassComponent:
30591      {
30592        var _Component3 = workInProgress.type;
30593        var _unresolvedProps4 = workInProgress.pendingProps;
30594
30595        var _resolvedProps4 = workInProgress.elementType === _Component3 ? _unresolvedProps4 : resolveDefaultProps(_Component3, _unresolvedProps4);
30596
30597        return mountIncompleteClassComponent(current, workInProgress, _Component3, _resolvedProps4, renderExpirationTime);
30598      }
30599
30600    case SuspenseListComponent:
30601      {
30602        return updateSuspenseListComponent(current, workInProgress, renderExpirationTime);
30603      }
30604  }
30605
30606  {
30607    {
30608      throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." );
30609    }
30610  }
30611}
30612
30613function markUpdate(workInProgress) {
30614  // Tag the fiber with an update effect. This turns a Placement into
30615  // a PlacementAndUpdate.
30616  workInProgress.effectTag |= Update;
30617}
30618
30619function markRef$1(workInProgress) {
30620  workInProgress.effectTag |= Ref;
30621}
30622
30623var appendAllChildren;
30624var updateHostContainer;
30625var updateHostComponent$1;
30626var updateHostText$1;
30627
30628{
30629  // Mutation mode
30630  appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {
30631    // We only have the top Fiber that was created but we need recurse down its
30632    // children to find all the terminal nodes.
30633    var node = workInProgress.child;
30634
30635    while (node !== null) {
30636      if (node.tag === HostComponent || node.tag === HostText) {
30637        appendInitialChild(parent, node.stateNode);
30638      } else if (node.tag === HostPortal) ; else if (node.child !== null) {
30639        node.child.return = node;
30640        node = node.child;
30641        continue;
30642      }
30643
30644      if (node === workInProgress) {
30645        return;
30646      }
30647
30648      while (node.sibling === null) {
30649        if (node.return === null || node.return === workInProgress) {
30650          return;
30651        }
30652
30653        node = node.return;
30654      }
30655
30656      node.sibling.return = node.return;
30657      node = node.sibling;
30658    }
30659  };
30660
30661  updateHostContainer = function (workInProgress) {// Noop
30662  };
30663
30664  updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {
30665    // If we have an alternate, that means this is an update and we need to
30666    // schedule a side-effect to do the updates.
30667    var oldProps = current.memoizedProps;
30668
30669    if (oldProps === newProps) {
30670      // In mutation mode, this is sufficient for a bailout because
30671      // we won't touch this node even if children changed.
30672      return;
30673    } // If we get updated because one of our children updated, we don't
30674    // have newProps so we'll have to reuse them.
30675    // TODO: Split the update API as separate for the props vs. children.
30676    // Even better would be if children weren't special cased at all tho.
30677
30678
30679    var instance = workInProgress.stateNode;
30680    var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host
30681    // component is hitting the resume path. Figure out why. Possibly
30682    // related to `hidden`.
30683
30684    var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.
30685
30686    workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there
30687    // is a new ref we mark this as an update. All the work is done in commitWork.
30688
30689    if (updatePayload) {
30690      markUpdate(workInProgress);
30691    }
30692  };
30693
30694  updateHostText$1 = function (current, workInProgress, oldText, newText) {
30695    // If the text differs, mark it as an update. All the work in done in commitWork.
30696    if (oldText !== newText) {
30697      markUpdate(workInProgress);
30698    }
30699  };
30700}
30701
30702function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
30703  switch (renderState.tailMode) {
30704    case 'hidden':
30705      {
30706        // Any insertions at the end of the tail list after this point
30707        // should be invisible. If there are already mounted boundaries
30708        // anything before them are not considered for collapsing.
30709        // Therefore we need to go through the whole tail to find if
30710        // there are any.
30711        var tailNode = renderState.tail;
30712        var lastTailNode = null;
30713
30714        while (tailNode !== null) {
30715          if (tailNode.alternate !== null) {
30716            lastTailNode = tailNode;
30717          }
30718
30719          tailNode = tailNode.sibling;
30720        } // Next we're simply going to delete all insertions after the
30721        // last rendered item.
30722
30723
30724        if (lastTailNode === null) {
30725          // All remaining items in the tail are insertions.
30726          renderState.tail = null;
30727        } else {
30728          // Detach the insertion after the last node that was already
30729          // inserted.
30730          lastTailNode.sibling = null;
30731        }
30732
30733        break;
30734      }
30735
30736    case 'collapsed':
30737      {
30738        // Any insertions at the end of the tail list after this point
30739        // should be invisible. If there are already mounted boundaries
30740        // anything before them are not considered for collapsing.
30741        // Therefore we need to go through the whole tail to find if
30742        // there are any.
30743        var _tailNode = renderState.tail;
30744        var _lastTailNode = null;
30745
30746        while (_tailNode !== null) {
30747          if (_tailNode.alternate !== null) {
30748            _lastTailNode = _tailNode;
30749          }
30750
30751          _tailNode = _tailNode.sibling;
30752        } // Next we're simply going to delete all insertions after the
30753        // last rendered item.
30754
30755
30756        if (_lastTailNode === null) {
30757          // All remaining items in the tail are insertions.
30758          if (!hasRenderedATailFallback && renderState.tail !== null) {
30759            // We suspended during the head. We want to show at least one
30760            // row at the tail. So we'll keep on and cut off the rest.
30761            renderState.tail.sibling = null;
30762          } else {
30763            renderState.tail = null;
30764          }
30765        } else {
30766          // Detach the insertion after the last node that was already
30767          // inserted.
30768          _lastTailNode.sibling = null;
30769        }
30770
30771        break;
30772      }
30773  }
30774}
30775
30776function completeWork(current, workInProgress, renderExpirationTime) {
30777  var newProps = workInProgress.pendingProps;
30778
30779  switch (workInProgress.tag) {
30780    case IndeterminateComponent:
30781    case LazyComponent:
30782    case SimpleMemoComponent:
30783    case FunctionComponent:
30784    case ForwardRef:
30785    case Fragment:
30786    case Mode:
30787    case Profiler:
30788    case ContextConsumer:
30789    case MemoComponent:
30790      return null;
30791
30792    case ClassComponent:
30793      {
30794        var Component = workInProgress.type;
30795
30796        if (isContextProvider(Component)) {
30797          popContext(workInProgress);
30798        }
30799
30800        return null;
30801      }
30802
30803    case HostRoot:
30804      {
30805        popHostContainer(workInProgress);
30806        popTopLevelContextObject(workInProgress);
30807        var fiberRoot = workInProgress.stateNode;
30808
30809        if (fiberRoot.pendingContext) {
30810          fiberRoot.context = fiberRoot.pendingContext;
30811          fiberRoot.pendingContext = null;
30812        }
30813
30814        if (current === null || current.child === null) {
30815          // If we hydrated, pop so that we can delete any remaining children
30816          // that weren't hydrated.
30817          var wasHydrated = popHydrationState(workInProgress);
30818
30819          if (wasHydrated) {
30820            // If we hydrated, then we'll need to schedule an update for
30821            // the commit side-effects on the root.
30822            markUpdate(workInProgress);
30823          }
30824        }
30825
30826        updateHostContainer(workInProgress);
30827        return null;
30828      }
30829
30830    case HostComponent:
30831      {
30832        popHostContext(workInProgress);
30833        var rootContainerInstance = getRootHostContainer();
30834        var type = workInProgress.type;
30835
30836        if (current !== null && workInProgress.stateNode != null) {
30837          updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);
30838
30839          if (current.ref !== workInProgress.ref) {
30840            markRef$1(workInProgress);
30841          }
30842        } else {
30843          if (!newProps) {
30844            if (!(workInProgress.stateNode !== null)) {
30845              {
30846                throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." );
30847              }
30848            } // This can happen when we abort work.
30849
30850
30851            return null;
30852          }
30853
30854          var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context
30855          // "stack" as the parent. Then append children as we go in beginWork
30856          // or completeWork depending on whether we want to add them top->down or
30857          // bottom->up. Top->down is faster in IE11.
30858
30859          var _wasHydrated = popHydrationState(workInProgress);
30860
30861          if (_wasHydrated) {
30862            // TODO: Move this and createInstance step into the beginPhase
30863            // to consolidate.
30864            if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {
30865              // If changes to the hydrated node need to be applied at the
30866              // commit-phase we mark this as such.
30867              markUpdate(workInProgress);
30868            }
30869          } else {
30870            var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);
30871            appendAllChildren(instance, workInProgress, false, false); // This needs to be set before we mount Flare event listeners
30872
30873            workInProgress.stateNode = instance;
30874            // (eg DOM renderer supports auto-focus for certain elements).
30875            // Make sure such renderers get scheduled for later work.
30876
30877
30878            if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {
30879              markUpdate(workInProgress);
30880            }
30881          }
30882
30883          if (workInProgress.ref !== null) {
30884            // If there is a ref on a host node we need to schedule a callback
30885            markRef$1(workInProgress);
30886          }
30887        }
30888
30889        return null;
30890      }
30891
30892    case HostText:
30893      {
30894        var newText = newProps;
30895
30896        if (current && workInProgress.stateNode != null) {
30897          var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need
30898          // to schedule a side-effect to do the updates.
30899
30900          updateHostText$1(current, workInProgress, oldText, newText);
30901        } else {
30902          if (typeof newText !== 'string') {
30903            if (!(workInProgress.stateNode !== null)) {
30904              {
30905                throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." );
30906              }
30907            } // This can happen when we abort work.
30908
30909          }
30910
30911          var _rootContainerInstance = getRootHostContainer();
30912
30913          var _currentHostContext = getHostContext();
30914
30915          var _wasHydrated2 = popHydrationState(workInProgress);
30916
30917          if (_wasHydrated2) {
30918            if (prepareToHydrateHostTextInstance(workInProgress)) {
30919              markUpdate(workInProgress);
30920            }
30921          } else {
30922            workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);
30923          }
30924        }
30925
30926        return null;
30927      }
30928
30929    case SuspenseComponent:
30930      {
30931        popSuspenseContext(workInProgress);
30932        var nextState = workInProgress.memoizedState;
30933
30934        if ((workInProgress.effectTag & DidCapture) !== NoEffect) {
30935          // Something suspended. Re-render with the fallback children.
30936          workInProgress.expirationTime = renderExpirationTime; // Do not reset the effect list.
30937
30938          return workInProgress;
30939        }
30940
30941        var nextDidTimeout = nextState !== null;
30942        var prevDidTimeout = false;
30943
30944        if (current === null) {
30945          if (workInProgress.memoizedProps.fallback !== undefined) {
30946            popHydrationState(workInProgress);
30947          }
30948        } else {
30949          var prevState = current.memoizedState;
30950          prevDidTimeout = prevState !== null;
30951
30952          if (!nextDidTimeout && prevState !== null) {
30953            // We just switched from the fallback to the normal children.
30954            // Delete the fallback.
30955            // TODO: Would it be better to store the fallback fragment on
30956            // the stateNode during the begin phase?
30957            var currentFallbackChild = current.child.sibling;
30958
30959            if (currentFallbackChild !== null) {
30960              // Deletions go at the beginning of the return fiber's effect list
30961              var first = workInProgress.firstEffect;
30962
30963              if (first !== null) {
30964                workInProgress.firstEffect = currentFallbackChild;
30965                currentFallbackChild.nextEffect = first;
30966              } else {
30967                workInProgress.firstEffect = workInProgress.lastEffect = currentFallbackChild;
30968                currentFallbackChild.nextEffect = null;
30969              }
30970
30971              currentFallbackChild.effectTag = Deletion;
30972            }
30973          }
30974        }
30975
30976        if (nextDidTimeout && !prevDidTimeout) {
30977          // If this subtreee is running in blocking mode we can suspend,
30978          // otherwise we won't suspend.
30979          // TODO: This will still suspend a synchronous tree if anything
30980          // in the concurrent tree already suspended during this render.
30981          // This is a known bug.
30982          if ((workInProgress.mode & BlockingMode) !== NoMode) {
30983            // TODO: Move this back to throwException because this is too late
30984            // if this is a large tree which is common for initial loads. We
30985            // don't know if we should restart a render or not until we get
30986            // this marker, and this is too late.
30987            // If this render already had a ping or lower pri updates,
30988            // and this is the first time we know we're going to suspend we
30989            // should be able to immediately restart from within throwException.
30990            var hasInvisibleChildContext = current === null && workInProgress.memoizedProps.unstable_avoidThisFallback !== true;
30991
30992            if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {
30993              // If this was in an invisible tree or a new render, then showing
30994              // this boundary is ok.
30995              renderDidSuspend();
30996            } else {
30997              // Otherwise, we're going to have to hide content so we should
30998              // suspend for longer if possible.
30999              renderDidSuspendDelayIfPossible();
31000            }
31001          }
31002        }
31003
31004        {
31005          // TODO: Only schedule updates if these values are non equal, i.e. it changed.
31006          if (nextDidTimeout || prevDidTimeout) {
31007            // If this boundary just timed out, schedule an effect to attach a
31008            // retry listener to the promise. This flag is also used to hide the
31009            // primary children. In mutation mode, we also need the flag to
31010            // *unhide* children that were previously hidden, so check if this
31011            // is currently timed out, too.
31012            workInProgress.effectTag |= Update;
31013          }
31014        }
31015
31016        return null;
31017      }
31018
31019    case HostPortal:
31020      popHostContainer(workInProgress);
31021      updateHostContainer(workInProgress);
31022      return null;
31023
31024    case ContextProvider:
31025      // Pop provider fiber
31026      popProvider(workInProgress);
31027      return null;
31028
31029    case IncompleteClassComponent:
31030      {
31031        // Same as class component case. I put it down here so that the tags are
31032        // sequential to ensure this switch is compiled to a jump table.
31033        var _Component = workInProgress.type;
31034
31035        if (isContextProvider(_Component)) {
31036          popContext(workInProgress);
31037        }
31038
31039        return null;
31040      }
31041
31042    case SuspenseListComponent:
31043      {
31044        popSuspenseContext(workInProgress);
31045        var renderState = workInProgress.memoizedState;
31046
31047        if (renderState === null) {
31048          // We're running in the default, "independent" mode.
31049          // We don't do anything in this mode.
31050          return null;
31051        }
31052
31053        var didSuspendAlready = (workInProgress.effectTag & DidCapture) !== NoEffect;
31054        var renderedTail = renderState.rendering;
31055
31056        if (renderedTail === null) {
31057          // We just rendered the head.
31058          if (!didSuspendAlready) {
31059            // This is the first pass. We need to figure out if anything is still
31060            // suspended in the rendered set.
31061            // If new content unsuspended, but there's still some content that
31062            // didn't. Then we need to do a second pass that forces everything
31063            // to keep showing their fallbacks.
31064            // We might be suspended if something in this render pass suspended, or
31065            // something in the previous committed pass suspended. Otherwise,
31066            // there's no chance so we can skip the expensive call to
31067            // findFirstSuspended.
31068            var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.effectTag & DidCapture) === NoEffect);
31069
31070            if (!cannotBeSuspended) {
31071              var row = workInProgress.child;
31072
31073              while (row !== null) {
31074                var suspended = findFirstSuspended(row);
31075
31076                if (suspended !== null) {
31077                  didSuspendAlready = true;
31078                  workInProgress.effectTag |= DidCapture;
31079                  cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as
31080                  // part of the second pass. In that case nothing will subscribe to
31081                  // its thennables. Instead, we'll transfer its thennables to the
31082                  // SuspenseList so that it can retry if they resolve.
31083                  // There might be multiple of these in the list but since we're
31084                  // going to wait for all of them anyway, it doesn't really matter
31085                  // which ones gets to ping. In theory we could get clever and keep
31086                  // track of how many dependencies remain but it gets tricky because
31087                  // in the meantime, we can add/remove/change items and dependencies.
31088                  // We might bail out of the loop before finding any but that
31089                  // doesn't matter since that means that the other boundaries that
31090                  // we did find already has their listeners attached.
31091
31092                  var newThennables = suspended.updateQueue;
31093
31094                  if (newThennables !== null) {
31095                    workInProgress.updateQueue = newThennables;
31096                    workInProgress.effectTag |= Update;
31097                  } // Rerender the whole list, but this time, we'll force fallbacks
31098                  // to stay in place.
31099                  // Reset the effect list before doing the second pass since that's now invalid.
31100
31101
31102                  if (renderState.lastEffect === null) {
31103                    workInProgress.firstEffect = null;
31104                  }
31105
31106                  workInProgress.lastEffect = renderState.lastEffect; // Reset the child fibers to their original state.
31107
31108                  resetChildFibers(workInProgress, renderExpirationTime); // Set up the Suspense Context to force suspense and immediately
31109                  // rerender the children.
31110
31111                  pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback));
31112                  return workInProgress.child;
31113                }
31114
31115                row = row.sibling;
31116              }
31117            }
31118          } else {
31119            cutOffTailIfNeeded(renderState, false);
31120          } // Next we're going to render the tail.
31121
31122        } else {
31123          // Append the rendered row to the child list.
31124          if (!didSuspendAlready) {
31125            var _suspended = findFirstSuspended(renderedTail);
31126
31127            if (_suspended !== null) {
31128              workInProgress.effectTag |= DidCapture;
31129              didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't
31130              // get lost if this row ends up dropped during a second pass.
31131
31132              var _newThennables = _suspended.updateQueue;
31133
31134              if (_newThennables !== null) {
31135                workInProgress.updateQueue = _newThennables;
31136                workInProgress.effectTag |= Update;
31137              }
31138
31139              cutOffTailIfNeeded(renderState, true); // This might have been modified.
31140
31141              if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) {
31142                // We need to delete the row we just rendered.
31143                // Reset the effect list to what it was before we rendered this
31144                // child. The nested children have already appended themselves.
31145                var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point.
31146
31147                if (lastEffect !== null) {
31148                  lastEffect.nextEffect = null;
31149                } // We're done.
31150
31151
31152                return null;
31153              }
31154            } else if ( // The time it took to render last row is greater than time until
31155            // the expiration.
31156            now() * 2 - renderState.renderingStartTime > renderState.tailExpiration && renderExpirationTime > Never) {
31157              // We have now passed our CPU deadline and we'll just give up further
31158              // attempts to render the main content and only render fallbacks.
31159              // The assumption is that this is usually faster.
31160              workInProgress.effectTag |= DidCapture;
31161              didSuspendAlready = true;
31162              cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this
31163              // to get it started back up to attempt the next item. If we can show
31164              // them, then they really have the same priority as this render.
31165              // So we'll pick it back up the very next render pass once we've had
31166              // an opportunity to yield for paint.
31167
31168              var nextPriority = renderExpirationTime - 1;
31169              workInProgress.expirationTime = workInProgress.childExpirationTime = nextPriority;
31170
31171              {
31172                markSpawnedWork(nextPriority);
31173              }
31174            }
31175          }
31176
31177          if (renderState.isBackwards) {
31178            // The effect list of the backwards tail will have been added
31179            // to the end. This breaks the guarantee that life-cycles fire in
31180            // sibling order but that isn't a strong guarantee promised by React.
31181            // Especially since these might also just pop in during future commits.
31182            // Append to the beginning of the list.
31183            renderedTail.sibling = workInProgress.child;
31184            workInProgress.child = renderedTail;
31185          } else {
31186            var previousSibling = renderState.last;
31187
31188            if (previousSibling !== null) {
31189              previousSibling.sibling = renderedTail;
31190            } else {
31191              workInProgress.child = renderedTail;
31192            }
31193
31194            renderState.last = renderedTail;
31195          }
31196        }
31197
31198        if (renderState.tail !== null) {
31199          // We still have tail rows to render.
31200          if (renderState.tailExpiration === 0) {
31201            // Heuristic for how long we're willing to spend rendering rows
31202            // until we just give up and show what we have so far.
31203            var TAIL_EXPIRATION_TIMEOUT_MS = 500;
31204            renderState.tailExpiration = now() + TAIL_EXPIRATION_TIMEOUT_MS; // TODO: This is meant to mimic the train model or JND but this
31205            // is a per component value. It should really be since the start
31206            // of the total render or last commit. Consider using something like
31207            // globalMostRecentFallbackTime. That doesn't account for being
31208            // suspended for part of the time or when it's a new render.
31209            // It should probably use a global start time value instead.
31210          } // Pop a row.
31211
31212
31213          var next = renderState.tail;
31214          renderState.rendering = next;
31215          renderState.tail = next.sibling;
31216          renderState.lastEffect = workInProgress.lastEffect;
31217          renderState.renderingStartTime = now();
31218          next.sibling = null; // Restore the context.
31219          // TODO: We can probably just avoid popping it instead and only
31220          // setting it the first time we go from not suspended to suspended.
31221
31222          var suspenseContext = suspenseStackCursor.current;
31223
31224          if (didSuspendAlready) {
31225            suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);
31226          } else {
31227            suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
31228          }
31229
31230          pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.
31231
31232          return next;
31233        }
31234
31235        return null;
31236      }
31237  }
31238
31239  {
31240    {
31241      throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." );
31242    }
31243  }
31244}
31245
31246function unwindWork(workInProgress, renderExpirationTime) {
31247  switch (workInProgress.tag) {
31248    case ClassComponent:
31249      {
31250        var Component = workInProgress.type;
31251
31252        if (isContextProvider(Component)) {
31253          popContext(workInProgress);
31254        }
31255
31256        var effectTag = workInProgress.effectTag;
31257
31258        if (effectTag & ShouldCapture) {
31259          workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture;
31260          return workInProgress;
31261        }
31262
31263        return null;
31264      }
31265
31266    case HostRoot:
31267      {
31268        popHostContainer(workInProgress);
31269        popTopLevelContextObject(workInProgress);
31270        var _effectTag = workInProgress.effectTag;
31271
31272        if (!((_effectTag & DidCapture) === NoEffect)) {
31273          {
31274            throw Error( "The root failed to unmount after an error. This is likely a bug in React. Please file an issue." );
31275          }
31276        }
31277
31278        workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture;
31279        return workInProgress;
31280      }
31281
31282    case HostComponent:
31283      {
31284        // TODO: popHydrationState
31285        popHostContext(workInProgress);
31286        return null;
31287      }
31288
31289    case SuspenseComponent:
31290      {
31291        popSuspenseContext(workInProgress);
31292
31293        var _effectTag2 = workInProgress.effectTag;
31294
31295        if (_effectTag2 & ShouldCapture) {
31296          workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.
31297
31298          return workInProgress;
31299        }
31300
31301        return null;
31302      }
31303
31304    case SuspenseListComponent:
31305      {
31306        popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been
31307        // caught by a nested boundary. If not, it should bubble through.
31308
31309        return null;
31310      }
31311
31312    case HostPortal:
31313      popHostContainer(workInProgress);
31314      return null;
31315
31316    case ContextProvider:
31317      popProvider(workInProgress);
31318      return null;
31319
31320    default:
31321      return null;
31322  }
31323}
31324
31325function unwindInterruptedWork(interruptedWork) {
31326  switch (interruptedWork.tag) {
31327    case ClassComponent:
31328      {
31329        var childContextTypes = interruptedWork.type.childContextTypes;
31330
31331        if (childContextTypes !== null && childContextTypes !== undefined) {
31332          popContext(interruptedWork);
31333        }
31334
31335        break;
31336      }
31337
31338    case HostRoot:
31339      {
31340        popHostContainer(interruptedWork);
31341        popTopLevelContextObject(interruptedWork);
31342        break;
31343      }
31344
31345    case HostComponent:
31346      {
31347        popHostContext(interruptedWork);
31348        break;
31349      }
31350
31351    case HostPortal:
31352      popHostContainer(interruptedWork);
31353      break;
31354
31355    case SuspenseComponent:
31356      popSuspenseContext(interruptedWork);
31357      break;
31358
31359    case SuspenseListComponent:
31360      popSuspenseContext(interruptedWork);
31361      break;
31362
31363    case ContextProvider:
31364      popProvider(interruptedWork);
31365      break;
31366  }
31367}
31368
31369function createCapturedValue(value, source) {
31370  // If the value is an error, call this function immediately after it is thrown
31371  // so the stack is accurate.
31372  return {
31373    value: value,
31374    source: source,
31375    stack: getStackByFiberInDevAndProd(source)
31376  };
31377}
31378
31379function logCapturedError(capturedError) {
31380
31381  var error = capturedError.error;
31382
31383  {
31384    var componentName = capturedError.componentName,
31385        componentStack = capturedError.componentStack,
31386        errorBoundaryName = capturedError.errorBoundaryName,
31387        errorBoundaryFound = capturedError.errorBoundaryFound,
31388        willRetry = capturedError.willRetry; // Browsers support silencing uncaught errors by calling
31389    // `preventDefault()` in window `error` handler.
31390    // We record this information as an expando on the error.
31391
31392    if (error != null && error._suppressLogging) {
31393      if (errorBoundaryFound && willRetry) {
31394        // The error is recoverable and was silenced.
31395        // Ignore it and don't print the stack addendum.
31396        // This is handy for testing error boundaries without noise.
31397        return;
31398      } // The error is fatal. Since the silencing might have
31399      // been accidental, we'll surface it anyway.
31400      // However, the browser would have silenced the original error
31401      // so we'll print it first, and then print the stack addendum.
31402
31403
31404      console['error'](error); // Don't transform to our wrapper
31405      // For a more detailed description of this block, see:
31406      // https://github.com/facebook/react/pull/13384
31407    }
31408
31409    var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : 'The above error occurred in one of your React components:';
31410    var errorBoundaryMessage; // errorBoundaryFound check is sufficient; errorBoundaryName check is to satisfy Flow.
31411
31412    if (errorBoundaryFound && errorBoundaryName) {
31413      if (willRetry) {
31414        errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + ".");
31415      } else {
31416        errorBoundaryMessage = "This error was initially handled by the error boundary " + errorBoundaryName + ".\n" + "Recreating the tree from scratch failed so React will unmount the tree.";
31417      }
31418    } else {
31419      errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\n' + 'Visit https://fb.me/react-error-boundaries to learn more about error boundaries.';
31420    }
31421
31422    var combinedMessage = "" + componentNameMessage + componentStack + "\n\n" + ("" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.
31423    // We don't include the original error message and JS stack because the browser
31424    // has already printed it. Even if the application swallows the error, it is still
31425    // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.
31426
31427    console['error'](combinedMessage); // Don't transform to our wrapper
31428  }
31429}
31430
31431var didWarnAboutUndefinedSnapshotBeforeUpdate = null;
31432
31433{
31434  didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();
31435}
31436
31437var PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;
31438function logError(boundary, errorInfo) {
31439  var source = errorInfo.source;
31440  var stack = errorInfo.stack;
31441
31442  if (stack === null && source !== null) {
31443    stack = getStackByFiberInDevAndProd(source);
31444  }
31445
31446  var capturedError = {
31447    componentName: source !== null ? getComponentName(source.type) : null,
31448    componentStack: stack !== null ? stack : '',
31449    error: errorInfo.value,
31450    errorBoundary: null,
31451    errorBoundaryName: null,
31452    errorBoundaryFound: false,
31453    willRetry: false
31454  };
31455
31456  if (boundary !== null && boundary.tag === ClassComponent) {
31457    capturedError.errorBoundary = boundary.stateNode;
31458    capturedError.errorBoundaryName = getComponentName(boundary.type);
31459    capturedError.errorBoundaryFound = true;
31460    capturedError.willRetry = true;
31461  }
31462
31463  try {
31464    logCapturedError(capturedError);
31465  } catch (e) {
31466    // This method must not throw, or React internal state will get messed up.
31467    // If console.error is overridden, or logCapturedError() shows a dialog that throws,
31468    // we want to report this error outside of the normal stack as a last resort.
31469    // https://github.com/facebook/react/issues/13188
31470    setTimeout(function () {
31471      throw e;
31472    });
31473  }
31474}
31475
31476var callComponentWillUnmountWithTimer = function (current, instance) {
31477  startPhaseTimer(current, 'componentWillUnmount');
31478  instance.props = current.memoizedProps;
31479  instance.state = current.memoizedState;
31480  instance.componentWillUnmount();
31481  stopPhaseTimer();
31482}; // Capture errors so they don't interrupt unmounting.
31483
31484
31485function safelyCallComponentWillUnmount(current, instance) {
31486  {
31487    invokeGuardedCallback(null, callComponentWillUnmountWithTimer, null, current, instance);
31488
31489    if (hasCaughtError()) {
31490      var unmountError = clearCaughtError();
31491      captureCommitPhaseError(current, unmountError);
31492    }
31493  }
31494}
31495
31496function safelyDetachRef(current) {
31497  var ref = current.ref;
31498
31499  if (ref !== null) {
31500    if (typeof ref === 'function') {
31501      {
31502        invokeGuardedCallback(null, ref, null, null);
31503
31504        if (hasCaughtError()) {
31505          var refError = clearCaughtError();
31506          captureCommitPhaseError(current, refError);
31507        }
31508      }
31509    } else {
31510      ref.current = null;
31511    }
31512  }
31513}
31514
31515function safelyCallDestroy(current, destroy) {
31516  {
31517    invokeGuardedCallback(null, destroy, null);
31518
31519    if (hasCaughtError()) {
31520      var error = clearCaughtError();
31521      captureCommitPhaseError(current, error);
31522    }
31523  }
31524}
31525
31526function commitBeforeMutationLifeCycles(current, finishedWork) {
31527  switch (finishedWork.tag) {
31528    case FunctionComponent:
31529    case ForwardRef:
31530    case SimpleMemoComponent:
31531    case Block:
31532      {
31533        return;
31534      }
31535
31536    case ClassComponent:
31537      {
31538        if (finishedWork.effectTag & Snapshot) {
31539          if (current !== null) {
31540            var prevProps = current.memoizedProps;
31541            var prevState = current.memoizedState;
31542            startPhaseTimer(finishedWork, 'getSnapshotBeforeUpdate');
31543            var instance = finishedWork.stateNode; // We could update instance props and state here,
31544            // but instead we rely on them being set during last render.
31545            // TODO: revisit this when we implement resuming.
31546
31547            {
31548              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
31549                if (instance.props !== finishedWork.memoizedProps) {
31550                  error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31551                }
31552
31553                if (instance.state !== finishedWork.memoizedState) {
31554                  error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31555                }
31556              }
31557            }
31558
31559            var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);
31560
31561            {
31562              var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;
31563
31564              if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {
31565                didWarnSet.add(finishedWork.type);
31566
31567                error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentName(finishedWork.type));
31568              }
31569            }
31570
31571            instance.__reactInternalSnapshotBeforeUpdate = snapshot;
31572            stopPhaseTimer();
31573          }
31574        }
31575
31576        return;
31577      }
31578
31579    case HostRoot:
31580    case HostComponent:
31581    case HostText:
31582    case HostPortal:
31583    case IncompleteClassComponent:
31584      // Nothing to do for these component types
31585      return;
31586  }
31587
31588  {
31589    {
31590      throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." );
31591    }
31592  }
31593}
31594
31595function commitHookEffectListUnmount(tag, finishedWork) {
31596  var updateQueue = finishedWork.updateQueue;
31597  var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;
31598
31599  if (lastEffect !== null) {
31600    var firstEffect = lastEffect.next;
31601    var effect = firstEffect;
31602
31603    do {
31604      if ((effect.tag & tag) === tag) {
31605        // Unmount
31606        var destroy = effect.destroy;
31607        effect.destroy = undefined;
31608
31609        if (destroy !== undefined) {
31610          destroy();
31611        }
31612      }
31613
31614      effect = effect.next;
31615    } while (effect !== firstEffect);
31616  }
31617}
31618
31619function commitHookEffectListMount(tag, finishedWork) {
31620  var updateQueue = finishedWork.updateQueue;
31621  var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;
31622
31623  if (lastEffect !== null) {
31624    var firstEffect = lastEffect.next;
31625    var effect = firstEffect;
31626
31627    do {
31628      if ((effect.tag & tag) === tag) {
31629        // Mount
31630        var create = effect.create;
31631        effect.destroy = create();
31632
31633        {
31634          var destroy = effect.destroy;
31635
31636          if (destroy !== undefined && typeof destroy !== 'function') {
31637            var addendum = void 0;
31638
31639            if (destroy === null) {
31640              addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';
31641            } else if (typeof destroy.then === 'function') {
31642              addendum = '\n\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\n\n' + 'useEffect(() => {\n' + '  async function fetchData() {\n' + '    // You can await here\n' + '    const response = await MyAPI.getData(someId);\n' + '    // ...\n' + '  }\n' + '  fetchData();\n' + "}, [someId]); // Or [] if effect doesn't need props or state\n\n" + 'Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching';
31643            } else {
31644              addendum = ' You returned: ' + destroy;
31645            }
31646
31647            error('An effect function must not return anything besides a function, ' + 'which is used for clean-up.%s%s', addendum, getStackByFiberInDevAndProd(finishedWork));
31648          }
31649        }
31650      }
31651
31652      effect = effect.next;
31653    } while (effect !== firstEffect);
31654  }
31655}
31656
31657function commitPassiveHookEffects(finishedWork) {
31658  if ((finishedWork.effectTag & Passive) !== NoEffect) {
31659    switch (finishedWork.tag) {
31660      case FunctionComponent:
31661      case ForwardRef:
31662      case SimpleMemoComponent:
31663      case Block:
31664        {
31665          // TODO (#17945) We should call all passive destroy functions (for all fibers)
31666          // before calling any create functions. The current approach only serializes
31667          // these for a single fiber.
31668          commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork);
31669          commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);
31670          break;
31671        }
31672    }
31673  }
31674}
31675
31676function commitLifeCycles(finishedRoot, current, finishedWork, committedExpirationTime) {
31677  switch (finishedWork.tag) {
31678    case FunctionComponent:
31679    case ForwardRef:
31680    case SimpleMemoComponent:
31681    case Block:
31682      {
31683        // At this point layout effects have already been destroyed (during mutation phase).
31684        // This is done to prevent sibling component effects from interfering with each other,
31685        // e.g. a destroy function in one component should never override a ref set
31686        // by a create function in another component during the same commit.
31687        commitHookEffectListMount(Layout | HasEffect, finishedWork);
31688
31689        return;
31690      }
31691
31692    case ClassComponent:
31693      {
31694        var instance = finishedWork.stateNode;
31695
31696        if (finishedWork.effectTag & Update) {
31697          if (current === null) {
31698            startPhaseTimer(finishedWork, 'componentDidMount'); // We could update instance props and state here,
31699            // but instead we rely on them being set during last render.
31700            // TODO: revisit this when we implement resuming.
31701
31702            {
31703              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
31704                if (instance.props !== finishedWork.memoizedProps) {
31705                  error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31706                }
31707
31708                if (instance.state !== finishedWork.memoizedState) {
31709                  error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31710                }
31711              }
31712            }
31713
31714            instance.componentDidMount();
31715            stopPhaseTimer();
31716          } else {
31717            var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);
31718            var prevState = current.memoizedState;
31719            startPhaseTimer(finishedWork, 'componentDidUpdate'); // We could update instance props and state here,
31720            // but instead we rely on them being set during last render.
31721            // TODO: revisit this when we implement resuming.
31722
31723            {
31724              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
31725                if (instance.props !== finishedWork.memoizedProps) {
31726                  error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31727                }
31728
31729                if (instance.state !== finishedWork.memoizedState) {
31730                  error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31731                }
31732              }
31733            }
31734
31735            instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);
31736            stopPhaseTimer();
31737          }
31738        }
31739
31740        var updateQueue = finishedWork.updateQueue;
31741
31742        if (updateQueue !== null) {
31743          {
31744            if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
31745              if (instance.props !== finishedWork.memoizedProps) {
31746                error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31747              }
31748
31749              if (instance.state !== finishedWork.memoizedState) {
31750                error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
31751              }
31752            }
31753          } // We could update instance props and state here,
31754          // but instead we rely on them being set during last render.
31755          // TODO: revisit this when we implement resuming.
31756
31757
31758          commitUpdateQueue(finishedWork, updateQueue, instance);
31759        }
31760
31761        return;
31762      }
31763
31764    case HostRoot:
31765      {
31766        var _updateQueue = finishedWork.updateQueue;
31767
31768        if (_updateQueue !== null) {
31769          var _instance = null;
31770
31771          if (finishedWork.child !== null) {
31772            switch (finishedWork.child.tag) {
31773              case HostComponent:
31774                _instance = getPublicInstance(finishedWork.child.stateNode);
31775                break;
31776
31777              case ClassComponent:
31778                _instance = finishedWork.child.stateNode;
31779                break;
31780            }
31781          }
31782
31783          commitUpdateQueue(finishedWork, _updateQueue, _instance);
31784        }
31785
31786        return;
31787      }
31788
31789    case HostComponent:
31790      {
31791        var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted
31792        // (eg DOM renderer may schedule auto-focus for inputs and form controls).
31793        // These effects should only be committed when components are first mounted,
31794        // aka when there is no current/alternate.
31795
31796        if (current === null && finishedWork.effectTag & Update) {
31797          var type = finishedWork.type;
31798          var props = finishedWork.memoizedProps;
31799          commitMount(_instance2, type, props);
31800        }
31801
31802        return;
31803      }
31804
31805    case HostText:
31806      {
31807        // We have no life-cycles associated with text.
31808        return;
31809      }
31810
31811    case HostPortal:
31812      {
31813        // We have no life-cycles associated with portals.
31814        return;
31815      }
31816
31817    case Profiler:
31818      {
31819        {
31820          var onRender = finishedWork.memoizedProps.onRender;
31821
31822          if (typeof onRender === 'function') {
31823            {
31824              onRender(finishedWork.memoizedProps.id, current === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime(), finishedRoot.memoizedInteractions);
31825            }
31826          }
31827        }
31828
31829        return;
31830      }
31831
31832    case SuspenseComponent:
31833      {
31834        commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
31835        return;
31836      }
31837
31838    case SuspenseListComponent:
31839    case IncompleteClassComponent:
31840    case FundamentalComponent:
31841    case ScopeComponent:
31842      return;
31843  }
31844
31845  {
31846    {
31847      throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." );
31848    }
31849  }
31850}
31851
31852function hideOrUnhideAllChildren(finishedWork, isHidden) {
31853  {
31854    // We only have the top Fiber that was inserted but we need to recurse down its
31855    // children to find all the terminal nodes.
31856    var node = finishedWork;
31857
31858    while (true) {
31859      if (node.tag === HostComponent) {
31860        var instance = node.stateNode;
31861
31862        if (isHidden) {
31863          hideInstance(instance);
31864        } else {
31865          unhideInstance(node.stateNode, node.memoizedProps);
31866        }
31867      } else if (node.tag === HostText) {
31868        var _instance3 = node.stateNode;
31869
31870        if (isHidden) {
31871          hideTextInstance(_instance3);
31872        } else {
31873          unhideTextInstance(_instance3, node.memoizedProps);
31874        }
31875      } else if (node.tag === SuspenseComponent && node.memoizedState !== null && node.memoizedState.dehydrated === null) {
31876        // Found a nested Suspense component that timed out. Skip over the
31877        // primary child fragment, which should remain hidden.
31878        var fallbackChildFragment = node.child.sibling;
31879        fallbackChildFragment.return = node;
31880        node = fallbackChildFragment;
31881        continue;
31882      } else if (node.child !== null) {
31883        node.child.return = node;
31884        node = node.child;
31885        continue;
31886      }
31887
31888      if (node === finishedWork) {
31889        return;
31890      }
31891
31892      while (node.sibling === null) {
31893        if (node.return === null || node.return === finishedWork) {
31894          return;
31895        }
31896
31897        node = node.return;
31898      }
31899
31900      node.sibling.return = node.return;
31901      node = node.sibling;
31902    }
31903  }
31904}
31905
31906function commitAttachRef(finishedWork) {
31907  var ref = finishedWork.ref;
31908
31909  if (ref !== null) {
31910    var instance = finishedWork.stateNode;
31911    var instanceToUse;
31912
31913    switch (finishedWork.tag) {
31914      case HostComponent:
31915        instanceToUse = getPublicInstance(instance);
31916        break;
31917
31918      default:
31919        instanceToUse = instance;
31920    } // Moved outside to ensure DCE works with this flag
31921
31922    if (typeof ref === 'function') {
31923      ref(instanceToUse);
31924    } else {
31925      {
31926        if (!ref.hasOwnProperty('current')) {
31927          error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().%s', getComponentName(finishedWork.type), getStackByFiberInDevAndProd(finishedWork));
31928        }
31929      }
31930
31931      ref.current = instanceToUse;
31932    }
31933  }
31934}
31935
31936function commitDetachRef(current) {
31937  var currentRef = current.ref;
31938
31939  if (currentRef !== null) {
31940    if (typeof currentRef === 'function') {
31941      currentRef(null);
31942    } else {
31943      currentRef.current = null;
31944    }
31945  }
31946} // User-originating errors (lifecycles and refs) should not interrupt
31947// deletion, so don't let them throw. Host-originating errors should
31948// interrupt deletion, so it's okay
31949
31950
31951function commitUnmount(finishedRoot, current, renderPriorityLevel) {
31952  onCommitUnmount(current);
31953
31954  switch (current.tag) {
31955    case FunctionComponent:
31956    case ForwardRef:
31957    case MemoComponent:
31958    case SimpleMemoComponent:
31959    case Block:
31960      {
31961        var updateQueue = current.updateQueue;
31962
31963        if (updateQueue !== null) {
31964          var lastEffect = updateQueue.lastEffect;
31965
31966          if (lastEffect !== null) {
31967            var firstEffect = lastEffect.next;
31968
31969            {
31970              // When the owner fiber is deleted, the destroy function of a passive
31971              // effect hook is called during the synchronous commit phase. This is
31972              // a concession to implementation complexity. Calling it in the
31973              // passive effect phase (like they usually are, when dependencies
31974              // change during an update) would require either traversing the
31975              // children of the deleted fiber again, or including unmount effects
31976              // as part of the fiber effect list.
31977              //
31978              // Because this is during the sync commit phase, we need to change
31979              // the priority.
31980              //
31981              // TODO: Reconsider this implementation trade off.
31982              var priorityLevel = renderPriorityLevel > NormalPriority ? NormalPriority : renderPriorityLevel;
31983              runWithPriority$1(priorityLevel, function () {
31984                var effect = firstEffect;
31985
31986                do {
31987                  var _destroy = effect.destroy;
31988
31989                  if (_destroy !== undefined) {
31990                    safelyCallDestroy(current, _destroy);
31991                  }
31992
31993                  effect = effect.next;
31994                } while (effect !== firstEffect);
31995              });
31996            }
31997          }
31998        }
31999
32000        return;
32001      }
32002
32003    case ClassComponent:
32004      {
32005        safelyDetachRef(current);
32006        var instance = current.stateNode;
32007
32008        if (typeof instance.componentWillUnmount === 'function') {
32009          safelyCallComponentWillUnmount(current, instance);
32010        }
32011
32012        return;
32013      }
32014
32015    case HostComponent:
32016      {
32017
32018        safelyDetachRef(current);
32019        return;
32020      }
32021
32022    case HostPortal:
32023      {
32024        // TODO: this is recursive.
32025        // We are also not using this parent because
32026        // the portal will get pushed immediately.
32027        {
32028          unmountHostComponents(finishedRoot, current, renderPriorityLevel);
32029        }
32030
32031        return;
32032      }
32033
32034    case FundamentalComponent:
32035      {
32036
32037        return;
32038      }
32039
32040    case DehydratedFragment:
32041      {
32042
32043        return;
32044      }
32045
32046    case ScopeComponent:
32047      {
32048
32049        return;
32050      }
32051  }
32052}
32053
32054function commitNestedUnmounts(finishedRoot, root, renderPriorityLevel) {
32055  // While we're inside a removed host node we don't want to call
32056  // removeChild on the inner nodes because they're removed by the top
32057  // call anyway. We also want to call componentWillUnmount on all
32058  // composites before this host node is removed from the tree. Therefore
32059  // we do an inner loop while we're still inside the host node.
32060  var node = root;
32061
32062  while (true) {
32063    commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because they may contain more composite or host nodes.
32064    // Skip portals because commitUnmount() currently visits them recursively.
32065
32066    if (node.child !== null && ( // If we use mutation we drill down into portals using commitUnmount above.
32067    // If we don't use mutation we drill down into portals here instead.
32068     node.tag !== HostPortal)) {
32069      node.child.return = node;
32070      node = node.child;
32071      continue;
32072    }
32073
32074    if (node === root) {
32075      return;
32076    }
32077
32078    while (node.sibling === null) {
32079      if (node.return === null || node.return === root) {
32080        return;
32081      }
32082
32083      node = node.return;
32084    }
32085
32086    node.sibling.return = node.return;
32087    node = node.sibling;
32088  }
32089}
32090
32091function detachFiber(current) {
32092  var alternate = current.alternate; // Cut off the return pointers to disconnect it from the tree. Ideally, we
32093  // should clear the child pointer of the parent alternate to let this
32094  // get GC:ed but we don't know which for sure which parent is the current
32095  // one so we'll settle for GC:ing the subtree of this child. This child
32096  // itself will be GC:ed when the parent updates the next time.
32097
32098  current.return = null;
32099  current.child = null;
32100  current.memoizedState = null;
32101  current.updateQueue = null;
32102  current.dependencies = null;
32103  current.alternate = null;
32104  current.firstEffect = null;
32105  current.lastEffect = null;
32106  current.pendingProps = null;
32107  current.memoizedProps = null;
32108  current.stateNode = null;
32109
32110  if (alternate !== null) {
32111    detachFiber(alternate);
32112  }
32113}
32114
32115function getHostParentFiber(fiber) {
32116  var parent = fiber.return;
32117
32118  while (parent !== null) {
32119    if (isHostParent(parent)) {
32120      return parent;
32121    }
32122
32123    parent = parent.return;
32124  }
32125
32126  {
32127    {
32128      throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." );
32129    }
32130  }
32131}
32132
32133function isHostParent(fiber) {
32134  return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;
32135}
32136
32137function getHostSibling(fiber) {
32138  // We're going to search forward into the tree until we find a sibling host
32139  // node. Unfortunately, if multiple insertions are done in a row we have to
32140  // search past them. This leads to exponential search for the next sibling.
32141  // TODO: Find a more efficient way to do this.
32142  var node = fiber;
32143
32144  siblings: while (true) {
32145    // If we didn't find anything, let's try the next sibling.
32146    while (node.sibling === null) {
32147      if (node.return === null || isHostParent(node.return)) {
32148        // If we pop out of the root or hit the parent the fiber we are the
32149        // last sibling.
32150        return null;
32151      }
32152
32153      node = node.return;
32154    }
32155
32156    node.sibling.return = node.return;
32157    node = node.sibling;
32158
32159    while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {
32160      // If it is not host node and, we might have a host node inside it.
32161      // Try to search down until we find one.
32162      if (node.effectTag & Placement) {
32163        // If we don't have a child, try the siblings instead.
32164        continue siblings;
32165      } // If we don't have a child, try the siblings instead.
32166      // We also skip portals because they are not part of this host tree.
32167
32168
32169      if (node.child === null || node.tag === HostPortal) {
32170        continue siblings;
32171      } else {
32172        node.child.return = node;
32173        node = node.child;
32174      }
32175    } // Check if this host node is stable or about to be placed.
32176
32177
32178    if (!(node.effectTag & Placement)) {
32179      // Found it!
32180      return node.stateNode;
32181    }
32182  }
32183}
32184
32185function commitPlacement(finishedWork) {
32186
32187
32188  var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.
32189
32190  var parent;
32191  var isContainer;
32192  var parentStateNode = parentFiber.stateNode;
32193
32194  switch (parentFiber.tag) {
32195    case HostComponent:
32196      parent = parentStateNode;
32197      isContainer = false;
32198      break;
32199
32200    case HostRoot:
32201      parent = parentStateNode.containerInfo;
32202      isContainer = true;
32203      break;
32204
32205    case HostPortal:
32206      parent = parentStateNode.containerInfo;
32207      isContainer = true;
32208      break;
32209
32210    case FundamentalComponent:
32211
32212    // eslint-disable-next-line-no-fallthrough
32213
32214    default:
32215      {
32216        {
32217          throw Error( "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." );
32218        }
32219      }
32220
32221  }
32222
32223  if (parentFiber.effectTag & ContentReset) {
32224    // Reset the text content of the parent before doing any insertions
32225    resetTextContent(parent); // Clear ContentReset from the effect tag
32226
32227    parentFiber.effectTag &= ~ContentReset;
32228  }
32229
32230  var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its
32231  // children to find all the terminal nodes.
32232
32233  if (isContainer) {
32234    insertOrAppendPlacementNodeIntoContainer(finishedWork, before, parent);
32235  } else {
32236    insertOrAppendPlacementNode(finishedWork, before, parent);
32237  }
32238}
32239
32240function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
32241  var tag = node.tag;
32242  var isHost = tag === HostComponent || tag === HostText;
32243
32244  if (isHost || enableFundamentalAPI ) {
32245    var stateNode = isHost ? node.stateNode : node.stateNode.instance;
32246
32247    if (before) {
32248      insertInContainerBefore(parent, stateNode, before);
32249    } else {
32250      appendChildToContainer(parent, stateNode);
32251    }
32252  } else if (tag === HostPortal) ; else {
32253    var child = node.child;
32254
32255    if (child !== null) {
32256      insertOrAppendPlacementNodeIntoContainer(child, before, parent);
32257      var sibling = child.sibling;
32258
32259      while (sibling !== null) {
32260        insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);
32261        sibling = sibling.sibling;
32262      }
32263    }
32264  }
32265}
32266
32267function insertOrAppendPlacementNode(node, before, parent) {
32268  var tag = node.tag;
32269  var isHost = tag === HostComponent || tag === HostText;
32270
32271  if (isHost || enableFundamentalAPI ) {
32272    var stateNode = isHost ? node.stateNode : node.stateNode.instance;
32273
32274    if (before) {
32275      insertBefore(parent, stateNode, before);
32276    } else {
32277      appendChild(parent, stateNode);
32278    }
32279  } else if (tag === HostPortal) ; else {
32280    var child = node.child;
32281
32282    if (child !== null) {
32283      insertOrAppendPlacementNode(child, before, parent);
32284      var sibling = child.sibling;
32285
32286      while (sibling !== null) {
32287        insertOrAppendPlacementNode(sibling, before, parent);
32288        sibling = sibling.sibling;
32289      }
32290    }
32291  }
32292}
32293
32294function unmountHostComponents(finishedRoot, current, renderPriorityLevel) {
32295  // We only have the top Fiber that was deleted but we need to recurse down its
32296  // children to find all the terminal nodes.
32297  var node = current; // Each iteration, currentParent is populated with node's host parent if not
32298  // currentParentIsValid.
32299
32300  var currentParentIsValid = false; // Note: these two variables *must* always be updated together.
32301
32302  var currentParent;
32303  var currentParentIsContainer;
32304
32305  while (true) {
32306    if (!currentParentIsValid) {
32307      var parent = node.return;
32308
32309      findParent: while (true) {
32310        if (!(parent !== null)) {
32311          {
32312            throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." );
32313          }
32314        }
32315
32316        var parentStateNode = parent.stateNode;
32317
32318        switch (parent.tag) {
32319          case HostComponent:
32320            currentParent = parentStateNode;
32321            currentParentIsContainer = false;
32322            break findParent;
32323
32324          case HostRoot:
32325            currentParent = parentStateNode.containerInfo;
32326            currentParentIsContainer = true;
32327            break findParent;
32328
32329          case HostPortal:
32330            currentParent = parentStateNode.containerInfo;
32331            currentParentIsContainer = true;
32332            break findParent;
32333
32334        }
32335
32336        parent = parent.return;
32337      }
32338
32339      currentParentIsValid = true;
32340    }
32341
32342    if (node.tag === HostComponent || node.tag === HostText) {
32343      commitNestedUnmounts(finishedRoot, node, renderPriorityLevel); // After all the children have unmounted, it is now safe to remove the
32344      // node from the tree.
32345
32346      if (currentParentIsContainer) {
32347        removeChildFromContainer(currentParent, node.stateNode);
32348      } else {
32349        removeChild(currentParent, node.stateNode);
32350      } // Don't visit children because we already visited them.
32351
32352    } else if (node.tag === HostPortal) {
32353      if (node.child !== null) {
32354        // When we go into a portal, it becomes the parent to remove from.
32355        // We will reassign it back when we pop the portal on the way up.
32356        currentParent = node.stateNode.containerInfo;
32357        currentParentIsContainer = true; // Visit children because portals might contain host components.
32358
32359        node.child.return = node;
32360        node = node.child;
32361        continue;
32362      }
32363    } else {
32364      commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because we may find more host components below.
32365
32366      if (node.child !== null) {
32367        node.child.return = node;
32368        node = node.child;
32369        continue;
32370      }
32371    }
32372
32373    if (node === current) {
32374      return;
32375    }
32376
32377    while (node.sibling === null) {
32378      if (node.return === null || node.return === current) {
32379        return;
32380      }
32381
32382      node = node.return;
32383
32384      if (node.tag === HostPortal) {
32385        // When we go out of the portal, we need to restore the parent.
32386        // Since we don't keep a stack of them, we will search for it.
32387        currentParentIsValid = false;
32388      }
32389    }
32390
32391    node.sibling.return = node.return;
32392    node = node.sibling;
32393  }
32394}
32395
32396function commitDeletion(finishedRoot, current, renderPriorityLevel) {
32397  {
32398    // Recursively delete all host nodes from the parent.
32399    // Detach refs and call componentWillUnmount() on the whole subtree.
32400    unmountHostComponents(finishedRoot, current, renderPriorityLevel);
32401  }
32402
32403  detachFiber(current);
32404}
32405
32406function commitWork(current, finishedWork) {
32407
32408  switch (finishedWork.tag) {
32409    case FunctionComponent:
32410    case ForwardRef:
32411    case MemoComponent:
32412    case SimpleMemoComponent:
32413    case Block:
32414      {
32415        // Layout effects are destroyed during the mutation phase so that all
32416        // destroy functions for all fibers are called before any create functions.
32417        // This prevents sibling component effects from interfering with each other,
32418        // e.g. a destroy function in one component should never override a ref set
32419        // by a create function in another component during the same commit.
32420        commitHookEffectListUnmount(Layout | HasEffect, finishedWork);
32421        return;
32422      }
32423
32424    case ClassComponent:
32425      {
32426        return;
32427      }
32428
32429    case HostComponent:
32430      {
32431        var instance = finishedWork.stateNode;
32432
32433        if (instance != null) {
32434          // Commit the work prepared earlier.
32435          var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps
32436          // as the newProps. The updatePayload will contain the real change in
32437          // this case.
32438
32439          var oldProps = current !== null ? current.memoizedProps : newProps;
32440          var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.
32441
32442          var updatePayload = finishedWork.updateQueue;
32443          finishedWork.updateQueue = null;
32444
32445          if (updatePayload !== null) {
32446            commitUpdate(instance, updatePayload, type, oldProps, newProps);
32447          }
32448        }
32449
32450        return;
32451      }
32452
32453    case HostText:
32454      {
32455        if (!(finishedWork.stateNode !== null)) {
32456          {
32457            throw Error( "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." );
32458          }
32459        }
32460
32461        var textInstance = finishedWork.stateNode;
32462        var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps
32463        // as the newProps. The updatePayload will contain the real change in
32464        // this case.
32465
32466        var oldText = current !== null ? current.memoizedProps : newText;
32467        commitTextUpdate(textInstance, oldText, newText);
32468        return;
32469      }
32470
32471    case HostRoot:
32472      {
32473        {
32474          var _root = finishedWork.stateNode;
32475
32476          if (_root.hydrate) {
32477            // We've just hydrated. No need to hydrate again.
32478            _root.hydrate = false;
32479            commitHydratedContainer(_root.containerInfo);
32480          }
32481        }
32482
32483        return;
32484      }
32485
32486    case Profiler:
32487      {
32488        return;
32489      }
32490
32491    case SuspenseComponent:
32492      {
32493        commitSuspenseComponent(finishedWork);
32494        attachSuspenseRetryListeners(finishedWork);
32495        return;
32496      }
32497
32498    case SuspenseListComponent:
32499      {
32500        attachSuspenseRetryListeners(finishedWork);
32501        return;
32502      }
32503
32504    case IncompleteClassComponent:
32505      {
32506        return;
32507      }
32508  }
32509
32510  {
32511    {
32512      throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." );
32513    }
32514  }
32515}
32516
32517function commitSuspenseComponent(finishedWork) {
32518  var newState = finishedWork.memoizedState;
32519  var newDidTimeout;
32520  var primaryChildParent = finishedWork;
32521
32522  if (newState === null) {
32523    newDidTimeout = false;
32524  } else {
32525    newDidTimeout = true;
32526    primaryChildParent = finishedWork.child;
32527    markCommitTimeOfFallback();
32528  }
32529
32530  if ( primaryChildParent !== null) {
32531    hideOrUnhideAllChildren(primaryChildParent, newDidTimeout);
32532  }
32533}
32534
32535function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
32536
32537  var newState = finishedWork.memoizedState;
32538
32539  if (newState === null) {
32540    var current = finishedWork.alternate;
32541
32542    if (current !== null) {
32543      var prevState = current.memoizedState;
32544
32545      if (prevState !== null) {
32546        var suspenseInstance = prevState.dehydrated;
32547
32548        if (suspenseInstance !== null) {
32549          commitHydratedSuspenseInstance(suspenseInstance);
32550        }
32551      }
32552    }
32553  }
32554}
32555
32556function attachSuspenseRetryListeners(finishedWork) {
32557  // If this boundary just timed out, then it will have a set of thenables.
32558  // For each thenable, attach a listener so that when it resolves, React
32559  // attempts to re-render the boundary in the primary (pre-timeout) state.
32560  var thenables = finishedWork.updateQueue;
32561
32562  if (thenables !== null) {
32563    finishedWork.updateQueue = null;
32564    var retryCache = finishedWork.stateNode;
32565
32566    if (retryCache === null) {
32567      retryCache = finishedWork.stateNode = new PossiblyWeakSet();
32568    }
32569
32570    thenables.forEach(function (thenable) {
32571      // Memoize using the boundary fiber to prevent redundant listeners.
32572      var retry = resolveRetryThenable.bind(null, finishedWork, thenable);
32573
32574      if (!retryCache.has(thenable)) {
32575        {
32576          if (thenable.__reactDoNotTraceInteractions !== true) {
32577            retry = tracing.unstable_wrap(retry);
32578          }
32579        }
32580
32581        retryCache.add(thenable);
32582        thenable.then(retry, retry);
32583      }
32584    });
32585  }
32586}
32587
32588function commitResetTextContent(current) {
32589
32590  resetTextContent(current.stateNode);
32591}
32592
32593var PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;
32594
32595function createRootErrorUpdate(fiber, errorInfo, expirationTime) {
32596  var update = createUpdate(expirationTime, null); // Unmount the root by rendering null.
32597
32598  update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property
32599  // being called "element".
32600
32601  update.payload = {
32602    element: null
32603  };
32604  var error = errorInfo.value;
32605
32606  update.callback = function () {
32607    onUncaughtError(error);
32608    logError(fiber, errorInfo);
32609  };
32610
32611  return update;
32612}
32613
32614function createClassErrorUpdate(fiber, errorInfo, expirationTime) {
32615  var update = createUpdate(expirationTime, null);
32616  update.tag = CaptureUpdate;
32617  var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
32618
32619  if (typeof getDerivedStateFromError === 'function') {
32620    var error$1 = errorInfo.value;
32621
32622    update.payload = function () {
32623      logError(fiber, errorInfo);
32624      return getDerivedStateFromError(error$1);
32625    };
32626  }
32627
32628  var inst = fiber.stateNode;
32629
32630  if (inst !== null && typeof inst.componentDidCatch === 'function') {
32631    update.callback = function callback() {
32632      {
32633        markFailedErrorBoundaryForHotReloading(fiber);
32634      }
32635
32636      if (typeof getDerivedStateFromError !== 'function') {
32637        // To preserve the preexisting retry behavior of error boundaries,
32638        // we keep track of which ones already failed during this batch.
32639        // This gets reset before we yield back to the browser.
32640        // TODO: Warn in strict mode if getDerivedStateFromError is
32641        // not defined.
32642        markLegacyErrorBoundaryAsFailed(this); // Only log here if componentDidCatch is the only error boundary method defined
32643
32644        logError(fiber, errorInfo);
32645      }
32646
32647      var error$1 = errorInfo.value;
32648      var stack = errorInfo.stack;
32649      this.componentDidCatch(error$1, {
32650        componentStack: stack !== null ? stack : ''
32651      });
32652
32653      {
32654        if (typeof getDerivedStateFromError !== 'function') {
32655          // If componentDidCatch is the only error boundary method defined,
32656          // then it needs to call setState to recover from errors.
32657          // If no state update is scheduled then the boundary will swallow the error.
32658          if (fiber.expirationTime !== Sync) {
32659            error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentName(fiber.type) || 'Unknown');
32660          }
32661        }
32662      }
32663    };
32664  } else {
32665    update.callback = function () {
32666      markFailedErrorBoundaryForHotReloading(fiber);
32667    };
32668  }
32669
32670  return update;
32671}
32672
32673function attachPingListener(root, renderExpirationTime, thenable) {
32674  // Attach a listener to the promise to "ping" the root and retry. But
32675  // only if one does not already exist for the current render expiration
32676  // time (which acts like a "thread ID" here).
32677  var pingCache = root.pingCache;
32678  var threadIDs;
32679
32680  if (pingCache === null) {
32681    pingCache = root.pingCache = new PossiblyWeakMap$1();
32682    threadIDs = new Set();
32683    pingCache.set(thenable, threadIDs);
32684  } else {
32685    threadIDs = pingCache.get(thenable);
32686
32687    if (threadIDs === undefined) {
32688      threadIDs = new Set();
32689      pingCache.set(thenable, threadIDs);
32690    }
32691  }
32692
32693  if (!threadIDs.has(renderExpirationTime)) {
32694    // Memoize using the thread ID to prevent redundant listeners.
32695    threadIDs.add(renderExpirationTime);
32696    var ping = pingSuspendedRoot.bind(null, root, thenable, renderExpirationTime);
32697    thenable.then(ping, ping);
32698  }
32699}
32700
32701function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime) {
32702  // The source fiber did not complete.
32703  sourceFiber.effectTag |= Incomplete; // Its effect list is no longer valid.
32704
32705  sourceFiber.firstEffect = sourceFiber.lastEffect = null;
32706
32707  if (value !== null && typeof value === 'object' && typeof value.then === 'function') {
32708    // This is a thenable.
32709    var thenable = value;
32710
32711    if ((sourceFiber.mode & BlockingMode) === NoMode) {
32712      // Reset the memoizedState to what it was before we attempted
32713      // to render it.
32714      var currentSource = sourceFiber.alternate;
32715
32716      if (currentSource) {
32717        sourceFiber.updateQueue = currentSource.updateQueue;
32718        sourceFiber.memoizedState = currentSource.memoizedState;
32719        sourceFiber.expirationTime = currentSource.expirationTime;
32720      } else {
32721        sourceFiber.updateQueue = null;
32722        sourceFiber.memoizedState = null;
32723      }
32724    }
32725
32726    var hasInvisibleParentBoundary = hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext); // Schedule the nearest Suspense to re-render the timed out view.
32727
32728    var _workInProgress = returnFiber;
32729
32730    do {
32731      if (_workInProgress.tag === SuspenseComponent && shouldCaptureSuspense(_workInProgress, hasInvisibleParentBoundary)) {
32732        // Found the nearest boundary.
32733        // Stash the promise on the boundary fiber. If the boundary times out, we'll
32734        // attach another listener to flip the boundary back to its normal state.
32735        var thenables = _workInProgress.updateQueue;
32736
32737        if (thenables === null) {
32738          var updateQueue = new Set();
32739          updateQueue.add(thenable);
32740          _workInProgress.updateQueue = updateQueue;
32741        } else {
32742          thenables.add(thenable);
32743        } // If the boundary is outside of blocking mode, we should *not*
32744        // suspend the commit. Pretend as if the suspended component rendered
32745        // null and keep rendering. In the commit phase, we'll schedule a
32746        // subsequent synchronous update to re-render the Suspense.
32747        //
32748        // Note: It doesn't matter whether the component that suspended was
32749        // inside a blocking mode tree. If the Suspense is outside of it, we
32750        // should *not* suspend the commit.
32751
32752
32753        if ((_workInProgress.mode & BlockingMode) === NoMode) {
32754          _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete.
32755          // But we shouldn't call any lifecycle methods or callbacks. Remove
32756          // all lifecycle effect tags.
32757
32758          sourceFiber.effectTag &= ~(LifecycleEffectMask | Incomplete);
32759
32760          if (sourceFiber.tag === ClassComponent) {
32761            var currentSourceFiber = sourceFiber.alternate;
32762
32763            if (currentSourceFiber === null) {
32764              // This is a new mount. Change the tag so it's not mistaken for a
32765              // completed class component. For example, we should not call
32766              // componentWillUnmount if it is deleted.
32767              sourceFiber.tag = IncompleteClassComponent;
32768            } else {
32769              // When we try rendering again, we should not reuse the current fiber,
32770              // since it's known to be in an inconsistent state. Use a force update to
32771              // prevent a bail out.
32772              var update = createUpdate(Sync, null);
32773              update.tag = ForceUpdate;
32774              enqueueUpdate(sourceFiber, update);
32775            }
32776          } // The source fiber did not complete. Mark it with Sync priority to
32777          // indicate that it still has pending work.
32778
32779
32780          sourceFiber.expirationTime = Sync; // Exit without suspending.
32781
32782          return;
32783        } // Confirmed that the boundary is in a concurrent mode tree. Continue
32784        // with the normal suspend path.
32785        //
32786        // After this we'll use a set of heuristics to determine whether this
32787        // render pass will run to completion or restart or "suspend" the commit.
32788        // The actual logic for this is spread out in different places.
32789        //
32790        // This first principle is that if we're going to suspend when we complete
32791        // a root, then we should also restart if we get an update or ping that
32792        // might unsuspend it, and vice versa. The only reason to suspend is
32793        // because you think you might want to restart before committing. However,
32794        // it doesn't make sense to restart only while in the period we're suspended.
32795        //
32796        // Restarting too aggressively is also not good because it starves out any
32797        // intermediate loading state. So we use heuristics to determine when.
32798        // Suspense Heuristics
32799        //
32800        // If nothing threw a Promise or all the same fallbacks are already showing,
32801        // then don't suspend/restart.
32802        //
32803        // If this is an initial render of a new tree of Suspense boundaries and
32804        // those trigger a fallback, then don't suspend/restart. We want to ensure
32805        // that we can show the initial loading state as quickly as possible.
32806        //
32807        // If we hit a "Delayed" case, such as when we'd switch from content back into
32808        // a fallback, then we should always suspend/restart. SuspenseConfig applies to
32809        // this case. If none is defined, JND is used instead.
32810        //
32811        // If we're already showing a fallback and it gets "retried", allowing us to show
32812        // another level, but there's still an inner boundary that would show a fallback,
32813        // then we suspend/restart for 500ms since the last time we showed a fallback
32814        // anywhere in the tree. This effectively throttles progressive loading into a
32815        // consistent train of commits. This also gives us an opportunity to restart to
32816        // get to the completed state slightly earlier.
32817        //
32818        // If there's ambiguity due to batching it's resolved in preference of:
32819        // 1) "delayed", 2) "initial render", 3) "retry".
32820        //
32821        // We want to ensure that a "busy" state doesn't get force committed. We want to
32822        // ensure that new initial loading states can commit as soon as possible.
32823
32824
32825        attachPingListener(root, renderExpirationTime, thenable);
32826        _workInProgress.effectTag |= ShouldCapture;
32827        _workInProgress.expirationTime = renderExpirationTime;
32828        return;
32829      } // This boundary already captured during this render. Continue to the next
32830      // boundary.
32831
32832
32833      _workInProgress = _workInProgress.return;
32834    } while (_workInProgress !== null); // No boundary was found. Fallthrough to error mode.
32835    // TODO: Use invariant so the message is stripped in prod?
32836
32837
32838    value = new Error((getComponentName(sourceFiber.type) || 'A React component') + ' suspended while rendering, but no fallback UI was specified.\n' + '\n' + 'Add a <Suspense fallback=...> component higher in the tree to ' + 'provide a loading indicator or placeholder to display.' + getStackByFiberInDevAndProd(sourceFiber));
32839  } // We didn't find a boundary that could handle this type of exception. Start
32840  // over and traverse parent path again, this time treating the exception
32841  // as an error.
32842
32843
32844  renderDidError();
32845  value = createCapturedValue(value, sourceFiber);
32846  var workInProgress = returnFiber;
32847
32848  do {
32849    switch (workInProgress.tag) {
32850      case HostRoot:
32851        {
32852          var _errorInfo = value;
32853          workInProgress.effectTag |= ShouldCapture;
32854          workInProgress.expirationTime = renderExpirationTime;
32855
32856          var _update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime);
32857
32858          enqueueCapturedUpdate(workInProgress, _update);
32859          return;
32860        }
32861
32862      case ClassComponent:
32863        // Capture and retry
32864        var errorInfo = value;
32865        var ctor = workInProgress.type;
32866        var instance = workInProgress.stateNode;
32867
32868        if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {
32869          workInProgress.effectTag |= ShouldCapture;
32870          workInProgress.expirationTime = renderExpirationTime; // Schedule the error boundary to re-render using updated state
32871
32872          var _update2 = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime);
32873
32874          enqueueCapturedUpdate(workInProgress, _update2);
32875          return;
32876        }
32877
32878        break;
32879    }
32880
32881    workInProgress = workInProgress.return;
32882  } while (workInProgress !== null);
32883}
32884
32885var ceil = Math.ceil;
32886var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,
32887    ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,
32888    IsSomeRendererActing = ReactSharedInternals.IsSomeRendererActing;
32889var NoContext =
32890/*                    */
328910;
32892var BatchedContext =
32893/*               */
328941;
32895var EventContext =
32896/*                 */
328972;
32898var DiscreteEventContext =
32899/*         */
329004;
32901var LegacyUnbatchedContext =
32902/*       */
329038;
32904var RenderContext =
32905/*                */
3290616;
32907var CommitContext =
32908/*                */
3290932;
32910var RootIncomplete = 0;
32911var RootFatalErrored = 1;
32912var RootErrored = 2;
32913var RootSuspended = 3;
32914var RootSuspendedWithDelay = 4;
32915var RootCompleted = 5;
32916// Describes where we are in the React execution stack
32917var executionContext = NoContext; // The root we're working on
32918
32919var workInProgressRoot = null; // The fiber we're working on
32920
32921var workInProgress = null; // The expiration time we're rendering
32922
32923var renderExpirationTime$1 = NoWork; // Whether to root completed, errored, suspended, etc.
32924
32925var workInProgressRootExitStatus = RootIncomplete; // A fatal error, if one is thrown
32926
32927var workInProgressRootFatalError = null; // Most recent event time among processed updates during this render.
32928// This is conceptually a time stamp but expressed in terms of an ExpirationTime
32929// because we deal mostly with expiration times in the hot path, so this avoids
32930// the conversion happening in the hot path.
32931
32932var workInProgressRootLatestProcessedExpirationTime = Sync;
32933var workInProgressRootLatestSuspenseTimeout = Sync;
32934var workInProgressRootCanSuspendUsingConfig = null; // The work left over by components that were visited during this render. Only
32935// includes unprocessed updates, not work in bailed out children.
32936
32937var workInProgressRootNextUnprocessedUpdateTime = NoWork; // If we're pinged while rendering we don't always restart immediately.
32938// This flag determines if it might be worthwhile to restart if an opportunity
32939// happens latere.
32940
32941var workInProgressRootHasPendingPing = false; // The most recent time we committed a fallback. This lets us ensure a train
32942// model where we don't commit new loading states in too quick succession.
32943
32944var globalMostRecentFallbackTime = 0;
32945var FALLBACK_THROTTLE_MS = 500;
32946var nextEffect = null;
32947var hasUncaughtError = false;
32948var firstUncaughtError = null;
32949var legacyErrorBoundariesThatAlreadyFailed = null;
32950var rootDoesHavePassiveEffects = false;
32951var rootWithPendingPassiveEffects = null;
32952var pendingPassiveEffectsRenderPriority = NoPriority;
32953var pendingPassiveEffectsExpirationTime = NoWork;
32954var rootsWithPendingDiscreteUpdates = null; // Use these to prevent an infinite loop of nested updates
32955
32956var NESTED_UPDATE_LIMIT = 50;
32957var nestedUpdateCount = 0;
32958var rootWithNestedUpdates = null;
32959var NESTED_PASSIVE_UPDATE_LIMIT = 50;
32960var nestedPassiveUpdateCount = 0;
32961var interruptedBy = null; // Marks the need to reschedule pending interactions at these expiration times
32962// during the commit phase. This enables them to be traced across components
32963// that spawn new work during render. E.g. hidden boundaries, suspended SSR
32964// hydration or SuspenseList.
32965
32966var spawnedWorkDuringRender = null; // Expiration times are computed by adding to the current time (the start
32967// time). However, if two updates are scheduled within the same event, we
32968// should treat their start times as simultaneous, even if the actual clock
32969// time has advanced between the first and second call.
32970// In other words, because expiration times determine how updates are batched,
32971// we want all updates of like priority that occur within the same event to
32972// receive the same expiration time. Otherwise we get tearing.
32973
32974var currentEventTime = NoWork;
32975function requestCurrentTimeForUpdate() {
32976  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {
32977    // We're inside React, so it's fine to read the actual time.
32978    return msToExpirationTime(now());
32979  } // We're not inside React, so we may be in the middle of a browser event.
32980
32981
32982  if (currentEventTime !== NoWork) {
32983    // Use the same start time for all updates until we enter React again.
32984    return currentEventTime;
32985  } // This is the first update since React yielded. Compute a new start time.
32986
32987
32988  currentEventTime = msToExpirationTime(now());
32989  return currentEventTime;
32990}
32991function getCurrentTime() {
32992  return msToExpirationTime(now());
32993}
32994function computeExpirationForFiber(currentTime, fiber, suspenseConfig) {
32995  var mode = fiber.mode;
32996
32997  if ((mode & BlockingMode) === NoMode) {
32998    return Sync;
32999  }
33000
33001  var priorityLevel = getCurrentPriorityLevel();
33002
33003  if ((mode & ConcurrentMode) === NoMode) {
33004    return priorityLevel === ImmediatePriority ? Sync : Batched;
33005  }
33006
33007  if ((executionContext & RenderContext) !== NoContext) {
33008    // Use whatever time we're already rendering
33009    // TODO: Should there be a way to opt out, like with `runWithPriority`?
33010    return renderExpirationTime$1;
33011  }
33012
33013  var expirationTime;
33014
33015  if (suspenseConfig !== null) {
33016    // Compute an expiration time based on the Suspense timeout.
33017    expirationTime = computeSuspenseExpiration(currentTime, suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION);
33018  } else {
33019    // Compute an expiration time based on the Scheduler priority.
33020    switch (priorityLevel) {
33021      case ImmediatePriority:
33022        expirationTime = Sync;
33023        break;
33024
33025      case UserBlockingPriority$1:
33026        // TODO: Rename this to computeUserBlockingExpiration
33027        expirationTime = computeInteractiveExpiration(currentTime);
33028        break;
33029
33030      case NormalPriority:
33031      case LowPriority:
33032        // TODO: Handle LowPriority
33033        // TODO: Rename this to... something better.
33034        expirationTime = computeAsyncExpiration(currentTime);
33035        break;
33036
33037      case IdlePriority:
33038        expirationTime = Idle;
33039        break;
33040
33041      default:
33042        {
33043          {
33044            throw Error( "Expected a valid priority level" );
33045          }
33046        }
33047
33048    }
33049  } // If we're in the middle of rendering a tree, do not update at the same
33050  // expiration time that is already rendering.
33051  // TODO: We shouldn't have to do this if the update is on a different root.
33052  // Refactor computeExpirationForFiber + scheduleUpdate so we have access to
33053  // the root when we check for this condition.
33054
33055
33056  if (workInProgressRoot !== null && expirationTime === renderExpirationTime$1) {
33057    // This is a trick to move this update into a separate batch
33058    expirationTime -= 1;
33059  }
33060
33061  return expirationTime;
33062}
33063function scheduleUpdateOnFiber(fiber, expirationTime) {
33064  checkForNestedUpdates();
33065  warnAboutRenderPhaseUpdatesInDEV(fiber);
33066  var root = markUpdateTimeFromFiberToRoot(fiber, expirationTime);
33067
33068  if (root === null) {
33069    warnAboutUpdateOnUnmountedFiberInDEV(fiber);
33070    return;
33071  }
33072
33073  checkForInterruption(fiber, expirationTime);
33074  recordScheduleUpdate(); // TODO: computeExpirationForFiber also reads the priority. Pass the
33075  // priority as an argument to that function and this one.
33076
33077  var priorityLevel = getCurrentPriorityLevel();
33078
33079  if (expirationTime === Sync) {
33080    if ( // Check if we're inside unbatchedUpdates
33081    (executionContext & LegacyUnbatchedContext) !== NoContext && // Check if we're not already rendering
33082    (executionContext & (RenderContext | CommitContext)) === NoContext) {
33083      // Register pending interactions on the root to avoid losing traced interaction data.
33084      schedulePendingInteractions(root, expirationTime); // This is a legacy edge case. The initial mount of a ReactDOM.render-ed
33085      // root inside of batchedUpdates should be synchronous, but layout updates
33086      // should be deferred until the end of the batch.
33087
33088      performSyncWorkOnRoot(root);
33089    } else {
33090      ensureRootIsScheduled(root);
33091      schedulePendingInteractions(root, expirationTime);
33092
33093      if (executionContext === NoContext) {
33094        // Flush the synchronous work now, unless we're already working or inside
33095        // a batch. This is intentionally inside scheduleUpdateOnFiber instead of
33096        // scheduleCallbackForFiber to preserve the ability to schedule a callback
33097        // without immediately flushing it. We only do this for user-initiated
33098        // updates, to preserve historical behavior of legacy mode.
33099        flushSyncCallbackQueue();
33100      }
33101    }
33102  } else {
33103    ensureRootIsScheduled(root);
33104    schedulePendingInteractions(root, expirationTime);
33105  }
33106
33107  if ((executionContext & DiscreteEventContext) !== NoContext && ( // Only updates at user-blocking priority or greater are considered
33108  // discrete, even inside a discrete event.
33109  priorityLevel === UserBlockingPriority$1 || priorityLevel === ImmediatePriority)) {
33110    // This is the result of a discrete event. Track the lowest priority
33111    // discrete update per root so we can flush them early, if needed.
33112    if (rootsWithPendingDiscreteUpdates === null) {
33113      rootsWithPendingDiscreteUpdates = new Map([[root, expirationTime]]);
33114    } else {
33115      var lastDiscreteTime = rootsWithPendingDiscreteUpdates.get(root);
33116
33117      if (lastDiscreteTime === undefined || lastDiscreteTime > expirationTime) {
33118        rootsWithPendingDiscreteUpdates.set(root, expirationTime);
33119      }
33120    }
33121  }
33122}
33123var scheduleWork = scheduleUpdateOnFiber; // This is split into a separate function so we can mark a fiber with pending
33124// work without treating it as a typical update that originates from an event;
33125// e.g. retrying a Suspense boundary isn't an update, but it does schedule work
33126// on a fiber.
33127
33128function markUpdateTimeFromFiberToRoot(fiber, expirationTime) {
33129  // Update the source fiber's expiration time
33130  if (fiber.expirationTime < expirationTime) {
33131    fiber.expirationTime = expirationTime;
33132  }
33133
33134  var alternate = fiber.alternate;
33135
33136  if (alternate !== null && alternate.expirationTime < expirationTime) {
33137    alternate.expirationTime = expirationTime;
33138  } // Walk the parent path to the root and update the child expiration time.
33139
33140
33141  var node = fiber.return;
33142  var root = null;
33143
33144  if (node === null && fiber.tag === HostRoot) {
33145    root = fiber.stateNode;
33146  } else {
33147    while (node !== null) {
33148      alternate = node.alternate;
33149
33150      if (node.childExpirationTime < expirationTime) {
33151        node.childExpirationTime = expirationTime;
33152
33153        if (alternate !== null && alternate.childExpirationTime < expirationTime) {
33154          alternate.childExpirationTime = expirationTime;
33155        }
33156      } else if (alternate !== null && alternate.childExpirationTime < expirationTime) {
33157        alternate.childExpirationTime = expirationTime;
33158      }
33159
33160      if (node.return === null && node.tag === HostRoot) {
33161        root = node.stateNode;
33162        break;
33163      }
33164
33165      node = node.return;
33166    }
33167  }
33168
33169  if (root !== null) {
33170    if (workInProgressRoot === root) {
33171      // Received an update to a tree that's in the middle of rendering. Mark
33172      // that's unprocessed work on this root.
33173      markUnprocessedUpdateTime(expirationTime);
33174
33175      if (workInProgressRootExitStatus === RootSuspendedWithDelay) {
33176        // The root already suspended with a delay, which means this render
33177        // definitely won't finish. Since we have a new update, let's mark it as
33178        // suspended now, right before marking the incoming update. This has the
33179        // effect of interrupting the current render and switching to the update.
33180        // TODO: This happens to work when receiving an update during the render
33181        // phase, because of the trick inside computeExpirationForFiber to
33182        // subtract 1 from `renderExpirationTime` to move it into a
33183        // separate bucket. But we should probably model it with an exception,
33184        // using the same mechanism we use to force hydration of a subtree.
33185        // TODO: This does not account for low pri updates that were already
33186        // scheduled before the root started rendering. Need to track the next
33187        // pending expiration time (perhaps by backtracking the return path) and
33188        // then trigger a restart in the `renderDidSuspendDelayIfPossible` path.
33189        markRootSuspendedAtTime(root, renderExpirationTime$1);
33190      }
33191    } // Mark that the root has a pending update.
33192
33193
33194    markRootUpdatedAtTime(root, expirationTime);
33195  }
33196
33197  return root;
33198}
33199
33200function getNextRootExpirationTimeToWorkOn(root) {
33201  // Determines the next expiration time that the root should render, taking
33202  // into account levels that may be suspended, or levels that may have
33203  // received a ping.
33204  var lastExpiredTime = root.lastExpiredTime;
33205
33206  if (lastExpiredTime !== NoWork) {
33207    return lastExpiredTime;
33208  } // "Pending" refers to any update that hasn't committed yet, including if it
33209  // suspended. The "suspended" range is therefore a subset.
33210
33211
33212  var firstPendingTime = root.firstPendingTime;
33213
33214  if (!isRootSuspendedAtTime(root, firstPendingTime)) {
33215    // The highest priority pending time is not suspended. Let's work on that.
33216    return firstPendingTime;
33217  } // If the first pending time is suspended, check if there's a lower priority
33218  // pending level that we know about. Or check if we received a ping. Work
33219  // on whichever is higher priority.
33220
33221
33222  var lastPingedTime = root.lastPingedTime;
33223  var nextKnownPendingLevel = root.nextKnownPendingLevel;
33224  var nextLevel = lastPingedTime > nextKnownPendingLevel ? lastPingedTime : nextKnownPendingLevel;
33225
33226  if ( nextLevel <= Idle && firstPendingTime !== nextLevel) {
33227    // Don't work on Idle/Never priority unless everything else is committed.
33228    return NoWork;
33229  }
33230
33231  return nextLevel;
33232} // Use this function to schedule a task for a root. There's only one task per
33233// root; if a task was already scheduled, we'll check to make sure the
33234// expiration time of the existing task is the same as the expiration time of
33235// the next level that the root has work on. This function is called on every
33236// update, and right before exiting a task.
33237
33238
33239function ensureRootIsScheduled(root) {
33240  var lastExpiredTime = root.lastExpiredTime;
33241
33242  if (lastExpiredTime !== NoWork) {
33243    // Special case: Expired work should flush synchronously.
33244    root.callbackExpirationTime = Sync;
33245    root.callbackPriority = ImmediatePriority;
33246    root.callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));
33247    return;
33248  }
33249
33250  var expirationTime = getNextRootExpirationTimeToWorkOn(root);
33251  var existingCallbackNode = root.callbackNode;
33252
33253  if (expirationTime === NoWork) {
33254    // There's nothing to work on.
33255    if (existingCallbackNode !== null) {
33256      root.callbackNode = null;
33257      root.callbackExpirationTime = NoWork;
33258      root.callbackPriority = NoPriority;
33259    }
33260
33261    return;
33262  } // TODO: If this is an update, we already read the current time. Pass the
33263  // time as an argument.
33264
33265
33266  var currentTime = requestCurrentTimeForUpdate();
33267  var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); // If there's an existing render task, confirm it has the correct priority and
33268  // expiration time. Otherwise, we'll cancel it and schedule a new one.
33269
33270  if (existingCallbackNode !== null) {
33271    var existingCallbackPriority = root.callbackPriority;
33272    var existingCallbackExpirationTime = root.callbackExpirationTime;
33273
33274    if ( // Callback must have the exact same expiration time.
33275    existingCallbackExpirationTime === expirationTime && // Callback must have greater or equal priority.
33276    existingCallbackPriority >= priorityLevel) {
33277      // Existing callback is sufficient.
33278      return;
33279    } // Need to schedule a new task.
33280    // TODO: Instead of scheduling a new task, we should be able to change the
33281    // priority of the existing one.
33282
33283
33284    cancelCallback(existingCallbackNode);
33285  }
33286
33287  root.callbackExpirationTime = expirationTime;
33288  root.callbackPriority = priorityLevel;
33289  var callbackNode;
33290
33291  if (expirationTime === Sync) {
33292    // Sync React callbacks are scheduled on a special internal queue
33293    callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));
33294  } else {
33295    callbackNode = scheduleCallback(priorityLevel, performConcurrentWorkOnRoot.bind(null, root), // Compute a task timeout based on the expiration time. This also affects
33296    // ordering because tasks are processed in timeout order.
33297    {
33298      timeout: expirationTimeToMs(expirationTime) - now()
33299    });
33300  }
33301
33302  root.callbackNode = callbackNode;
33303} // This is the entry point for every concurrent task, i.e. anything that
33304// goes through Scheduler.
33305
33306
33307function performConcurrentWorkOnRoot(root, didTimeout) {
33308  // Since we know we're in a React event, we can clear the current
33309  // event time. The next update will compute a new event time.
33310  currentEventTime = NoWork;
33311
33312  if (didTimeout) {
33313    // The render task took too long to complete. Mark the current time as
33314    // expired to synchronously render all expired work in a single batch.
33315    var currentTime = requestCurrentTimeForUpdate();
33316    markRootExpiredAtTime(root, currentTime); // This will schedule a synchronous callback.
33317
33318    ensureRootIsScheduled(root);
33319    return null;
33320  } // Determine the next expiration time to work on, using the fields stored
33321  // on the root.
33322
33323
33324  var expirationTime = getNextRootExpirationTimeToWorkOn(root);
33325
33326  if (expirationTime !== NoWork) {
33327    var originalCallbackNode = root.callbackNode;
33328
33329    if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
33330      {
33331        throw Error( "Should not already be working." );
33332      }
33333    }
33334
33335    flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack
33336    // and prepare a fresh one. Otherwise we'll continue where we left off.
33337
33338    if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) {
33339      prepareFreshStack(root, expirationTime);
33340      startWorkOnPendingInteractions(root, expirationTime);
33341    } // If we have a work-in-progress fiber, it means there's still work to do
33342    // in this root.
33343
33344
33345    if (workInProgress !== null) {
33346      var prevExecutionContext = executionContext;
33347      executionContext |= RenderContext;
33348      var prevDispatcher = pushDispatcher();
33349      var prevInteractions = pushInteractions(root);
33350      startWorkLoopTimer(workInProgress);
33351
33352      do {
33353        try {
33354          workLoopConcurrent();
33355          break;
33356        } catch (thrownValue) {
33357          handleError(root, thrownValue);
33358        }
33359      } while (true);
33360
33361      resetContextDependencies();
33362      executionContext = prevExecutionContext;
33363      popDispatcher(prevDispatcher);
33364
33365      {
33366        popInteractions(prevInteractions);
33367      }
33368
33369      if (workInProgressRootExitStatus === RootFatalErrored) {
33370        var fatalError = workInProgressRootFatalError;
33371        stopInterruptedWorkLoopTimer();
33372        prepareFreshStack(root, expirationTime);
33373        markRootSuspendedAtTime(root, expirationTime);
33374        ensureRootIsScheduled(root);
33375        throw fatalError;
33376      }
33377
33378      if (workInProgress !== null) {
33379        // There's still work left over. Exit without committing.
33380        stopInterruptedWorkLoopTimer();
33381      } else {
33382        // We now have a consistent tree. The next step is either to commit it,
33383        // or, if something suspended, wait to commit it after a timeout.
33384        stopFinishedWorkLoopTimer();
33385        var finishedWork = root.finishedWork = root.current.alternate;
33386        root.finishedExpirationTime = expirationTime;
33387        finishConcurrentRender(root, finishedWork, workInProgressRootExitStatus, expirationTime);
33388      }
33389
33390      ensureRootIsScheduled(root);
33391
33392      if (root.callbackNode === originalCallbackNode) {
33393        // The task node scheduled for this root is the same one that's
33394        // currently executed. Need to return a continuation.
33395        return performConcurrentWorkOnRoot.bind(null, root);
33396      }
33397    }
33398  }
33399
33400  return null;
33401}
33402
33403function finishConcurrentRender(root, finishedWork, exitStatus, expirationTime) {
33404  // Set this to null to indicate there's no in-progress render.
33405  workInProgressRoot = null;
33406
33407  switch (exitStatus) {
33408    case RootIncomplete:
33409    case RootFatalErrored:
33410      {
33411        {
33412          {
33413            throw Error( "Root did not complete. This is a bug in React." );
33414          }
33415        }
33416      }
33417    // Flow knows about invariant, so it complains if I add a break
33418    // statement, but eslint doesn't know about invariant, so it complains
33419    // if I do. eslint-disable-next-line no-fallthrough
33420
33421    case RootErrored:
33422      {
33423        // If this was an async render, the error may have happened due to
33424        // a mutation in a concurrent event. Try rendering one more time,
33425        // synchronously, to see if the error goes away. If there are
33426        // lower priority updates, let's include those, too, in case they
33427        // fix the inconsistency. Render at Idle to include all updates.
33428        // If it was Idle or Never or some not-yet-invented time, render
33429        // at that time.
33430        markRootExpiredAtTime(root, expirationTime > Idle ? Idle : expirationTime); // We assume that this second render pass will be synchronous
33431        // and therefore not hit this path again.
33432
33433        break;
33434      }
33435
33436    case RootSuspended:
33437      {
33438        markRootSuspendedAtTime(root, expirationTime);
33439        var lastSuspendedTime = root.lastSuspendedTime;
33440
33441        if (expirationTime === lastSuspendedTime) {
33442          root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork);
33443        } // We have an acceptable loading state. We need to figure out if we
33444        // should immediately commit it or wait a bit.
33445        // If we have processed new updates during this render, we may now
33446        // have a new loading state ready. We want to ensure that we commit
33447        // that as soon as possible.
33448
33449
33450        var hasNotProcessedNewUpdates = workInProgressRootLatestProcessedExpirationTime === Sync;
33451
33452        if (hasNotProcessedNewUpdates && // do not delay if we're inside an act() scope
33453        !( IsThisRendererActing.current)) {
33454          // If we have not processed any new updates during this pass, then
33455          // this is either a retry of an existing fallback state or a
33456          // hidden tree. Hidden trees shouldn't be batched with other work
33457          // and after that's fixed it can only be a retry. We're going to
33458          // throttle committing retries so that we don't show too many
33459          // loading states too quickly.
33460          var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.
33461
33462          if (msUntilTimeout > 10) {
33463            if (workInProgressRootHasPendingPing) {
33464              var lastPingedTime = root.lastPingedTime;
33465
33466              if (lastPingedTime === NoWork || lastPingedTime >= expirationTime) {
33467                // This render was pinged but we didn't get to restart
33468                // earlier so try restarting now instead.
33469                root.lastPingedTime = expirationTime;
33470                prepareFreshStack(root, expirationTime);
33471                break;
33472              }
33473            }
33474
33475            var nextTime = getNextRootExpirationTimeToWorkOn(root);
33476
33477            if (nextTime !== NoWork && nextTime !== expirationTime) {
33478              // There's additional work on this root.
33479              break;
33480            }
33481
33482            if (lastSuspendedTime !== NoWork && lastSuspendedTime !== expirationTime) {
33483              // We should prefer to render the fallback of at the last
33484              // suspended level. Ping the last suspended level to try
33485              // rendering it again.
33486              root.lastPingedTime = lastSuspendedTime;
33487              break;
33488            } // The render is suspended, it hasn't timed out, and there's no
33489            // lower priority work to do. Instead of committing the fallback
33490            // immediately, wait for more data to arrive.
33491
33492
33493            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), msUntilTimeout);
33494            break;
33495          }
33496        } // The work expired. Commit immediately.
33497
33498
33499        commitRoot(root);
33500        break;
33501      }
33502
33503    case RootSuspendedWithDelay:
33504      {
33505        markRootSuspendedAtTime(root, expirationTime);
33506        var _lastSuspendedTime = root.lastSuspendedTime;
33507
33508        if (expirationTime === _lastSuspendedTime) {
33509          root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork);
33510        }
33511
33512        if ( // do not delay if we're inside an act() scope
33513        !( IsThisRendererActing.current)) {
33514          // We're suspended in a state that should be avoided. We'll try to
33515          // avoid committing it for as long as the timeouts let us.
33516          if (workInProgressRootHasPendingPing) {
33517            var _lastPingedTime = root.lastPingedTime;
33518
33519            if (_lastPingedTime === NoWork || _lastPingedTime >= expirationTime) {
33520              // This render was pinged but we didn't get to restart earlier
33521              // so try restarting now instead.
33522              root.lastPingedTime = expirationTime;
33523              prepareFreshStack(root, expirationTime);
33524              break;
33525            }
33526          }
33527
33528          var _nextTime = getNextRootExpirationTimeToWorkOn(root);
33529
33530          if (_nextTime !== NoWork && _nextTime !== expirationTime) {
33531            // There's additional work on this root.
33532            break;
33533          }
33534
33535          if (_lastSuspendedTime !== NoWork && _lastSuspendedTime !== expirationTime) {
33536            // We should prefer to render the fallback of at the last
33537            // suspended level. Ping the last suspended level to try
33538            // rendering it again.
33539            root.lastPingedTime = _lastSuspendedTime;
33540            break;
33541          }
33542
33543          var _msUntilTimeout;
33544
33545          if (workInProgressRootLatestSuspenseTimeout !== Sync) {
33546            // We have processed a suspense config whose expiration time we
33547            // can use as the timeout.
33548            _msUntilTimeout = expirationTimeToMs(workInProgressRootLatestSuspenseTimeout) - now();
33549          } else if (workInProgressRootLatestProcessedExpirationTime === Sync) {
33550            // This should never normally happen because only new updates
33551            // cause delayed states, so we should have processed something.
33552            // However, this could also happen in an offscreen tree.
33553            _msUntilTimeout = 0;
33554          } else {
33555            // If we don't have a suspense config, we're going to use a
33556            // heuristic to determine how long we can suspend.
33557            var eventTimeMs = inferTimeFromExpirationTime(workInProgressRootLatestProcessedExpirationTime);
33558            var currentTimeMs = now();
33559            var timeUntilExpirationMs = expirationTimeToMs(expirationTime) - currentTimeMs;
33560            var timeElapsed = currentTimeMs - eventTimeMs;
33561
33562            if (timeElapsed < 0) {
33563              // We get this wrong some time since we estimate the time.
33564              timeElapsed = 0;
33565            }
33566
33567            _msUntilTimeout = jnd(timeElapsed) - timeElapsed; // Clamp the timeout to the expiration time. TODO: Once the
33568            // event time is exact instead of inferred from expiration time
33569            // we don't need this.
33570
33571            if (timeUntilExpirationMs < _msUntilTimeout) {
33572              _msUntilTimeout = timeUntilExpirationMs;
33573            }
33574          } // Don't bother with a very short suspense time.
33575
33576
33577          if (_msUntilTimeout > 10) {
33578            // The render is suspended, it hasn't timed out, and there's no
33579            // lower priority work to do. Instead of committing the fallback
33580            // immediately, wait for more data to arrive.
33581            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout);
33582            break;
33583          }
33584        } // The work expired. Commit immediately.
33585
33586
33587        commitRoot(root);
33588        break;
33589      }
33590
33591    case RootCompleted:
33592      {
33593        // The work completed. Ready to commit.
33594        if ( // do not delay if we're inside an act() scope
33595        !( IsThisRendererActing.current) && workInProgressRootLatestProcessedExpirationTime !== Sync && workInProgressRootCanSuspendUsingConfig !== null) {
33596          // If we have exceeded the minimum loading delay, which probably
33597          // means we have shown a spinner already, we might have to suspend
33598          // a bit longer to ensure that the spinner is shown for
33599          // enough time.
33600          var _msUntilTimeout2 = computeMsUntilSuspenseLoadingDelay(workInProgressRootLatestProcessedExpirationTime, expirationTime, workInProgressRootCanSuspendUsingConfig);
33601
33602          if (_msUntilTimeout2 > 10) {
33603            markRootSuspendedAtTime(root, expirationTime);
33604            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout2);
33605            break;
33606          }
33607        }
33608
33609        commitRoot(root);
33610        break;
33611      }
33612
33613    default:
33614      {
33615        {
33616          {
33617            throw Error( "Unknown root exit status." );
33618          }
33619        }
33620      }
33621  }
33622} // This is the entry point for synchronous tasks that don't go
33623// through Scheduler
33624
33625
33626function performSyncWorkOnRoot(root) {
33627  // Check if there's expired work on this root. Otherwise, render at Sync.
33628  var lastExpiredTime = root.lastExpiredTime;
33629  var expirationTime = lastExpiredTime !== NoWork ? lastExpiredTime : Sync;
33630
33631  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
33632    {
33633      throw Error( "Should not already be working." );
33634    }
33635  }
33636
33637  flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack
33638  // and prepare a fresh one. Otherwise we'll continue where we left off.
33639
33640  if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) {
33641    prepareFreshStack(root, expirationTime);
33642    startWorkOnPendingInteractions(root, expirationTime);
33643  } // If we have a work-in-progress fiber, it means there's still work to do
33644  // in this root.
33645
33646
33647  if (workInProgress !== null) {
33648    var prevExecutionContext = executionContext;
33649    executionContext |= RenderContext;
33650    var prevDispatcher = pushDispatcher();
33651    var prevInteractions = pushInteractions(root);
33652    startWorkLoopTimer(workInProgress);
33653
33654    do {
33655      try {
33656        workLoopSync();
33657        break;
33658      } catch (thrownValue) {
33659        handleError(root, thrownValue);
33660      }
33661    } while (true);
33662
33663    resetContextDependencies();
33664    executionContext = prevExecutionContext;
33665    popDispatcher(prevDispatcher);
33666
33667    {
33668      popInteractions(prevInteractions);
33669    }
33670
33671    if (workInProgressRootExitStatus === RootFatalErrored) {
33672      var fatalError = workInProgressRootFatalError;
33673      stopInterruptedWorkLoopTimer();
33674      prepareFreshStack(root, expirationTime);
33675      markRootSuspendedAtTime(root, expirationTime);
33676      ensureRootIsScheduled(root);
33677      throw fatalError;
33678    }
33679
33680    if (workInProgress !== null) {
33681      // This is a sync render, so we should have finished the whole tree.
33682      {
33683        {
33684          throw Error( "Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue." );
33685        }
33686      }
33687    } else {
33688      // We now have a consistent tree. Because this is a sync render, we
33689      // will commit it even if something suspended.
33690      stopFinishedWorkLoopTimer();
33691      root.finishedWork = root.current.alternate;
33692      root.finishedExpirationTime = expirationTime;
33693      finishSyncRender(root);
33694    } // Before exiting, make sure there's a callback scheduled for the next
33695    // pending level.
33696
33697
33698    ensureRootIsScheduled(root);
33699  }
33700
33701  return null;
33702}
33703
33704function finishSyncRender(root) {
33705  // Set this to null to indicate there's no in-progress render.
33706  workInProgressRoot = null;
33707  commitRoot(root);
33708}
33709function flushDiscreteUpdates() {
33710  // TODO: Should be able to flush inside batchedUpdates, but not inside `act`.
33711  // However, `act` uses `batchedUpdates`, so there's no way to distinguish
33712  // those two cases. Need to fix this before exposing flushDiscreteUpdates
33713  // as a public API.
33714  if ((executionContext & (BatchedContext | RenderContext | CommitContext)) !== NoContext) {
33715    {
33716      if ((executionContext & RenderContext) !== NoContext) {
33717        error('unstable_flushDiscreteUpdates: Cannot flush updates when React is ' + 'already rendering.');
33718      }
33719    } // We're already rendering, so we can't synchronously flush pending work.
33720    // This is probably a nested event dispatch triggered by a lifecycle/effect,
33721    // like `el.focus()`. Exit.
33722
33723
33724    return;
33725  }
33726
33727  flushPendingDiscreteUpdates(); // If the discrete updates scheduled passive effects, flush them now so that
33728  // they fire before the next serial event.
33729
33730  flushPassiveEffects();
33731}
33732function syncUpdates(fn, a, b, c) {
33733  return runWithPriority$1(ImmediatePriority, fn.bind(null, a, b, c));
33734}
33735
33736function flushPendingDiscreteUpdates() {
33737  if (rootsWithPendingDiscreteUpdates !== null) {
33738    // For each root with pending discrete updates, schedule a callback to
33739    // immediately flush them.
33740    var roots = rootsWithPendingDiscreteUpdates;
33741    rootsWithPendingDiscreteUpdates = null;
33742    roots.forEach(function (expirationTime, root) {
33743      markRootExpiredAtTime(root, expirationTime);
33744      ensureRootIsScheduled(root);
33745    }); // Now flush the immediate queue.
33746
33747    flushSyncCallbackQueue();
33748  }
33749}
33750
33751function batchedUpdates$1(fn, a) {
33752  var prevExecutionContext = executionContext;
33753  executionContext |= BatchedContext;
33754
33755  try {
33756    return fn(a);
33757  } finally {
33758    executionContext = prevExecutionContext;
33759
33760    if (executionContext === NoContext) {
33761      // Flush the immediate callbacks that were scheduled during this batch
33762      flushSyncCallbackQueue();
33763    }
33764  }
33765}
33766function batchedEventUpdates$1(fn, a) {
33767  var prevExecutionContext = executionContext;
33768  executionContext |= EventContext;
33769
33770  try {
33771    return fn(a);
33772  } finally {
33773    executionContext = prevExecutionContext;
33774
33775    if (executionContext === NoContext) {
33776      // Flush the immediate callbacks that were scheduled during this batch
33777      flushSyncCallbackQueue();
33778    }
33779  }
33780}
33781function discreteUpdates$1(fn, a, b, c, d) {
33782  var prevExecutionContext = executionContext;
33783  executionContext |= DiscreteEventContext;
33784
33785  try {
33786    // Should this
33787    return runWithPriority$1(UserBlockingPriority$1, fn.bind(null, a, b, c, d));
33788  } finally {
33789    executionContext = prevExecutionContext;
33790
33791    if (executionContext === NoContext) {
33792      // Flush the immediate callbacks that were scheduled during this batch
33793      flushSyncCallbackQueue();
33794    }
33795  }
33796}
33797function unbatchedUpdates(fn, a) {
33798  var prevExecutionContext = executionContext;
33799  executionContext &= ~BatchedContext;
33800  executionContext |= LegacyUnbatchedContext;
33801
33802  try {
33803    return fn(a);
33804  } finally {
33805    executionContext = prevExecutionContext;
33806
33807    if (executionContext === NoContext) {
33808      // Flush the immediate callbacks that were scheduled during this batch
33809      flushSyncCallbackQueue();
33810    }
33811  }
33812}
33813function flushSync(fn, a) {
33814  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {
33815    {
33816      {
33817        throw Error( "flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering." );
33818      }
33819    }
33820  }
33821
33822  var prevExecutionContext = executionContext;
33823  executionContext |= BatchedContext;
33824
33825  try {
33826    return runWithPriority$1(ImmediatePriority, fn.bind(null, a));
33827  } finally {
33828    executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.
33829    // Note that this will happen even if batchedUpdates is higher up
33830    // the stack.
33831
33832    flushSyncCallbackQueue();
33833  }
33834}
33835
33836function prepareFreshStack(root, expirationTime) {
33837  root.finishedWork = null;
33838  root.finishedExpirationTime = NoWork;
33839  var timeoutHandle = root.timeoutHandle;
33840
33841  if (timeoutHandle !== noTimeout) {
33842    // The root previous suspended and scheduled a timeout to commit a fallback
33843    // state. Now that we have additional work, cancel the timeout.
33844    root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above
33845
33846    cancelTimeout(timeoutHandle);
33847  }
33848
33849  if (workInProgress !== null) {
33850    var interruptedWork = workInProgress.return;
33851
33852    while (interruptedWork !== null) {
33853      unwindInterruptedWork(interruptedWork);
33854      interruptedWork = interruptedWork.return;
33855    }
33856  }
33857
33858  workInProgressRoot = root;
33859  workInProgress = createWorkInProgress(root.current, null);
33860  renderExpirationTime$1 = expirationTime;
33861  workInProgressRootExitStatus = RootIncomplete;
33862  workInProgressRootFatalError = null;
33863  workInProgressRootLatestProcessedExpirationTime = Sync;
33864  workInProgressRootLatestSuspenseTimeout = Sync;
33865  workInProgressRootCanSuspendUsingConfig = null;
33866  workInProgressRootNextUnprocessedUpdateTime = NoWork;
33867  workInProgressRootHasPendingPing = false;
33868
33869  {
33870    spawnedWorkDuringRender = null;
33871  }
33872
33873  {
33874    ReactStrictModeWarnings.discardPendingWarnings();
33875  }
33876}
33877
33878function handleError(root, thrownValue) {
33879  do {
33880    try {
33881      // Reset module-level state that was set during the render phase.
33882      resetContextDependencies();
33883      resetHooksAfterThrow();
33884      resetCurrentFiber();
33885
33886      if (workInProgress === null || workInProgress.return === null) {
33887        // Expected to be working on a non-root fiber. This is a fatal error
33888        // because there's no ancestor that can handle it; the root is
33889        // supposed to capture all errors that weren't caught by an error
33890        // boundary.
33891        workInProgressRootExitStatus = RootFatalErrored;
33892        workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next
33893        // sibling, or the parent if there are no siblings. But since the root
33894        // has no siblings nor a parent, we set it to null. Usually this is
33895        // handled by `completeUnitOfWork` or `unwindWork`, but since we're
33896        // interntionally not calling those, we need set it here.
33897        // TODO: Consider calling `unwindWork` to pop the contexts.
33898
33899        workInProgress = null;
33900        return null;
33901      }
33902
33903      if (enableProfilerTimer && workInProgress.mode & ProfileMode) {
33904        // Record the time spent rendering before an error was thrown. This
33905        // avoids inaccurate Profiler durations in the case of a
33906        // suspended render.
33907        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, true);
33908      }
33909
33910      throwException(root, workInProgress.return, workInProgress, thrownValue, renderExpirationTime$1);
33911      workInProgress = completeUnitOfWork(workInProgress);
33912    } catch (yetAnotherThrownValue) {
33913      // Something in the return path also threw.
33914      thrownValue = yetAnotherThrownValue;
33915      continue;
33916    } // Return to the normal work loop.
33917
33918
33919    return;
33920  } while (true);
33921}
33922
33923function pushDispatcher(root) {
33924  var prevDispatcher = ReactCurrentDispatcher$1.current;
33925  ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;
33926
33927  if (prevDispatcher === null) {
33928    // The React isomorphic package does not include a default dispatcher.
33929    // Instead the first renderer will lazily attach one, in order to give
33930    // nicer error messages.
33931    return ContextOnlyDispatcher;
33932  } else {
33933    return prevDispatcher;
33934  }
33935}
33936
33937function popDispatcher(prevDispatcher) {
33938  ReactCurrentDispatcher$1.current = prevDispatcher;
33939}
33940
33941function pushInteractions(root) {
33942  {
33943    var prevInteractions = tracing.__interactionsRef.current;
33944    tracing.__interactionsRef.current = root.memoizedInteractions;
33945    return prevInteractions;
33946  }
33947}
33948
33949function popInteractions(prevInteractions) {
33950  {
33951    tracing.__interactionsRef.current = prevInteractions;
33952  }
33953}
33954
33955function markCommitTimeOfFallback() {
33956  globalMostRecentFallbackTime = now();
33957}
33958function markRenderEventTimeAndConfig(expirationTime, suspenseConfig) {
33959  if (expirationTime < workInProgressRootLatestProcessedExpirationTime && expirationTime > Idle) {
33960    workInProgressRootLatestProcessedExpirationTime = expirationTime;
33961  }
33962
33963  if (suspenseConfig !== null) {
33964    if (expirationTime < workInProgressRootLatestSuspenseTimeout && expirationTime > Idle) {
33965      workInProgressRootLatestSuspenseTimeout = expirationTime; // Most of the time we only have one config and getting wrong is not bad.
33966
33967      workInProgressRootCanSuspendUsingConfig = suspenseConfig;
33968    }
33969  }
33970}
33971function markUnprocessedUpdateTime(expirationTime) {
33972  if (expirationTime > workInProgressRootNextUnprocessedUpdateTime) {
33973    workInProgressRootNextUnprocessedUpdateTime = expirationTime;
33974  }
33975}
33976function renderDidSuspend() {
33977  if (workInProgressRootExitStatus === RootIncomplete) {
33978    workInProgressRootExitStatus = RootSuspended;
33979  }
33980}
33981function renderDidSuspendDelayIfPossible() {
33982  if (workInProgressRootExitStatus === RootIncomplete || workInProgressRootExitStatus === RootSuspended) {
33983    workInProgressRootExitStatus = RootSuspendedWithDelay;
33984  } // Check if there's a lower priority update somewhere else in the tree.
33985
33986
33987  if (workInProgressRootNextUnprocessedUpdateTime !== NoWork && workInProgressRoot !== null) {
33988    // Mark the current render as suspended, and then mark that there's a
33989    // pending update.
33990    // TODO: This should immediately interrupt the current render, instead
33991    // of waiting until the next time we yield.
33992    markRootSuspendedAtTime(workInProgressRoot, renderExpirationTime$1);
33993    markRootUpdatedAtTime(workInProgressRoot, workInProgressRootNextUnprocessedUpdateTime);
33994  }
33995}
33996function renderDidError() {
33997  if (workInProgressRootExitStatus !== RootCompleted) {
33998    workInProgressRootExitStatus = RootErrored;
33999  }
34000} // Called during render to determine if anything has suspended.
34001// Returns false if we're not sure.
34002
34003function renderHasNotSuspendedYet() {
34004  // If something errored or completed, we can't really be sure,
34005  // so those are false.
34006  return workInProgressRootExitStatus === RootIncomplete;
34007}
34008
34009function inferTimeFromExpirationTime(expirationTime) {
34010  // We don't know exactly when the update was scheduled, but we can infer an
34011  // approximate start time from the expiration time.
34012  var earliestExpirationTimeMs = expirationTimeToMs(expirationTime);
34013  return earliestExpirationTimeMs - LOW_PRIORITY_EXPIRATION;
34014}
34015
34016function inferTimeFromExpirationTimeWithSuspenseConfig(expirationTime, suspenseConfig) {
34017  // We don't know exactly when the update was scheduled, but we can infer an
34018  // approximate start time from the expiration time by subtracting the timeout
34019  // that was added to the event time.
34020  var earliestExpirationTimeMs = expirationTimeToMs(expirationTime);
34021  return earliestExpirationTimeMs - (suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION);
34022} // The work loop is an extremely hot path. Tell Closure not to inline it.
34023
34024/** @noinline */
34025
34026
34027function workLoopSync() {
34028  // Already timed out, so perform work without checking if we need to yield.
34029  while (workInProgress !== null) {
34030    workInProgress = performUnitOfWork(workInProgress);
34031  }
34032}
34033/** @noinline */
34034
34035
34036function workLoopConcurrent() {
34037  // Perform work until Scheduler asks us to yield
34038  while (workInProgress !== null && !shouldYield()) {
34039    workInProgress = performUnitOfWork(workInProgress);
34040  }
34041}
34042
34043function performUnitOfWork(unitOfWork) {
34044  // The current, flushed, state of this fiber is the alternate. Ideally
34045  // nothing should rely on this, but relying on it here means that we don't
34046  // need an additional field on the work in progress.
34047  var current = unitOfWork.alternate;
34048  startWorkTimer(unitOfWork);
34049  setCurrentFiber(unitOfWork);
34050  var next;
34051
34052  if ( (unitOfWork.mode & ProfileMode) !== NoMode) {
34053    startProfilerTimer(unitOfWork);
34054    next = beginWork$1(current, unitOfWork, renderExpirationTime$1);
34055    stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);
34056  } else {
34057    next = beginWork$1(current, unitOfWork, renderExpirationTime$1);
34058  }
34059
34060  resetCurrentFiber();
34061  unitOfWork.memoizedProps = unitOfWork.pendingProps;
34062
34063  if (next === null) {
34064    // If this doesn't spawn new work, complete the current work.
34065    next = completeUnitOfWork(unitOfWork);
34066  }
34067
34068  ReactCurrentOwner$2.current = null;
34069  return next;
34070}
34071
34072function completeUnitOfWork(unitOfWork) {
34073  // Attempt to complete the current unit of work, then move to the next
34074  // sibling. If there are no more siblings, return to the parent fiber.
34075  workInProgress = unitOfWork;
34076
34077  do {
34078    // The current, flushed, state of this fiber is the alternate. Ideally
34079    // nothing should rely on this, but relying on it here means that we don't
34080    // need an additional field on the work in progress.
34081    var current = workInProgress.alternate;
34082    var returnFiber = workInProgress.return; // Check if the work completed or if something threw.
34083
34084    if ((workInProgress.effectTag & Incomplete) === NoEffect) {
34085      setCurrentFiber(workInProgress);
34086      var next = void 0;
34087
34088      if ( (workInProgress.mode & ProfileMode) === NoMode) {
34089        next = completeWork(current, workInProgress, renderExpirationTime$1);
34090      } else {
34091        startProfilerTimer(workInProgress);
34092        next = completeWork(current, workInProgress, renderExpirationTime$1); // Update render duration assuming we didn't error.
34093
34094        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false);
34095      }
34096
34097      stopWorkTimer(workInProgress);
34098      resetCurrentFiber();
34099      resetChildExpirationTime(workInProgress);
34100
34101      if (next !== null) {
34102        // Completing this fiber spawned new work. Work on that next.
34103        return next;
34104      }
34105
34106      if (returnFiber !== null && // Do not append effects to parents if a sibling failed to complete
34107      (returnFiber.effectTag & Incomplete) === NoEffect) {
34108        // Append all the effects of the subtree and this fiber onto the effect
34109        // list of the parent. The completion order of the children affects the
34110        // side-effect order.
34111        if (returnFiber.firstEffect === null) {
34112          returnFiber.firstEffect = workInProgress.firstEffect;
34113        }
34114
34115        if (workInProgress.lastEffect !== null) {
34116          if (returnFiber.lastEffect !== null) {
34117            returnFiber.lastEffect.nextEffect = workInProgress.firstEffect;
34118          }
34119
34120          returnFiber.lastEffect = workInProgress.lastEffect;
34121        } // If this fiber had side-effects, we append it AFTER the children's
34122        // side-effects. We can perform certain side-effects earlier if needed,
34123        // by doing multiple passes over the effect list. We don't want to
34124        // schedule our own side-effect on our own list because if end up
34125        // reusing children we'll schedule this effect onto itself since we're
34126        // at the end.
34127
34128
34129        var effectTag = workInProgress.effectTag; // Skip both NoWork and PerformedWork tags when creating the effect
34130        // list. PerformedWork effect is read by React DevTools but shouldn't be
34131        // committed.
34132
34133        if (effectTag > PerformedWork) {
34134          if (returnFiber.lastEffect !== null) {
34135            returnFiber.lastEffect.nextEffect = workInProgress;
34136          } else {
34137            returnFiber.firstEffect = workInProgress;
34138          }
34139
34140          returnFiber.lastEffect = workInProgress;
34141        }
34142      }
34143    } else {
34144      // This fiber did not complete because something threw. Pop values off
34145      // the stack without entering the complete phase. If this is a boundary,
34146      // capture values if possible.
34147      var _next = unwindWork(workInProgress); // Because this fiber did not complete, don't reset its expiration time.
34148
34149
34150      if ( (workInProgress.mode & ProfileMode) !== NoMode) {
34151        // Record the render duration for the fiber that errored.
34152        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); // Include the time spent working on failed children before continuing.
34153
34154        var actualDuration = workInProgress.actualDuration;
34155        var child = workInProgress.child;
34156
34157        while (child !== null) {
34158          actualDuration += child.actualDuration;
34159          child = child.sibling;
34160        }
34161
34162        workInProgress.actualDuration = actualDuration;
34163      }
34164
34165      if (_next !== null) {
34166        // If completing this work spawned new work, do that next. We'll come
34167        // back here again.
34168        // Since we're restarting, remove anything that is not a host effect
34169        // from the effect tag.
34170        // TODO: The name stopFailedWorkTimer is misleading because Suspense
34171        // also captures and restarts.
34172        stopFailedWorkTimer(workInProgress);
34173        _next.effectTag &= HostEffectMask;
34174        return _next;
34175      }
34176
34177      stopWorkTimer(workInProgress);
34178
34179      if (returnFiber !== null) {
34180        // Mark the parent fiber as incomplete and clear its effect list.
34181        returnFiber.firstEffect = returnFiber.lastEffect = null;
34182        returnFiber.effectTag |= Incomplete;
34183      }
34184    }
34185
34186    var siblingFiber = workInProgress.sibling;
34187
34188    if (siblingFiber !== null) {
34189      // If there is more work to do in this returnFiber, do that next.
34190      return siblingFiber;
34191    } // Otherwise, return to the parent
34192
34193
34194    workInProgress = returnFiber;
34195  } while (workInProgress !== null); // We've reached the root.
34196
34197
34198  if (workInProgressRootExitStatus === RootIncomplete) {
34199    workInProgressRootExitStatus = RootCompleted;
34200  }
34201
34202  return null;
34203}
34204
34205function getRemainingExpirationTime(fiber) {
34206  var updateExpirationTime = fiber.expirationTime;
34207  var childExpirationTime = fiber.childExpirationTime;
34208  return updateExpirationTime > childExpirationTime ? updateExpirationTime : childExpirationTime;
34209}
34210
34211function resetChildExpirationTime(completedWork) {
34212  if (renderExpirationTime$1 !== Never && completedWork.childExpirationTime === Never) {
34213    // The children of this component are hidden. Don't bubble their
34214    // expiration times.
34215    return;
34216  }
34217
34218  var newChildExpirationTime = NoWork; // Bubble up the earliest expiration time.
34219
34220  if ( (completedWork.mode & ProfileMode) !== NoMode) {
34221    // In profiling mode, resetChildExpirationTime is also used to reset
34222    // profiler durations.
34223    var actualDuration = completedWork.actualDuration;
34224    var treeBaseDuration = completedWork.selfBaseDuration; // When a fiber is cloned, its actualDuration is reset to 0. This value will
34225    // only be updated if work is done on the fiber (i.e. it doesn't bailout).
34226    // When work is done, it should bubble to the parent's actualDuration. If
34227    // the fiber has not been cloned though, (meaning no work was done), then
34228    // this value will reflect the amount of time spent working on a previous
34229    // render. In that case it should not bubble. We determine whether it was
34230    // cloned by comparing the child pointer.
34231
34232    var shouldBubbleActualDurations = completedWork.alternate === null || completedWork.child !== completedWork.alternate.child;
34233    var child = completedWork.child;
34234
34235    while (child !== null) {
34236      var childUpdateExpirationTime = child.expirationTime;
34237      var childChildExpirationTime = child.childExpirationTime;
34238
34239      if (childUpdateExpirationTime > newChildExpirationTime) {
34240        newChildExpirationTime = childUpdateExpirationTime;
34241      }
34242
34243      if (childChildExpirationTime > newChildExpirationTime) {
34244        newChildExpirationTime = childChildExpirationTime;
34245      }
34246
34247      if (shouldBubbleActualDurations) {
34248        actualDuration += child.actualDuration;
34249      }
34250
34251      treeBaseDuration += child.treeBaseDuration;
34252      child = child.sibling;
34253    }
34254
34255    completedWork.actualDuration = actualDuration;
34256    completedWork.treeBaseDuration = treeBaseDuration;
34257  } else {
34258    var _child = completedWork.child;
34259
34260    while (_child !== null) {
34261      var _childUpdateExpirationTime = _child.expirationTime;
34262      var _childChildExpirationTime = _child.childExpirationTime;
34263
34264      if (_childUpdateExpirationTime > newChildExpirationTime) {
34265        newChildExpirationTime = _childUpdateExpirationTime;
34266      }
34267
34268      if (_childChildExpirationTime > newChildExpirationTime) {
34269        newChildExpirationTime = _childChildExpirationTime;
34270      }
34271
34272      _child = _child.sibling;
34273    }
34274  }
34275
34276  completedWork.childExpirationTime = newChildExpirationTime;
34277}
34278
34279function commitRoot(root) {
34280  var renderPriorityLevel = getCurrentPriorityLevel();
34281  runWithPriority$1(ImmediatePriority, commitRootImpl.bind(null, root, renderPriorityLevel));
34282  return null;
34283}
34284
34285function commitRootImpl(root, renderPriorityLevel) {
34286  do {
34287    // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which
34288    // means `flushPassiveEffects` will sometimes result in additional
34289    // passive effects. So we need to keep flushing in a loop until there are
34290    // no more pending effects.
34291    // TODO: Might be better if `flushPassiveEffects` did not automatically
34292    // flush synchronous work at the end, to avoid factoring hazards like this.
34293    flushPassiveEffects();
34294  } while (rootWithPendingPassiveEffects !== null);
34295
34296  flushRenderPhaseStrictModeWarningsInDEV();
34297
34298  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
34299    {
34300      throw Error( "Should not already be working." );
34301    }
34302  }
34303
34304  var finishedWork = root.finishedWork;
34305  var expirationTime = root.finishedExpirationTime;
34306
34307  if (finishedWork === null) {
34308    return null;
34309  }
34310
34311  root.finishedWork = null;
34312  root.finishedExpirationTime = NoWork;
34313
34314  if (!(finishedWork !== root.current)) {
34315    {
34316      throw Error( "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." );
34317    }
34318  } // commitRoot never returns a continuation; it always finishes synchronously.
34319  // So we can clear these now to allow a new callback to be scheduled.
34320
34321
34322  root.callbackNode = null;
34323  root.callbackExpirationTime = NoWork;
34324  root.callbackPriority = NoPriority;
34325  root.nextKnownPendingLevel = NoWork;
34326  startCommitTimer(); // Update the first and last pending times on this root. The new first
34327  // pending time is whatever is left on the root fiber.
34328
34329  var remainingExpirationTimeBeforeCommit = getRemainingExpirationTime(finishedWork);
34330  markRootFinishedAtTime(root, expirationTime, remainingExpirationTimeBeforeCommit);
34331
34332  if (root === workInProgressRoot) {
34333    // We can reset these now that they are finished.
34334    workInProgressRoot = null;
34335    workInProgress = null;
34336    renderExpirationTime$1 = NoWork;
34337  } // This indicates that the last root we worked on is not the same one that
34338  // we're committing now. This most commonly happens when a suspended root
34339  // times out.
34340  // Get the list of effects.
34341
34342
34343  var firstEffect;
34344
34345  if (finishedWork.effectTag > PerformedWork) {
34346    // A fiber's effect list consists only of its children, not itself. So if
34347    // the root has an effect, we need to add it to the end of the list. The
34348    // resulting list is the set that would belong to the root's parent, if it
34349    // had one; that is, all the effects in the tree including the root.
34350    if (finishedWork.lastEffect !== null) {
34351      finishedWork.lastEffect.nextEffect = finishedWork;
34352      firstEffect = finishedWork.firstEffect;
34353    } else {
34354      firstEffect = finishedWork;
34355    }
34356  } else {
34357    // There is no effect on the root.
34358    firstEffect = finishedWork.firstEffect;
34359  }
34360
34361  if (firstEffect !== null) {
34362    var prevExecutionContext = executionContext;
34363    executionContext |= CommitContext;
34364    var prevInteractions = pushInteractions(root); // Reset this to null before calling lifecycles
34365
34366    ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass
34367    // of the effect list for each phase: all mutation effects come before all
34368    // layout effects, and so on.
34369    // The first phase a "before mutation" phase. We use this phase to read the
34370    // state of the host tree right before we mutate it. This is where
34371    // getSnapshotBeforeUpdate is called.
34372
34373    startCommitSnapshotEffectsTimer();
34374    prepareForCommit(root.containerInfo);
34375    nextEffect = firstEffect;
34376
34377    do {
34378      {
34379        invokeGuardedCallback(null, commitBeforeMutationEffects, null);
34380
34381        if (hasCaughtError()) {
34382          if (!(nextEffect !== null)) {
34383            {
34384              throw Error( "Should be working on an effect." );
34385            }
34386          }
34387
34388          var error = clearCaughtError();
34389          captureCommitPhaseError(nextEffect, error);
34390          nextEffect = nextEffect.nextEffect;
34391        }
34392      }
34393    } while (nextEffect !== null);
34394
34395    stopCommitSnapshotEffectsTimer();
34396
34397    {
34398      // Mark the current commit time to be shared by all Profilers in this
34399      // batch. This enables them to be grouped later.
34400      recordCommitTime();
34401    } // The next phase is the mutation phase, where we mutate the host tree.
34402
34403
34404    startCommitHostEffectsTimer();
34405    nextEffect = firstEffect;
34406
34407    do {
34408      {
34409        invokeGuardedCallback(null, commitMutationEffects, null, root, renderPriorityLevel);
34410
34411        if (hasCaughtError()) {
34412          if (!(nextEffect !== null)) {
34413            {
34414              throw Error( "Should be working on an effect." );
34415            }
34416          }
34417
34418          var _error = clearCaughtError();
34419
34420          captureCommitPhaseError(nextEffect, _error);
34421          nextEffect = nextEffect.nextEffect;
34422        }
34423      }
34424    } while (nextEffect !== null);
34425
34426    stopCommitHostEffectsTimer();
34427    resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after
34428    // the mutation phase, so that the previous tree is still current during
34429    // componentWillUnmount, but before the layout phase, so that the finished
34430    // work is current during componentDidMount/Update.
34431
34432    root.current = finishedWork; // The next phase is the layout phase, where we call effects that read
34433    // the host tree after it's been mutated. The idiomatic use case for this is
34434    // layout, but class component lifecycles also fire here for legacy reasons.
34435
34436    startCommitLifeCyclesTimer();
34437    nextEffect = firstEffect;
34438
34439    do {
34440      {
34441        invokeGuardedCallback(null, commitLayoutEffects, null, root, expirationTime);
34442
34443        if (hasCaughtError()) {
34444          if (!(nextEffect !== null)) {
34445            {
34446              throw Error( "Should be working on an effect." );
34447            }
34448          }
34449
34450          var _error2 = clearCaughtError();
34451
34452          captureCommitPhaseError(nextEffect, _error2);
34453          nextEffect = nextEffect.nextEffect;
34454        }
34455      }
34456    } while (nextEffect !== null);
34457
34458    stopCommitLifeCyclesTimer();
34459    nextEffect = null; // Tell Scheduler to yield at the end of the frame, so the browser has an
34460    // opportunity to paint.
34461
34462    requestPaint();
34463
34464    {
34465      popInteractions(prevInteractions);
34466    }
34467
34468    executionContext = prevExecutionContext;
34469  } else {
34470    // No effects.
34471    root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were
34472    // no effects.
34473    // TODO: Maybe there's a better way to report this.
34474
34475    startCommitSnapshotEffectsTimer();
34476    stopCommitSnapshotEffectsTimer();
34477
34478    {
34479      recordCommitTime();
34480    }
34481
34482    startCommitHostEffectsTimer();
34483    stopCommitHostEffectsTimer();
34484    startCommitLifeCyclesTimer();
34485    stopCommitLifeCyclesTimer();
34486  }
34487
34488  stopCommitTimer();
34489  var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;
34490
34491  if (rootDoesHavePassiveEffects) {
34492    // This commit has passive effects. Stash a reference to them. But don't
34493    // schedule a callback until after flushing layout work.
34494    rootDoesHavePassiveEffects = false;
34495    rootWithPendingPassiveEffects = root;
34496    pendingPassiveEffectsExpirationTime = expirationTime;
34497    pendingPassiveEffectsRenderPriority = renderPriorityLevel;
34498  } else {
34499    // We are done with the effect chain at this point so let's clear the
34500    // nextEffect pointers to assist with GC. If we have passive effects, we'll
34501    // clear this in flushPassiveEffects.
34502    nextEffect = firstEffect;
34503
34504    while (nextEffect !== null) {
34505      var nextNextEffect = nextEffect.nextEffect;
34506      nextEffect.nextEffect = null;
34507      nextEffect = nextNextEffect;
34508    }
34509  } // Check if there's remaining work on this root
34510
34511
34512  var remainingExpirationTime = root.firstPendingTime;
34513
34514  if (remainingExpirationTime !== NoWork) {
34515    {
34516      if (spawnedWorkDuringRender !== null) {
34517        var expirationTimes = spawnedWorkDuringRender;
34518        spawnedWorkDuringRender = null;
34519
34520        for (var i = 0; i < expirationTimes.length; i++) {
34521          scheduleInteractions(root, expirationTimes[i], root.memoizedInteractions);
34522        }
34523      }
34524
34525      schedulePendingInteractions(root, remainingExpirationTime);
34526    }
34527  } else {
34528    // If there's no remaining work, we can clear the set of already failed
34529    // error boundaries.
34530    legacyErrorBoundariesThatAlreadyFailed = null;
34531  }
34532
34533  {
34534    if (!rootDidHavePassiveEffects) {
34535      // If there are no passive effects, then we can complete the pending interactions.
34536      // Otherwise, we'll wait until after the passive effects are flushed.
34537      // Wait to do this until after remaining work has been scheduled,
34538      // so that we don't prematurely signal complete for interactions when there's e.g. hidden work.
34539      finishPendingInteractions(root, expirationTime);
34540    }
34541  }
34542
34543  if (remainingExpirationTime === Sync) {
34544    // Count the number of times the root synchronously re-renders without
34545    // finishing. If there are too many, it indicates an infinite update loop.
34546    if (root === rootWithNestedUpdates) {
34547      nestedUpdateCount++;
34548    } else {
34549      nestedUpdateCount = 0;
34550      rootWithNestedUpdates = root;
34551    }
34552  } else {
34553    nestedUpdateCount = 0;
34554  }
34555
34556  onCommitRoot(finishedWork.stateNode, expirationTime); // Always call this before exiting `commitRoot`, to ensure that any
34557  // additional work on this root is scheduled.
34558
34559  ensureRootIsScheduled(root);
34560
34561  if (hasUncaughtError) {
34562    hasUncaughtError = false;
34563    var _error3 = firstUncaughtError;
34564    firstUncaughtError = null;
34565    throw _error3;
34566  }
34567
34568  if ((executionContext & LegacyUnbatchedContext) !== NoContext) {
34569    // This is a legacy edge case. We just committed the initial mount of
34570    // a ReactDOM.render-ed root inside of batchedUpdates. The commit fired
34571    // synchronously, but layout updates should be deferred until the end
34572    // of the batch.
34573    return null;
34574  } // If layout work was scheduled, flush it now.
34575
34576
34577  flushSyncCallbackQueue();
34578  return null;
34579}
34580
34581function commitBeforeMutationEffects() {
34582  while (nextEffect !== null) {
34583    var effectTag = nextEffect.effectTag;
34584
34585    if ((effectTag & Snapshot) !== NoEffect) {
34586      setCurrentFiber(nextEffect);
34587      recordEffect();
34588      var current = nextEffect.alternate;
34589      commitBeforeMutationLifeCycles(current, nextEffect);
34590      resetCurrentFiber();
34591    }
34592
34593    if ((effectTag & Passive) !== NoEffect) {
34594      // If there are passive effects, schedule a callback to flush at
34595      // the earliest opportunity.
34596      if (!rootDoesHavePassiveEffects) {
34597        rootDoesHavePassiveEffects = true;
34598        scheduleCallback(NormalPriority, function () {
34599          flushPassiveEffects();
34600          return null;
34601        });
34602      }
34603    }
34604
34605    nextEffect = nextEffect.nextEffect;
34606  }
34607}
34608
34609function commitMutationEffects(root, renderPriorityLevel) {
34610  // TODO: Should probably move the bulk of this function to commitWork.
34611  while (nextEffect !== null) {
34612    setCurrentFiber(nextEffect);
34613    var effectTag = nextEffect.effectTag;
34614
34615    if (effectTag & ContentReset) {
34616      commitResetTextContent(nextEffect);
34617    }
34618
34619    if (effectTag & Ref) {
34620      var current = nextEffect.alternate;
34621
34622      if (current !== null) {
34623        commitDetachRef(current);
34624      }
34625    } // The following switch statement is only concerned about placement,
34626    // updates, and deletions. To avoid needing to add a case for every possible
34627    // bitmap value, we remove the secondary effects from the effect tag and
34628    // switch on that value.
34629
34630
34631    var primaryEffectTag = effectTag & (Placement | Update | Deletion | Hydrating);
34632
34633    switch (primaryEffectTag) {
34634      case Placement:
34635        {
34636          commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is
34637          // inserted, before any life-cycles like componentDidMount gets called.
34638          // TODO: findDOMNode doesn't rely on this any more but isMounted does
34639          // and isMounted is deprecated anyway so we should be able to kill this.
34640
34641          nextEffect.effectTag &= ~Placement;
34642          break;
34643        }
34644
34645      case PlacementAndUpdate:
34646        {
34647          // Placement
34648          commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is
34649          // inserted, before any life-cycles like componentDidMount gets called.
34650
34651          nextEffect.effectTag &= ~Placement; // Update
34652
34653          var _current = nextEffect.alternate;
34654          commitWork(_current, nextEffect);
34655          break;
34656        }
34657
34658      case Hydrating:
34659        {
34660          nextEffect.effectTag &= ~Hydrating;
34661          break;
34662        }
34663
34664      case HydratingAndUpdate:
34665        {
34666          nextEffect.effectTag &= ~Hydrating; // Update
34667
34668          var _current2 = nextEffect.alternate;
34669          commitWork(_current2, nextEffect);
34670          break;
34671        }
34672
34673      case Update:
34674        {
34675          var _current3 = nextEffect.alternate;
34676          commitWork(_current3, nextEffect);
34677          break;
34678        }
34679
34680      case Deletion:
34681        {
34682          commitDeletion(root, nextEffect, renderPriorityLevel);
34683          break;
34684        }
34685    } // TODO: Only record a mutation effect if primaryEffectTag is non-zero.
34686
34687
34688    recordEffect();
34689    resetCurrentFiber();
34690    nextEffect = nextEffect.nextEffect;
34691  }
34692}
34693
34694function commitLayoutEffects(root, committedExpirationTime) {
34695  // TODO: Should probably move the bulk of this function to commitWork.
34696  while (nextEffect !== null) {
34697    setCurrentFiber(nextEffect);
34698    var effectTag = nextEffect.effectTag;
34699
34700    if (effectTag & (Update | Callback)) {
34701      recordEffect();
34702      var current = nextEffect.alternate;
34703      commitLifeCycles(root, current, nextEffect);
34704    }
34705
34706    if (effectTag & Ref) {
34707      recordEffect();
34708      commitAttachRef(nextEffect);
34709    }
34710
34711    resetCurrentFiber();
34712    nextEffect = nextEffect.nextEffect;
34713  }
34714}
34715
34716function flushPassiveEffects() {
34717  if (pendingPassiveEffectsRenderPriority !== NoPriority) {
34718    var priorityLevel = pendingPassiveEffectsRenderPriority > NormalPriority ? NormalPriority : pendingPassiveEffectsRenderPriority;
34719    pendingPassiveEffectsRenderPriority = NoPriority;
34720    return runWithPriority$1(priorityLevel, flushPassiveEffectsImpl);
34721  }
34722}
34723
34724function flushPassiveEffectsImpl() {
34725  if (rootWithPendingPassiveEffects === null) {
34726    return false;
34727  }
34728
34729  var root = rootWithPendingPassiveEffects;
34730  var expirationTime = pendingPassiveEffectsExpirationTime;
34731  rootWithPendingPassiveEffects = null;
34732  pendingPassiveEffectsExpirationTime = NoWork;
34733
34734  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
34735    {
34736      throw Error( "Cannot flush passive effects while already rendering." );
34737    }
34738  }
34739
34740  var prevExecutionContext = executionContext;
34741  executionContext |= CommitContext;
34742  var prevInteractions = pushInteractions(root);
34743
34744  {
34745    // Note: This currently assumes there are no passive effects on the root fiber
34746    // because the root is not part of its own effect list.
34747    // This could change in the future.
34748    var _effect2 = root.current.firstEffect;
34749
34750    while (_effect2 !== null) {
34751      {
34752        setCurrentFiber(_effect2);
34753        invokeGuardedCallback(null, commitPassiveHookEffects, null, _effect2);
34754
34755        if (hasCaughtError()) {
34756          if (!(_effect2 !== null)) {
34757            {
34758              throw Error( "Should be working on an effect." );
34759            }
34760          }
34761
34762          var _error5 = clearCaughtError();
34763
34764          captureCommitPhaseError(_effect2, _error5);
34765        }
34766
34767        resetCurrentFiber();
34768      }
34769
34770      var nextNextEffect = _effect2.nextEffect; // Remove nextEffect pointer to assist GC
34771
34772      _effect2.nextEffect = null;
34773      _effect2 = nextNextEffect;
34774    }
34775  }
34776
34777  {
34778    popInteractions(prevInteractions);
34779    finishPendingInteractions(root, expirationTime);
34780  }
34781
34782  executionContext = prevExecutionContext;
34783  flushSyncCallbackQueue(); // If additional passive effects were scheduled, increment a counter. If this
34784  // exceeds the limit, we'll fire a warning.
34785
34786  nestedPassiveUpdateCount = rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1;
34787  return true;
34788}
34789
34790function isAlreadyFailedLegacyErrorBoundary(instance) {
34791  return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);
34792}
34793function markLegacyErrorBoundaryAsFailed(instance) {
34794  if (legacyErrorBoundariesThatAlreadyFailed === null) {
34795    legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);
34796  } else {
34797    legacyErrorBoundariesThatAlreadyFailed.add(instance);
34798  }
34799}
34800
34801function prepareToThrowUncaughtError(error) {
34802  if (!hasUncaughtError) {
34803    hasUncaughtError = true;
34804    firstUncaughtError = error;
34805  }
34806}
34807
34808var onUncaughtError = prepareToThrowUncaughtError;
34809
34810function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
34811  var errorInfo = createCapturedValue(error, sourceFiber);
34812  var update = createRootErrorUpdate(rootFiber, errorInfo, Sync);
34813  enqueueUpdate(rootFiber, update);
34814  var root = markUpdateTimeFromFiberToRoot(rootFiber, Sync);
34815
34816  if (root !== null) {
34817    ensureRootIsScheduled(root);
34818    schedulePendingInteractions(root, Sync);
34819  }
34820}
34821
34822function captureCommitPhaseError(sourceFiber, error) {
34823  if (sourceFiber.tag === HostRoot) {
34824    // Error was thrown at the root. There is no parent, so the root
34825    // itself should capture it.
34826    captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);
34827    return;
34828  }
34829
34830  var fiber = sourceFiber.return;
34831
34832  while (fiber !== null) {
34833    if (fiber.tag === HostRoot) {
34834      captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error);
34835      return;
34836    } else if (fiber.tag === ClassComponent) {
34837      var ctor = fiber.type;
34838      var instance = fiber.stateNode;
34839
34840      if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {
34841        var errorInfo = createCapturedValue(error, sourceFiber);
34842        var update = createClassErrorUpdate(fiber, errorInfo, // TODO: This is always sync
34843        Sync);
34844        enqueueUpdate(fiber, update);
34845        var root = markUpdateTimeFromFiberToRoot(fiber, Sync);
34846
34847        if (root !== null) {
34848          ensureRootIsScheduled(root);
34849          schedulePendingInteractions(root, Sync);
34850        }
34851
34852        return;
34853      }
34854    }
34855
34856    fiber = fiber.return;
34857  }
34858}
34859function pingSuspendedRoot(root, thenable, suspendedTime) {
34860  var pingCache = root.pingCache;
34861
34862  if (pingCache !== null) {
34863    // The thenable resolved, so we no longer need to memoize, because it will
34864    // never be thrown again.
34865    pingCache.delete(thenable);
34866  }
34867
34868  if (workInProgressRoot === root && renderExpirationTime$1 === suspendedTime) {
34869    // Received a ping at the same priority level at which we're currently
34870    // rendering. We might want to restart this render. This should mirror
34871    // the logic of whether or not a root suspends once it completes.
34872    // TODO: If we're rendering sync either due to Sync, Batched or expired,
34873    // we should probably never restart.
34874    // If we're suspended with delay, we'll always suspend so we can always
34875    // restart. If we're suspended without any updates, it might be a retry.
34876    // If it's early in the retry we can restart. We can't know for sure
34877    // whether we'll eventually process an update during this render pass,
34878    // but it's somewhat unlikely that we get to a ping before that, since
34879    // getting to the root most update is usually very fast.
34880    if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && workInProgressRootLatestProcessedExpirationTime === Sync && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {
34881      // Restart from the root. Don't need to schedule a ping because
34882      // we're already working on this tree.
34883      prepareFreshStack(root, renderExpirationTime$1);
34884    } else {
34885      // Even though we can't restart right now, we might get an
34886      // opportunity later. So we mark this render as having a ping.
34887      workInProgressRootHasPendingPing = true;
34888    }
34889
34890    return;
34891  }
34892
34893  if (!isRootSuspendedAtTime(root, suspendedTime)) {
34894    // The root is no longer suspended at this time.
34895    return;
34896  }
34897
34898  var lastPingedTime = root.lastPingedTime;
34899
34900  if (lastPingedTime !== NoWork && lastPingedTime < suspendedTime) {
34901    // There's already a lower priority ping scheduled.
34902    return;
34903  } // Mark the time at which this ping was scheduled.
34904
34905
34906  root.lastPingedTime = suspendedTime;
34907
34908  ensureRootIsScheduled(root);
34909  schedulePendingInteractions(root, suspendedTime);
34910}
34911
34912function retryTimedOutBoundary(boundaryFiber, retryTime) {
34913  // The boundary fiber (a Suspense component or SuspenseList component)
34914  // previously was rendered in its fallback state. One of the promises that
34915  // suspended it has resolved, which means at least part of the tree was
34916  // likely unblocked. Try rendering again, at a new expiration time.
34917  if (retryTime === NoWork) {
34918    var suspenseConfig = null; // Retries don't carry over the already committed update.
34919
34920    var currentTime = requestCurrentTimeForUpdate();
34921    retryTime = computeExpirationForFiber(currentTime, boundaryFiber, suspenseConfig);
34922  } // TODO: Special case idle priority?
34923
34924
34925  var root = markUpdateTimeFromFiberToRoot(boundaryFiber, retryTime);
34926
34927  if (root !== null) {
34928    ensureRootIsScheduled(root);
34929    schedulePendingInteractions(root, retryTime);
34930  }
34931}
34932function resolveRetryThenable(boundaryFiber, thenable) {
34933  var retryTime = NoWork; // Default
34934
34935  var retryCache;
34936
34937  {
34938    retryCache = boundaryFiber.stateNode;
34939  }
34940
34941  if (retryCache !== null) {
34942    // The thenable resolved, so we no longer need to memoize, because it will
34943    // never be thrown again.
34944    retryCache.delete(thenable);
34945  }
34946
34947  retryTimedOutBoundary(boundaryFiber, retryTime);
34948} // Computes the next Just Noticeable Difference (JND) boundary.
34949// The theory is that a person can't tell the difference between small differences in time.
34950// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable
34951// difference in the experience. However, waiting for longer might mean that we can avoid
34952// showing an intermediate loading state. The longer we have already waited, the harder it
34953// is to tell small differences in time. Therefore, the longer we've already waited,
34954// the longer we can wait additionally. At some point we have to give up though.
34955// We pick a train model where the next boundary commits at a consistent schedule.
34956// These particular numbers are vague estimates. We expect to adjust them based on research.
34957
34958function jnd(timeElapsed) {
34959  return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;
34960}
34961
34962function computeMsUntilSuspenseLoadingDelay(mostRecentEventTime, committedExpirationTime, suspenseConfig) {
34963  var busyMinDurationMs = suspenseConfig.busyMinDurationMs | 0;
34964
34965  if (busyMinDurationMs <= 0) {
34966    return 0;
34967  }
34968
34969  var busyDelayMs = suspenseConfig.busyDelayMs | 0; // Compute the time until this render pass would expire.
34970
34971  var currentTimeMs = now();
34972  var eventTimeMs = inferTimeFromExpirationTimeWithSuspenseConfig(mostRecentEventTime, suspenseConfig);
34973  var timeElapsed = currentTimeMs - eventTimeMs;
34974
34975  if (timeElapsed <= busyDelayMs) {
34976    // If we haven't yet waited longer than the initial delay, we don't
34977    // have to wait any additional time.
34978    return 0;
34979  }
34980
34981  var msUntilTimeout = busyDelayMs + busyMinDurationMs - timeElapsed; // This is the value that is passed to `setTimeout`.
34982
34983  return msUntilTimeout;
34984}
34985
34986function checkForNestedUpdates() {
34987  if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {
34988    nestedUpdateCount = 0;
34989    rootWithNestedUpdates = null;
34990
34991    {
34992      {
34993        throw Error( "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." );
34994      }
34995    }
34996  }
34997
34998  {
34999    if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {
35000      nestedPassiveUpdateCount = 0;
35001
35002      error('Maximum update depth exceeded. This can happen when a component ' + "calls setState inside useEffect, but useEffect either doesn't " + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');
35003    }
35004  }
35005}
35006
35007function flushRenderPhaseStrictModeWarningsInDEV() {
35008  {
35009    ReactStrictModeWarnings.flushLegacyContextWarning();
35010
35011    {
35012      ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
35013    }
35014  }
35015}
35016
35017function stopFinishedWorkLoopTimer() {
35018  var didCompleteRoot = true;
35019  stopWorkLoopTimer(interruptedBy, didCompleteRoot);
35020  interruptedBy = null;
35021}
35022
35023function stopInterruptedWorkLoopTimer() {
35024  // TODO: Track which fiber caused the interruption.
35025  var didCompleteRoot = false;
35026  stopWorkLoopTimer(interruptedBy, didCompleteRoot);
35027  interruptedBy = null;
35028}
35029
35030function checkForInterruption(fiberThatReceivedUpdate, updateExpirationTime) {
35031  if ( workInProgressRoot !== null && updateExpirationTime > renderExpirationTime$1) {
35032    interruptedBy = fiberThatReceivedUpdate;
35033  }
35034}
35035
35036var didWarnStateUpdateForUnmountedComponent = null;
35037
35038function warnAboutUpdateOnUnmountedFiberInDEV(fiber) {
35039  {
35040    var tag = fiber.tag;
35041
35042    if (tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent && tag !== Block) {
35043      // Only warn for user-defined components, not internal ones like Suspense.
35044      return;
35045    }
35046    // the problematic code almost always lies inside that component.
35047
35048
35049    var componentName = getComponentName(fiber.type) || 'ReactComponent';
35050
35051    if (didWarnStateUpdateForUnmountedComponent !== null) {
35052      if (didWarnStateUpdateForUnmountedComponent.has(componentName)) {
35053        return;
35054      }
35055
35056      didWarnStateUpdateForUnmountedComponent.add(componentName);
35057    } else {
35058      didWarnStateUpdateForUnmountedComponent = new Set([componentName]);
35059    }
35060
35061    error("Can't perform a React state update on an unmounted component. This " + 'is a no-op, but it indicates a memory leak in your application. To ' + 'fix, cancel all subscriptions and asynchronous tasks in %s.%s', tag === ClassComponent ? 'the componentWillUnmount method' : 'a useEffect cleanup function', getStackByFiberInDevAndProd(fiber));
35062  }
35063}
35064
35065var beginWork$1;
35066
35067{
35068  var dummyFiber = null;
35069
35070  beginWork$1 = function (current, unitOfWork, expirationTime) {
35071    // If a component throws an error, we replay it again in a synchronously
35072    // dispatched event, so that the debugger will treat it as an uncaught
35073    // error See ReactErrorUtils for more information.
35074    // Before entering the begin phase, copy the work-in-progress onto a dummy
35075    // fiber. If beginWork throws, we'll use this to reset the state.
35076    var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);
35077
35078    try {
35079      return beginWork(current, unitOfWork, expirationTime);
35080    } catch (originalError) {
35081      if (originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {
35082        // Don't replay promises. Treat everything else like an error.
35083        throw originalError;
35084      } // Keep this code in sync with handleError; any changes here must have
35085      // corresponding changes there.
35086
35087
35088      resetContextDependencies();
35089      resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the
35090      // same fiber again.
35091      // Unwind the failed stack frame
35092
35093      unwindInterruptedWork(unitOfWork); // Restore the original properties of the fiber.
35094
35095      assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);
35096
35097      if ( unitOfWork.mode & ProfileMode) {
35098        // Reset the profiler timer.
35099        startProfilerTimer(unitOfWork);
35100      } // Run beginWork again.
35101
35102
35103      invokeGuardedCallback(null, beginWork, null, current, unitOfWork, expirationTime);
35104
35105      if (hasCaughtError()) {
35106        var replayError = clearCaughtError(); // `invokeGuardedCallback` sometimes sets an expando `_suppressLogging`.
35107        // Rethrow this error instead of the original one.
35108
35109        throw replayError;
35110      } else {
35111        // This branch is reachable if the render phase is impure.
35112        throw originalError;
35113      }
35114    }
35115  };
35116}
35117
35118var didWarnAboutUpdateInRender = false;
35119var didWarnAboutUpdateInRenderForAnotherComponent;
35120
35121{
35122  didWarnAboutUpdateInRenderForAnotherComponent = new Set();
35123}
35124
35125function warnAboutRenderPhaseUpdatesInDEV(fiber) {
35126  {
35127    if (isRendering && (executionContext & RenderContext) !== NoContext) {
35128      switch (fiber.tag) {
35129        case FunctionComponent:
35130        case ForwardRef:
35131        case SimpleMemoComponent:
35132          {
35133            var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.
35134
35135            var dedupeKey = renderingComponentName;
35136
35137            if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {
35138              didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);
35139              var setStateComponentName = getComponentName(fiber.type) || 'Unknown';
35140
35141              error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);
35142            }
35143
35144            break;
35145          }
35146
35147        case ClassComponent:
35148          {
35149            if (!didWarnAboutUpdateInRender) {
35150              error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');
35151
35152              didWarnAboutUpdateInRender = true;
35153            }
35154
35155            break;
35156          }
35157      }
35158    }
35159  }
35160} // a 'shared' variable that changes when act() opens/closes in tests.
35161
35162
35163var IsThisRendererActing = {
35164  current: false
35165};
35166function warnIfNotScopedWithMatchingAct(fiber) {
35167  {
35168    if ( IsSomeRendererActing.current === true && IsThisRendererActing.current !== true) {
35169      error("It looks like you're using the wrong act() around your test interactions.\n" + 'Be sure to use the matching version of act() corresponding to your renderer:\n\n' + '// for react-dom:\n' + "import {act} from 'react-dom/test-utils';\n" + '// ...\n' + 'act(() => ...);\n\n' + '// for react-test-renderer:\n' + "import TestRenderer from 'react-test-renderer';\n" + 'const {act} = TestRenderer;\n' + '// ...\n' + 'act(() => ...);' + '%s', getStackByFiberInDevAndProd(fiber));
35170    }
35171  }
35172}
35173function warnIfNotCurrentlyActingEffectsInDEV(fiber) {
35174  {
35175    if ( (fiber.mode & StrictMode) !== NoMode && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) {
35176      error('An update to %s ran an effect, but was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + '  /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber));
35177    }
35178  }
35179}
35180
35181function warnIfNotCurrentlyActingUpdatesInDEV(fiber) {
35182  {
35183    if ( executionContext === NoContext && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) {
35184      error('An update to %s inside a test was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + '  /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber));
35185    }
35186  }
35187}
35188
35189var warnIfNotCurrentlyActingUpdatesInDev = warnIfNotCurrentlyActingUpdatesInDEV; // In tests, we want to enforce a mocked scheduler.
35190
35191var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked
35192// scheduler is the actual recommendation. The alternative could be a testing build,
35193// a new lib, or whatever; we dunno just yet. This message is for early adopters
35194// to get their tests right.
35195
35196function warnIfUnmockedScheduler(fiber) {
35197  {
35198    if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) {
35199      if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) {
35200        didWarnAboutUnmockedScheduler = true;
35201
35202        error('In Concurrent or Sync modes, the "scheduler" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \n' + "jest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\n" + 'For more info, visit https://fb.me/react-mock-scheduler');
35203      }
35204    }
35205  }
35206}
35207
35208function computeThreadID(root, expirationTime) {
35209  // Interaction threads are unique per root and expiration time.
35210  return expirationTime * 1000 + root.interactionThreadID;
35211}
35212
35213function markSpawnedWork(expirationTime) {
35214
35215  if (spawnedWorkDuringRender === null) {
35216    spawnedWorkDuringRender = [expirationTime];
35217  } else {
35218    spawnedWorkDuringRender.push(expirationTime);
35219  }
35220}
35221
35222function scheduleInteractions(root, expirationTime, interactions) {
35223
35224  if (interactions.size > 0) {
35225    var pendingInteractionMap = root.pendingInteractionMap;
35226    var pendingInteractions = pendingInteractionMap.get(expirationTime);
35227
35228    if (pendingInteractions != null) {
35229      interactions.forEach(function (interaction) {
35230        if (!pendingInteractions.has(interaction)) {
35231          // Update the pending async work count for previously unscheduled interaction.
35232          interaction.__count++;
35233        }
35234
35235        pendingInteractions.add(interaction);
35236      });
35237    } else {
35238      pendingInteractionMap.set(expirationTime, new Set(interactions)); // Update the pending async work count for the current interactions.
35239
35240      interactions.forEach(function (interaction) {
35241        interaction.__count++;
35242      });
35243    }
35244
35245    var subscriber = tracing.__subscriberRef.current;
35246
35247    if (subscriber !== null) {
35248      var threadID = computeThreadID(root, expirationTime);
35249      subscriber.onWorkScheduled(interactions, threadID);
35250    }
35251  }
35252}
35253
35254function schedulePendingInteractions(root, expirationTime) {
35255
35256  scheduleInteractions(root, expirationTime, tracing.__interactionsRef.current);
35257}
35258
35259function startWorkOnPendingInteractions(root, expirationTime) {
35260  // we can accurately attribute time spent working on it, And so that cascading
35261  // work triggered during the render phase will be associated with it.
35262
35263
35264  var interactions = new Set();
35265  root.pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) {
35266    if (scheduledExpirationTime >= expirationTime) {
35267      scheduledInteractions.forEach(function (interaction) {
35268        return interactions.add(interaction);
35269      });
35270    }
35271  }); // Store the current set of interactions on the FiberRoot for a few reasons:
35272  // We can re-use it in hot functions like performConcurrentWorkOnRoot()
35273  // without having to recalculate it. We will also use it in commitWork() to
35274  // pass to any Profiler onRender() hooks. This also provides DevTools with a
35275  // way to access it when the onCommitRoot() hook is called.
35276
35277  root.memoizedInteractions = interactions;
35278
35279  if (interactions.size > 0) {
35280    var subscriber = tracing.__subscriberRef.current;
35281
35282    if (subscriber !== null) {
35283      var threadID = computeThreadID(root, expirationTime);
35284
35285      try {
35286        subscriber.onWorkStarted(interactions, threadID);
35287      } catch (error) {
35288        // If the subscriber throws, rethrow it in a separate task
35289        scheduleCallback(ImmediatePriority, function () {
35290          throw error;
35291        });
35292      }
35293    }
35294  }
35295}
35296
35297function finishPendingInteractions(root, committedExpirationTime) {
35298
35299  var earliestRemainingTimeAfterCommit = root.firstPendingTime;
35300  var subscriber;
35301
35302  try {
35303    subscriber = tracing.__subscriberRef.current;
35304
35305    if (subscriber !== null && root.memoizedInteractions.size > 0) {
35306      var threadID = computeThreadID(root, committedExpirationTime);
35307      subscriber.onWorkStopped(root.memoizedInteractions, threadID);
35308    }
35309  } catch (error) {
35310    // If the subscriber throws, rethrow it in a separate task
35311    scheduleCallback(ImmediatePriority, function () {
35312      throw error;
35313    });
35314  } finally {
35315    // Clear completed interactions from the pending Map.
35316    // Unless the render was suspended or cascading work was scheduled,
35317    // In which case– leave pending interactions until the subsequent render.
35318    var pendingInteractionMap = root.pendingInteractionMap;
35319    pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) {
35320      // Only decrement the pending interaction count if we're done.
35321      // If there's still work at the current priority,
35322      // That indicates that we are waiting for suspense data.
35323      if (scheduledExpirationTime > earliestRemainingTimeAfterCommit) {
35324        pendingInteractionMap.delete(scheduledExpirationTime);
35325        scheduledInteractions.forEach(function (interaction) {
35326          interaction.__count--;
35327
35328          if (subscriber !== null && interaction.__count === 0) {
35329            try {
35330              subscriber.onInteractionScheduledWorkCompleted(interaction);
35331            } catch (error) {
35332              // If the subscriber throws, rethrow it in a separate task
35333              scheduleCallback(ImmediatePriority, function () {
35334                throw error;
35335              });
35336            }
35337          }
35338        });
35339      }
35340    });
35341  }
35342}
35343
35344var onScheduleFiberRoot = null;
35345var onCommitFiberRoot = null;
35346var onCommitFiberUnmount = null;
35347var hasLoggedError = false;
35348var isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';
35349function injectInternals(internals) {
35350  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
35351    // No DevTools
35352    return false;
35353  }
35354
35355  var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
35356
35357  if (hook.isDisabled) {
35358    // This isn't a real property on the hook, but it can be set to opt out
35359    // of DevTools integration and associated warnings and logs.
35360    // https://github.com/facebook/react/issues/3877
35361    return true;
35362  }
35363
35364  if (!hook.supportsFiber) {
35365    {
35366      error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://fb.me/react-devtools');
35367    } // DevTools exists, even though it doesn't support Fiber.
35368
35369
35370    return true;
35371  }
35372
35373  try {
35374    var rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.
35375
35376    if (true) {
35377      // Only used by Fast Refresh
35378      if (typeof hook.onScheduleFiberRoot === 'function') {
35379        onScheduleFiberRoot = function (root, children) {
35380          try {
35381            hook.onScheduleFiberRoot(rendererID, root, children);
35382          } catch (err) {
35383            if ( true && !hasLoggedError) {
35384              hasLoggedError = true;
35385
35386              error('React instrumentation encountered an error: %s', err);
35387            }
35388          }
35389        };
35390      }
35391    }
35392
35393    onCommitFiberRoot = function (root, expirationTime) {
35394      try {
35395        var didError = (root.current.effectTag & DidCapture) === DidCapture;
35396
35397        if (enableProfilerTimer) {
35398          var currentTime = getCurrentTime();
35399          var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime);
35400          hook.onCommitFiberRoot(rendererID, root, priorityLevel, didError);
35401        } else {
35402          hook.onCommitFiberRoot(rendererID, root, undefined, didError);
35403        }
35404      } catch (err) {
35405        if (true) {
35406          if (!hasLoggedError) {
35407            hasLoggedError = true;
35408
35409            error('React instrumentation encountered an error: %s', err);
35410          }
35411        }
35412      }
35413    };
35414
35415    onCommitFiberUnmount = function (fiber) {
35416      try {
35417        hook.onCommitFiberUnmount(rendererID, fiber);
35418      } catch (err) {
35419        if (true) {
35420          if (!hasLoggedError) {
35421            hasLoggedError = true;
35422
35423            error('React instrumentation encountered an error: %s', err);
35424          }
35425        }
35426      }
35427    };
35428  } catch (err) {
35429    // Catch all errors because it is unsafe to throw during initialization.
35430    {
35431      error('React instrumentation encountered an error: %s.', err);
35432    }
35433  } // DevTools exists
35434
35435
35436  return true;
35437}
35438function onScheduleRoot(root, children) {
35439  if (typeof onScheduleFiberRoot === 'function') {
35440    onScheduleFiberRoot(root, children);
35441  }
35442}
35443function onCommitRoot(root, expirationTime) {
35444  if (typeof onCommitFiberRoot === 'function') {
35445    onCommitFiberRoot(root, expirationTime);
35446  }
35447}
35448function onCommitUnmount(fiber) {
35449  if (typeof onCommitFiberUnmount === 'function') {
35450    onCommitFiberUnmount(fiber);
35451  }
35452}
35453
35454var hasBadMapPolyfill;
35455
35456{
35457  hasBadMapPolyfill = false;
35458
35459  try {
35460    var nonExtensibleObject = Object.preventExtensions({});
35461    var testMap = new Map([[nonExtensibleObject, null]]);
35462    var testSet = new Set([nonExtensibleObject]); // This is necessary for Rollup to not consider these unused.
35463    // https://github.com/rollup/rollup/issues/1771
35464    // TODO: we can remove these if Rollup fixes the bug.
35465
35466    testMap.set(0, 0);
35467    testSet.add(0);
35468  } catch (e) {
35469    // TODO: Consider warning about bad polyfills
35470    hasBadMapPolyfill = true;
35471  }
35472}
35473
35474var debugCounter = 1;
35475
35476function FiberNode(tag, pendingProps, key, mode) {
35477  // Instance
35478  this.tag = tag;
35479  this.key = key;
35480  this.elementType = null;
35481  this.type = null;
35482  this.stateNode = null; // Fiber
35483
35484  this.return = null;
35485  this.child = null;
35486  this.sibling = null;
35487  this.index = 0;
35488  this.ref = null;
35489  this.pendingProps = pendingProps;
35490  this.memoizedProps = null;
35491  this.updateQueue = null;
35492  this.memoizedState = null;
35493  this.dependencies = null;
35494  this.mode = mode; // Effects
35495
35496  this.effectTag = NoEffect;
35497  this.nextEffect = null;
35498  this.firstEffect = null;
35499  this.lastEffect = null;
35500  this.expirationTime = NoWork;
35501  this.childExpirationTime = NoWork;
35502  this.alternate = null;
35503
35504  {
35505    // Note: The following is done to avoid a v8 performance cliff.
35506    //
35507    // Initializing the fields below to smis and later updating them with
35508    // double values will cause Fibers to end up having separate shapes.
35509    // This behavior/bug has something to do with Object.preventExtension().
35510    // Fortunately this only impacts DEV builds.
35511    // Unfortunately it makes React unusably slow for some applications.
35512    // To work around this, initialize the fields below with doubles.
35513    //
35514    // Learn more about this here:
35515    // https://github.com/facebook/react/issues/14365
35516    // https://bugs.chromium.org/p/v8/issues/detail?id=8538
35517    this.actualDuration = Number.NaN;
35518    this.actualStartTime = Number.NaN;
35519    this.selfBaseDuration = Number.NaN;
35520    this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.
35521    // This won't trigger the performance cliff mentioned above,
35522    // and it simplifies other profiler code (including DevTools).
35523
35524    this.actualDuration = 0;
35525    this.actualStartTime = -1;
35526    this.selfBaseDuration = 0;
35527    this.treeBaseDuration = 0;
35528  } // This is normally DEV-only except www when it adds listeners.
35529  // TODO: remove the User Timing integration in favor of Root Events.
35530
35531
35532  {
35533    this._debugID = debugCounter++;
35534    this._debugIsCurrentlyTiming = false;
35535  }
35536
35537  {
35538    this._debugSource = null;
35539    this._debugOwner = null;
35540    this._debugNeedsRemount = false;
35541    this._debugHookTypes = null;
35542
35543    if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {
35544      Object.preventExtensions(this);
35545    }
35546  }
35547} // This is a constructor function, rather than a POJO constructor, still
35548// please ensure we do the following:
35549// 1) Nobody should add any instance methods on this. Instance methods can be
35550//    more difficult to predict when they get optimized and they are almost
35551//    never inlined properly in static compilers.
35552// 2) Nobody should rely on `instanceof Fiber` for type testing. We should
35553//    always know when it is a fiber.
35554// 3) We might want to experiment with using numeric keys since they are easier
35555//    to optimize in a non-JIT environment.
35556// 4) We can easily go from a constructor to a createFiber object literal if that
35557//    is faster.
35558// 5) It should be easy to port this to a C struct and keep a C implementation
35559//    compatible.
35560
35561
35562var createFiber = function (tag, pendingProps, key, mode) {
35563  // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors
35564  return new FiberNode(tag, pendingProps, key, mode);
35565};
35566
35567function shouldConstruct(Component) {
35568  var prototype = Component.prototype;
35569  return !!(prototype && prototype.isReactComponent);
35570}
35571
35572function isSimpleFunctionComponent(type) {
35573  return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined;
35574}
35575function resolveLazyComponentTag(Component) {
35576  if (typeof Component === 'function') {
35577    return shouldConstruct(Component) ? ClassComponent : FunctionComponent;
35578  } else if (Component !== undefined && Component !== null) {
35579    var $$typeof = Component.$$typeof;
35580
35581    if ($$typeof === REACT_FORWARD_REF_TYPE) {
35582      return ForwardRef;
35583    }
35584
35585    if ($$typeof === REACT_MEMO_TYPE) {
35586      return MemoComponent;
35587    }
35588  }
35589
35590  return IndeterminateComponent;
35591} // This is used to create an alternate fiber to do work on.
35592
35593function createWorkInProgress(current, pendingProps) {
35594  var workInProgress = current.alternate;
35595
35596  if (workInProgress === null) {
35597    // We use a double buffering pooling technique because we know that we'll
35598    // only ever need at most two versions of a tree. We pool the "other" unused
35599    // node that we're free to reuse. This is lazily created to avoid allocating
35600    // extra objects for things that are never updated. It also allow us to
35601    // reclaim the extra memory if needed.
35602    workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);
35603    workInProgress.elementType = current.elementType;
35604    workInProgress.type = current.type;
35605    workInProgress.stateNode = current.stateNode;
35606
35607    {
35608      // DEV-only fields
35609      {
35610        workInProgress._debugID = current._debugID;
35611      }
35612
35613      workInProgress._debugSource = current._debugSource;
35614      workInProgress._debugOwner = current._debugOwner;
35615      workInProgress._debugHookTypes = current._debugHookTypes;
35616    }
35617
35618    workInProgress.alternate = current;
35619    current.alternate = workInProgress;
35620  } else {
35621    workInProgress.pendingProps = pendingProps; // We already have an alternate.
35622    // Reset the effect tag.
35623
35624    workInProgress.effectTag = NoEffect; // The effect list is no longer valid.
35625
35626    workInProgress.nextEffect = null;
35627    workInProgress.firstEffect = null;
35628    workInProgress.lastEffect = null;
35629
35630    {
35631      // We intentionally reset, rather than copy, actualDuration & actualStartTime.
35632      // This prevents time from endlessly accumulating in new commits.
35633      // This has the downside of resetting values for different priority renders,
35634      // But works for yielding (the common case) and should support resuming.
35635      workInProgress.actualDuration = 0;
35636      workInProgress.actualStartTime = -1;
35637    }
35638  }
35639
35640  workInProgress.childExpirationTime = current.childExpirationTime;
35641  workInProgress.expirationTime = current.expirationTime;
35642  workInProgress.child = current.child;
35643  workInProgress.memoizedProps = current.memoizedProps;
35644  workInProgress.memoizedState = current.memoizedState;
35645  workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so
35646  // it cannot be shared with the current fiber.
35647
35648  var currentDependencies = current.dependencies;
35649  workInProgress.dependencies = currentDependencies === null ? null : {
35650    expirationTime: currentDependencies.expirationTime,
35651    firstContext: currentDependencies.firstContext,
35652    responders: currentDependencies.responders
35653  }; // These will be overridden during the parent's reconciliation
35654
35655  workInProgress.sibling = current.sibling;
35656  workInProgress.index = current.index;
35657  workInProgress.ref = current.ref;
35658
35659  {
35660    workInProgress.selfBaseDuration = current.selfBaseDuration;
35661    workInProgress.treeBaseDuration = current.treeBaseDuration;
35662  }
35663
35664  {
35665    workInProgress._debugNeedsRemount = current._debugNeedsRemount;
35666
35667    switch (workInProgress.tag) {
35668      case IndeterminateComponent:
35669      case FunctionComponent:
35670      case SimpleMemoComponent:
35671        workInProgress.type = resolveFunctionForHotReloading(current.type);
35672        break;
35673
35674      case ClassComponent:
35675        workInProgress.type = resolveClassForHotReloading(current.type);
35676        break;
35677
35678      case ForwardRef:
35679        workInProgress.type = resolveForwardRefForHotReloading(current.type);
35680        break;
35681    }
35682  }
35683
35684  return workInProgress;
35685} // Used to reuse a Fiber for a second pass.
35686
35687function resetWorkInProgress(workInProgress, renderExpirationTime) {
35688  // This resets the Fiber to what createFiber or createWorkInProgress would
35689  // have set the values to before during the first pass. Ideally this wouldn't
35690  // be necessary but unfortunately many code paths reads from the workInProgress
35691  // when they should be reading from current and writing to workInProgress.
35692  // We assume pendingProps, index, key, ref, return are still untouched to
35693  // avoid doing another reconciliation.
35694  // Reset the effect tag but keep any Placement tags, since that's something
35695  // that child fiber is setting, not the reconciliation.
35696  workInProgress.effectTag &= Placement; // The effect list is no longer valid.
35697
35698  workInProgress.nextEffect = null;
35699  workInProgress.firstEffect = null;
35700  workInProgress.lastEffect = null;
35701  var current = workInProgress.alternate;
35702
35703  if (current === null) {
35704    // Reset to createFiber's initial values.
35705    workInProgress.childExpirationTime = NoWork;
35706    workInProgress.expirationTime = renderExpirationTime;
35707    workInProgress.child = null;
35708    workInProgress.memoizedProps = null;
35709    workInProgress.memoizedState = null;
35710    workInProgress.updateQueue = null;
35711    workInProgress.dependencies = null;
35712
35713    {
35714      // Note: We don't reset the actualTime counts. It's useful to accumulate
35715      // actual time across multiple render passes.
35716      workInProgress.selfBaseDuration = 0;
35717      workInProgress.treeBaseDuration = 0;
35718    }
35719  } else {
35720    // Reset to the cloned values that createWorkInProgress would've.
35721    workInProgress.childExpirationTime = current.childExpirationTime;
35722    workInProgress.expirationTime = current.expirationTime;
35723    workInProgress.child = current.child;
35724    workInProgress.memoizedProps = current.memoizedProps;
35725    workInProgress.memoizedState = current.memoizedState;
35726    workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so
35727    // it cannot be shared with the current fiber.
35728
35729    var currentDependencies = current.dependencies;
35730    workInProgress.dependencies = currentDependencies === null ? null : {
35731      expirationTime: currentDependencies.expirationTime,
35732      firstContext: currentDependencies.firstContext,
35733      responders: currentDependencies.responders
35734    };
35735
35736    {
35737      // Note: We don't reset the actualTime counts. It's useful to accumulate
35738      // actual time across multiple render passes.
35739      workInProgress.selfBaseDuration = current.selfBaseDuration;
35740      workInProgress.treeBaseDuration = current.treeBaseDuration;
35741    }
35742  }
35743
35744  return workInProgress;
35745}
35746function createHostRootFiber(tag) {
35747  var mode;
35748
35749  if (tag === ConcurrentRoot) {
35750    mode = ConcurrentMode | BlockingMode | StrictMode;
35751  } else if (tag === BlockingRoot) {
35752    mode = BlockingMode | StrictMode;
35753  } else {
35754    mode = NoMode;
35755  }
35756
35757  if ( isDevToolsPresent) {
35758    // Always collect profile timings when DevTools are present.
35759    // This enables DevTools to start capturing timing at any point–
35760    // Without some nodes in the tree having empty base times.
35761    mode |= ProfileMode;
35762  }
35763
35764  return createFiber(HostRoot, null, null, mode);
35765}
35766function createFiberFromTypeAndProps(type, // React$ElementType
35767key, pendingProps, owner, mode, expirationTime) {
35768  var fiber;
35769  var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.
35770
35771  var resolvedType = type;
35772
35773  if (typeof type === 'function') {
35774    if (shouldConstruct(type)) {
35775      fiberTag = ClassComponent;
35776
35777      {
35778        resolvedType = resolveClassForHotReloading(resolvedType);
35779      }
35780    } else {
35781      {
35782        resolvedType = resolveFunctionForHotReloading(resolvedType);
35783      }
35784    }
35785  } else if (typeof type === 'string') {
35786    fiberTag = HostComponent;
35787  } else {
35788    getTag: switch (type) {
35789      case REACT_FRAGMENT_TYPE:
35790        return createFiberFromFragment(pendingProps.children, mode, expirationTime, key);
35791
35792      case REACT_CONCURRENT_MODE_TYPE:
35793        fiberTag = Mode;
35794        mode |= ConcurrentMode | BlockingMode | StrictMode;
35795        break;
35796
35797      case REACT_STRICT_MODE_TYPE:
35798        fiberTag = Mode;
35799        mode |= StrictMode;
35800        break;
35801
35802      case REACT_PROFILER_TYPE:
35803        return createFiberFromProfiler(pendingProps, mode, expirationTime, key);
35804
35805      case REACT_SUSPENSE_TYPE:
35806        return createFiberFromSuspense(pendingProps, mode, expirationTime, key);
35807
35808      case REACT_SUSPENSE_LIST_TYPE:
35809        return createFiberFromSuspenseList(pendingProps, mode, expirationTime, key);
35810
35811      default:
35812        {
35813          if (typeof type === 'object' && type !== null) {
35814            switch (type.$$typeof) {
35815              case REACT_PROVIDER_TYPE:
35816                fiberTag = ContextProvider;
35817                break getTag;
35818
35819              case REACT_CONTEXT_TYPE:
35820                // This is a consumer
35821                fiberTag = ContextConsumer;
35822                break getTag;
35823
35824              case REACT_FORWARD_REF_TYPE:
35825                fiberTag = ForwardRef;
35826
35827                {
35828                  resolvedType = resolveForwardRefForHotReloading(resolvedType);
35829                }
35830
35831                break getTag;
35832
35833              case REACT_MEMO_TYPE:
35834                fiberTag = MemoComponent;
35835                break getTag;
35836
35837              case REACT_LAZY_TYPE:
35838                fiberTag = LazyComponent;
35839                resolvedType = null;
35840                break getTag;
35841
35842              case REACT_BLOCK_TYPE:
35843                fiberTag = Block;
35844                break getTag;
35845
35846            }
35847          }
35848
35849          var info = '';
35850
35851          {
35852            if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
35853              info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.';
35854            }
35855
35856            var ownerName = owner ? getComponentName(owner.type) : null;
35857
35858            if (ownerName) {
35859              info += '\n\nCheck the render method of `' + ownerName + '`.';
35860            }
35861          }
35862
35863          {
35864            {
35865              throw Error( "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (type == null ? type : typeof type) + "." + info );
35866            }
35867          }
35868        }
35869    }
35870  }
35871
35872  fiber = createFiber(fiberTag, pendingProps, key, mode);
35873  fiber.elementType = type;
35874  fiber.type = resolvedType;
35875  fiber.expirationTime = expirationTime;
35876  return fiber;
35877}
35878function createFiberFromElement(element, mode, expirationTime) {
35879  var owner = null;
35880
35881  {
35882    owner = element._owner;
35883  }
35884
35885  var type = element.type;
35886  var key = element.key;
35887  var pendingProps = element.props;
35888  var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, expirationTime);
35889
35890  {
35891    fiber._debugSource = element._source;
35892    fiber._debugOwner = element._owner;
35893  }
35894
35895  return fiber;
35896}
35897function createFiberFromFragment(elements, mode, expirationTime, key) {
35898  var fiber = createFiber(Fragment, elements, key, mode);
35899  fiber.expirationTime = expirationTime;
35900  return fiber;
35901}
35902
35903function createFiberFromProfiler(pendingProps, mode, expirationTime, key) {
35904  {
35905    if (typeof pendingProps.id !== 'string' || typeof pendingProps.onRender !== 'function') {
35906      error('Profiler must specify an "id" string and "onRender" function as props');
35907    }
35908  }
35909
35910  var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); // TODO: The Profiler fiber shouldn't have a type. It has a tag.
35911
35912  fiber.elementType = REACT_PROFILER_TYPE;
35913  fiber.type = REACT_PROFILER_TYPE;
35914  fiber.expirationTime = expirationTime;
35915  return fiber;
35916}
35917
35918function createFiberFromSuspense(pendingProps, mode, expirationTime, key) {
35919  var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag.
35920  // This needs to be fixed in getComponentName so that it relies on the tag
35921  // instead.
35922
35923  fiber.type = REACT_SUSPENSE_TYPE;
35924  fiber.elementType = REACT_SUSPENSE_TYPE;
35925  fiber.expirationTime = expirationTime;
35926  return fiber;
35927}
35928function createFiberFromSuspenseList(pendingProps, mode, expirationTime, key) {
35929  var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);
35930
35931  {
35932    // TODO: The SuspenseListComponent fiber shouldn't have a type. It has a tag.
35933    // This needs to be fixed in getComponentName so that it relies on the tag
35934    // instead.
35935    fiber.type = REACT_SUSPENSE_LIST_TYPE;
35936  }
35937
35938  fiber.elementType = REACT_SUSPENSE_LIST_TYPE;
35939  fiber.expirationTime = expirationTime;
35940  return fiber;
35941}
35942function createFiberFromText(content, mode, expirationTime) {
35943  var fiber = createFiber(HostText, content, null, mode);
35944  fiber.expirationTime = expirationTime;
35945  return fiber;
35946}
35947function createFiberFromHostInstanceForDeletion() {
35948  var fiber = createFiber(HostComponent, null, null, NoMode); // TODO: These should not need a type.
35949
35950  fiber.elementType = 'DELETED';
35951  fiber.type = 'DELETED';
35952  return fiber;
35953}
35954function createFiberFromPortal(portal, mode, expirationTime) {
35955  var pendingProps = portal.children !== null ? portal.children : [];
35956  var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);
35957  fiber.expirationTime = expirationTime;
35958  fiber.stateNode = {
35959    containerInfo: portal.containerInfo,
35960    pendingChildren: null,
35961    // Used by persistent updates
35962    implementation: portal.implementation
35963  };
35964  return fiber;
35965} // Used for stashing WIP properties to replay failed work in DEV.
35966
35967function assignFiberPropertiesInDEV(target, source) {
35968  if (target === null) {
35969    // This Fiber's initial properties will always be overwritten.
35970    // We only use a Fiber to ensure the same hidden class so DEV isn't slow.
35971    target = createFiber(IndeterminateComponent, null, null, NoMode);
35972  } // This is intentionally written as a list of all properties.
35973  // We tried to use Object.assign() instead but this is called in
35974  // the hottest path, and Object.assign() was too slow:
35975  // https://github.com/facebook/react/issues/12502
35976  // This code is DEV-only so size is not a concern.
35977
35978
35979  target.tag = source.tag;
35980  target.key = source.key;
35981  target.elementType = source.elementType;
35982  target.type = source.type;
35983  target.stateNode = source.stateNode;
35984  target.return = source.return;
35985  target.child = source.child;
35986  target.sibling = source.sibling;
35987  target.index = source.index;
35988  target.ref = source.ref;
35989  target.pendingProps = source.pendingProps;
35990  target.memoizedProps = source.memoizedProps;
35991  target.updateQueue = source.updateQueue;
35992  target.memoizedState = source.memoizedState;
35993  target.dependencies = source.dependencies;
35994  target.mode = source.mode;
35995  target.effectTag = source.effectTag;
35996  target.nextEffect = source.nextEffect;
35997  target.firstEffect = source.firstEffect;
35998  target.lastEffect = source.lastEffect;
35999  target.expirationTime = source.expirationTime;
36000  target.childExpirationTime = source.childExpirationTime;
36001  target.alternate = source.alternate;
36002
36003  {
36004    target.actualDuration = source.actualDuration;
36005    target.actualStartTime = source.actualStartTime;
36006    target.selfBaseDuration = source.selfBaseDuration;
36007    target.treeBaseDuration = source.treeBaseDuration;
36008  }
36009
36010  {
36011    target._debugID = source._debugID;
36012  }
36013
36014  target._debugSource = source._debugSource;
36015  target._debugOwner = source._debugOwner;
36016  target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming;
36017  target._debugNeedsRemount = source._debugNeedsRemount;
36018  target._debugHookTypes = source._debugHookTypes;
36019  return target;
36020}
36021
36022function FiberRootNode(containerInfo, tag, hydrate) {
36023  this.tag = tag;
36024  this.current = null;
36025  this.containerInfo = containerInfo;
36026  this.pendingChildren = null;
36027  this.pingCache = null;
36028  this.finishedExpirationTime = NoWork;
36029  this.finishedWork = null;
36030  this.timeoutHandle = noTimeout;
36031  this.context = null;
36032  this.pendingContext = null;
36033  this.hydrate = hydrate;
36034  this.callbackNode = null;
36035  this.callbackPriority = NoPriority;
36036  this.firstPendingTime = NoWork;
36037  this.firstSuspendedTime = NoWork;
36038  this.lastSuspendedTime = NoWork;
36039  this.nextKnownPendingLevel = NoWork;
36040  this.lastPingedTime = NoWork;
36041  this.lastExpiredTime = NoWork;
36042
36043  {
36044    this.interactionThreadID = tracing.unstable_getThreadID();
36045    this.memoizedInteractions = new Set();
36046    this.pendingInteractionMap = new Map();
36047  }
36048}
36049
36050function createFiberRoot(containerInfo, tag, hydrate, hydrationCallbacks) {
36051  var root = new FiberRootNode(containerInfo, tag, hydrate);
36052  // stateNode is any.
36053
36054
36055  var uninitializedFiber = createHostRootFiber(tag);
36056  root.current = uninitializedFiber;
36057  uninitializedFiber.stateNode = root;
36058  initializeUpdateQueue(uninitializedFiber);
36059  return root;
36060}
36061function isRootSuspendedAtTime(root, expirationTime) {
36062  var firstSuspendedTime = root.firstSuspendedTime;
36063  var lastSuspendedTime = root.lastSuspendedTime;
36064  return firstSuspendedTime !== NoWork && firstSuspendedTime >= expirationTime && lastSuspendedTime <= expirationTime;
36065}
36066function markRootSuspendedAtTime(root, expirationTime) {
36067  var firstSuspendedTime = root.firstSuspendedTime;
36068  var lastSuspendedTime = root.lastSuspendedTime;
36069
36070  if (firstSuspendedTime < expirationTime) {
36071    root.firstSuspendedTime = expirationTime;
36072  }
36073
36074  if (lastSuspendedTime > expirationTime || firstSuspendedTime === NoWork) {
36075    root.lastSuspendedTime = expirationTime;
36076  }
36077
36078  if (expirationTime <= root.lastPingedTime) {
36079    root.lastPingedTime = NoWork;
36080  }
36081
36082  if (expirationTime <= root.lastExpiredTime) {
36083    root.lastExpiredTime = NoWork;
36084  }
36085}
36086function markRootUpdatedAtTime(root, expirationTime) {
36087  // Update the range of pending times
36088  var firstPendingTime = root.firstPendingTime;
36089
36090  if (expirationTime > firstPendingTime) {
36091    root.firstPendingTime = expirationTime;
36092  } // Update the range of suspended times. Treat everything lower priority or
36093  // equal to this update as unsuspended.
36094
36095
36096  var firstSuspendedTime = root.firstSuspendedTime;
36097
36098  if (firstSuspendedTime !== NoWork) {
36099    if (expirationTime >= firstSuspendedTime) {
36100      // The entire suspended range is now unsuspended.
36101      root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork;
36102    } else if (expirationTime >= root.lastSuspendedTime) {
36103      root.lastSuspendedTime = expirationTime + 1;
36104    } // This is a pending level. Check if it's higher priority than the next
36105    // known pending level.
36106
36107
36108    if (expirationTime > root.nextKnownPendingLevel) {
36109      root.nextKnownPendingLevel = expirationTime;
36110    }
36111  }
36112}
36113function markRootFinishedAtTime(root, finishedExpirationTime, remainingExpirationTime) {
36114  // Update the range of pending times
36115  root.firstPendingTime = remainingExpirationTime; // Update the range of suspended times. Treat everything higher priority or
36116  // equal to this update as unsuspended.
36117
36118  if (finishedExpirationTime <= root.lastSuspendedTime) {
36119    // The entire suspended range is now unsuspended.
36120    root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork;
36121  } else if (finishedExpirationTime <= root.firstSuspendedTime) {
36122    // Part of the suspended range is now unsuspended. Narrow the range to
36123    // include everything between the unsuspended time (non-inclusive) and the
36124    // last suspended time.
36125    root.firstSuspendedTime = finishedExpirationTime - 1;
36126  }
36127
36128  if (finishedExpirationTime <= root.lastPingedTime) {
36129    // Clear the pinged time
36130    root.lastPingedTime = NoWork;
36131  }
36132
36133  if (finishedExpirationTime <= root.lastExpiredTime) {
36134    // Clear the expired time
36135    root.lastExpiredTime = NoWork;
36136  }
36137}
36138function markRootExpiredAtTime(root, expirationTime) {
36139  var lastExpiredTime = root.lastExpiredTime;
36140
36141  if (lastExpiredTime === NoWork || lastExpiredTime > expirationTime) {
36142    root.lastExpiredTime = expirationTime;
36143  }
36144}
36145
36146var didWarnAboutNestedUpdates;
36147var didWarnAboutFindNodeInStrictMode;
36148
36149{
36150  didWarnAboutNestedUpdates = false;
36151  didWarnAboutFindNodeInStrictMode = {};
36152}
36153
36154function getContextForSubtree(parentComponent) {
36155  if (!parentComponent) {
36156    return emptyContextObject;
36157  }
36158
36159  var fiber = get(parentComponent);
36160  var parentContext = findCurrentUnmaskedContext(fiber);
36161
36162  if (fiber.tag === ClassComponent) {
36163    var Component = fiber.type;
36164
36165    if (isContextProvider(Component)) {
36166      return processChildContext(fiber, Component, parentContext);
36167    }
36168  }
36169
36170  return parentContext;
36171}
36172
36173function findHostInstanceWithWarning(component, methodName) {
36174  {
36175    var fiber = get(component);
36176
36177    if (fiber === undefined) {
36178      if (typeof component.render === 'function') {
36179        {
36180          {
36181            throw Error( "Unable to find node on an unmounted component." );
36182          }
36183        }
36184      } else {
36185        {
36186          {
36187            throw Error( "Argument appears to not be a ReactComponent. Keys: " + Object.keys(component) );
36188          }
36189        }
36190      }
36191    }
36192
36193    var hostFiber = findCurrentHostFiber(fiber);
36194
36195    if (hostFiber === null) {
36196      return null;
36197    }
36198
36199    if (hostFiber.mode & StrictMode) {
36200      var componentName = getComponentName(fiber.type) || 'Component';
36201
36202      if (!didWarnAboutFindNodeInStrictMode[componentName]) {
36203        didWarnAboutFindNodeInStrictMode[componentName] = true;
36204
36205        if (fiber.mode & StrictMode) {
36206          error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber));
36207        } else {
36208          error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber));
36209        }
36210      }
36211    }
36212
36213    return hostFiber.stateNode;
36214  }
36215}
36216
36217function createContainer(containerInfo, tag, hydrate, hydrationCallbacks) {
36218  return createFiberRoot(containerInfo, tag, hydrate);
36219}
36220function updateContainer(element, container, parentComponent, callback) {
36221  {
36222    onScheduleRoot(container, element);
36223  }
36224
36225  var current$1 = container.current;
36226  var currentTime = requestCurrentTimeForUpdate();
36227
36228  {
36229    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
36230    if ('undefined' !== typeof jest) {
36231      warnIfUnmockedScheduler(current$1);
36232      warnIfNotScopedWithMatchingAct(current$1);
36233    }
36234  }
36235
36236  var suspenseConfig = requestCurrentSuspenseConfig();
36237  var expirationTime = computeExpirationForFiber(currentTime, current$1, suspenseConfig);
36238  var context = getContextForSubtree(parentComponent);
36239
36240  if (container.context === null) {
36241    container.context = context;
36242  } else {
36243    container.pendingContext = context;
36244  }
36245
36246  {
36247    if (isRendering && current !== null && !didWarnAboutNestedUpdates) {
36248      didWarnAboutNestedUpdates = true;
36249
36250      error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown');
36251    }
36252  }
36253
36254  var update = createUpdate(expirationTime, suspenseConfig); // Caution: React DevTools currently depends on this property
36255  // being called "element".
36256
36257  update.payload = {
36258    element: element
36259  };
36260  callback = callback === undefined ? null : callback;
36261
36262  if (callback !== null) {
36263    {
36264      if (typeof callback !== 'function') {
36265        error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);
36266      }
36267    }
36268
36269    update.callback = callback;
36270  }
36271
36272  enqueueUpdate(current$1, update);
36273  scheduleWork(current$1, expirationTime);
36274  return expirationTime;
36275}
36276function getPublicRootInstance(container) {
36277  var containerFiber = container.current;
36278
36279  if (!containerFiber.child) {
36280    return null;
36281  }
36282
36283  switch (containerFiber.child.tag) {
36284    case HostComponent:
36285      return getPublicInstance(containerFiber.child.stateNode);
36286
36287    default:
36288      return containerFiber.child.stateNode;
36289  }
36290}
36291
36292function markRetryTimeImpl(fiber, retryTime) {
36293  var suspenseState = fiber.memoizedState;
36294
36295  if (suspenseState !== null && suspenseState.dehydrated !== null) {
36296    if (suspenseState.retryTime < retryTime) {
36297      suspenseState.retryTime = retryTime;
36298    }
36299  }
36300} // Increases the priority of thennables when they resolve within this boundary.
36301
36302
36303function markRetryTimeIfNotHydrated(fiber, retryTime) {
36304  markRetryTimeImpl(fiber, retryTime);
36305  var alternate = fiber.alternate;
36306
36307  if (alternate) {
36308    markRetryTimeImpl(alternate, retryTime);
36309  }
36310}
36311
36312function attemptUserBlockingHydration$1(fiber) {
36313  if (fiber.tag !== SuspenseComponent) {
36314    // We ignore HostRoots here because we can't increase
36315    // their priority and they should not suspend on I/O,
36316    // since you have to wrap anything that might suspend in
36317    // Suspense.
36318    return;
36319  }
36320
36321  var expTime = computeInteractiveExpiration(requestCurrentTimeForUpdate());
36322  scheduleWork(fiber, expTime);
36323  markRetryTimeIfNotHydrated(fiber, expTime);
36324}
36325function attemptContinuousHydration$1(fiber) {
36326  if (fiber.tag !== SuspenseComponent) {
36327    // We ignore HostRoots here because we can't increase
36328    // their priority and they should not suspend on I/O,
36329    // since you have to wrap anything that might suspend in
36330    // Suspense.
36331    return;
36332  }
36333
36334  scheduleWork(fiber, ContinuousHydration);
36335  markRetryTimeIfNotHydrated(fiber, ContinuousHydration);
36336}
36337function attemptHydrationAtCurrentPriority$1(fiber) {
36338  if (fiber.tag !== SuspenseComponent) {
36339    // We ignore HostRoots here because we can't increase
36340    // their priority other than synchronously flush it.
36341    return;
36342  }
36343
36344  var currentTime = requestCurrentTimeForUpdate();
36345  var expTime = computeExpirationForFiber(currentTime, fiber, null);
36346  scheduleWork(fiber, expTime);
36347  markRetryTimeIfNotHydrated(fiber, expTime);
36348}
36349function findHostInstanceWithNoPortals(fiber) {
36350  var hostFiber = findCurrentHostFiberWithNoPortals(fiber);
36351
36352  if (hostFiber === null) {
36353    return null;
36354  }
36355
36356  if (hostFiber.tag === FundamentalComponent) {
36357    return hostFiber.stateNode.instance;
36358  }
36359
36360  return hostFiber.stateNode;
36361}
36362
36363var shouldSuspendImpl = function (fiber) {
36364  return false;
36365};
36366
36367function shouldSuspend(fiber) {
36368  return shouldSuspendImpl(fiber);
36369}
36370var overrideHookState = null;
36371var overrideProps = null;
36372var scheduleUpdate = null;
36373var setSuspenseHandler = null;
36374
36375{
36376  var copyWithSetImpl = function (obj, path, idx, value) {
36377    if (idx >= path.length) {
36378      return value;
36379    }
36380
36381    var key = path[idx];
36382    var updated = Array.isArray(obj) ? obj.slice() : _assign({}, obj); // $FlowFixMe number or string is fine here
36383
36384    updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value);
36385    return updated;
36386  };
36387
36388  var copyWithSet = function (obj, path, value) {
36389    return copyWithSetImpl(obj, path, 0, value);
36390  }; // Support DevTools editable values for useState and useReducer.
36391
36392
36393  overrideHookState = function (fiber, id, path, value) {
36394    // For now, the "id" of stateful hooks is just the stateful hook index.
36395    // This may change in the future with e.g. nested hooks.
36396    var currentHook = fiber.memoizedState;
36397
36398    while (currentHook !== null && id > 0) {
36399      currentHook = currentHook.next;
36400      id--;
36401    }
36402
36403    if (currentHook !== null) {
36404      var newState = copyWithSet(currentHook.memoizedState, path, value);
36405      currentHook.memoizedState = newState;
36406      currentHook.baseState = newState; // We aren't actually adding an update to the queue,
36407      // because there is no update we can add for useReducer hooks that won't trigger an error.
36408      // (There's no appropriate action type for DevTools overrides.)
36409      // As a result though, React will see the scheduled update as a noop and bailout.
36410      // Shallow cloning props works as a workaround for now to bypass the bailout check.
36411
36412      fiber.memoizedProps = _assign({}, fiber.memoizedProps);
36413      scheduleWork(fiber, Sync);
36414    }
36415  }; // Support DevTools props for function components, forwardRef, memo, host components, etc.
36416
36417
36418  overrideProps = function (fiber, path, value) {
36419    fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);
36420
36421    if (fiber.alternate) {
36422      fiber.alternate.pendingProps = fiber.pendingProps;
36423    }
36424
36425    scheduleWork(fiber, Sync);
36426  };
36427
36428  scheduleUpdate = function (fiber) {
36429    scheduleWork(fiber, Sync);
36430  };
36431
36432  setSuspenseHandler = function (newShouldSuspendImpl) {
36433    shouldSuspendImpl = newShouldSuspendImpl;
36434  };
36435}
36436
36437function injectIntoDevTools(devToolsConfig) {
36438  var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;
36439  var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
36440  return injectInternals(_assign({}, devToolsConfig, {
36441    overrideHookState: overrideHookState,
36442    overrideProps: overrideProps,
36443    setSuspenseHandler: setSuspenseHandler,
36444    scheduleUpdate: scheduleUpdate,
36445    currentDispatcherRef: ReactCurrentDispatcher,
36446    findHostInstanceByFiber: function (fiber) {
36447      var hostFiber = findCurrentHostFiber(fiber);
36448
36449      if (hostFiber === null) {
36450        return null;
36451      }
36452
36453      return hostFiber.stateNode;
36454    },
36455    findFiberByHostInstance: function (instance) {
36456      if (!findFiberByHostInstance) {
36457        // Might not be implemented by the renderer.
36458        return null;
36459      }
36460
36461      return findFiberByHostInstance(instance);
36462    },
36463    // React Refresh
36464    findHostInstancesForRefresh:  findHostInstancesForRefresh ,
36465    scheduleRefresh:  scheduleRefresh ,
36466    scheduleRoot:  scheduleRoot ,
36467    setRefreshHandler:  setRefreshHandler ,
36468    // Enables DevTools to append owner stacks to error messages in DEV mode.
36469    getCurrentFiber:  function () {
36470      return current;
36471    }
36472  }));
36473}
36474var IsSomeRendererActing$1 = ReactSharedInternals.IsSomeRendererActing;
36475
36476function ReactDOMRoot(container, options) {
36477  this._internalRoot = createRootImpl(container, ConcurrentRoot, options);
36478}
36479
36480function ReactDOMBlockingRoot(container, tag, options) {
36481  this._internalRoot = createRootImpl(container, tag, options);
36482}
36483
36484ReactDOMRoot.prototype.render = ReactDOMBlockingRoot.prototype.render = function (children) {
36485  var root = this._internalRoot;
36486
36487  {
36488    if (typeof arguments[1] === 'function') {
36489      error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');
36490    }
36491
36492    var container = root.containerInfo;
36493
36494    if (container.nodeType !== COMMENT_NODE) {
36495      var hostInstance = findHostInstanceWithNoPortals(root.current);
36496
36497      if (hostInstance) {
36498        if (hostInstance.parentNode !== container) {
36499          error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + "root.unmount() to empty a root's container.");
36500        }
36501      }
36502    }
36503  }
36504
36505  updateContainer(children, root, null, null);
36506};
36507
36508ReactDOMRoot.prototype.unmount = ReactDOMBlockingRoot.prototype.unmount = function () {
36509  {
36510    if (typeof arguments[0] === 'function') {
36511      error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');
36512    }
36513  }
36514
36515  var root = this._internalRoot;
36516  var container = root.containerInfo;
36517  updateContainer(null, root, null, function () {
36518    unmarkContainerAsRoot(container);
36519  });
36520};
36521
36522function createRootImpl(container, tag, options) {
36523  // Tag is either LegacyRoot or Concurrent Root
36524  var hydrate = options != null && options.hydrate === true;
36525  var hydrationCallbacks = options != null && options.hydrationOptions || null;
36526  var root = createContainer(container, tag, hydrate);
36527  markContainerAsRoot(root.current, container);
36528
36529  if (hydrate && tag !== LegacyRoot) {
36530    var doc = container.nodeType === DOCUMENT_NODE ? container : container.ownerDocument;
36531    eagerlyTrapReplayableEvents(container, doc);
36532  }
36533
36534  return root;
36535}
36536function createLegacyRoot(container, options) {
36537  return new ReactDOMBlockingRoot(container, LegacyRoot, options);
36538}
36539function isValidContainer(node) {
36540  return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));
36541}
36542
36543var ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;
36544var topLevelUpdateWarnings;
36545var warnedAboutHydrateAPI = false;
36546
36547{
36548  topLevelUpdateWarnings = function (container) {
36549    if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {
36550      var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer._internalRoot.current);
36551
36552      if (hostInstance) {
36553        if (hostInstance.parentNode !== container) {
36554          error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');
36555        }
36556      }
36557    }
36558
36559    var isRootRenderedBySomeReact = !!container._reactRootContainer;
36560    var rootEl = getReactRootElementInContainer(container);
36561    var hasNonRootReactChild = !!(rootEl && getInstanceFromNode$1(rootEl));
36562
36563    if (hasNonRootReactChild && !isRootRenderedBySomeReact) {
36564      error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');
36565    }
36566
36567    if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {
36568      error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');
36569    }
36570  };
36571}
36572
36573function getReactRootElementInContainer(container) {
36574  if (!container) {
36575    return null;
36576  }
36577
36578  if (container.nodeType === DOCUMENT_NODE) {
36579    return container.documentElement;
36580  } else {
36581    return container.firstChild;
36582  }
36583}
36584
36585function shouldHydrateDueToLegacyHeuristic(container) {
36586  var rootElement = getReactRootElementInContainer(container);
36587  return !!(rootElement && rootElement.nodeType === ELEMENT_NODE && rootElement.hasAttribute(ROOT_ATTRIBUTE_NAME));
36588}
36589
36590function legacyCreateRootFromDOMContainer(container, forceHydrate) {
36591  var shouldHydrate = forceHydrate || shouldHydrateDueToLegacyHeuristic(container); // First clear any existing content.
36592
36593  if (!shouldHydrate) {
36594    var warned = false;
36595    var rootSibling;
36596
36597    while (rootSibling = container.lastChild) {
36598      {
36599        if (!warned && rootSibling.nodeType === ELEMENT_NODE && rootSibling.hasAttribute(ROOT_ATTRIBUTE_NAME)) {
36600          warned = true;
36601
36602          error('render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.');
36603        }
36604      }
36605
36606      container.removeChild(rootSibling);
36607    }
36608  }
36609
36610  {
36611    if (shouldHydrate && !forceHydrate && !warnedAboutHydrateAPI) {
36612      warnedAboutHydrateAPI = true;
36613
36614      warn('render(): Calling ReactDOM.render() to hydrate server-rendered markup ' + 'will stop working in React v17. Replace the ReactDOM.render() call ' + 'with ReactDOM.hydrate() if you want React to attach to the server HTML.');
36615    }
36616  }
36617
36618  return createLegacyRoot(container, shouldHydrate ? {
36619    hydrate: true
36620  } : undefined);
36621}
36622
36623function warnOnInvalidCallback$1(callback, callerName) {
36624  {
36625    if (callback !== null && typeof callback !== 'function') {
36626      error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);
36627    }
36628  }
36629}
36630
36631function legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {
36632  {
36633    topLevelUpdateWarnings(container);
36634    warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');
36635  } // TODO: Without `any` type, Flow says "Property cannot be accessed on any
36636  // member of intersection type." Whyyyyyy.
36637
36638
36639  var root = container._reactRootContainer;
36640  var fiberRoot;
36641
36642  if (!root) {
36643    // Initial mount
36644    root = container._reactRootContainer = legacyCreateRootFromDOMContainer(container, forceHydrate);
36645    fiberRoot = root._internalRoot;
36646
36647    if (typeof callback === 'function') {
36648      var originalCallback = callback;
36649
36650      callback = function () {
36651        var instance = getPublicRootInstance(fiberRoot);
36652        originalCallback.call(instance);
36653      };
36654    } // Initial mount should not be batched.
36655
36656
36657    unbatchedUpdates(function () {
36658      updateContainer(children, fiberRoot, parentComponent, callback);
36659    });
36660  } else {
36661    fiberRoot = root._internalRoot;
36662
36663    if (typeof callback === 'function') {
36664      var _originalCallback = callback;
36665
36666      callback = function () {
36667        var instance = getPublicRootInstance(fiberRoot);
36668
36669        _originalCallback.call(instance);
36670      };
36671    } // Update
36672
36673
36674    updateContainer(children, fiberRoot, parentComponent, callback);
36675  }
36676
36677  return getPublicRootInstance(fiberRoot);
36678}
36679
36680function findDOMNode(componentOrElement) {
36681  {
36682    var owner = ReactCurrentOwner$3.current;
36683
36684    if (owner !== null && owner.stateNode !== null) {
36685      var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;
36686
36687      if (!warnedAboutRefsInRender) {
36688        error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(owner.type) || 'A component');
36689      }
36690
36691      owner.stateNode._warnedAboutRefsInRender = true;
36692    }
36693  }
36694
36695  if (componentOrElement == null) {
36696    return null;
36697  }
36698
36699  if (componentOrElement.nodeType === ELEMENT_NODE) {
36700    return componentOrElement;
36701  }
36702
36703  {
36704    return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');
36705  }
36706}
36707function hydrate(element, container, callback) {
36708  if (!isValidContainer(container)) {
36709    {
36710      throw Error( "Target container is not a DOM element." );
36711    }
36712  }
36713
36714  {
36715    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;
36716
36717    if (isModernRoot) {
36718      error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call createRoot(container, {hydrate: true}).render(element)?');
36719    }
36720  } // TODO: throw or warn if we couldn't hydrate?
36721
36722
36723  return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);
36724}
36725function render(element, container, callback) {
36726  if (!isValidContainer(container)) {
36727    {
36728      throw Error( "Target container is not a DOM element." );
36729    }
36730  }
36731
36732  {
36733    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;
36734
36735    if (isModernRoot) {
36736      error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');
36737    }
36738  }
36739
36740  return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);
36741}
36742function unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {
36743  if (!isValidContainer(containerNode)) {
36744    {
36745      throw Error( "Target container is not a DOM element." );
36746    }
36747  }
36748
36749  if (!(parentComponent != null && has(parentComponent))) {
36750    {
36751      throw Error( "parentComponent must be a valid React Component" );
36752    }
36753  }
36754
36755  return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);
36756}
36757function unmountComponentAtNode(container) {
36758  if (!isValidContainer(container)) {
36759    {
36760      throw Error( "unmountComponentAtNode(...): Target container is not a DOM element." );
36761    }
36762  }
36763
36764  {
36765    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;
36766
36767    if (isModernRoot) {
36768      error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. Did you mean to call root.unmount()?');
36769    }
36770  }
36771
36772  if (container._reactRootContainer) {
36773    {
36774      var rootEl = getReactRootElementInContainer(container);
36775      var renderedByDifferentReact = rootEl && !getInstanceFromNode$1(rootEl);
36776
36777      if (renderedByDifferentReact) {
36778        error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.');
36779      }
36780    } // Unmount should not be batched.
36781
36782
36783    unbatchedUpdates(function () {
36784      legacyRenderSubtreeIntoContainer(null, null, container, false, function () {
36785        // $FlowFixMe This should probably use `delete container._reactRootContainer`
36786        container._reactRootContainer = null;
36787        unmarkContainerAsRoot(container);
36788      });
36789    }); // If you call unmountComponentAtNode twice in quick succession, you'll
36790    // get `true` twice. That's probably fine?
36791
36792    return true;
36793  } else {
36794    {
36795      var _rootEl = getReactRootElementInContainer(container);
36796
36797      var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode$1(_rootEl)); // Check if the container itself is a React root node.
36798
36799      var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainer(container.parentNode) && !!container.parentNode._reactRootContainer;
36800
36801      if (hasNonRootReactChild) {
36802        error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');
36803      }
36804    }
36805
36806    return false;
36807  }
36808}
36809
36810function createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.
36811implementation) {
36812  var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
36813  return {
36814    // This tag allow us to uniquely identify this as a React Portal
36815    $$typeof: REACT_PORTAL_TYPE,
36816    key: key == null ? null : '' + key,
36817    children: children,
36818    containerInfo: containerInfo,
36819    implementation: implementation
36820  };
36821}
36822
36823var ReactVersion = '16.14.0';
36824
36825setAttemptUserBlockingHydration(attemptUserBlockingHydration$1);
36826setAttemptContinuousHydration(attemptContinuousHydration$1);
36827setAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);
36828var didWarnAboutUnstableCreatePortal = false;
36829
36830{
36831  if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype
36832  Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype
36833  Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {
36834    error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');
36835  }
36836}
36837
36838setRestoreImplementation(restoreControlledState$3);
36839setBatchingImplementation(batchedUpdates$1, discreteUpdates$1, flushDiscreteUpdates, batchedEventUpdates$1);
36840
36841function createPortal$1(children, container) {
36842  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
36843
36844  if (!isValidContainer(container)) {
36845    {
36846      throw Error( "Target container is not a DOM element." );
36847    }
36848  } // TODO: pass ReactDOM portal implementation as third argument
36849  // $FlowFixMe The Flow type is opaque but there's no way to actually create it.
36850
36851
36852  return createPortal(children, container, null, key);
36853}
36854
36855function renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {
36856
36857  return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);
36858}
36859
36860function unstable_createPortal(children, container) {
36861  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
36862
36863  {
36864    if (!didWarnAboutUnstableCreatePortal) {
36865      didWarnAboutUnstableCreatePortal = true;
36866
36867      warn('The ReactDOM.unstable_createPortal() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactDOM.createPortal() instead. It has the exact same API, ' + 'but without the "unstable_" prefix.');
36868    }
36869  }
36870
36871  return createPortal$1(children, container, key);
36872}
36873
36874var Internals = {
36875  // Keep in sync with ReactDOMUnstableNativeDependencies.js
36876  // ReactTestUtils.js, and ReactTestUtilsAct.js. This is an array for better minification.
36877  Events: [getInstanceFromNode$1, getNodeFromInstance$1, getFiberCurrentPropsFromNode$1, injectEventPluginsByName, eventNameDispatchConfigs, accumulateTwoPhaseDispatches, accumulateDirectDispatches, enqueueStateRestore, restoreStateIfNeeded, dispatchEvent, runEventsInBatch, flushPassiveEffects, IsThisRendererActing]
36878};
36879var foundDevTools = injectIntoDevTools({
36880  findFiberByHostInstance: getClosestInstanceFromNode,
36881  bundleType:  1 ,
36882  version: ReactVersion,
36883  rendererPackageName: 'react-dom'
36884});
36885
36886{
36887  if (!foundDevTools && canUseDOM && window.top === window.self) {
36888    // If we're in Chrome or Firefox, provide a download link if not installed.
36889    if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {
36890      var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.
36891
36892      if (/^(https?|file):$/.test(protocol)) {
36893        // eslint-disable-next-line react-internal/no-production-logging
36894        console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://fb.me/react-devtools' + (protocol === 'file:' ? '\nYou might need to use a local HTTP server (instead of file://): ' + 'https://fb.me/react-devtools-faq' : ''), 'font-weight:bold');
36895      }
36896    }
36897  }
36898}
36899
36900exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
36901exports.createPortal = createPortal$1;
36902exports.findDOMNode = findDOMNode;
36903exports.flushSync = flushSync;
36904exports.hydrate = hydrate;
36905exports.render = render;
36906exports.unmountComponentAtNode = unmountComponentAtNode;
36907exports.unstable_batchedUpdates = batchedUpdates$1;
36908exports.unstable_createPortal = unstable_createPortal;
36909exports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;
36910exports.version = ReactVersion;
36911  })();
36912}
36913
36914
36915/***/ }),
36916
vendor: 1,447 bytes, lines 36917-36961
36917/***/ "./node_modules/react-dom/index.js":
36918/*!*****************************************!*\
36919  !*** ./node_modules/react-dom/index.js ***!
36920  \*****************************************/
36921/*! no static exports found */
36922/***/ (function(module, exports, __webpack_require__) {
36923
36924"use strict";
36925
36926
36927function checkDCE() {
36928  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
36929  if (
36930    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||
36931    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'
36932  ) {
36933    return;
36934  }
36935  if (true) {
36936    // This branch is unreachable because this function is only called
36937    // in production, but the condition is true only in development.
36938    // Therefore if the branch is still here, dead code elimination wasn't
36939    // properly applied.
36940    // Don't change the message. React DevTools relies on it. Also make sure
36941    // this message doesn't occur elsewhere in this function, or it will cause
36942    // a false positive.
36943    throw new Error('^_^');
36944  }
36945  try {
36946    // Verify that the code above has been dead code eliminated (DCE'd).
36947    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);
36948  } catch (err) {
36949    // DevTools shouldn't crash React, no matter what.
36950    // We should still report in case we break this code.
36951    console.error(err);
36952  }
36953}
36954
36955if (false) {} else {
36956  module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ "./node_modules/react-dom/cjs/react-dom.development.js");
36957}
36958
36959
36960/***/ }),
36961
vendor: 60,622 bytes, lines 36962-38838
36962/***/ "./node_modules/react/cjs/react.development.js":
36963/*!*****************************************************!*\
36964  !*** ./node_modules/react/cjs/react.development.js ***!
36965  \*****************************************************/
36966/*! no static exports found */
36967/***/ (function(module, exports, __webpack_require__) {
36968
36969"use strict";
36970/** @license React v16.14.0
36971 * react.development.js
36972 *
36973 * Copyright (c) Facebook, Inc. and its affiliates.
36974 *
36975 * This source code is licensed under the MIT license found in the
36976 * LICENSE file in the root directory of this source tree.
36977 */
36978if(!0){(function(){'use strict';var _assign=__webpack_require__(/*! object-assign */"./node_modules/object-assign/index.js");var checkPropTypes=__webpack_require__(/*! prop-types/checkPropTypes */"./node_modules/prop-types/checkPropTypes.js");var ReactVersion='16.14.0';var hasSymbol=typeof Symbol==='function'&&Symbol.for;var REACT_ELEMENT_TYPE=hasSymbol?Symbol.for('react.element'):0xeac7;var REACT_PORTAL_TYPE=hasSymbol?Symbol.for('react.portal'):0xeaca;var REACT_FRAGMENT_TYPE=hasSymbol?Symbol.for('react.fragment'):0xeacb;var REACT_STRICT_MODE_TYPE=hasSymbol?Symbol.for('react.strict_mode'):0xeacc;var REACT_PROFILER_TYPE=hasSymbol?Symbol.for('react.profiler'):0xead2;var REACT_PROVIDER_TYPE=hasSymbol?Symbol.for('react.provider'):0xeacd;var REACT_CONTEXT_TYPE=hasSymbol?Symbol.for('react.context'):0xeace;var REACT_CONCURRENT_MODE_TYPE=hasSymbol?Symbol.for('react.concurrent_mode'):0xeacf;var REACT_FORWARD_REF_TYPE=hasSymbol?Symbol.for('react.forward_ref'):0xead0;var REACT_SUSPENSE_TYPE=hasSymbol?Symbol.for('react.suspense'):0xead1;var REACT_SUSPENSE_LIST_TYPE=hasSymbol?Symbol.for('react.suspense_list'):0xead8;var REACT_MEMO_TYPE=hasSymbol?Symbol.for('react.memo'):0xead3;var REACT_LAZY_TYPE=hasSymbol?Symbol.for('react.lazy'):0xead4;var REACT_BLOCK_TYPE=hasSymbol?Symbol.for('react.block'):0xead9;var REACT_FUNDAMENTAL_TYPE=hasSymbol?Symbol.for('react.fundamental'):0xead5;var REACT_RESPONDER_TYPE=hasSymbol?Symbol.for('react.responder'):0xead6;var REACT_SCOPE_TYPE=hasSymbol?Symbol.for('react.scope'):0xead7;var MAYBE_ITERATOR_SYMBOL=typeof Symbol==='function'&&Symbol.iterator;var FAUX_ITERATOR_SYMBOL='@@iterator';function getIteratorFn(maybeIterable){if(maybeIterable===null||typeof maybeIterable!=='object'){return null}
36979var maybeIterator=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL];if(typeof maybeIterator==='function'){return maybeIterator}
36980return null}
36981/**
36982 * Keeps track of the current dispatcher.
36983 */
36984var ReactCurrentDispatcher = {
36985  /**
36986   * @internal
36987   * @type {ReactComponent}
36988   */
36989  current: null
36990};
36991
36992/**
36993 * Keeps track of the current batch's configuration such as how long an update
36994 * should suspend for if it needs to.
36995 */
36996var ReactCurrentBatchConfig = {
36997  suspense: null
36998};
36999
37000/**
37001 * Keeps track of the current owner.
37002 *
37003 * The current owner is the component who should own any components that are
37004 * currently being constructed.
37005 */
37006var ReactCurrentOwner = {
37007  /**
37008   * @internal
37009   * @type {ReactComponent}
37010   */
37011  current: null
37012};
37013
37014var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
37015function describeComponentFrame (name, source, ownerName) {
37016  var sourceInfo = '';
37017
37018  if (source) {
37019    var path = source.fileName;
37020    var fileName = path.replace(BEFORE_SLASH_RE, '');
37021
37022    {
37023      // In DEV, include code for a common special case:
37024      // prefer "folder/index.js" instead of just "index.js".
37025      if (/^index\./.test(fileName)) {
37026        var match = path.match(BEFORE_SLASH_RE);
37027
37028        if (match) {
37029          var pathBeforeSlash = match[1];
37030
37031          if (pathBeforeSlash) {
37032            var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
37033            fileName = folderName + '/' + fileName;
37034          }
37035        }
37036      }
37037    }
37038
37039    sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';
37040  } else if (ownerName) {
37041    sourceInfo = ' (created by ' + ownerName + ')';
37042  }
37043
37044  return '\n    in ' + (name || 'Unknown') + sourceInfo;
37045}
37046
37047var Resolved = 1;
37048function refineResolvedLazyComponent(lazyComponent) {
37049  return lazyComponent._status === Resolved ? lazyComponent._result : null;
37050}
37051
37052function getWrappedName(outerType, innerType, wrapperName) {
37053  var functionName = innerType.displayName || innerType.name || '';
37054  return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName);
37055}
37056
37057function getComponentName(type) {
37058  if (type == null) {
37059    // Host root, text node or just invalid type.
37060    return null;
37061  }
37062
37063  {
37064    if (typeof type.tag === 'number') {
37065      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
37066    }
37067  }
37068
37069  if (typeof type === 'function') {
37070    return type.displayName || type.name || null;
37071  }
37072
37073  if (typeof type === 'string') {
37074    return type;
37075  }
37076
37077  switch (type) {
37078    case REACT_FRAGMENT_TYPE:
37079      return 'Fragment';
37080
37081    case REACT_PORTAL_TYPE:
37082      return 'Portal';
37083
37084    case REACT_PROFILER_TYPE:
37085      return "Profiler";
37086
37087    case REACT_STRICT_MODE_TYPE:
37088      return 'StrictMode';
37089
37090    case REACT_SUSPENSE_TYPE:
37091      return 'Suspense';
37092
37093    case REACT_SUSPENSE_LIST_TYPE:
37094      return 'SuspenseList';
37095  }
37096
37097  if (typeof type === 'object') {
37098    switch (type.$$typeof) {
37099      case REACT_CONTEXT_TYPE:
37100        return 'Context.Consumer';
37101
37102      case REACT_PROVIDER_TYPE:
37103        return 'Context.Provider';
37104
37105      case REACT_FORWARD_REF_TYPE:
37106        return getWrappedName(type, type.render, 'ForwardRef');
37107
37108      case REACT_MEMO_TYPE:
37109        return getComponentName(type.type);
37110
37111      case REACT_BLOCK_TYPE:
37112        return getComponentName(type.render);
37113
37114      case REACT_LAZY_TYPE:
37115        {
37116          var thenable = type;
37117          var resolvedThenable = refineResolvedLazyComponent(thenable);
37118
37119          if (resolvedThenable) {
37120            return getComponentName(resolvedThenable);
37121          }
37122
37123          break;
37124        }
37125    }
37126  }
37127
37128  return null;
37129}
37130
37131var ReactDebugCurrentFrame = {};
37132var currentlyValidatingElement = null;
37133function setCurrentlyValidatingElement(element) {
37134  {
37135    currentlyValidatingElement = element;
37136  }
37137}
37138
37139{
37140  // Stack implementation injected by the current renderer.
37141  ReactDebugCurrentFrame.getCurrentStack = null;
37142
37143  ReactDebugCurrentFrame.getStackAddendum = function () {
37144    var stack = ''; // Add an extra top frame while an element is being validated
37145
37146    if (currentlyValidatingElement) {
37147      var name = getComponentName(currentlyValidatingElement.type);
37148      var owner = currentlyValidatingElement._owner;
37149      stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));
37150    } // Delegate to the injected renderer-specific implementation
37151
37152
37153    var impl = ReactDebugCurrentFrame.getCurrentStack;
37154
37155    if (impl) {
37156      stack += impl() || '';
37157    }
37158
37159    return stack;
37160  };
37161}
37162
37163/**
37164 * Used by act() to track whether you're inside an act() scope.
37165 */
37166var IsSomeRendererActing = {
37167  current: false
37168};
37169
37170var ReactSharedInternals = {
37171  ReactCurrentDispatcher: ReactCurrentDispatcher,
37172  ReactCurrentBatchConfig: ReactCurrentBatchConfig,
37173  ReactCurrentOwner: ReactCurrentOwner,
37174  IsSomeRendererActing: IsSomeRendererActing,
37175  // Used by renderers to avoid bundling object-assign twice in UMD bundles:
37176  assign: _assign
37177};
37178
37179{
37180  _assign(ReactSharedInternals, {
37181    // These should not be included in production.
37182    ReactDebugCurrentFrame: ReactDebugCurrentFrame,
37183    // Shim for React DOM 16.0.0 which still destructured (but not used) this.
37184    // TODO: remove in React 17.0.
37185    ReactComponentTreeHook: {}
37186  });
37187}
37188
37189// by calls to these methods by a Babel plugin.
37190//
37191// In PROD (or in packages without access to React internals),
37192// they are left as they are instead.
37193
37194function warn(format) {
37195  {
37196    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
37197      args[_key - 1] = arguments[_key];
37198    }
37199
37200    printWarning('warn', format, args);
37201  }
37202}
37203function error(format) {
37204  {
37205    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
37206      args[_key2 - 1] = arguments[_key2];
37207    }
37208
37209    printWarning('error', format, args);
37210  }
37211}
37212
37213function printWarning(level, format, args) {
37214  // When changing this logic, you might want to also
37215  // update consoleWithStackDev.www.js as well.
37216  {
37217    var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n    in') === 0;
37218
37219    if (!hasExistingStack) {
37220      var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
37221      var stack = ReactDebugCurrentFrame.getStackAddendum();
37222
37223      if (stack !== '') {
37224        format += '%s';
37225        args = args.concat([stack]);
37226      }
37227    }
37228
37229    var argsWithFormat = args.map(function (item) {
37230      return '' + item;
37231    }); // Careful: RN currently depends on this prefix
37232
37233    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
37234    // breaks IE9: https://github.com/facebook/react/issues/13610
37235    // eslint-disable-next-line react-internal/no-production-logging
37236
37237    Function.prototype.apply.call(console[level], console, argsWithFormat);
37238
37239    try {
37240      // --- Welcome to debugging React ---
37241      // This error was thrown as a convenience so that you can use this stack
37242      // to find the callsite that caused this warning to fire.
37243      var argIndex = 0;
37244      var message = 'Warning: ' + format.replace(/%s/g, function () {
37245        return args[argIndex++];
37246      });
37247      throw new Error(message);
37248    } catch (x) {}
37249  }
37250}
37251
37252var didWarnStateUpdateForUnmountedComponent = {};
37253
37254function warnNoop(publicInstance, callerName) {
37255  {
37256    var _constructor = publicInstance.constructor;
37257    var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';
37258    var warningKey = componentName + "." + callerName;
37259
37260    if (didWarnStateUpdateForUnmountedComponent[warningKey]) {
37261      return;
37262    }
37263
37264    error("Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);
37265
37266    didWarnStateUpdateForUnmountedComponent[warningKey] = true;
37267  }
37268}
37269/**
37270 * This is the abstract API for an update queue.
37271 */
37272
37273
37274var ReactNoopUpdateQueue = {
37275  /**
37276   * Checks whether or not this composite component is mounted.
37277   * @param {ReactClass} publicInstance The instance we want to test.
37278   * @return {boolean} True if mounted, false otherwise.
37279   * @protected
37280   * @final
37281   */
37282  isMounted: function (publicInstance) {
37283    return false;
37284  },
37285
37286  /**
37287   * Forces an update. This should only be invoked when it is known with
37288   * certainty that we are **not** in a DOM transaction.
37289   *
37290   * You may want to call this when you know that some deeper aspect of the
37291   * component's state has changed but `setState` was not called.
37292   *
37293   * This will not invoke `shouldComponentUpdate`, but it will invoke
37294   * `componentWillUpdate` and `componentDidUpdate`.
37295   *
37296   * @param {ReactClass} publicInstance The instance that should rerender.
37297   * @param {?function} callback Called after component is updated.
37298   * @param {?string} callerName name of the calling function in the public API.
37299   * @internal
37300   */
37301  enqueueForceUpdate: function (publicInstance, callback, callerName) {
37302    warnNoop(publicInstance, 'forceUpdate');
37303  },
37304
37305  /**
37306   * Replaces all of the state. Always use this or `setState` to mutate state.
37307   * You should treat `this.state` as immutable.
37308   *
37309   * There is no guarantee that `this.state` will be immediately updated, so
37310   * accessing `this.state` after calling this method may return the old value.
37311   *
37312   * @param {ReactClass} publicInstance The instance that should rerender.
37313   * @param {object} completeState Next state.
37314   * @param {?function} callback Called after component is updated.
37315   * @param {?string} callerName name of the calling function in the public API.
37316   * @internal
37317   */
37318  enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {
37319    warnNoop(publicInstance, 'replaceState');
37320  },
37321
37322  /**
37323   * Sets a subset of the state. This only exists because _pendingState is
37324   * internal. This provides a merging strategy that is not available to deep
37325   * properties which is confusing. TODO: Expose pendingState or don't use it
37326   * during the merge.
37327   *
37328   * @param {ReactClass} publicInstance The instance that should rerender.
37329   * @param {object} partialState Next partial state to be merged with state.
37330   * @param {?function} callback Called after component is updated.
37331   * @param {?string} Name of the calling function in the public API.
37332   * @internal
37333   */
37334  enqueueSetState: function (publicInstance, partialState, callback, callerName) {
37335    warnNoop(publicInstance, 'setState');
37336  }
37337};
37338
37339var emptyObject = {};
37340
37341{
37342  Object.freeze(emptyObject);
37343}
37344/**
37345 * Base class helpers for the updating state of a component.
37346 */
37347
37348
37349function Component(props, context, updater) {
37350  this.props = props;
37351  this.context = context; // If a component has string refs, we will assign a different object later.
37352
37353  this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the
37354  // renderer.
37355
37356  this.updater = updater || ReactNoopUpdateQueue;
37357}
37358
37359Component.prototype.isReactComponent = {};
37360/**
37361 * Sets a subset of the state. Always use this to mutate
37362 * state. You should treat `this.state` as immutable.
37363 *
37364 * There is no guarantee that `this.state` will be immediately updated, so
37365 * accessing `this.state` after calling this method may return the old value.
37366 *
37367 * There is no guarantee that calls to `setState` will run synchronously,
37368 * as they may eventually be batched together.  You can provide an optional
37369 * callback that will be executed when the call to setState is actually
37370 * completed.
37371 *
37372 * When a function is provided to setState, it will be called at some point in
37373 * the future (not synchronously). It will be called with the up to date
37374 * component arguments (state, props, context). These values can be different
37375 * from this.* because your function may be called after receiveProps but before
37376 * shouldComponentUpdate, and this new state, props, and context will not yet be
37377 * assigned to this.
37378 *
37379 * @param {object|function} partialState Next partial state or function to
37380 *        produce next partial state to be merged with current state.
37381 * @param {?function} callback Called after state is updated.
37382 * @final
37383 * @protected
37384 */
37385
37386Component.prototype.setState = function (partialState, callback) {
37387  if (!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null)) {
37388    {
37389      throw Error( "setState(...): takes an object of state variables to update or a function which returns an object of state variables." );
37390    }
37391  }
37392
37393  this.updater.enqueueSetState(this, partialState, callback, 'setState');
37394};
37395/**
37396 * Forces an update. This should only be invoked when it is known with
37397 * certainty that we are **not** in a DOM transaction.
37398 *
37399 * You may want to call this when you know that some deeper aspect of the
37400 * component's state has changed but `setState` was not called.
37401 *
37402 * This will not invoke `shouldComponentUpdate`, but it will invoke
37403 * `componentWillUpdate` and `componentDidUpdate`.
37404 *
37405 * @param {?function} callback Called after update is complete.
37406 * @final
37407 * @protected
37408 */
37409
37410
37411Component.prototype.forceUpdate = function (callback) {
37412  this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');
37413};
37414/**
37415 * Deprecated APIs. These APIs used to exist on classic React classes but since
37416 * we would like to deprecate them, we're not going to move them over to this
37417 * modern base class. Instead, we define a getter that warns if it's accessed.
37418 */
37419
37420
37421{
37422  var deprecatedAPIs = {
37423    isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
37424    replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
37425  };
37426
37427  var defineDeprecationWarning = function (methodName, info) {
37428    Object.defineProperty(Component.prototype, methodName, {
37429      get: function () {
37430        warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);
37431
37432        return undefined;
37433      }
37434    });
37435  };
37436
37437  for (var fnName in deprecatedAPIs) {
37438    if (deprecatedAPIs.hasOwnProperty(fnName)) {
37439      defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
37440    }
37441  }
37442}
37443
37444function ComponentDummy() {}
37445
37446ComponentDummy.prototype = Component.prototype;
37447/**
37448 * Convenience component with default shallow equality check for sCU.
37449 */
37450
37451function PureComponent(props, context, updater) {
37452  this.props = props;
37453  this.context = context; // If a component has string refs, we will assign a different object later.
37454
37455  this.refs = emptyObject;
37456  this.updater = updater || ReactNoopUpdateQueue;
37457}
37458
37459var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();
37460pureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.
37461
37462_assign(pureComponentPrototype, Component.prototype);
37463
37464pureComponentPrototype.isPureReactComponent = true;
37465
37466// an immutable object with a single mutable value
37467function createRef() {
37468  var refObject = {
37469    current: null
37470  };
37471
37472  {
37473    Object.seal(refObject);
37474  }
37475
37476  return refObject;
37477}
37478
37479var hasOwnProperty = Object.prototype.hasOwnProperty;
37480var RESERVED_PROPS = {
37481  key: true,
37482  ref: true,
37483  __self: true,
37484  __source: true
37485};
37486var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;
37487
37488{
37489  didWarnAboutStringRefs = {};
37490}
37491
37492function hasValidRef(config) {
37493  {
37494    if (hasOwnProperty.call(config, 'ref')) {
37495      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
37496
37497      if (getter && getter.isReactWarning) {
37498        return false;
37499      }
37500    }
37501  }
37502
37503  return config.ref !== undefined;
37504}
37505
37506function hasValidKey(config) {
37507  {
37508    if (hasOwnProperty.call(config, 'key')) {
37509      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
37510
37511      if (getter && getter.isReactWarning) {
37512        return false;
37513      }
37514    }
37515  }
37516
37517  return config.key !== undefined;
37518}
37519
37520function defineKeyPropWarningGetter(props, displayName) {
37521  var warnAboutAccessingKey = function () {
37522    {
37523      if (!specialPropKeyWarningShown) {
37524        specialPropKeyWarningShown = true;
37525
37526        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);
37527      }
37528    }
37529  };
37530
37531  warnAboutAccessingKey.isReactWarning = true;
37532  Object.defineProperty(props, 'key', {
37533    get: warnAboutAccessingKey,
37534    configurable: true
37535  });
37536}
37537
37538function defineRefPropWarningGetter(props, displayName) {
37539  var warnAboutAccessingRef = function () {
37540    {
37541      if (!specialPropRefWarningShown) {
37542        specialPropRefWarningShown = true;
37543
37544        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);
37545      }
37546    }
37547  };
37548
37549  warnAboutAccessingRef.isReactWarning = true;
37550  Object.defineProperty(props, 'ref', {
37551    get: warnAboutAccessingRef,
37552    configurable: true
37553  });
37554}
37555
37556function warnIfStringRefCannotBeAutoConverted(config) {
37557  {
37558    if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {
37559      var componentName = getComponentName(ReactCurrentOwner.current.type);
37560
37561      if (!didWarnAboutStringRefs[componentName]) {
37562        error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);
37563
37564        didWarnAboutStringRefs[componentName] = true;
37565      }
37566    }
37567  }
37568}
37569/**
37570 * Factory method to create a new React element. This no longer adheres to
37571 * the class pattern, so do not use new to call it. Also, instanceof check
37572 * will not work. Instead test $$typeof field against Symbol.for('react.element') to check
37573 * if something is a React Element.
37574 *
37575 * @param {*} type
37576 * @param {*} props
37577 * @param {*} key
37578 * @param {string|object} ref
37579 * @param {*} owner
37580 * @param {*} self A *temporary* helper to detect places where `this` is
37581 * different from the `owner` when React.createElement is called, so that we
37582 * can warn. We want to get rid of owner and replace string `ref`s with arrow
37583 * functions, and as long as `this` and owner are the same, there will be no
37584 * change in behavior.
37585 * @param {*} source An annotation object (added by a transpiler or otherwise)
37586 * indicating filename, line number, and/or other information.
37587 * @internal
37588 */
37589
37590
37591var ReactElement = function (type, key, ref, self, source, owner, props) {
37592  var element = {
37593    // This tag allows us to uniquely identify this as a React Element
37594    $$typeof: REACT_ELEMENT_TYPE,
37595    // Built-in properties that belong on the element
37596    type: type,
37597    key: key,
37598    ref: ref,
37599    props: props,
37600    // Record the component responsible for creating this element.
37601    _owner: owner
37602  };
37603
37604  {
37605    // The validation flag is currently mutative. We put it on
37606    // an external backing store so that we can freeze the whole object.
37607    // This can be replaced with a WeakMap once they are implemented in
37608    // commonly used development environments.
37609    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make
37610    // the validation flag non-enumerable (where possible, which should
37611    // include every environment we run tests in), so the test framework
37612    // ignores it.
37613
37614    Object.defineProperty(element._store, 'validated', {
37615      configurable: false,
37616      enumerable: false,
37617      writable: true,
37618      value: false
37619    }); // self and source are DEV only properties.
37620
37621    Object.defineProperty(element, '_self', {
37622      configurable: false,
37623      enumerable: false,
37624      writable: false,
37625      value: self
37626    }); // Two elements created in two different places should be considered
37627    // equal for testing purposes and therefore we hide it from enumeration.
37628
37629    Object.defineProperty(element, '_source', {
37630      configurable: false,
37631      enumerable: false,
37632      writable: false,
37633      value: source
37634    });
37635
37636    if (Object.freeze) {
37637      Object.freeze(element.props);
37638      Object.freeze(element);
37639    }
37640  }
37641
37642  return element;
37643};
37644/**
37645 * Create and return a new ReactElement of the given type.
37646 * See https://reactjs.org/docs/react-api.html#createelement
37647 */
37648
37649function createElement(type, config, children) {
37650  var propName; // Reserved names are extracted
37651
37652  var props = {};
37653  var key = null;
37654  var ref = null;
37655  var self = null;
37656  var source = null;
37657
37658  if (config != null) {
37659    if (hasValidRef(config)) {
37660      ref = config.ref;
37661
37662      {
37663        warnIfStringRefCannotBeAutoConverted(config);
37664      }
37665    }
37666
37667    if (hasValidKey(config)) {
37668      key = '' + config.key;
37669    }
37670
37671    self = config.__self === undefined ? null : config.__self;
37672    source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object
37673
37674    for (propName in config) {
37675      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
37676        props[propName] = config[propName];
37677      }
37678    }
37679  } // Children can be more than one argument, and those are transferred onto
37680  // the newly allocated props object.
37681
37682
37683  var childrenLength = arguments.length - 2;
37684
37685  if (childrenLength === 1) {
37686    props.children = children;
37687  } else if (childrenLength > 1) {
37688    var childArray = Array(childrenLength);
37689
37690    for (var i = 0; i < childrenLength; i++) {
37691      childArray[i] = arguments[i + 2];
37692    }
37693
37694    {
37695      if (Object.freeze) {
37696        Object.freeze(childArray);
37697      }
37698    }
37699
37700    props.children = childArray;
37701  } // Resolve default props
37702
37703
37704  if (type && type.defaultProps) {
37705    var defaultProps = type.defaultProps;
37706
37707    for (propName in defaultProps) {
37708      if (props[propName] === undefined) {
37709        props[propName] = defaultProps[propName];
37710      }
37711    }
37712  }
37713
37714  {
37715    if (key || ref) {
37716      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
37717
37718      if (key) {
37719        defineKeyPropWarningGetter(props, displayName);
37720      }
37721
37722      if (ref) {
37723        defineRefPropWarningGetter(props, displayName);
37724      }
37725    }
37726  }
37727
37728  return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
37729}
37730function cloneAndReplaceKey(oldElement, newKey) {
37731  var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
37732  return newElement;
37733}
37734/**
37735 * Clone and return a new ReactElement using element as the starting point.
37736 * See https://reactjs.org/docs/react-api.html#cloneelement
37737 */
37738
37739function cloneElement(element, config, children) {
37740  if (!!(element === null || element === undefined)) {
37741    {
37742      throw Error( "React.cloneElement(...): The argument must be a React element, but you passed " + element + "." );
37743    }
37744  }
37745
37746  var propName; // Original props are copied
37747
37748  var props = _assign({}, element.props); // Reserved names are extracted
37749
37750
37751  var key = element.key;
37752  var ref = element.ref; // Self is preserved since the owner is preserved.
37753
37754  var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a
37755  // transpiler, and the original source is probably a better indicator of the
37756  // true owner.
37757
37758  var source = element._source; // Owner will be preserved, unless ref is overridden
37759
37760  var owner = element._owner;
37761
37762  if (config != null) {
37763    if (hasValidRef(config)) {
37764      // Silently steal the ref from the parent.
37765      ref = config.ref;
37766      owner = ReactCurrentOwner.current;
37767    }
37768
37769    if (hasValidKey(config)) {
37770      key = '' + config.key;
37771    } // Remaining properties override existing props
37772
37773
37774    var defaultProps;
37775
37776    if (element.type && element.type.defaultProps) {
37777      defaultProps = element.type.defaultProps;
37778    }
37779
37780    for (propName in config) {
37781      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
37782        if (config[propName] === undefined && defaultProps !== undefined) {
37783          // Resolve default props
37784          props[propName] = defaultProps[propName];
37785        } else {
37786          props[propName] = config[propName];
37787        }
37788      }
37789    }
37790  } // Children can be more than one argument, and those are transferred onto
37791  // the newly allocated props object.
37792
37793
37794  var childrenLength = arguments.length - 2;
37795
37796  if (childrenLength === 1) {
37797    props.children = children;
37798  } else if (childrenLength > 1) {
37799    var childArray = Array(childrenLength);
37800
37801    for (var i = 0; i < childrenLength; i++) {
37802      childArray[i] = arguments[i + 2];
37803    }
37804
37805    props.children = childArray;
37806  }
37807
37808  return ReactElement(element.type, key, ref, self, source, owner, props);
37809}
37810/**
37811 * Verifies the object is a ReactElement.
37812 * See https://reactjs.org/docs/react-api.html#isvalidelement
37813 * @param {?object} object
37814 * @return {boolean} True if `object` is a ReactElement.
37815 * @final
37816 */
37817
37818function isValidElement(object) {
37819  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
37820}
37821
37822var SEPARATOR = '.';
37823var SUBSEPARATOR = ':';
37824/**
37825 * Escape and wrap key so it is safe to use as a reactid
37826 *
37827 * @param {string} key to be escaped.
37828 * @return {string} the escaped key.
37829 */
37830
37831function escape(key) {
37832  var escapeRegex = /[=:]/g;
37833  var escaperLookup = {
37834    '=': '=0',
37835    ':': '=2'
37836  };
37837  var escapedString = ('' + key).replace(escapeRegex, function (match) {
37838    return escaperLookup[match];
37839  });
37840  return '$' + escapedString;
37841}
37842/**
37843 * TODO: Test that a single child and an array with one item have the same key
37844 * pattern.
37845 */
37846
37847
37848var didWarnAboutMaps = false;
37849var userProvidedKeyEscapeRegex = /\/+/g;
37850
37851function escapeUserProvidedKey(text) {
37852  return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
37853}
37854
37855var POOL_SIZE = 10;
37856var traverseContextPool = [];
37857
37858function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) {
37859  if (traverseContextPool.length) {
37860    var traverseContext = traverseContextPool.pop();
37861    traverseContext.result = mapResult;
37862    traverseContext.keyPrefix = keyPrefix;
37863    traverseContext.func = mapFunction;
37864    traverseContext.context = mapContext;
37865    traverseContext.count = 0;
37866    return traverseContext;
37867  } else {
37868    return {
37869      result: mapResult,
37870      keyPrefix: keyPrefix,
37871      func: mapFunction,
37872      context: mapContext,
37873      count: 0
37874    };
37875  }
37876}
37877
37878function releaseTraverseContext(traverseContext) {
37879  traverseContext.result = null;
37880  traverseContext.keyPrefix = null;
37881  traverseContext.func = null;
37882  traverseContext.context = null;
37883  traverseContext.count = 0;
37884
37885  if (traverseContextPool.length < POOL_SIZE) {
37886    traverseContextPool.push(traverseContext);
37887  }
37888}
37889/**
37890 * @param {?*} children Children tree container.
37891 * @param {!string} nameSoFar Name of the key path so far.
37892 * @param {!function} callback Callback to invoke with each child found.
37893 * @param {?*} traverseContext Used to pass information throughout the traversal
37894 * process.
37895 * @return {!number} The number of children in this subtree.
37896 */
37897
37898
37899function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
37900  var type = typeof children;
37901
37902  if (type === 'undefined' || type === 'boolean') {
37903    // All of the above are perceived as null.
37904    children = null;
37905  }
37906
37907  var invokeCallback = false;
37908
37909  if (children === null) {
37910    invokeCallback = true;
37911  } else {
37912    switch (type) {
37913      case 'string':
37914      case 'number':
37915        invokeCallback = true;
37916        break;
37917
37918      case 'object':
37919        switch (children.$$typeof) {
37920          case REACT_ELEMENT_TYPE:
37921          case REACT_PORTAL_TYPE:
37922            invokeCallback = true;
37923        }
37924
37925    }
37926  }
37927
37928  if (invokeCallback) {
37929    callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array
37930    // so that it's consistent if the number of children grows.
37931    nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);
37932    return 1;
37933  }
37934
37935  var child;
37936  var nextName;
37937  var subtreeCount = 0; // Count of children found in the current subtree.
37938
37939  var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
37940
37941  if (Array.isArray(children)) {
37942    for (var i = 0; i < children.length; i++) {
37943      child = children[i];
37944      nextName = nextNamePrefix + getComponentKey(child, i);
37945      subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
37946    }
37947  } else {
37948    var iteratorFn = getIteratorFn(children);
37949
37950    if (typeof iteratorFn === 'function') {
37951
37952      {
37953        // Warn about using Maps as children
37954        if (iteratorFn === children.entries) {
37955          if (!didWarnAboutMaps) {
37956            warn('Using Maps as children is deprecated and will be removed in ' + 'a future major release. Consider converting children to ' + 'an array of keyed ReactElements instead.');
37957          }
37958
37959          didWarnAboutMaps = true;
37960        }
37961      }
37962
37963      var iterator = iteratorFn.call(children);
37964      var step;
37965      var ii = 0;
37966
37967      while (!(step = iterator.next()).done) {
37968        child = step.value;
37969        nextName = nextNamePrefix + getComponentKey(child, ii++);
37970        subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
37971      }
37972    } else if (type === 'object') {
37973      var addendum = '';
37974
37975      {
37976        addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum();
37977      }
37978
37979      var childrenString = '' + children;
37980
37981      {
37982        {
37983          throw Error( "Objects are not valid as a React child (found: " + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + ")." + addendum );
37984        }
37985      }
37986    }
37987  }
37988
37989  return subtreeCount;
37990}
37991/**
37992 * Traverses children that are typically specified as `props.children`, but
37993 * might also be specified through attributes:
37994 *
37995 * - `traverseAllChildren(this.props.children, ...)`
37996 * - `traverseAllChildren(this.props.leftPanelChildren, ...)`
37997 *
37998 * The `traverseContext` is an optional argument that is passed through the
37999 * entire traversal. It can be used to store accumulations or anything else that
38000 * the callback might find relevant.
38001 *
38002 * @param {?*} children Children tree object.
38003 * @param {!function} callback To invoke upon traversing each child.
38004 * @param {?*} traverseContext Context for traversal.
38005 * @return {!number} The number of children in this subtree.
38006 */
38007
38008
38009function traverseAllChildren(children, callback, traverseContext) {
38010  if (children == null) {
38011    return 0;
38012  }
38013
38014  return traverseAllChildrenImpl(children, '', callback, traverseContext);
38015}
38016/**
38017 * Generate a key string that identifies a component within a set.
38018 *
38019 * @param {*} component A component that could contain a manual key.
38020 * @param {number} index Index that is used if a manual key is not provided.
38021 * @return {string}
38022 */
38023
38024
38025function getComponentKey(component, index) {
38026  // Do some typechecking here since we call this blindly. We want to ensure
38027  // that we don't block potential future ES APIs.
38028  if (typeof component === 'object' && component !== null && component.key != null) {
38029    // Explicit key
38030    return escape(component.key);
38031  } // Implicit key determined by the index in the set
38032
38033
38034  return index.toString(36);
38035}
38036
38037function forEachSingleChild(bookKeeping, child, name) {
38038  var func = bookKeeping.func,
38039      context = bookKeeping.context;
38040  func.call(context, child, bookKeeping.count++);
38041}
38042/**
38043 * Iterates through children that are typically specified as `props.children`.
38044 *
38045 * See https://reactjs.org/docs/react-api.html#reactchildrenforeach
38046 *
38047 * The provided forEachFunc(child, index) will be called for each
38048 * leaf child.
38049 *
38050 * @param {?*} children Children tree container.
38051 * @param {function(*, int)} forEachFunc
38052 * @param {*} forEachContext Context for forEachContext.
38053 */
38054
38055
38056function forEachChildren(children, forEachFunc, forEachContext) {
38057  if (children == null) {
38058    return children;
38059  }
38060
38061  var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext);
38062  traverseAllChildren(children, forEachSingleChild, traverseContext);
38063  releaseTraverseContext(traverseContext);
38064}
38065
38066function mapSingleChildIntoContext(bookKeeping, child, childKey) {
38067  var result = bookKeeping.result,
38068      keyPrefix = bookKeeping.keyPrefix,
38069      func = bookKeeping.func,
38070      context = bookKeeping.context;
38071  var mappedChild = func.call(context, child, bookKeeping.count++);
38072
38073  if (Array.isArray(mappedChild)) {
38074    mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) {
38075      return c;
38076    });
38077  } else if (mappedChild != null) {
38078    if (isValidElement(mappedChild)) {
38079      mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as
38080      // traverseAllChildren used to do for objects as children
38081      keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);
38082    }
38083
38084    result.push(mappedChild);
38085  }
38086}
38087
38088function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
38089  var escapedPrefix = '';
38090
38091  if (prefix != null) {
38092    escapedPrefix = escapeUserProvidedKey(prefix) + '/';
38093  }
38094
38095  var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context);
38096  traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
38097  releaseTraverseContext(traverseContext);
38098}
38099/**
38100 * Maps children that are typically specified as `props.children`.
38101 *
38102 * See https://reactjs.org/docs/react-api.html#reactchildrenmap
38103 *
38104 * The provided mapFunction(child, key, index) will be called for each
38105 * leaf child.
38106 *
38107 * @param {?*} children Children tree container.
38108 * @param {function(*, int)} func The map function.
38109 * @param {*} context Context for mapFunction.
38110 * @return {object} Object containing the ordered map of results.
38111 */
38112
38113
38114function mapChildren(children, func, context) {
38115  if (children == null) {
38116    return children;
38117  }
38118
38119  var result = [];
38120  mapIntoWithKeyPrefixInternal(children, result, null, func, context);
38121  return result;
38122}
38123/**
38124 * Count the number of children that are typically specified as
38125 * `props.children`.
38126 *
38127 * See https://reactjs.org/docs/react-api.html#reactchildrencount
38128 *
38129 * @param {?*} children Children tree container.
38130 * @return {number} The number of children.
38131 */
38132
38133
38134function countChildren(children) {
38135  return traverseAllChildren(children, function () {
38136    return null;
38137  }, null);
38138}
38139/**
38140 * Flatten a children object (typically specified as `props.children`) and
38141 * return an array with appropriately re-keyed children.
38142 *
38143 * See https://reactjs.org/docs/react-api.html#reactchildrentoarray
38144 */
38145
38146
38147function toArray(children) {
38148  var result = [];
38149  mapIntoWithKeyPrefixInternal(children, result, null, function (child) {
38150    return child;
38151  });
38152  return result;
38153}
38154/**
38155 * Returns the first child in a collection of children and verifies that there
38156 * is only one child in the collection.
38157 *
38158 * See https://reactjs.org/docs/react-api.html#reactchildrenonly
38159 *
38160 * The current implementation of this function assumes that a single child gets
38161 * passed without a wrapper, but the purpose of this helper function is to
38162 * abstract away the particular structure of children.
38163 *
38164 * @param {?object} children Child collection structure.
38165 * @return {ReactElement} The first and only `ReactElement` contained in the
38166 * structure.
38167 */
38168
38169
38170function onlyChild(children) {
38171  if (!isValidElement(children)) {
38172    {
38173      throw Error( "React.Children.only expected to receive a single React element child." );
38174    }
38175  }
38176
38177  return children;
38178}
38179
38180function createContext(defaultValue, calculateChangedBits) {
38181  if (calculateChangedBits === undefined) {
38182    calculateChangedBits = null;
38183  } else {
38184    {
38185      if (calculateChangedBits !== null && typeof calculateChangedBits !== 'function') {
38186        error('createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits);
38187      }
38188    }
38189  }
38190
38191  var context = {
38192    $$typeof: REACT_CONTEXT_TYPE,
38193    _calculateChangedBits: calculateChangedBits,
38194    // As a workaround to support multiple concurrent renderers, we categorize
38195    // some renderers as primary and others as secondary. We only expect
38196    // there to be two concurrent renderers at most: React Native (primary) and
38197    // Fabric (secondary); React DOM (primary) and React ART (secondary).
38198    // Secondary renderers store their context values on separate fields.
38199    _currentValue: defaultValue,
38200    _currentValue2: defaultValue,
38201    // Used to track how many concurrent renderers this context currently
38202    // supports within in a single renderer. Such as parallel server rendering.
38203    _threadCount: 0,
38204    // These are circular
38205    Provider: null,
38206    Consumer: null
38207  };
38208  context.Provider = {
38209    $$typeof: REACT_PROVIDER_TYPE,
38210    _context: context
38211  };
38212  var hasWarnedAboutUsingNestedContextConsumers = false;
38213  var hasWarnedAboutUsingConsumerProvider = false;
38214
38215  {
38216    // A separate object, but proxies back to the original context object for
38217    // backwards compatibility. It has a different $$typeof, so we can properly
38218    // warn for the incorrect usage of Context as a Consumer.
38219    var Consumer = {
38220      $$typeof: REACT_CONTEXT_TYPE,
38221      _context: context,
38222      _calculateChangedBits: context._calculateChangedBits
38223    }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here
38224
38225    Object.defineProperties(Consumer, {
38226      Provider: {
38227        get: function () {
38228          if (!hasWarnedAboutUsingConsumerProvider) {
38229            hasWarnedAboutUsingConsumerProvider = true;
38230
38231            error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');
38232          }
38233
38234          return context.Provider;
38235        },
38236        set: function (_Provider) {
38237          context.Provider = _Provider;
38238        }
38239      },
38240      _currentValue: {
38241        get: function () {
38242          return context._currentValue;
38243        },
38244        set: function (_currentValue) {
38245          context._currentValue = _currentValue;
38246        }
38247      },
38248      _currentValue2: {
38249        get: function () {
38250          return context._currentValue2;
38251        },
38252        set: function (_currentValue2) {
38253          context._currentValue2 = _currentValue2;
38254        }
38255      },
38256      _threadCount: {
38257        get: function () {
38258          return context._threadCount;
38259        },
38260        set: function (_threadCount) {
38261          context._threadCount = _threadCount;
38262        }
38263      },
38264      Consumer: {
38265        get: function () {
38266          if (!hasWarnedAboutUsingNestedContextConsumers) {
38267            hasWarnedAboutUsingNestedContextConsumers = true;
38268
38269            error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
38270          }
38271
38272          return context.Consumer;
38273        }
38274      }
38275    }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty
38276
38277    context.Consumer = Consumer;
38278  }
38279
38280  {
38281    context._currentRenderer = null;
38282    context._currentRenderer2 = null;
38283  }
38284
38285  return context;
38286}
38287
38288function lazy(ctor) {
38289  var lazyType = {
38290    $$typeof: REACT_LAZY_TYPE,
38291    _ctor: ctor,
38292    // React uses these fields to store the result.
38293    _status: -1,
38294    _result: null
38295  };
38296
38297  {
38298    // In production, this would just set it on the object.
38299    var defaultProps;
38300    var propTypes;
38301    Object.defineProperties(lazyType, {
38302      defaultProps: {
38303        configurable: true,
38304        get: function () {
38305          return defaultProps;
38306        },
38307        set: function (newDefaultProps) {
38308          error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');
38309
38310          defaultProps = newDefaultProps; // Match production behavior more closely:
38311
38312          Object.defineProperty(lazyType, 'defaultProps', {
38313            enumerable: true
38314          });
38315        }
38316      },
38317      propTypes: {
38318        configurable: true,
38319        get: function () {
38320          return propTypes;
38321        },
38322        set: function (newPropTypes) {
38323          error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');
38324
38325          propTypes = newPropTypes; // Match production behavior more closely:
38326
38327          Object.defineProperty(lazyType, 'propTypes', {
38328            enumerable: true
38329          });
38330        }
38331      }
38332    });
38333  }
38334
38335  return lazyType;
38336}
38337
38338function forwardRef(render) {
38339  {
38340    if (render != null && render.$$typeof === REACT_MEMO_TYPE) {
38341      error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');
38342    } else if (typeof render !== 'function') {
38343      error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);
38344    } else {
38345      if (render.length !== 0 && render.length !== 2) {
38346        error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');
38347      }
38348    }
38349
38350    if (render != null) {
38351      if (render.defaultProps != null || render.propTypes != null) {
38352        error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');
38353      }
38354    }
38355  }
38356
38357  return {
38358    $$typeof: REACT_FORWARD_REF_TYPE,
38359    render: render
38360  };
38361}
38362
38363function isValidElementType(type) {
38364  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
38365  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
38366}
38367
38368function memo(type, compare) {
38369  {
38370    if (!isValidElementType(type)) {
38371      error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);
38372    }
38373  }
38374
38375  return {
38376    $$typeof: REACT_MEMO_TYPE,
38377    type: type,
38378    compare: compare === undefined ? null : compare
38379  };
38380}
38381
38382function resolveDispatcher() {
38383  var dispatcher = ReactCurrentDispatcher.current;
38384
38385  if (!(dispatcher !== null)) {
38386    {
38387      throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." );
38388    }
38389  }
38390
38391  return dispatcher;
38392}
38393
38394function useContext(Context, unstable_observedBits) {
38395  var dispatcher = resolveDispatcher();
38396
38397  {
38398    if (unstable_observedBits !== undefined) {
38399      error('useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\n\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : '');
38400    } // TODO: add a more generic warning for invalid values.
38401
38402
38403    if (Context._context !== undefined) {
38404      var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs
38405      // and nobody should be using this in existing code.
38406
38407      if (realContext.Consumer === Context) {
38408        error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');
38409      } else if (realContext.Provider === Context) {
38410        error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');
38411      }
38412    }
38413  }
38414
38415  return dispatcher.useContext(Context, unstable_observedBits);
38416}
38417function useState(initialState) {
38418  var dispatcher = resolveDispatcher();
38419  return dispatcher.useState(initialState);
38420}
38421function useReducer(reducer, initialArg, init) {
38422  var dispatcher = resolveDispatcher();
38423  return dispatcher.useReducer(reducer, initialArg, init);
38424}
38425function useRef(initialValue) {
38426  var dispatcher = resolveDispatcher();
38427  return dispatcher.useRef(initialValue);
38428}
38429function useEffect(create, deps) {
38430  var dispatcher = resolveDispatcher();
38431  return dispatcher.useEffect(create, deps);
38432}
38433function useLayoutEffect(create, deps) {
38434  var dispatcher = resolveDispatcher();
38435  return dispatcher.useLayoutEffect(create, deps);
38436}
38437function useCallback(callback, deps) {
38438  var dispatcher = resolveDispatcher();
38439  return dispatcher.useCallback(callback, deps);
38440}
38441function useMemo(create, deps) {
38442  var dispatcher = resolveDispatcher();
38443  return dispatcher.useMemo(create, deps);
38444}
38445function useImperativeHandle(ref, create, deps) {
38446  var dispatcher = resolveDispatcher();
38447  return dispatcher.useImperativeHandle(ref, create, deps);
38448}
38449function useDebugValue(value, formatterFn) {
38450  {
38451    var dispatcher = resolveDispatcher();
38452    return dispatcher.useDebugValue(value, formatterFn);
38453  }
38454}
38455
38456var propTypesMisspellWarningShown;
38457
38458{
38459  propTypesMisspellWarningShown = false;
38460}
38461
38462function getDeclarationErrorAddendum() {
38463  if (ReactCurrentOwner.current) {
38464    var name = getComponentName(ReactCurrentOwner.current.type);
38465
38466    if (name) {
38467      return '\n\nCheck the render method of `' + name + '`.';
38468    }
38469  }
38470
38471  return '';
38472}
38473
38474function getSourceInfoErrorAddendum(source) {
38475  if (source !== undefined) {
38476    var fileName = source.fileName.replace(/^.*[\\\/]/, '');
38477    var lineNumber = source.lineNumber;
38478    return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
38479  }
38480
38481  return '';
38482}
38483
38484function getSourceInfoErrorAddendumForProps(elementProps) {
38485  if (elementProps !== null && elementProps !== undefined) {
38486    return getSourceInfoErrorAddendum(elementProps.__source);
38487  }
38488
38489  return '';
38490}
38491/**
38492 * Warn if there's no key explicitly set on dynamic arrays of children or
38493 * object keys are not valid. This allows us to keep track of children between
38494 * updates.
38495 */
38496
38497
38498var ownerHasKeyUseWarning = {};
38499
38500function getCurrentComponentErrorInfo(parentType) {
38501  var info = getDeclarationErrorAddendum();
38502
38503  if (!info) {
38504    var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
38505
38506    if (parentName) {
38507      info = "\n\nCheck the top-level render call using <" + parentName + ">.";
38508    }
38509  }
38510
38511  return info;
38512}
38513/**
38514 * Warn if the element doesn't have an explicit key assigned to it.
38515 * This element is in an array. The array could grow and shrink or be
38516 * reordered. All children that haven't already been validated are required to
38517 * have a "key" property assigned to it. Error statuses are cached so a warning
38518 * will only be shown once.
38519 *
38520 * @internal
38521 * @param {ReactElement} element Element that requires a key.
38522 * @param {*} parentType element's parent's type.
38523 */
38524
38525
38526function validateExplicitKey(element, parentType) {
38527  if (!element._store || element._store.validated || element.key != null) {
38528    return;
38529  }
38530
38531  element._store.validated = true;
38532  var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
38533
38534  if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
38535    return;
38536  }
38537
38538  ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a
38539  // property, it may be the creator of the child that's responsible for
38540  // assigning it a key.
38541
38542  var childOwner = '';
38543
38544  if (element && element._owner && element._owner !== ReactCurrentOwner.current) {
38545    // Give the component that originally created this child.
38546    childOwner = " It was passed a child from " + getComponentName(element._owner.type) + ".";
38547  }
38548
38549  setCurrentlyValidatingElement(element);
38550
38551  {
38552    error('Each child in a list should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner);
38553  }
38554
38555  setCurrentlyValidatingElement(null);
38556}
38557/**
38558 * Ensure that every element either is passed in a static location, in an
38559 * array with an explicit keys property defined, or in an object literal
38560 * with valid key property.
38561 *
38562 * @internal
38563 * @param {ReactNode} node Statically passed child of any type.
38564 * @param {*} parentType node's parent's type.
38565 */
38566
38567
38568function validateChildKeys(node, parentType) {
38569  if (typeof node !== 'object') {
38570    return;
38571  }
38572
38573  if (Array.isArray(node)) {
38574    for (var i = 0; i < node.length; i++) {
38575      var child = node[i];
38576
38577      if (isValidElement(child)) {
38578        validateExplicitKey(child, parentType);
38579      }
38580    }
38581  } else if (isValidElement(node)) {
38582    // This element was passed in a valid location.
38583    if (node._store) {
38584      node._store.validated = true;
38585    }
38586  } else if (node) {
38587    var iteratorFn = getIteratorFn(node);
38588
38589    if (typeof iteratorFn === 'function') {
38590      // Entry iterators used to provide implicit keys,
38591      // but now we print a separate warning for them later.
38592      if (iteratorFn !== node.entries) {
38593        var iterator = iteratorFn.call(node);
38594        var step;
38595
38596        while (!(step = iterator.next()).done) {
38597          if (isValidElement(step.value)) {
38598            validateExplicitKey(step.value, parentType);
38599          }
38600        }
38601      }
38602    }
38603  }
38604}
38605/**
38606 * Given an element, validate that its props follow the propTypes definition,
38607 * provided by the type.
38608 *
38609 * @param {ReactElement} element
38610 */
38611
38612
38613function validatePropTypes(element) {
38614  {
38615    var type = element.type;
38616
38617    if (type === null || type === undefined || typeof type === 'string') {
38618      return;
38619    }
38620
38621    var name = getComponentName(type);
38622    var propTypes;
38623
38624    if (typeof type === 'function') {
38625      propTypes = type.propTypes;
38626    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
38627    // Inner props are checked in the reconciler.
38628    type.$$typeof === REACT_MEMO_TYPE)) {
38629      propTypes = type.propTypes;
38630    } else {
38631      return;
38632    }
38633
38634    if (propTypes) {
38635      setCurrentlyValidatingElement(element);
38636      checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum);
38637      setCurrentlyValidatingElement(null);
38638    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
38639      propTypesMisspellWarningShown = true;
38640
38641      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');
38642    }
38643
38644    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {
38645      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
38646    }
38647  }
38648}
38649/**
38650 * Given a fragment, validate that it can only be provided with fragment props
38651 * @param {ReactElement} fragment
38652 */
38653
38654
38655function validateFragmentProps(fragment) {
38656  {
38657    setCurrentlyValidatingElement(fragment);
38658    var keys = Object.keys(fragment.props);
38659
38660    for (var i = 0; i < keys.length; i++) {
38661      var key = keys[i];
38662
38663      if (key !== 'children' && key !== 'key') {
38664        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
38665
38666        break;
38667      }
38668    }
38669
38670    if (fragment.ref !== null) {
38671      error('Invalid attribute `ref` supplied to `React.Fragment`.');
38672    }
38673
38674    setCurrentlyValidatingElement(null);
38675  }
38676}
38677function createElementWithValidation(type, props, children) {
38678  var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to
38679  // succeed and there will likely be errors in render.
38680
38681  if (!validType) {
38682    var info = '';
38683
38684    if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
38685      info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports.";
38686    }
38687
38688    var sourceInfo = getSourceInfoErrorAddendumForProps(props);
38689
38690    if (sourceInfo) {
38691      info += sourceInfo;
38692    } else {
38693      info += getDeclarationErrorAddendum();
38694    }
38695
38696    var typeString;
38697
38698    if (type === null) {
38699      typeString = 'null';
38700    } else if (Array.isArray(type)) {
38701      typeString = 'array';
38702    } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
38703      typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />";
38704      info = ' Did you accidentally export a JSX literal instead of a component?';
38705    } else {
38706      typeString = typeof type;
38707    }
38708
38709    {
38710      error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);
38711    }
38712  }
38713
38714  var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.
38715  // TODO: Drop this when these are no longer allowed as the type argument.
38716
38717  if (element == null) {
38718    return element;
38719  } // Skip key warning if the type isn't valid since our key validation logic
38720  // doesn't expect a non-string/function type and can throw confusing errors.
38721  // We don't want exception behavior to differ between dev and prod.
38722  // (Rendering will throw with a helpful message and as soon as the type is
38723  // fixed, the key warnings will appear.)
38724
38725
38726  if (validType) {
38727    for (var i = 2; i < arguments.length; i++) {
38728      validateChildKeys(arguments[i], type);
38729    }
38730  }
38731
38732  if (type === REACT_FRAGMENT_TYPE) {
38733    validateFragmentProps(element);
38734  } else {
38735    validatePropTypes(element);
38736  }
38737
38738  return element;
38739}
38740var didWarnAboutDeprecatedCreateFactory = false;
38741function createFactoryWithValidation(type) {
38742  var validatedFactory = createElementWithValidation.bind(null, type);
38743  validatedFactory.type = type;
38744
38745  {
38746    if (!didWarnAboutDeprecatedCreateFactory) {
38747      didWarnAboutDeprecatedCreateFactory = true;
38748
38749      warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');
38750    } // Legacy hook: remove it
38751
38752
38753    Object.defineProperty(validatedFactory, 'type', {
38754      enumerable: false,
38755      get: function () {
38756        warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');
38757
38758        Object.defineProperty(this, 'type', {
38759          value: type
38760        });
38761        return type;
38762      }
38763    });
38764  }
38765
38766  return validatedFactory;
38767}
38768function cloneElementWithValidation(element, props, children) {
38769  var newElement = cloneElement.apply(this, arguments);
38770
38771  for (var i = 2; i < arguments.length; i++) {
38772    validateChildKeys(arguments[i], newElement.type);
38773  }
38774
38775  validatePropTypes(newElement);
38776  return newElement;
38777}
38778
38779{
38780
38781  try {
38782    var frozenObject = Object.freeze({});
38783    var testMap = new Map([[frozenObject, null]]);
38784    var testSet = new Set([frozenObject]); // This is necessary for Rollup to not consider these unused.
38785    // https://github.com/rollup/rollup/issues/1771
38786    // TODO: we can remove these if Rollup fixes the bug.
38787
38788    testMap.set(0, 0);
38789    testSet.add(0);
38790  } catch (e) {
38791  }
38792}
38793
38794var createElement$1 =  createElementWithValidation ;
38795var cloneElement$1 =  cloneElementWithValidation ;
38796var createFactory =  createFactoryWithValidation ;
38797var Children = {
38798  map: mapChildren,
38799  forEach: forEachChildren,
38800  count: countChildren,
38801  toArray: toArray,
38802  only: onlyChild
38803};
38804
38805exports.Children = Children;
38806exports.Component = Component;
38807exports.Fragment = REACT_FRAGMENT_TYPE;
38808exports.Profiler = REACT_PROFILER_TYPE;
38809exports.PureComponent = PureComponent;
38810exports.StrictMode = REACT_STRICT_MODE_TYPE;
38811exports.Suspense = REACT_SUSPENSE_TYPE;
38812exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;
38813exports.cloneElement = cloneElement$1;
38814exports.createContext = createContext;
38815exports.createElement = createElement$1;
38816exports.createFactory = createFactory;
38817exports.createRef = createRef;
38818exports.forwardRef = forwardRef;
38819exports.isValidElement = isValidElement;
38820exports.lazy = lazy;
38821exports.memo = memo;
38822exports.useCallback = useCallback;
38823exports.useContext = useContext;
38824exports.useDebugValue = useDebugValue;
38825exports.useEffect = useEffect;
38826exports.useImperativeHandle = useImperativeHandle;
38827exports.useLayoutEffect = useLayoutEffect;
38828exports.useMemo = useMemo;
38829exports.useReducer = useReducer;
38830exports.useRef = useRef;
38831exports.useState = useState;
38832exports.version = ReactVersion;
38833  })();
38834}
38835
38836
38837/***/ }),
38838
vendor: 430 bytes, lines 38839-38855
38839/***/ "./node_modules/react/index.js":
38840/*!*************************************!*\
38841  !*** ./node_modules/react/index.js ***!
38842  \*************************************/
38843/*! no static exports found */
38844/***/ (function(module, exports, __webpack_require__) {
38845
38846"use strict";
38847
38848
38849if (false) {} else {
38850  module.exports = __webpack_require__(/*! ./cjs/react.development.js */ "./node_modules/react/cjs/react.development.js");
38851}
38852
38853
38854/***/ }),
38855
vendor: 6,283 bytes, lines 38856-38893
38856/***/ "./node_modules/scheduler/cjs/scheduler-tracing.development.js":
38857/*!*********************************************************************!*\
38858  !*** ./node_modules/scheduler/cjs/scheduler-tracing.development.js ***!
38859  \*********************************************************************/
38860/*! no static exports found */
38861/***/ (function(module, exports, __webpack_require__) {
38862
38863"use strict";
38864/** @license React v0.19.1
38865 * scheduler-tracing.development.js
38866 *
38867 * Copyright (c) Facebook, Inc. and its affiliates.
38868 *
38869 * This source code is licensed under the MIT license found in the
38870 * LICENSE file in the root directory of this source tree.
38871 */
38872if(!0){(function(){'use strict';var DEFAULT_THREAD_ID=0;var interactionIDCounter=0;var threadIDCounter=0;exports.__interactionsRef=null;exports.__subscriberRef=null;{exports.__interactionsRef={current:new Set()};exports.__subscriberRef={current:null}}
38873function unstable_clear(callback){var prevInteractions=exports.__interactionsRef.current;exports.__interactionsRef.current=new Set();try{return callback()}finally{exports.__interactionsRef.current=prevInteractions}}
38874function unstable_getCurrent(){{return exports.__interactionsRef.current}}
38875function unstable_getThreadID(){return++threadIDCounter}
38876function unstable_trace(name,timestamp,callback){var threadID=arguments.length>3&&arguments[3]!==undefined?arguments[3]:DEFAULT_THREAD_ID;var interaction={__count:1,id:interactionIDCounter++,name:name,timestamp:timestamp};var prevInteractions=exports.__interactionsRef.current;var interactions=new Set(prevInteractions);interactions.add(interaction);exports.__interactionsRef.current=interactions;var subscriber=exports.__subscriberRef.current;var returnValue;try{if(subscriber!==null){subscriber.onInteractionTraced(interaction)}}finally{try{if(subscriber!==null){subscriber.onWorkStarted(interactions,threadID)}}finally{try{returnValue=callback()}finally{exports.__interactionsRef.current=prevInteractions;try{if(subscriber!==null){subscriber.onWorkStopped(interactions,threadID)}}finally{interaction.__count--;if(subscriber!==null&&interaction.__count===0){subscriber.onInteractionScheduledWorkCompleted(interaction)}}}}}
38877return returnValue}
38878function unstable_wrap(callback){var threadID=arguments.length>1&&arguments[1]!==undefined?arguments[1]:DEFAULT_THREAD_ID;var wrappedInteractions=exports.__interactionsRef.current;var subscriber=exports.__subscriberRef.current;if(subscriber!==null){subscriber.onWorkScheduled(wrappedInteractions,threadID)}
38879wrappedInteractions.forEach(function(interaction){interaction.__count++});var hasRun=!1;function wrapped(){var prevInteractions=exports.__interactionsRef.current;exports.__interactionsRef.current=wrappedInteractions;subscriber=exports.__subscriberRef.current;try{var returnValue;try{if(subscriber!==null){subscriber.onWorkStarted(wrappedInteractions,threadID)}}finally{try{returnValue=callback.apply(undefined,arguments)}finally{exports.__interactionsRef.current=prevInteractions;if(subscriber!==null){subscriber.onWorkStopped(wrappedInteractions,threadID)}}}
38880return returnValue}finally{if(!hasRun){hasRun=!0;wrappedInteractions.forEach(function(interaction){interaction.__count--;if(subscriber!==null&&interaction.__count===0){subscriber.onInteractionScheduledWorkCompleted(interaction)}})}}}
38881wrapped.cancel=function cancel(){subscriber=exports.__subscriberRef.current;try{if(subscriber!==null){subscriber.onWorkCanceled(wrappedInteractions,threadID)}}finally{wrappedInteractions.forEach(function(interaction){interaction.__count--;if(subscriber&&interaction.__count===0){subscriber.onInteractionScheduledWorkCompleted(interaction)}})}};return wrapped}
38882var subscribers=null;{subscribers=new Set()}
38883function unstable_subscribe(subscriber){{subscribers.add(subscriber);if(subscribers.size===1){exports.__subscriberRef.current={onInteractionScheduledWorkCompleted:onInteractionScheduledWorkCompleted,onInteractionTraced:onInteractionTraced,onWorkCanceled:onWorkCanceled,onWorkScheduled:onWorkScheduled,onWorkStarted:onWorkStarted,onWorkStopped:onWorkStopped}}}}
38884function unstable_unsubscribe(subscriber){{subscribers.delete(subscriber);if(subscribers.size===0){exports.__subscriberRef.current=null}}}
38885function onInteractionTraced(interaction){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onInteractionTraced(interaction)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}}
38886function onInteractionScheduledWorkCompleted(interaction){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onInteractionScheduledWorkCompleted(interaction)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}}
38887function onWorkScheduled(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkScheduled(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}}
38888function onWorkStarted(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkStarted(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}}
38889function onWorkStopped(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkStopped(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}}
38890function onWorkCanceled(interactions,threadID){var didCatchError=!1;var caughtError=null;subscribers.forEach(function(subscriber){try{subscriber.onWorkCanceled(interactions,threadID)}catch(error){if(!didCatchError){didCatchError=!0;caughtError=error}}});if(didCatchError){throw caughtError}}
38891exports.unstable_clear=unstable_clear;exports.unstable_getCurrent=unstable_getCurrent;exports.unstable_getThreadID=unstable_getThreadID;exports.unstable_subscribe=unstable_subscribe;exports.unstable_trace=unstable_trace;exports.unstable_unsubscribe=unstable_unsubscribe;exports.unstable_wrap=unstable_wrap})()}
38892/***/ }),
38893
vendor: 15,705 bytes, lines 38894-38971
38894/***/ "./node_modules/scheduler/cjs/scheduler.development.js":
38895/*!*************************************************************!*\
38896  !*** ./node_modules/scheduler/cjs/scheduler.development.js ***!
38897  \*************************************************************/
38898/*! no static exports found */
38899/***/ (function(module, exports, __webpack_require__) {
38900
38901"use strict";
38902/** @license React v0.19.1
38903 * scheduler.development.js
38904 *
38905 * Copyright (c) Facebook, Inc. and its affiliates.
38906 *
38907 * This source code is licensed under the MIT license found in the
38908 * LICENSE file in the root directory of this source tree.
38909 */
38910if(!0){(function(){'use strict';var enableSchedulerDebugging=!1;var enableProfiling=!0;var requestHostCallback;var requestHostTimeout;var cancelHostTimeout;var shouldYieldToHost;var requestPaint;if(typeof window==='undefined'||typeof MessageChannel!=='function'){var _callback=null;var _timeoutID=null;var _flushCallback=function(){if(_callback!==null){try{var currentTime=exports.unstable_now();var hasRemainingTime=!0;_callback(hasRemainingTime,currentTime);_callback=null}catch(e){setTimeout(_flushCallback,0);throw e}}};var initialTime=Date.now();exports.unstable_now=function(){return Date.now()-initialTime};requestHostCallback=function(cb){if(_callback!==null){setTimeout(requestHostCallback,0,cb)}else{_callback=cb;setTimeout(_flushCallback,0)}};requestHostTimeout=function(cb,ms){_timeoutID=setTimeout(cb,ms)};cancelHostTimeout=function(){clearTimeout(_timeoutID)};shouldYieldToHost=function(){return!1};requestPaint=exports.unstable_forceFrameRate=function(){}}else{var performance=window.performance;var _Date=window.Date;var _setTimeout=window.setTimeout;var _clearTimeout=window.clearTimeout;if(typeof console!=='undefined'){var requestAnimationFrame=window.requestAnimationFrame;var cancelAnimationFrame=window.cancelAnimationFrame;if(typeof requestAnimationFrame!=='function'){console.error("This browser doesn't support requestAnimationFrame. "+'Make sure that you load a '+'polyfill in older browsers. https://fb.me/react-polyfills')}
38911if(typeof cancelAnimationFrame!=='function'){console.error("This browser doesn't support cancelAnimationFrame. "+'Make sure that you load a '+'polyfill in older browsers. https://fb.me/react-polyfills')}}
38912if(typeof performance==='object'&&typeof performance.now==='function'){exports.unstable_now=function(){return performance.now()}}else{var _initialTime=_Date.now();exports.unstable_now=function(){return _Date.now()-_initialTime}}
38913var isMessageLoopRunning=!1;var scheduledHostCallback=null;var taskTimeoutID=-1;var yieldInterval=5;var deadline=0;{shouldYieldToHost=function(){return exports.unstable_now()>=deadline};requestPaint=function(){}}
38914exports.unstable_forceFrameRate=function(fps){if(fps<0||fps>125){console.error('forceFrameRate takes a positive int between 0 and 125, '+'forcing framerates higher than 125 fps is not unsupported');return}
38915if(fps>0){yieldInterval=Math.floor(1000/fps)}else{yieldInterval=5}};var performWorkUntilDeadline=function(){if(scheduledHostCallback!==null){var currentTime=exports.unstable_now();deadline=currentTime+yieldInterval;var hasTimeRemaining=!0;try{var hasMoreWork=scheduledHostCallback(hasTimeRemaining,currentTime);if(!hasMoreWork){isMessageLoopRunning=!1;scheduledHostCallback=null}else{port.postMessage(null)}}catch(error){port.postMessage(null);throw error}}else{isMessageLoopRunning=!1}};var channel=new MessageChannel();var port=channel.port2;channel.port1.onmessage=performWorkUntilDeadline;requestHostCallback=function(callback){scheduledHostCallback=callback;if(!isMessageLoopRunning){isMessageLoopRunning=!0;port.postMessage(null)}};requestHostTimeout=function(callback,ms){taskTimeoutID=_setTimeout(function(){callback(exports.unstable_now())},ms)};cancelHostTimeout=function(){_clearTimeout(taskTimeoutID);taskTimeoutID=-1}}
38916function push(heap,node){var index=heap.length;heap.push(node);siftUp(heap,node,index)}
38917function peek(heap){var first=heap[0];return first===undefined?null:first}
38918function pop(heap){var first=heap[0];if(first!==undefined){var last=heap.pop();if(last!==first){heap[0]=last;siftDown(heap,last,0)}
38919return first}else{return null}}
38920function siftUp(heap,node,i){var index=i;while(!0){var parentIndex=index-1>>>1;var parent=heap[parentIndex];if(parent!==undefined&&compare(parent,node)>0){heap[parentIndex]=node;heap[index]=parent;index=parentIndex}else{return}}}
38921function siftDown(heap,node,i){var index=i;var length=heap.length;while(index<length){var leftIndex=(index+1)*2-1;var left=heap[leftIndex];var rightIndex=leftIndex+1;var right=heap[rightIndex];if(left!==undefined&&compare(left,node)<0){if(right!==undefined&&compare(right,left)<0){heap[index]=right;heap[rightIndex]=node;index=rightIndex}else{heap[index]=left;heap[leftIndex]=node;index=leftIndex}}else if(right!==undefined&&compare(right,node)<0){heap[index]=right;heap[rightIndex]=node;index=rightIndex}else{return}}}
38922function compare(a,b){var diff=a.sortIndex-b.sortIndex;return diff!==0?diff:a.id-b.id}
38923var NoPriority=0;var ImmediatePriority=1;var UserBlockingPriority=2;var NormalPriority=3;var LowPriority=4;var IdlePriority=5;var runIdCounter=0;var mainThreadIdCounter=0;var profilingStateSize=4;var sharedProfilingBuffer=typeof SharedArrayBuffer==='function'?new SharedArrayBuffer(profilingStateSize*Int32Array.BYTES_PER_ELEMENT):typeof ArrayBuffer==='function'?new ArrayBuffer(profilingStateSize*Int32Array.BYTES_PER_ELEMENT):null;var profilingState=sharedProfilingBuffer!==null?new Int32Array(sharedProfilingBuffer):[];var PRIORITY=0;var CURRENT_TASK_ID=1;var CURRENT_RUN_ID=2;var QUEUE_SIZE=3;{profilingState[PRIORITY]=NoPriority;profilingState[QUEUE_SIZE]=0;profilingState[CURRENT_TASK_ID]=0}
38924var INITIAL_EVENT_LOG_SIZE=131072;var MAX_EVENT_LOG_SIZE=524288;var eventLogSize=0;var eventLogBuffer=null;var eventLog=null;var eventLogIndex=0;var TaskStartEvent=1;var TaskCompleteEvent=2;var TaskErrorEvent=3;var TaskCancelEvent=4;var TaskRunEvent=5;var TaskYieldEvent=6;var SchedulerSuspendEvent=7;var SchedulerResumeEvent=8;function logEvent(entries){if(eventLog!==null){var offset=eventLogIndex;eventLogIndex+=entries.length;if(eventLogIndex+1>eventLogSize){eventLogSize*=2;if(eventLogSize>MAX_EVENT_LOG_SIZE){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't "+'forget to call `stopLoggingProfilingEvents()`.');stopLoggingProfilingEvents();return}
38925var newEventLog=new Int32Array(eventLogSize*4);newEventLog.set(eventLog);eventLogBuffer=newEventLog.buffer;eventLog=newEventLog}
38926eventLog.set(entries,offset)}}
38927function startLoggingProfilingEvents(){eventLogSize=INITIAL_EVENT_LOG_SIZE;eventLogBuffer=new ArrayBuffer(eventLogSize*4);eventLog=new Int32Array(eventLogBuffer);eventLogIndex=0}
38928function stopLoggingProfilingEvents(){var buffer=eventLogBuffer;eventLogSize=0;eventLogBuffer=null;eventLog=null;eventLogIndex=0;return buffer}
38929function markTaskStart(task,ms){{profilingState[QUEUE_SIZE]++;if(eventLog!==null){logEvent([TaskStartEvent,ms*1000,task.id,task.priorityLevel])}}}
38930function markTaskCompleted(task,ms){{profilingState[PRIORITY]=NoPriority;profilingState[CURRENT_TASK_ID]=0;profilingState[QUEUE_SIZE]--;if(eventLog!==null){logEvent([TaskCompleteEvent,ms*1000,task.id])}}}
38931function markTaskCanceled(task,ms){{profilingState[QUEUE_SIZE]--;if(eventLog!==null){logEvent([TaskCancelEvent,ms*1000,task.id])}}}
38932function markTaskErrored(task,ms){{profilingState[PRIORITY]=NoPriority;profilingState[CURRENT_TASK_ID]=0;profilingState[QUEUE_SIZE]--;if(eventLog!==null){logEvent([TaskErrorEvent,ms*1000,task.id])}}}
38933function markTaskRun(task,ms){{runIdCounter++;profilingState[PRIORITY]=task.priorityLevel;profilingState[CURRENT_TASK_ID]=task.id;profilingState[CURRENT_RUN_ID]=runIdCounter;if(eventLog!==null){logEvent([TaskRunEvent,ms*1000,task.id,runIdCounter])}}}
38934function markTaskYield(task,ms){{profilingState[PRIORITY]=NoPriority;profilingState[CURRENT_TASK_ID]=0;profilingState[CURRENT_RUN_ID]=0;if(eventLog!==null){logEvent([TaskYieldEvent,ms*1000,task.id,runIdCounter])}}}
38935function markSchedulerSuspended(ms){{mainThreadIdCounter++;if(eventLog!==null){logEvent([SchedulerSuspendEvent,ms*1000,mainThreadIdCounter])}}}
38936function markSchedulerUnsuspended(ms){{if(eventLog!==null){logEvent([SchedulerResumeEvent,ms*1000,mainThreadIdCounter])}}}
38937var maxSigned31BitInt=1073741823;var IMMEDIATE_PRIORITY_TIMEOUT=-1;var USER_BLOCKING_PRIORITY=250;var NORMAL_PRIORITY_TIMEOUT=5000;var LOW_PRIORITY_TIMEOUT=10000;var IDLE_PRIORITY=maxSigned31BitInt;var taskQueue=[];var timerQueue=[];var taskIdCounter=1;var currentTask=null;var currentPriorityLevel=NormalPriority;var isPerformingWork=!1;var isHostCallbackScheduled=!1;var isHostTimeoutScheduled=!1;function advanceTimers(currentTime){var timer=peek(timerQueue);while(timer!==null){if(timer.callback===null){pop(timerQueue)}else if(timer.startTime<=currentTime){pop(timerQueue);timer.sortIndex=timer.expirationTime;push(taskQueue,timer);{markTaskStart(timer,currentTime);timer.isQueued=!0}}else{return}
38938timer=peek(timerQueue)}}
38939function handleTimeout(currentTime){isHostTimeoutScheduled=!1;advanceTimers(currentTime);if(!isHostCallbackScheduled){if(peek(taskQueue)!==null){isHostCallbackScheduled=!0;requestHostCallback(flushWork)}else{var firstTimer=peek(timerQueue);if(firstTimer!==null){requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime)}}}}
38940function flushWork(hasTimeRemaining,initialTime){{markSchedulerUnsuspended(initialTime)}
38941isHostCallbackScheduled=!1;if(isHostTimeoutScheduled){isHostTimeoutScheduled=!1;cancelHostTimeout()}
38942isPerformingWork=!0;var previousPriorityLevel=currentPriorityLevel;try{if(enableProfiling){try{return workLoop(hasTimeRemaining,initialTime)}catch(error){if(currentTask!==null){var currentTime=exports.unstable_now();markTaskErrored(currentTask,currentTime);currentTask.isQueued=!1}
38943throw error}}else{return workLoop(hasTimeRemaining,initialTime)}}finally{currentTask=null;currentPriorityLevel=previousPriorityLevel;isPerformingWork=!1;{var _currentTime=exports.unstable_now();markSchedulerSuspended(_currentTime)}}}
38944function workLoop(hasTimeRemaining,initialTime){var currentTime=initialTime;advanceTimers(currentTime);currentTask=peek(taskQueue);while(currentTask!==null&&!(enableSchedulerDebugging)){if(currentTask.expirationTime>currentTime&&(!hasTimeRemaining||shouldYieldToHost())){break}
38945var callback=currentTask.callback;if(callback!==null){currentTask.callback=null;currentPriorityLevel=currentTask.priorityLevel;var didUserCallbackTimeout=currentTask.expirationTime<=currentTime;markTaskRun(currentTask,currentTime);var continuationCallback=callback(didUserCallbackTimeout);currentTime=exports.unstable_now();if(typeof continuationCallback==='function'){currentTask.callback=continuationCallback;markTaskYield(currentTask,currentTime)}else{{markTaskCompleted(currentTask,currentTime);currentTask.isQueued=!1}
38946if(currentTask===peek(taskQueue)){pop(taskQueue)}}
38947advanceTimers(currentTime)}else{pop(taskQueue)}
38948currentTask=peek(taskQueue)}
38949if(currentTask!==null){return!0}else{var firstTimer=peek(timerQueue);if(firstTimer!==null){requestHostTimeout(handleTimeout,firstTimer.startTime-currentTime)}
38950return!1}}
38951function unstable_runWithPriority(priorityLevel,eventHandler){switch(priorityLevel){case ImmediatePriority:case UserBlockingPriority:case NormalPriority:case LowPriority:case IdlePriority:break;default:priorityLevel=NormalPriority}
38952var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel=previousPriorityLevel}}
38953function unstable_next(eventHandler){var priorityLevel;switch(currentPriorityLevel){case ImmediatePriority:case UserBlockingPriority:case NormalPriority:priorityLevel=NormalPriority;break;default:priorityLevel=currentPriorityLevel;break}
38954var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=priorityLevel;try{return eventHandler()}finally{currentPriorityLevel=previousPriorityLevel}}
38955function unstable_wrapCallback(callback){var parentPriorityLevel=currentPriorityLevel;return function(){var previousPriorityLevel=currentPriorityLevel;currentPriorityLevel=parentPriorityLevel;try{return callback.apply(this,arguments)}finally{currentPriorityLevel=previousPriorityLevel}}}
38956function timeoutForPriorityLevel(priorityLevel){switch(priorityLevel){case ImmediatePriority:return IMMEDIATE_PRIORITY_TIMEOUT;case UserBlockingPriority:return USER_BLOCKING_PRIORITY;case IdlePriority:return IDLE_PRIORITY;case LowPriority:return LOW_PRIORITY_TIMEOUT;case NormalPriority:default:return NORMAL_PRIORITY_TIMEOUT}}
38957function unstable_scheduleCallback(priorityLevel,callback,options){var currentTime=exports.unstable_now();var startTime;var timeout;if(typeof options==='object'&&options!==null){var delay=options.delay;if(typeof delay==='number'&&delay>0){startTime=currentTime+delay}else{startTime=currentTime}
38958timeout=typeof options.timeout==='number'?options.timeout:timeoutForPriorityLevel(priorityLevel)}else{timeout=timeoutForPriorityLevel(priorityLevel);startTime=currentTime}
38959var expirationTime=startTime+timeout;var newTask={id:taskIdCounter++,callback:callback,priorityLevel:priorityLevel,startTime:startTime,expirationTime:expirationTime,sortIndex:-1};{newTask.isQueued=!1}
38960if(startTime>currentTime){newTask.sortIndex=startTime;push(timerQueue,newTask);if(peek(taskQueue)===null&&newTask===peek(timerQueue)){if(isHostTimeoutScheduled){cancelHostTimeout()}else{isHostTimeoutScheduled=!0}
38961requestHostTimeout(handleTimeout,startTime-currentTime)}}else{newTask.sortIndex=expirationTime;push(taskQueue,newTask);{markTaskStart(newTask,currentTime);newTask.isQueued=!0}
38962if(!isHostCallbackScheduled&&!isPerformingWork){isHostCallbackScheduled=!0;requestHostCallback(flushWork)}}
38963return newTask}
38964function unstable_pauseExecution(){}
38965function unstable_continueExecution(){if(!isHostCallbackScheduled&&!isPerformingWork){isHostCallbackScheduled=!0;requestHostCallback(flushWork)}}
38966function unstable_getFirstCallbackNode(){return peek(taskQueue)}
38967function unstable_cancelCallback(task){{if(task.isQueued){var currentTime=exports.unstable_now();markTaskCanceled(task,currentTime);task.isQueued=!1}}
38968task.callback=null}
38969function unstable_getCurrentPriorityLevel(){return currentPriorityLevel}
38970function unstable_shouldYield(){var currentTime=exports.unstable_now();advanceTimers(currentTime);var firstTask=peek(taskQueue);return firstTask!==currentTask&&currentTask!==null&&firstTask!==null&&firstTask.callback!==null&&firstTask.startTime<=currentTime&&firstTask.expirationTime<currentTask.expirationTime||shouldYieldToHost()}
38971var unstable_requestPaint=requestPaint;var unstable_Profiling={startLoggingProfilingEvents:startLoggingProfilingEvents,stopLoggingProfilingEvents:stopLoggingProfilingEvents,sharedProfilingBuffer:sharedProfilingBuffer};exports.unstable_IdlePriority=IdlePriority;exports.unstable_ImmediatePriority=ImmediatePriority;exports.unstable_LowPriority=LowPriority;exports.unstable_NormalPriority=NormalPriority;exports.unstable_Profiling=unstable_Profiling;exports.unstable_UserBlockingPriority=UserBlockingPriority;exports.unstable_cancelCallback=unstable_cancelCallback;exports.unstable_continueExecution=unstable_continueExecution;exports.unstable_getCurrentPriorityLevel=unstable_getCurrentPriorityLevel;exports.unstable_getFirstCallbackNode=unstable_getFirstCallbackNode;exports.unstable_next=unstable_next;exports.unstable_pauseExecution=unstable_pauseExecution;exports.unstable_requestPaint=unstable_requestPaint;exports.unstable_runWithPriority=unstable_runWithPriority;exports.unstable_scheduleCallback=unstable_scheduleCallback;exports.unstable_shouldYield=unstable_shouldYield;exports.unstable_wrapCallback=unstable_wrapCallback})()}}),
vendor: 412 bytes, lines 38971-38976
38971"./node_modules/scheduler/index.js":
38972/*!*****************************************!*\
38973  !*** ./node_modules/scheduler/index.js ***!
38974  \*****************************************/
38975/*! no static exports found */
38976(function(module,exports,__webpack_require__){"use strict";if(!1){}else{module.exports=__webpack_require__(/*! ./cjs/scheduler.development.js */"./node_modules/scheduler/cjs/scheduler.development.js")}}),
vendor: 436 bytes, lines 38976-38981
38976"./node_modules/scheduler/tracing.js":
38977/*!*******************************************!*\
38978  !*** ./node_modules/scheduler/tracing.js ***!
38979  \*******************************************/
38980/*! no static exports found */
38981(function(module,exports,__webpack_require__){"use strict";if(!1){}else{module.exports=__webpack_require__(/*! ./cjs/scheduler-tracing.development.js */"./node_modules/scheduler/cjs/scheduler-tracing.development.js")}}),
38981"./src/app_front.tsx":
38982/*!***************************!*\
38983  !*** ./src/app_front.tsx ***!
38984  \***************************/
38985/*! exports provided: app */
38986(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"app",function(){return app});var _scss_app_style_newsletterpro_cross_scss__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ./scss/app_style/newsletterpro_cross.scss */"./src/scss/app_style/newsletterpro_cross.scss");var _scss_app_style_newsletterpro_cross_scss__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_scss_app_style_newsletterpro_cross_scss__WEBPACK_IMPORTED_MODULE_0__);var _scss_app_front_scss__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ./scss/app_front.scss */"./src/scss/app_front.scss");var _scss_app_front_scss__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_scss_app_front_scss__WEBPACK_IMPORTED_MODULE_1__);var _scss_pqnp_font_scss__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./scss/pqnp-font.scss */"./src/scss/pqnp-font.scss");var _scss_pqnp_font_scss__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_scss_pqnp_font_scss__WEBPACK_IMPORTED_MODULE_2__);var _resources_init__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ./resources/init */"./src/resources/init.js");var _resources_init__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_resources_init__WEBPACK_IMPORTED_MODULE_3__);var _resources_viewport__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ./resources/viewport */"./src/resources/viewport.js");var _resources_viewport__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_resources_viewport__WEBPACK_IMPORTED_MODULE_4__);var _resources_front_window__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ./resources/front_window */"./src/resources/front_window.js");var _resources_front_window__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_resources_front_window__WEBPACK_IMPORTED_MODULE_5__);var _classes_app_front__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ./classes/app-front */"./src/classes/app-front.tsx");__webpack_require__(/*! ./resources/newsletter */"./src/resources/newsletter.js")([$,window.$]);var initFront=__webpack_require__(/*! ./resources/front_init */"./src/resources/front_init.js");var initMyAccount=__webpack_require__(/*! ./resources/my_account */"./src/resources/my_account.js");var initNewsletterSubscribe=__webpack_require__(/*! ./resources/newsletter_subscribe */"./src/resources/newsletter_subscribe.js");var initForward=__webpack_require__(/*! ./resources/forward */"./src/resources/forward.js");$(document).ready(function(){initFront(window.NewsletterPro);initMyAccount(window.NewsletterPro);initNewsletterSubscribe(window.NewsletterPro);initForward(window.NewsletterPro)});var app=window.NewsletterProApp=new _classes_app_front__WEBPACK_IMPORTED_MODULE_6__.App()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
38986"./src/classes/ajax.tsx":
38987/*!******************************!*\
38988  !*** ./src/classes/ajax.tsx ***!
38989  \******************************/
38990/*! exports provided: Ajax */
38991(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"Ajax",function(){return Ajax});var _utils_translate__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../utils/translate */"./src/utils/translate.tsx");var _utils_url__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../utils/url */"./src/utils/url.tsx");var _response__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ./response */"./src/classes/response.tsx");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}
38992function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}
38993function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
38994function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
38995function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
38996function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
38997var Ajax=function(){function Ajax(actionKey){_classCallCheck(this,Ajax);_defineProperty(this,"l",null);_defineProperty(this,"actionKey",null);this.actionKey=actionKey;_utils_translate__WEBPACK_IMPORTED_MODULE_0__.translate.set(this,'ajax')}
38998_createClass(Ajax,[{key:"get",value:function get(action){var _this=this;var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var done=arguments.length>2?arguments[2]:undefined;var fail=arguments.length>3?arguments[3]:undefined;var always=arguments.length>4?arguments[4]:undefined;target=_objectSpread(_defineProperty({},this.actionKey,action),target);return $.ajax({type:'GET',url:_utils_url__WEBPACK_IMPORTED_MODULE_1__.url.get(target),data:{},dataType:'json'}).done(function(res){done(new _response__WEBPACK_IMPORTED_MODULE_2__.Response(res))}).fail(function(jqXHR,textStatus,errorThrown){_this.fail(jqXHR,textStatus,errorThrown,fail)}).always(always).promise()}},{key:"post",value:function post(action){var _this2=this;var target=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var data=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var done=arguments.length>3?arguments[3]:undefined;var fail=arguments.length>4?arguments[4]:undefined;var always=arguments.length>5?arguments[5]:undefined;target=_objectSpread(_defineProperty({},this.actionKey,action),target);var params={};if(data instanceof FormData){params={contentType:!1,processData:!1}}
38999return $.ajax(_objectSpread({type:'POST',url:_utils_url__WEBPACK_IMPORTED_MODULE_1__.url.get(target),dataType:'json',data:data},params)).done(function(res){done(new _response__WEBPACK_IMPORTED_MODULE_2__.Response(res))}).fail(function(jqXHR,textStatus,errorThrown){_this2.fail(jqXHR,textStatus,errorThrown,fail)}).always(always).promise()}},{key:"fail",value:function fail(jqXHR,textStatus,errorThrown,callback){console.warn(this.l('Error: The AJAX response is not JSON type.'));console.warn(errorThrown);console.log(jqXHR.responseText);if(callback){if(callback(jqXHR,textStatus,errorThrown)){alert(this.l('Oops, an error has occurred.'))}}else{alert(this.l('Oops, an error has occurred.'))}}}]);return Ajax}()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
38999"./src/classes/app-front.tsx":
39000/*!***********************************!*\
39001  !*** ./src/classes/app-front.tsx ***!
39002  \***********************************/
39003/*! exports provided: App */
39004(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"App",function(){return App});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! react-dom */"./node_modules/react-dom/index.js");var react_dom__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);var _utils_storage__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");var _utils_translate__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../utils/translate */"./src/utils/translate.tsx");var _utils_win__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../utils/win */"./src/utils/win.tsx");var _controllers_front_popup_controller__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ../controllers/front/popup-controller */"./src/controllers/front/popup-controller.tsx");var _containers_popup__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ../containers/popup */"./src/containers/popup.tsx");var _promise__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(/*! ./promise */"./src/classes/promise.tsx");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39005function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39006function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39007function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39008var App=function(){function App(){var _this=this;_classCallCheck(this,App);_defineProperty(this,"storage",null);_defineProperty(this,"translate",null);_defineProperty(this,"box",null);_defineProperty(this,"win",null);_defineProperty(this,"controllers",{popup:new _controllers_front_popup_controller__WEBPACK_IMPORTED_MODULE_5__.PopupController()});this.storage=_utils_storage__WEBPACK_IMPORTED_MODULE_2__.storage;this.translate=_utils_translate__WEBPACK_IMPORTED_MODULE_3__.translate;this.box=window.NewsletterPro;var winPromise=Object(_utils_win__WEBPACK_IMPORTED_MODULE_4__.init)(function(win){_this.win=win});this.initControllers();this.ready(function(){_promise__WEBPACK_IMPORTED_MODULE_7__["default"].all([winPromise]).then(function(params){var elements=$('.pqnp-subscription-content');elements.each(function(index,item){var props={html:_utils_storage__WEBPACK_IMPORTED_MODULE_2__.storage.get('subscription_tpl_render'),email:'',dom:{inputEmail:null}};react_dom__WEBPACK_IMPORTED_MODULE_1__.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0__.createElement(_containers_popup__WEBPACK_IMPORTED_MODULE_6__.Popup,props)),item)});elements=$('.pqnp-subscription-controller-content');elements.each(function(index,item){var props={html:_utils_storage__WEBPACK_IMPORTED_MODULE_2__.storage.get('subscription_controller_tpl_render'),email:'',dom:{inputEmail:null}};react_dom__WEBPACK_IMPORTED_MODULE_1__.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",null,react__WEBPACK_IMPORTED_MODULE_0__.createElement(_containers_popup__WEBPACK_IMPORTED_MODULE_6__.Popup,props)),item)});for(var controllerName in _this.controllers){if(_this.controllers.hasOwnProperty(controllerName)){var controller=_this.controllers[controllerName],cDom=controller.initDom();controller.dom=cDom;controller.ready(cDom,{win:params[0]})}}})})}
39009_createClass(App,[{key:"initControllers",value:function initControllers(){for(var controllerName in this.controllers){if(this.controllers.hasOwnProperty(controllerName)){var controller=this.controllers[controllerName];controller.app=this}}}},{key:"ready",value:function ready(callback){$(document).ready(function(){var jDom={body:$(document.body)},dom={body:document.body};callback(jDom,dom)})}}]);return App}()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39009"./src/classes/promise.tsx":
39010/*!*********************************!*\
39011  !*** ./src/classes/promise.tsx ***!
39012  \*********************************/
39013/*! exports provided: default */
39014(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"default",function(){return Promise});function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}
39015function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}
39016function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}
39017function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39018function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39019function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39020function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39021var Promise=function(){function Promise(callback){_classCallCheck(this,Promise);_defineProperty(this,"resolveData",[]);_defineProperty(this,"thanCallbacks",[]);_defineProperty(this,"rejectData",[]);_defineProperty(this,"rejectCallbacks",[]);callback(this.resolve.bind(this),this.reject.bind(this))}
39022_createClass(Promise,[{key:"then",value:function then(callback){this.thanCallbacks.push(callback);if(this.resolveData.length>0){var _iterator=_createForOfIteratorHelper(this.resolveData),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _data=_step.value;callback(_data)}}catch(err){_iterator.e(err)}finally{_iterator.f()}
39023this.resolveData=[]}
39024return this}},{key:"catch",value:function _catch(callback){this.rejectCallbacks.push(callback);if(this.rejectData.length>0){var _iterator2=_createForOfIteratorHelper(this.rejectData),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _data2=_step2.value;callback(_data2)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}
39025this.rejectData=[]}
39026return this}},{key:"resolve",value:function resolve(data){this.resolveData.push(data);if(this.thanCallbacks.length>0){var _iterator3=_createForOfIteratorHelper(this.thanCallbacks),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var callback=_step3.value;callback(data)}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}
39027this.thanCallbacks=[]}}},{key:"reject",value:function reject(error){this.rejectData.push(error);if(this.rejectCallbacks.length>0){var _iterator4=_createForOfIteratorHelper(this.rejectCallbacks),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var callback=_step4.value;callback(error)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}
39028this.rejectCallbacks=[]}}}],[{key:"all",value:function all(promisess){return new Promise(function(resolve,reject){var resolved=[],len=promisess.length;var _iterator5=_createForOfIteratorHelper(promisess),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var promise=_step5.value;promise.then(function(data){resolved.push(data);if(resolved.length===len){resolve(resolved)}})["catch"](function(error){reject(error)})}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}})}}]);return Promise}()}),
39028"./src/classes/response.tsx":
39029/*!**********************************!*\
39030  !*** ./src/classes/response.tsx ***!
39031  \**********************************/
39032/*! exports provided: Response */
39033(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Response",function(){return Response});var _helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../helpers */"./src/helpers.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39034function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39035function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39036function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39037function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39038var Response=function(){function Response(response){_classCallCheck(this,Response);_defineProperty(this,"data",null);_defineProperty(this,"errors",null);_defineProperty(this,"formErrors",null);_defineProperty(this,"get",null);_defineProperty(this,"response",null);this.response=response;this.data=response.data;this.errors=response.errors;this.formErrors=response.formErrors;this.get=Object(_helpers__WEBPACK_IMPORTED_MODULE_0__.getter)(this.data)}
39039_createClass(Response,[{key:"success",value:function success(){return this.response.success}},{key:"formError",value:function formError(key){if(this.hasFormError(key)){return this.formErrors[key]}}},{key:"hasFormError",value:function hasFormError(key){return _typeof(this.formError)==='object'&&key in this.formErrors}},{key:"showErrors",value:function showErrors(){if(!this.success()){}}}]);return Response}()}),
39039"./src/classes/storage.tsx":
39040/*!*********************************!*\
39041  !*** ./src/classes/storage.tsx ***!
39042  \*********************************/
39043/*! exports provided: Storage */
39044(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Storage",function(){return Storage});function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}
39045function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}
39046function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}
39047function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39048function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39049function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39050function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39051function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39052var Storage=function(){function Storage(){_classCallCheck(this,Storage);_defineProperty(this,"data",{})}
39053_createClass(Storage,[{key:"get",value:function get(name){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;if(typeof name==='undefined'){return this.data}
39054var split=name.split('.');if(split.length>1){return this.getDataCallback(this.data,split,defaultValue)}else if(this.data.hasOwnProperty(name)){return this.data[name]}
39055return defaultValue}},{key:"delete",value:function _delete(name){if(typeof name==='undefined'){return!1}
39056var split=name.split('.');if(split.length>1){return this.deleteDataCallback(this.data,split)}else if(this.data.hasOwnProperty(name)){return delete this.data[name]}
39057return!1}},{key:"getNumber",value:function getNumber(name){var value=Number(this.get(name));if(isNaN(value)){return 0}
39058return value}},{key:"has",value:function has(name){var split=name.split('.');return this.hasDataCallback(split,this.data)}},{key:"add",value:function add(name,value){var splitName=name.split('.');var parent=this.data;for(var i=0;i<splitName.length;i++){if(i===splitName.length-1){parent[splitName[i]]=value}else{if(_typeof(parent[splitName[i]])!=='object'){parent[splitName[i]]={}}}
39059if(_typeof(parent)==='object'){parent=parent[splitName[i]]}}}},{key:"set",value:function set(name,value){this.add(name,value)}},{key:"setObject",value:function setObject(obj){for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];this.data[key]=obj[key]}}},{key:"append",value:function append(name,value){if(this.data.hasOwnProperty(name)){this.data[name].push(value)}else{this.data[name]=[];this.data[name].push(value)}}},{key:"length",value:function length(){return Object.keys(this.data).length}},{key:"getDataCallback",value:function getDataCallback(data,target){var defaultValue=arguments.length>2&&arguments[2]!==undefined?arguments[2]:!1;if(target.length===1){if(typeof data[target[0]]!=='undefined'){return data[target[0]]}
39060return defaultValue}
39061var _iterator=_createForOfIteratorHelper(target),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var key=_step.value;if(typeof data[key]!=='undefined'){return this.getDataCallback(data[key],target.slice(1),defaultValue)}
39062return defaultValue}}catch(err){_iterator.e(err)}finally{_iterator.f()}
39063return defaultValue}},{key:"deleteDataCallback",value:function deleteDataCallback(data,target){if(target.length===1){if(typeof data[target[0]]!=='undefined'){return delete data[target[0]]}
39064return!1}
39065var _iterator2=_createForOfIteratorHelper(target),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var key=_step2.value;if(typeof data[key]!=='undefined'){return this.deleteDataCallback(data[key],target.slice(1))}
39066return!1}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}
39067return!1}},{key:"hasDataCallback",value:function hasDataCallback(split,data){if(split.length===0){return!1}
39068var key=split.shift();if(split.length===0&&data.hasOwnProperty(key)){return!0}else if(data.hasOwnProperty(key)){return this.hasDataCallback(split,data[key])}
39069return!1}}]);return Storage}()}),
39069"./src/classes/translate.tsx":
39070/*!***********************************!*\
39071  !*** ./src/classes/translate.tsx ***!
39072  \***********************************/
39073/*! exports provided: Translate */
39074(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Translate",function(){return Translate});var events__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! events */"./node_modules/events/events.js");var events__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}
39075function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}
39076function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}
39077function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39078function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39079function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39080function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39081var emitter=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();var Translate=function(){function Translate(){_classCallCheck(this,Translate);_defineProperty(this,"data",{});_defineProperty(this,"cache",{});_defineProperty(this,"on",function(eventName,callback){emitter.on(eventName,callback)})}
39082_createClass(Translate,[{key:"setObject",value:function setObject(obj){var triggerInit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];this.data[key]=obj[key]}
39083if(triggerInit){emitter.emit('ready',this)}}},{key:"source",value:function source(target){var _this=this;var path,currentTarget=this.data;path=target.split('.');var _iterator=_createForOfIteratorHelper(path),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var currentPath=_step.value;if(!currentTarget.hasOwnProperty(currentPath)){console.error("Invalid translation path \"".concat(path,"\" - \"").concat(currentPath,"\""));return function(value){return value}}
39084currentTarget=currentTarget[currentPath]}}catch(err){_iterator.e(err)}finally{_iterator.f()}
39085return function(value){if(currentTarget.hasOwnProperty(value)){return currentTarget[value].replace(/\&quot;/g,'"')}
39086var log="The translation does not exist >>>".concat(value,"<<< in \"").concat(path,"\"");if(typeof _this.cache[log]==='undefined'){_this.cache[log]=!0;console.log(log)}
39087return value}}},{key:"length",value:function length(){return Object.keys(this.data).length}},{key:"set",value:function set(obj,source){var _this2=this;if(this.length()>0){obj.l=this.source(source)}else{this.on('ready',function(){obj.l=_this2.source(source)})}}}]);return Translate}()}),
39087"./src/classes/url.tsx":
39088/*!*****************************!*\
39089  !*** ./src/classes/url.tsx ***!
39090  \*****************************/
39091/*! exports provided: Url */
39092(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Url",function(){return Url});var _utils_storage__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39093function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39094function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39095var Url=function(){function Url(){_classCallCheck(this,Url)}
39096_createClass(Url,[{key:"get",value:function get(){var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return this.join(_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('ajax_url'),this.parse(params))}},{key:"link",value:function link(url){var params=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return this.join(url,this.parse(params))}},{key:"parse",value:function parse(params){var trimFirst=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1;var paramsString='',value='';for(var _i=0,_Object$keys=Object.keys(params);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];value=params[key];paramsString+='&'+key+'='+value}
39097return trimFirst===!0?paramsString.substr(1):paramsString}},{key:"join",value:function join(url){var params=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'';if(/\?/.test(url)){return url+params}else{if(params.length>0){return url+'?'+params.substr(1)}
39098return url}}}]);return Url}()}),
39098"./src/containers/popup.tsx":
39099/*!**********************************!*\
39100  !*** ./src/containers/popup.tsx ***!
39101  \**********************************/
39102/*! exports provided: Popup */
39103(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"Popup",function(){return Popup});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var _utils_storage__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");var _helpers__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../helpers */"./src/helpers.tsx");var _utils_win__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../utils/win */"./src/utils/win.tsx");var _utils_ajax__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../utils/ajax */"./src/utils/ajax.tsx");var _utils_translate__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(/*! ../utils/translate */"./src/utils/translate.tsx");var _win_front__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(/*! ./win-front */"./src/containers/win-front.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39104function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39105function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39106function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39107function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}});if(superClass)_setPrototypeOf(subClass,superClass)}
39108function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}
39109function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}
39110function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}
39111function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}
39112function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(typeof Proxy==="function")return!0;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return!0}catch(e){return!1}}
39113function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}
39114function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39115var Popup=function(_React$Component){_inherits(Popup,_React$Component);var _super=_createSuper(Popup);function Popup(props){var _this;_classCallCheck(this,Popup);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"l",null);_defineProperty(_assertThisInitialized(_this),"dom",null);_defineProperty(_assertThisInitialized(_this),"closeInterval",null);_defineProperty(_assertThisInitialized(_this),"closeTimeout",null);_defineProperty(_assertThisInitialized(_this),"subscribe",function(){_utils_ajax__WEBPACK_IMPORTED_MODULE_4__.ajax.post('popup',{target:'subscribe'}
39115,Object(_helpers__WEBPACK_IMPORTED_MODULE_2__.formSerialize)(_this.dom.form,{templateId:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.id'),loadFile:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.load_file')}),function(res){if(!res.success()){return _this.displayErrors(res.errors)}
39116_this.response(res)},function(){_this.displayErrors([_this.l('Oops, an error has occurred.')])})});_defineProperty(_assertThisInitialized(_this),"unsubscribe",function(){_utils_ajax__WEBPACK_IMPORTED_MODULE_4__.ajax.post('popup',{target:'unsubscribe'},{email:_this.state.email,templateId:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.id'),loadFile:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.load_file')},function(res){if(!res.success()){return _this.displayErrors(res.errors)}
39117_this.response(res)},function(){_this.displayErrors([_this.l('Oops, an error has occurred.')])})});_defineProperty(_assertThisInitialized(_this),"destroy",function(){var close=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!0;_utils_ajax__WEBPACK_IMPORTED_MODULE_4__.ajax.post('popup',{target:'destroy'},{templateId:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.id'),loadFile:_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.load_file')},function(res){if(!res.success()){return _this.displayErrors(res.errors)}
39118if(close){_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.close()}},function(){_this.displayErrors([_this.l('Oops, an error has occurred.')])})});_this.l=_utils_translate__WEBPACK_IMPORTED_MODULE_5__.translate.source('popup');_this.state={email:_this.props.email};return _this}
39119_createClass(Popup,[{key:"componentDidMount",value:function componentDidMount(){var _this2=this;if(typeof this.props.actions==='function'){this.props.actions({subscribe:this.subscribe})}
39120_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.on('close',function(action){if(action===_win_front__WEBPACK_IMPORTED_MODULE_6__.WinCloseAction.BUTTON&&Boolean(_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('subscription_tpl.subscription_template_front_info.close_forever',!1))===!0){_this2.destroy(!0)}});var content=$(this.refs.content),dom=this.dom={content:content,form:content.find('#pqnp-pupup-form'),email:content.find('#pqnp-popup-email'),firstname:content.find('#pqnp-popup-firstname'),lastname:content.find('#pqnp-popup-lastname'),gender:content.find('#pqnp-popup-gender'),birthday:content.find('#pqnp-popup-birthday'),listOfInterest:content.find('[name="list_of_interest[]"]'),termsAndConditions:content.find('#pqnp-popup-terms-and-conditions'),subscribe:content.find('#pqnp-popup-subscribe'),unsubscribe:content.find('#pqnp-popup-unsubscribe'),destroy:content.find('#pqnp-popup-destroy'),error:content.find('#pqnp-popup-error'),success:content.find('#pqnp-popup-success'),closeTimeout:content.find('#pqnp-popup-close-timeout')};if(this.props.dom.inputEmail){this.props.dom.inputEmail.value=''}
39121dom.email.val(this.state.email);dom.email.on('change',function(e){_this2.setState({email:e.target.value})});dom.subscribe.on('click tap',this.subscribe);dom.unsubscribe.on('click tap',this.unsubscribe);dom.destroy.on('click tap',function(){return _this2.destroy(!0)})}},{key:"render",value:function render(){return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",{ref:"content",dangerouslySetInnerHTML:{__html:this.props.html}})}},{key:"displayErrors",value:function displayErrors(errors){this.dom.success.hide().empty();this.dom.error.hide().empty();if(errors&&errors.length>0){this.dom.error.show().html(errors.map(function(error){return"<div>".concat(error,"</div>")}).join('\n'))}}},{key:"displaySuccess",value:function displaySuccess(message){this.dom.error.hide().empty();this.dom.success.hide().empty();if(message&&message.length>0){this.dom.success.show().html(message)}}},{key:"openNewWindow",value:function openNewWindow(html){_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.open([function(props){return react__WEBPACK_IMPORTED_MODULE_0__.createElement("div",{className:"pqnp-popup-subscribe-message",dangerouslySetInnerHTML:{__html:props.html}})},{html:html}])}},{key:"response",value:function response(res){var _this3=this;this.destroy(!1);if(res.get('newWindow')===!0){return this.openNewWindow(res.get('message'))}
39122this.displaySuccess(res.get('message'));var timeout=res.get('closeTimeout',5000);clearTimeout(this.closeTimeout);this.closeTimeout=setTimeout(function(){_utils_win__WEBPACK_IMPORTED_MODULE_3__.win.close()},timeout);if(timeout>0){var seconds=Number(timeout)/1000;clearInterval(this.closeInterval);this.closeInterval=setInterval(function(){seconds--;
39122if(seconds>0){_this3.dom.closeTimeout.empty().show().html(_this3.l('close in %s seconds').replace(/%s/,String(seconds)))}else{_this3.dom.closeTimeout.empty().hide()}
39123if(seconds<=0){clearInterval(_this3.closeInterval)}},1000)}}}]);return Popup}(react__WEBPACK_IMPORTED_MODULE_0__.Component)}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39123"./src/containers/win-front.tsx":
39124/*!**************************************!*\
39125  !*** ./src/containers/win-front.tsx ***!
39126  \**************************************/
39127/*! exports provided: WinCloseAction, WinFront */
39128(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"WinCloseAction",function(){return WinCloseAction});__webpack_require__.d(__webpack_exports__,"WinFront",function(){return WinFront});var _scss_win_front_scss__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../scss/win-front.scss */"./src/scss/win-front.scss");var _scss_win_front_scss__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_scss_win_front_scss__WEBPACK_IMPORTED_MODULE_0__);var _utils_storage__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../utils/storage */"./src/utils/storage.tsx");var react__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);var events__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! events */"./node_modules/events/events.js");var events__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_3__);var _helpers__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(/*! ../helpers */"./src/helpers.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39129function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}
39130function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])})}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}}return target}
39131function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39132function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39133function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39134function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}});if(superClass)_setPrototypeOf(subClass,superClass)}
39135function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}
39136function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}
39137function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(self)}
39138function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}
39139function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(typeof Proxy==="function")return!0;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return!0}catch(e){return!1}}
39140function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}
39141function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0})}else{obj[key]=value}return obj}
39142var styleContainer={hidden:{opacity:0,transform:'scale(.95) translate(-52.5%, 0)',top:'100px'},visible:{opacity:1,transform:'scale(1) translate(-50%, 0)',top:'100px'}};var emitter=new events__WEBPACK_IMPORTED_MODULE_3__.EventEmitter();var WinCloseAction;(function(WinCloseAction){WinCloseAction[WinCloseAction.BUTTON=0]="BUTTON";WinCloseAction[WinCloseAction.BACKGROUND=1]="BACKGROUND"})(WinCloseAction||(WinCloseAction={}));var WinFront=function(_React$Component){_inherits(WinFront,_React$Component);var _super=_createSuper(WinFront);function WinFront(props){var _this;_classCallCheck(this,WinFront);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"closeTimeout",null);_defineProperty(_assertThisInitialized(_this),"openTimeout",null);_defineProperty(_assertThisInitialized(_this),"close",function(action){clearTimeout(_this.openTimeout);_this.setState({visible:!1});emitter.emit('close',action);for(var _i=0,_arr=['open','close'];_i<_arr.length;_i++){var eventName=_arr[_i];emitter.removeAllListeners(eventName)}});_defineProperty(_assertThisInitialized(_this),"on",function(eventName,callback){emitter.on(eventName,callback)});_defineProperty(_assertThisInitialized(_this),"resize",function(){if(_this.state.visible){var win=$(window),component=$(_this.refs.component),container=$(_this.refs.container),containerInner=$(_this.refs.containerInner),content=$(_this.refs.content);var top=parseInt(container.css('top'),10),padding;var total=top+container.outerHeight(),diff=win.outerHeight()-total;if(diff<top){top=(top+diff)/2;container.css('top',top+'px');if(diff<0){padding=parseInt(container.css('padding-top'),10)+parseInt(container.css('padding-bottom'),10);containerInner.height(win.outerHeight()-top*2-padding)}}else{padding=parseInt(container.css('padding-top'),10)+parseInt(container.css('padding-bottom'),10);if(win.outerHeight()<top*2+content.outerHeight()+padding){containerInner.height(win.outerHeight()-top*2-padding)}else{containerInner.height('auto');top=parseInt(container.css('top'),10);total=top+container.outerHeight();diff=win.outerHeight()-total;var minTop=parseInt(String(styleContainer.visible.top),10);if(diff>=top&&top<minTop){top=(top+diff)/2;if(top>=minTop){top=minTop}
39143container.css('top',top+'px')}}}}});_this.state={visible:!1,content:null,style:{opacity:0},styleContainer:_objectSpread({},styleContainer.hidden)};return _this}
39144_createClass(WinFront,[{key:"componentDidMount",value:function componentDidMount(){window.addEventListener('resize',this.resize)}},{key:"componentWillUnmount",value:function componentWillUnmount(){window.removeEventListener('resize',this.resize)}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){var _this2=this;if(prevState.visible!==this.state.visible){if(this.state.visible){this.setState({style:_objectSpread(_objectSpread({},this.state.style),{},{opacity:0}),styleContainer:_objectSpread(_objectSpread(_objectSpread({},this.state.styleContainer),styleContainer.hidden),{},{top:"".concat(this.getNewTop(),"px")})},function(){_this2.openTimeout=setTimeout(function(){_this2.setState({style:_objectSpread(_objectSpread({},_this2.state.style),{},{opacity:1}),styleContainer:_objectSpread(_objectSpread(_objectSpread({},_this2.state.styleContainer),styleContainer.visible),{},{top:"".concat(_this2.getNewTop(),"px")})},function(){_this2.resize();Object(_helpers__WEBPACK_IMPORTED_MODULE_4__.observeDOM)(_this2.refs.component,function(){_this2.resize()})})},100)})}else{this.setState({style:_objectSpread(_objectSpread({},this.state.style),{},{opacity:0}),styleContainer:_objectSpread(_objectSpread({},this.state.styleContainer),styleContainer.hidden)},function(){_this2.closeTimeout=setTimeout(function(){_this2.setState({content:null})},WinFront.animationTimeout)})}}}},{key:"style",value:function style(){var _style=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};styleContainer=_objectSpread(_objectSpread({},styleContainer),{},{hidden:_objectSpread(_objectSpread({},styleContainer.hidden),_style),visible:_objectSpread(_objectSpread({},styleContainer.visible),_style)});this.setState({styleContainer:_objectSpread(_objectSpread({},this.state.styleContainer),_style)});return this}},{key:"open",value:function open(data){clearTimeout(this.closeTimeout);this.setState({visible:!0,content:{component:data[0],props:data[1]}});emitter.emit('open')}},{key:"render",value:function render(){var _this3=this;if(this.state.content==null){return null}
39145var Component=this.state.content.component,props=this.state.content.props;return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"component",className:"pqnp-win-front",onClick:function onClick(){return _this3.close(WinCloseA
39145ction.BACKGROUND)},style:this.state.style},react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"container",className:"pqnp-win-front-container",onClick:function onClick(e){return e.stopPropagation()},style:this.state.styleContainer},react__WEBPACK_IMPORTED_MODULE_2__.createElement("a",{href:"javascript:{}",onClick:function onClick(){return _this3.close(WinCloseAction.BUTTON)},className:"".concat(_utils_storage__WEBPACK_IMPORTED_MODULE_1__.storage.get('config.CROSS_TYPE_CLASS')," np-cross pqnp-win-front-close")}),react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"containerInner",className:"pqnp-win-front-container-inner"},react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{ref:"content",className:"pqnp-win-front-content"},typeof Component==='function'?react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component,props):Component))))}},{key:"getNewTop",value:function getNewTop(){var win=$(window),container=$(this.refs.container);var top=parseInt(container.css('top'),10),total=top+container.outerHeight(),diff=win.outerHeight()-total;if(diff<top){return(top+diff)/2}
39146return top}}]);return WinFront}(react__WEBPACK_IMPORTED_MODULE_2__.Component);_defineProperty(WinFront,"animationTimeout",350)}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39146"./src/controllers/front/popup-controller.tsx":
39147/*!****************************************************!*\
39148  !*** ./src/controllers/front/popup-controller.tsx ***!
39149  \****************************************************/
39150/*! exports provided: PopupController */
39151(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"PopupController",function(){return PopupController});var _utils_storage__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../../utils/storage */"./src/utils/storage.tsx");var _containers_popup__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! ../../containers/popup */"./src/containers/popup.tsx");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}
39152function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1;descriptor.configurable=!0;if("value" in descriptor)descriptor.writable=!0;Object.defineProperty(target,descriptor.key,descriptor)}}
39153function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}
39154var restoreUniform=function restoreUniform(){if(window.$.hasOwnProperty('uniform')){window.$.uniform.restore($('.pqnp-popup-box input, .pqnp-popup-box select, .pqnp-popup-box textarea'))}};window.$(window).load(function(){restoreUniform()});var PopupController=function(){function PopupController(){_classCallCheck(this,PopupController)}
39155_createClass(PopupController,[{key:"ready",value:function ready(dom,params){var _this=this;if(!_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('subscription_tpl_loader_better',!1)){return}
39156var win=params.win,settings=_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('subscription_tpl.subscription_template_front_info');win.on('open',function(){restoreUniform()});win.style({top:this.getStyleValue(settings.body_top),minWidth:this.getStyleValue(settings.body_min_width),maxWidth:this.getStyleValue(settings.body_max_width),width:this.getStyleValue(settings.body_width)});if(/(\&|\?)newsletterproSubscribe/i.test(window.location.href)){win.open(this.getPopupContent())}else{setTimeout(function(){if(settings.display_popup){win.open(_this.getPopupContent())}},settings.start_timer*1000)}
39157dom.btnOpenPopup.on('click',function(event){var inputEmail=event.currentTarget.parentElement.querySelector('.pqnp-email-address');win.open(_this.getPopupContent(inputEmail))});dom.inputEmail.on('keydown',function(event){var inputEmail=event.currentTarget;if(event.keyCode==13){win.open(_this.getPopupContent(inputEmail))}})}},{key:"open",value:function open(){this.app.win.open(this.getPopupContent())}},{key:"close",value:function close(){this.app.win.close()}},{key:"getPopupContent",value:function getPopupContent(){var _this2=this;var inputEmail=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var email=inputEmail?inputEmail.value:'';return[_containers_popup__WEBPACK_IMPORTED_MODULE_1__.Popup,{html:_utils_storage__WEBPACK_IMPORTED_MODULE_0__.storage.get('subscription_tpl_render'),email:email,dom:{inputEmail:inputEmail},actions:function actions(obj){_this2.actions=obj}}]}},{key:"initDom",value:function initDom(){return{btnOpenPopup:$('.pqnp-subscribe-button'),inputEmail:$('.pqnp-email-address')}}},{key:"getStyleValue",value:function getStyleValue(value){return isNaN(Number(value))?String(value):"".concat(value,"px")}}]);return PopupController}()}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39157"./src/helpers.tsx":
39158/*!*************************!*\
39159  !*** ./src/helpers.tsx ***!
39160  \*************************/
39161/*! exports provided: strval, getter, observeDOM, formSerialize, escapeRegex */
39162(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"strval",function(){return strval});__webpack_require__.d(__webpack_exports__,"getter",function(){return getter});__webpack_require__.d(__webpack_exports__,"observeDOM",function(){return observeDOM});__webpack_require__.d(__webpack_exports__,"formSerialize",function(){return formSerialize});__webpack_require__.d(__webpack_exports__,"escapeRegex",function(){return escapeRegex});function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}
39163function _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.")}
39164function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}
39165function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}
39166function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}
39167function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}
39168function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}
39169var MutationObserver=window.MutationObserver||window.WebKitMutationObserver,eventListenerSupported=window.addEventListener;function strval(value){if(typeof value==='string'){return value}
39170if(typeof value==='number'){return String(value)}
39171return''}
39172var getter=function getter(data){var dataDefaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;var displayCallback=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;return function(path,defaultValue){if(!path){return data}
39173if(defaultValue===undefined){defaultValue=dataDefaultValue}
39174if(!data){if(displayCallback){return displayCallback(defaultValue)}
39175return defaultValue}
39176var pathOutArray=path.split('.'),pathOutLength=pathOutArray.length,getData=function getData(dataIn,pathArray){var defaultInValue=arguments.length>2&&arguments[2]!==undefined?arguments[2]:undefined;var pathLength=pathArray.length;var _iterator=_createForOfIteratorHelper(pathArray),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _key=_step.value;if(_key in dataIn){if(dataIn[_key]){if(pathLength===1){if(displayCallback){return displayCallback(dataIn[_key])}
39177return dataIn[_key]}else if(dataIn[_key]instanceof Object){var newPathArray=_toConsumableArray(pathArray);newPathArray.shift();return getData(dataIn[_key],newPathArray,defaultInValue)}}}}}catch(err){_iterator.e(err)}finally{_iterator.f()}
39178if(displayCallback){return displayCallback(defaultInValue)}
39179return defaultInValue};return getData(data,pathOutArray,defaultValue)}};function observeDOM(obj,callback){if(MutationObserver){var obs=new MutationObserver(function(mutations,observer){if(mutations[0].addedNodes.length||mutations[0].removedNodes.length){callback()}});obs.observe(obj,{childList:!0,subtree:!0})}
39179else if(eventListenerSupported){obj.addEventListener('DOMNodeInserted',callback,!1);obj.addEventListener('DOMNodeRemoved',callback,!1)}}
39180function formSerialize(element){var extend=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var data=element.serializeArray();for(var _key2 in extend){if(extend.hasOwnProperty(_key2)){data.push({name:_key2,value:extend[_key2]})}}
39181return data}
39182function escapeRegex(string){return string.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&')}}),
39182"./src/resources/forward.js":
39183/*!**********************************!*\
39184  !*** ./src/resources/forward.js ***!
39185  \**********************************/
39186/*! no static exports found */
39187(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('modules.frontForward');NewsletterPro.modules.frontForward={l:function l(name){var translations=NewsletterPro.dataStorage.get('translations');if(translations.hasOwnProperty(name)){return translations[name].replace(/\&quot;/g,'"')}
39188return name},init:function init(Box){if($('#dispalyForm').length>0){var writeEmails=function writeEmails(emails){if(emails.length>0)$('#fwd-right-side').show();else $('#fwd-right-side').hide();$('#friends-emails-list').empty();$.each(emails,function(i,email){var tpl=$('<tr data-email="'+email+'"> \
39189									<td class="item-email">'+email+'</td> \
39190									<td class="item-close text-right"><a href="javascript:{}" class="close-email">'+self.l('remove')+'</a></td> \
39191								</tr>');tpl.find('.close-email').on('click tap',function(){var email=tpl.data('email');$.ajax({url:ajaxLink,type:'POST',dataType:'json',data:{action:'deleteEmail',delete_email:email},success:function success(response){if(response.status){$('#fwd-left-side').show();var ajaxError=$('#ajax-errors');ajaxError.hide();writeEmails(response.emails);limit++;writeRemaining(limit)}else $('#ajax-errors').show().html(response.errors.join('<br>'))},error:function error(_error){alert(self.l('ajax request error'))}})});$('#friends-emails-list').append(tpl)})};var writeRemaining=function writeRemaining(value){$('#fwd-limit').html(fwdLimitText.replace('%s',value))};var self=this,limit=parseInt(NewsletterPro.dataStorage.get('fwdLimit')),ajaxLink=NewsletterPro.dataStorage.get('ajaxLink'),emailsJs=NewsletterPro.dataStorage.get('emailsJs'),fwdLimitText=$('#fwd-limit').html(),currentInput=$('#first-email');if(limit==0)$('#fwd-left-side').hide();else $('#fwd-left-side').show();writeRemaining(limit);writeEmails(emailsJs);$('#ajax-errors').on('click tap',function(){var ajaxError=$(this);if(ajaxError.find('a.subscription').length==0)ajaxError.hide()});$('#ajax-success').on('click tap',function(){$(this).hide()});$('#add-new-email').on('click tap',function(){$('#ajax-success').hide();var inputVal=$.trim(currentInput.val());$.ajax({url:ajaxLink,type:'POST',dataType:'json',data:{action:'submitForward',to_email:inputVal,token:NewsletterPro.dataStorage.get('token')},success:function success(response){if(response.status){$('#ajax-errors').hide();currentInput.val('');writeEmails(response.emails);if(limit>1){limit--;writeRemaining(limit)}else if(limit<=1){$('#fwd-left-side').hide();writeRemaining(0)}}else $('#ajax-errors').show().html(response.errors.join('<br>'))},error:function error(_error2){alert(self.l('ajax request error'))}})})}
39192return this},requestFriendSubscription:function requestFriendSubscription(element,token,fromEmail,friendEmail){var self=this;$.ajax({url:NewsletterPro.dataStorage.get('ajaxLink'),type:'POST',dataType:'json',data:{action:'requestFriendSubscription',token:token,from_email:fromEmail,friend_email:friendEmail},success:function success(response){if(response.status){$('#ajax-errors').hide();$('#first-email').val('');$('#ajax-success').html(response.message).show()}else $('#ajax-errors').show().html(response.errors.join('<br>'))},error:function error(_error3){alert(self.l('ajax request error'))}})}};module.exports=function(box){NewsletterPro.modules.frontForward.init(box)}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39192"./src/resources/front_init.js":
39193/*!*************************************!*\
39194  !*** ./src/resources/front_init.js ***!
39195  \*************************************/
39196/*! no static exports found */
39197(function(module,exports){function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39198if((typeof NewsletterPro_Data==="undefined"?"undefined":_typeof(NewsletterPro_Data))==='object'){NewsletterPro.dataStorage.addObject(NewsletterPro_Data)}
39199module.exports=function(box){NewsletterPro_Ready.dispatch(box)}}),
39199"./src/resources/front_window.js":
39200/*!***************************************!*\
39201  !*** ./src/resources/front_window.js ***!
39202  \***************************************/
39203/*! no static exports found */
39204(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('components.FrontWindow');NewsletterPro.components.FrontWindow=function FrontWindow(cfg){if(!(this instanceof FrontWindow))return new FrontWindow(cfg);var selfStatic=NewsletterPro.components.FrontWindow,self=this,selector=cfg.selector,className=cfg.className,defaultContent=getDefaultContent(selector),dom=buildTemplate(selector),closeDisabled=!1;selfStatic.addInstance(selector.selector,self);if(typeof cfg.content==='function')setContent(cfg.content(this));else if($.trim(defaultContent)!='')setContent(defaultContent);resize();$(window).resize(function(){resize()});$.each([dom.bg,dom.cross],function(i,item){item.click(function(event){event.preventDefault();event.stopPropagation();self.close()})});this.show=function show(content){if(typeof content!=='undefined')setContent(content);selector.fadeIn('fast');resize();if(typeof cfg.show==='function')cfg.show(self)};this.open=function open(content){self.show(content)};this.hide=function hide(){selector.fadeOut('fast')};this.close=function close(){if(typeof cfg.close==='function')cfg.close(self);if(!isCloseDisabled())this.hide()};this.setContent=function setContent(html){setContent(html)};this.disableClose=function disableClose(){closeDisabled=!0};this.enableClose=function enableClose(){closeDisabled=!1};if(selector.hasClass('in-preview')){this.disableClose();selector.css({position:'relative'});dom.body.css({'margin-bottom':dom.body.css('top')});this.show()}
39205function buildTemplate(selector){var crossClassName=NewsletterPro.dataStorage.get('configuration.CROSS_TYPE_CLASS');var bg=$('<div class="gk-front-window-bg"> </div>');var cross=$('<span class="'+crossClassName+' np-cross"></span>');var body=$('<div class="gk-front-window '+(typeof cfg.className!=='undefined'?cfg.className:'')+'"></div>');var content=$('<div class="gk-front-window-content gk-front-window-scrollbar"></div>');selector.addClass('gk-front-window-box');bg.css({width:'100%',height:'100%'});selector.append(bg);body.append(cross);body.append(content);selector.append(body);selector.hide();return{bg:bg,cross:cross,body:body,content:content,selector:selector}}
39206function resizeCondition(fullHeight,windowHeight,scrollHeight){return fullHeight>=windowHeight&&scrollHeight>=dom.content.height()}
39207function fixSize(){var windowHeight=$(window).height(),children=dom.content.children(),scrollHeight=children.height(),bodyTop=parseInt(dom.body.css('top')),bodyPadding=dom.body.outerHeight()-dom.body.height(),bodyHeight=scrollHeight+bodyPadding,fullHeight=bodyHeight+2*bodyTop,minTop=15;if(resizeCondition(fullHeight,windowHeight,scrollHeight)){setTop(minTop);dom.content.css({height:windowHeight-bodyPadding-2*minTop,'overflow-y':'scroll'});if(!resizeCondition(fullHeight,windowHeight,scrollHeight)){var center=(windowHeight-bodyHeight)/2;var top=center>cfg.top?top:center;setTop(top);dom.content.css({height:'auto','overflow-y':'hidden'})}}else{setTop(cfg.top);dom.content.css({height:'auto','overflow-y':'hidden'})}}
39208function getDefaultContent(selector){var content=selector.html();selector.empty();return content}
39209function setContent(html){dom.content.html(html)}
39210function convertValueToPixel(value,windowWidth){if(/\%/.test(value)){percentValue=parseInt(value);value=percentValue*windowWidth/100}else if(/px/.test(value))value=parseInt(value);return value}
39211function setWidth(value){if(typeof value!=='undefined'){var windowWidth=$(window).width();value=convertValueToPixel(value,windowWidth);var maxWidth=null,minWidth=null;if(typeof cfg.maxWidth!=='undefined'||cfg.maxWidth!=null)maxWidth=convertValueToPixel(cfg.maxWidth,windowWidth);if(typeof cfg.minWidth!=='undefined'||cfg.minWidth!=null)minWidth=convertValueToPixel(cfg.minWidth,windowWidth);if(maxWidth!=null&&value>=maxWidth)value=maxWidth;else if(minWidth!=null&&value<=minWidth)value=minWidth;dom.body.css({width:value/windowWidth*100+'%'});var marginLeft=(windowWidth-value)/2/windowWidth*100+'%';var marginRight=marginLeft;dom.body.css({'margin-left':marginLeft,'margin-right':marginRight})}}
39212function setHeight(value){if(typeof value!=='undefined'){dom.body.height(value)}}
39213function centerWindow(){dom.body.css({top:($(window).height()-dom.body.height())/2+'px'})}
39214function setTop(value){dom.body.css({top:value+'px'})}
39215function resize(){setWidth(cfg.width);setHeight(cfg.height);if(issetTop())setTop(cfg.top);else centerWindow();fixSize()}
39216function issetTop(){if(typeof cfg.top==='undefined')return!1;return!0}
39217function isCloseDisabled(){return closeDisabled}};NewsletterPro.components.FrontWindow.instances={};NewsletterPro.components.FrontWindow.addInstance=function(id,value){var instances=NewsletterPro.components.FrontWindow.instances;instances[id]=value};NewsletterPro.components.FrontWindow.getInstanceById=function(id){var instances=NewsletterPro.components.FrontWindow.instances;if(instances.hasOwnProperty(id))return instances[id];return!1};NewsletterPro.components.FrontWindow.getInstances=function(){return NewsletterPro.components.FrontWindow.instances}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39217"./src/resources/init.js":
39218/*!*******************************!*\
39219  !*** ./src/resources/init.js ***!
39220  \*******************************/
39221/*! no static exports found */
39222(function(module,exports,__webpack_require__){(function($){function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39223window.NewsletterPro=window.NewsletterPro||{};var NewsletterPro=window.NewsletterPro;$(function(){try{NewsletterPro.modifyTextarea()}catch(error){console.warn(error)}});NewsletterPro.define={SEND_METHOD_DEFAULT:0,SEND_METHOD_ANTIFLOOD:1,SEND_THROTTLER_TYPE_EMAILS:0,SEND_THROTTLER_TYPE_MB:1};NewsletterPro.prototype={name:'Newsletter Pro',version:'4.0.1'};NewsletterPro.namespace=function(ns_string){var parts=ns_string.split('.'),parent=NewsletterPro,i;if(parts[0]==='NewsletterPro'){parts=parts.slice(1)}
39224for(i=0;i<parts.length;i++){if(typeof parent[parts[i]]==='undefined'){parent[parts[i]]={}}
39225parent=parent[parts[i]]}
39226return parent};NewsletterPro.alertErrors=function(errors){var string;if(typeof errors==='string')string=errors.replace(/\&quot;/g,'"');else string=String(errors.join('\n')).replace(/\&quot;/g,'"');string=string.replace(/\&\#039;/g,'"');alert(string)};NewsletterPro.displayAlert=function(string,separator){separator=separator||'\n';if(_typeof(string)==='object')string=string.join(separator);string=string.replace(/\&quot;/g,'"');string=string.replace(/\&\#039;/g,'"');string=string.replace(/\&\gt;/g,'>');string=string.replace(/\&\lt;/g,'<');return string};NewsletterPro.showAjaxLoader=function(target){var loder=target.find('.btn-ajax-loader');if(loder.length>0)loder.show();else{loder=target.find('.ajax-loader');if(loder.length>0)loder.show()}};NewsletterPro.hideAjaxLoader=function(target){var loder=target.find('.btn-ajax-loader');if(loder.length>0)loder.hide();else{loder=target.find('.ajax-loader');if(loder.length>0)loder.hide()}};NewsletterPro.getUrl=function(params){return NewsletterPro.dataStorage.get('ajax_url')+this.parseUrl(params)};NewsletterPro.parseUrl=function(params,trimFirst){if(typeof trimFirst==='undefined')trimFirst=!1;var paramsString='';for(var key in params){var value=params[key];paramsString+='&'+key+'='+value}
39227return trimFirst==!0?paramsString.substr(1):paramsString};NewsletterPro.extendSubscribeFeature=function(obj){obj.subscriptionFeature=obj.subscriptionFeature||{};obj.subscribe=function(eventName,func,instance){if(!obj.subscriptionFeature.hasOwnProperty(eventName))obj.subscriptionFeature[eventName]=[];obj.subscriptionFeature[eventName].push({func:func,instance:instance})};obj.publish=function(eventName,data){if(obj.subscriptionFeature.hasOwnProperty(eventName)){for(var i=0;i<obj.subscriptionFeature[eventName].length;i++){var result=typeof data==='function'?data():data;var func=obj.subscriptionFeature[eventName][i].func;var instance=obj.subscriptionFeature[eventName][i].instance||obj;func.call(instance,result)}}}};NewsletterPro.dataStorage={data:{},init:function init(){NewsletterPro.extendSubscribeFeature(this);return this},get:function get(name){if(typeof name==='undefined')return this.data;var split=name.split('.');if(split.length>1){var target='NewsletterPro.dataStorage.data'+'.'+split.join('.');try{if(eval('typeof '+target)!=='undefined')return eval(target)}catch(e){return!1}}else if(this.data.hasOwnProperty(name))return this.data[name];return!1},getNumber:function getNumber(name){var value=Number(this.get(name));if(isNaN(value))return 0;return value},has:function has(name){if(typeof name==='undefined')return this.data;var split=name.split('.');if(split.length>1){var target='NewsletterPro.dataStorage.data'+'.'+split.join('.');try{if(eval('typeof '+target)!=='undefined')return!0}catch(e){return!1}}else if(this.data.hasOwnProperty(name))return!0;return!1},add:function add(name,value){var splitName=name.split('.'),parent=this.data,i;for(i=0;i<splitName.length;i++){if(i==splitName.length-1)parent[splitName[i]]=value;else{if(_typeof(parent[splitName[i]])!=='object')parent[splitName[i]]={}}
39228if(_typeof(parent)==='object')parent=parent[splitName[i]]}},set:function set(name,value){this.add(name,value);this.publish('change'+name,value)},addObject:function addObject(obj){for(var i in obj){this.data[i]=obj[i]}},append:function append(name,value){if(this.data.hasOwnProperty(name))this.data[name].push(value);else{this.data[name]=[];this.data[name].push(value)}},on:function on(evt,name,func){switch(evt){case 'change':this.subscribe('
39228change'+name,func);break}}}.init();NewsletterPro.test={dom:function(_dom){function dom(){return _dom.apply(this,arguments)}
39229dom.toString=function(){return _dom.toString()};return dom}(function(){var modules=NewsletterPro.modules;for(var i in modules){var moduleName=i,module=modules[i];dom=module.dom;for(var j in dom){var name=j,value=dom[j];if(value.length==0)throw Error('Error: The element "'+name+'" does not exist in the module "'+moduleName+'"')}}})};NewsletterPro.onObject={callback:{},setCallback:function setCallback(name,func){this.callback[name]=func},run:function run(name,ed){if(this.callback.hasOwnProperty(name)){this.callback[name](ed)}}};NewsletterPro.uniqueId=function(length){length=length||3;var output='';function s4(){return((1+Math.random())*0x10000|0).toString(16).substring(1)}
39230for(var i=0;i<length;i++){output+=s4()+'-'}
39231return output.replace(/-$/,'')};NewsletterPro.ucfirst=function(string){return string.charAt(0).toUpperCase()+string.slice(1)};NewsletterPro.modifyTextarea=function(){HTMLTextAreaElement.prototype.getCaretPosition=function(){return this.selectionStart};HTMLTextAreaElement.prototype.setCaretPosition=function(position){this.selectionStart=position;this.selectionEnd=position;this.focus()};HTMLTextAreaElement.prototype.hasSelection=function(){if(this.selectionStart==this.selectionEnd){return!1}else{return!0}};HTMLTextAreaElement.prototype.getSelectedText=function(){return this.value.substring(this.selectionStart,this.selectionEnd)};HTMLTextAreaElement.prototype.setSelection=function(start,end){this.selectionStart=start;this.selectionEnd=end;this.focus()}};NewsletterPro.setBoxSizeing=function(array){for(var i in array){array[i].css({'box-sizing':'content-box'})}};NewsletterPro.versionCompare=function(v1,v2,options){var lexicographical=options&&options.lexicographical,zeroExtend=options&&options.zeroExtend,v1parts=v1.split('.'),v2parts=v2.split('.');function isValidPart(x){return(lexicographical?/^\d+[A-Za-z]*$/:/^\d+$/).test(x)}
39232if(!v1parts.every(isValidPart)||!v2parts.every(isValidPart))return NaN;if(zeroExtend){while(v1parts.length<v2parts.length){v1parts.push('0')}
39233while(v2parts.length<v1parts.length){v2parts.push('0')}}
39234if(!lexicographical){v1parts=v1parts.map(Number);v2parts=v2parts.map(Number)}
39235for(var i=0;i<v1parts.length;++i){if(v2parts.length==i)return 1;if(v1parts[i]==v2parts[i])continue;else if(v1parts[i]>v2parts[i])return 1;else return-1}
39236if(v1parts.length!=v2parts.length)return-1;return 0};NewsletterPro.subscription=function(object,subscription){for(var i=0;i<object.subscription.length;i++){var value=object.subscription[i];value[0].subscribe(value[1],object[value[2]],object)}};NewsletterPro.htmlEncode=function(value){return $('<div/>').text(value).html()};NewsletterPro.htmlDecode=function(value){return $('<div/>').html(value).text()};NewsletterPro.getXHRError=function(jqXHR,size){size=size||1000;var text=jqXHR.responseText,msg=this.htmlEncode(text.slice(0,1000));if(text.length>1000)msg+='...';return msg};NewsletterPro.bootstrap=function(func){var bool=Number(this.dataStorage.get('bootstrap'));return func(bool)};NewsletterPro.isTinyHigherVersion=function(){if(tinyMCE.majorVersion>=4)return!0;return!1};NewsletterPro.linkAdd=function(link,params,hash){params=params||'';hash=hash||'';if(link){var hashIndex=link.indexOf('#');if(/\?/.test(link)&&params.length>0){if(hashIndex!=-1)link=link.substr(0,hashIndex)+'&'+params+link.substr(hashIndex);else link=link+'&'+params}else if(params.length>0){if(hashIndex!=-1)link=link.substr(0,hashIndex)+'?'+params+link.substr(hashIndex);else link=link+'?'+params}
39237if(hashIndex!=-1&&hash.length>0)link=link+hash;else if(hash.length>0)link=link+'#'+hash}
39238return link};NewsletterPro.trimString=function(str,value,end){end=end||'...';value=parseInt(value);if(!0){if(str.length>value+end.length)str=str.slice(0,value)+end}else{}
39239return str};NewsletterPro.objSize=function(obj){var size=0;for(var i in obj){size++}
39240return size};NewsletterPro.parseProductHeader=function(content,matchContent){matchContent=typeof matchContent!=='undefined'?matchContent:!0;var parseProductHeader=function parseProductHeader(headerString){var match=headerString.split('\n');var headerLine='';if(match!=null&&match.length>0){for(var i=0;i<match.length;i++){var item=match[i].replace(/\s+/g,'');if(item!=''){headerLine+=item;if(item[item.length-1]!==';'){headerLine+=';'}}}}
39241var header=headerLine.split(';');var headerObject={};if(header!=null&&header.length>0){for(var i=0;i<header.length;i++){var line=header[i].replace(/\s+/g,'');if(line!=''){var prop=line.split('=');if(typeof prop[1]!=='undefined'){headerObject[prop[0]]=prop[1]==='false'?!1:prop[1]==='true'?!0:!isNaN(Number(prop[1]))?Number(prop[1]):prop[1]}}}}
39242return headerObject};var getHeader=function getHeader(content){var match=content.match(/<!-- start header -->\s*?<!--([\s\S]*)-->\s*?<!-- end header -->/);if(!matchContent){match=[];match[0]='';match[1]=content}
39243var matchFullHeader,matchHeader,headerObject={};if(match!=null&&match.length>0){matchFullHeader=match[0];matchHeader=match[1];headerObject=parseProductHeader(matchHeader);content=content.replace(matchFullHeader,'')}
39244return headerObject};return getHeader(content)};NewsletterPro.parseObject=function(obj,callback){var objKeys=Object.keys(obj);if(objKeys.length>0){for(var i=0;i<objKeys.length;i++){callback(obj[objKeys[i]],objKeys[i])}}};NewsletterPro.mapObject=function(obj,callback){var objKeys=Object.keys(obj),data=[];if(objKeys.length>0){for(var i=0;i<objKeys.length;i++){data.push(callback(obj[objKeys[i]],objKeys[i]))}}
39245return data}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39245"./src/resources/my_account.js":
39246/*!*************************************!*\
39247  !*** ./src/resources/my_account.js ***!
39248  \*************************************/
39249/*! no static exports found */
39250(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('modules.myAccount');NewsletterPro.modules.myAccount={box:null,dom:null,init:function init(box){var self=this;self.box=box;self.selectedCategories=[];function getCategories(content){var categories=content.find('input[type="checkbox"]');if(categories.length>0)return categories;return[]}
39251function getSelected(categoryTree){var values=[];if(typeof categoryTree!=='array'){values=$.map(categoryTree,function(item){var item=$(item);var val=item.val();if(val!=='undefined'&&item.is(':checked')){return parseInt(val)}})}
39252return values}
39253self.ready(function(dom){if(box.dataStorage.get('isPS17')){var subscribedCategories=$('input[name=subscribed_categories]');if(subscribedCategories.length>0&&subscribedCategories.val().length>0){self.selectedCategories=subscribedCategories.val().split(',')}
39254var categoryTree=new self.CategoryTree(self);$('#np-category-tree').html(categoryTree.render())}else{var categoryTree;dom.submit.click(function(){categoryTree=categoryTree||getCategories(dom.categoryTree);var selected=getSelected(categoryTree)})}});return this},CategoryTree:function CategoryTree(module){var self=this,box=NewsletterPro,Node=module.CategoryNode,template,dom,getRoot=function getRoot(successCallback){if(box.dataStorage.has('home_category'))successCallback(box.dataStorage.get('home_category'));else $.postAjax({submit:'getHomeCategory'},null,!1).done(successCallback)},render=function render(){return template};template=$('<ul></ul>');dom={};getRoot(function(data){var node=new Node(module,data,null);template.html(node.render())});this.render=render},CategoryNode:function CategoryNode(module,data,parent){this.data=data;this.id=Number(data.id_category);if((index=module.selectedCategories.indexOf(String(this.id)))>-1){module.selectedCategories.splice(index,1);var subscribedCategories=$('input[name=subscribed_categories]');if(subscribedCategories.length>0){subscribedCategories.val(module.selectedCategories.join(','))}}
39255this.id_parent=Number(data.id_parent);this.name=data.name;this.childrens_count=Number(data.childrens_count);this.checked=Number(data.checked);this.expanded=!1;this.childrens=[];this.parent=parent;var self=this,template,Node=module.CategoryNode,dom,icons={expand:'<i class="material-icons">&#xE548;</i>',collapse:'<i class="material-icons">&#xE909;</i>'},render=function render(){return template},addChild=function addChild(childNode){this.childrens.push(childNode);childNode.parent=self},expand=function expand(){self.expanded=!0;dom.toggle.html(icons.collapse);dom.childrens.show();if(self.childrens_count>0&&self.childrens.length==0){$.postAjax({submit:'getCategoryChildrens',id_category:self.id}).done(function(data){for(var i=0;i<data.length;i++){var node=new Node(module,data[i],this);self.addChild(node);dom.childrens.append(node.render())}})}},collapse=function collapse(){self.expanded=!1;dom.toggle.html(icons.expand);dom.childrens.hide()};template=$('\
39256			<li>\
39257				<div>\
39258					<a href="javascript:{}" class="np-category-toggle '+(this.childrens_count>0?'':'np-visibility-hidden')+'">\
39259						'+(this.expanded?icons.collapse:icons.expand)+'\
39260					</a>\
39261					<span class="custom-checkbox">\
39262						<label>\
39263							<input name="categoryBox[]" type="checkbox" value="'+this.id+'" '+(this.checked?'checked':'')+'>\
39264							<span>\
39265								<i class="material-icons checkbox-checked">&#xE5CA;</i>\
39266							</span>\
39267							<span>'+this.name+'</span>\
39268						</label>\
39269					</span>\
39270				</div>\
39271				<ul class="np-category-childrens" '+(this.expanded?'':'style="display: none"')+'></ul>\
39272			</li>\
39273		');dom={toggle:template.find('.np-category-toggle'),childrens:template.find('.np-category-childrens')};dom.toggle.on('click',function(e){if(self.expanded){collapse()}else{expand()}});this.render=render;this.addChild=addChild},ready:function ready(func){var self=this;$(document).ready(function(){self.dom={categoryTree:$('#category-tree'),submit:$('input[name="submitNewsletterProSettings"]')};func(self.dom)})}};module.exports=function(box){NewsletterPro.modules.myAccount.init(box)}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39273"./src/resources/newsletter.js":
39274/*!*************************************!*\
39275  !*** ./src/resources/newsletter.js ***!
39276  \*************************************/
39277/*! no static exports found */
39278(function(module,exports,__webpack_require__){(function($){function postAjax(data,dataType,catchError){dataType=dataType||'json';catchError=typeof catchError!=='undefined'?catchError:!0;return $.ajax({url:NewsletterPro.dataStorage.get('ajax_url'),type:'POST',dataType:dataType,data:data,error:function error(data){if(dataType=='json'){if(catchError==!0){var login=data.getResponseHeader('Login')==='true'?!0:!1;if(login){alert('The login session has expired. You must refresh the browser and login again. The next time when you are login check the button "Stay logged in".')}else{alert('Ajax request error, please check your console for more details!')}}
39279console.warn('error: the returned data must be json, your response text is: ');console.warn(data.responseText)}}}).promise()}
39280function updateConfiguration(name,value){return postAjax({submit:'jsUpdateConfiguration',name:name,value:value}).promise()}
39281function objSize(obj){return Object.keys(obj).length}
39282function getFormData(){form=this;var formObj=form.serializeArray(),formdata={},j=0,len=formObj.length,item;for(;j<len;j++){item=formObj[j];formdata[item.name]=item.value}
39283if(formdata)return formdata;return{}}
39284function setCookie(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate()+exdays);var c_value=escape(value)+(exdays==null?'':'; expires='+exdate.toUTCString());document.cookie=c_name+'='+c_value}
39285function getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(';');for(i=0;i<ARRcookies.length;i++){x=ARRcookies[i].substr(0,ARRcookies[i].indexOf('='));y=ARRcookies[i].substr(ARRcookies[i].indexOf('=')+1);x=x.replace(/^\s+|\s+$/g,'');if(x==c_name){return unescape(y)}}}
39286function deleteCookie(name){document.cookie=name+'=; expires=Thu, 01-Jan-70 00:00:01 GMT;'}
39287function submitAjax(obj,dataType,catchError){catchError=typeof catchError!=='undefined'?catchError:!0;dataType=dataType||'json';var self=this;this.form=obj.form;var formObj=this.form.serializeArray();var formdata=!1;if(window.FormData)formdata=new FormData();var files=this.form.find('input[type="file"]');var k=0,length=files.length,input;for(;k<length;k++){input=$(files[k]);var i=0,len=input[0].files.length,file;for(;i<len;i++){file=input[0].files[i];if(formdata){formdata.append(input.attr('name')+'',file)}}}
39288var j=0,len=formObj.length,item;for(;j<len;j++){item=formObj[j];if(formdata){formdata.append(item.name,item.value)}}
39289var submitModule=null;for(var key in obj){if(/^submit_\w+/.test(key)){submitModule=key;break}}
39290if(formdata){if(obj.hasOwnProperty('name')){var appendValue=!0;if(obj.hasOwnProperty('value'))appendValue=obj.value;formdata.append(obj.name,appendValue)}
39291if(obj.hasOwnProperty('submit'))formdata.append('submit',obj.submit);else if(submitModule)formdata.append(submitModule,obj[submitModule]);if(obj.hasOwnProperty('data')){$.each(obj.data,function(name,value){formdata.append(name,value)})}}
39292var errorCallback=function errorCallback(data){if(dataType=='json'){if(catchError==!0)alert('You have an request error, check the console for more details.');console.log('error: the returned data must be json, your response text is: ');console.log(data.responseText)}};if(formdata){return $.ajax({url:NewsletterPro.dataStorage.get('ajax_url'),type:'POST',data:formdata,processData:!1,contentType:!1,dataType:dataType,error:errorCallback}).promise()}else{var data=this.form.getFormData();if(obj.hasOwnProperty('submit'))data.submit=obj.submit;else if(submitModule)formdata.append(submitModule,obj[submitModule]);return $.ajax({url:NewsletterPro.dataStorage.get('ajax_url'),type:'POST',data:data,dataType:dataType,error:errorCallback}).promise()}}
39293function getPaddingWidth(){var left=parseFloat(this.css('padding-left')),right=parseFloat(this.css('padding-right'));return left+right}
39294function widthCSS(value){var that=$(this);if(typeof value!=='undefined'){var val=0;if(/%/.test(new RegExp(String(value)))){val=value}else if(/px/.test(new RegExp(String(value)))){val=value}else{val=parseInt(value)+'px'}
39295that.css('width',val);return that}else{return parseInt(that.css('width'))}}
39296function quickOuterWidth(){var elem=this.get(0);if(window.getComputedStyle){var computedStyle=window.getComputedStyle(elem,null);return elem.offsetWidth+(parseInt(computedStyle.getPropertyValue('margin-left'),10)||0)+(parseInt(computedStyle.getPropertyValue('margin-right'),10)||0)}else{return elem.offsetWidth+(parseInt(elem.currentStyle.marginLeft)||0)+(parseInt(elem.currentStyle.marginRight)||0)}}
39297module.exports=function(arr){for(var i=0;i<arr.length;i++){var obj=arr[i];obj.extend({postAjax:postAjax,updateConfiguration:updateConfiguration,objSize:objSize,setCookie:setCookie,getCookie:getCookie,deleteCookie:deleteCookie,submitAjax:submitAjax});obj.fn.extend({getPaddingWidth:getPaddingWidth,widthCSS:widthCSS,quickOuterWidth:quickOuterWidth,getFormData:getFormData})}}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39297"./src/resources/newsletter_subscribe.js":
39298/*!***********************************************!*\
39299  !*** ./src/resources/newsletter_subscribe.js ***!
39300  \***********************************************/
39301/*! no static exports found */
39302(function(module,exports,__webpack_require__){(function($){NewsletterPro.namespace('modules.newsletterSubscribe');NewsletterPro.modules.newsletterSubscribe={box:null,dom:null,popup:null,l:function l(name){var translations=NewsletterPro.dataStorage.get('translations_subscribe');if(translations.hasOwnProperty(name)){return translations[name].replace(/\&quot;/g,'"')}
39303return name},init:function init(box){var self=this,uniformInit=!1,popup,viewport=new box.components.Viewport(),smClasses=['np-footer-section-sm'],xsClasses=['np-footer-section-xs'];self.box=box;self.ready(function(dom){if(NewsletterProApp.storage.get('subscription_tpl_loader_better')){return}
39304var updateClasses=function updateClasses(){if(viewport.is('xs')){for(var i=0;i<smClasses.length;i++){dom.npsb.removeClass(smClasses[i]);dom.npsbId.removeClass(smClasses[i])}
39305for(var i=0;i<xsClasses.length;i++){dom.npsb.addClass(xsClasses[i]);dom.npsbId.addClass(xsClasses[i])}}else{for(var i=0;i<xsClasses.length;i++){dom.npsb.removeClass(xsClasses[i]);dom.npsbId.removeClass(xsClasses[i])}
39306for(var i=0;i<smClasses.length;i++){dom.npsb.addClass(smClasses[i]);dom.npsbId.addClass(smClasses[i])}}};updateClasses();$(window).resize(function(){updateClasses()});var define={emailText:$('.pqnp-email-address').val()};var target;var info=box.dataStorage.get('subscription_template_front_info');popup=self.popup=new box.components.FrontWindow({className:'np-popup-subscription-window',width:info.body_width,minWidth:info.body_min_width>0?info.body_min_width:null,maxWidth:info.body_max_width>0?info.body_max_width:null,top:info.body_top,selector:$('.nps-popup'),show:function show(pup){$('.nps-popup .np-cross').removeClass('cross-message');if(!uniformInit){uniformInit=!0;if($.hasOwnProperty('uniform')){$('.np-select-option, .np-input-radio, .np-input-checkbox').uniform()}}else{if($.hasOwnProperty('uniform'))$.uniform.update('.np-select-option, .np-input-radio, .np-input-checkbox')}},close:function close(pup){var closeForever=box.dataStorage.getNumber('subscription_template_front_info.close_forever');if(closeForever)box.modules.newsletterSubscribe.closeForever()}});if(/(\&|\?)newsletterproSubscribe/i.test(window.location.href))popup.show();setTimeout(function(){if(info.display_popup)popup.show()},info.start_timer*1000);$(window).resize(function(){if($.hasOwnProperty('uniform'))$.uniform.update('.np-select-option, .np-input-radio, .np-input-checkbox')});var showPopUpCallback=function showPopUpCallback(event){event.preventDefault();var ajaxError=$('.ajax-errors-subscribe'),ajaxSuccess=$('.ajax-success-subscribe'),email=$('.pqnp-email-address').val();if(typeof target!=='undefined')email=target.val();ajaxError.hide();ajaxSuccess.hide();$('.nps-popup-content').show();$('.nps-popup-response').hide();if(email!==define.emailText)$('.np-popup-email').val(email);popup.show();$('.pqnp-email-address').val(define.emailText)};$('.pqnp-email-address').on('keydown',function(event){if(event.keyCode==13){event.stopPropagation();showPopUpCallback(event)}});dom.openSubscribe.on('click tap',showPopUpCallback);$('.pqnp-email-address').focusin(function(event){target=$(event.currentTarget);if(target.val()===define.emailText)target.val('')});$('.pqnp-email-address').blur(function(event){target=$(event.currentTarget);if($.trim(target.val())==='')target.val(define.emailText)});$('.submit-newsletterpro-subscribe').on('click tap',function(){var ajaxError=$('.ajax-errors-subscribe'),ajaxSuccess=$('.ajax-success-subscribe');ajaxError.hide();ajaxSuccess.hide();var terms=$('.np-terms-and-conditions-checkbox');if(terms.length){if(!terms.is(':checked')){ajaxError.show().html(self.l('You must agree to the terms of service before subscribing.'));return}}
39307var submitNewsletterProSubscribeCallbackDone=function submitNewsletterProSubscribeCallbackDone(response){if(response.status){if(response.displaySubscribeMessage==!0){$('.nps-popup-content').hide();$('.nps-popup-response').empty().show().html(response.msg);$('.nps-popup .np-cross').addClass('cross-message')}else{ajaxSuccess.show().html(response.msg);self.clearForm();setTimeout(function(){self.closeForever()},5000)}}else{var errors=box.displayAlert(response.errors.join('<br>'));ajaxError.show().html(errors)}
39308self.resizeBackofficeView()};var submitNewsletterProSubscribeCallbackFail=function submitNewsletterProSubscribeCallbackFail(){ajaxError.show().html(self.l('ajax request error'));self.resizeBackofficeView()};console.log('form',$('.np-subscribe-form'));$.submitAjax({submit:'submitNewsletterProSubscribe',form:$('.np-subscribe-form')},'json',!1).done(submitNewsletterProSubscribeCallbackDone).fail(submitNewsletterProSubscribeCallbackFail)});$('.newsletterpro-subscribe-close-forever').on('click tap',function(){self.closeForever()});$('.ajax-errors-subscribe').on('click tap',function(){$(this).hide()});$('.ajax-success-subscribe').on('click tap',function(){$(this).hide()})});return this},closeForever:function closeForever(){var self=this,box=self.box;var ajaxError=$('.ajax-errors-subscribe'),ajaxSuccess=$('.ajax-success-subscribe');ajaxError.hide();ajaxSuccess.hide();$.postAjax({submit:'submitNewsletterProSubscribeCloseForever'}).done(function(response){if(response.status)self.popup.hide();else{var errors=box.displayAlert(response.errors.join('<br>'));ajaxError.show().html(errors);setTimeout(function(){popup.close()},5000)}})},clearForm:function clearForm(){var self=this;$('.nps-popup-content').find('[name=firstname]').val('');$('.nps-popup-content').find('[name=lastname]').val('');$('.nps-popup-content').find('.np-popup-email').val('');$('.nps-popup-content').find('.np-days').prop('selectedIndex',0);$('.nps-popup-content').find('.np-months').prop('selectedIndex',0);$('.nps-popup-content').find('.np-years').prop('selectedIndex',0);$('.nps-popup-content').find('.np-list-of-interest').prop('selectedIndex',0);if($.hasOwnProperty('uniform'))$.uniform.update('.np-select-option, .np-input-radio, .np-input-checkbox')},resizeBackofficeView:function resizeBackofficeView(){if(typeof parent.NewsletterPro.modules.frontSubscription!=='undefined'){var frontSubscription=parent.NewsletterPro.modules.frontSubscription;frontSubscription.resizeView()}},ready:function ready(func){var self=this;$(document).ready(function(){self.dom={openSubscribe:$('.pqnp-subscribe-button'),npsb:$('.pqnp-subscribe-block'),npsbId:$('.pqnp-subscribe-container')};func(self.dom)})}};module.exports=function(box){NewsletterPro.modules.newsletterSubscribe.init(box)}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39308"./src/resources/viewport.js":
39309/*!***********************************!*\
39310  !*** ./src/resources/viewport.js ***!
39311  \***********************************/
39312/*! no static exports found */
39313(function(module,exports){NewsletterPro.namespace('components.Viewport');NewsletterPro.components.Viewport=function Viewport(cfg){if(!(this instanceof Viewport))return new FrontWindow(cfg);var self=this;this.width=window.innerWidth;this.operators=['<','<=','==','!=','>','>='];this.defaultOperator='==';this.sizes=['xs','sm','md','lg']};NewsletterPro.components.Viewport.prototype.is=function(size,operator){operator=operator||this.defaultOperator;var screenSize,screenSizeIndex,sizeIndex=this.sizes.indexOf(size),result=!1;if(this.sizes.indexOf(size)==-1)throw new Error('The operator '+operator+' does not exists.');if(this.operators.indexOf(operator)==-1)throw new Error('The operator '+operator+' does not exists.');this.width=window.innerWidth;if(this.width<768)screenSize='xs';else if(this.width>=768&&this.width<992)screenSize='sm';else if(this.width>=992&&this.width<1200)screenSize='md';else screenSize='lg';screenSizeIndex=this.sizes.indexOf(screenSize);switch(operator){case '<':result=screenSizeIndex<sizeIndex;break;case '<=':result=screenSizeIndex<=sizeIndex;break;case '==':result=screenSizeIndex==sizeIndex;break;case '!=':result=screenSizeIndex!=sizeIndex;break;case '>':result=screenSizeIndex>sizeIndex;break;case '>=':result=screenSizeIndex>=sizeIndex;break}
39314return result}}),
39314"./src/scss/app_front.scss":
39315/*!*********************************!*\
39316  !*** ./src/scss/app_front.scss ***!
39317  \*********************************/
39318/*! no static exports found */
39319(function(module,exports){}),
39319"./src/scss/app_style/newsletterpro_cross.scss":
39320/*!*****************************************************!*\
39321  !*** ./src/scss/app_style/newsletterpro_cross.scss ***!
39322  \*****************************************************/
39323/*! no static exports found */
39324(function(module,exports){}),
39324"./src/scss/pqnp-font.scss":
39325/*!*********************************!*\
39326  !*** ./src/scss/pqnp-font.scss ***!
39327  \*********************************/
39328/*! no static exports found */
39329(function(module,exports){}),
39329"./src/scss/win-front.scss":
39330/*!*********************************!*\
39331  !*** ./src/scss/win-front.scss ***!
39332  \*********************************/
39333/*! no static exports found */
39334(function(module,exports){}),
39334"./src/utils/ajax.tsx":
39335/*!****************************!*\
39336  !*** ./src/utils/ajax.tsx ***!
39337  \****************************/
39338/*! exports provided: config, ajax */
39339(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"config",function(){return config});__webpack_require__.d(__webpack_exports__,"ajax",function(){return ajax});var _classes_ajax__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/ajax */"./src/classes/ajax.tsx");var ajax=new _classes_ajax__WEBPACK_IMPORTED_MODULE_0__.Ajax('pqnpAction');function config(actionKey){return new _classes_ajax__WEBPACK_IMPORTED_MODULE_0__.Ajax(actionKey)}}),
39339"./src/utils/storage.tsx":
39340/*!*******************************!*\
39341  !*** ./src/utils/storage.tsx ***!
39342  \*******************************/
39343/*! exports provided: storage */
39344(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"storage",function(){return storage});var _classes_storage__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/storage */"./src/classes/storage.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39345var storage=new _classes_storage__WEBPACK_IMPORTED_MODULE_0__.Storage();if(_typeof(window.NewsletterProAppStorage)==='object'){storage.setObject(window.NewsletterProAppStorage)}
39346$(document).ready(function(){if(storage.length()===0){storage.setObject(window.NewsletterProAppStorage)}})}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39346"./src/utils/translate.tsx":
39347/*!*********************************!*\
39348  !*** ./src/utils/translate.tsx ***!
39349  \*********************************/
39350/*! exports provided: translate */
39351(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"translate",function(){return translate});var _classes_translate__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/translate */"./src/classes/translate.tsx");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}
39352var translate=new _classes_translate__WEBPACK_IMPORTED_MODULE_0__.Translate();if(_typeof(window.NewsletterProAppTranslate)==='object'){translate.setObject(window.NewsletterProAppTranslate,!0)}
39353$(document).ready(function(){if(translate.length()===0){translate.setObject(window.NewsletterProAppTranslate,!0)}})}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))}),
39353"./src/utils/url.tsx":
39354/*!***************************!*\
39355  !*** ./src/utils/url.tsx ***!
39356  \***************************/
39357/*! exports provided: url */
39358(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"url",function(){return url});var _classes_url__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! ../classes/url */"./src/classes/url.tsx");var url=new _classes_url__WEBPACK_IMPORTED_MODULE_0__.Url()}),
39358"./src/utils/win.tsx":
39359/*!***************************!*\
39360  !*** ./src/utils/win.tsx ***!
39361  \***************************/
39362/*! exports provided: ready, init, win */
39363(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function($){__webpack_require__.d(__webpack_exports__,"ready",function(){return ready});__webpack_require__.d(__webpack_exports__,"init",function(){return init});__webpack_require__.d(__webpack_exports__,"win",function(){return win});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(/*! react */"./node_modules/react/index.js");var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(/*! react-dom */"./node_modules/react-dom/index.js");var react_dom__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);var _containers_win_front__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(/*! ../containers/win-front */"./src/containers/win-front.tsx");var _classes_promise__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(/*! ../classes/promise */"./src/classes/promise.tsx");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:!0};return{done:!1,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=!0,didErr=!1,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=!0;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}
39364function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}
39365function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}
39366var win=null;var callbacks=[];function ready(callback){if(win!==null){return callback(win)}
39367callbacks.push(callback)}
39368function init(initCallback){return new _classes_promise__WEBPACK_IMPORTED_MODULE_3__["default"](function(resolve,reject){$(document).ready(function(){$(document.body).append('<div id="pqnp-win"></div>');win=react_dom__WEBPACK_IMPORTED_MODULE_1__.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement(_containers_win_front__WEBPACK_IMPORTED_MODULE_2__.WinFront,null),document.getElementById('pqnp-win'));resolve(win);initCallback(win);if(callbacks.length>0){var _iterator=_createForOfIteratorHelper(callbacks),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var callback=_step.value;callback(win)}}catch(err){_iterator.e(err)}finally{_iterator.f()}}})})}}.call(this,__webpack_require__(/*! jquery */"./node_modules/jquery/dist/jquery.js")))})
vendor: 5,091 bytes, lines 39368-39372
39368});/*! jQuery UI - v1.10.3 - 2013-05-03
39369* http://jqueryui.com
39370* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
39371* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
39372!function(a,b){function e(b,c){var d,e,g,h=b.nodeName.toLowerCase();return"area"===h?(d=b.parentNode,e=d.name,!(!b.href||!e||"map"!==d.nodeName.toLowerCase())&&(g=a("img[usemap=#"+e+"]")[0],!!g&&f(g))):(/input|select|textarea|button|object/.test(h)?!b.disabled:"a"===h?b.href||c:c)&&f(b)}function f(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}var c=0,d=/^ui-id-\d+$/;a.ui=a.ui||{},a.extend(a.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),scrollParent:function(){var b;return b=a.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.css(this,"position"))&&/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length)for(var e,f,d=a(this[0]);d.length&&d[0]!==document;){if(e=d.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(f=parseInt(d.css("zIndex"),10),!isNaN(f)&&0!==f))return f;d=d.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++c)})},removeUniqueId:function(){return this.each(function(){d.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return e(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var c=a.attr(b,"tabindex"),d=isNaN(c);return(d||c>=0)&&e(b,!d)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===d?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in document.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c){var d,e=a.plugins[b];if(e&&a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType)for(d=0;d<e.length;d++)a.options[e[d][0]]&&e[d][1].apply(a.element,c)}},hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>
vendor: 9,267 bytes, line 39372
393720||(b[d]=1,e=b[d]>0,b[d]=0,e)}})}(jQuery),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var d,c=0;null!=(d=b[c]);c++)try{a(d).triggerHandler("remove")}catch(a){}e(b)},a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var f,b=this._super,c=this._superApply;return this._super=a,this._superApply=e,f=d.apply(this,arguments),this._super=b,this._superApply=c,f}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g)},a.widget.extend=function(c){for(var h,i,e=d.call(arguments,1),f=0,g=e.length;f<g;f++)for(h in e[f])i=e[f][h],e[f].hasOwnProperty(h)&&i!==b&&(a.isPlainObject(i)?c[h]=a.isPlainObject(c[h])?a.widget.extend({},c[h],i):a.widget.extend({},i):c[h]=i);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,h?this.each(function(){var d,e=a.data(this,f);return e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):void 0):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}):this.each(function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var f,g,h,e=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(e={},f=c.split("."),c=f.shift(),f.length){for(g=e[c]=a.widget.extend({},this.options[c]),h=0;h<f.length-1;h++)g[f[h]]=g[f[h]]||{},g=g[f[h]];if(c=f.pop(),d===b)return g[c]===b?null:g[c];g[c]=d}else{if(d===b)return this.options[c]===b?null:this.options[c];e[c]=d}return this._setOptions(e),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!b).attr("aria-disabled",b),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){if(b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled"))return("string"==typeof g?f[g]:g).apply(f,arguments)}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^(\w+)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(jQuery),function(a,b){var c=!1;a(document).mouseup(function(){c=!1}),a.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=1===b.which,f=!("string"!=typeof this.options.cancel||!b.target.nodeName)&&a(b.target).closest(this.options.cancel).length;return!(e&&!f&&this._mouseCapture(b))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(b)!==!1,!this._mouseStarted)?(b.preventDefault(),!0):(!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0))}},_mouseMove:function(b){return a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button?this._mouseUp(b):this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(a,b){a.widget("ui.draggable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,
vendor: 20,944 bytes, line 39372
39372containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;return!(this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(b),!!this.handle&&(a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0))},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),!("original"===this.options.helper&&!a.contains(this.element[0].ownerDocument,this.element[0]))&&("invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1)},_mouseUp:function(b){return a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return!this.options.handle||!!a(b.target).closest(this.element.find(this.options.handle)).length},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d[0]===this.element[0]||/(fixed|absolute)/.test(d.css("position"))||d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;return e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(document).width()-this.helperProportions.width-this.margins.left,(a(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b="hidden"!==c.css("overflow"),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c))):void(this.containment=null)},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:e.scrollTop(),left:e.scrollLeft()}),{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*d}},_generatePosition:function(b){var c,d,e,f,g=this.options,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=b.pageX,j=b.pageY;return this.offset.scroll||(this.offset.scroll={top:h.scrollTop(),left:h.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(d=this.relative_container.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,b.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),b.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),b.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),b.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),"drag"===b&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("ui-draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"ui-sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("ui-draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,"original"===d.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("ui-draggable"),e=this;a.each(d.sortables,function(){var f=!1,g=this;this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(f=!0,a.each(d.sortables,function(){return this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this!==g&&this.instance._intersectsWith(this.instance.containerCache)&&a.contains(g.instance.element[0],this.instance.element[0])&&(f=!1),f})),f?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(){var b=a("body"),c=a(this).data("ui-draggable").options;b.css("cursor")&&(c._cursor=b.css("cursor")),b.css("cursor",c.cursor)},stop:function(){var b=a(this).data("ui-draggable").options;b._cursor&&a("body").css("cursor",b._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(){var b=a(this).data("ui-draggable");b.scrollParent[0]!==document&&"HTML"!==b.scrollParent[0].tagName&&(b.overflowOffset=b.scrollParent.offset())},drag:function(b){var c=a(this).data("ui-draggable"),d=c.options,e=!1;c.scrollParent[0]!==document&&"HTML"!==c.scrollParent[0].tagName?(d.axis&&"x"===d.axis||(c.overflowOffset.top+c.scrollParent[0].offsetHeight-b.pageY<d.scrollSensitivity?c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop+d.scrollSpeed:b.pageY-c.overflowOffset.top<d.scrollSensitivity&&(c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop-d.scrollSpeed)),d.axis&&"y"===d.axis||(c.overflowOffset.left+c.scrollParent[0].offsetWidth-b.pageX<d.scrollSensitivity?c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft+d.scrollSpeed:b.pageX-c.overflowOffset.left<d.scrollSensitivity&&(c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft-d.scrollSpeed))):(d.axis&&"x"===d.axis||(b.pageY-a(document).scrollTop()<d.scrollSensitivity?e=a(document).scrollTop(a(document).scrollTop()-d.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<d.scrollSensitivity&&(e=a(document).scrollTop(a(document).scrollTop()+d.scrollSpeed))),d.axis&&"y"===d.axis||(b.pageX-a(document).scrollLeft()<d.scrollSensitivity?e=a(document).scrollLeft(a(document).scrollLeft()-d.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<d.scrollSensitivity&&(e=a(document).scrollLeft(a(document).scrollLeft()+d.scrollSpeed)))),e!==!1&&a.ui.ddmanager&&!d.dropBehaviour&&a.ui.ddmanager.prepareOffsets(c,b)}}),a.ui.plugin.add("draggable","snap",{start:function(){var b=a(this).data("ui-draggable"),c=b.options;b.snapElements=[],a(c.snap.constructor!==String?c.snap.items||":data(ui-draggable)":c.snap).each(function(){var c=a(this),d=c.offset();this!==b.element[0]&&b.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:d.top,left:d.left})})},drag:function(b,c){var d,e,f,g,h,i,j,k,l,m,n=a(this).data("ui-draggable"),o=n.options,p=o.snapTolerance,q=c.offset.left,r=q+n.helperProportions.width,s=c.offset.top,t=s+n.helperProportions.height;for(l=n.snapElements.length-1;l>=0;l--)h=n.snapElements[l].left,i=h+n.snapElements[l].width,j=n.snapElements[l].top,k=j+n.snapElements[l].height,r<h-p||q>i+p||t<j-p||s>k+p||!a.contains(n.snapElements[l].item.ownerDocument,n.snapElements[l].item)?(n.snapElements[l].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=!1):("inner"!==o.snapMode&&(d=Math.abs(j-t)<=p,e=Math.abs(k-s)<=p,f=Math.abs(h-r)<=p,g=Math.abs(i-q)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j-n.helperProportions.height,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h-n.helperProportions.width}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i}).left-n.margins.left)),m=d||e||f||g,"outer"!==o.snapMode&&(d=Math.abs(j-s)<=p,e=Math.abs(k-t)<=p,f=Math.abs(h-q)<=p,g=Math.abs(i-r)<=p,d&&(c.position.top=n._convertPositionTo("relative",{top:j,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k-n.helperProportions.height,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i-n.helperProportions.width}).left-n.margins.left)),!n.snapElements[l].snapping&&(d||e||f||g||m)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=d||e||f||g||m)}}),a.ui.plugin.add("draggable","stack",{start:function(){var b,c=this.data("ui-draggable").options,d=a.makeArray(a(c.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});d.length&&(b=parseInt(a(d[0]).css("zIndex"),10)||0,a(d).each(function(c){a(this).css("zIndex",b+c)}),this.css("zIndex",b+d.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})}(jQuery),function(a,b){function c(a,b,c){return a>b&&a<b+c}a.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b=this.options,c=b.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var b=0,c=a.ui.ddmanager.droppables[this.options.scope];b<c.length;b++)c[b]===this&&c.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(b,c){"accept"===b&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return!(!d||(d.currentItem||d.element)[0]===this.element[0])&&(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"ui-droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope===d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance))return e=!0,!1}),!e&&(!!this.accept.call(this.element[0],d.currentItem||d.element)&&(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element)))},ui:function(a){return{draggable:a.currentItem||a.element,helper:
vendor: 26,274 bytes, line 39372
39372a.helper,position:a.position,offset:a.positionAbs}}}),a.ui.intersect=function(a,b,d){if(!b.offset)return!1;var e,f,g=(a.positionAbs||a.position.absolute).left,h=g+a.helperProportions.width,i=(a.positionAbs||a.position.absolute).top,j=i+a.helperProportions.height,k=b.offset.left,l=k+b.proportions.width,m=b.offset.top,n=m+b.proportions.height;switch(d){case"fit":return k<=g&&h<=l&&m<=i&&j<=n;case"intersect":return k<g+a.helperProportions.width/2&&h-a.helperProportions.width/2<l&&m<i+a.helperProportions.height/2&&j-a.helperProportions.height/2<n;case"pointer":return e=(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,f=(a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,c(f,m,b.proportions.height)&&c(e,k,b.proportions.width);case"touch":return(i>=m&&i<=n||j>=m&&j<=n||i<m&&j>n)&&(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l);default:return!1}},a.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions.height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions={width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight})}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=a.ui.intersect(b,this,this.options.tolerance),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a.data(this,"ui-droppable").options.scope===e}),f.length&&(d=a.data(f[0],"ui-droppable"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}}(jQuery),function(a,b){function c(a){return parseInt(a,10)||0}function d(a){return!isNaN(parseInt(a,10))}a.widget("ui.resizable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c<b.length;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=a(this.handles[c],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var d,e,f,g=this.options,h=this.element.position(),i=this.element;return this.resizing=!0,/absolute/.test(i.css("position"))?i.css({position:"absolute",top:i.css("top"),left:i.css("left")}):i.is(".ui-draggable")&&i.css({position:"absolute",top:h.top,left:h.left}),this._renderProxy(),d=c(this.helper.css("left")),e=c(this.helper.css("top")),g.containment&&(d+=a(g.containment).scrollLeft()||0,e+=a(g.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:d,top:e},this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalPosition={left:d,top:e},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1,f=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===f?this.axis+"-resize":f),i.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d=this.helper,e={},f=this.originalMousePosition,g=this.axis,h=this.position.top,i=this.position.left,j=this.size.width,k=this.size.height,l=b.pageX-f.left||0,m=b.pageY-f.top||0,n=this._change[g];return!!n&&(c=n.apply(this,[b,l,m]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),this.position.top!==h&&(e.top=this.position.top+"px"),this.position.left!==i&&(e.left=this.position.left+"px"),this.size.width!==j&&(e.width=this.size.width+"px"),this.size.height!==k&&(e.height=this.size.height+"px"),d.css(e),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(e)||this._trigger("resize",b,this.ui()),!1)},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&a.ui.hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b,c,e,f,g,h=this.options;g={minWidth:d(h.minWidth)?h.minWidth:0,maxWidth:d(h.maxWidth)?h.maxWidth:1/0,minHeight:d(h.minHeight)?h.minHeight:0,maxHeight:d(h.maxHeight)?h.maxHeight:1/0},(this._aspectRatio||a)&&(b=g.minHeight*this.aspectRatio,e=g.minWidth/this.aspectRatio,c=g.maxHeight*this.aspectRatio,f=g.maxWidth/this.aspectRatio,b>g.minWidth&&(g.minWidth=b),e>g.minHeight&&(g.minHeight=e),c<g.maxWidth&&(g.maxWidth=c),f<g.maxHeight&&(g.maxHeight=f)),this._vBoundaries=g},_updateCache:function(a){this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,e=this.axis;return d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===e&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===e&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,e=d(a.width)&&b.maxWidth&&b.maxWidth<a.width,f=d(a.height)&&b.maxHeight&&b.maxHeight<a.height,g=d(a.width)&&b.minWidth&&b.minWidth>a.width,h=d(a.height)&&b.minHeight&&b.minHeight>a.height,i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(c),l=/nw|ne|n/.test(c);return g&&(a.width=b.minWidth),h&&(a.height=b.minHeight),e&&(a.width=b.maxWidth),f&&(a.height=b.maxHeight),g&&k&&(a.left=i-b.minWidth),e&&k&&(a.left=i-b.maxWidth),h&&l&&(a.top=j-b.minHeight),f&&l&&(a.top=j-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var a,b,c,d,e,f=this.helper||this.element;for(a=0;a<this._proportionallyResizeElements.length;a++){if(e=this._proportionallyResizeElements[a],!this.borderDif)for(this.borderDif=[],c=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],d=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")],b=0;b<c.length;b++)this.borderDif[b]=(parseInt(c[b],10)||0)+(parseInt(d[b],10)||0);e.css({height:f.height()-this.borderDif[0]-this.borderDif[2]||0,width:f.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).data("ui-resizable"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,d,e,f,g,h,i,j=a(this).data("ui-resizable"),k=j.options,l=j.element,m=k.containment,n=m instanceof a?m.get(0):/parent/.test(m)?l.parent().get(0):m;n&&(j.containerElement=a(n),/document/.test(m)||m===document?(j.containerOffset={left:0,top:0},j.containerPosition={left:0,top:0},j.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(n),d=[],a(["Top","Right","Left","Bottom"]).each(function(a,e){d[a]=c(b.css("padding"+e))}),j.containerOffset=b.offset(),j.containerPosition=b.position(),j.containerSize={height:b.innerHeight()-d[3],width:b.innerWidth()-d[1]},e=j.containerOffset,f=j.containerSize.height,g=j.containerSize.width,h=a.ui.hasScroll(n,"left")?n.scrollWidth:g,i=a.ui.hasScroll(n)?n.scrollHeight:f,j.parentData={element:n,left:e.left,top:e.top,width:h,height:i}))},resize:function(b){var c,d,e,f,g=a(this).data("ui-resizable"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio),g.position.top=g._helper?i.top:0),g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top,c=Math.abs((g._helper?g.offset.left-l.left:g.offset.left-l.left)+g.sizeDiff.width),d=Math.abs((g._helper?g.offset.top-l.top:g.offset.top-i.top)+g.sizeDiff.height),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f&&(c-=g.parentData.left),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio))},stop:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).data("ui-resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).data("ui-resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).data("ui-resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size,e=b.originalSize,f=b.originalPosition,g=b.axis,h="number"==typeof c.grid?[c.grid,c.grid]:c.grid,i=h[0]||1,j=h[1]||1,k=Math.round((d.width-e.width)/i)*i,l=Math.round((d.height-e.height)/j)*j,m=e.width+k,n=e.height+l,o=c.maxWidth&&c.maxWidth<m,p=c.maxHeight&&c.maxHeight<n,q=c.minWidth&&c.minWidth>m,r=c.minHeight&&c.minHeight>n;c.grid=h,q&&(m+=i),r&&(n+=j),o&&(m-=i),p&&(n-=j),/^(se|s|e)$/.test(g)?(b.size.width=m,b.size.height=n):/^(ne)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.top=f.top-l):/^(sw)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.left=f.left-k):(b.size.width=m,b.size.height=n,b.position.top=f.top-l,b.position.left=f.left-k)}})}(jQuery),function(a,b){a.widget("ui.selectable",a.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");if(e)return d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.right<f||c.top>i||c.bottom<g):"fit"===e.tolerance&&(j=c.left>f&&c.right<h&&c.top>g&&c.bottom<i),j?(c.selected&&(c.$element.removeClass("ui-selected"),c.selected=!1),c.unselecting&&(c.$element.removeClass("ui-unselecting"),c.unselecting=!1),c.selecting||(c.$element.addClass("ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.$element.addClass("ui-selected"),c.selected=!0):(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.startselected&&(c.$element.addClass("ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(c.$element.removeClass("ui-selected"),c.selected=!1,c.$element.addClass("ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}})}(jQuery),function(a,b){function c(a,b,c){return a>b&&a<b+c}function d(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}a.widget("ui.sortable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=!!this.items.length&&("x"===a.axis||d(this.items[0].item)),this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){"disabled"===b?(this.options[b]=c,this.widget().toggleClass("ui-sortable-disabled",!!c)):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(b),a(b.target).parents().each(function(){if(a.data(this,f.widgetName+"-item")===f)return d=a(this),!1}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),!!d&&(!(this.options.handle&&!c&&(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),!e))&&(this.currentItem=d,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left
vendor: 7,762 bytes, line 39372
39372:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-a(document).scrollTop()<g.scrollSensitivity?h=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<g.scrollSensitivity&&(h=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)),b.pageX-a(document).scrollLeft()<g.scrollSensitivity?h=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<g.scrollSensitivity&&(h=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&!(e===this.currentItem[0]||this.placeholder[1===f?"next":"prev"]()[0]===e||a.contains(this.placeholder[0],e)||"semi-dynamic"===this.options.type&&a.contains(this.element[0],e))){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&d+j<i,m="y"===this.options.axis||b+k>f&&b+k<g,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.options.axis||c(this.positionAbs.top+this.offset.click.top,a.top,a.height),d="y"===this.options.axis||c(this.positionAbs.left+this.offset.click.left,a.left,a.width),e=b&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return!!e&&(this.floating?g&&"right"===g||"down"===f?2:1:f&&("down"===f?2:1))},_intersectsWithSides:function(a){var b=c(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),d=c(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?"right"===f&&d||"left"===f&&!d:e&&("down"===e&&b||"up"===e&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;
vendor: 2,144 bytes, line 39372
39372return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c,d,e,f,g=[],h=[],i=this._connectWith();if(i&&b)for(c=i.length-1;c>=0;c--)for(e=a(i[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&h.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f]);for(h.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),c=h.length-1;c>=0;c--)h[c][0].each(function(){g.push(this)});return a(g)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;d<j;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);
vendor: 1,122 bytes, line 39372
39372if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a("<td>&#160;</td>",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){c&&!d.forcePlaceholderSize||(e.height()||e.height(b.currentItem.innerHe
vendor: 5,242 bytes, line 39372
39372ight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(b){var e,f,g,h,i,j,k,l,m,n,o=null,p=null;for(e=this.containers.length-1;e>=0;e--)if(!a.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(o&&a.contains(this.containers[e].element[0],o.element[0]))continue;o=this.containers[e],p=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0);if(o)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",b,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(g=1e4,h=null,n=o.floating||d(this.currentItem),i=n?"left":"top",j=n?"width":"height",k=this.positionAbs[i]+this.offset.click[i],f=this.items.length-1;f>=0;f--)a.contains(this.containers[p].element[0],this.items[f].item[0])&&this.items[f].item[0]!==this.currentItem[0]&&(n&&!c(this.positionAbs.top+this.offset.click.top,this.items[f].top,this.items[f].height)||(l=this.items[f].item.offset()[i],m=!1,Math.abs(l-k)>Math.abs(l+this.items[f][j]-k)&&(m=!0,l+=this.items[f][j]),Math.abs(l-k)<g&&(g=Math.abs(l-k),h=this.items[f],this.direction=m?"up":"down")));if(!h&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return;h?this._rearrange(b,h,null,!0):this._rearrange(b,null,this.containers[p].element,!0),this._trigger("change",b,this._uiHash()),this.containers[p]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",b,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),d[0].style.width&&!c.forceHelperSize||d.width(this.currentItem.width()),d[0].style.height&&!c.forceHelperSize||d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),"document"!==e.containment&&"window"!==e.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a("document"===e.containment?document:window).width()-this.helperProportions.width-this.margins.left,(a("document"===e.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),
vendor: 2,235 bytes, line 39372
3937210)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[
vendor: 5,015 bytes, line 39372
393720])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){this.reverting=!1;var c,d=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(c in this._storedCSS)"auto"!==this._storedCSS[c]&&"static"!==this._storedCSS[c]||(this._storedCSS[c]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||d.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(d.push(function(a){this._trigger("remove",a,this._uiHash())}),d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),c=this.containers.length-1;c>=0;c--)b||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!b){for(this._trigger("beforeStop",a,this._uiHash()),c=0;c<d.length;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!1}if(b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!b){for(c=0;c<d.length;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}})}(jQuery),function(a,b){var c="ui-effects-";a.effects={effect:{}},function(a,b){function m(a,b,c){var d=h[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function n(b){var c=f(),d=c._rgba=[];return b=b.toLowerCase(),l(e,function(a,e){var f,h=e.re.exec(b),i=h&&e.parse(h),j=e.space||"rgba";if(i)return f=c[j](i),c[g[j].cache]=f[g[j].cache],d=c._rgba=f._rgba,!1}),d.length?("0,0,0,0"===d.join()&&a.extend(d,k.transparent),c):k[b]}function o(a,b,c){return c=(c+1)%1,6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a}var k,c="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",d=/^([\-+])=\s*(\d+\.?\d*)/,e=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],f=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},g={rgba:{props:{red:{idx:0,type:"byte"}
vendor: 8,568 bytes, line 39372
39372,green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},h={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},i=f.support={},j=a("<p>")[0],l=a.each;j.style.cssText="background-color:rgba(1,1,1,.5)",i.rgba=j.style.backgroundColor.indexOf("rgba")>-1,l(g,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),f.fn=a.extend(f.prototype,{parse:function(c,d,e,h){if(c===b)return this._rgba=[null,null,null,null],this;(c.jquery||c.nodeType)&&(c=a(c).css(d),d=b);var i=this,j=a.type(c),o=this._rgba=[];return d!==b&&(c=[c,d,e,h],j="array"),"string"===j?this.parse(n(c)||k._default):"array"===j?(l(g.rgba.props,function(a,b){o[b.idx]=m(c[b.idx],b)}),this):"object"===j?(c instanceof f?l(g,function(a,b){c[b.cache]&&(i[b.cache]=c[b.cache].slice())}):l(g,function(b,d){var e=d.cache;l(d.props,function(a,b){if(!i[e]&&d.to){if("alpha"===a||null==c[a])return;i[e]=d.to(i._rgba)}i[e][b.idx]=m(c[a],b,!0)}),i[e]&&a.inArray(null,i[e].slice(0,3))<0&&(i[e][3]=1,d.from&&(i._rgba=d.from(i[e])))}),this):void 0},is:function(a){var b=f(a),c=!0,d=this;return l(g,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],l(e.props,function(a,b){if(null!=g[b.idx])return c=g[b.idx]===f[b.idx]})),c}),c},_space:function(){var a=[],b=this;return l(g,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var c=f(a),d=c._space(),e=g[d],i=0===this.alpha()?f("transparent"):this,j=i[e.cache]||e.to(i._rgba),k=j.slice();return c=c[e.cache],l(e.props,function(a,d){var e=d.idx,f=j[e],g=c[e],i=h[d.type]||{};null!==g&&(null===f?k[e]=g:(i.mod&&(g-f>i.mod/2?f+=i.mod:f-g>i.mod/2&&(f-=i.mod)),k[e]=m((g-f)*b+f,d)))}),this[d](k)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=f(b)._rgba;return f(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&b<3&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),f.fn.parse.prototype=f.fn,g.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var k,l,b=a[0]/255,c=a[1]/255,d=a[2]/255,e=a[3],f=Math.max(b,c,d),g=Math.min(b,c,d),h=f-g,i=f+g,j=.5*i;return k=g===f?0:b===f?60*(c-d)/h+360:c===f?60*(d-b)/h+120:60*(b-c)/h+240,l=0===h?0:j<=.5?h/i:h/(2-i),[Math.round(k)%360,l,j,null==e?1:e]},g.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],e=a[3],f=d<=.5?d*(1+c):d+c-d*c,g=2*d-f;return[Math.round(255*o(g,f,b+1/3)),Math.round(255*o(g,f,b)),Math.round(255*o(g,f,b-1/3)),e]},l(g,function(c,e){var g=e.props,h=e.cache,i=e.to,j=e.from;f.fn[c]=function(c){if(i&&!this[h]&&(this[h]=i(this._rgba)),c===b)return this[h].slice();var d,e=a.type(c),k="array"===e||"object"===e?c:arguments,n=this[h].slice();return l(g,function(a,b){var c=k["object"===e?a:b.idx];null==c&&(c=n[b.idx]),n[b.idx]=m(c,b)}),j?(d=f(j(n)),d[h]=n,d):f(n)},l(g,function(b,e){f.fn[b]||(f.fn[b]=function(f){var k,g=a.type(f),h="alpha"===b?this._hsla?"hsla":"rgba":c,i=this[h](),j=i[e.idx];return"undefined"===g?j:("function"===g&&(f=f.call(this,j),g=a.type(f)),null==f&&e.empty?this:("string"===g&&(k=d.exec(f),k&&(f=j+parseFloat(k[2])*("+"===k[1]?1:-1))),i[e.idx]=f,this[h](i)))})})}),f.hook=function(b){var c=b.split(" ");l(c,function(b,c){a.cssHooks[c]={set:function(b,d){var e,g,h="";if("transparent"!==d&&("string"!==a.type(d)||(e=n(d)))){if(d=f(e||d),!i.rgba&&1!==d._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(a){}d=d.blend(h&&"transparent"!==h?h:"_default")}d=d.toRgbaString()}try{b.style[c]=d}catch(a){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=f(b.elem,c),b.end=f(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},f.hook(c),a.cssHooks.borderColor={expand:function(a){var b={};return l(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},k=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function e(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function f(b,c){var f,g,e={};for(f in c)g=c[f],b[f]!==g&&(d[f]||!a.fx.step[f]&&isNaN(parseFloat(g))||(e[f]=g));return e}var c=["add","remove","toggle"],d={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(jQuery.style(a.elem,c,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(b,d,g,h){var i=a.speed(d,g,h);return this.queue(function(){var h,d=a(this),g=d.attr("class")||"",j=i.children?d.find("*").addBack():d;j=j.map(function(){var b=a(this);return{el:b,start:e(this)}}),h=function(){a.each(c,function(a,c){b[c]&&d[c+"Class"](b[c])})},h(),j=j.map(function(){return this.end=e(this.el[0]),this.diff=f(this.start,this.end),this}),d.attr("class",g),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){h(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(d[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(c){return function(d,e,f,g,h){return"boolean"==typeof e||e===b?f?a.effects.animateClass.call(this,e?{add:d}:{remove:d},f,g,h):c.apply(this,arguments):a.effects.animateClass.call(this,{toggle:d},e,f,g)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function d(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function e(b){return!(b&&"number"!=typeof b&&!a.fx.speeds[b])||("string"==typeof b&&!a.effects.effect[b]||(!!a.isFunction(b)||"object"==typeof b&&!b.effect))}a.extend(a.effects,{version:"1.10.3",save:function(a,b){for(var d=0;d<b.length;d++)null!==b[d]&&a.data(c+b[d],a[0].style[b[d]])},restore:function(a,d){var e,f;for(f=0;f<d.length;f++)null!==d[f]&&(e=a.data(c+d[f]),e===b&&(e=""),a.css(d[f],e))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),float:b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}
vendor: 4,367 bytes, line 39372
39372),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(a){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function g(c){function h(){a.isFunction(e)&&e.call(d[0]),a.isFunction(c)&&c()}var d=a(this),e=b.complete,g=b.mode;(d.is(":hidden")?"hide"===g:"show"===g)?(d[g](),h()):f.call(d[0],b,h)}var b=d.apply(this,arguments),c=b.mode,e=b.queue,f=a.effects.effect[b.effect];return a.fx.off||!f?c?this[c](b.duration,b.complete):this.each(function(){b.complete&&b.complete.call(this)}):e===!1?this.each(g):this.queue(e||"fx",g)},show:function(a){return function(b){if(e(b))return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="show",this.effect.call(this,c)}}(a.fn.show),hide:function(a){return function(b){if(e(b))return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="hide",this.effect.call(this,c)}}(a.fn.hide),toggle:function(a){return function(b){if(e(b)||"boolean"==typeof b)return a.apply(this,arguments);var c=d.apply(this,arguments);return c.mode="toggle",this.effect.call(this,c)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(2*a)/2:1-c(a*-2+2)/2}})}()}(jQuery),function(a,b){var c=0,d={},e={};d.height=d.paddingTop=d.paddingBottom=d.borderTopWidth=d.borderBottomWidth="hide",e.height=e.paddingTop=e.paddingBottom=e.borderTopWidth=e.borderBottomWidth="show",a.widget("ui.accordion",{version:"1.10.3",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a(),content:this.active.length?this.active.next():a()}},_createIcons:function(){var b=this.options.icons;b&&(a("<span>").addClass("ui-accordion-header-icon ui-icon "+b.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id
vendor: 16,460 bytes, line 39372
39372)&&this.removeAttribute("id")}),this._destroyIcons(),a=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),"icons"===a&&(this._destroyIcons(),b&&this._createIcons()),void("disabled"===a&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!b)))},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().focus()},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var b,d=this.options,e=d.heightStyle,f=this.element.parent(),g=this.accordionId="ui-accordion-"+(this.element.attr("id")||++c);this.active=this._findActive(d.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(b){var c=a(this),d=c.attr("id"),e=c.next(),f=e.attr("id");d||(d=g+"-header-"+b,c.attr("id",d)),f||(f=g+"-panel-"+b,e.attr("id",f)),c.attr("aria-controls",f),e.attr("aria-labelledby",d)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(d.event),"fill"===e?(b=f.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===e&&(b=0,this.headers.next().each(function(){b=Math.max(b,a(this).css("height","").height())}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e[0]===d[0],g=f&&c.collapsible,h=g?a():e.next(),i=d.next(),j={oldHeader:d,oldPanel:i,newHeader:g?a():e,newPanel:h};b.preventDefault(),f&&!c.collapsible||this._trigger("beforeActivate",b,j)===!1||(c.active=!g&&this.headers.index(e),this.active=f?a():e,this._toggle(j),d.removeClass("ui-accordion-header-active ui-state-active"),c.icons&&d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header),f||(e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),c.icons&&e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader),e.next().addClass("ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-expanded":"false","aria-hidden":"true"}),d.prev().attr("aria-selected","false"),c.length&&d.length?d.prev().attr("tabIndex",-1):c.length&&this.headers.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),c.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(a,b,c){var f,g,h,i=this,j=0,k=a.length&&(!b.length||a.index()<b.index()),l=this.options.animate||{},m=k&&l.down||l,n=function(){i._toggleComplete(c)};return"number"==typeof m&&(h=m),"string"==typeof m&&(g=m),g=g||m.easing||l.easing,h=h||m.duration||l.duration,b.length?a.length?(f=a.show().outerHeight(),b.animate(d,{duration:h,easing:g,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(e,{duration:h,easing:g,complete:n,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?j+=c.now:"content"!==i.options.heightStyle&&(c.now=Math.round(f-b.outerHeight()-j),j=0)}})):b.animate(d,h,g,n):a.animate(e,h,g,n)},_toggleComplete:function(a){var b=a.oldPanel;b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}})}(jQuery),function(a,b){var c=0;a.widget("ui.autocomplete",{version:"1.10.3",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=!!f||!g&&this.element.prop("isContentEditable"),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:case f.NUMPAD_ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var c=this.menu.element[0];a(b.target).closest(".ui-menu-item").length||this._delay(function(){var b=this;this.document.one("mousedown",function(d){d.target===b.element[0]||d.target===c||a.contains(c,d.target)||b.close()})})},menufocus:function(b,c){if(this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)});var d=c.item.data("ui-autocomplete-item");!1!==this._trigger("focus",b,{item:d})?b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(d.value):this.liveRegion.text(d.value)},menuselect:function(a,b){var c=b.item.data("ui-autocomplete-item"),d=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d,this.selectedItem=c})),!1!==this._trigger("select",a,{item:c})&&this._value(c.value),this.term=this._value(),this.close(a),this.selectedItem=c}}),this.liveRegion=a("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").append(a("<a>").text(c.label)).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(a,b),b.preventDefault())}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(a){var b;this._superApply(arguments),this.options.disabled||this.cancelSearch||(b=a&&a.length?this.options.messages.results(a.length):this.options.messages.noResults,this.liveRegion.text(b))}})}(jQuery),function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form})),e};a.widget("ui.button",{version:"1.10.3",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,j),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i="checkbox"===this.type||"radio"===this.type,l=i?"":"ui-state-active",m="ui-state-focus";null===h.label&&(h.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){h.disabled||this===c&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){h.disabled||a(this).removeClass(l)}).bind("click"+this.eventNamespace,function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){b.buttonElement.addClass(m)}).bind("blur"+this.eventNamespace,function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change"+this.eventNamespace,function(){f||b.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(a){h.disabled||(f=!1,d=a.pageX,e=a.pageY)}).bind("mouseup"+this.eventNamespace,function(a){h.disabled||d===a.pageX&&e===a.pageY||(f=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(h.disabled||f)return!1}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}
39372).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return!h.disabled&&(a(this).addClass("ui-state-active"),c=this,void b.document.one("mouseup",function(){c=null}))}).bind("mouseup"+this.eventNamespace,function(){return!h.disabled&&void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return!h.disabled&&void(b.keyCode!==a.ui.keyCode.SPACE&&b.keyCode!==a.ui.keyCode.ENTER||a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.element.is("[type=checkbox]")?this.type="checkbox":this.element.is("[type=radio]")?this.type="radio":this.element.is("input")?this.type="input":this.type="button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?void(b?this.element.prop("disabled",!0):this.element.prop("disabled",!1)):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{version:"1.10.3",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})}(jQuery),function(a,b){function e(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
39372ay","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.dpDiv=f(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function f(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!==-1&&a(this).removeClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!==-1&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",function(){a.datepicker._isDisabledDatepicker(d.inline?b.parent()[0]:d.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!==-1&&a(this).addClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!==-1&&a(this).addClass("ui-datepicker-next-hover"))})}function g(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}a.extend(a.ui,{datepicker:{version:"1.10.3"}});var d,c="datepicker";a.extend(e.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return g(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var d=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:d,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?f(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,d){var e=a(b);d.append=a([]),d.trigger=a([]),e.hasClass(this.markerClassName)||(this._attachments(e,d),e.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(d),a.data(b,c,d),d.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),"focus"!==d&&"both"!==d||b.focus(this._showDatepicker),"button"!==d&&"both"!==d||(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))}
vendor: 7,339 bytes, line 39372
39372,_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,d){var e=a(b);e.hasClass(this.markerClassName)||(e.addClass(this.markerClassName).append(d.dpDiv),a.data(b,c,d),this._setDate(d,this._getDefaultDate(d),!0),this._updateDatepicker(d),this._updateAlternate(d),d.settings.disabled&&this._disableDatepicker(b),d.dpDiv.css("display","block"))},_dialogDatepicker:function(b,d,e,f,h){var i,j,k,l,m,n=this._dialogInst;return n||(this.uuid+=1,i="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+i+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),n=this._dialogInst=this._newInst(this._dialogInput,!1),n.settings={},a.data(this._dialogInput[0],c,n)),g(n.settings,f||{}),d=d&&d.constructor===Date?this._formatDate(n,d):d,this._dialogInput.val(d),this._pos=h?h.length?h:[h.pageX,h.pageY]:null,this._pos||(j=document.documentElement.clientWidth,k=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,m=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[j/2-100+l,k/2-150+m]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),n.settings.onSelect=e,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],c,n),this},_destroyDatepicker:function(b){var d,e=a(b),f=a.data(b,c);e.hasClass(this.markerClassName)&&(d=b.nodeName.toLowerCase(),a.removeData(b,c),"input"===d?(f.append.remove(),f.trigger.remove(),e.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):"div"!==d&&"span"!==d||e.removeClass(this.markerClassName).empty())},_enableDatepicker:function(b){var d,e,f=a(b),g=a.data(b,c);f.hasClass(this.markerClassName)&&(d=b.nodeName.toLowerCase(),"input"===d?(b.disabled=!1,g.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==d&&"span"!==d||(e=f.children("."+this._inlineClass),e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var d,e,f=a(b),g=a.data(b,c);f.hasClass(this.markerClassName)&&(d=b.nodeName.toLowerCase(),"input"===d?(b.disabled=!0,g.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==d&&"span"!==d||(e=f.children("."+this._inlineClass),e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,c)}catch(a){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(c,d,e){var f,h,i,j,k=this._getInst(c);return 2===arguments.length&&"string"==typeof d?"defaults"===d?a.extend({},a.datepicker._defaults):k?"all"===d?a.extend({},k.settings):this._get(k,d):null:(f=d||{},"string"==typeof d&&(f={},f[d]=e),void(k&&(this._curInst===k&&this._hideDatepicker(),h=this._getDateDatepicker(c,!0),i=this._getMinMaxDate(k,"min"),j=this._getMinMaxDate(k,"max"),g(k.settings,f),null!==i&&f.dateFormat!==b&&f.minDate===b&&(k.settings.minDate=this._formatDate(k,i)),null!==j&&f.dateFormat!==b&&f.maxDate===b&&(k.settings.maxDate=this._formatDate(k,j)),"disabled"in f&&(f.disabled?this._disableDatepicker(c):this._enableDatepicker(c)),this._attachments(a(c),k),this._autoSize(k),this._setDate(k,h),this._updateAlternate(k),this._updateDatepicker(k))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);if(a.datepicker._get(e,"constrainInput"))return c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||d<" "||!c||c.indexOf(d)>-1},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d
vendor: 6,333 bytes, line 39372
39372))}catch(a){}return!0},_showDatepicker:function(b){if(b=b.target||b,"input"!==b.nodeName.toLowerCase()&&(b=a("input",b.parentNode)[0]),!a.datepicker._isDisabledDatepicker(b)&&a.datepicker._lastInput!==b){var c,d,e,f,h,i,j;c=a.datepicker._getInst(b),a.datepicker._curInst&&a.datepicker._curInst!==c&&(a.datepicker._curInst.dpDiv.stop(!0,!0),c&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),d=a.datepicker._get(c,"beforeShow"),e=d?d.apply(b,[b,c]):{},e!==!1&&(g(c.settings,e),c.lastVal=null,a.datepicker._lastInput=b,a.datepicker._setDateFromField(c),a.datepicker._inDialog&&(b.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(b),a.datepicker._pos[1]+=b.offsetHeight),f=!1,a(b).parents().each(function(){return f|="fixed"===a(this).css("position"),!f}),h={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,c.dpDiv.empty(),c.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(c),h=a.datepicker._checkOffset(c,h,f),c.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":f?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),c.inline||(i=a.datepicker._get(c,"showAnim"),j=a.datepicker._get(c,"duration"),c.dpDiv.zIndex(a(b).zIndex()+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[i]?c.dpDiv.show(i,a.datepicker._get(c,"showOptions"),j):c.dpDiv[i||"show"](i?j:null),a.datepicker._shouldFocusInput(c)&&c.input.focus(),a.datepicker._curInst=c))}},_updateDatepicker:function(b){this.maxRows=4,d=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b),b.dpDiv.find("."+this._dayOverClass+" a").mouseover();var c,e=this._getNumberOfMonths(b),f=e[1],g=17;b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&b.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),b.dpDiv[(1!==e[0]||1!==e[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var d,e,f,g,h=this._curInst;!h||b&&h!==a.data(b,c)||this._datepickerShowing&&(d=this._get(h,"showAnim"),e=this._get(h,"duration"),f=function(){a.datepicker._tidyDialog(h)},a.effects&&(a.effects.effect[d]||a.effects[d])?h.dpDiv.hide(d,a.datepicker._get(h,"showOptions"),e,f):h.dpDiv["slideDown"===d?"slideUp":"fadeIn"===d?"fadeOut":"hide"](d?e:null,f),d||f(),this._datepickerShowing=!1,g=this._get(h,"onClose"),g&&g.apply(h.input?h.input[0]:null,[h.input?h.input.val():"",h]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id===a.datepicker._mainDivId||0!==c.parents("#"+a.datepicker._mainDivId).length||c.hasClass(a.datepicker.markerClassName)||c.closest("."+a.datepicker._triggerClass).length||!a.datepicker._datepickerShowing||a.datepicker._inDialog&&a.blockUI)&&(!c.hasClass(a.datepicker.markerClassName)||a.datepicker._curInst===d)||a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))}
vendor: 14,341 bytes, line 39372
39372,noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,t,h=0,i=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,j="string"!=typeof i?i:(new Date).getFullYear()%100+parseInt(i,10),k=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,l=(d?d.dayNames:null)||this._defaults.dayNames,m=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,n=(d?d.monthNames:null)||this._defaults.monthNames,o=-1,p=-1,q=-1,r=-1,s=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=c.substring(h).match(e);if(!f)throw"Missing number at position "+h;return h+=f[0].length,parseInt(f[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];if(c.substr(h,d.length).toLowerCase()===d.toLowerCase())return f=b[0],h+=d.length,!1}),f!==-1)return f+1;throw"Unknown name at position "+h},x=function(){if(c.charAt(h)!==b.charAt(e))throw"Unexpected literal at position "+h;h++};for(e=0;e<b.length;e++)if(s)"'"!==b.charAt(e)||u("'")?x():s=!1;else switch(b.charAt(e)){case"d":q=v("d");break;case"D":w("D",k,l);break;case"o":r=v("o");break;case"m":p=v("m");break;case"M":p=w("M",m,n);break;case"y":o=v("y");break;case"@":t=new Date(v("@")),o=t.getFullYear(),p=t.getMonth()+1,q=t.getDate();break;case"!":t=new Date((v("!")-this._ticksTo1970)/1e4),o=t.getFullYear(),p=t.getMonth()+1,q=t.getDate();break;case"'":u("'")?x():s=!0;break;default:x()}if(h<c.length&&(g=c.substr(h),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(o===-1?o=(new Date).getFullYear():o<100&&(o+=(new Date).getFullYear()-(new Date).getFullYear()%100+(o<=j?0:-100)),r>-1)for(p=1,q=r;;){if(f=this._getDaysInMonth(o,p-1),q<=f)break;p++,q-=f}if(t=this._daylightSavingAdjust(new Date(o,p-1,q)),t.getFullYear()!==o||t.getMonth()+1!==p||t.getDate()!==q)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,c){return a.settings[c]!==b?a.settings[c]:this._defaults[c]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(a){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(a){}for(var d=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(c);i;){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=7*parseInt(i[1],10);break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,a.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,a.datepicker._getDaysInMonth(e,f))}i=h.exec(c)}return new Date(e,f,g)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(_<0&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&b<Z?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,_<0&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;v<7;v++)D=(v+k)%7,C+="<th"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;J<H;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;v<7;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&I<Z||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;k<12;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";o<=p;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),"M"!==c&&"Y"!==c||this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return d&&e>d?d:e}
vendor: 21,179 bytes, line 39372
39372,_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new e,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.10.3"}(jQuery),function(a,b){var c={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},d={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};a.widget("ui.dialog",{version:"1.10.3",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c=this;this._isOpen&&this._trigger("beforeClose",b)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||a(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){c._trigger("close",b)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(a,b){var c=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return c&&!b&&this._trigger("focus",a),c},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),void this._trigger("open"))},_focusTabbable:function(){var a=this.element.find("[autofocus]");a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).focus()},_keepFocus:function(b){function c(){var b=this.document[0].activeElement,c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(e.focus(1),b.preventDefault()):(d.focus(1),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=a("<button></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(b),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title||a.html("&#160;"),a.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this.uiDialog.removeClass("ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,d.click=function(){e.apply(b.element[0],arguments)},f={icons:d.icons,text:d.showText},delete d.icons,delete d.showText,a("<button></button>",d).button(f).appendTo(b.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function d(a){return{position:a.position,offset:a.offset}}var b=this,c=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(c,e){a(this).addClass("ui-dialog-dragging"),b._blockFrames(),b._trigger("dragStart",c,d(e))},drag:function(a,c){b._trigger("drag",a,d(c))},stop:function(e,f){c.position=[f.position.left-b.document.scrollLeft(),f.position.top-b.document.scrollTop()],a(this).removeClass("ui-dialog-dragging"),b._unblockFrames(),b._trigger("dragStop",e,d(f))}})},_makeResizable:function(){function g(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var b=this,c=this.options,d=c.resizable,e=this.uiDialog.css("position"),f="string"==typeof d?d:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:c.maxWidth,maxHeight:c.maxHeight,minWidth:c.minWidth,minHeight:this._minHeight(),handles:f,start:function(c,d){a(this).addClass("ui-dialog-resizing"),b._blockFrames(),b._trigger("resizeStart",c,g(d))},resize:function(a,c){b._trigger("resize",a,g(c))},stop:function(d,e){c.height=a(this).height(),c.width=a(this).width(),a(this).removeClass("ui-dialog-resizing"),b._unblockFrames(),b._trigger("resizeStop",d,g(e))}}).css("position",e)},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var e=this,f=!1,g={};a.each(b,function(a,b){e._setOption(a,b),a in c&&(f=!0),a in d&&(g[a]=b)}),f&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",g)},_setOption:function(a,b){var c,d,e=this.uiDialog;"dialogClass"===a&&e.removeClass(this.options.dialogClass).addClass(b),"disabled"!==a&&(this._super(a,b),"appendTo"===a&&this.uiDialog.appendTo(this._appendTo()),"buttons"===a&&this._createButtons(),"closeText"===a&&this.uiDialogTitlebarClose.button({label:""+b}),"draggable"===a&&(c=e.is(":data(ui-draggable)"),c&&!b&&e.draggable("destroy"),!c&&b&&this._makeDraggable()),"position"===a&&this._position(),"resizable"===a&&(d=e.is(":data(ui-resizable)"),d&&!b&&e.resizable("destroy"),d&&"string"==typeof b&&e.resizable("option","handles",b),d||b===!1||this._makeResizable()),"title"===a&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return!!a(b.target).closest(".ui-dialog").length||!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=this,c=this.widgetFullName;a.ui.dialog.overlayInstances||this._delay(function(){a.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(d){b._allowInteraction(d)||(d.preventDefault(),a(".ui-dialog:visible:last .ui-dialog-content").data(c)._focusTabbable())})}),this.overlay=a("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),a.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(a.ui.dialog.overlayInstances--,a.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),a.ui.dialog.overlayInstances=0,a.uiBackCompat!==!1&&a.widget("ui.dialog",a.ui.dialog,{_position:function(){var e,b=this.options.position,c=[],d=[0,0];b?(("string"==typeof b||"object"==typeof b&&"0"in b)&&(c=b.split?b.split(" "):[b[0],b[1]],1===c.length&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c[0]+(d[0]<0?d[0]:"+"+d[0])+" "+c[1]+(d[1]<0?d[1]:"+"+d[1]),at:c.join(" ")}),b=a.extend({},a.ui.dialog.prototype.options.position,b)):b=a.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(b),e||this.uiDialog.hide()}})}(jQuery),function(a,b){var c=/up|down|vertical/,d=/up|left|vertical|horizontal/;a.effects.effect.blind=function(b,e){var p,q,r,f=a(this),g=["position","top","bottom","left","right","height","width"],h=a.effects.setMode(f,b.mode||"hide"),i=b.direction||"up",j=c.test(i),k=j?"height":"width",l=j?"top":"left",m=d.test(i),n={},o="show"===h;f.parent().is(".ui-effects-wrapper")?a.effects.save(f.parent(),g):a.effects.save(f,g),f.show(),p=a.effects.createWrapper(f).css({overflow:"hidden"}),q=p[k](),r=parseFloat(p.css(l))||0,n[k]=o?q:0,m||(f.css(j?"bottom":"right",0).css(j?"top":"left","auto").css({position:"absolute"}),n[l]=o?r:q+r),o&&(p.css(k,0),m||p.css(l,r+q)),p.animate(n,{duration:b.duration,easing:b.easing,queue:!1,complete:function(){"hide"===h&&f.hide(),a.effects.restore(f,g),a.effects.removeWrapper(f),e()}})}}(jQuery),function(a,b){a.effects.effect.bounce=function(b,c){var q,r,s,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"effect"),g="hide"===f,h="show"===f,i=b.direction||"up",j=b.distance,k=b.times||5,l=2*k+(h||g?1:0),m=b.duration/l,n=b.easing,o="up"===i||"down"===i?"top":"left",p="up"===i||"left"===i,t=d.queue(),u=t.length;for((h||g)&&e.push("opacity"),a.effects.save(d,e),d.show(),a.effects.createWrapper(d),j||(j=d["top"===o?"outerHeight":"outerWidth"]()/3),h&&(s={opacity:1},s[o]=0,d.css("opacity",0).css(o,p?2*-j:2*j).animate(s,m,n)),g&&(j/=Math.pow(2,k-1)),s={},s[o]=0,q=0;q<k;q++)r={},r[o]=(p?"-=":"+=")+j,d.animate(r,m,n).animate(s,m,n),j=g?2*j:j/2;g&&(r={opacity:0},r[o]=(p?"-=":"+=")+j,d.animate(r,m,n)),d.queue(function(){g&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}),u>1&&t.splice.apply(t,[1,0].concat(t.splice(u,l+1))),d.dequeue()}}(jQuery),function(a,b){a.effects.effect.clip=function(b,c){var m,n,o,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"hide"),g="show"===f,h=b.direction||"vertical",i="vertical"===h,j=i?"height":"width",k=i?"top":"left",l={};a.effects.save(d,e),d.show(),m=a.effects.createWrapper(d).css({overflow:"hidden"}),n="IMG"===d[0].tagName?m:d,o=n[j](),g&&(n.css(j,0),n.css(k,o/2)),l[j]=g?o:0,l[k]=g?0:o/2,n.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){g||d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}})}}(jQuery),function(a,b){a.effects.effect.drop=function(b,c){var l,d=a(this),e=["position","top","bottom","left","right","opacity","height","width"],f=a.effects.setMode(d,b.mode||"hide"),g="show"===f,h=b.direction||"left",i="up"===h||"down"===h?"top":"left",j="up"===h||"left"===h?"pos":"neg",k={opacity:g?1:0};a.effects.save(d,e),d.show(),a.effects.createWrapper(d),l=b.distance||d["top"===i?"outerHeight":"outerWidth"](!0)/2,g&&d.css("opacity",0).css(i,"pos"===j?-l:l),k[i]=(g?"pos"===j?"+=":"-=":"pos"===j?"-=":"+=")+l,d.animate(k,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}})}}(jQuery),function(a,b){a.effects.effect.explode=function(b,c){function s(){l.push(this),l.length===d*e&&t()}function t(){f.css({visibility:"visible"}),a(l).remove(),h||f.hide(),c()}var m,n,o,p,q,r,d=b.pieces?Math.round(Math.sqrt(b.pieces)):3,e=d,f=a(this),g=a.effects.setMode(f,b.mode||"hide"),h="show"===g,i=f.show().css("visibility","hidden").offset(),j=Math.ceil(f.outerWidth()/e),k=Math.ceil(f.outerHeight()/d),l=[];for(m=0;m<d;m++)for(p=i.top+m*k,r=m-(d-1)/2,n=0;n<e;n++)o=i.left+n*j,q=n-(e-1)/2,f.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-n*j,top:-m*k}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:j,height:k,left:o+(h?q*j:0),top:p+(h?r*k:0),opacity:h?0:1}).animate({left:o+(h?0:q*j),top:p+(h?0:r*k),opacity:h?1:0},b.duration||500,b.easing,s)}}(jQuery),function(a,b){a.effects.effect.fade=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"toggle");d.animate({opacity:e},{queue:!1,duration:b.duration,easing:b.easing,complete:c})}}(jQuery),function(a,b){a.effects.effect.fold=function(b,c){var o,p,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"hide"),g="show"===f,h="hide"===f,i=b.size||15,j=/([0-9]+)%/.exec(i),k=!!b.horizFirst,l=g!==k,m=l?["width","height"]:["height","width"],n=b.duration/2,q={},r={};a.effects.save(d,e),d.show(),o=a.effects.createWrapper(d).css({overflow:"hidden"}),p=l?[o.width(),o.height()]:[o.height(),o.width()],j&&(i=parseInt(j[1],10)/100*p[h?0:1]),g&&o.css(k?{height:0,width:i}:{height:i,width:0}),q[m[0]]=g?p[0]:i,r[m[1]]=g?p[1]:0,o.animate(q,n,b.easing).animate(r,n,b.easing,function(){h&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()})}}(jQuery),function(a,b){a.effects.effect.highlight=function(b,c){var d=a(this),e=["backgroundImage","backgroundColor","opacity"],f=a.effects.setMode(d,b.mode||"show"),g={backgroundColor:d.css("backgroundColor")};"hide"===f&&(g.opacity=0),a.effects.save(d,e),d.show().css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(g,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),c()}})}}(jQuery),function(a,b){a.effects.effect.pulsate=function(b,c){var n,d=a(this),e=a.effects.setMode(d,b.mode||"show"),f="show"===e,g="hide"===e,h=f||"hide"===e,i=2*(b.times||5)+(h?1:0),j=b.duration/i,k=0,l=d.queue(),m=l.length;for(!f&&d.is(":visible")||(d.css("opacity",0).show(),k=1),n=1;n<i;n++)d.animate({opacity:k},j,b.easing),k=1-k;d.animate({opacity:k},j,b.easing),d.queue(function(){g&&d.hide(),c()}),m>1&&l.splice.apply(l,[1,0].concat(l.splice(m,i+1))),d.dequeue()}}(jQuery),function(a,b){a.effects.effect.puff=function(b,c){var d=a(this),e=a.effects.setMode(d,b.mode||"hide"),f="hide"===e,g=parseInt(b.percent,10)||150,h=g/100,i={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()};a.extend(b,{effect:"scale",queue:!1,fade:!0,mode:e,complete:c,percent:f?g:100,from:f?i:{height:i.height*h,width:i.width*h,outerHeight:i.outerHeight*h,outerWidth:i.outerWidth*h}}),d.effect(b)},a.effects.effect.scale=function(b,c){var d=a(this),e=a.extend(!0,{},b),f=a.effects.setMode(d,b.mode||"effect"),g=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"hide"===f?0:100),h=b.direction||"both",i=b.origin,j={height:d.height(),width:d.width(),outerHeight:d.outerHeight(),outerWidth:d.outerWidth()},k={y:"horizontal"!==h?g/100:1,x:"vertical"!==h?g/100:1};e.effect="size",e.queue=!1,e.complete=c,"effect"!==f&&(e.origin=i||["middle","center"],e.restore=!0),e.from=b.from||("show"===f?{height:0,width:0,outerHeight:0,outerWidth:0}:j),e.to={height:j.height*k.y,width:j.width*k.x,outerHeight:j.outerHeight*k.y,outerWidth:j.outerWidth*k.x},e.fade&&("show"===f&&(e.from.opacity=0,e.to.opacity=1),"hide"===f&&(e.from.opacity=1,e.to.opacity=0)),d.effect(e)},a.effects.effect.size=function(b,c){var d,e,f,g=a(this),h=["position","top","bottom","left","right","width","height","overflow","opacity"],i=["position","top","bottom","left","right","overflow","opacity"],j=["width","height","overflow"],k=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],m=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=a.effects.setMode(g,b.mode||"effect"),o=b.restore||"effect"!==n,p=b.scale||"both",q=b.origin||["middle","center"],r=g.css("position"),s=o?h:i,t={height:0,width:0,outerHeight:0,outerWidth:0};
vendor: 2,236 bytes, line 39372
39372"show"===n&&g.show(),d={height:g.height(),width:g.width(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth()},"toggle"===b.mode&&"show"===n?(g.from=b.to||t,g.to=b.from||d):(g.from=b.from||("show"===n?t:d),g.to=b.to||("hide"===n?t:d)),f={from:{y:g.from.height/d.height,x:g.from.width/d.width},to:{y:g.to.height/d.height,x:g.to.width/d.width}},"box"!==p&&"both"!==p||(f.from.y!==f.to.y&&(s=s.concat(l),g.from=a.effects.setTransition(g,l,f.from.y,g.from),g.to=a.effects.setTransition(g,l,f.to.y,g.to)),f.from.x!==f.to.x&&(s=s.concat(m),g.from=a.effects.setTransition(g,m,f.from.x,g.from),g.to=a.effects.setTransition(g,m,f.to.x,g.to))),"content"!==p&&"both"!==p||f.from.y!==f.to.y&&(s=s.concat(k).concat(j),g.from=a.effects.setTransition(g,k,f.from.y,g.from),g.to=a.effects.setTransition(g,k,f.to.y,g.to)),a.effects.save(g,s),g.show(),a.effects.createWrapper(g),g.css("overflow","hidden").css(g.from),q&&(e=a.effects.getBaseline(q,d),g.from.top=(d.outerHeight-g.outerHeight())*e.y,g.from.left=(d.outerWidth-g.outerWidth())*e.x,g.to.top=(d.outerHeight-g.to.outerHeight)*e.y,g.to.left=(d.outerWidth-g.to.outerWidth)*e.x),g.css(g.from),"content"!==p&&"both"!==p||(l=l.concat(["marginTop","marginBottom"]).concat(k),m=m.concat(["marginLeft","marginRight"]),j=h.concat(l).concat(m),g.find("*[width]").each(function(){var c=a(this),d={height:c.height(),width:c.width(),outerHeight:c.outerHeight(),outerWidth:c.outerWidth()};o&&a.effects.save(c,j),c.from={height:d.height*f.from.y,width:d.width*f.from.x,outerHeight:d.outerHeight*f.from.y,outerWidth:d.outerWidth*f.from.x},c.to={height:d.height*f.to.y,width:d.width*f.to.x,outerHeight:d.height*f.to.y,outerWidth:d.width*f.to.x},f.from.y!==f.to.y&&(c.from=a.effects.setTransition(c,l,f.from.y,c.from),c.to=a.effects.setTransition(c,l,f.to.y,c.to)),f.from.x!==f.to.x&&(c.from=a.effects.setTransition(c,m,f.from.x,c.from),c.to=a.effects.setTransition(c,m,f.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.easing,function(){o&&a.effects.restore(c,j)})})),g.animate(g.to,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){0===g.to.opacity&&g.css("opacity",g.from.opacity),"hide"===n&&g.hide(),a.effects.restore(g,s),o||("static"===r?g.css({position:"relative",top:g.to.top,left
vendor: 36,361 bytes, line 39372
39372:g.to.left}):a.each(["top","left"],function(a,b){g.css(b,function(b,c){var d=parseInt(c,10),e=a?g.to.left:g.to.top;return"auto"===c?e+"px":d+e+"px"})})),a.effects.removeWrapper(g),c()}})}}(jQuery),function(a,b){a.effects.effect.shake=function(b,c){var q,d=a(this),e=["position","top","bottom","left","right","height","width"],f=a.effects.setMode(d,b.mode||"effect"),g=b.direction||"left",h=b.distance||20,i=b.times||3,j=2*i+1,k=Math.round(b.duration/j),l="up"===g||"down"===g?"top":"left",m="up"===g||"left"===g,n={},o={},p={},r=d.queue(),s=r.length;for(a.effects.save(d,e),d.show(),a.effects.createWrapper(d),n[l]=(m?"-=":"+=")+h,o[l]=(m?"+=":"-=")+2*h,p[l]=(m?"-=":"+=")+2*h,d.animate(n,k,b.easing),q=1;q<i;q++)d.animate(o,k,b.easing).animate(p,k,b.easing);d.animate(o,k,b.easing).animate(n,k/2,b.easing).queue(function(){"hide"===f&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}),s>1&&r.splice.apply(r,[1,0].concat(r.splice(s,j+1))),d.dequeue()}}(jQuery),function(a,b){a.effects.effect.slide=function(b,c){var k,d=a(this),e=["position","top","bottom","left","right","width","height"],f=a.effects.setMode(d,b.mode||"show"),g="show"===f,h=b.direction||"left",i="up"===h||"down"===h?"top":"left",j="up"===h||"left"===h,l={};a.effects.save(d,e),d.show(),k=b.distance||d["top"===i?"outerHeight":"outerWidth"](!0),a.effects.createWrapper(d).css({overflow:"hidden"}),g&&d.css(i,j?isNaN(k)?"-"+k:-k:k),l[i]=(g?j?"+=":"-=":j?"-=":"+=")+k,d.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===f&&d.hide(),a.effects.restore(d,e),a.effects.removeWrapper(d),c()}})}}(jQuery),function(a,b){a.effects.effect.transfer=function(b,c){var d=a(this),e=a(b.to),f="fixed"===e.css("position"),g=a("body"),h=f?g.scrollTop():0,i=f?g.scrollLeft():0,j=e.offset(),k={top:j.top-h,left:j.left-i,height:e.innerHeight(),width:e.innerWidth()},l=d.offset(),m=a("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(b.className).css({top:l.top-h,left:l.left-i,height:d.innerHeight(),width:d.innerWidth(),position:f?"fixed":"absolute"}).animate(k,b.duration,b.easing,function(){m.remove(),c()})}}(jQuery),function(a,b){a.widget("ui.menu",{version:"1.10.3",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,a.proxy(function(a){this.options.disabled&&a.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(a){a.preventDefault()},"click .ui-state-disabled > a":function(a){a.preventDefault()},"click .ui-menu-item:has(a)":function(b){var c=a(b.target).closest(".ui-menu-item");!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(b),c.has(".ui-menu").length?this.expand(b):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(b){var c=a(b.currentTarget);c.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.children(".ui-menu-item").eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(b){a(b.target).closest(".ui-menu").length||this.collapseAll(b),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){function i(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var c,d,e,f,g,h=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:h=!1,d=this.previousFilter||"",e=String.fromCharCode(b.keyCode),f=!1,clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,g=new RegExp("^"+i(e),"i"),c=this.activeMenu.children(".ui-menu-item").filter(function(){return g.test(a(this).children("a").text())}),c=f&&c.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),g=new RegExp("^"+i(e),"i"),c=this.activeMenu.children(".ui-menu-item").filter(function(){return g.test(a(this).children("a").text())})),c.length?(this.focus(b,c),c.length>1?(this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(a):this.select(a))},refresh:function(){var b,c=this.options.icons.submenu,d=this.element.find(this.options.menus);d.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),d=b.prev("a"),e=a("<span>").addClass("ui-menu-icon ui-icon "+c).data("ui-menu-submenu-carat",!0);d.attr("aria-haspopup","true").prepend(e),b.attr("aria-labelledby",d.attr("id"))}),b=d.add(this.element),b.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),b.children(":not(.ui-menu-item)").each(function(){var b=a(this);/[^\-\u2014\u2013\s]/.test(b.text())||b.addClass("ui-widget-content ui-menu-divider")}),b.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){"icons"===a&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(b.submenu),this._super(a,b)},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.height(),e<0?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.children(".ui-menu-item")[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.children(".ui-menu-item").first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)}})}(jQuery),function(a,b){function m(a,b,c){return[parseFloat(a[0])*(k.test(a[0])?b/100:1),parseFloat(a[1])*(k.test(a[1])?c/100:1)]}function n(b,c){return parseInt(a.css(b,c),10)||0}function o(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var c,d=Math.max,e=Math.abs,f=Math.round,g=/left|center|right/,h=/top|center|bottom/,i=/[\+\-]\d+(\.[\d]+)?%?/,j=/^\w+/,k=/%$/,l=a.fn.position;a.position={scrollbarWidth:function(){if(c!==b)return c;var d,e,f=a("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),g=f.children()[0];return a("body").append(f),d=g.offsetWidth,f.css("overflow","scroll"),e=g.offsetWidth,d===e&&(e=f[0].clientWidth),f.remove(),c=d-e},getScrollInfo:function(b){var c=b.isWindow?"":b.element.css("overflow-x"),d=b.isWindow?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]);return{element:c,isWindow:d,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d?c.width():c.outerWidth(),height:d?c.height():c.outerHeight()}}},a.fn.position=function(b){if(!b||!b.of)return l.apply(this,arguments);b=a.extend({},b);var c,k,p,q,r,s,t=a(b.of),u=a.position.getWithinInfo(b.within),v=a.position.getScrollInfo(u),w=(b.collision||"flip").split(" "),x={};return s=o(t),t[0].preventDefault&&(b.at="left top"),k=s.width,p=s.height,q=s.offset,r=a.extend({},q),a.each(["my","at"],function(){var c,d,a=(b[this]||"").split(" ");1===a.length&&(a=g.test(a[0])?a.concat(["center"]):h.test(a[0])?["center"].concat(a):["center","center"]),a[0]=g.test(a[0])?a[0]:"center",a[1]=h.test(a[1])?a[1]:"center",c=i.exec(a[0]),d=i.exec(a[1]),x[this]=[c?c[0]:0,d?d[0]:0],b[this]=[j.exec(a[0])[0],j.exec(a[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===b.at[0]?r.left+=k:"center"===b.at[0]&&(r.left+=k/2),"bottom"===b.at[1]?r.top+=p:"center"===b.at[1]&&(r.top+=p/2),c=m(x.at,k,p),r.left+=c[0],r.top+=c[1],this.each(function(){var g,h,i=a(this),j=i.outerWidth(),l=i.outerHeight(),o=n(this,"marginLeft"),s=n(this,"marginTop"),y=j+o+n(this,"marginRight")+v.width,z=l+s+n(this,"marginBottom")+v.height,A=a.extend({},r),B=m(x.my,i.outerWidth(),i.outerHeight());"right"===b.my[0]?A.left-=j:"center"===b.my[0]&&(A.left-=j/2),"bottom"===b.my[1]?A.top-=l:"center"===b.my[1]&&(A.top-=l/2),A.left+=B[0],A.top+=B[1],a.support.offsetFractions||(A.left=f(A.left),A.top=f(A.top)),g={marginLeft:o,marginTop:s},a.each(["left","top"],function(d,e){a.ui.position[w[d]]&&a.ui.position[w[d]][e](A,{targetWidth:k,targetHeight:p,elemWidth:j,elemHeight:l,collisionPosition:g,collisionWidth:y,collisionHeight:z,offset:[c[0]+B[0],c[1]+B[1]],my:b.my,at:b.at,within:u,elem:i})}),b.using&&(h=function(a){var c=q.left-A.left,f=c+k-j,g=q.top-A.top,h=g+p-l,m={target:{element:t,left:q.left,top:q.top,width:k,height:p},element:{element:i,left:A.left,top:A.top,width:j,height:l},horizontal:f<0?"left":c>0?"right":"center",vertical:h<0?"top":g>0?"bottom":"middle"};k<j&&e(c+f)<k&&(m.horizontal="center"),p<l&&e(g+h)<p&&(m.vertical="middle"),d(e(c),e(f))>d(e(g),e(h))?m.important="horizontal":m.important="vertical",b.using.call(this,a,m)}),i.offset(a.extend(A,{using:h}))})},a.ui.position={fit:{left:function(a,b){var j,c=b.within,e=c.isWindow?c.scrollLeft:c.offset.left,f=c.width,g=a.left-b.collisionPosition.marginLeft,h=e-g,i=g+b.collisionWidth-f-e;b.collisionWidth>f?h>0&&i<=0?(j=a.left+h+b.collisionWidth-f-e,a.left+=h-j):i>0&&h<=0?a.left=e:h>i?a.left=e+f-b.collisionWidth:a.left=e:h>0?a.left+=h:i>0?a.left-=i:a.left=d(a.left-g,a.left)},top:function(a,b){var j,c=b.within,e=c.isWindow?c.scrollTop:c.offset.top,f=b.within.height,g=a.top-b.collisionPosition.marginTop,h=e-g,i=g+b.collisionHeight-f-e;b.collisionHeight>f?h>0&&i<=0?(j=a.top+h+b.collisionHeight-f-e,a.top+=h-j):i>0&&h<=0?a.top=e:h>i?a.top=e+f-b.collisionHeight:a.top=e:h>0?a.top+=h:i>0?a.top-=i:a.top=d(a.top-g,a.top)}},flip:{left:function(a,b){var n,o,c=b.within,d=c.offset.left+c.scrollLeft,f=c.width,g=c.isWindow?c.scrollLeft:c.offset.left,h=a.left-b.collisionPosition.marginLeft,i=h-g,j=h+b.collisionWidth-f-g,k="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,l="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,m=-2*b.offset[0];i<0?(n=a.left+k+l+m+b.collisionWidth-f-d,(n<0||n<e(i))&&(a.left+=k+l+m)):j>0&&(o=a.left-b.collisionPosition.marginLeft+k+l+m-g,(o>0||e(o)<j)&&(a.left+=k+l+m))},top:function(a,b){var o,p,c=b.within,d=c.offset.top+c.scrollTop,f=c.height,g=c.isWindow?c.scrollTop:c.offset.top,h=a.top-b.collisionPosition.marginTop,i=h-g,j=h+b.collisionHeight-f-g,k="top"===b.my[1],l=k?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,m="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,n=-2*b.offset[1];i<0?(p=a.top+l+m+n+b.collisionHeight-f-d,a.top+l+m+n>i&&(p<0||p<e(i))&&(a.top+=l+m+n)):j>0&&(o=a.top-b.collisionPosition.marginTop+l+m+n-g,a.top+l+m+n>j&&(o>0||e(o)<j)&&(a.top+=l+m+n))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,f,g=document.getElementsByTagName("body")[0],h=document.createElement("div");b=document.createElement(g?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},g&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(f in d)b.style[f]=d[f];b.appendChild(h),c=g||document.documentElement,c.insertBefore(b,c.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",e=a(h).offset().left,a.support.offsetFractions=e>10&&e<11,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a,b){a.widget("ui.progressbar",{version:"1.10.3",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(a){return a===b?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return a===b&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),this._super(a,b)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).toggleClass("ui-corner-right",b===this.options.max).width(c.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}})}(jQuery),function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var b,c,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;b<c;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)})},_createRange:function(){var b=this.options,c="";b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=a("<div></div>").appendTo(this.element),c="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(c+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:""))):this.range=a([])},_setupEvents:function(){var a=this.handles.add(this.range).filter("a");this._off(a),this._on(a,this._handleEvents),this._hoverable(a),this._focusable(a)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return!l.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h!==!1&&(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._lastChangedValue=b,this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments),b){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this.options.values&&this.options.values.length){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=!this._animateOff&&h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))},_handleEvents:{keydown:function(b){var d,e,f,g,h=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),d=this._start(b,h),d===!1))return}switch(g=this.options.step,e=f=this.options.values&&this.options.values.length?this.values(h):this.value(),b.keyCode){case a.ui.keyCode.HOME:f=this._valueMin();break;case a.ui.keyCode.END:f=this._valueMax();break;case a.ui.keyCode.PAGE_UP:f=this._trimAlignValue(e+(this._valueMax()-this._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:f=this._trimAlignValue(e-(this._valueMax()-this._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(e===this._valueMax())return;f=this._trimAlignValue(e+g);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(e===this._valueMin())return;f=this._trimAlignValue(e-g)}this._slide(b,h,f)},click:function(a){a.preventDefault()},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}})}(jQuery),function(a){function b(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}a.widget("ui.spinner",{version:"1.10.3",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function d(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=c,this._delay(function(){this.previous=c}))}var c;c=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),d.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,d.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){if(a(b.currentTarget).hasClass("ui-state-active"))return this._start(b)!==!1&&void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span></a><a class='ui-spinner-button ui-spinner-down ui-corner-br'><span class='ui-icon "+this.options.icons.down+"'>&#9660;</span></a>"},_start:function(a){return!(!this.spinning&&this._trigger("start",a)===!1)&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return c===-1?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){if("culture"===a||"numberFormat"===a){var c=this._parse(this.element.val());return this.options[a]=b,void this.element.val(this._format(c))}"max"!==a&&"min"!==a&&"step"!==a||"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(b.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(b.down)),this._super(a,b),"disabled"===a&&(b?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:b(function(a){this._super(a),this._value(this.element.val())}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:b(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:b(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:b(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:b(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void b(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}
vendor: 10,571 bytes, line 39372
39372)}(jQuery),function(a,b){function e(){return++c}function f(a){return a.hash.length>1&&decodeURIComponent(a.href.replace(d,""))===decodeURIComponent(location.href.replace(d,""))}var c=0,d=/#.*$/;a.widget("ui.tabs",{version:"1.10.3",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(c.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){if(a(e).attr("aria-controls")===d)return b=c,!1}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==b&&b!==-1||(b=!!this.tabs.length&&0)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),b===-1&&(b=!c&&0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d!==this.options.active&&d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function e(){return b>d&&(b=0),b<0&&(b=d),b}for(var d=this.tabs.length-1;a.inArray(e(),this.options.disabled)!==-1;)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_tabId:function(a){return a.attr("aria-controls")||"ui-tabs-"+e()},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,g,h,i=a(d).uniqueId().attr("id"),j=a(d).closest("li"),k=j.attr("aria-controls");f(d)?(e=d.hash,g=b.element.find(b._sanitizeSelector(e))):(h=b._tabId(j),e="#"+h,g=b.element.find(e),g.length||(g=b._createPanel(h),g.insertAfter(b.panels[c-1]||b.tablist)),g.attr("aria-live","polite")),g.length&&(b.panels=b.panels.add(g)),k&&j.data("ui-tabs-aria-controls",k),j.attr({"aria-controls":e.substring(1),"aria-labelledby":i}),g.attr("aria-labelledby",i)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var d,c=0;d=this.tabs[c];c++)b===!0||a.inArray(c,b)!==-1?a(d).addClass("ui-state-disabled").attr("aria-disabled","true"):a(d).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={click:function(a){a.preventDefault()}};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=!h&&this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function g(){d.running=!1,d._trigger("activate",b,c)}function h(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),e.length&&d.options.show?d._show(e,d.options.show,g):(e.show(),g())}var d=this,e=c.newPanel,f=c.oldPanel;this.running=!0,f.length&&this.options.hide?this._hide(f,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),f.hide(),h()),f.attr({"aria-expanded":"false","aria-hidden":"true"}),c.oldTab.attr("aria-selected","false"),e.length&&f.length?c.oldTab.attr("tabIndex",-1):e.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),e.attr({"aria-expanded":"true","aria-hidden":"false"}),c.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(c){var d=this.options.disabled;d!==!1&&(c===b?d=!1:(c=this._getIndex(c),d=a.isArray(d)?a.map(d,function(a){return a!==c?a:null}):a.map(this.tabs,function(a,b){return b!==c?b:null})),this._setupDisabled(d))},disable:function(c){var d=this.options.disabled;if(d!==!0){if(c===b)d=!0;else{if(c=this._getIndex(c),a.inArray(c,d)!==-1)return;
39372d=a.isArray(d)?a.merge([c],d).sort():[c]}this._setupDisabled(d)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),g=e.find(".ui-tabs-anchor"),h=this._getPanelForTab(e),i={tab:e,panel:h};f(g[0])||(this.xhr=a.ajax(this._ajaxSettings(g,c,i)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),h.attr("aria-busy","true"),this.xhr.success(function(a){setTimeout(function(){h.html(a),d._trigger("load",c,i)},1)}).complete(function(a,b){setTimeout(function(){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),h.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})}(jQuery),function(a){function c(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))}function d(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);e!==-1&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")}var b=0;a.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d[0],b.close(e,!0)}),this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var d,b=a(this);b.data("ui-tooltip-open")&&(d=a.Event("blur"),d.target=d.currentTarget=this,c.close(d,!0)),b.attr("title")&&(b.uniqueId(),c.parents[this.id]={element:this,title:b.attr("title")},b.attr("title",""))}),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){a.data("ui-tooltip-open")&&e._delay(function(){b&&(b.type=f),this._open(b,a,c)})}),void(c&&this._open(b,a,c)))},_open:function(b,d,e){function j(a){i.of=a,f.is(":hidden")||f.position(i)}var f,g,h,i=a.extend({},this.options.position);if(e){if(f=this._find(d),f.length)return void f.find(".ui-tooltip-content").html(e);d.is("[title]")&&(b&&"mouseover"===b.type?d.attr("title",""):d.removeAttr("title")),f=this._tooltip(d),c(d,f.attr("id")),f.find(".ui-tooltip-content").html(e),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:j}),j(b)):f.position(a.extend({of:d},this.options.position)),f.hide(),this._show(f,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){f.is(":visible")&&(j(i.of),clearInterval(h))},a.fx.interval)),this._trigger("open",b,{tooltip:f}),g={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var c=a.Event(b);c.currentTarget=d[0],this.close(c,!0)}},remove:function(){this._removeTooltip(f)}},b&&"mouseover"!==b.type||(g.mouseleave="close"),b&&"focusin"!==b.type||(g.focusout="close"),this._on(!0,d,g)}},close:function(b){var c=this,e=a(b?b.currentTarget:this.element),f=this._find(e);this.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title")),d(e),f.stop(!0),this._hide(f,this.options.hide,function(){c._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,d){a(d.element).attr("title",d.title),delete c.parents[b]}),this.closing=!0,this._trigger("close",b,{tooltip:f}),this.closing=!1)},_tooltip:function(c){var d="ui-tooltip-"+b++,e=a("<div>").attr({id:d,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return a("<div>").addClass("ui-tooltip-content").appendTo(e),e.appendTo(this.document[0].body),this.tooltips[d]=c,e},_find:function(b){var c=b.data("ui-tooltip-id");return c?a("#"+c):a()},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d[0],b.close(e,!0),a("#"+c).remove(),d.data("ui-tooltip-title")&&(d.attr("title",d.data("ui-tooltip-title")),d.removeData("ui-tooltip-title"))})}})}(jQuery);window.product=function(t){function e(e){for(var n,a,u=e[0],s=e[1],c=e[2],d=0,f=[];d<u.length;d++)a=u[d],Object.prototype.hasOwnProperty.call(i,a)&&i[a]&&f.push(i[a][0]),i[a]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n]);for(l&&l(e);f.length;)f.shift()();return o.push.apply(o,c||[]),r()}function r(){for(var t,e=0;e<o.length;e++){for(var r=o[e],n=!0,u=1;u<r.length;u++){var s=r[u];0!==i[s]&&(n=!1)}n&&(o.splice(e--,1),t=a(a.s=r[0]))}return t}var n={},i={7:0,2:0,5:0},o=[];function a(e){if(n[e])return n[e].exports;var r=n[e]={i:e,l:!1,exports:{}};
39372return t[e].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=t,a.c=n,a.d=function(t,e,r){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)a.d(r,n,function(e){return t[e]}.bind(null,n));return r},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="";var u=window.webpackJsonp_name_=window.webpackJsonp_name_||[],s=u.push.bind(u);u.push=e,u=u.slice();for(var c=0;c<u.length;c++)e(u[c]);var l=s;return o.push([432,0,1]),r()}({0:function(t,e,r){"use strict";r.d(e,"c",(function(){return i})),r.d(e,"a",(function(){return o})),r.d(e,"b",(function(){return a})),r.d(e,"d",(function(){return u})),r.d(e,"e",(function(){return s}));var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function i(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var i in e=arguments[r])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function a(t,e,r,n){return new(r||(r=Promise))((function(i,o){function a(t){try{s(n.next(t))}catch(t){o(t)}}function u(t){try{s(n.throw(t))}catch(t){o(t)}}function s(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,u)}s((n=n.apply(t,e||[])).next())}))}function u(t,e){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=e.call(t,a)}catch(t){o=[6,t],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}}function s(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),i=0;for(e=0;e<r;e++)for(var o=arguments[e],a=0,u=o.length;a<u;a++,i++)n[i]=o[a];return n}},10:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(35)),i=o(r(30));function o(t){return t&&t.__esModule?t:{default:t}}
39373/**
39374 * 2007-2020 PrestaShop and Contributors
39375 *
39376 * NOTICE OF LICENSE
39377 *
39378 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39379 * that is bundled with this package in the file LICENSE.txt.
39380 * It is also available through the world-wide-web at this URL:
39381 * https://opensource.org/licenses/AFL-3.0
39382 * If you did not receive a copy of the license and are unable to
39383 * obtain it through the world-wide-web, please send an email
39384 * to [email protected] so we can send you a copy immediately.
39385 *
39386 * @author    PrestaShop SA <[email protected]>
39387 * @copyright 2007-2020 PrestaShop SA and Contributors
39388 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39389 * International Registered Trademark & Property of PrestaShop SA
39390 */var a=new n.default;window.WishlistEventBus=a,i.default.emit("wishlistEventBusInit"),e.default=a},101:function(t,e,r){"use strict";
39390Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n  mutation removeFromList($listId: Int!, $productId: Int!, $productAttributeId: Int!, $url: String!) {\n    removeFromList(listId: $listId, productId: $productId, productAttributeId: $productAttributeId, url: $url) {\n      success\n      message\n    }\n  }\n"],["\n  mutation removeFromList($listId: Int!, $productId: Int!, $productAttributeId: Int!, $url: String!) {\n    removeFromList(listId: $listId, productId: $productId, productAttributeId: $productAttributeId, url: $url) {\n      success\n      message\n    }\n  }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},104:function(t,e,r){"use strict";r.r(e),r.d(e,"ContentLoader",(function(){return a})),r.d(e,"BulletListLoader",(function(){return u})),r.d(e,"CodeLoader",(function(){return s})),r.d(e,"FacebookLoader",(function(){return c})),r.d(e,"ListLoader",(function(){return l})),r.d(e,"InstagramLoader",(function(){return d}));var n=r(34),i=r.n(n),o=function(){return Math.random().toString(36).substring(2)},a={name:"ContentLoader",functional:!0,props:{width:{type:[Number,String],default:400},height:{type:[Number,String],default:130},speed:{type:Number,default:2},preserveAspectRatio:{type:String,default:"xMidYMid meet"},baseUrl:{type:String,default:""},primaryColor:{type:String,default:"#f9f9f9"},secondaryColor:{type:String,default:"#ecebeb"},primaryOpacity:{type:Number,default:1},secondaryOpacity:{type:Number,default:1},uniqueKey:{type:String},animate:{type:Boolean,default:!0}},render:function(t,e){var r=e.props,n=e.data,a=e.children,u=r.uniqueKey?r.uniqueKey+"-idClip":o(),s=r.uniqueKey?r.uniqueKey+"-idGradient":o();return t("svg",i()([n,{attrs:{viewBox:"0 0 "+r.width+" "+r.height,version:"1.1",preserveAspectRatio:r.preserveAspectRatio}}]),[t("rect",{style:{fill:"url("+r.baseUrl+"#"+s+")"},attrs:{"clip-path":"url("+r.baseUrl+"#"+u+")",x:"0",y:"0",width:r.width,height:r.height}}),t("defs",[t("clipPath",{attrs:{id:u}},[a||t("rect",{attrs:{x:"0",y:"0",rx:"5",ry:"5",width:r.width,height:r.height}})]),t("linearGradient",{attrs:{id:s}},[t("stop",{attrs:{offset:"0%","stop-color":r.primaryColor,"stop-opacity":r.primaryOpacity}},[r.animate?t("animate",{attrs:{attributeName:"offset",values:"-2; 1",dur:r.speed+"s",repeatCount:"indefinite"}}):null]),t("stop",{attrs:{offset:"50%","stop-color":r.secondaryColor,"stop-opacity":r.secondaryOpacity}},[r.animate?t("animate",{attrs:{attributeName:"offset",values:"-1.5; 1.5",dur:r.speed+"s",repeatCount:"indefinite"}}):null]),t("stop",{attrs:{offset:"100%","stop-color":r.primaryColor,"stop-opacity":r.primaryOpacity}},[r.animate?t("animate",{attrs:{attributeName:"offset",values:"-1; 2",dur:r.speed+"s",repeatCount:"indefinite"}}):null])])])])}},u={name:"BulletListLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("circle",{attrs:{cx:"10",cy:"20",r:"8"}}),t("rect",{attrs:{x:"25",y:"15",rx:"5",ry:"5",width:"220",height:"10"}}),t("circle",{attrs:{cx:"10",cy:"50",r:"8"}}),t("rect",{attrs:{x:"25",y:"45",rx:"5",ry:"5",width:"220",height:"10"}}),t("circle",{attrs:{cx:"10",cy:"80",r:"8"}}),t("rect",{attrs:{x:"25",y:"75",rx:"5",ry:"5",width:"220",height:"10"}}),t("circle",{attrs:{cx:"10",cy:"110",r:"8"}}),t("rect",{attrs:{x:"25",y:"105",rx:"5",ry:"5",width:"220",height:"10"}})])}},s={name:"CodeLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("rect",{attrs:{x:"0",y:"0",rx:"3",ry:"3",width:"70",height:"10"}}),t("rect",{attrs:{x:"80",y:"0",rx:"3",ry:"3",width:"100",height:"10"}}),t("rect",{attrs:{x:"190",y:"0",rx:"3",ry:"3",width:"10",height:"10"}}),t("rect",{attrs:{x:"15",y:"20",rx:"3",ry:"3",width:"130",height:"10"}}),t("rect",{attrs:{x:"155",y:"20",rx:"3",ry:"3",width:"130",height:"10"}}),t("rect",{attrs:{x:"15",y:"40",rx:"3",ry:"3",width:"90",height:"10"}}),t("rect",{attrs:{x:"115",y:"40",rx:"3",ry:"3",width:"60",height:"10"}}),t("rect",{attrs:{x:"185",y:"40",rx:"3",ry:"3",width:"60",height:"10"}}),t("rect",{attrs:{x:"0",y:"60",rx:"3",ry:"3",width:"30",height:"10"}})])}},c={name:"FacebookLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("rect",{attrs:{x:"70",y:"15",rx:"4",ry:"4",width:"117",height:"6.4"}}),t("rect",{attrs:{x:"70",y:"35",rx:"3",ry:"3",width:"85",height:"6.4"}}),t("rect",{attrs:{x:"0",y:"80",rx:"3",ry:"3",width:"350",height:"6.4"}}),t("rect",{attrs:{x:"0",y:"100",rx:"3",ry:"3",width:"380",height:"6.4"}}),t("rect",{attrs:{x:"0",y:"120",rx:"3",ry:"3",width:"201",height:"6.4"}}),t("circle",{attrs:{cx:"30",cy:"30",r:"30"}})])}},l={name:"ListLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,r,[t("rect",{attrs:{x:"0",y:"0",rx:"3",ry:"3",width:"250",height:"10"}}),t("rect",{attrs:{x:"20",y:"20",rx:"3",ry:"3",width:"220",height:"10"}}),t("rect",{attrs:{x:"20",y:"40",rx:"3",ry:"3",width:"170",height:"10"}}),t("rect",{attrs:{x:"0",y:"60",rx:"3",ry:"3",width:"250",height:"10"}}),t("rect",{attrs:{x:"20",y:"80",rx:"3",ry:"3",width:"200",height:"10"}}),t("rect",{attrs:{x:"20",y:"100",rx:"3",ry:"3",width:"80",height:"10"}})])}},d={name:"InstagramLoader",functional:!0,render:function(t,e){var r=e.data;return t(a,i()([r,{attrs:{height:480}}]),[t("circle",{attrs:{cx:"30",cy:"30",r:"30"}}),t("rect",{attrs:{x:"75",y:"13",rx:"4",ry:"4",width:"100",height:"13"}}),t("rect",{attrs:{x:"75",y:"37",rx:"4",ry:"4",width:"50",height:"8"}}),t("rect",{attrs:{x:"0",y:"70",rx:"5",ry:"5",width:"400",height:"400"}})])}}},105:function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"wishlist-button-add",class:{"wishlist-button-product":this.isProduct},on:{click:this.addToWishlist}},[this.isChecked?e("i",{staticClass:"material-icons"},[this._v("favorite")]):e("i",{staticClass:"material-icons"},[this._v("favorite_border")])])},i=[];n._withStripped=!0},106:function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"wishlist-chooselist"},[r("ul",{staticClass:"wishlist-list"},t._l(t.lists,(function(e){return r("li",{key:e.id_wishlist,staticClass:"wishlist-list-item",on:{click:function(r){return t.select(e.id_wishlist)}}},[r("p",[t._v("\n        "+t._s(e.name)+"\n      ")])])})),0),t._v(" "),t.$apollo.queries.lists.loading?r("ContentLoader",{staticClass:"wishlist-list-loader",attrs:{height:"105"}},[r("rect",{attrs:{x:"0",y:"12",rx:"3",ry:"0",width:"100%",height:"11"}}),t._v(" "),r("rect",{attrs:{x:"0",y:"36",rx:"3",ry:"0",width:"100%",height:"11"}}),t._v(" "),r("rect",{attrs:{x:"0",y:"60",rx:"3",ry:"0",width:"100%",height:"11"}}),t._v(" "),r("rect",{attrs:{x:"0",y:"84",rx:"3",ry:"0",width:"100%",height:"11"}})]):t._e(),t._v(" "),t.lists&&t.lists.length<=0&&!t.$apollo.queries.lists.loading?r("p",{staticClass:"wishlist-list-empty"},[t._v("\n    "+t._s(t.emptyText)+"\n  ")]):t._e()],1)},i=[];n._withStripped=!0},12:function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},131:function(t,e,r){var n=r(208);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("0e4dc420",n,!1,{})},132:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(133));function o(t){return t&&t.__esModule?t:{default:t}}
39391/**
39392 * 2007-2020 PrestaShop and Contributors
39393 *
39394 * NOTICE OF LICENSE
39395 *
39396 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39397 * that is bundled with this package in the file LICENSE.txt.
39398 * It is also available through the world-wide-web at this URL:
39399 * https://opensource.org/licenses/AFL-3.0
39400 * If you did not receive a copy of the license and are unable to
39401 * obtain it through the world-wide-web, please send an email
39402 * to [email protected] so we can send you a copy immediately.
39403 *
39404 * @author    PrestaShop SA <[email protected]>
39405 * @copyright 2007-2020 PrestaShop SA and Contributors
39406 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39407 * International Registered Trademark & Property of PrestaShop SA
39408 */var a=[{name:"url",type:String},{name:"title",type:String},{name:"label",type:String},{name:"productId",type:Number},{name:"placeholder",type:String},{name:"cancelText",type:String},{name:"lengthText",type:String},{name:"createText",type:String}];(0,n.default)(i.default,".wishlist-create",a)},133:function(t,e,r){"use strict";r.r(e);var n=r(37);for(var i in n)["default"].indexOf(i)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(i);r(135);var o=r(4),a=Object(o.a)(n.default,void 0,void 0,!1,null,null,null);a.options.__file="_dev/front/js/components/Create/Create.vue",e.default=a.exports},134:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n  mutation createList($name: String!, $url: String!) {\n    createList(name: $name, url: $url) {\n      message\n      datas {\n        name\n        id_wishlist\n      }\n      success\n    }\n  }\n"],["\n  mutation createList($name: String!, $url: String!) {\n    createList(name: $name, url: $url) {\n      message\n      datas {\n        name\n        id_wishlist\n      }\n      success\n    }\n  }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},135:function(t,e,r){"use strict";r(83)},136:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-create .wishlist-modal{opacity:0;pointer-events:none;z-index:0}.wishlist-create .wishlist-modal.show{opacity:1;pointer-events:all;z-index:1053}\n",""]),t.exports=e},138:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n  query lists($url: String!) {\n    lists(url: $url) {\n      id_wishlist\n      name\n      listUrl\n      shareUrl\n      nbProducts\n      default\n    }\n  }\n"],["\n  query lists($url: String!) {\n    lists(url: $url) {\n      id_wishlist\n      name\n      listUrl\n      shareUrl\n      nbProducts\n      default\n    }\n  }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},139:function(t,e,r){var n=r(219);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("74f2cc0d",n,!1,{})},14:function(t,e,r){t.exports=r(31)},140:function(t,e,r){var n=r(221);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("42165746",n,!1,{})},141:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(142));function o(t){return t&&t.__esModule?t:{default:t}}
39409/**
39410 * 2007-2020 PrestaShop and Contributors
39411 *
39412 * NOTICE OF LICENSE
39413 *
39414 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39415 * that is bundled with this package in the file LICENSE.txt.
39416 * It is also available through the world-wide-web at this URL:
39417 * https://opensource.org/licenses/AFL-3.0
39418 * If you did not receive a copy of the license and are unable to
39419 * obtain it through the world-wide-web, please send an email
39420 * to [email protected] so we can send you a copy immediately.
39421 *
39422 * @author    PrestaShop SA <[email protected]>
39423 * @copyright 2007-2020 PrestaShop SA and Contributors
39424 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39425 * International Registered Trademark & Property of PrestaShop SA
39426 */var a=[{name:"renameWishlistText",type:String},{name:"createWishlistText",type:String},{name:"addedWishlistText",type:String},{name:"shareText",type:String},{name:"deleteWishlistText",type:String},{name:"deleteProductText",type:String},{name:"copyText",type:String}];(0,n.default)(i.default,".wishlist-toast",a)},142:function(t,e,r){"use strict";r.r(e);var n=r(62),i=r(39);for(var o in i)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(o);r(143);var a=r(4),u=Object(a.a)(i.default,n.a,n.b,!1,null,null,null);u.options.__file="_dev/front/js/components/Toast/Toast.vue",e.default=u.exp
39426orts},143:function(t,e,r){"use strict";r(84)},144:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-toast{padding:0.875rem 1.25rem;box-sizing:border-box;width:auto;border:1px solid #e5e5e5;border-radius:4px;background-color:#ffffff;box-shadow:0.125rem 0.125rem 0.625rem 0 rgba(0,0,0,0.2);position:fixed;right:1.25rem;z-index:9999;top:4.375rem;transition:0.2s ease-out;transform:translateY(-10px);pointer-events:none;opacity:0}.wishlist-toast.success{background-color:#69b92d;border-color:#69b92d}.wishlist-toast.success .wishlist-toast-text{color:white}.wishlist-toast.error{background-color:#b9312d;border-color:#b9312d}.wishlist-toast.error .wishlist-toast-text{color:white}.wishlist-toast.isActive{transform:translateY(0);pointer-events:all;opacity:1}.wishlist-toast-text{color:#232323;font-size:0.875rem;letter-spacing:0;line-height:1.1875rem;margin-bottom:0}\n",""]),t.exports=e},146:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(19)),i=o(r(206));function o(t){return t&&t.__esModule?t:{default:t}}
39427/**
39428 * 2007-2020 PrestaShop and Contributors
39429 *
39430 * NOTICE OF LICENSE
39431 *
39432 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39433 * that is bundled with this package in the file LICENSE.txt.
39434 * It is also available through the world-wide-web at this URL:
39435 * https://opensource.org/licenses/AFL-3.0
39436 * If you did not receive a copy of the license and are unable to
39437 * obtain it through the world-wide-web, please send an email
39438 * to [email protected] so we can send you a copy immediately.
39439 *
39440 * @author    PrestaShop SA <[email protected]>
39441 * @copyright 2007-2020 PrestaShop SA and Contributors
39442 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39443 * International Registered Trademark & Property of PrestaShop SA
39444 */var a=function(){var t=[{name:"url",type:String},{name:"checked",type:Boolean},{name:"productId",type:Number},{name:"productAttributeId",type:Number},{name:"isProduct",type:Boolean}];(0,n.default)(i.default,".wishlist-button",t)};a(),e.default=a},15:function(t,e,r){"use strict";e.__esModule=!0;var n,i=r(33),o=(n=i)&&n.__esModule?n:{default:n};e.default=function(t){return function(){var e=t.apply(this,arguments);return new o.default((function(t,r){return function n(i,a){try{var u=e[i](a),s=u.value}catch(t){return void r(t)}if(!u.done)return o.default.resolve(s).then((function(t){n("next",t)}),(function(t){n("throw",t)}));t(s)}("next")}))}}},16:function(t,e,r){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=function(t,e){var r=t[1]||"",n=t[3];if(!n)return r;if(e&&"function"==typeof btoa){var i=(a=n,u=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(u),"/*# ".concat(s," */")),o=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[r].concat(o).concat([i]).join("\n")}var a,u,s;return[r].join("\n")}(e,t);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,n){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(n)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var u=0;u<t.length;u++){var s=[].concat(t[u]);n&&i[s[0]]||(r&&(s[2]?s[2]="".concat(r," and ").concat(s[2]):s[2]=r),e.push(s))}},e}},17:function(t,e,r){"use strict";function n(t,e){for(var r=[],n={},i=0;i<e.length;i++){var o=e[i],a=o[0],u={id:t+":"+i,css:o[1],media:o[2],sourceMap:o[3]};n[a]?n[a].parts.push(u):r.push(n[a]={id:a,parts:[u]})}return r}r.r(e),r.d(e,"default",(function(){return p}));var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},a=i&&(document.head||document.getElementsByTagName("head")[0]),u=null,s=0,c=!1,l=function(){},d=null,f="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function p(t,e,r,i){c=r,d=i||{};var a=n(t,e);return h(a),function(e){for(var r=[],i=0;i<a.length;i++){var u=a[i];
39444(s=o[u.id]).refs--,r.push(s)}e?h(a=n(t,e)):a=[];for(i=0;i<r.length;i++){var s;if(0===(s=r[i]).refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete o[s.id]}}}}function h(t){for(var e=0;e<t.length;e++){var r=t[e],n=o[r.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](r.parts[i]);for(;i<r.parts.length;i++)n.parts.push(v(r.parts[i]));n.parts.length>r.parts.length&&(n.parts.length=r.parts.length)}else{var a=[];for(i=0;i<r.parts.length;i++)a.push(v(r.parts[i]));o[r.id]={id:r.id,refs:1,parts:a}}}}function y(){var t=document.createElement("style");return t.type="text/css",a.appendChild(t),t}function v(t){var e,r,n=document.querySelector('style[data-vue-ssr-id~="'+t.id+'"]');if(n){if(c)return l;n.parentNode.removeChild(n)}if(f){var i=s++;n=u||(u=y()),e=b.bind(null,n,i,!1),r=b.bind(null,n,i,!0)}else n=y(),e=w.bind(null,n),r=function(){n.parentNode.removeChild(n)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else r()}}var m,g=(m=[],function(t,e){return m[t]=e,m.filter(Boolean).join("\n")});function b(t,e,r,n){var i=r?"":n.css;if(t.styleSheet)t.styleSheet.cssText=g(e,i);else{var o=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}function w(t,e){var r=e.css,n=e.media,i=e.sourceMap;if(n&&t.setAttribute("media",n),d.ssrId&&t.setAttribute("data-vue-ssr-id",e.id),i&&(r+="\n/*# sourceURL="+i.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}},174:function(t,e,r){"use strict";r.r(e);var n=r(175),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},175:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(10)),i=o(r(30));function o(t){return t&&t.__esModule?t:{default:t}}e.default={name:"Login",props:{cancelText:{type:String,required:!0,default:"Cancel"},loginText:{type:String,required:!0,default:"Login"}},data:function(){return{value:"",isHidden:!0,listId:null,prestashop:i.default}},methods:{toggleModal:function(){this.isHidden=!this.isHidden}},mounted:function(){var t=this;n.default.$on("showLogin",(function(){t.toggleModal()}))}}},19:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=u(r(42));e.default=function(t,e,r){i.default.use(o.default);var u=new o.default({defaultClient:a.default}),s=document.querySelectorAll(e),c=i.default.extend(t),l={};s.forEach((function(t){var e=!0,i=!1,o=void 0;try{for(var a,s=(0,n.default)(r);!(e=(a=s.next()).done);e=!0){var d=a.value;t.dataset[d.name]&&(d.type===Number?l[d.name]=parseInt(t.dataset[d.name],10):d.type===Boolean?l[d.name]="true"===t.dataset[d.name]:l[d.name]=t.dataset[d.name])}}catch(t){i=!0,o=t}finally{try{!e&&s.return&&s.return()}finally{if(i)throw o}}new c({el:t,delimiters:["((","))"],apolloProvider:u,propsData:l})}))}
39445/**
39446   * 2007-2020 PrestaShop and Contributors
39447   *
39448   * NOTICE OF LICENSE
39449   *
39450   * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39451   * that is bundled with this package in the file LICENSE.txt.
39452   * It is also available through the world-wide-web at this URL:
39453   * https://opensource.org/licenses/AFL-3.0
39454   * If you did not receive a copy of the license and are unable to
39455   * obtain it through the world-wide-web, please send an email
39456   * to [email protected] so we can send you a copy immediately.
39457   *
39458   * @author    PrestaShop SA <[email protected]>
39459   * @copyright 2007-2020 PrestaShop SA and Contributors
39460   * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39461   * International Registered Trademark & Property of PrestaShop SA
39462   */;var i=u(r(35)),o=u(r(91)),a=u(r(44));function u(t){return t&&t.__esModule?t:{default:t}}},20:function(t,e,r){"use strict";var n=r(27),i=r.n(n).a;e.a=i},206:function(t,e,r){"use strict";r.r(e);var n=r(105),i=r(69);for(var o in i)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(o);r(207);var a=r(4),u=Object(a.a)(i.default,n.a,n.b,!1,null,null,null);u.options.__file="_dev/front/js/components/Button/Button.vue",e.default=u.exp
39462orts},207:function(t,e,r){"use strict";r(131)},208:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-button-product{margin-left:1.25rem}.wishlist-button-add{display:flex;align-items:center;justify-content:center;height:2.5rem;width:2.5rem;min-width:2.5rem;padding-top:0.1875rem;background-color:#ffffff;box-shadow:0.125rem -0.125rem 0.25rem 0 rgba(0,0,0,0.2);border-radius:50%;cursor:pointer;transition:0.2s ease-out;border:none}.wishlist-button-add:hover{opacity:0.7}.wishlist-button-add:focus{outline:0}.wishlist-button-add:active{transform:scale(1.2)}.wishlist-button-add i{color:#7a7a7a}\n",""]),t.exports=e},21:function(t,e,r){"use strict";e.__esModule=!0;var n=o(r(56)),i=o(r(57));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){return(0,i.default)((0,n.default)(t,{raw:{value:(0,i.default)(e)}}))}},214:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(215));function o(t){return t&&t.__esModule?t:{default:t}}
39463/**
39464 * 2007-2020 PrestaShop and Contributors
39465 *
39466 * NOTICE OF LICENSE
39467 *
39468 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39469 * that is bundled with this package in the file LICENSE.txt.
39470 * It is also available through the world-wide-web at this URL:
39471 * https://opensource.org/licenses/AFL-3.0
39472 * If you did not receive a copy of the license and are unable to
39473 * obtain it through the world-wide-web, please send an email
39474 * to [email protected] so we can send you a copy immediately.
39475 *
39476 * @author    PrestaShop SA <[email protected]>
39477 * @copyright 2007-2020 PrestaShop SA and Contributors
39478 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39479 * International Registered Trademark & Property of PrestaShop SA
39480 */var a=[{name:"url",type:String}];(0,n.default)(i.default,".wishlist-add-to",a)},215:function(t,e,r){"use strict";r.r(e);var n=r(73);for(var i in n)["default"].indexOf(i)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(i);r(220);var o=r(4),a=Object(o.a)(n.default,void 0,void 0,!1,null,null,null);a.options.__file="_dev/front/js/components/AddToWishlist/AddToWishlist.vue",e.default=a.exports},216:function(t,e,r){"use strict";r.r(e);var n=r(106),i=r(75);for(var o in i)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(o);r(218);var a=r(4),u=Object(a.a)(i.default,n.a,n.b,!1,null,null,null);u.options.__file="_dev/front/js/components/ChooseList/ChooseList.vue",e.default=u.exports},217:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=(0,o(r(21)).default)(["\n  mutation addToList($listId: Int!, $productId: Int!, $quantity: Int!, $productAttributeId: Int!, $url: String!) {\n    addToList(\n      listId: $listId\n      productId: $productId\n      quantity: $quantity\n      productAttributeId: $productAttributeId\n      url: $url\n    ) {\n      success\n      message\n    }\n  }\n"],["\n  mutation addToList($listId: Int!, $productId: Int!, $quantity: Int!, $productAttributeId: Int!, $url: String!) {\n    addToList(\n      listId: $listId\n      productId: $productId\n      quantity: $quantity\n      productAttributeId: $productAttributeId\n      url: $url\n    ) {\n      success\n      message\n    }\n  }\n"]),i=o(r(23));function o(t){return t&&t.__esModule?t:{default:t}}e.default=(0,i.default)(n)},218:function(t,e,r){"use strict";r(139)},219:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-list{max-height:55vh;overflow-y:auto;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;margin:0}.wishlist-list-empty{font-size:30;text-align:center;padding:30px;padding-bottom:1.25rem;font-weight:bold;color:#000}.wishlist-list .wishlist-list-item{padding:0.875rem 0;transition:0.25s ease-out;cursor:pointer;margin-bottom:0}.wishlist-list .wishlist-list-item:hover{background:#ecf8fb}.wishlist-list .wishlist-list-item p{font-size:0.875rem;letter-spacing:0;color:#232323;margin-bottom:0;line-height:1rem;padding:0 2.5rem}\n",""]),t.exports=e},22:function(t,e){var r,n,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(t){if(r===setTimeout)return setTimeout(t,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(t){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(t){n=a}}();var s,c=[],l=!1,d=-1;function f(){l&&s&&(l=!1,s.length?c=s.concat(c):d=-1,c.length&&p())}function p(){if(!l){var t=u(f);l=!0;for(var e=c.length;e;){for(s=c,c=[];++d<e;)s&&s[d].run();d=-1,e=c.length}s=null,l=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function h(t,e){this.fun=t,this.array=e}function y(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new h(t,e)),1!==c.length||l||u(p)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=y,i.addListener=y,i.once=y,i.off=y,i.removeListener=y,i.removeAllListeners=y,i.emit=y,i.prependListener=y,i.prependOnceListener=y,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},220:function(t,e,r){"use strict";r(140)},221:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-add-to-new{cursor:pointer;transition:0.2s ease-out;font-size:0.875rem;letter-spacing:0;line-height:1rem}.wishlist-add-to-new:hover{opacity:0.7}.wishlist-add-to-new i{margin-right:0.3125rem;vertical-align:middle;color:#2fb5d2;margin-top:-0.125rem;font-size:1.25rem}.wishlist-add-to .modal-body{padding:0}.wishlist-add-to .modal-footer{text-align:left;padding:0.75rem 1.25rem}\n",""]),t.exports=e},24:function(t,e){var r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);t.exports=function(){return r(n),n}}else{var i=new Array(16);t.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),i[e]=t>>>((3&e)<<3)&255;return i}}},25:function(t,e){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);t.exports=function(t,e){var n=e||0,i=r;return[i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]]].join("")}},26:function(t,e,r){"use strict";function n(t){var e,r=t.Symbol;return"function"==typeof r?r.observable?e=r.observable:(e=r("observable"),r.observable=e):e="@@observable",e}r.d(e,"a",(function(){return n}))},27:function(t,e,r){t.exports=r(46).Observable},29:function(t,e,r){"use strict";r.d(e,"a",(function(){return u}));var n=Object.prototype,i=n.toString,o=n.hasOwnProperty,a=new Map;function u(t,e){try{return function t(e,r){if(e===r)return!0;var n=i.call(e),a=i.call(r);if(n!==a)return!1;switch(n){case"[object Array]":if(e.length!==r.length)return!1;case"[object Object]":if(s(e,r))return!0;var u=Object.keys(e),c=Object.keys(r),l=u.length;if(l!==c.length)return!1;for(var d=0;d<l;++d)if(!o.call(r,u[d]))return!1;for(d=0;d<l;++d){var f=u[d];if(!t(e[f],r[f]))return!1}return!0;case"[object Error]":return e.name===r.name&&e.message===r.message;case"[object Number]":if(e!=e)return r!=r;case"[object Boolean]":case"[object Date]":return+e==+r;case"[object RegExp]":case"[object String]":return e==""+r;case"[object Map]":case"[object Set]":if(e.size!==r.size)return!1;if(s(e,r))return!0;for(var p=e.entries(),h="[object Map]"===n;;){var y=p.next();if(y.done)break;var v=y.value,m=v[0],g=v[1];if(!r.has(m))return!1;if(h&&!t(g,r.get(m)))return!1}return!0}return!1}(t,e)}finally{a.clear()}}function s(t,e){var r=a.get(t);if(r){if(r.has(e))return!0}else a.set(t,r=new Set);return r.add(e),!1}},3:function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return a})),r.d(e,"b",(function(){return u}));
39480var n=r(0),i=Object.setPrototypeOf,o=void 0===i?function(t,e){return t.__proto__=e,t}:i,a=function(t){function e(r){void 0===r&&(r="Invariant Violation");var n=t.call(this,"number"==typeof r?"Invariant Violation: "+r+" (see https://github.com/apollographql/invariant-packages)":r)||this;return n.framesToPop=1,n.name="Invariant Violation",o(n,e.prototype),n}return Object(n.c)(e,t),e}(Error);function u(t,e){if(!t)throw new a(e)}function s(t){return function(){return console[t].apply(console,arguments)}}!function(t){t.warn=s("warn"),t.error=s("error")}(u||(u={}));var c={env:{}};if("object"==typeof t)c=t;else try{Function("stub","process = stub")(c)}catch(t){}}).call(this,r(22))},30:function(t,e){t.exports=window.prestashop},308:function(t,e,r){var n=r(438);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("24c92fe5",n,!1,{})},31:function(t,e,r){var n=function(){return this}()||Function("return this")(),i=n.regeneratorRuntime&&Object.getOwnPropertyNames(n).indexOf("regeneratorRuntime")>=0,o=i&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,t.exports=r(32),i)n.regeneratorRuntime=o;else try{delete n.regeneratorRuntime}catch(t){n.regeneratorRuntime=void 0}},32:function(t,e){!function(e){"use strict";var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag",s="object"==typeof t,c=e.regeneratorRuntime;if(c)s&&(t.exports=c);else{(c=e.regeneratorRuntime=s?t.exports:{}).wrap=y;var l={},d={};d[o]=function(){return this};var f=Object.getPrototypeOf,p=f&&f(f(k([])));p&&p!==r&&n.call(p,o)&&(d=p);var h=b.prototype=m.prototype=Object.create(d);g.prototype=h.constructor=b,b.constructor=g,b[u]=g.displayName="GeneratorFunction",c.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},c.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u in t||(t[u]="GeneratorFunction")),t.prototype=Object.create(h),t},c.awrap=function(t){return{__await:t}},w(_.prototype),_.prototype[a]=function(){return this},c.AsyncIterator=_,c.async=function(t,e,r,n){var i=new _(y(t,e,r,n));return c.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},w(h),h[u]="Generator",h[o]=function(){return this},h.toString=function(){return"[object Generator]"},c.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},c.values=k,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=n.call(o,"catchLoc"),s=n.call(o,"finallyLoc");if(u&&s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:k(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}}}function y(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),a=new O(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return T()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var u=x(a,r);if(u){if(u===l)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=v(t,e,r);
39480if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===l)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(t,r,a),o}function v(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}function m(){}function g(){}function b(){}function w(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function _(t){var e;this._invoke=function(r,i){function o(){return new Promise((function(e,o){!function e(r,i,o,a){var u=v(t[r],t,i);if("throw"!==u.type){var s=u.arg,c=s.value;return c&&"object"==typeof c&&n.call(c,"__await")?Promise.resolve(c.__await).then((function(t){e("next",t,o,a)}),(function(t){e("throw",t,o,a)})):Promise.resolve(c).then((function(t){s.value=t,o(s)}),a)}a(u.arg)}(r,i,e,o)}))}return e=e?e.then(o,o):o()}}function x(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=v(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,l;var i=n.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function k(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:T}}function T(){return{value:void 0,done:!0}}}(function(){return this}()||Function("return this")())},33:function(t,e,r){t.exports={default:r(82),__esModule:!0}},34:function(t,e){var r=/^(attrs|props|on|nativeOn|class|style|hook)$/;function n(t,e){return function(){t&&t.apply(this,arguments),e&&e.apply(this,arguments)}}t.exports=function(t){return t.reduce((function(t,e){var i,o,a,u,s;for(a in e)if(i=t[a],o=e[a],i&&r.test(a))if("class"===a&&("string"==typeof i&&(s=i,t[a]=i={},i[s]=!0),"string"==typeof o&&(s=o,e[a]=o={},o[s]=!0)),"on"===a||"nativeOn"===a||"hook"===a)for(u in o)i[u]=n(i[u],o[u]);else if(Array.isArray(i))t[a]=i.concat(o);else if(Array.isArray(o))t[a]=[i].concat(o);else for(u in o)i[u]=o[u];else t[a]=e[a];return t}),{})}},36:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={addToCart:{Accept:"application/json, text/javascript"},products:{"Content-Type":"application/json",Accept:"application/json, text/javascript, */*; q=0.01"}}},37:function(t,e,r){"use strict";r.r(e);var n=r(38),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},38:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=s(r(14)),o=s(r(15)),a=s(r(134)),u=s(r(10));function s(t){return t&&t.__esModule?t:{default:t}}e.default={name:"Create",props:{url:{type:String,required:!0,default:"#"},title:{type:String,required:!0,default:"New wishlist"},label:{type:String,required:!0,default:"Wishlist name"},placeholder:{type:String,required:!0,default:"Add name"},cancelText:{type:String,required:!0,default:"Cancel"},lengthText:{type:String,required:!0,default:"List title is too short"},createText:{type:String,required:!0,default:"Create"}},data:function(){return{value:"",isHidden:!0}},methods:{toggleModal:function(){this.isHidden=!this.isHidden},createWishlist:(n=(0,o.default)(i.default.mark((function t(){var e,r;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(this.value.replace(/ /g,"")<1)){t.next=4;break}return u.default.$emit("showToast",{detail:{type:"error",message:this.lengthText}}),t.abrupt("return",!1);case 4:return t.next=6,this.$apollo.mutate({mutation:a.default,variables:{name:this.value,url:this.url}});case 6:return e=t.sent,r=e.data,u.default.$emit("showToast",{detail:{type:r.createList.success?"success":"error",message:r.createList.message}}),u.default.$emit("refetchList"),this.toggleModal(),u.default.$emit("showAddToWishList",{detail:{forceOpen:!0}}),t.abrupt("return",!0);case 13:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},mounted:function(){var t=this;u.default.$on("showCreateWishlist",(function(){t.value="",t.toggleModal()}))}}},39:function(t,e,r){"use strict";r.r(e);var n=r(40),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},4:function(t,e,r){"use strict";function n(t,e,r,n,i,o,a,u){var s,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=r,c._compiled=!0),n&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=u?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,e){return s.call(e),l(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:c}}r.d(e,"a",(function(){return n}))},40:function(t,e,r){"use strict";
39480Object.defineProperty(e,"__esModule",{value:!0});var n,i=r(10),o=(n=i)&&n.__esModule?n:{default:n};e.default={name:"Button",props:{renameWishlistText:{type:String,required:!0},addedWishlistText:{type:String,required:!0},deleteWishlistText:{type:String,required:!0},createWishlistText:{type:String,required:!0},deleteProductText:{type:String,required:!0},copyText:{type:String,required:!0}},data:function(){return{text:"",active:!1,timeout:null,type:"basic"}},mounted:function(){var t=this;o.default.$on("showToast",(function(e){e.detail.message&&(t[e.detail.message]?t.text=t[e.detail.message]:t.text=e.detail.message),t.active=!0,t.timeout&&clearTimeout(t.timeout),t.timeout=setTimeout((function(){t.active=!1,t.timeout=null}),2500),t.type=e.detail.type?e.detail.type:"basic"}))}}},41:function(t,e,r){"use strict";r.d(e,"a",(function(){return T})),r.d(e,"b",(function(){return M}));var n=null,i={},o=1,a=Array,u=a["@wry/context:Slot"]||function(){var t=function(){function t(){this.id=["slot",o++,Date.now(),Math.random().toString(36).slice(2)].join(":")}return t.prototype.hasValue=function(){for(var t=n;t;t=t.parent)if(this.id in t.slots){var e=t.slots[this.id];if(e===i)break;return t!==n&&(n.slots[this.id]=e),!0}return n&&(n.slots[this.id]=i),!1},t.prototype.getValue=function(){if(this.hasValue())return n.slots[this.id]},t.prototype.withValue=function(t,e,r,i){var o,a=((o={__proto__:null})[this.id]=t,o),u=n;n={parent:u,slots:a};try{return e.apply(i,r)}finally{n=u}},t.bind=function(t){var e=n;return function(){var r=n;try{return n=e,t.apply(this,arguments)}finally{n=r}}},t.noContext=function(t,e,r){if(!n)return t.apply(r,e);var i=n;try{return n=null,t.apply(r,e)}finally{n=i}},t}();try{Object.defineProperty(a,"@wry/context:Slot",{value:a["@wry/context:Slot"]=t,enumerable:!1,writable:!1,configurable:!1})}finally{return t}}();u.bind,u.noContext;function s(){}var c=function(){function t(t,e){void 0===t&&(t=1/0),void 0===e&&(e=s),this.max=t,this.dispose=e,this.map=new Map,this.newest=null,this.oldest=null}return t.prototype.has=function(t){return this.map.has(t)},t.prototype.get=function(t){var e=this.getEntry(t);return e&&e.value},t.prototype.getEntry=function(t){var e=this.map.get(t);if(e&&e!==this.newest){var r=e.older,n=e.newer;n&&(n.older=r),r&&(r.newer=n),e.older=this.newest,e.older.newer=e,e.newer=null,this.newest=e,e===this.oldest&&(this.oldest=n)}return e},t.prototype.set=function(t,e){var r=this.getEntry(t);return r?r.value=e:(r={key:t,value:e,newer:null,older:this.newest},this.newest&&(this.newest.newer=r),this.newest=r,this.oldest=this.oldest||r,this.map.set(t,r),r.value)},t.prototype.clean=function(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)},t.prototype.delete=function(t){var e=this.map.get(t);return!!e&&(e===this.newest&&(this.newest=e.older),e===this.oldest&&(this.oldest=e.newer),e.newer&&(e.newer.older=e.older),e.older&&(e.older.newer=e.newer),this.map.delete(t),this.dispose(e.value,t),!0)},t}(),l=new u,d=[],f=[];function p(t,e){if(!t)throw new Error(e||"assertion failure")}function h(t){switch(t.length){case 0:throw new Error("unknown value");case 1:return t[0];case 2:throw t[1]}}var y=function(){function t(e,r){this.fn=e,this.args=r,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],++t.count}return t.prototype.recompute=function(){if(p(!this.recomputing,"already recomputing"),function(t){var e=l.getValue();if(e)return t.parents.add(e),e.childValues.has(t)||e.childValues.set(t,[]),m(t)?w(e,t):_(e,t),e}(this)||!I(this))return m(this)?function(t){var e=S(t);l.withValue(t,v,[t]),function(t){if("function"==typeof t.subscribe)try{k(t),t.unsubscribe=t.subscribe.apply(null,t.args)}catch(e){return t.setDirty(),!1}return!0}(t)&&function(t){if(t.dirty=!1,m(t))return;b(t)}(t);return e.forEach(I),h(t.value)}(this):h(this.value)},t.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,g(this),k(this))},t.prototype.dispose=function(){var t=this;S(this).forEach(I),k(this),this.parents.forEach((function(e){e.setDirty(),O(e,t)}))},t.count=0,t}();function v(t){t.recomputing=!0,t.value.length=0;try{t.value[0]=t.fn.apply(null,t.args)}catch(e){t.value[1]=e}t.recomputing=!1}function m(t){return t.dirty||!(!t.dirtyChildren||!t.dirtyChildren.size)}
39480function g(t){t.parents.forEach((function(e){return w(e,t)}))}function b(t){t.parents.forEach((function(e){return _(e,t)}))}function w(t,e){if(p(t.childValues.has(e)),p(m(e)),t.dirtyChildren){if(t.dirtyChildren.has(e))return}else t.dirtyChildren=f.pop()||new Set;t.dirtyChildren.add(e),g(t)}function _(t,e){p(t.childValues.has(e)),p(!m(e));var r,n,i,o=t.childValues.get(e);0===o.length?t.childValues.set(e,e.value.slice(0)):(r=o,n=e.value,(i=r.length)>0&&i===n.length&&r[i-1]===n[i-1]||t.setDirty()),x(t,e),m(t)||b(t)}function x(t,e){var r=t.dirtyChildren;r&&(r.delete(e),0===r.size&&(f.length<100&&f.push(r),t.dirtyChildren=null))}function I(t){return 0===t.parents.size&&"function"==typeof t.reportOrphan&&!0===t.reportOrphan()}function S(t){var e=d;return t.childValues.size>0&&(e=[],t.childValues.forEach((function(r,n){O(t,n),e.push(n)}))),p(null===t.dirtyChildren),e}function O(t,e){e.parents.delete(t),t.childValues.delete(e),x(t,e)}function k(t){var e=t.unsubscribe;"function"==typeof e&&(t.unsubscribe=void 0,e())}var T=function(){function t(t){this.weakness=t}return t.prototype.lookup=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return this.lookupArray(t)},t.prototype.lookupArray=function(t){var e=this;return t.forEach((function(t){return e=e.getChildTrie(t)})),e.data||(e.data=Object.create(null))},t.prototype.getChildTrie=function(e){var r=this.weakness&&function(t){switch(typeof t){case"object":if(null===t)break;case"function":return!0}return!1}(e)?this.weak||(this.weak=new WeakMap):this.strong||(this.strong=new Map),n=r.get(e);return n||r.set(e,n=new t(this.weakness)),n},t}();var j=new T("function"==typeof WeakMap);function L(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return j.lookupArray(t)}var C=new Set;function M(t,e){void 0===e&&(e=Object.create(null));var r=new c(e.max||Math.pow(2,16),(function(t){return t.dispose()})),n=!!e.disposable,i=e.makeCacheKey||L;function o(){if(!n||l.hasValue()){var o=i.apply(null,arguments);if(void 0===o)return t.apply(null,arguments);var a=Array.prototype.slice.call(arguments),u=r.get(o);u?u.args=a:(u=new y(t,a),r.set(o,u),u.subscribe=e.subscribe,n&&(u.reportOrphan=function(){return r.delete(o)}));var s=u.recompute();return r.set(o,u),C.add(r),l.hasValue()||(C.forEach((function(t){return t.clean()})),C.clear()),n?void 0:s}}return o.dirty=function(){var t=i.apply(null,arguments),e=void 0!==t&&r.get(t);e&&e.setDirty()},o}},42:function(t,e,r){t.exports={default:r(88),__esModule:!0}},43:function(t,e,r){(function(t,e){!function(t,r){"use strict";if(!t.setImmediate){var n,i,o,a,u,s=1,c={},l=!1,d=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick((function(){h(t)}))}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){h(t.data)},n=function(t){o.port2.postMessage(t)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,n=function(t){var e=d.createElement("script");e.onreadystatechange=function(){h(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(h,0,t)}:(a="setImmediate$"+Math.random()+"$",u=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(a)&&h(+e.data.slice(a.length))},t.addEventListener?t.addEventListener("message",u,!1):t.attachEvent("onmessage",u),n=function(e){t.postMessage(a+e,"*")}),f.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r<e.length;r++)e[r]=arguments[r+1];var i={callback:t,args:e};return c[s]=i,n(s),s++},f.clearImmediate=p}function p(t){delete c[t]}function h(t){if(l)setTimeout(h,0,t);else{var e=c[t];if(e){l=!0;try{!function(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(void 0,r)}}(e)}finally{p(t),l=!1}}}}}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,r(12),r(22))},432:function(t,e,r){r(433),r(146),r(141),r(435),r(132),t.exports=r(214)},433:function(t,e,r){"use strict";var n=o(r(146)),i=o(r(434));function o(t){return t&&t.__esModule?t:{default:t}}
39481/**
39482 * 2007-2020 PrestaShop and Contributors
39483 *
39484 * NOTICE OF LICENSE
39485 *
39486 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39487 * that is bundled with this package in the file LICENSE.txt.
39488 * It is also available through the world-wide-web at this URL:
39489 * https://opensource.org/licenses/AFL-3.0
39490 * If you did not receive a copy of the license and are unable to
39491 * obtain it through the world-wide-web, please send an email
39492 * to [email protected] so we can send you a copy immediately.
39493 *
39494 * @author    PrestaShop SA <[email protected]>
39495 * @copyright 2007-2020 PrestaShop SA and Contributors
39496 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39497 * International Registered Trademark & Property of PrestaShop SA
39498 */var a=function(){document.querySelectorAll(".js-product-miniature").forEach((function(t){var e=document.createElement("div");e.classList.add("wishlist-button"),e.dataset.productId=t.dataset.idProduct,e.dataset.url=i.default,e.dataset.productAttributeId=t.dataset.idProductAttribute,e.dataset.checked=!1,t.querySelector(".thumbnail-container").append(e)}))};a(),(0,n.default)();var u=document.querySelectorAll("#products, .featured-products"),s={attributes:!1,childList:!0};u.forEach((function(t){new MutationObserver((function(){a(),(0,n.default)()})).observe(t,s)}))},434:function(t,e){t.exports=window.removeFromWishlistUrl},435:function(t,e,r){"use strict";var n=o(r(19)),i=o(r(436));function o(t){return t&&t.__esModule?t:{default:t}}
39499/**
39500 * 2007-2020 PrestaShop and Contributors
39501 *
39502 * NOTICE OF LICENSE
39503 *
39504 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39505 * that is bundled with this package in the file LICENSE.txt.
39506 * It is also available through the world-wide-web at this URL:
39507 * https://opensource.org/licenses/AFL-3.0
39508 * If you did not receive a copy of the license and are unable to
39509 * obtain it through the world-wide-web, please send an email
39510 * to [email protected] so we can send you a copy immediately.
39511 *
39512 * @author    PrestaShop SA <[email protected]>
39513 * @copyright 2007-2020 PrestaShop SA and Contributors
39514 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39515 * International Registered Trademark & Property of PrestaShop SA
39516 */var a=[{name:"loginText",type:String},{name:"cancelText",type:String}];(0,n.default)(i.default,".wishlist-login",a)},436:function(t,e,r){"use strict";r.r(e);var n=r(174);for(var i in n)["default"].indexOf(i)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(i);r(437);var o=r(4),a=Object(o.a)(n.default,void 0,void 0,!1,null,null,null);a.options.__file="_dev/front/js/components/Login/Login.vue",e.default=a.exports},437:function(t,e,r){"use strict";r(308)},438:function(t,e,r){(e=r(16)(!1)).push([t.i,".wishlist-login .wishlist-modal{z-index:0}.wishlist-login .wishlist-modal.show{z-index:1053}\n",""]),t.exports=e},44:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=r(92),o=r(93),a=r(96),u=r(51),s=(n=u)&&n.__esModule?n:{default:n};
39517/**
39518 * 2007-2020 PrestaShop and Contributors
39519 *
39520 * NOTICE OF LICENSE
39521 *
39522 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39523 * that is bundled with this package in the file LICENSE.txt.
39524 * It is also available through the world-wide-web at this URL:
39525 * https://opensource.org/licenses/AFL-3.0
39526 * If you did not receive a copy of the license and are unable to
39527 * obtain it through the world-wide-web, please send an email
39528 * to [email protected] so we can send you a copy immediately.
39529 *
39530 * @author    PrestaShop SA <[email protected]>
39531 * @copyright 2007-2020 PrestaShop SA and Contributors
39532 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39533 * International Registered Trademark & Property of PrestaShop SA
39534 */
39535var c=new a.InMemoryCache;e.default=new i.ApolloClient({link:new o.SchemaLink({schema:s.default}),cache:c})},45:function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},46:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e,r){return e&&i(t.prototype,e),r&&i(t,r),t}
vendor: 4,425 bytes, line 39535
39535Object.defineProperty(e,"__esModule",{value:!0}),e.Observable=void 0;var a=function(){return"function"==typeof Symbol},u=function(t){return a()&&Boolean(Symbol[t])},s=function(t){return u(t)?Symbol[t]:"@@"+t};a()&&!u("observable")&&(Symbol.observable=Symbol("observable"));var c=s("iterator"),l=s("observable"),d=s("species");function f(t,e){var r=t[e];if(null!=r){if("function"!=typeof r)throw new TypeError(r+" is not a function");return r}}function p(t){var e=t.constructor;return void 0!==e&&null===(e=e[d])&&(e=void 0),void 0!==e?e:I}function h(t){return t instanceof I}function y(t){y.log?y.log(t):setTimeout((function(){throw t}))}function v(t){Promise.resolve().then((function(){try{t()}catch(t){y(t)}}))}function m(t){var e=t._cleanup;if(void 0!==e&&(t._cleanup=void 0,e))try{if("function"==typeof e)e();else{var r=f(e,"unsubscribe");r&&r.call(e)}}catch(t){y(t)}}function g(t){t._observer=void 0,t._queue=void 0,t._state="closed"}function b(t,e,r){t._state="running";var n=t._observer;try{var i=f(n,e);switch(e){case"next":i&&i.call(n,r);break;case"error":if(g(t),!i)throw r;i.call(n,r);break;case"complete":g(t),i&&i.call(n)}}catch(t){y(t)}"closed"===t._state?m(t):"running"===t._state&&(t._state="ready")}function w(t,e,r){if("closed"!==t._state){if("buffering"!==t._state)return"ready"!==t._state?(t._state="buffering",t._queue=[{type:e,value:r}],void v((function(){return function(t){var e=t._queue;if(e){t._queue=void 0,t._state="ready";for(var r=0;r<e.length&&(b(t,e[r].type,e[r].value),"closed"!==t._state);++r);}}(t)}))):void b(t,e,r);t._queue.push({type:e,value:r})}}var _=function(){function t(e,r){n(this,t),this._cleanup=void 0,this._observer=e,this._queue=void 0,this._state="initializing";var i=new x(this);try{this._cleanup=r.call(void 0,i)}catch(t){i.error(t)}"initializing"===this._state&&(this._state="ready")}return o(t,[{key:"unsubscribe",value:function(){"closed"!==this._state&&(g(this),m(this))}},{key:"closed",get:function(){return"closed"===this._state}}]),t}(),x=function(){function t(e){n(this,t),this._subscription=e}return o(t,[{key:"next",value:function(t){w(this._subscription,"next",t)}},{key:"error",value:function(t){w(this._subscription,"error",t)}},{key:"complete",value:function(){w(this._subscription,"complete")}},{key:"closed",get:function(){return"closed"===this._subscription._state}}]),t}(),I=function(){function t(e){if(n(this,t),!(this instanceof t))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}return o(t,[{key:"subscribe",value:function(t){return"object"==typeof t&&null!==t||(t={next:t,error:arguments[1],complete:arguments[2]}),new _(t,this._subscriber)}},{key:"forEach",value:function(t){var e=this;return new Promise((function(r,n){if("function"==typeof t)var i=e.subscribe({next:function(e){try{t(e,o)}catch(t){n(t),i.unsubscribe()}},error:n,complete:r});else n(new TypeError(t+" is not a function"));function o(){i.unsubscribe(),r()}}))}},{key:"map",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");return new(p(this))((function(r){return e.subscribe({next:function(e){try{e=t(e)}catch(t){return r.error(t)}r.next(e)},error:function(t){r.error(t)},complete:function(){r.complete()}})}))}},{key:"filter",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");return new(p(this))((function(r){return e.subscribe({next:function(e){try{if(!t(e))return}catch(t){return r.error(t)}r.next(e)},error:function(t){r.error(t)},complete:function(){r.complete()}})}))}},{key:"reduce",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");var r=p(this),n=arguments.length>1,i=!1,o=arguments[1],a=o;return new r((function(r){return e.subscribe({next:function(e){var o=!i;if(i=!0,!o||n)try{a=t(a,e)}catch(t){return r.error(t)}else a=e},error:function(t){r.error(t)},complete:function(){if(!i&&!n)return r.error(new TypeError("Cannot reduce an empty sequence"));r.next(a),r.complete()}})}))}},{key:"concat",value:function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=p(this);return new i((function(e){var n,o=0;return function t(a){n=a.subscribe({next:function(t){e.next(t)},error:function(t){e.error(t)},complete:function(){o===r.length?(n=void 0,e.complete()):t(i.from(r[o++]
39535))}})}(t),function(){n&&(n.unsubscribe(),n=void 0)}}))}},{key:"flatMap",value:function(t){var e=this;if("function"!=typeof t)throw new TypeError(t+" is not a function");var r=p(this);return new r((function(n){var i=[],o=e.subscribe({next:function(e){if(t)try{e=t(e)}catch(t){return n.error(t)}var o=r.from(e).subscribe({next:function(t){n.next(t)},error:function(t){n.error(t)},complete:function(){var t=i.indexOf(o);t>=0&&i.splice(t,1),a()}});i.push(o)},error:function(t){n.error(t)},complete:function(){a()}});function a(){o.closed&&0===i.length&&n.complete()}return function(){i.forEach((function(t){return t.unsubscribe()})),o.unsubscribe()}}))}},{key:l,value:function(){return this}}],[{key:"from",value:function(e){var r="function"==typeof this?this:t;if(null==e)throw new TypeError(e+" is not an object");var n=f(e,l);if(n){var i=n.call(e);if(Object(i)!==i)throw new TypeError(i+" is not an object");return h(i)&&i.constructor===r?i:new r((function(t){return i.subscribe(t)}))}if(u("iterator")&&(n=f(e,c)))return new r((function(t){v((function(){if(!t.closed){var r=!0,i=!1,o=void 0;try{for(var a,u=n.call(e)[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var s=a.value;if(t.next(s),t.closed)return}}catch(t){i=!0,o=t}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}t.complete()}}))}));if(Array.isArray(e))return new r((function(t){v((function(){if(!t.closed){for(var r=0;r<e.length;++r)if(t.next(e[r]),t.closed)return;t.complete()}}))}));throw new TypeError(e+" is not observable")}},{key:"of",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i="function"==typeof this?this:t;return new i((function(t){v((function(){if(!t.closed){for(var e=0;e<r.length;++e)if(t.next(r[e]),t.closed)return;t.complete()}}))}))}},{key:d,get:function(){return this}}]),t}();e.Observable=I,a()&&Object.defineProperty(I,Symbol("extensions"),{value:{symbol:l,hostReportError:y},configurable:!0})},47:function(t,e,r){"use strict";r.r(e),r.d(e,"$$iterator",(function(){return o})),r.d(e,"isIterable",(function(){return a})),r.d(e,"isArrayLike",(function(){return u})),r.d(e,"isCollection",(function(){return s})),r.d(e,"getIterator",(function(){return c})),r.d(e,"getIteratorMethod",(function(){return l})),r.d(e,"createIterator",(function(){return d})),r.d(e,"forEach",(function(){return p})),r.d(e,"$$asyncIterator",(function(){return y})),r.d(e,"isAsyncIterable",(function(){return v})),r.d(e,"getAsyncIterator",(function(){return m})),r.d(e,"getAsyncIteratorMethod",(function(){return g})),r.d(e,"createAsyncIterator",(function(){return b})),r.d(e,"forAwaitEach",(function(){return x}));var n="function"==typeof Symbol?Symbol:void 0,i=n&&n.iterator,o=i||"@@iterator";function a(t){return!!l(t)}function u(t){var e=null!=t&&t.length;return"number"==typeof e&&e>=0&&e%1==0}function s(t){return Object(t)===t&&(u(t)||a(t))}function c(t){var e=l(t);if(e)return e.call(t)}function l(t){if(null!=t){var e=i&&t[i]||t["@@iterator"];if("function"==typeof e)return e}}function d(t){if(null!=t){var e=c(t);if(e)return e;if(u(t))return new f(t)}}function f(t){this._o=t,this._i=0}function p(t,e,r){if(null!=t){if("function"==typeof t.forEach)return t.forEach(e,r);var n=0,i=c(t);if(i){for(var o;!(o=i.next()).done;)if(e.call(r,o.value,n++,t),n>9999999)throw new TypeError("Near-infinite iteration.")}else if(u(t))for(;n<t.length;n++)t.hasOwnProperty(n)&&e.call(r,t[n],n,t)}}f.prototype[o]=function(){return this},f.prototype.next=function(){return void 0===this._o||this._i>=this._o.length?(this._o=void 0,{value:void 0,done:!0}):{value:this._o[this._i++],done:!1}};var h=n&&n.asyncIterator,y=h||"@@asyncIterator";function v(t){return!!g(t)}function m(t){var e=g(t);if(e)return e.call(t)}function g(t){if(null!=t){var e=h&&t[h]||t["@@asyncIterator"];if("function"==typeof e)return e}}function b(t){if(null!=t){var e=m(t);if(e)return e;var r=d(t);if(r)return new w(r)}}function w(t){this._i=t}function _(t,e,r){var n;return new Promise((function(i){i((n=t[e](r)).value)})).then((function(t){return{value:t,done:n.done}}))}function x(t,e,r){var n=b(t);if(n){var i=0;return new Promise((function(o,a){!function u(){return n.next().then((function(n){return n.done?o():Promise.resolve(e.call(r,n.value,i++,t)).then(u).catch(a),null})).catch(a),null}()}))}}w.prototype[y]=function(){return this},w.prototype.next=function(t){return _(this._i,"next",t)},w.prototype.return=function(t){return this._i.return?_(this._i,"return",t):Promise.resolve({value:t,done:!0})},w.prototype.throw=function(t){return this._i.throw?_(this._i,"throw",t):Promise.reject(t)}},51:function(t,e,r){"use strict";
39535Object.defineProperty(e,"__esModule",{value:!0});var n=r(97),i=a(r(54)),o=a(r(55));function a(t){return t&&t.__esModule?t:{default:t}}e.default=(0,n.makeExecutableSchema)({typeDefs:o.default,resolvers:i.default})},52:function(t,e,r){var n,i,o=r(24),a=r(25),u=0,s=0;t.exports=function(t,e,r){var c=e&&r||0,l=e||[],d=(t=t||{}).node||n,f=void 0!==t.clockseq?t.clockseq:i;if(null==d||null==f){var p=o();null==d&&(d=n=[1|p[0],p[1],p[2],p[3],p[4],p[5]]),null==f&&(f=i=16383&(p[6]<<8|p[7]))}var h=void 0!==t.msecs?t.msecs:(new Date).getTime(),y=void 0!==t.nsecs?t.nsecs:s+1,v=h-u+(y-s)/1e4;if(v<0&&void 0===t.clockseq&&(f=f+1&16383),(v<0||h>u)&&void 0===t.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=h,s=y,i=f;var m=(1e4*(268435455&(h+=122192928e5))+y)%4294967296;l[c++]=m>>>24&255,l[c++]=m>>>16&255,l[c++]=m>>>8&255,l[c++]=255&m;var g=h/4294967296*1e4&268435455;l[c++]=g>>>8&255,l[c++]=255&g,l[c++]=g>>>24&15|16,l[c++]=g>>>16&255,l[c++]=f>>>8|128,l[c++]=255&f;for(var b=0;b<6;++b)l[c+b]=d[b];return e||a(l)}},53:function(t,e,r){var n=r(24),i=r(25);t.exports=function(t,e,r){var o=e&&r||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var a=(t=t||{}).random||(t.rng||n)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e)for(var u=0;u<16;++u)e[o+u]=a[u];return e||i(a)}},54:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i,o,a,u,s,c,l=v(r(14)),d=v(r(15)),f=v(r(10)),p=v(r(36)),h=r(100),y=v(h);function v(t){return t&&t.__esModule?t:{default:t}}e.default={JSON:y.default,JSONObject:h.GraphQLJSONObject,Query:{products:(c=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(o+"&from-xhr",{headers:p.default.products});case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,f.default.$emit("paginate",{detail:{total:i.pagination.total_items,minShown:i.pagination.items_shown_from,maxShown:i.pagination.items_shown_to,pageNumber:i.pagination.pages_count,pages:i.pagination.pages,display:i.pagination.should_be_displayed,currentPage:i.pagination.current_page}}),window.history.pushState(i,document.title,i.current_url),window.scrollTo(0,0),t.abrupt("return",{datas:{products:i.products,pagination:i.pagination,current_url:i.current_url,sort_orders:i.sort_orders,sort_selected:i.sort_selected}});case 10:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return c.apply(this,arguments)}),lists:(s=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(o);case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,t.abrupt("return",i.wishlists);case 7:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return s.apply(this,arguments)})},Mutation:{createList:(u=(0,d.default)(l.default.mark((function t(e,r){var n,i,o,a=r.name,u=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=encodeURIComponent(a),t.next=3,fetch(u+"&params[name]="+n,{method:"POST"});case 3:return i=t.sent,t.next=6,i.json();case 6:return o=t.sent,t.abrupt("return",o);case 8:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return u.apply(this,arguments)}),renameList:(a=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.name,a=r.listId,u=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(u+"&params[name]="+o+"&params[idWishList]="+a,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,t.abrupt("return",i);case 7:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return a.apply(this,arguments)}),addToList:(o=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.listId,a=r.url,u=r.productId,s=r.quantity,c=r.productAttributeId;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(a+"&params[id_product]="+u+"&params[idWishList]="+o+"&params[quantity]="+s+"&params[id_product_attribute]="+c,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return(i=t.sent).success&&productsAlreadyTagged.push({id_product:u.toString(),id_wishlist:o.toString(),quantity:s.toString(),id_product_attribute:c.toString()}),t.abrupt("return",i);case 8:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return o.apply(this,arguments)}),removeFromList:(i=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.listId,a=r.productId,u=r.url,s=r.productAttributeId;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(u+"&params[id_product]="
39535+a+"&params[idWishList]="+o+"&params[id_product_attribute]="+s,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return(i=t.sent).success&&(productsAlreadyTagged=productsAlreadyTagged.filter((function(t){return t.id_product!==a.toString()||t.id_product_attribute!==s.toString()&&t.id_product===a.toString()||t.id_wishlist!==o.toString()}))),t.abrupt("return",i);case 8:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return i.apply(this,arguments)}),deleteList:(n=(0,d.default)(l.default.mark((function t(e,r){var n,i,o=r.listId,a=r.url;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(a+"&params[idWishList]="+o,{method:"POST"});case 2:return n=t.sent,t.next=5,n.json();case 5:return i=t.sent,t.abrupt("return",i);case 7:case"end":return t.stop()}}),t,void 0)}))),function(t,e){return n.apply(this,arguments)})}}},55:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),
39536/**
39537 * 2007-2020 PrestaShop and Contributors
39538 *
39539 * NOTICE OF LICENSE
39540 *
39541 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
39542 * that is bundled with this package in the file LICENSE.txt.
39543 * It is also available through the world-wide-web at this URL:
39544 * https://opensource.org/licenses/AFL-3.0
39545 * If you did not receive a copy of the license and are unable to
39546 * obtain it through the world-wide-web, please send an email
39547 * to [email protected] so we can send you a copy immediately.
39548 *
39549 * @author    PrestaShop SA <[email protected]>
39550 * @copyright 2007-2020 PrestaShop SA and Contributors
39551 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
39552 * International Registered Trademark & Property of PrestaShop SA
39553 */
39554e.default="\n  scalar JSON\n  scalar JSONObject\n\n  type List {\n    id_wishlist: Int\n    name: String\n    listUrl: String\n    shareUrl: String\n    default: Int\n    nbProducts: Int\n  }\n\n  type ShareUrl {\n    url: String\n  }\n\n  type CreateResponse {\n    datas: List\n    success: Boolean!\n    message: String!\n  }\n\n  type ProductListResponse {\n    datas: JSONObject\n  }\n\n  type Response {\n    success: Boolean!\n    message: String!\n  }\n\n  type Query {\n    products(listId: Int!, url: String!): ProductListResponse\n    lists(url: String!): [List]\n  }\n\n  type Mutation {\n    createList(name: String!, url: String!): CreateResponse\n    shareList(listId: String!, userId: Int!): ShareUrl\n    renameList(name: String!, url: String!, listId: Int!): Response\n    addToList(listId: Int!, productId: Int!, quantity: Int!, productAttributeId: Int!, url: String!): Response\n    removeFromList(listId: Int!, productId: Int!, productAttributeId: Int!, url: String!): Response\n    deleteList(listId: Int!, url: String!): Response\n  }\n"},56:function(t,e,r){t.exports={default:r(102),__esModule:!0}},57:function(t,e,r){t.exports={default:r(103),__esModule:!0}},62:function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wishlist-toast",class:[{isActive:this.active},this.type]},[e("p",{staticClass:"wishlist-toast-text"},[this._v("\n    "+this._s(this.text)+"\n  ")])])},i=[];n._withStripped=!0},69:function(t,e,r){"use strict";r.r(e);var n=r(70),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},70:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=c(r(14)),o=c(r(15)),a=c(r(101)),u=c(r(30)),s=c(r(10));function c(t){return t&&t.__esModule?t:{default:t}}e.default={name:"Button",props:{url:{type:String,required:!0,default:"#"},productId:{type:Number,required:!0,default:null},productAttributeId:{type:Number,required:!0,default:null},checked:{type:Boolean,required:!1,default:!1},isProduct:{type:Boolean,required:!1,default:!1}},data:function(){return{isChecked:"true"===this.checked,idList:this.listId}},methods:{toggleCheck:function(){this.isChecked=!this.isChecked},addToWishlist:(n=(0,o.default)(i.default.mark((function t(e){var r,n,o,c;return i.default.wrap((function(t){for(;;
39554)switch(t.prev=t.next){case 0:if(e.preventDefault(),r=document.querySelector(".product-quantity input#quantity_wanted"),u.default.customer.is_logged){t.next=5;break}return s.default.$emit("showLogin"),t.abrupt("return");case 5:if(this.isChecked){t.next=9;break}s.default.$emit("showAddToWishList",{detail:{productId:this.productId,productAttributeId:parseInt(this.productAttributeId,10),forceOpen:!0,quantity:r?parseInt(r.value,10):0}}),t.next=16;break;case 9:return t.next=11,this.$apollo.mutate({mutation:a.default,variables:{productId:this.productId,url:this.url,productAttributeId:this.productAttributeId,listId:this.idList?this.idList:this.listId}});case 11:n=t.sent,o=n.data,c=o.removeFromList,s.default.$emit("showToast",{detail:{type:c.success?"success":"error",message:c.message}}),c.error||this.toggleCheck();case 16:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},mounted:function(){var t=this;s.default.$on("addedToWishlist",(function(e){e.detail.productId===t.productId&&parseInt(e.detail.productAttributeId,10)===t.productAttributeId&&(t.isChecked=!0,t.idList=e.detail.listId)}));var e=productsAlreadyTagged.filter((function(e){return parseInt(e.id_product,10)===t.productId&&parseInt(e.id_product_attribute,10)===t.productAttributeId}));e.length>0&&(this.isChecked=!0,this.idList=parseInt(e[0].id_wishlist,10)),this.isProduct&&(u.default.on("updateProduct",(function(e){"updatedProductQuantity"===e.eventType&&(t.isChecked=!1)})),u.default.on("updatedProduct",(function(e){var r=document.querySelector(".product-quantity input#quantity_wanted");t.productAttributeId=parseInt(e.id_product_attribute,10);var n=productsAlreadyTagged.filter((function(e){return parseInt(e.id_product,10)===t.productId&&e.quantity.toString()===r.value&&parseInt(e.id_product_attribute,10)===t.productAttributeId}));n.length>0?(t.isChecked=!0,t.idList=parseInt(n[0].id_wishlist,10)):t.isChecked=!1})))}}},73:function(t,e,r){"use strict";r.r(e);var n=r(74),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},74:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(r(10)),i=o(r(216));function o(t){return t&&t.__esModule?t:{default:t}}e.default={name:"AddToWishlist",components:{ChooseList:i.default},props:{url:{type:String,required:!0,default:"#"}},data:function(){return{value:"",isHidden:!0,productAttributeId:0,productId:0,quantity:0}},methods:{toggleModal:function(t){this.isHidden=!0!==t&&!this.isHidden},openNewWishlistModal:function(){this.toggleModal(),n.default.$emit("showCreateWishlist")}},mounted:function(){var t=this;n.default.$on("showAddToWishList",(function(e){t.toggleModal(e.detail.forceOpen?e.detail.forceOpen:null),e.detail.productId&&(t.productId=e.detail.productId),"number"==typeof e.detail.productAttributeId&&(t.productAttributeId=e.detail.productAttributeId),e.detail.quantity&&(t.quantity=e.detail.quantity)}))}}},75:function(t,e,r){"use strict";r.r(e);var n=r(76),i=r.n(n);for(var o in n)["default"].indexOf(o)<0&&function(t){r.d(e,t,(function(){return n[t]}))}(o);e.default=i.a},76:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i=l(r(14)),o=l(r(15)),a=l(r(138)),u=l(r(217)),s=l(r(10)),c=r(104);function l(t){return t&&t.__esModule?t:{default:t}}e.default={name:"ChooseList",components:{ContentLoader:c.ContentLoader},apollo:{lists:{query:a.default,variables:function(){return{url:this.url}}}},props:{productId:{type:Number,required:!0,default:0},quantity:{type:Number,required:!0,default:0},productAttributeId:{type:Number,required:!0,default:0},url:{type:String,required:!0,default:""},emptyText:{type:String,required:!0,default:"No list found"},addUrl:{type:String,required:!0,default:""}},methods:{select:(n=(0,o.default)(i.default.mark((function t(e){var r,n,o;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.$apollo.mutate({mutation:u.default,variables:{listId:e,url:this.addUrl,productId:this.productId,quantity:this.quantity,productAttributeId:this.productAttributeId}});case 2:r=t.sent,n=r.data,o=n.addToList,this.$emit("hide"),s.default.$emit("showToast",{detail:{type:o.success?"success":"error",message:o.message}}),s.default.$emit("addedToWishlist",{detail:{productId:this.productId,listId:e,productAttributeId:this.productAttributeId}});case 8:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},mounted:function(){var t=this;s.default.$on("refetchList",(function(){t.$apollo.queries.lists.refetch()}))}}},83:function(t,e,r){var n=r(136);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("79d679a6",n,!1,{})},84:function(t,e,r){var n=r(144);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,r(17).default)("0174a4e3",n,!1,{})},85:function(t,e,r){"use strict";(function(t,n){var i,o=r(26);i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:n;var a=Object(o.a)(i);e.a=a}).call(this,r(12),r(45)(t))},86:function(t,e,r){"use strict";
39554t.exports=function(t,e){e||(e={}),"function"==typeof e&&(e={cmp:e});var r,n="boolean"==typeof e.cycles&&e.cycles,i=e.cmp&&(r=e.cmp,function(t){return function(e,n){var i={key:e,value:t[e]},o={key:n,value:t[n]};return r(i,o)}}),o=[];return function t(e){if(e&&e.toJSON&&"function"==typeof e.toJSON&&(e=e.toJSON()),void 0!==e){if("number"==typeof e)return isFinite(e)?""+e:"null";if("object"!=typeof e)return JSON.stringify(e);var r,a;if(Array.isArray(e)){for(a="[",r=0;r<e.length;r++)r&&(a+=","),a+=t(e[r])||"null";return a+"]"}if(null===e)return"null";if(-1!==o.indexOf(e)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var u=o.push(e)-1,s=Object.keys(e).sort(i&&i(e));for(a="",r=0;r<s.length;r++){var c=s[r],l=t(e[c]);l&&(a&&(a+=","),a+=JSON.stringify(c)+":"+l)}return o.splice(u,1),"{"+a+"}"}}(t)}},87:function(t,e,r){"use strict";r.d(e,"a",(function(){return s}));var n=r(1);function i(t){return{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:o(t)}]}}function o(t){if("number"==typeof t||"boolean"==typeof t||"string"==typeof t||null==t)return null;if(Array.isArray(t))return o(t[0]);var e=[];return Object.keys(t).forEach((function(r){var n={kind:"Field",name:{kind:"Name",value:r},selectionSet:o(t[r])||void 0};e.push(n)})),{kind:"SelectionSet",selections:e}}var a,u={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:null,variableDefinitions:null,directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"__typename"},arguments:[],directives:[],selectionSet:null}]}}]},s=function(){function t(){}return t.prototype.transformDocument=function(t){return t},t.prototype.transformForLink=function(t){return t},t.prototype.readQuery=function(t,e){return void 0===e&&(e=!1),this.read({query:t.query,variables:t.variables,optimistic:e})},t.prototype.readFragment=function(t,e){return void 0===e&&(e=!1),this.read({query:Object(n.k)(t.fragment,t.fragmentName),variables:t.variables,rootId:t.id,optimistic:e})},t.prototype.writeQuery=function(t){this.write({dataId:"ROOT_QUERY",result:t.data,query:t.query,variables:t.variables})},t.prototype.writeFragment=function(t){this.write({dataId:t.id,result:t.data,variables:t.variables,query:Object(n.k)(t.fragment,t.fragmentName)})},t.prototype.writeData=function(t){var e,r,n=t.id,a=t.data;if(void 0!==n){var s=null;try{s=this.read({rootId:n,optimistic:!1,query:u})}catch(t){}var c=s&&s.__typename||"__ClientData",l=Object.assign({__typename:c},a);this.writeFragment({id:n,fragment:(e=l,r=c,{kind:"Document",definitions:[{kind:"FragmentDefinition",typeCondition:{kind:"NamedType",name:{kind:"Name",value:r||"__FakeType"}},name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:o(e)}]}),data:l})}else this.writeQuery({query:i(a),data:a})},t}();a||(a={})},90:function(t,e,r){(function(t){var n=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new o(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r(43),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,r(12))},98:function(t,e,r){"use strict";function n(t,e,r,n,i){var o={};return function(){var a=(((new Error).stack||"").match(/(?:\s+at\s.+){2}\s+at\s(.+)/)||[void 0,""])[1];if(!((a=/\)$/.test(a)?a.match(/[^(]+(?=\)$)/)[0]:a.trim())in o)){var u;switch(o[a]=!0,t){case"class":u="Class";break;case"property":u="Property";break;case"method":u="Method";break;case"function":u="Function"}u+=" `"+e+"` has been deprecated",n&&(u+=" since version "+n),r&&(u+=", use `"+r+"` instead"),u+=".",a&&(u+="\
vendor: 21,096 bytes, lines 39554-39555
39554n    at "+a),i&&(u+="\nCheck out "+i+" for more information."),console.warn(u)}}}function i(t,r,i,o,a,u){var s=(e.options.getWarner||n)(t,r,o,a,u),c={enumerable:(i=i||{writable:!0,enumerable:!1,configurable:!0}).enumerable,configurable:i.configurable};if(i.get||i.set)i.get&&(c.get=function(){return s(),i.get.call(this)}),i.set&&(c.set=function(t){return s(),i.set.call(this,t)});else{var l=i.value;c.get=function(){return s(),l},i.writable&&(c.set=function(t){s(),l=t})}return c}function o(t,r,i,o,a){for(var u=r.name,s=(e.options.getWarner||n)(t,u,i,o,a),c=function(){return s(),r.apply(this,arguments)},l=0,d=Object.getOwnPropertyNames(r);l<d.length;l++){var f=d[l],p=Object.getOwnPropertyDescriptor(r,f);p.writable?c[f]=r[f]:p.configurable&&Object.defineProperty(c,f,p)}return c}function a(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var r=t[t.length-1];r="function"==typeof r?t.pop():void 0;var n,a,u,s=t[0];return"string"==typeof s?(n=s,a=t[1],u=t[2]):s&&(n=s.alternative,a=s.version,u=s.url),r?o("function",r,n,a,u):function(t,e,r){if("string"==typeof e)return i(r&&"function"==typeof r.value?"method":"property",e,r,n,a,u);if("function"==typeof t){for(var s=o("class",t,n,a,u),c=t.name,l=0,d=Object.getOwnPropertyNames(s);l<d.length;l++){var f=d[l],p=Object.getOwnPropertyDescriptor(s,f);(p=i("class",c,p,n,a,u)).writable?s[f]=t[f]:p.configurable&&Object.defineProperty(s,f,p)}return s}}}e.options={getWarner:void 0},e.deprecated=a,Object.defineProperty(e,"__esModule",{value:!0}),e.default=a},99:function(t,e,r){var n=r(52),i=r(53),o=i;o.v1=n,o.v4=i,t.exports=o}});/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
39555(function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0<a.indexOf("%")},l=function(a,d){var e=parseInt(a,10)||0;d&&E(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},w=function(a,b){return l(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!s,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(I?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k,c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&&k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer=setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")}else c()},next:function(a){var d=b.current;d&&(q(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=b.current;d&&(q(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=l(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d=a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")),b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(),y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement;if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1<a.group.length&&k[c]!==v)return b[d](k[c]),e.preventDefault(),!1;if(-1<f.inArray(c,k))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,k,g){for(var h=f(d.target||null),j=!1;h.length&&!j&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)j=h[0]&&!(h[0].style.overflow&&"hidden"===h[0].style.overflow)&&(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1<b.group.length&&!a.canShrink){if(0<g||0<k)b.prev(0<g?"down":"left");else if(0>g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,{},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=!0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}",g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll":"no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside?h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),c<m&&(c=m,j=l(c/D)),j<u&&(j=u,c=l(j*D))):(c=Math.max(m,Math.min(c,n)),h.autoHeight&&"iframe"!==h.type&&(g.width(c),j=g.height()),j=Math.max(u,Math.min(j,p)));if(h.fitToView)if(g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height(),h.aspectRatio)for(;(a>z||y>r)&&(c>m&&j>u)&&!(19<d++);)j=Math.max(u,Math.min(p,j-10)),c=l(j*D),c<m&&(c=m,j=l(c/D)),c>n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&j<A&&c+x+q<z)&&(c+=q);g.width(c).height(j);e.width(c+x);a=e.width();y=e.height();e=(a>z||y>r)&&c>m&&j>u;c=h.aspectRatio?c<F&&j<B&&c<C&&j<A:(c<F||j<B)&&(c<C||j<A);f.extend(h,{dim:{width:w(a),height:w(y)},origWidth:C,origHeight:A,canShrink:e,canExpand:c,wPadding:x,hPadding:v,wrapSpace:y-k.outerHeight(!0),skinSpace:k.height()-j});!H&&(h.autoHeight&&j>u&&j<p&&!c)&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",top:c[0],left:c[3]};d.autoCenter&&d.fixed&&!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=w(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=w(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&(b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){!f(d.target).is("a")&&!f(d.target).parent().is("a")&&(d.preventDefault(),b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(a){a=a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,j=a.wPadding,m=b.getViewport();!e&&(a.isDom&&d.is(":visible"))&&(e=d.find("img:first"),e.length||(e=d));t(e)?(c=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):(c.top=m.y+(m.h-g)*a.topRatio,c.left=m.x+(m.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=m.y,c.left-=m.x;return c={top:w(c.top-h*a.topRatio),left:w(c.left-j*a.leftRatio),width:w(f+j),height:w(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](l("width"===f?c:c-g*e)),b.inner[f](l("width"===f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,k=f.extend({opacity:1},d);delete k.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(k,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&(c.opacity=0.1));b.wrap.animate(c,{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=w(l(e[g])-200),c[g]="+=200px"):(e[g]=w(l(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!s,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){a=f.extend({},this.defaults,a);this.overlay&&this.close();this.overlay=f('<div class="fancybox-overlay"></div>').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());
39555a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth),p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"===f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d=b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d,e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.o
39555pen(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('<div style="position:fixed;top:20px;"></div>').appendTo("body");var e=20===d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);!function(){"use strict";var e=()=>{const e={merchantClientId:"",basketBindingApiKey:void 0,unboundWidgetClicked:void 0,handleBasketEvent:()=>!1,apiBaseUrl:void 0,webView:!1,language:"pl"};return{setMerchantClientId:t=>{e.merchantClientId=t},setBasketBindingApiKey:t=>{e.basketBindingApiKey=t},setUnboundWidgetClicked:t=>{e.unboundWidgetClicked=t},setHandleBasketEvent:t=>{e.handleBasketEvent=t},setApiBaseUrl:t=>{e.apiBaseUrl=t},setWebView:t=>{e.webView=t},setLanguage:t=>{e.language=t},build:()=>{const t={};for(const n in e)"undefined"!==e[n]&&(t[n]=e[n]);return t}}};var t={orderConfirmationUrl:"inpost/v2/izi/merchant/order/confirmation-url",bindingKey:"inpost/v2/izi/merchant/basket/binding-key"};var n=e=>{const t=new URL(e),n=(e,n)=>{t.searchParams.set(e,n)};return{getURL:()=>t.toString(),addParam:n,addParams:e=>{Object.keys(e).forEach((t=>{n(t,e[t])}))}}};var r=(e,t,r=null,i={})=>{const{addParam:o,addParams:a,getURL:s}=n(e),d={method:t,headers:{"Content-Type":"application/json",...i}};null!==r&&(d.body=JSON.stringify(r));return{getResponse:()=>{const e=d,t=s();return fetch(t,e)},setParams:e=>{a(e)},setParam:(e,t)=>{o(e,t)}}};const i=window.inpostizi_backend_ajax_url;var o=(e,t,o=null,a={})=>{const{addParam:s,getURL:d}=n(i);return s("path",e),r(d(),t,o,a)};var a=async()=>{const{bindingKey:e}=t,{getResponse:n}=o(e,"GET"),r=await n();if(!r.ok&&404!==r.status)throw new Error("Error while fetching binding key");if(404!==r.status)return r.json()};var s=(e=!1)=>!1===e&&null!==window.inpostizi_binding_api_key?window.inpostizi_binding_api_key:!1!==e||window.inpostizi_fetch_binding_key?new Promise(((e,t)=>{a().then((t=>{e(t)})).catch((()=>{t(void 0)}))})):void 0;const d={productPageForm:"#add-to-cart-or-refresh",inpostIziButton:"inpost-izi-button",inpostIziProductButtonWrapper:".js-inpost-izi-product-btn-wrapper",inpostIziAddToCartAlert:".js-inpost-izi-add-to-cart-alert"};var c=()=>void 0!==window.inpost_izi_selectors_map?{...d,...window.inpost_izi_selectors_map}:d;var p=(e,t="success",n="")=>{const r=document.createElement("div");return r.classList.add("alert",`alert-${t}`,"w-100"),"string"==typeof n?r.classList.add(n):Array.isArray(n)&&n.forEach((e=>{r.classList.add(e)})),r.textContent=e,r};var u=e=>{const{inpostIziProductButtonWrapper:t,inpostIziAddToCartAlert:n}=c(),r=p(e.message,"danger",n.replace(".","")),i=document.querySelector(t);if(i){const e=i.querySelector(n);e&&e.remove(),i.prepend(r)}};var w=async e=>{const{getResponse:t,setParams:n}=r(prestashop.urls.pages.cart,"POST",null,{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"});n(e);const i=await t(),o=await i.json();if(o?.hasError&&o?.errors&&Array.isArray(o.errors)){const e=new Error(o.errors.join("\n"));throw setTimeout((()=>{u(e)})),Error("UNDELIVERABLE_PRODUCT")}return prestashop.emit("updateCart",{reason:{idProduct:o.id_product,idProductAttribute:o.id_product_attribute},resp:o}),s()};const l=(e=!1)=>new Promise(((t,n)=>{const r=s(e);r instanceof Promise?r.then((e=>{t(e)})).catch((()=>{n(void 0)})):t(r)}));var h=e=>new Promise(((t,n)=>{if(!e)return void l(!0).then((e=>{t(e)})).catch((e=>{n(e)}));const{productPageForm:r}=c(),i=document.querySelector(r);if(!i)return void n(new Error("Error while adding product to cart: product not found."));const{group:o,...a}=(e=>{const t=new FormData(e),n={},r=[];for(const[e,i]of t.entries())0===e.indexOf("group")?r.push({key:e,value:encodeURIComponent(i)}):n[e]=i;return n.group=r,n})(i),s={add:1,action:"update",ajax:1,...a};o.forEach((e=>{s[e.key]=e.value})),w(s).then((()=>
39555{l(!0).then((e=>{t(e)})).catch((e=>{n(e)}))})).catch((e=>{e instanceof Error&&"UNDELIVERABLE_PRODUCT"===e.message?n(e):n(void 0)}))}));var g=async()=>{const{orderConfirmationUrl:e}=t,{getResponse:n}=o(e,"GET"),r=await n();if(!r.ok)throw new Error("NOK");return r.json()};var f=async e=>{if("basketProductChanged"===e||"basketDeleted"===e)prestashop.emit("updateCart",{reason:{linkAction:"refresh"},resp:{}});else if("orderCreated"===e)try{window.location.href=await g()}catch(e){return!1}return!0};let m;var v=()=>({init:e=>{m=window.InPostPayWidget.init(e)},refresh:()=>{if(void 0===m)throw new Error("Widget is not initialized yet, use init() method first");"function"!=typeof m.rerender?m.refresh():m.rerender()}});var y=()=>({init:()=>{const{init:t,refresh:n}=v(),{setMerchantClientId:r,setBasketBindingApiKey:i,setUnboundWidgetClicked:o,setHandleBasketEvent:a,setLanguage:d,build:c}=e();void 0!==window.prestashop.language.iso_code&&d(window.prestashop.language.iso_code),r(window.inpostizi_merchant_client_id),i(s()),o(h),a(f),t(c()),window.prestashop.on("updatedCart",(()=>n())),window.prestashop.on("updatedProduct",(()=>n()))}});window.prestashop??={},window.prestashop.inpostizi??={},window.prestashop.inpostizi.widget??=v(),"function"!=typeof window.handleInpostIziButtons&&(window.handleInpostIziButtons=window.prestashop.inpostizi.widget.refresh),document.addEventListener("DOMContentLoaded",(()=>{const{init:e}=y();e()}))}();$(document).ready(function(){if(document.body.className.match('ps_172')){var $searchWidget=$('#search_widget');var $searchBox=$searchWidget.find('input[type=text]');var searchURL=$searchWidget.attr('data-search-controller-url');$.widget('prestashop.psBlockSearchAutocomplete',$.ui.autocomplete,{_renderItem:function(ul,product){return $("<li>").append($("<a>").append($("<span>").addClass("search_right").append($("<span>").html(product.manufacturer_name).addClass("search_brand")).append($("<span>").html(product.name).addClass("search_name")).append($("<span>").html(product.price).addClass("search_price"))).append($("<span>").addClass("clearfix"))).appendTo(ul)}});$searchBox.psBlockSearchAutocomplete({source:function(query,response){$.post(searchURL,{s:query.term,resultsPerPage:10},null,'json').then(function(resp){response(resp.products)}).fail(response)},select:function(event,ui){var url=ui.item.url;window.location.href=url},})}else{var $searchWidget=$('#search_widget');var $searchBox=$searchWidget.find('input[type=text]');var searchURL=$searchWidget.attr('data-search-controller-url');var $clearButton=$searchWidget.find('i.clear');$.widget('prestashop.psBlockSearchAutocomplete',$.ui.autocomplete,{_renderItem:function(ul,product){var image=(product.cover)?product.cover:prestashop.urls.no_picture_image;var $img=$('<img class="autocomplete-thumbnail" src="'+image.bySize.small_default.url+'">');return $("<li>").append($("<a>").append($("<span>").addClass("search_left").append($img)).append($("<span>").addClass("search_right").append($("<span>").html(product.manufacturer_name).addClass("search_brand")).append($("<span>").html(product.name).addClass("search_name")).append($("<span>").html(product.price).addClass("search_price"))).append($("<span>").addClass("clearfix"))).appendTo(ul)}});$searchBox.psBlockSearchAutocomplete({source:function(query,response){$.post(searchURL,{s:query.term,resultsPerPage:10},null,'json').then(function(resp){response(resp.products)}).fail(response)},select:function(event,ui){var url=ui.item.url;window.location.href=url},})}});$(document).ready(function(){prestashop.blockcart=prestashop.blockcart||{};var showModal=prestashop.blockcart.showModal||function(modal){var $body=$('body');$body.append(modal);$body.one('click','#blockcart-modal',function(event){if(event.target.id==='blockcart-modal'){$(event.target).remove()}})};prestashop.on('updateCart',function(event){var refreshURL=$('.blockcart').data('refresh-url');var requestData={};if(event&&event.reason){requestData={id_customization:event.reason.idCustomization,id_product_attribute:event.reason.idProductAttribute,id_product:event.reason.idProduct,action:event.reason.linkAction};$.post(refreshURL,requestData).then(function(resp){$('.blockcart').replaceWith($(resp.preview).find('.blockcart'));if(resp.modal){showModal(resp.modal)}}).fail(function(resp){prestashop.emit('handleError',{eventType:'updateShoppingCart',resp:resp})})}
39556if(event&&event.resp&&event.resp.hasError){prestashop.emit('showErrorNextToAddtoCartButton',{errorMessage:event.resp.errors.join('<br/>')})}})});/**
39557* 2012-2017 Patryk Marek PrestaDev.pl
39558*
39559* Patryk Marek PrestaDev.pl - PD Invoice / bill module PrestaShop 1.5.x and 1.6.x Module © All rights reserved.
39560*
39561* DISCLAIMER
39562*
39563* Do not edit, modify or copy this file.
39564* If you wish to customize it, contact us at [email protected].
39565*
39566* @author    Patryk Marek <[email protected]>
39567* @copyright 2012-2017 Patryk Marek @ PrestaDev.pl
39568* @license   Do not edit, modify or copy this file, if you wish to customize it, contact us at [email protected].
39569* @link      http://prestadev.pl
39570* @package   PD Invoice / bill module PrestaShop 1.5.x and 1.6.x and 1.7.x Module
39571* @version   2.0.2
39572* @date      01-09-2015
39573*/
39574document.addEventListener("DOMContentLoaded",function(){runPdInvoiceBillPro()});function runPdInvoiceBillPro(){if(parseInt(pdinvoicebillpro_checked)==1){$("#pd_fp_invoice").prop("checked",!0);$("#pd_fp_bill").prop("checked",!1);if(typeof $.uniform!=='undefined'&&typeof $.uniform.update==='function'){$.uniform.update('#pd_fp_invoice');$.uniform.update('#pd_fp_bill')}
39575$("input[name='company']").parent().parent().show();$("input[name='vat_number']").parent().parent().show();$("input[name='company']").parent().parent().find('.form-control-comment').hide();$("input[name='vat_number']").parent().parent().find('.form-control-comment').hide()}else{$("#pd_fp_bill").prop("checked",!0);$("#pd_fp_invoice").prop("checked",!1);if(typeof $.uniform!=='undefined'&&typeof $.uniform.update==='function'){$.uniform.update('#pd_fp_invoice');$.uniform.update('#pd_fp_bill')}
39576$("input[name='company']").parent().parent().hide();$("input[name='vat_number']").parent().parent().hide();$("input[name='company']").parent().parent().find('.form-control-comment').show();$("input[name='vat_number']").parent().parent().find('.form-control-comment').show()}
39577$(document).on('change','input.pd_ibp_radio',function(){var customer_response=this.value;$.ajax({url:pdinvoicebillpro_ajax_link,data:{'customer_response':customer_response,'secure_key':pdinvoicebillpro_secure_key,'ajax':!0},dataType:"json",success:function(data){if(data.status){$("#pd_ibp_saved_response").fadeIn(800);$("#pd_ibp_saved_response").html(pdinvoicebillpro_saved_response);$("#pd_ibp_saved_response").fadeOut(800);$("input[name='company']").parent().parent().show();$("input[name='vat_number']").parent().parent().show();$("input[name='company']").parent().parent().find('.form-control-comment').hide();$("input[name='vat_number']").parent().parent().find('.form-control-comment').hide()}else{$("#pd_ibp_saved_response").fadeIn(800);$("#pd_ibp_saved_response").html(pdinvoicebillpro_saved_response);$("#pd_ibp_saved_response").fadeOut(800);$("input[name='company']").parent().parent().hide();$("input[name='vat_number']").parent().parent().hide();$("input[name='company']").parent().parent().find('.form-control-comment').show();$("input[name='vat_number']").parent().parent().find('.form-control-comment').show()}}})})};function markAlreadyLikedPost(guest,id_simpleblog_post){if($.cookie('guest_'+guest+'_'+id_simpleblog_post)=="voted"){$('.simpleblog-like-button').addClass('voted')}};$(window).on('load',initProductPageGallery);$(window).on('load',initMasonryList);$(function(){if($('#module-ph_simpleblog-single').length>0){if(typeof fancybox!=='undefined'){$('.simpleblog__post a.fancybox').fancybox()}
39578$(".simpleblog__post").fitVids();markAlreadyLikedPost($('#module-ph_simpleblog-single .simpleblog-like-button').data('guest'),$('.simpleblog-single .simpleblog-like-button').data('post'));$(document).on('click','.simpleblog__share .btn',function(){type=$(this).attr('data-type');if(type.length){switch(type){case 'twitter':window.open('https://twitter.com/intent/tweet?text='+ph_sharing_name+' '+encodeURIComponent(ph_sharing_url),'sharertwt','toolbar=0,status=0,width=640,height=445');break;case 'facebook':window.open('http://www.facebook.com/sharer.php?u='+ph_sharing_url,'sharer','toolbar=0,status=0,width=660,height=445');break;case 'pinterest':window.open('http://www.pinterest.com/pin/create/button/?media='+ph_sharing_img+'&url='+ph_sharing_url,'sharerpinterest','toolbar=0,status=0,width=660,height=445');break}}});$(document).on('click','.simpleblog-like-button',function(e){e.preventDefault();var id_simpleblog_post=$(this).data('post');var id_guest=$(this).data('guest');var element=$(this);if($.cookie('guest_'+id_guest+'_'+id_simpleblog_post)=="voted"){$.cookie('guest_'+id_guest+'_'+id_simpleblog_post,'');var request=$.ajax({type:"POST",url:ph_simpleblog_ajax,data:{action:'removeRating',id_simpleblog_post:id_simpleblog_post,secure_key:ph_simpleblog_token,ajax:!0},success:function(result){var data=$.parseJSON(result);if(data.status=='success'){element.removeClass('voted').find('span.likes-count').text(data.message)}else{alert(data.message)}}})}else{$.cookie('guest_'+id_guest+'_'+id_simpleblog_post,'voted');var request=$.ajax({type:"POST",url:ph_simpleblog_ajax,data:{action:'addRating',id_simpleblog_post:id_simpleblog_post,secure_key:ph_simpleblog_token,ajax:!0},success:function(result){var data=$.parseJSON(result);if(data.status=='success'){element.addClass('voted').find('span.likes-count').text(data.message)}else{alert(data.message)}}})}})}
39579$('.simpleblog__listing__post__wrapper').fitVids();if(typeof fancybox!=='undefined'){$('.simpleblog-post-item a.post-gallery-link').fancybox();$("a.simpleblog__post-featured").fancybox({maxWidth:1440,fitToView:!1,autoSize:!1,
39579closeClick:!1,width:640,height:385,openEffect:'none',closeEffect:'none',iframe:{preload:!1},helpers:{overlay:{css:{'background':'rgba(0, 0, 0, 0.90)'}}}})}
39580$(document).on('click','.reply-simpleblog-button',function(){$([document.documentElement,document.body]).animate({scrollTop:$('.simpleblog__addComment').offset().top},1000);$('.simpleblog_answer_info').addClass('d-block');$('.simpleblog__cancelReplay').addClass('d-block');$('input[name="id_parent"]').val($(this).data('id-comment'))});$(document).on('click','.simpleblog__cancelReplay',function(e){e.preventDefault();$('.simpleblog_answer_info').removeClass('d-block');$('.simpleblog__cancelReplay').removeClass('d-block');$('.simpleblog_answer_info').addClass('simpleblog_answer_info_active');$('input[name="id_parent"]').val(0)})});function initProductPageGallery(){$(".blog-fancybox").fancybox({helpers:{overlay:{locked:!1}}});var $gallery=$('.post-gallery__gallery-js');$gallery.one('layoutComplete',function(){$gallery.addClass('initialized')});$gallery.masonry({itemSelector:'.gallery-js__elem'})}
39581function initMasonryList(){var $list=$('.blog-masonry-list');$list.one('layoutComplete',function(){$list.addClass('initialized')});$list.masonry({itemSelector:'.simpleblog__listing__post'})};/*!
39582 * Masonry PACKAGED v4.2.2
39583 * Cascading grid layout library
39584 * https://masonry.desandro.com
39585 * MIT License
39586 * by David DeSandro
39587 */
vendor: 23,967 bytes, lines 39587-39588
39587
39588!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?n.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){i=i||100;var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var r=i.toDashed(n),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(o&&o.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,n,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=parseFloat(n),s=parseFloat(o),a=this.layout.size;-1!=n.indexOf("%")&&(r=r/100*a.width),-1!=o.indexOf("%")&&(s=s/100*a.height),r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),o&&!this.isTransitioning)return void this.layoutPosition();var r=t-i,s=e-n,a={};a.transform=this.getTranslate(r,s),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var n=i.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});
vendor: 19,741 bytes, line 39588
39588(window.webpackJsonp_name_=window.webpackJsonp_name_||[]).push([[1],[,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isSchema",{enumerable:!0,get:function(){return r.isSchema}}),Object.defineProperty(n,"assertSchema",{enumerable:!0,get:function(){return r.assertSchema}}),Object.defineProperty(n,"GraphQLSchema",{enumerable:!0,get:function(){return r.GraphQLSchema}}),Object.defineProperty(n,"isType",{enumerable:!0,get:function(){return i.isType}}),Object.defineProperty(n,"isScalarType",{enumerable:!0,get:function(){return i.isScalarType}}),Object.defineProperty(n,"isObjectType",{enumerable:!0,get:function(){return i.isObjectType}}),Object.defineProperty(n,"isInterfaceType",{enumerable:!0,get:function(){return i.isInterfaceType}}),Object.defineProperty(n,"isUnionType",{enumerable:!0,get:function(){return i.isUnionType}}),Object.defineProperty(n,"isEnumType",{enumerable:!0,get:function(){return i.isEnumType}}),Object.defineProperty(n,"isInputObjectType",{enumerable:!0,get:function(){return i.isInputObjectType}}),Object.defineProperty(n,"isListType",{enumerable:!0,get:function(){return i.isListType}}),Object.defineProperty(n,"isNonNullType",{enumerable:!0,get:function(){return i.isNonNullType}}),Object.defineProperty(n,"isInputType",{enumerable:!0,get:function(){return i.isInputType}}),Object.defineProperty(n,"isOutputType",{enumerable:!0,get:function(){return i.isOutputType}}),Object.defineProperty(n,"isLeafType",{enumerable:!0,get:function(){return i.isLeafType}}),Object.defineProperty(n,"isCompositeType",{enumerable:!0,get:function(){return i.isCompositeType}}),Object.defineProperty(n,"isAbstractType",{enumerable:!0,get:function(){return i.isAbstractType}}),Object.defineProperty(n,"isWrappingType",{enumerable:!0,get:function(){return i.isWrappingType}}),Object.defineProperty(n,"isNullableType",{enumerable:!0,get:function(){return i.isNullableType}}),Object.defineProperty(n,"isNamedType",{enumerable:!0,get:function(){return i.isNamedType}}),Object.defineProperty(n,"isRequiredArgument",{enumerable:!0,get:function(){return i.isRequiredArgument}}),Object.defineProperty(n,"isRequiredInputField",{enumerable:!0,get:function(){return i.isRequiredInputField}}),Object.defineProperty(n,"assertType",{enumerable:!0,get:function(){return i.assertType}}),Object.defineProperty(n,"assertScalarType",{enumerable:!0,get:function(){return i.assertScalarType}}),Object.defineProperty(n,"assertObjectType",{enumerable:!0,get:function(){return i.assertObjectType}}),Object.defineProperty(n,"assertInterfaceType",{enumerable:!0,get:function(){return i.assertInterfaceType}}),Object.defineProperty(n,"assertUnionType",{enumerable:!0,get:function(){return i.assertUnionType}}),Object.defineProperty(n,"assertEnumType",{enumerable:!0,get:function(){return i.assertEnumType}}),Object.defineProperty(n,"assertInputObjectType",{enumerable:!0,get:function(){return i.assertInputObjectType}}),Object.defineProperty(n,"assertListType",{enumerable:!0,get:function(){return i.assertListType}}),Object.defineProperty(n,"assertNonNullType",{enumerable:!0,get:function(){return i.assertNonNullType}}),Object.defineProperty(n,"assertInputType",{enumerable:!0,get:function(){return i.assertInputType}}),Object.defineProperty(n,"assertOutputType",{enumerable:!0,get:function(){return i.assertOutputType}}),Object.defineProperty(n,"assertLeafType",{enumerable:!0,get:function(){return i.assertLeafType}}),Object.defineProperty(n,"assertCompositeType",{enumerable:!0,get:function(){return i.assertCompositeType}}),Object.defineProperty(n,"assertAbstractType",{enumerable:!0,get:function(){return i.assertAbstractType}}),Object.defineProperty(n,"assertWrappingType",{enumerable:!0,get:function(){return i.assertWrappingType}}),Object.defineProperty(n,"assertNullableType",{enumerable:!0,get:function(){return i.assertNullableType}}),Object.defineProperty(n,"assertNamedType",{enumerable:!0,get:function(){return i.assertNamedType}}),Object.defineProperty(n,"getNullableType",{enumerable:!0,get:function(){return i.getNullableType}}),Object.defineProperty(n,"getNamedType",{enumerable:!0,get:function(){return i.getNamedType}}),Object.defineProperty(n,"GraphQLScalarType",{enumerable:!0,get:function(){return i.GraphQLScalarType}}),Object.defineProperty(n,"GraphQLObjectType",{enumerable:!0,get:function(){return i.GraphQLObjectType}}),Object.defineProperty(n,"GraphQLInterfaceType",{enumerable:!0,get:function(){return i.GraphQLInterfaceType}}),Object.defineProperty(n,"GraphQLUnionType",{enumerable:!0,get:function(){return i.GraphQLUnionType}}),Object.defineProperty(n,"GraphQLEnumType",{enumerable:!0,get:function(){return i.GraphQLEnumType}}),Object.defineProperty(n,"GraphQLInputObjectType",{enumerable:!0,get:function(){return i.GraphQLInputObjectType}}),Object.defineProperty(n,"GraphQLList",{enumerable:!0,get:function(){return i.GraphQLList}}),Object.defineProperty(n,"GraphQLNonNull",{enumerable:!0,get:function(){return i.GraphQLNonNull}}),Object.defineProperty(n,"isDirective",{enumerable:!0,get:function(){return a.isDirective}}),Object.defineProperty(n,"assertDirective",{enumerable:!0,get:function(){return a.assertDirective}}),Object.defineProperty(n,"GraphQLDirective",{enumerable:!0,get:function(){return a.GraphQLDirective}}),Object.defineProperty(n,"isSpecifiedDirective",{enumerable:!0,get:function(){return a.isSpecifiedDirective}}),Object.defineProperty(n,"specifiedDirectives",{enumerable:!0,get:function(){return a.specifiedDirectives}}),Object.defineProperty(n,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return a.GraphQLIncludeDirective}}),Object.defineProperty(n,"GraphQLSkipDirective",{enumerable:!0,get:function(){return a.GraphQLSkipDirective}}),Object.defineProperty(n,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return a.GraphQLDeprecatedDirective}}),Object.defineProperty(n,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return a.DEFAULT_DEPRECATION_REASON}}),Object.defineProperty(n,"isSpecifiedScalarType",{enumerable:!0,get:function(){return o.isSpecifiedScalarType}}),Object.defineProperty(n,"specifiedScalarTypes",{enumerable:!0,get:function(){return o.specifiedScalarTypes}}),Object.defineProperty(n,"GraphQLInt",{enumerable:!0,get:function(){return o.GraphQLInt}}),Object.defineProperty(n,"GraphQLFloat",{enumerable:!0,get:function(){return o.GraphQLFloat}}),Object.defineProperty(n,"GraphQLString",{enumerable:!0,get:function(){return o.GraphQLString}}),Object.defineProperty(n,"GraphQLBoolean",{enumerable:!0,get:function(){return o.GraphQLBoolean}}),Object.defineProperty(n,"GraphQLID",{enumerable:!0,get:function(){return o.GraphQLID}}),Object.defineProperty(n,"isIntrospectionType",{enumerable:!0,get:function(){return u.isIntrospectionType}}),Object.defineProperty(n,"introspectionTypes",{enumerable:!0,get:function(){return u.introspectionTypes}}),Object.defineProperty(n,"__Schema",{enumerable:!0,get:function(){return u.__Schema}}),Object.defineProperty(n,"__Directive",{enumerable:!0,get:function(){return u.__Directive}}),Object.defineProperty(n,"__DirectiveLocation",{enumerable:!0,get:function(){return u.__DirectiveLocation}}),Object.defineProperty(n,"__Type",{enumerable:!0,get:function(){return u.__Type}}),Object.defineProperty(n,"__Field",{enumerable:!0,get:function(){return u.__Field}}),Object.defineProperty(n,"__InputValue",{enumerable:!0,get:function(){return u.__InputValue}}),Object.defineProperty(n,"__EnumValue",{enumerable:!0,get:function(){return u.__EnumValue}}),Object.defineProperty(n,"__TypeKind",{enumerable:!0,get:function(){return u.__TypeKind}}),Object.defineProperty(n,"TypeKind",{enumerable:!0,get:function(){return u.TypeKind}}),Object.defineProperty(n,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return u.SchemaMetaFieldDef}}),Object.defineProperty(n,"TypeMetaFieldDef",{enumerable:!0,get:function(){return u.TypeMetaFieldDef}}),Object.defineProperty(n,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return u.TypeNameMetaFieldDef}}),Object.defineProperty(n,"validateSchema",{enumerable:!0,get:function(){return c.validateSchema}}),Object.defineProperty(n,"assertValidSchema",{enumerable:!0,get:function(){return c.assertValidSchema}});var r=t(95),i=t(11),a=t(50),o=t(66),u=t(64),c=t(154)},,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.GraphQLError=u,n.printError=c;var r,i=(r=t(65))&&r.__esModule?r:{default:r},a=t(185),o=t(243);function u(e,n,t,r,o,c,s){var l=Array.isArray(n)?0!==n.length?n:void 0:n?[n]:void 0,f=t;if(!f&&l){var p=l[0];f=p&&p.loc&&p.loc.source}var d,v=r;!v&&l&&(v=l.reduce((function(e,n){return n.loc&&e.push(n.loc.start),e}),[])),v&&0===v.length&&(v=void 0),r&&t?d=r.map((function(e){return(0,a.getLocation)(t,e)})):l&&(d=l.reduce((function(e,n){return n.loc&&e.push((0,a.getLocation)(n.loc.source,n.loc.start)),e}),[]));var y=s;if(null==y&&null!=c){var h=c.extensions;(0,i.default)(h)&&(y=h)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:o||void 0,enumerable:Boolean(o)},nodes:{value:l||void 0},source:{value:f||void 0},positions:{value:v||void 0},originalError:{value:c},extensions:{value:y||void 0,enumerable:Boolean(y)}}),c&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,u):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}function c(e){var n=e.message;if(e.nodes)for(var t=0,r=e.nodes;t<r.length;t++){var i=r[t];i.loc&&(n+="\n\n"+(0,o.printLocation)(i.loc))}else if(e.source&&e.locations)for(var a=0,u=e.locations;a<u.length;a++){var c=u[a];n+="\n\n"+(0,o.printSourceLocation)(e.source,c)}return n}u.prototype=Object.create(Error.prototype,{constructor:{value:u},name:{value:"GraphQLError"},toString:{value:function(){return c(this)}}})},function(e,n,t){"use strict";t.r(n);var r=t(194);t.d(n,"version",(function(){return r.version})),t.d(n,"versionInfo",(function(){return r.versionInfo}));var i=t(195);t.d(n,"graphql",(function(){return i.graphql})),t.d(n,"graphqlSync",(function(){return i.graphqlSync}));var a=t(2);t.d(n,"GraphQLSchema",(function(){return a.GraphQLSchema})),t.d(n,"GraphQLDirective",(function(){return a.GraphQLDirective})),t.d(n,"GraphQLScalarType",(function(){return a.GraphQLScalarType})),t.d(n,"GraphQLObjectType",(function(){return a.GraphQLObjectType})),t.d(n,"GraphQLInterfaceType",(function(){return a.GraphQLInterfaceType})),t.d(n,"GraphQLUnionType",(function(){return a.GraphQLUnionType})),t.d(n,"GraphQLEnumType",(function(){return a.GraphQLEnumType})),t.d(n,"GraphQLInputObjectType",(function(){return a.GraphQLInputObjectType})),t.d(n,"GraphQLList",(function(){return a.GraphQLList})),t.d(n,"GraphQLNonNull",(function(){return a.GraphQLNonNull})),t.d(n,"specifiedScalarTypes",(function(){return a.specifiedScalarTypes})),t.d(n,"GraphQLInt",(function(){return a.GraphQLInt})),t.d(n,"GraphQLFloat",(function(){return a.GraphQLFloat})),t.d(n,"GraphQLString",(function(){return a.GraphQLString})),t.d(n,"GraphQLBoolean",(function(){return a.GraphQLBoolean})),t.d(n,"GraphQLID",(function(){return a.GraphQLID})),t.d(n,"specifiedDirectives",(function(){return a.specifiedDirectives})),t.d(n,"GraphQLIncludeDirective",(function(){return a.GraphQLIncludeDirective})),t.d(n,"GraphQLSkipDirective",(function(){return a.GraphQLSkipDirective})),t.d(n,"GraphQLDeprecatedDirective",(function(){return a.GraphQLDeprecatedDirective})),t.d(n,"TypeKind",(function(){return a.TypeKind})),t.d(n,"DEFAULT_DEPRECATION_REASON",(function(){return a.DEFAULT_DEPRECATION_REASON})),t.d(n,"introspectionTypes",(function(){return a.introspectionTypes})),t.d(n,"__Schema",(function(){return a.__Schema})),t.d(n,"__Directive",(function(){return a.__Directive})),t.d(n,"__DirectiveLocation",(function(){return a.__DirectiveLocation})),t.d(n,"__Type",(function(){return a.__Type})),t.d(n,"__Field",(function(){return a.__Field})),t.d(n,"__InputValue",(function(){return a.__InputValue})),t.d(n,"__EnumValue",(function(){return a.__EnumValue})),t.d(n,"__TypeKind",(function(){return a.__TypeKind})),t.d(n,"SchemaMetaFieldDef",(function(){return a.SchemaMetaFieldDef})),t.d(n,"TypeMetaFieldDef",(function(){return a.TypeMetaFieldDef})),t.d(n,"TypeNameMetaFieldDef",(function(){return a.TypeNameMetaFieldDef})),t.d(n,"isSchema",(function(){return a.isSchema})),t.d(n,"isDirective",(function(){return a.isDirective})),t.d(n,"isType",(function(){return a.isType})),t.d(n,"isScalarType",(function(){return a.isScalarType})),t.d(n,"isObjectType",(function(){return a.isObjectType})),t.d(n,"isInterfaceType",(function(){return a.isInterfaceType})),t.d(n,"isUnionType",(function(){return a.isUnionType})),t.d(n,"isEnumType",(function(){return a.isEnumType})),t.d(n,"isInputObjectType",(function(){return a.isInputObjectType})),t.d(n,"isListType",(function(){return a.isListType})),t.d(n,"isNonNullType",(function(){return a.isNonNullType})),t.d(n,"isInputType",(function(){return a.isInputType})),t.d(n,"isOutputType",(function(){return a.isOutputType})),t.d(n,"isLeafType",(function(){return a.isLeafType})),t.d(n,"isCompositeType",(function(){return a.isCompositeType})),t.d(n,"isAbstractType",(function(){return a.isAbstractType})),t.d(n,"isWrappingType",(function(){return a.isWrappingType})),t.d(n,"isNullableType",(function(){return a.isNullableType})),t.d(n,"isNamedType",(function(){return a.isNamedType})),t.d(n,"isRequiredArgument",(function(){return a.isRequiredArgument})),t.d(n,"isRequiredInputField",(function(){return a.isRequiredInputField})),t.d(n,"isSpecifiedScalarType",(function(){return a.isSpecifiedScalarType})),t.d(n,"isIntrospectionType",(function(){return a.isIntrospectionType})),t.d(n,"isSpecifiedDirective",(function(){return a.isSpecifiedDirective})),t.d(n,"assertSchema",(function(){return a.assertSchema})),t.d(n,"assertDirective",(function(){return a.assertDirective})),t.d(n,"assertType",(function(){return a.assertType})),t.d(n,"assertScalarType",(function(){return a.assertScalarType})),t.d(n,"assertObjectType",(function(){return a.assertObjectType})),t.d(n,"assertInterfaceType",(function(){return a.assertInterfaceType})),t.d(n,"assertUnionType",(function(){return a.assertUnionType})),t.d(n,"assertEnumType",(function(){return a.assertEnumType})),t.d(n,"assertInputObjectType",(function(){return a.assertInputObjectType})),t.d(n,"assertListType",(function(){return a.assertListType})),t.d(n,"assertNonNullType",(function(){return a.assertNonNullType})),t.d(n,"assertInputType",(function(){return a.assertInputType})),t.d(n,"assertOutputType",(function(){return a.assertOutputType})),t.d(n,"assertLeafType",(function(){return a.assertLeafType})),t.d(n,"assertCompositeType",(function(){return a.assertCompositeType})),t.d(n,"assertAbstractType",(function(){return a.assertAbstractType})),t.d(n,"assertWrappingType",(function(){return a.assertWrappingType})),t.d(n,"assertNullableType",(function(){return a.assertNullableType})),t.d(n,"assertNamedType",(function(){return a.assertNamedType})),t.d(n,"getNullableType",(function(){return a.getNullableType})),t.d(n,"getNamedType",(function(){return a.getNamedType})),t.d(n,"validateSchema",(function(){return a.validateSchema})),t.d(n,"assertValidSchema",(function(){return a.assertValidSchema}));var o=t(7);t.d(n,"Source",(function(){return o.Source})),t.d(n,"getLocation",(function(){return o.getLocation})),t.d(n,"printLocation",(function(){return o.printLocation})),t.d(n,"printSourceLocation",(function(){return o.printSourceLocation})),t.d(n,"createLexer",(function(){return o.createLexer})),t.d(n,"TokenKind",(function(){return o.TokenKind})),t.d(n,"parse",(function(){return o.parse})),t.d(n,"parseValue",(function(){return o.parseValue})),t.d(n,"parseType",(function(){return o.parseType})),t.d(n,"print",(function(){return o.print})),t.d(n,"visit",(function(){return o.visit})),t.d(n,"visitInParallel",(function(){return o.visitInParallel})),t.d(n,"visitWithTypeInfo",(function(){return o.visitWithTypeInfo})),t.d(n,"getVisitFn",(function(){return o.getVisitFn})),t.d(n,"BREAK",(function(){return o.BREAK})),t.d(n,"Kind",(function(){return o.Kind})),t.d(n,"DirectiveLocation",(function(){return o.DirectiveLocation})),t.d(n,"isDefinitionNode",(function(){return o.isDefinitionNode})),t.d(n,"isExecutableDefinitionNode",(function(){return o.isExecutableDefinitionNode})),t.d(n,"isSelectionNode",(function(){return o.isSelectionNode})),t.d(n,"isValueNode",(function(){return o.isValueNode})),t.d(n,"isTypeNode",(function(){return o.isTypeNode})),t.d(n,"isTypeSystemDefinitionNode",(function(){return o.isTypeSystemDefinitionNode})),t.d(n,"isTypeDefinitionNode",(function(){return o.isTypeDefinitionNode})),t.d(n,"isTypeSystemExtensionNode",(function(){return o.isTypeSystemExtensionNode})),t.d(n,"isTypeExtensionNode",(function(){return o.isTypeExtensionNode}));var u=t(115);t.d(n,"execute",(function(){return u.execute})),t.d(n,"defaultFieldResolver",(function(){return u.defaultFieldResolver})),t.d(n,"defaultTypeResolver",(function(){return u.defaultTypeResolver})),t.d(n,"responsePathAsArray",(function(){return u.responsePathAsArray})),t.d(n,"getDirectiveValues",(function(){return u.getDirectiveValues}));var c=t(198);t.d(n,"subscribe",(function(){return c.subscribe})),t.d(n,"createSourceEventStream",(function(){return c.createSourceEventStream}));var s=t(9);t.d(n,"validate",(function(){return s.validate})),t.d(n,"ValidationContext",(function(){return s.ValidationContext})),t.d(n,"specifiedRules",(function(){return s.specifiedRules})),t.d(n,"ExecutableDefinitionsRule",(function(){return s.ExecutableDefinitionsRule})),t.d(n,"FieldsOnCorrectTypeRule",(function(){return s.FieldsOnCorrectTypeRule})),t.d(n,"FragmentsOnCompositeTypesRule",(function(){return s.FragmentsOnCompositeTypesRule})),t.d(n,"KnownArgumentNamesRule",(function(){return s.KnownArgumentNamesRule})),t.d(n,"KnownDirectivesRule",(function(){return s.KnownDirectivesRule})),t.d(n,"KnownFragmentNamesRule",(function(){return s.KnownFragmentNamesRule})),t.d(n,"KnownTypeNamesRule",(function(){return s.KnownTypeNamesRule})),t.d(n,"LoneAnonymousOperationRule",(function(){return s.LoneAnonymousOperationRule})),t.d(n,"NoFragmentCyclesRule",(function(){return s.NoFragmentCyclesRule})),t.d(n,"NoUndefinedVariablesRule",(function(){return s.NoUndefinedVariablesRule})),t.d(n,"NoUnusedFragmentsRule",(function(){return s.NoUnusedFragmentsRule})),t.d(n,"NoUnusedVariablesRule",(function(){return s.NoUnusedVariablesRule})),t.d(n,"OverlappingFieldsCanBeMergedRule",(function(){return s.OverlappingFieldsCanBeMergedRule})),t.d(n,"PossibleFragmentSpreadsRule",(function(){return s.PossibleFragmentSpreadsRule})),t.d(n,"ProvidedRequiredArgumentsRule",(function(){return s.ProvidedRequiredArgumentsRule})),t.d(n,"ScalarLeafsRule",(function(){return s.ScalarLeafsRule})),t.d(n,"SingleFieldSubscriptionsRule",(function(){return s.SingleFieldSubscriptionsRule})),t.d(n,"UniqueArgumentNamesRule",(function(){return s.UniqueArgumentNamesRule})),t.d(n,"UniqueDirectivesPerLocationRule",(function(){return s.UniqueDirectivesPerLocationRule})),t.d(n,"UniqueFragmentNamesRule",(function(){return s.UniqueFragmentNamesRule})),t.d(n,"UniqueInputFieldNamesRule",(function(){return s.UniqueInputFieldNamesRule})),t.d(n,"UniqueOperationNamesRule",(function(){return s.UniqueOperationNamesRule})),t.d(n,"UniqueVariableNamesRule",(function(){return s.UniqueVariableNamesRule})),t.d(n,"ValuesOfCorrectTypeRule",(function(){return s.ValuesOfCorrectTypeRule})),t.d(n,"VariablesAreInputTypesRule",(function(){return s.VariablesAreInputTypesRule})),t.d(n,"VariablesInAllowedPositionRule",(function(){return s.VariablesInAllowedPositionRule}
39588)),t.d(n,"LoneSchemaDefinitionRule",(function(){return s.LoneSchemaDefinitionRule})),t.d(n,"UniqueOperationTypesRule",(function(){return s.UniqueOperationTypesRule})),t.d(n,"UniqueTypeNamesRule",(function(){return s.UniqueTypeNamesRule})),t.d(n,"UniqueEnumValueNamesRule",(function(){return s.UniqueEnumValueNamesRule})),t.d(n,"UniqueFieldDefinitionNamesRule",(function(){return s.UniqueFieldDefinitionNamesRule})),t.d(n,"UniqueDirectiveNamesRule",(function(){return s.UniqueDirectiveNamesRule})),t.d(n,"PossibleTypeExtensionsRule",(function(){return s.PossibleTypeExtensionsRule}));var l=t(81);t.d(n,"GraphQLError",(function(){return l.GraphQLError})),t.d(n,"syntaxError",(function(){return l.syntaxError})),t.d(n,"locatedError",(function(){return l.locatedError})),t.d(n,"printError",(function(){return l.printError})),t.d(n,"formatError",(function(){return l.formatError}));var f=t(8);t.d(n,"getIntrospectionQuery",(function(){return f.getIntrospectionQuery})),t.d(n,"introspectionQuery",(function(){return f.introspectionQuery})),t.d(n,"getOperationAST",(function(){return f.getOperationAST})),t.d(n,"getOperationRootType",(function(){return f.getOperationRootType})),t.d(n,"introspectionFromSchema",(function(){return f.introspectionFromSchema})),t.d(n,"buildClientSchema",(function(){return f.buildClientSchema})),t.d(n,"buildASTSchema",(function(){return f.buildASTSchema})),t.d(n,"buildSchema",(function(){return f.buildSchema})),t.d(n,"getDescription",(function(){return f.getDescription})),t.d(n,"extendSchema",(function(){return f.extendSchema})),t.d(n,"lexicographicSortSchema",(function(){return f.lexicographicSortSchema})),t.d(n,"printSchema",(function(){return f.printSchema})),t.d(n,"printType",(function(){return f.printType})),t.d(n,"printIntrospectionSchema",(function(){return f.printIntrospectionSchema})),t.d(n,"typeFromAST",(function(){return f.typeFromAST})),t.d(n,"valueFromAST",(function(){return f.valueFromAST})),t.d(n,"valueFromASTUntyped",(function(){return f.valueFromASTUntyped})),t.d(n,"astFromValue",(function(){return f.astFromValue})),t.d(n,"TypeInfo",(function(){return f.TypeInfo})),t.d(n,"coerceInputValue",(function(){return f.coerceInputValue})),t.d(n,"coerceValue",(function(){return f.coerceValue})),t.d(n,"isValidJSValue",(function(){return f.isValidJSValue})),t.d(n,"isValidLiteralValue",(function(){return f.isValidLiteralValue})),t.d(n,"concatAST",(function(){return f.concatAST})),t.d(n,"separateOperations",(function(){return f.separateOperations})),t.d(n,"stripIgnoredCharacters",(function(){return f.stripIgnoredCharacters})),t.d(n,"isEqualType",(function(){return f.isEqualType})),t.d(n,"isTypeSubTypeOf",(function(){return f.isTypeSubTypeOf})),t.d(n,"doTypesOverlap",(function(){return f.doTypesOverlap})),t.d(n,"assertValidName",(function(){return f.assertValidName})),t.d(n,"isValidNameError",(function(){return f.isValidNameError})),t.d(n,"BreakingChangeType",(function(){return f.BreakingChangeType})),t.d(n,"DangerousChangeType",(function(){return f.DangerousChangeType})),t.d(n,"findBreakingChanges",(function(){return f.findBreakingChanges})),t.d(n,"findDangerousChanges",(function(){return f.findDangerousChanges})),t.d(n,"findDeprecatedUsages",(function(){return f.findDeprecatedUsages}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Source",{enumerable:!0,get:function(){return r.Source}}),Object.defineProperty(n,"getLocation",{enumerable:!0,get:function(){return i.getLocation}}),Object.defineProperty(n,"printLocation",{enumerable:!0,get:function(){return a.printLocation}}),Object.defineProperty(n,"printSourceLocation",{enumerable:!0,get:function(){return a.printSourceLocation}}),Object.defineProperty(n,"Kind",{enumerable:!0,get:function(){return o.Kind}}),Object.defineProperty(n,"TokenKind",{enumerable:!0,get:function(){return u.TokenKind}}),Object.defineProperty(n,"createLexer",{enumerable:!0,get:function(){return c.createLexer}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return s.parse}}),Object.defineProperty(n,"parseValue",{enumerable:!0,get:function(){return s.parseValue}}),Object.defineProperty(n,"parseType",{enumerable:!0,get:function(){return s.parseType}}),Object.defineProperty(n,"print",{enumerable:!0,get:function(){return l.print}}),Object.defineProperty(n,"visit",{enumerable:!0,get:function(){return f.visit}}),Object.defineProperty(n,"visitInParallel",{enumerable:!0,get:function(){return f.visitInParallel}}
39588),Object.defineProperty(n,"visitWithTypeInfo",{enumerable:!0,get:function(){return f.visitWithTypeInfo}}),Object.defineProperty(n,"getVisitFn",{enumerable:!0,get:function(){return f.getVisitFn}}),Object.defineProperty(n,"BREAK",{enumerable:!0,get:function(){return f.BREAK}}),Object.defineProperty(n,"isDefinitionNode",{enumerable:!0,get:function(){return p.isDefinitionNode}}),Object.defineProperty(n,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return p.isExecutableDefinitionNode}}),Object.defineProperty(n,"isSelectionNode",{enumerable:!0,get:function(){return p.isSelectionNode}}),Object.defineProperty(n,"isValueNode",{enumerable:!0,get:function(){return p.isValueNode}}),Object.defineProperty(n,"isTypeNode",{enumerable:!0,get:function(){return p.isTypeNode}}),Object.defineProperty(n,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return p.isTypeSystemDefinitionNode}}),Object.defineProperty(n,"isTypeDefinitionNode",{enumerable:!0,get:function(){return p.isTypeDefinitionNode}}),Object.defineProperty(n,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return p.isTypeSystemExtensionNode}}),Object.defineProperty(n,"isTypeExtensionNode",{enumerable:!0,get:function(){return p.isTypeExtensionNode}}),Object.defineProperty(n,"DirectiveLocation",{enumerable:!0,get:function(){return d.DirectiveLocation}});var r=t(184),i=t(185),a=t(243),o=t(18),u=t(120),c=t(186),s=t(122),l=t(63),f=t(28),p=t(110),d=t(123)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"getIntrospectionQuery",{enumerable:!0,get:function(){return r.getIntrospectionQuery}}),Object.defineProperty(n,"introspectionQuery",{enumerable:!0,get:function(){return r.introspectionQuery}}),Object.defineProperty(n,"getOperationAST",{enumerable:!0,get:function(){return i.getOperationAST}}),Object.defineProperty(n,"getOperationRootType",{enumerable:!0,get:function(){return a.getOperationRootType}}),Object.defineProperty(n,"introspectionFromSchema",{enumerable:!0,get:function(){return o.introspectionFromSchema}}),Object.defineProperty(n,"buildClientSchema",{enumerable:!0,get:function(){return u.buildClientSchema}}),Object.defineProperty(n,"buildASTSchema",{enumerable:!0,get:function(){return c.buildASTSchema}}),Object.defineProperty(n,"buildSchema",{enumerable:!0,get:function(){return c.buildSchema}}),Object.defineProperty(n,"getDescription",{enumerable:!0,get:function(){return c.getDescription}}),Object.defineProperty(n,"extendSchema",{enumerable:!0,get:function(){return s.extendSchema}}),Object.defineProperty(n,"lexicographicSortSchema",{enumerable:!0,get:function(){return l.lexicographicSortSchema}}),Object.defineProperty(n,"printSchema",{enumerable:!0,get:function(){return f.printSchema}}),Object.defineProperty(n,"printType",{enumerable:!0,get:function(){return f.printType}}),Object.defineProperty(n,"printIntrospectionSchema",{enumerable:!0,get:function(){return f.printIntrospectionSchema}}),Object.defineProperty(n,"typeFromAST",{enumerable:!0,get:function(){return p.typeFromAST}}),Object.defineProperty(n,"valueFromAST",{enumerable:!0,get:function(){return d.valueFromAST}}),Object.defineProperty(n,"valueFromASTUntyped",{enumerable:!0,get:function(){return v.valueFromASTUntyped}}),Object.defineProperty(n,"astFromValue",{enumerable:!0,get:function(){return y.astFromValue}}),Object.defineProperty(n,"TypeInfo",{enumerable:!0,get:function(){return h.TypeInfo}}),Object.defineProperty(n,"coerceInputValue",{enumerable:!0,get:function(){return m.coerceInputValue}}),Object.defineProperty(n,"coerceValue",{enumerable:!0,get:function(){return T.coerceValue}}),Object.defineProperty(n,"isValidJSValue",{enumerable:!0,get:function(){return g.isValidJSValue}}),Object.defineProperty(n,"isValidLiteralValue",{enumerable:!0,get:function(){return b.isValidLiteralValue}}),Object.defineProperty(n,"concatAST",{enumerable:!0,get:function(){return E.concatAST}}),Object.defineProperty(n,"separateOperations",{enumerable:!0,get:function(){return O.separateOperations}}),Object.defineProperty(n,"stripIgnoredCharacters",{enumerable:!0,get:function(){return _.stripIgnoredCharacters}}),Object.defineProperty(n,"isEqualType",{enumerable:!0,get:function(){return N.isEqualType}}),Object.defineProperty(n,"isTypeSubTypeOf",{enumerable:!0,get:function(){return N.isTypeSubTypeOf}}),Object.defineProperty(n,"doTypesOverlap",{enumerable:!0,get:function(){return N.doTypesOverlap}}),Object.defineProperty(n,"assertValidName",{enumerable:!0,get:function(){return I.assertValidName}}),Object.defineProperty(n,"isValidNameError",{enumerable:!0,get:function(){return I.isValidNameError}}),Object.defineProperty(n,"BreakingChangeType",{enumerable:!0,get:function(){return S.BreakingChangeType}}),Object.defineProperty(n,"DangerousChangeType",{enumerable:!0,get:function(){return S.DangerousChangeType}}),Object.defineProperty(n,"findBreakingChanges",{enumerable:!0,get:function(){return S.findBreakingChanges}}),Object.defineProperty(n,"findDangerousChanges",{enumerable:!0,get:function(){return S.findDangerousChanges}}),Object.defineProperty(n,"findDeprecatedUsages",{enumerable:!0,get:function(){return D.findDeprecatedUsages}});var r=t(282),i=t(337),a=t(191),o=t(338),u=t(339),c=t(283),s=t(340),l=t(341),f=t(342),p=t(67),d=t(159),v=t(248),y=t(157),h=t(128),m=t(193),T=t(284),g=t(343),b=t(344),E=t(345),O
39588=t(346),_=t(347),N=t(156),I=t(246),S=t(348),D=t(349)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"validate",{enumerable:!0,get:function(){return r.validate}}),Object.defineProperty(n,"ValidationContext",{enumerable:!0,get:function(){return i.ValidationContext}}),Object.defineProperty(n,"specifiedRules",{enumerable:!0,get:function(){return a.specifiedRules}}),Object.defineProperty(n,"ExecutableDefinitionsRule",{enumerable:!0,get:function(){return o.ExecutableDefinitions}}),Object.defineProperty(n,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return u.FieldsOnCorrectType}}),Object.defineProperty(n,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return c.FragmentsOnCompositeTypes}}),Object.defineProperty(n,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return s.KnownArgumentNames}}),Object.defineProperty(n,"KnownDirectivesRule",{enumerable:!0,get:function(){return l.KnownDirectives}}),Object.defineProperty(n,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return f.KnownFragmentNames}}),Object.defineProperty(n,"KnownTypeNamesRule",{enumerable:!0,get:function(){return p.KnownTypeNames}}),Object.defineProperty(n,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return d.LoneAnonymousOperation}}),Object.defineProperty(n,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return v.NoFragmentCycles}}),Object.defineProperty(n,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return y.NoUndefinedVariables}}),Object.defineProperty(n,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return h.NoUnusedFragments}}),Object.defineProperty(n,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return m.NoUnusedVariables}}),Object.defineProperty(n,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return T.OverlappingFieldsCanBeMerged}}),Object.defineProperty(n,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return g.PossibleFragmentSpreads}}),Object.defineProperty(n,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return b.ProvidedRequiredArguments}}),Object.defineProperty(n,"ScalarLeafsRule",{enumerable:!0,get:function(){return E.ScalarLeafs}}),Object.defineProperty(n,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return O.SingleFieldSubscriptions}}),Object.defineProperty(n,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return _.UniqueArgumentNames}}),Object.defineProperty(n,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return N.UniqueDirectivesPerLocation}}),Object.defineProperty(n,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return I.UniqueFragmentNames}}),Object.defineProperty(n,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return S.UniqueInputFieldNames}}),Object.defineProperty(n,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return D.UniqueOperationNames}}),Object.defineProperty(n,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return L.UniqueVariableNames}}),Object.defineProperty(n,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return A.ValuesOfCorrectType}}),Object.defineProperty(n,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return j.VariablesAreInputTypes}}),Object.defineProperty(n,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return w.VariablesInAllowedPosition}}),Object.defineProperty(n,"LoneSchemaDefinitionRule",{enumerable:!0,get:function(){return P.LoneSchemaDefinition}}),Object.defineProperty(n,"UniqueOperationTypesRule",{enumerable:!0,get:function(){return k.UniqueOperationTypes}}),Object.defineProperty(n,"UniqueTypeNamesRule",{enumerable:!0,get:function(){return F.UniqueTypeNames}}),Object.defineProperty(n,"UniqueEnumValueNamesRule",{enumerable:!0,get:function(){return R.UniqueEnumValueNames}}),Object.defineProperty(n,"UniqueFieldDefinitionNamesRule",{enumerable:!0,get:function(){return M.UniqueFieldDefinitionNames}}),Object.defineProperty(n,"UniqueDirectiveNamesRule",{enumerable:!0,get:function(){return x.UniqueDirectiveNames}}),Object.defineProperty(n,"PossibleTypeExtensionsRule",{enumerable:!0,get:function(){return G.PossibleTypeExtensions}});var r=t(160),i=t(197),a=t(249),o=t(250),u=t(258),c=t(255),s=t(269),l=t(267),f=t(260),p=t(254),d=t(252),v=t(263),y=t(265),h=t(261),m=t(266),T=t(273),g=t(262),b=t(271),E=t(257),O=t(253),_=t(270),N=t(268),I=t(259),S=t(274),D=t(251),L=t(264),A=t(196),j=t(256),w=t(272),P=t(275),k=t(276),F=t(277),R=t(278),M=t(279),x=t(280),G=t(281)},,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}
39588),n.isType=E,n.assertType=O,n.isScalarType=_,n.assertScalarType=function(e){if(!_(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Scalar type."));return e},n.isObjectType=N,n.assertObjectType=function(e){if(!N(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Object type."));return e},n.isInterfaceType=I,n.assertInterfaceType=function(e){if(!I(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Interface type."));return e},n.isUnionType=S,n.assertUnionType=function(e){if(!S(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Union type."));return e},n.isEnumType=D,n.assertEnumType=function(e){if(!D(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Enum type."));return e},n.isInputObjectType=L,n.assertInputObjectType=function(e){if(!L(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Input Object type."));return e},n.isListType=A,n.assertListType=function(e){if(!A(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL List type."));return e},n.isNonNullType=j,n.assertNonNullType=function(e){if(!j(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL Non-Null type."));return e},n.isInputType=w,n.assertInputType=function(e){if(!w(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL input type."));return e},n.isOutputType=P,n.assertOutputType=function(e){if(!P(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL output type."));return e},n.isLeafType=k,n.assertLeafType=function(e){if(!k(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL leaf type."));return e},n.isCompositeType=F,n.assertCompositeType=function(e){if(!F(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL composite type."));return e},n.isAbstractType=R,n.assertAbstractType=function(e){if(!R(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL abstract type."));return e},n.GraphQLList=M,n.GraphQLNonNull=x,n.isWrappingType=G,n.assertWrappingType=function(e){if(!G(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL wrapping type."));return e},n.isNullableType=V,n.assertNullableType=K,n.getNullableType=function(e){if(e)return j(e)?e.ofType:e},n.isNamedType=C,n.assertNamedType=function(e){if(!C(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL named type."));return e},n.getNamedType=function(e){if(e){for(var n=e;G(n);)n=n.ofType;return n}},n.argsToArgsConfig=H,n.isRequiredArgument=function(e){return j(e.type)&&void 0===e.defaultValue},n.isRequiredInputField=function(e){return j(e.type)&&void 0===e.defaultValue},n.GraphQLInputObjectType=n.GraphQLEnumType=n.GraphQLUnionType=n.GraphQLInterfaceType=n.GraphQLObjectType=n.GraphQLScalarType=void 0;var r=m(t(111)),i=m(t(13)),a=m(t(94)),o=m(t(247)),u=m(t(189)),c=m(t(59)),s=m(t(112)),l=m(t(190)),f=m(t(65)),p=m(t(331)),d=m(t(152)),v=m(t(151)),y=t(18),h=t(248);function m(e){return e&&e.__esModule?e:{default:e}}function T(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function g(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?T(t,!0).forEach((function(n){b(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):T(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function b(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function E(e){return _(e)||N(e)||I(e)||S(e)||D(e)||L(e)||A(e)||j(e)}function O(e){if(!E(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL type."));return e}function _(e){return(0,l.default)(e,B)}function N(e){return(0,l.default)(e,q)}function I(e){return(0,l.default)(e,z)}function S(e){return(0,l.default)(e,$)}function D(e){return(0,l.default)(e,ee)}function L(e){return(0,l.default)(e,ne)}function A(e){return(0,l.default)(e,M)}function j(e){return(0,l.default)(e,x)}function w(e){return _(e)||D(e)||L(e)||G(e)&&w(e.ofType)}function P(e){return _(e)||N(e)||I(e)||S(e)||D(e)||G(e)&&P(e.ofType)}function k(e){return _(e)||D(e)}function F(e){return N(e)||I(e)||S(e)}function R(e){return I(e)||S(e)}function M(e){if(!(this instanceof M))return new M(e);this.ofType=O(e)}function x(e){if(!(this instanceof x))return new x(e);this.ofType=K(e)}function G(e){return A(e)||j(e)}function V(e){return E(e)&&!j(e)}function K(e){if(!V(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL nullable type."));return e}function C(e){return _(e)||N(e)||I(e)||S(e)||D(e)||L(e)}function Q(e){return"function"==typeof e?e():e}function U(e){return e&&e.length>0?e:void 0}M.prototype.toString=function(){return"["+String(this.ofType)+"]"},(0,v.default)(M),(0,d.default)(M),x.prototype.toString=function(){return String(this.ofType)+"!"},(0,v.default)(x),(0,d.default)(x);var B=function(){function e(e){var n=e.parseValue||p.default;this.name=e.name,this.description=e.description,this.serialize=e.serialize||p.default,this.parseValue=n,this.parseLiteral=e.parseLiteral||function(e){return n((0,h.valueFromASTUntyped)(e))},this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.serialize||"function"==typeof e.serialize||(0,c.default)(0,"".concat(this.name,' must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.')),e.parseLiteral&&("function"==typeof e.parseValue&&"function"==typeof e.parseLiteral||(0,c.default)(0,"".concat(this.name,' must provide both "parseValue" and "parseLiteral" functions.')))}var n=e.prototype;return n.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();n.GraphQLScalarType=B,(0,v.default)(B),(0,d.default)(B);var q=function(){function e(e){this.name=e.name,this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=J.bind(void 0,e),this._interfaces=Y.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.isTypeOf||"function"==typeof e.isTypeOf||(0,c.default)(0,"".concat(this.name,' must provide "isTypeOf" as a function, ')+"but got: ".concat((0,i.default)(e.isTypeOf),"."))}var n=e.prototype;return n.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},n.getInterfaces=function(){return"function"==typeof this._interfaces&&
39588(this._interfaces=this._interfaces()),this._interfaces},n.toConfig=function(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:X(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();function Y(e){var n=Q(e.interfaces)||[];return Array.isArray(n)||(0,c.default)(0,"".concat(e.name," interfaces must be an Array or a function which returns an Array.")),n}function J(e){var n=Q(e.fields)||{};return W(n)||(0,c.default)(0,"".concat(e.name," fields must be an object with field names as keys or a function which returns such an object.")),(0,o.default)(n,(function(n,t){W(n)||(0,c.default)(0,"".concat(e.name,".").concat(t," field config must be an object")),!("isDeprecated"in n)||(0,c.default)(0,"".concat(e.name,".").concat(t,' should provide "deprecationReason" instead of "isDeprecated".')),null==n.resolve||"function"==typeof n.resolve||(0,c.default)(0,"".concat(e.name,".").concat(t," field resolver must be a function if ")+"provided, but got: ".concat((0,i.default)(n.resolve),"."));var a=n.args||{};W(a)||(0,c.default)(0,"".concat(e.name,".").concat(t," args must be an object with argument names as keys."));var o=(0,r.default)(a).map((function(e){var n=e[0],t=e[1];return{name:n,description:void 0===t.description?null:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&(0,u.default)(t.extensions),astNode:t.astNode}}));return g({},n,{name:t,description:n.description,type:n.type,args:o,resolve:n.resolve,subscribe:n.subscribe,isDeprecated:Boolean(n.deprecationReason),deprecationReason:n.deprecationReason,extensions:n.extensions&&(0,u.default)(n.extensions),astNode:n.astNode})}))}function W(e){return(0,f.default)(e)&&!Array.isArray(e)}function X(e){return(0,o.default)(e,(function(e){return{description:e.description,type:e.type,args:H(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}))}function H(e){return(0,s.default)(e,(function(e){return e.name}),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}))}n.GraphQLObjectType=q,(0,v.default)(q),(0,d.default)(q);var z=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=J.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.resolveType||"function"==typeof e.resolveType||(0,c.default)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat((0,i.default)(e.resolveType),"."))}var n=e.prototype;return n.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},n.toConfig=function(){return{name:this.name,description:this.description,fields:X(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();n.GraphQLInterfaceType=z,(0,v.default)(z),(0,d.default)(z);var $=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._types=Z.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name."),null==e.resolveType||"function"==typeof e.resolveType||(0,c.default)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat((0,i.default)(e.resolveType),"."))}var n=e.prototype;return n.getTypes=function(){return"function"==typeof this._types&&(this._types=this._types()),this._types},n.toConfig=function(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();function Z(e){var n=Q(e.types)||[];return Array.isArray(n)||(0,c.default)(0,"Must provide Array of types or a function which returns such an array for Union ".concat(e.name,".")),n}n.GraphQLUnionType=$,(0,v.default)($),(0,d.default)($);var ee=function(){function e(e){var n,t;this.name=e.name,this.description=e.description,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._values=(n=this.name,W(t=e.values)||(0,c.default)(0,"".concat(n," values must be an object with value names as keys.")),(0,r.default)(t).map((function(e){var t=e[0],r=e[1];return W(r)||(0,c.default)(0,"".concat(n,".").concat(t,' must refer to an object with a "value" key ')+"representing an internal value but got: ".concat((0,i.default)(r),".")),!("isDeprecated"in r)||(0,c.default)(0,"".concat(n,".").concat(t,' should provide "deprecationReason" instead of "isDeprecated".')),{name:t,description:r.description,value:"value"in r?r.value:t,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,extensions:r.extensions&&(0,u.default)(r.extensions),astNode:r.astNode}}))),this._valueLookup=new Map(this._values.map((function(e){return[e.value,e]}))),this._nameLookup=(0,a.default)(this._values,(function(e){return e.name})),"string"==typeof e.name||(0,c.default)(0,"Must provide name.")}var n=e.prototype;return n.getValues=function(){return this._values},n.getValue=function(e){return this._nameLookup[e]},n.serialize=function(e){var n=this._valueLookup.get(e);if(n)return n.name},n.parseValue=function(e){if("string"==typeof e){var n=this.getValue(e);if(n)return n.value}},n.parseLiteral=function(e,n){if(e.kind===y.Kind.ENUM){var t=this.getValue(e.value);if(t)return t.value}},n.toConfig=function(){var e=(0,s.default)(this.getValues(),(function(e){return e.name}),(function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();n.GraphQLEnumType=ee,(0,v.default)(ee),(0,d.default)(ee);var ne=function(){function e(e){this.name=e.name,this.description=e.description,this.extensions=e.extensions&&(0,u.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=te.bind(void 0,e),"string"==typeof e.name||(0,c.default)(0,"Must provide name.")}var n=e.prototype;return n.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},n.toConfig=function(){var e=(0,o.default)(this.getFields(),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},n.toString=function(){return this.name},e}();function te(e){var n=Q(e.fields)||{};return W(n)||(0,c.default)(0,"".concat(e.name," fields must be an object with field names as keys or a function which returns such an object.")),(0,o.default)(n,(function(n,t){return!("resolve"in n)||(0,c.default)(0,"".concat(e.name,".").concat(t," field has a resolve property, but Input Types cannot define resolvers.")),g({},n,{name:t,description:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&(0,u.default)(n.extensions),astNode:n.astNode})}))}n.GraphQLInputObjectType=ne,(0,v.default)(ne),(0,d.default)(ne)},,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return o(e,[])};var r,i=(r=t(244))&&r.__esModule?r:{default:r};function a(e){return(a="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})(e)}function o(e,n){switch(a(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,n){if(-1!==n.indexOf(e))return"[Circular]";var t=[].concat(n,[e]),r=function(e){var n=e[String(i.default)];if("function"==typeof n)return n;if("function"==typeof e.inspect)return e.inspect}(e);if(void 0!==r){var a=r.call(e);
39588if(a!==e)return"string"==typeof a?a:o(a,t)}else if(Array.isArray(e))return function(e,n){if(0===e.length)return"[]";if(n.length>2)return"[Array]";for(var t=Math.min(10,e.length),r=e.length-t,i=[],a=0;a<t;++a)i.push(o(e[a],n));1===r?i.push("... 1 more item"):r>1&&i.push("... ".concat(r," more items"));return"["+i.join(", ")+"]"}(e,t);return function(e,n){var t=Object.keys(e);if(0===t.length)return"{}";if(n.length>2)return"["+function(e){var n=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===n&&"function"==typeof e.constructor){var t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return n}(e)+"]";return"{ "+t.map((function(t){return t+": "+o(e[t],n)})).join(", ")+" }"}(e,t)}(e,n);default:return String(e)}}},,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Kind=void 0;var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"});n.Kind=r},,,,,function(e,n,t){"use strict";t.r(n),t.d(n,"gql",(function(){return p})),t.d(n,"resetCaches",(function(){return d})),t.d(n,"disableFragmentWarnings",(function(){return v})),t.d(n,"enableExperimentalFragmentVariables",(function(){return y})),t.d(n,"disableExperimentalFragmentVariables",(function(){return h}));var r=function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.create;Object.create;var i=t(7),a=new Map,o=new Map,u=!0,c=!1;function s(e){return e.replace(/[\s,]+/g," ").trim()}function l(e){var n=new Set,t=[];return e.definitions.forEach((function(e){if("FragmentDefinition"===e.kind){var r=e.name.value,i=s((c=e.loc).source.body.substring(c.start,c.end)),a=o.get(r);a&&!a.has(i)?u&&console.warn("Warning: fragment with name "+r+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):a||o.set(r,a=new Set),a.add(i),n.has(i)||(n.add(i),t.push(e))}else t.push(e);var c})),r(r({},e),{definitions:t})}function f(e){var n=s(e);if(!a.has(n)){var t=Object(i.parse)(e,{experimentalFragmentVariables:c});if(!t||"Document"!==t.kind)throw new Error("Not a valid GraphQL document.");a.set(n,function(e){var n=new Set(e.definitions);n.forEach((function(e){e.loc&&delete e.loc,Object.keys(e).forEach((function(t){var r=e[t];r&&"object"==typeof r&&n.add(r)}))}));var t=e.loc;return t&&(delete t.startToken,delete t.endToken),e}(l(t)))}return a.get(n)}function p(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];"string"==typeof e&&(e=[e]);var r=e[0];
39588return n.forEach((function(n,t){n&&"Document"===n.kind?r+=n.loc.source.body:r+=n,r+=e[t+1]})),f(r)}function d(){a.clear(),o.clear()}function v(){u=!1}function y(){c=!0}function h(){c=!1}var m,T={gql:p,resetCaches:d,disableFragmentWarnings:v,enableExperimentalFragmentVariables:y,disableExperimentalFragmentVariables:h};(m=p||(p={})).gql=T.gql,m.resetCaches=T.resetCaches,m.disableFragmentWarnings=T.disableFragmentWarnings,m.enableExperimentalFragmentVariables=T.enableExperimentalFragmentVariables,m.disableExperimentalFragmentVariables=T.disableExperimentalFragmentVariables,p.default=p;n.default=p},,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.visit=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,r=void 0,s=Array.isArray(e),l=[e],f=-1,p=[],d=void 0,v=void 0,y=void 0,h=[],m=[],T=e;do{var g=++f===l.length,b=g&&0!==p.length;if(g){if(v=0===m.length?void 0:h[h.length-1],d=y,y=m.pop(),b){if(s)d=d.slice();else{for(var E={},O=0,_=Object.keys(d);O<_.length;O++){var N=_[O];E[N]=d[N]}d=E}for(var I=0,S=0;S<p.length;S++){var D=p[S][0],L=p[S][1];s&&(D-=I),s&&null===L?(d.splice(D,1),I++):d[D]=L}}f=r.index,l=r.keys,p=r.edits,s=r.inArray,r=r.prev}else{if(v=y?s?f:l[f]:void 0,null==(d=y?y[v]:T))continue;y&&h.push(v)}var A=void 0;if(!Array.isArray(d)){if(!u(d))throw new Error("Invalid AST Node: "+(0,i.default)(d));var j=c(n,d.kind,g);if(j){if((A=j.call(n,d,v,y,h,m))===o)break;if(!1===A){if(!g){h.pop();continue}}else if(void 0!==A&&(p.push([v,A]),!g)){if(!u(A)){h.pop();continue}d=A}}}void 0===A&&b&&p.push([v,d]),g?h.pop():(r={inArray:s,index:f,keys:l,edits:p,prev:r},s=Array.isArray(d),l=s?d:t[d.kind]||[],f=-1,p=[],y&&m.push(y),y=d)}while(void 0!==r);0!==p.length&&(T=p[p.length-1][1]);return T},n.visitInParallel=function(e){var n=new Array(e.length);return{enter:function(t){for(var r=0;r<e.length;r++)if(!n[r]){var i=c(e[r],t.kind,!1);if(i){var a=i.apply(e[r],arguments);if(!1===a)n[r]=t;else if(a===o)n[r]=o;else if(void 0!==a)return a}}},leave:function(t){for(var r=0;r<e.length;r++)if(n[r])n[r]===t&&(n[r]=null);else{var i=c(e[r],t.kind,!0);if(i){var a=i.apply(e[r],arguments);if(a===o)n[r]=o;else if(void 0!==a&&!1!==a)return a}}}}},n.visitWithTypeInfo=function(e,n){return{enter:function(t){e.enter(t);var r=c(n,t.kind,!1);if(r){var i=r.apply(n,arguments);return void 0!==i&&(e.leave(t),u(i)&&e.enter(i)),i}},leave:function(t){var r,i=c(n,t.kind,!0);return i&&(r=i.apply(n,arguments)),e.leave(t),r}}},n.getVisitFn=c,n.BREAK=n.QueryDocumentKeys=void 0;var r,i=(r=t(13))&&r.__esModule?r:{default:r};var a={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]};n.QueryDocumentKeys=a;var o=Object.freeze({});function u(e){return Boolean(e&&"string"==typeof e.kind)}function c(e,n,t){var r=e[n];if(r){if(!t&&"function"==typeof r)return r;var i=t?r.leave:r.enter;if("function"==typeof i)return i}else{var a=t?e.leave:e.enter;if(a){if("function"==typeof a)return a;var o=a[n];if("function"==typeof o)return o}}}n.BREAK=o},,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n||"Unexpected invariant triggered")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Object.values||function(e){return Object.keys(e).map((function(n){return e[n]}))};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isDirective=y,n.assertDirective=function(e){if(!y(e))throw new Error("Expected ".concat((0,i.default)(e)," to be a GraphQL directive."));return e},n.isSpecifiedDirective=function(e){return y(e)&&b.some((function(n){return n.name===e.name}))},n.specifiedDirectives=n.GraphQLDeprecatedDirective=n.DEFAULT_DEPRECATION_REASON=n.GraphQLSkipDirective=n.GraphQLIncludeDirective=n.GraphQLDirective=void 0;var r=v(t(111)),i=v(t(13)),a=v(t(189)),o=v(t(59)),u=v(t(190)),c=v(t(152)),s=v(t(65)),l=v(t(151)),f=t(123),p=t(66),d=t(11);
39588function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return(0,u.default)(e,h)}var h=function(){function e(e){this.name=e.name,this.description=e.description,this.locations=e.locations,this.isRepeatable=null!=e.isRepeatable&&e.isRepeatable,this.extensions=e.extensions&&(0,a.default)(e.extensions),this.astNode=e.astNode,e.name||(0,o.default)(0,"Directive must be named."),Array.isArray(e.locations)||(0,o.default)(0,"@".concat(e.name," locations must be an Array."));var n=e.args||{};(0,s.default)(n)&&!Array.isArray(n)||(0,o.default)(0,"@".concat(e.name," args must be an object with argument names as keys.")),this.args=(0,r.default)(n).map((function(e){var n=e[0],t=e[1];return{name:n,description:void 0===t.description?null:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&(0,a.default)(t.extensions),astNode:t.astNode}}))}var n=e.prototype;return n.toString=function(){return"@"+this.name},n.toConfig=function(){return{name:this.name,description:this.description,locations:this.locations,args:(0,d.argsToArgsConfig)(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}},e}();n.GraphQLDirective=h,(0,l.default)(h),(0,c.default)(h);var m=new h({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[f.DirectiveLocation.FIELD,f.DirectiveLocation.FRAGMENT_SPREAD,f.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:(0,d.GraphQLNonNull)(p.GraphQLBoolean),description:"Included when true."}}});n.GraphQLIncludeDirective=m;var T=new h({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[f.DirectiveLocation.FIELD,f.DirectiveLocation.FRAGMENT_SPREAD,f.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:(0,d.GraphQLNonNull)(p.GraphQLBoolean),description:"Skipped when true."}}});n.GraphQLSkipDirective=T;n.DEFAULT_DEPRECATION_REASON="No longer supported";var g=new h({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[f.DirectiveLocation.FIELD_DEFINITION,f.DirectiveLocation.ENUM_VALUE],args:{reason:{type:p.GraphQLString,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).",defaultValue:"No longer supported"}}});n.GraphQLDeprecatedDirective=g;var b=Object.freeze([m,T,g]);n.specifiedDirectives=b},,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n)}},,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.print=function(e){return(0,r.visit)(e,{leave:a})};var r=t(28),i=t(121);var a={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return u(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var n=e.operation,t=e.name,r=s("(",u(e.variableDefinitions,", "),")"),i=u(e.directives," "),a=e.selectionSet;return t||i||r||"query"!==n?u([n,u([t,r]),i,a]," "):a},VariableDefinition:function(e){var n=e.variable,t=e.type,r=e.defaultValue,i=e.directives;return n+": "+t+s(" = ",r)+s(" ",u(i," "))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var n=e.alias,t=e.name,r=e.arguments,i=e.directives,a=e.selectionSet;return u([s("",n,": ")+t+s("(",u(r,", "),")"),u(i," "),a]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+s(" ",u(e.directives," "))},InlineFragment:function(e){var n=e.typeCondition,t=e.directives,r=e.selectionSet;return u(["...",s("on ",n),u(t," "),r]," ")},FragmentDefinition:function(e){var n=e.name,t=e.typeCondition,r=e.variableDefinitions,i=e.directives,a=e.selectionSet;return"fragment ".concat(n).concat(s("(",u(r,", "),")")," ")+"on ".concat(t," ").concat(s("",u(i," ")," "))+a},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,n){var t=e.value;return e.block?(0,i.printBlockString)(t,"description"===n?"":"  "):JSON.stringify(t)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+u(e.values,", ")+"]"},ObjectValue:function(e){return"{"+u(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value}
vendor: 4,586 bytes, line 39588
39588,Directive:function(e){return"@"+e.name+s("(",u(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:function(e){var n=e.directives,t=e.operationTypes;return u(["schema",u(n," "),c(t)]," ")},OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:o((function(e){return u(["scalar",e.name,u(e.directives," ")]," ")})),ObjectTypeDefinition:o((function(e){var n=e.name,t=e.interfaces,r=e.directives,i=e.fields;return u(["type",n,s("implements ",u(t," & ")),u(r," "),c(i)]," ")})),FieldDefinition:o((function(e){var n=e.name,t=e.arguments,r=e.type,i=e.directives;return n+(p(t)?s("(\n",l(u(t,"\n")),"\n)"):s("(",u(t,", "),")"))+": "+r+s(" ",u(i," "))})),InputValueDefinition:o((function(e){var n=e.name,t=e.type,r=e.defaultValue,i=e.directives;return u([n+": "+t,s("= ",r),u(i," ")]," ")})),InterfaceTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.fields;return u(["interface",n,u(t," "),c(r)]," ")})),UnionTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.types;return u(["union",n,u(t," "),r&&0!==r.length?"= "+u(r," | "):""]," ")})),EnumTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.values;return u(["enum",n,u(t," "),c(r)]," ")})),EnumValueDefinition:o((function(e){return u([e.name,u(e.directives," ")]," ")})),InputObjectTypeDefinition:o((function(e){var n=e.name,t=e.directives,r=e.fields;return u(["input",n,u(t," "),c(r)]," ")})),DirectiveDefinition:o((function(e){var n=e.name,t=e.arguments,r=e.repeatable,i=e.locations;return"directive @"+n+(p(t)?s("(\n",l(u(t,"\n")),"\n)"):s("(",u(t,", "),")"))+(r?" repeatable":"")+" on "+u(i," | ")})),SchemaExtension:function(e){var n=e.directives,t=e.operationTypes;return u(["extend schema",u(n," "),c(t)]," ")},ScalarTypeExtension:function(e){return u(["extend scalar",e.name,u(e.directives," ")]," ")},ObjectTypeExtension:function(e){var n=e.name,t=e.interfaces,r=e.directives,i=e.fields;return u(["extend type",n,s("implements ",u(t," & ")),u(r," "),c(i)]," ")},InterfaceTypeExtension:function(e){var n=e.name,t=e.directives,r=e.fields;return u(["extend interface",n,u(t," "),c(r)]," ")},UnionTypeExtension:function(e){var n=e.name,t=e.directives,r=e.types;return u(["extend union",n,u(t," "),r&&0!==r.length?"= "+u(r," | "):""]," ")},EnumTypeExtension:function(e){var n=e.name,t=e.directives,r=e.values;return u(["extend enum",n,u(t," "),c(r)]," ")},InputObjectTypeExtension:function(e){var n=e.name,t=e.directives,r=e.fields;return u(["extend input",n,u(t," "),c(r)]," ")}};function o(e){return function(n){return u([n.description,e(n)],"\n")}}function u(e,n){return e?e.filter((function(e){return e})).join(n||""):""}function c(e){return e&&0!==e.length?"{\n"+l(u(e,"\n"))+"\n}":""}function s(e,n,t){return n?e+n+(t||""):""}function l(e){return e&&"  "+e.replace(/\n/g,"\n  ")}function f(e){return-1!==e.indexOf("\n")}function p(e){return e&&e.some(f)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isIntrospectionType=function(e){return(0,l.isNamedType)(e)&&N.some((function(n){var t=n.name;return e.name===t}))},n.introspectionTypes=n.TypeNameMetaFieldDef=n.TypeMetaFieldDef=n.SchemaMetaFieldDef=n.__TypeKind=n.TypeKind=n.__EnumValue=n.__InputValue=n.__Field=n.__Type=n.__DirectiveLocation=n.__Directive=n.__Schema=void 0;var r=f(t(49)),i=f(t(13)),a=f(t(48)),o=t(63),u=t(123),c=t(157),s=t(66),l=t(11);function f(e){return e&&e.__esModule?e:{default:e}}var p=new l.GraphQLObjectType({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:function(){return{types:{description:"A list of all types supported by this server.",type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(y))),resolve:function(e){return(0,r.default)(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:(0,l.GraphQLNonNull)(y),resolve:function(e){return e.getQueryType()}},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:y,resolve:function(e){return e.getMutationType()}},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:y,resolve:function(e){return e.getSubscriptionType()}},directives:{description:"A list of all directives supported by this 
39588server.",type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(d))),resolve:function(e){return e.getDirectives()}}}}});n.__Schema=p;var d=new l.GraphQLObjectType({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},locations:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(v))),resolve:function(e){return e.locations}},args:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(m))),resolve:function(e){return e.args}}}}});n.__Directive=d;var v=new l.GraphQLEnumType({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:u.DirectiveLocation.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:u.DirectiveLocation.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:u.DirectiveLocation.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:u.DirectiveLocation.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:u.DirectiveLocation.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:u.DirectiveLocation.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:u.DirectiveLocation.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:u.DirectiveLocation.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:u.DirectiveLocation.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:u.DirectiveLocation.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:u.DirectiveLocation.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:u.DirectiveLocation.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:u.DirectiveLocation.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:u.DirectiveLocation.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:u.DirectiveLocation.UNION,description:"Location adjacent to a union definition."},ENUM:{value:u.DirectiveLocation.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:u.DirectiveLocation.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:u.DirectiveLocation.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:u.DirectiveLocation.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}});n.__DirectiveLocation=v;var y=new l.GraphQLObjectType({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:function(){return{kind:{type:(0,l.GraphQLNonNull)(b),resolve:function(e){return(0,l.isScalarType)(e)?g.SCALAR:(0,l.isObjectType)(e)?g.OBJECT:(0,l.isInterfaceType)(e)?g.INTERFACE:(0,l.isUnionType)(e)?g.UNION:(0,l.isEnumType)(e)?g.ENUM:(0,l.isInputObjectType)(e)?g.INPUT_OBJECT:(0,l.isListType)(e)?g.LIST:(0,l.isNonNullType)(e)?g.NON_NULL:void(0,a.default)(!1,'Unexpected type: "'.concat((0,i.default)(e),'".'))}},name:{type:s.GraphQLString,resolve:function(e){return void 0!==e.name?e.name:void 0}},description:{type:s.GraphQLString,resolve:function(e){return void 0!==e.description?e.description:void 0}},fields:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(h)),args:{includeDeprecated:{type:s.GraphQLBoolean,defaultValue:!1}},resolve:function(e,n){var t=n.includeDeprecated;if((0,l.isObjectType)(e)||(0,l.isInterfaceType)(e)){var i=(0,r.default)(e.getFields());return t||(i=i.filter((function(e){return!e.deprecationReason}))),i}return null}},interfaces:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(y)),resolve:function(e){if((0,l.isObjectType)(e))return e.getInterfaces()}},possibleTypes:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(y)),resolve:function(e,n,t,r){var i=r.schema;if((0,l.isAbstractType)(e))return i.getPossibleTypes(e)}},enumValues:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(T)),args:{includeDeprecated:{type:s.GraphQLBoolean,defaultValue:!1}},resolve:function(e,n){var t=n.includeDeprecated;if((0,l.isEnumType)(e)){var r=e.getValues();return t||(r=r.filter((function(e){return!e.deprecationReason}))),r}}},inputFields:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(m)),resolve:function(e){if((0,l.isInputObjectType)(e))return(0,r.default)(e.getFields())}},ofType:{type:y,resolve:function(e){return void 0!==e.ofType?e.ofType:void 0}}}}});n.__Type=y;
39588var h=new l.GraphQLObjectType({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},args:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(m))),resolve:function(e){return e.args}},type:{type:(0,l.GraphQLNonNull)(y),resolve:function(e){return e.type}},isDeprecated:{type:(0,l.GraphQLNonNull)(s.GraphQLBoolean),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:s.GraphQLString,resolve:function(e){return e.deprecationReason}}}}});n.__Field=h;var m=new l.GraphQLObjectType({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},type:{type:(0,l.GraphQLNonNull)(y),resolve:function(e){return e.type}},defaultValue:{type:s.GraphQLString,description:"A GraphQL-formatted string representing the default value for this input value.",resolve:function(e){var n=(0,c.astFromValue)(e.defaultValue,e.type);return n?(0,o.print)(n):null}}}}});n.__InputValue=m;var T=new l.GraphQLObjectType({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(s.GraphQLString),resolve:function(e){return e.name}},description:{type:s.GraphQLString,resolve:function(e){return e.description}},isDeprecated:{type:(0,l.GraphQLNonNull)(s.GraphQLBoolean),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:s.GraphQLString,resolve:function(e){return e.deprecationReason}}}}});n.__EnumValue=T;var g=Object.freeze({SCALAR:"SCALAR",OBJECT:"OBJECT",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",INPUT_OBJECT:"INPUT_OBJECT",LIST:"LIST",NON_NULL:"NON_NULL"});n.TypeKind=g;var b=new l.GraphQLEnumType({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:g.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:g.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:g.INTERFACE,description:"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields."},UNION:{value:g.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:g.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:g.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:g.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:g.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}});n.__TypeKind=b;var E={name:"__schema",type:(0,l.GraphQLNonNull)(p),description:"Access the current type schema of this server.",args:[],resolve:function(e,n,t,r){return r.schema},deprecationReason:void 0,extensions:void 0,astNode:void 0};n.SchemaMetaFieldDef=E;var O={name:"__type",type:y,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:(0,l.GraphQLNonNull)(s.GraphQLString),defaultValue:void 0,extensions:void 0,astNode:void 0}],resolve:function(e,n,t,r){var i=n.name;return r.schema.getType(i)},deprecationReason:void 0,extensions:void 0,astNode:void 0};n.TypeMetaFieldDef=O;var _={name:"__typename",type:(0,l.GraphQLNonNull)(s.GraphQLString),description:"The name of the current Object type at runtime.",args:[],resolve:function(e,n,t,r){return r.parentType.name},deprecationReason:void 0,extensions:void 0,astNode:void 0};n.TypeNameMetaFieldDef=_;var N=Object.freeze([p,d,v,y,h,m,T,b]);n.introspectionTypes=N},function(e,n,t){"use strict";function r(e){return(r="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})(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"object"==r(e)&&null!==e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isSpecifiedScalarType=function(e){return(0,c.isScalarType)(e)&&h.some((function(n){var t=n.name;return e.name===t}))},n.specifiedScalarTypes=n.GraphQLID=n.GraphQLBoolean=n.GraphQLString=n.GraphQLFloat=n.GraphQLInt=void 0;var r=s(t(332)),i=s(t(333)),a=s(t(13)),o=s(t(65)),u=t(18),c=t(11);
39588function s(e){return e&&e.__esModule?e:{default:e}}var l=new c.GraphQLScalarType({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize:function(e){if("boolean"==typeof e)return e?1:0;var n=e;if("string"==typeof e&&""!==e&&(n=Number(e)),!(0,i.default)(n))throw new TypeError("Int cannot represent non-integer value: ".concat((0,a.default)(e)));if(n>2147483647||n<-2147483648)throw new TypeError("Int cannot represent non 32-bit signed integer value: ".concat((0,a.default)(e)));return n},parseValue:function(e){if(!(0,i.default)(e))throw new TypeError("Int cannot represent non-integer value: ".concat((0,a.default)(e)));if(e>2147483647||e<-2147483648)throw new TypeError("Int cannot represent non 32-bit signed integer value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){if(e.kind===u.Kind.INT){var n=parseInt(e.value,10);if(n<=2147483647&&n>=-2147483648)return n}}});n.GraphQLInt=l;var f=new c.GraphQLScalarType({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize:function(e){if("boolean"==typeof e)return e?1:0;var n=e;if("string"==typeof e&&""!==e&&(n=Number(e)),!(0,r.default)(n))throw new TypeError("Float cannot represent non numeric value: ".concat((0,a.default)(e)));return n},parseValue:function(e){if(!(0,r.default)(e))throw new TypeError("Float cannot represent non numeric value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){return e.kind===u.Kind.FLOAT||e.kind===u.Kind.INT?parseFloat(e.value):void 0}});function p(e){if((0,o.default)(e)){if("function"==typeof e.valueOf){var n=e.valueOf();if(!(0,o.default)(n))return n}if("function"==typeof e.toJSON)return e.toJSON()}return e}n.GraphQLFloat=f;var d=new c.GraphQLScalarType({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize:function(e){var n=p(e);if("string"==typeof n)return n;if("boolean"==typeof n)return n?"true":"false";if((0,r.default)(n))return n.toString();throw new TypeError("String cannot represent value: ".concat((0,a.default)(e)))},parseValue:function(e){if("string"!=typeof e)throw new TypeError("String cannot represent a non string value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){return e.kind===u.Kind.STRING?e.value:void 0}});n.GraphQLString=d;var v=new c.GraphQLScalarType({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize:function(e){if("boolean"==typeof e)return e;if((0,r.default)(e))return 0!==e;throw new TypeError("Boolean cannot represent a non boolean value: ".concat((0,a.default)(e)))},parseValue:function(e){if("boolean"!=typeof e)throw new TypeError("Boolean cannot represent a non boolean value: ".concat((0,a.default)(e)));return e},parseLiteral:function(e){return e.kind===u.Kind.BOOLEAN?e.value:void 0}});n.GraphQLBoolean=v;var y=new c.GraphQLScalarType({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var n=p(e);if("string"==typeof n)return n;if((0,i.default)(n))return String(n);throw new TypeError("ID cannot represent value: ".concat((0,a.default)(e)))},parseValue:function(e){if("string"==typeof e)return e;if((0,i.default)(e))return e.toString();throw new TypeError("ID cannot represent value: ".concat((0,a.default)(e)))},parseLiteral:function(e){return e.kind===u.Kind.STRING||e.kind===u.Kind.INT?e.value:void 0}});n.GraphQLID=y;var h=Object.freeze([d,l,f,v,y]);n.specifiedScalarTypes=h},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeFromAST=function e(n,t){var u;if(t.kind===a.Kind.LIST_TYPE)return(u=e(n,t.type))&&(0,o.GraphQLList)(u);if(t.kind===a.Kind.NON_NULL_TYPE)return(u=e(n,t.type))&&(0,o.GraphQLNonNull)(u);if(t.kind===a.Kind.NAMED_TYPE)return n.getType(t.name.value);(0,i.default)(!1,"Unexpected type node: "+(0,r.default)(t))};var r=u(t(13)),i=u(t(48)),a=t(18),o=t(11);
39588function u(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(350);n.addResolveFunctionsToSchema=r.default;var i=t(352);n.addSchemaLevelResolveFunction=i.default;var a=t(353);n.assertResolveFunctionsPresent=a.default;var o=t(354);n.attachDirectiveResolvers=o.default;var u=t(355);n.attachConnectorsToContext=u.default;var c=t(356);n.buildSchemaFromTypeDefinitions=c.default;var s=t(358);n.chainResolvers=s.chainResolvers;var l=t(359);n.checkForResolveTypeResolver=l.default;var f=t(360);n.concatenateTypeDefs=f.default;var p=t(361);n.decorateWithLogger=p.default;var d=t(362);n.extendResolversFromInterfaces=d.default;var v=t(363);n.extractExtensionDefinitions=v.default;var y=t(364);n.forEachField=y.default;var h=t(365);n.SchemaError=h.default},,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"GraphQLError",{enumerable:!0,get:function(){return r.GraphQLError}}),Object.defineProperty(n,"printError",{enumerable:!0,get:function(){return r.printError}}),Object.defineProperty(n,"syntaxError",{enumerable:!0,get:function(){return i.syntaxError}}),Object.defineProperty(n,"locatedError",{enumerable:!0,get:function(){return a.locatedError}}),Object.defineProperty(n,"formatError",{enumerable:!0,get:function(){return o.formatError}});var r=t(5),i=t(187),a=t(188),o=t(336)},,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){return e.reduce((function(e,t){return e[n(t)]=t,e}),Object.create(null))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isSchema=y,n.assertSchema=function(e){if(!y(e))throw new Error("Expected ".concat((0,a.default)(e)," to be a GraphQL schema."));return e},n.GraphQLSchema=void 0;var r=v(t(126)),i=v(t(49)),a=v(t(13)),o=v(t(189)),u=v(t(59)),c=v(t(190)),s=v(t(65)),l=v(t(151)),f=t(64),p=t(50),d=t(11);function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return(0,c.default)(e,h)}var h=function(){function e(e){e&&e.assumeValid?this.__validationErrors=[]:(this.__validationErrors=void 0,(0,s.default)(e)||(0,u.default)(0,"Must provide configuration object."),!e.types||Array.isArray(e.types)||(0,u.default)(0,'"types" must be Array if provided but got: '.concat((0,a.default)(e.types),".")),!e.directives||Array.isArray(e.directives)||(0,u.default)(0,'"directives" must be Array if provided but got: '+"".concat((0,a.default)(e.directives),".")),!e.allowedLegacyNames||Array.isArray(e.allowedLegacyNames)||(0,u.default)(0,'"allowedLegacyNames" must be Array if provided but got: '+"".concat((0,a.default)(e.allowedLegacyNames),"."))),this.extensions=e.extensions&&(0,o.default)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes,this.__allowedLegacyNames=e.allowedLegacyNames||[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=e.directives||p.specifiedDirectives;var n=[this._queryType,this._mutationType,this._subscriptionType,f.__Schema].concat(e.types),t=Object.create(null);t=n.reduce(m,t),t=this._directives.reduce(T,t),this._typeMap=t,this._possibleTypeMap=Object.create(null),this._implementations=Object.create(null);for(var r=0,c=(0,i.default)(this._typeMap);r<c.length;r++){var l=c[r];if((0,d.isObjectType)(l))for(var v=0,y=l.getInterfaces();v<y.length;v++){var h=y[v];if((0,d.isInterfaceType)(h)){var g=this._implementations[h.name];g?g.push(l):this._implementations[h.name]=[l]}}}}var n=e.prototype;return n.getQueryType=function(){return this._queryType},n.getMutationType=function(){return this._mutationType},n.getSubscriptionType=function(){return this._subscriptionType},n.getTypeMap=function(){return this._typeMap},n.getType=function(e){return this.getTypeMap()[e]},n.getPossibleTypes=function(e){return(0,d.isUnionType)(e)?e.getTypes():this._implementations[e.name]||[]},n.isPossibleType=function(e,n){if(null==this._possibleTypeMap[e.name]){for(var t=Object.create(null),r=0,i=this.getPossibleTypes(e);r<i.length;r++){t[i[r].name]=!0}this._possibleTypeMap[e.name]=t}return Boolean(this._possibleTypeMap[e.name][n.name])},n.getDirectives=function(){return this._directives},n.getDirective=function(e){return(0,r.default)(this.getDirectives(),(function(n){return n.name===e}))},n.toConfig=function(){return{query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:(0,i.default)(this.getTypeMap()),directives:this.getDirectives().slice(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[],assumeValid:void 0!==this.__validationErrors,allowedLegacyNames:this.__allowedLegacyNames}},e}();function m(e,n){if(!n)return e;var t=(0,d.getNamedType)(n),r=e[t.name];if(r){if(r!==t)throw new Error('Schema must contain uniquely named types but contains multiple types named "'.concat(t.name,'".'));return e}e[t.name]=t;var a=e;if((0,d.isUnionType)(t)&&(a=t.getTypes().reduce(m,a)),(0,d.isObjectType)(t)&&(a=t.getInterfaces().reduce(m,a)),(0,d.isObjectType)(t)||(0,d.isInterfaceType)(t))for(var o=0,u=(0,i.default)(t.getFields());o<u.length;o++){var c=u[o];a=m(a=c.args.map((function(e){return e.type})).reduce(m,a),c.type)}if((0,d.isInputObjectType)(t))for(var s=0,l=(0,i.default)(t.getFields());s<l.length;s++){a=m(a,l[s].type)}return a}function T(e,n){return(0,p.isDirective)(n)?n.args.reduce((function(e,n){return m(e,n.type)}),e):e}n.GraphQLSchema=h,(0,l.default)(h)},,function(e,n,t){function r(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}Object.defineProperty(n,"__esModule",{value:!0}),r(t(127)),r(t(366)),r(t(367)),r(t(297));var i=t(161);n.SchemaDirectiveVisitor=i.SchemaDirectiveVisitor},,,function(e,n,t){"use strict";t.r(n),t.d(n,"GraphQLJSON",(function(){return s})),t.d(n,"GraphQLJSONObject",(function(){return l}));var r=t(2),i=t(7);function a(e){return e}function o(e){if("object"!=typeof e||null===e||Array.isArray(e))throw new TypeError("JSONObject cannot represent non-object value: "+e);return e}function u(e,n,t){var r=Object.create(null);return n.fields.forEach((function(n){r[n.name.value]=c(e,n.value,t)})),r}function c(e,n,t){switch(n.kind){case i.Kind.STRING:case i.Kind.BOOLEAN:return n.value;case i.Kind.INT:case i.Kind.FLOAT:return parseFloat(n.value);case i.Kind.OBJECT:return u(e,n,t);
39588case i.Kind.LIST:return n.values.map((function(n){return c(e,n,t)}));case i.Kind.NULL:return null;case i.Kind.VARIABLE:return t?t[n.name.value]:void 0;default:throw new TypeError(e+" cannot represent value: "+Object(i.print)(n))}}var s=new r.GraphQLScalarType({name:"JSON",description:"The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",specifiedByUrl:"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf",serialize:a,parseValue:a,parseLiteral:function(e,n){return c("JSON",e,n)}});n.default=s;var l=new r.GraphQLScalarType({name:"JSONObject",description:"The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",specifiedByUrl:"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf",serialize:o,parseValue:o,parseLiteral:function(e,n){if(e.kind!==i.Kind.OBJECT)throw new TypeError("JSONObject cannot represent non-object value: "+Object(i.print)(e));return u("JSONObject",e,n)}})},,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isDefinitionNode=function(e){return i(e)||a(e)||u(e)},n.isExecutableDefinitionNode=i,n.isSelectionNode=function(e){return e.kind===r.Kind.FIELD||e.kind===r.Kind.FRAGMENT_SPREAD||e.kind===r.Kind.INLINE_FRAGMENT},n.isValueNode=function(e){return e.kind===r.Kind.VARIABLE||e.kind===r.Kind.INT||e.kind===r.Kind.FLOAT||e.kind===r.Kind.STRING||e.kind===r.Kind.BOOLEAN||e.kind===r.Kind.NULL||e.kind===r.Kind.ENUM||e.kind===r.Kind.LIST||e.kind===r.Kind.OBJECT},n.isTypeNode=function(e){return e.kind===r.Kind.NAMED_TYPE||e.kind===r.Kind.LIST_TYPE||e.kind===r.Kind.NON_NULL_TYPE},n.isTypeSystemDefinitionNode=a,n.isTypeDefinitionNode=o,n.isTypeSystemExtensionNode=u,n.isTypeExtensionNode=c;var r=t(18);function i(e){return e.kind===r.Kind.OPERATION_DEFINITION||e.kind===r.Kind.FRAGMENT_DEFINITION}function a(e){return e.kind===r.Kind.SCHEMA_DEFINITION||o(e)||e.kind===r.Kind.DIRECTIVE_DEFINITION}function o(e){return e.kind===r.Kind.SCALAR_TYPE_DEFINITION||e.kind===r.Kind.OBJECT_TYPE_DEFINITION||e.kind===r.Kind.INTERFACE_TYPE_DEFINITION||e.kind===r.Kind.UNION_TYPE_DEFINITION||e.kind===r.Kind.ENUM_TYPE_DEFINITION||e.kind===r.Kind.INPUT_OBJECT_TYPE_DEFINITION}function u(e){return e.kind===r.Kind.SCHEMA_EXTENSION||c(e)}function c(e){return e.kind===r.Kind.SCALAR_TYPE_EXTENSION||e.kind===r.Kind.OBJECT_TYPE_EXTENSION||e.kind===r.Kind.INTERFACE_TYPE_EXTENSION||e.kind===r.Kind.UNION_TYPE_EXTENSION||e.kind===r.Kind.ENUM_TYPE_EXTENSION||e.kind===r.Kind.INPUT_OBJECT_TYPE_EXTENSION}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Object.entries||function(e){return Object.keys(e).map((function(n){return[n,e[n]]}))};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){return e.reduce((function(e,r){return e[n(r)]=t(r),e}),Object.create(null))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){var t="string"==typeof e?[e,n]:[void 0,e],r=t[0],i=t[1],a=" Did you mean ";r&&(a+=r+" ");switch(i.length){case 0:return"";case 1:return a+i[0]+"?";case 2:return a+i[0]+" or "+i[1]+"?"}var o=i.slice(0,5),u=o.pop();return a+o.join(", ")+", or "+u+"?"}},function(e,n,t){"use strict";function r(e,n){if(e===n)return 0;var t=[],r=e.toLowerCase(),i=n.toLowerCase(),a=r.length,o=i.length;if(r===i)return 1;for(var u=0;u<=a;u++)t[u]=[u];for(var c=1;c<=o;c++)t[0][c]=c;for(var s=1;s<=a;s++)for(var l=1;l<=o;l++){var f=r[s-1]===i[l-1]?0:1;t[s][l]=Math.min(t[s-1][l]+1,t[s][l-1]+1,t[s-1][l-1]+f),s>1&&l>1&&r[s-1]===i[l-2]&&r[s-2]===i[l-1]&&(t[s][l]=Math.min(t[s][l],t[s-2][l-2]+f))}return t[a][o]}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){for(var t=Object.create(null),i=e.length/2,a=0;a<n.length;a++){var o=n[a],u=r(e,o),c=Math.max(i,o.length/2,1);u<=c&&(t[o]=u)}return Object.keys(t).sort((function(e,n){return t[e]-t[n]}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"responsePathAsArray",{enumerable:!0,get:function(){return r.pathToArray}}),Object.defineProperty(n,"execute",{enumerable:!0,get:function(){return i.execute}}),Object.defineProperty(n,"defaultFieldResolver",{enumerable:!0,get:function(){return i.defaultFieldResolver}}),Object.defineProperty(n,"defaultTypeResolver",{enumerable:!0,get:function(){return i.defaultTypeResolver}}),Object.defineProperty(n,"getDirectiveValues",{enumerable:!0,get:function(){return a.getDirectiveValues}});var r=t(125),i=t(116),a=t(158)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.execute=function(e,n,t,r,i,a,o,u){return S(1===arguments.length?e:{schema:e,document:n,rootValue:t,contextValue:r,variableValues:i,operationName:a,fieldResolver:o,typeResolver:u})},n.assertValidExecutionArguments=D,n.buildExecutionContext=L,n.collectFields=j,n.buildRes
39588olveInfo=F,n.resolveFieldValueOrError=R,n.getFieldDef=J,n.defaultFieldResolver=n.defaultTypeResolver=void 0;var r=t(47),i=I(t(13)),a=I(t(328)),o=I(t(48)),u=I(t(59)),c=I(t(124)),s=I(t(245)),l=I(t(153)),f=I(t(65)),p=I(t(329)),d=I(t(330)),v=t(125),y=t(5),h=t(188),m=t(18),T=t(154),g=t(64),b=t(50),E=t(11),O=t(67),_=t(191),N=t(158);function I(e){return e&&e.__esModule?e:{default:e}}function S(e){var n=e.schema,t=e.document,r=e.rootValue,i=e.contextValue,a=e.variableValues,o=e.operationName,u=e.fieldResolver,c=e.typeResolver;D(n,t,a);var s=L(n,t,r,i,a,o,u,c);if(Array.isArray(s))return{errors:s};var f=function(e,n,t){var r=(0,_.getOperationRootType)(e.schema,n),i=j(e,r,n.selectionSet,Object.create(null),Object.create(null));try{var a="mutation"===n.operation?function(e,n,t,r,i){return(0,p.default)(Object.keys(i),(function(a,o){var u=i[o],c=(0,v.addPath)(r,o),s=k(e,n,t,u,c);return void 0===s?a:(0,l.default)(s)?s.then((function(e){return a[o]=e,a})):(a[o]=s,a)}),Object.create(null))}(e,r,t,void 0,i):A(e,r,t,void 0,i);return(0,l.default)(a)?a.then(void 0,(function(n){return e.errors.push(n),Promise.resolve(null)})):a}catch(n){return e.errors.push(n),null}}(s,s.operation,r);return function e(n,t){if((0,l.default)(t))return t.then((function(t){return e(n,t)}));return 0===n.errors.length?{data:t}:{errors:n.errors,data:t}}(s,f)}function D(e,n,t){n||(0,u.default)(0,"Must provide document"),(0,T.assertValidSchema)(e),null==t||(0,f.default)(t)||(0,u.default)(0,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function L(e,n,t,r,i,a,o,u){for(var c,s=!1,l=Object.create(null),f=0,p=n.definitions;f<p.length;f++){var d=p[f];switch(d.kind){case m.Kind.OPERATION_DEFINITION:!a&&c?s=!0:(!a||d.name&&d.name.value===a)&&(c=d);break;case m.Kind.FRAGMENT_DEFINITION:l[d.name.value]=d}}if(!c)return a?[new y.GraphQLError('Unknown operation named "'.concat(a,'".'))]:[new y.GraphQLError("Must provide an operation.")];if(s)return[new y.GraphQLError("Must provide operation name if query contains multiple operations.")];var v=(0,N.getVariableValues)(e,c.variableDefinitions||[],i||{},{maxErrors:50});return v.errors?v.errors:{schema:e,fragments:l,rootValue:t,contextValue:r,operation:c,variableValues:v.coerced,fieldResolver:o||Y,typeResolver:u||q,errors:[]}}function A(e,n,t,r,i){for(var a=Object.create(null),o=!1,u=0,c=Object.keys(i);u<c.length;u++){var s=c[u],f=k(e,n,t,i[s],(0,v.addPath)(r,s));void 0!==f&&(a[s]=f,!o&&(0,l.default)(f)&&(o=!0))}return o?(0,d.default)(a):a}function j(e,n,t,r,i){for(var a=0,o=t.selections;a<o.length;a++){var u=o[a];switch(u.kind){case m.Kind.FIELD:if(!w(e,u))continue;var c=(f=u).alias?f.alias.value:f.name.value;r[c]||(r[c]=[]),r[c].push(u);break;case m.Kind.INLINE_FRAGMENT:if(!w(e,u)||!P(e,u,n))continue;j(e,n,u.selectionSet,r,i);break;case m.Kind.FRAGMENT_SPREAD:var s=u.name.value;if(i[s]||!w(e,u))continue;i[s]=!0;var l=e.fragments[s];if(!l||!P(e,l,n))continue;j(e,n,l.selectionSet,r,i)}}var f;return r}function w(e,n){var t=(0,N.getDirectiveValues)(b.GraphQLSkipDirective,n,e.variableValues);if(t&&!0===t.if)return!1;var r=(0,N.getDirectiveValues)(b.GraphQLIncludeDirective,n,e.variableValues);return!r||!1!==r.if}function P(e,n,t){var r=n.typeCondition;if(!r)return!0;var i=(0,O.typeFromAST)(e.schema,r);return i===t||!!(0,E.isAbstractType)(i)&&e.schema.isPossibleType(i,t)}function k(e,n,t,r,i){var a=r[0].name.value,o=J(e.schema,n,a);if(o){var u=o.resolve||e.fieldResolver,c=F(e,o,r,n,i),s=R(e,o,r,u,t,c);return x(e,o.type,r,c,i,s)}}function F(e,n,t,r,i){return{fieldName:n.name,fieldNodes:t,returnType:n.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function R(e,n,t,r,i,a){try{var o=r(i,(0,N.getArgumentValues)(n,t[0],e.variableValues),e.contextValue,a);return(0,l.default)(o)?o.then(void 0,M):o}catch(e){return M(e)}}function M(e){return e instanceof Error?e:new Error("Unexpected error value: "+(0,i.default)(e))}function x(e,n,t,r,i,a){try{var o;return o=(0,l.default)(a)?a.then((function(a){return V(e,n,t,r,i,a)})):V(e,n,t,r,i,a),(0,l.default)(o)?o.then(void 0,(function(r){return G(r,t,i,n,e)})):o}catch(r){return G(r,t,i,n,e)}}function G(e,n,t,r,i){var a=(0,h.locatedError)(M(e),n,(0,v.pathToArray)(t));if((0,E.isNonNullType)(r))throw a;return i.errors.push(a),null}function V(e,n,t,a,u,f){if(f instanceof Error)throw f;if((0,E.isNonNullType)(n)){var p=V(e,n.ofType,t,a,u,f);if(null===p)throw new Error("Cannot return null for non-nullable field ".concat(a.parentType.name,".").concat(a.fieldName,"."));return p}return(0,s.default)(f)?null:(0,E.isListType)(n)?function(e,n,t,i,a,o){if(!(0,r.isCollection)(o)
39588)throw new y.GraphQLError("Expected Iterable, but did not find one for field ".concat(i.parentType.name,".").concat(i.fieldName,"."));var u=n.ofType,c=!1,s=[];return(0,r.forEach)(o,(function(n,r){var o=(0,v.addPath)(a,r),f=x(e,u,t,i,o,n);!c&&(0,l.default)(f)&&(c=!0),s.push(f)})),c?Promise.all(s):s}(e,n,t,a,u,f):(0,E.isLeafType)(n)?function(e,n){var t=e.serialize(n);if((0,c.default)(t))throw new Error('Expected a value of type "'.concat((0,i.default)(e),'" but ')+"received: ".concat((0,i.default)(n)));return t}(n,f):(0,E.isAbstractType)(n)?function(e,n,t,r,i,a){var o=n.resolveType||e.typeResolver,u=e.contextValue,c=o(a,u,r,n);if((0,l.default)(c))return c.then((function(o){return C(e,K(o,e,n,t,r,a),t,r,i,a)}));return C(e,K(c,e,n,t,r,a),t,r,i,a)}(e,n,t,a,u,f):(0,E.isObjectType)(n)?C(e,n,t,a,u,f):void(0,o.default)(!1,"Cannot complete value of unexpected output type: "+(0,i.default)(n))}function K(e,n,t,r,a,o){var u="string"==typeof e?n.schema.getType(e):e;if(!(0,E.isObjectType)(u))throw new y.GraphQLError("Abstract type ".concat(t.name," must resolve to an Object type at runtime for field ").concat(a.parentType.name,".").concat(a.fieldName," with ")+"value ".concat((0,i.default)(o),', received "').concat((0,i.default)(u),'". ')+"Either the ".concat(t.name,' type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.'),r);if(!n.schema.isPossibleType(t,u))throw new y.GraphQLError('Runtime Object type "'.concat(u.name,'" is not a possible type for "').concat(t.name,'".'),r);return u}function C(e,n,t,r,i,a){if(n.isTypeOf){var o=n.isTypeOf(a,e.contextValue,r);if((0,l.default)(o))return o.then((function(r){if(!r)throw Q(n,a,t);return U(e,n,t,i,a)}));if(!o)throw Q(n,a,t)}return U(e,n,t,i,a)}function Q(e,n,t){return new y.GraphQLError('Expected value of type "'.concat(e.name,'" but got: ').concat((0,i.default)(n),"."),t)}function U(e,n,t,r,i){return A(e,n,i,r,B(e,n,t))}var B=(0,a.default)((function(e,n,t){for(var r=Object.create(null),i=Object.create(null),a=0;a<t.length;a++){var o=t[a];o.selectionSet&&(r=j(e,n,o.selectionSet,r,i))}return r}));var q=function(e,n,t,r){if((0,f.default)(e)&&"string"==typeof e.__typename)return e.__typename;for(var i=t.schema.getPossibleTypes(r),a=[],o=0;o<i.length;o++){var u=i[o];if(u.isTypeOf){var c=u.isTypeOf(e,n,t);if((0,l.default)(c))a[o]=c;else if(c)return u}}return a.length?Promise.all(a).then((function(e){for(var n=0;n<e.length;n++)if(e[n])return i[n]})):void 0};n.defaultTypeResolver=q;var Y=function(e,n,t,r){if((0,f.default)(e)||"function"==typeof e){var i=e[r.fieldName];return"function"==typeof i?e[r.fieldName](n,t,r):i}};function J(e,n,t){return t===g.SchemaMetaFieldDef.name&&e.getQueryType()===n?g.SchemaMetaFieldDef:t===g.TypeMetaFieldDef.name&&e.getQueryType()===n?g.TypeMetaFieldDef:t===g.TypeNameMetaFieldDef.name?g.TypeNameMetaFieldDef:n.getFields()[t]}n.defaultFieldResolver=Y},,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TokenKind=void 0;var r=Object.freeze({SOF:"<SOF>",EOF:"<EOF>",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});n.TokenKind=r},function(e,n,t){"use strict";function r(e){for(var n=null,t=1;t<e.length;t++){var r=e[t],a=i(r);if(a!==r.length&&((null===n||a<n)&&0===(n=a)))break}return null===n?0:n}function i(e){for(var n=0;n<e.length&&(" "===e[n]||"\t"===e[n]);)n++;return n}function a(e){return i(e)===e.length}Object.defineProperty(n,"__esModule",{value:!0}),n.dedentBlockStringValue=function(e){var n=e.split(/\r\n|[\n\r]/g),t=r(n);if(0!==t)for(var i=1;i<n.length;i++)n[i]=n[i].slice(t);for(;n.length>0&&a(n[0]);)n.shift();for(;n.length>0&&a(n[n.length-1]);)n.pop();return n.join("\n")},n.getBlockStringIndentation=r,n.printBlockString=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||"\t"
vendor: 20,304 bytes, line 39588
39588===e[0],a='"'===e[e.length-1],o=!r||a||t,u="";!o||r&&i||(u+="\n"+n);u+=n?e.replace(/\n/g,"\n"+n):e,o&&(u+="\n");return'"""'+u.replace(/"""/g,'\\"""')+'"""'}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.parse=function(e,n){return new d(e,n).parseDocument()},n.parseValue=function(e,n){var t=new d(e,n);t.expectToken(f.TokenKind.SOF);var r=t.parseValueLiteral(!1);return t.expectToken(f.TokenKind.EOF),r},n.parseType=function(e,n){var t=new d(e,n);t.expectToken(f.TokenKind.SOF);var r=t.parseTypeReference();return t.expectToken(f.TokenKind.EOF),r};var r=p(t(13)),i=p(t(59)),a=p(t(152)),o=t(187),u=t(18),c=t(184),s=t(186),l=t(123),f=t(120);function p(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,n){var t="string"==typeof e?new c.Source(e):e;t instanceof c.Source||(0,i.default)(0,"Must provide Source. Received: ".concat((0,r.default)(t))),this._lexer=(0,s.createLexer)(t),this._options=n||{}}var n=e.prototype;return n.parseName=function(){var e=this.expectToken(f.TokenKind.NAME);return{kind:u.Kind.NAME,value:e.value,loc:this.loc(e)}},n.parseDocument=function(){var e=this._lexer.token;return{kind:u.Kind.DOCUMENT,definitions:this.many(f.TokenKind.SOF,this.parseDefinition,f.TokenKind.EOF),loc:this.loc(e)}},n.parseDefinition=function(){if(this.peek(f.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(f.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},n.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(f.TokenKind.BRACE_L))return{kind:u.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n,t=this.parseOperationType();return this.peek(f.TokenKind.NAME)&&(n=this.parseName()),{kind:u.Kind.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseOperationType=function(){var e=this.expectToken(f.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},n.parseVariableDefinitions=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseVariableDefinition,f.TokenKind.PAREN_R)},n.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:u.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(f.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(f.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},n.parseVariable=function(){var e=this._lexer.token;return this.expectToken(f.TokenKind.DOLLAR),{kind:u.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},n.parseSelectionSet=function(){var e=this._lexer.token;return{kind:u.Kind.SELECTION_SET,selections:this.many(f.TokenKind.BRACE_L,this.parseSelection,f.TokenKind.BRACE_R),loc:this.loc(e)}},n.parseSelection=function(){return this.peek(f.TokenKind.SPREAD)?this.parseFragment():this.parseField()},n.parseField=function(){var e,n,t=this._lexer.token,r=this.parseName();return this.expectOptionalToken(f.TokenKind.COLON)?(e=r,n=this.parseName()):n=r,{kind:u.Kind.FIELD,alias:e,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(f.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(t)}},n.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(f.TokenKind.PAREN_L,n,f.TokenKind.PAREN_R)},n.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:u.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},n.parseConstArgument=function(){var e=this._lexer.token;return{kind:u.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(f.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},n.parseFragment=function(){var e=this._lexer.token;this.expectToken(f.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(f.TokenKind.NAME)?{kind:u.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:u.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword("fragment"),this._options.experimentalFragmentVariables?{kind:u.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:u.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},n.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case f.TokenKind.BRACKET_L:return this.parseList(e);case f.TokenKind.BRACE_L:return this.parseObject(e);case f.TokenKind.INT:return this._lexer.advance(),{kind:u.Kind.INT,value:n.value,loc:this.loc(n)};case f.TokenKind.FLOAT:return this._lexer.advance(),{kind:u.Kind.FLOAT,value:n.value,loc:this.loc(n)};case f.TokenKind.STRING:case f.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case f.TokenKind.NAME:return"true"===n.value||"false"===n.value?(this._lexer.advance(),{kind:u.Kind.BOOLEAN,value:"true"===n.value,loc:this.loc(n)}):"null"===n.value?(this._lexer.advance(),{kind:u.Kind.NULL,loc:this.loc(n)}):(this._lexer.advance(),{kind:u.Kind.ENUM,value:n.value,loc:this.loc(n)});case f.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},n.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:u.Kind.STRING,value:e.value,block:e.kind===f.TokenKind.BLOCK_STRING,loc:this.loc(e)}},n.parseList=function(e){var n=this,t=this._lexer.token;return{kind:u.Kind.LIST,values:this.any(f.TokenKind.BRACKET_L,(function(){return n.parseValueLiteral(e)}),f.TokenKind.BRACKET_R),loc:this.loc(t)}},n.parseObject=function(e){var n=this,t=this._lexer.token;return{kind:u.Kind.OBJECT,fields:this.any(f.TokenKind.BRACE_L,(function(){return n.parseObjectField(e)}),f.TokenKind.BRACE_R),loc:this.loc(t)}},n.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:u.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},n.parseDirectives=function(e){for(var n=[];this.peek(f.TokenKind.AT);)n.push(this.parseDirective(e));return n},n.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(f.TokenKind.AT),{kind:u.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},n.parseTypeReference=function(){var e,n=this._lexer.token;return this.expectOptionalToken(f.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(f.TokenKind.BRACKET_R),e={kind:u.Kind.LIST_TYPE,type:e,loc:this.loc(n)}):e=this.parseNamedType(),this.expectOptionalToken(f.TokenKind.BANG)?{kind:u.Kind.NON_NULL_TYPE,type:e,loc:this.loc(n)}:e},n.parseNamedType=function(){var e=this._lexer.token;return{kind:u.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},n.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===f.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},n.peekDescription=function(){return this.peek(f.TokenKind.STRING)||this.peek(f.TokenKind.BLOCK_STRING)},n.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},n.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.many(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);return{kind:u.Kind.SCHEMA_DEFINITION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(f.TokenKind.COLON);var t=this.parseNamedType();return{kind:u.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},n.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),r=this.parseDirectives(!0);return{kind:u.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:r,loc:this.loc(e)}},n.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:u.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:r,directives:i,fields:a,loc:this.loc(e)}},n.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword("implements")){this.expectOptionalToken(f.TokenKind.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(f.TokenKind.NAME))}return e},n.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(f.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===f.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(f.TokenKind.BRACE_L,this.parseFieldDefinition,f.TokenKind.BRACE_R)},n.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),r=this.parseArgumentDefs();this.expectToken(f.TokenKind.COLON);var i=this.parseTypeReference(),a=this.parseDirectives(!0);return{kind:u.Kind.FIELD_DEFINITION,description:n,name:t,arguments:r,type:i,directives:a,loc:this.loc(e)}},n.parseArgumentDefs=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseInputValueDef,f.TokenKind.PAREN_R)},n.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(f.TokenKind.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(f.TokenKind.EQUALS)&&(r=this.parseValueLiteral(!0));var a=this.parseDirectives(!0);return{kind:u.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:i,defaultValue:r,directives:a,loc:this.loc(e)}},n.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();return{kind:u.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,directives:r,fields:i,loc:this.loc(e)}},n.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:u.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:r,types:i,loc:this.loc(e)}},n.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(f.TokenKind.EQUALS)){this.expectOptionalToken(f.TokenKind.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.PIPE))}return e},n.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:u.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:r,values:i,loc:this.loc(e)}},n.parseEnumValuesDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseEnumValueDefinition,f.TokenKind.BRACE_R)},n.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),r=this.parseDirectives(!0);return{kind:u.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:r,loc:this.loc(e)}},n.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:u.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:r,fields:i,loc:this.loc(e)}},n.parseInputFieldsDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseInputValueDef,f.TokenKind.BRACE_R)},n.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===f.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},n.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);if(0===n.length&&0===t.length)throw this.unexpected();return{kind:u.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(0===t.length)throw this.unexpected();return{kind:u.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},n.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===t.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:u.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:r,fields:i,loc:this.loc(e)}},n.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.INTERFACE_TYPE_EXTENSION,name:n,directives:t,fields:r,loc:this.loc(e)}},n.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:r,loc:this.loc(e)}},n.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:r,loc:this.loc(e)}},n.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===t.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:r,loc:this.loc(e)}},n.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(f.TokenKind.AT);var t=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var a=this.parseDirectiveLocations();return{kind:u.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:r,repeatable:i,locations:a,loc:this.loc(e)}},n.parseDirectiveLocations=function(){this.expectOptionalToken(f.TokenKind.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(f.TokenKind.PIPE));return e},n.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(void 0!==l.DirectiveLocation[n.value])return n;throw this.unexpected(e)},n.loc=function(e){if(!this._options.noLocation)return new v(e,this._lexer.lastToken,this._lexer.source)},n.peek=function(e){return this._lexer.token.kind===e},n.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,o.syntaxError)(this._lexer.source,n.start,"Expected ".concat(e,", found ").concat(y(n)))},n.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},n.expectKeyword=function(e){var n=this._lexer.token;if(n.kind!==f.TokenKind.NAME||n.value!==e)throw(0,o.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(y(n)));this._lexer.advance()},n.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===f.TokenKind.NAME&&n.value===e&&(this._lexer.advance(),!0)},n.unexpected=function(e){var n=e||this._lexer.token;return(0,o.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(y(n)))},n.any=function(e,n,t){this.expectToken(e);for(var r=[];!this.expectOptionalToken(t);)r.push(n.call(this));return r},n.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var r=[];do{r.push(n.call(this))}while(!this.expectOptionalToken(t));return r}return[]},n.many=function(e,n,t){this.expectToken(e);var r=[];do{r.push(n.call(this))}while(!this.expectOptionalToken(t));return r},e}();function v(e,n,t){this.start=e.start,this.end=n.end,this.startToken=e,this.endToken=n,this.source=t}function y(e){var n=e.value;return n?"".concat(e.kind,' "').concat(n,'"'):e.kind}(0,a.default)(v,(function(){return{start:this.start,end:this.end}}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DirectiveLocation=void 0;var r=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});n.DirectiveLocation=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return void 0===e||e!=e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.addPath=function(e,n){return{prev:e,key:n}},n.pathToArray=function(e){var n=[],t=e;for(;t;)n.push(t.key),t=t.prev;return n.reverse()}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Array.prototype.find?function(e,n){return Array.prototype.find.call(e,n)}:function(e,n){for(var t=0;t<e.length;t++){var r=e[t];if(n(r))return r}};n.default=r},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(161),a=t(285),o=t(68);function u(e){o.forEachField(e,(function(e,n,t){var i,a,o=n+"."+t;e.resolve=(i=e.resolve,a=o,void 0===i&&(i=r.defaultFieldResolver),function(e,n,t,r){var o=i(e,n,t,r);if(void 0===o)throw new Error('Resolve function for "'+a+'" returned undefined');return o})}))}
39588function c(e,n){if(!n)throw new Error("Must provide a logger");if("function"!=typeof n.log)throw new Error("Logger.log must be a function");o.forEachField(e,(function(e,t,r){var i=t+"."+r;e.resolve=o.decorateWithLogger(e.resolve,n,i)}))}n.makeExecutableSchema=function(e){var n=e.typeDefs,t=e.resolvers,r=void 0===t?{}:t,s=e.connectors,l=e.logger,f=e.allowUndefinedInResolve,p=void 0===f||f,d=e.resolverValidationOptions,v=void 0===d?{}:d,y=e.directiveResolvers,h=void 0===y?null:y,m=e.schemaDirectives,T=void 0===m?null:m,g=e.parseOptions,b=void 0===g?{}:g,E=e.inheritResolversFromInterfaces,O=void 0!==E&&E;if("object"!=typeof v)throw new o.SchemaError("Expected `resolverValidationOptions` to be an object");if(!n)throw new o.SchemaError("Must provide typeDefs");if(!r)throw new o.SchemaError("Must provide resolvers");var _=Array.isArray(r)?r.filter((function(e){return"object"==typeof e})).reduce(a.default,{}):r,N=o.buildSchemaFromTypeDefinitions(n,b);return N=o.addResolveFunctionsToSchema({schema:N,resolvers:_,resolverValidationOptions:v,inheritResolversFromInterfaces:O}),o.assertResolveFunctionsPresent(N,v),p||u(N),l&&c(N,l),"function"==typeof r.__schema&&o.addSchemaLevelResolveFunction(N,r.__schema),s&&o.attachConnectorsToContext(N,s),h&&o.attachDirectiveResolvers(N,h),T&&i.SchemaDirectiveVisitor.visitSchemaDirectives(N,T),N},n.addCatchUndefinedToSchema=u,n.addErrorLoggingToSchema=c,function(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}(t(68))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TypeInfo=void 0;var r,i=(r=t(126))&&r.__esModule?r:{default:r},a=t(18),o=t(11),u=t(64),c=t(67);var s=function(){function e(e,n,t){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n||l,t&&((0,o.isInputType)(t)&&this._inputTypeStack.push(t),(0,o.isCompositeType)(t)&&this._parentTypeStack.push(t),(0,o.isOutputType)(t)&&this._typeStack.push(t))}var n=e.prototype;return n.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},n.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},n.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},n.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},n.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},n.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},n.getDirective=function(){return this._directive},n.getArgument=function(){return this._argument},n.getEnumValue=function(){return this._enumValue},n.enter=function(e){var n=this._schema;switch(e.kind){case a.Kind.SELECTION_SET:var t=(0,o.getNamedType)(this.getType());this._parentTypeStack.push((0,o.isCompositeType)(t)?t:void 0);break;case a.Kind.FIELD:var r,u,s=this.getParentType();s&&(r=this._getFieldDef(n,s,e))&&(u=r.type),this._fieldDefStack.push(r),this._typeStack.push((0,o.isOutputType)(u)?u:void 0);break;case a.Kind.DIRECTIVE:this._directive=n.getDirective(e.name.value);break;case a.Kind.OPERATION_DEFINITION:var l;"query"===e.operation?l=n.getQueryType():"mutation"===e.operation?l=n.getMutationType():"subscription"===e.operation&&(l=n.getSubscriptionType()),this._typeStack.push((0,o.isObjectType)(l)?l:void 0);break;case a.Kind.INLINE_FRAGMENT:case a.Kind.FRAGMENT_DEFINITION:var f=e.typeCondition,p=f?(0,c.typeFromAST)(n,f):(0,o.getNamedType)(this.getType());this._typeStack.push((0,o.isOutputType)(p)?p:void 0);break;case a.Kind.VARIABLE_DEFINITION:var d=(0,c.typeFromAST)(n,e.type);this._inputTypeStack.push((0,o.isInputType)(d)?d:void 0);break;case a.Kind.ARGUMENT:var v,y,h=this.getDirective()||this.getFieldDef();h&&(v=(0,i.default)(h.args,(function(n){return n.name===e.name.value})))&&(y=v.type),this._argument=v,this._defaultValueStack.push(v?v.defaultValue:void 0),this._inputTypeStack.push((0,o.isInputType)(y)?y:void 0);break;
39588case a.Kind.LIST:var m=(0,o.getNullableType)(this.getInputType()),T=(0,o.isListType)(m)?m.ofType:m;this._defaultValueStack.push(void 0),this._inputTypeStack.push((0,o.isInputType)(T)?T:void 0);break;case a.Kind.OBJECT_FIELD:var g,b,E=(0,o.getNamedType)(this.getInputType());(0,o.isInputObjectType)(E)&&(b=E.getFields()[e.name.value])&&(g=b.type),this._defaultValueStack.push(b?b.defaultValue:void 0),this._inputTypeStack.push((0,o.isInputType)(g)?g:void 0);break;case a.Kind.ENUM:var O,_=(0,o.getNamedType)(this.getInputType());(0,o.isEnumType)(_)&&(O=_.getValue(e.value)),this._enumValue=O}},n.leave=function(e){switch(e.kind){case a.Kind.SELECTION_SET:this._parentTypeStack.pop();break;case a.Kind.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case a.Kind.DIRECTIVE:this._directive=null;break;case a.Kind.OPERATION_DEFINITION:case a.Kind.INLINE_FRAGMENT:case a.Kind.FRAGMENT_DEFINITION:this._typeStack.pop();break;case a.Kind.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case a.Kind.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case a.Kind.LIST:case a.Kind.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case a.Kind.ENUM:this._enumValue=null}},e}();function l(e,n,t){var r=t.name.value;return r===u.SchemaMetaFieldDef.name&&e.getQueryType()===n?u.SchemaMetaFieldDef:r===u.TypeMetaFieldDef.name&&e.getQueryType()===n?u.TypeMetaFieldDef:r===u.TypeNameMetaFieldDef.name&&(0,o.isCompositeType)(n)?u.TypeNameMetaFieldDef:(0,o.isObjectType)(n)||(0,o.isInterfaceType)(n)?n.getFields()[r]:void 0}n.TypeInfo=s},function(e,n,t){var r=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var i,a=t(6),o=t(130);!function(e){e.TYPE="VisitSchemaKind.TYPE",e.SCALAR_TYPE="VisitSchemaKind.SCALAR_TYPE",e.ENUM_TYPE="VisitSchemaKind.ENUM_TYPE",e.COMPOSITE_TYPE="VisitSchemaKind.COMPOSITE_TYPE",e.OBJECT_TYPE="VisitSchemaKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="VisitSchemaKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="VisitSchemaKind.ABSTRACT_TYPE",e.UNION_TYPE="VisitSchemaKind.UNION_TYPE",e.INTERFACE_TYPE="VisitSchemaKind.INTERFACE_TYPE",e.ROOT_OBJECT="VisitSchemaKind.ROOT_OBJECT",e.QUERY="VisitSchemaKind.QUERY",e.MUTATION="VisitSchemaKind.MUTATION",e.SUBSCRIPTION="VisitSchemaKind.SUBSCRIPTION"}(i=n.VisitSchemaKind||(n.VisitSchemaKind={})),n.visitSchema=function(e,n,t){var u={},c=o.createResolveType((function(e){if(void 0===u[e])throw new Error("Can't find type "+e+".");return u[e]})),s=e.getQueryType(),l=e.getMutationType(),f=e.getSubscriptionType(),p=e.getTypeMap();return Object.keys(p).map((function(s){var l=p[s];if(a.isNamedType(l)&&"__"!==a.getNamedType(l).name.slice(0,2)){var f=function(e,n){var t=[i.TYPE];if(e instanceof a.GraphQLObjectType){t.unshift(i.COMPOSITE_TYPE,i.OBJECT_TYPE);var r=n.getQueryType(),o=n.getMutationType(),u=n.getSubscriptionType();e===r?t.push(i.ROOT_OBJECT,i.QUERY):e===o?t.push(i.ROOT_OBJECT,i.MUTATION):e===u&&t.push(i.ROOT_OBJECT,i.SUBSCRIPTION)}else e instanceof a.GraphQLInputObjectType?t.push(i.INPUT_OBJECT_TYPE):e instanceof a.GraphQLInterfaceType?t.push(i.COMPOSITE_TYPE,i.ABSTRACT_TYPE,i.INTERFACE_TYPE):e instanceof a.GraphQLUnionType?t.push(i.COMPOSITE_TYPE,i.ABSTRACT_TYPE,i.UNION_TYPE):e instanceof a.GraphQLEnumType?t.push(i.ENUM_TYPE):e instanceof a.GraphQLScalarType&&t.push(i.SCALAR_TYPE);return t}(l,e),d=function(e,n){var t=null,i=r(n);for(;!t&&i.length>0;){var a=i.pop();t=e[a]}return t}(n,f);if(d){var v=d(l,e);u[s]=void 0===v?o.recreateType(l,c,!t):null===v?null:o.recreateType(v,c,!t)}else u[s]=o.recreateType(l,c,!t)}})),new a.GraphQLSchema({query:s?u[s.name]:null,mutation:l?u[l.name]:null,subscription:f?u[f.name]:null,types:Object.keys(u).map((function(e){return u[e]}))})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(286),a=t(200),o=t(201);function u(e){switch(e.kind){case r.Kind.STRING:case r.Kind.BOOLEAN:return e.value;case r.Kind.INT:case r.Kind.FLOAT:return parseFloat(e.value);case r.Kind.OBJECT:var n=Object.create(null);return e.fields.forEach((function(e){n[e.name.value]=u(e.value)})),n;
39588case r.Kind.LIST:return e.values.map(u);default:return null}}function c(e,n,t){var r={};return Object.keys(e).forEach((function(i){var a=e[i];null!==n(a.type)&&(r[i]=s(e[i],n,t))})),r}function s(e,n,t){return{type:n(e.type),args:l(e.args,n),resolve:t?e.resolve:o.default,subscribe:t?e.subscribe:null,description:e.description,deprecationReason:e.deprecationReason,astNode:e.astNode}}function l(e,n){var t={};return e.forEach((function(e){var r=f(e,n);r&&(t[r[0]]=r[1])})),t}function f(e,n){var t=n(e.type);return null===t?null:[e.name,{type:t,defaultValue:e.defaultValue,description:e.description}]}function p(e,n){var t={};return Object.keys(e).forEach((function(r){var i=e[r];null!==n(i.type)&&(t[r]=d(e[r],n))})),t}function d(e,n){return{type:n(e.type),defaultValue:e.defaultValue,description:e.description,astNode:e.astNode}}n.recreateType=function(e,n,t){if(e instanceof r.GraphQLObjectType){var o=e.getFields(),s=e.getInterfaces();return new r.GraphQLObjectType({name:e.name,description:e.description,astNode:e.astNode,isTypeOf:t?e.isTypeOf:void 0,fields:function(){return c(o,n,t)},interfaces:function(){return s.map((function(e){return n(e)}))}})}if(e instanceof r.GraphQLInterfaceType){var l=e.getFields();return new r.GraphQLInterfaceType({name:e.name,description:e.description,astNode:e.astNode,fields:function(){return c(l,n,t)},resolveType:t?e.resolveType:function(e,n,t){return a.default(e,t.schema)}})}if(e instanceof r.GraphQLUnionType)return new r.GraphQLUnionType({name:e.name,description:e.description,astNode:e.astNode,types:function(){return e.getTypes().map((function(e){return n(e)}))},resolveType:t?e.resolveType:function(e,n,t){return a.default(e,t.schema)}});if(e instanceof r.GraphQLInputObjectType)return new r.GraphQLInputObjectType({name:e.name,description:e.description,astNode:e.astNode,fields:function(){return p(e.getFields(),n)}});if(e instanceof r.GraphQLEnumType){var f=e.getValues(),d={};return f.forEach((function(e){d[e.name]={value:e.value,deprecationReason:e.deprecationReason,description:e.description,astNode:e.astNode}})),new r.GraphQLEnumType({name:e.name,description:e.description,astNode:e.astNode,values:d})}if(e instanceof r.GraphQLScalarType)return t||i.default(e)?e:new r.GraphQLScalarType({name:e.name,description:e.description,astNode:e.astNode,serialize:function(e){return e},parseValue:function(e){return e},parseLiteral:function(e){return u(e)}});throw new Error("Invalid type "+e)},n.recreateDirective=function(e,n){return new r.GraphQLDirective({name:e.name,description:e.description,locations:e.locations,args:l(e.args,n),astNode:e.astNode})},n.fieldMapToFieldConfigMap=c,n.createResolveType=function(e){var n=function(t){var i;if(t instanceof r.GraphQLList)return null===(i=n(t.ofType))?null:new r.GraphQLList(i);if(t instanceof r.GraphQLNonNull)return null===(i=n(t.ofType))?null:new r.GraphQLNonNull(i);if(!r.isNamedType(t))return t;var a=r.getNamedType(t).name;switch(a){case r.GraphQLInt.name:return r.GraphQLInt;case r.GraphQLFloat.name:return r.GraphQLFloat;case r.GraphQLString.name:return r.GraphQLString;case r.GraphQLBoolean.name:return r.GraphQLBoolean;case r.GraphQLID.name:return r.GraphQLID;default:return e(a,t)}};return n},n.fieldToFieldConfig=s,n.argsToFieldConfigArgumentMap=l,n.argumentToArgumentConfig=f,n.inputFieldMapToFieldConfigMap=p,n.inputFieldToFieldConfig=d},,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){"function"==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=n,e.prototype.inspect=n,i.default&&(e.prototype[i.default]=n)};var r,i=(r=t(244))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return Boolean(e&&"function"==typeof e.then)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}
39588),n.validateSchema=h,n.assertValidSchema=function(e){var n=h(e);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join("\n\n"))};var r=y(t(126)),i=y(t(155)),a=y(t(49)),o=y(t(111)),u=y(t(13)),c=t(5),s=t(246),l=t(156),f=t(50),p=t(64),d=t(95),v=t(11);function y(e){return e&&e.__esModule?e:{default:e}}function h(e){if((0,d.assertSchema)(e),e.__validationErrors)return e.__validationErrors;var n=new m(e);!function(e){var n=e.schema,t=n.getQueryType();t?(0,v.isObjectType)(t)||e.reportError("Query root type must be Object type, it cannot be ".concat((0,u.default)(t),"."),T(n,t,"query")):e.reportError("Query root type must be provided.",n.astNode);var r=n.getMutationType();r&&!(0,v.isObjectType)(r)&&e.reportError("Mutation root type must be Object type if provided, it cannot be "+"".concat((0,u.default)(r),"."),T(n,r,"mutation"));var i=n.getSubscriptionType();i&&!(0,v.isObjectType)(i)&&e.reportError("Subscription root type must be Object type if provided, it cannot be "+"".concat((0,u.default)(i),"."),T(n,i,"subscription"))}(n),function(e){for(var n=0,t=e.schema.getDirectives();n<t.length;n++){var r=t[n];if((0,f.isDirective)(r)){g(e,r);for(var i=Object.create(null),a=function(n,t){var a=t[n],o=a.name;if(g(e,a),i[o])return e.reportError("Argument @".concat(r.name,"(").concat(o,":) can only be defined once."),r.astNode&&r.args.filter((function(e){return e.name===o})).map((function(e){return e.astNode}))),"continue";i[o]=!0,(0,v.isInputType)(a.type)||e.reportError("The type of @".concat(r.name,"(").concat(o,":) must be Input Type ")+"but got: ".concat((0,u.default)(a.type),"."),a.astNode)},o=0,c=r.args;o<c.length;o++)a(o,c)}else e.reportError("Expected directive but got: ".concat((0,u.default)(r),"."),r&&r.astNode)}}(n),function(e){for(var n=function(e){var n=Object.create(null),t=[],r=Object.create(null);return function i(o){if(n[o.name])return;n[o.name]=!0,r[o.name]=t.length;for(var u=(0,a.default)(o.getFields()),c=0;c<u.length;c++){var s=u[c];if((0,v.isNonNullType)(s.type)&&(0,v.isInputObjectType)(s.type.ofType)){var l=s.type.ofType,f=r[l.name];if(t.push(s),void 0===f)i(l);else{var p=t.slice(f),d=p.map((function(e){return e.name})).join(".");e.reportError('Cannot reference Input Object "'.concat(l.name,'" within itself through a series of non-null fields: "').concat(d,'".'),p.map((function(e){return e.astNode})))}t.pop()}}r[o.name]=void 0}}(e),t=e.schema.getTypeMap(),r=0,i=(0,a.default)(t);r<i.length;r++){var o=i[r];(0,v.isNamedType)(o)?((0,p.isIntrospectionType)(o)||g(e,o),(0,v.isObjectType)(o)?(b(e,o),E(e,o)):(0,v.isInterfaceType)(o)?b(e,o):(0,v.isUnionType)(o)?_(e,o):(0,v.isEnumType)(o)?N(e,o):(0,v.isInputObjectType)(o)&&(I(e,o),n(o))):e.reportError("Expected GraphQL named type but got: ".concat((0,u.default)(o),"."),o&&o.astNode)}}(n);var t=n.getErrors();return e.__validationErrors=t,t}var m=function(){function e(e){this._errors=[],this.schema=e}var n=e.prototype;return n.reportError=function(e,n){var t=Array.isArray(n)?n.filter(Boolean):n;this.addError(new c.GraphQLError(e,t))},n.addError=function(e){this._errors.push(e)},n.getErrors=function(){return this._errors},e}();function T(e,n,t){for(var r=D(e,(function(e){return e.operationTypes})),i=0;i<r.length;i++){var a=r[i];if(a.operation===t)return a.type}return n.astNode}function g(e,n){if(-1===e.schema.__allowedLegacyNames.indexOf(n.name)){var t=(0,s.isValidNameError)(n.name,n.astNode||void 0);t&&e.addError(t)}}function b(e,n){var t=(0,a.default)(n.getFields());0===t.length&&e.reportError("Type ".concat(n.name," must define one or more fields."),S(n));for(var r=0;r<t.length;r++){var i=t[r];g(e,i),(0,v.isOutputType)(i.type)||e.reportError("The type of ".concat(n.name,".").concat(i.name," must be Output Type ")+"but got: ".concat((0,u.default)(i.type),"."),i.astNode&&i.astNode.type);for(var o=Object.create(null),c=function(t,r){var a=r[t],c=a.name;g(e,a),o[c]&&e.reportError("Field argument ".concat(n.name,".").concat(i.name,"(").concat(c,":) can only be defined once."),i.args.filter((function(e){return e.name===c})).map((function(e){return e.astNode}))),o[c]=!0,(0,v.isInputType)(a.type)||e.reportError("The type of ".concat(n.name,".").concat(i.name,"(").concat(c,":) must be Input ")+"Type but got: ".concat((0,u.default)(a.type),"."),a.astNode&&a.astNode.type)},s=0,l=i.args;s<l.length;s++)c(s,l)}}function E(e,n){for(var t=Object.create(null),r=0,i=n.getInterfaces();r<i.length;r++){var a=i[r];(0,v.isInterfaceType)(a)?t[a.name]?e.reportError("Type ".concat(n.name," can only implement ").concat(a.name," once."),L(n,a)):(t[a.name]=!0,O(e,n,a)):e.reportError("Type ".concat((0,u.default)(n)," must only implement Interface types, ")+"it cannot implement ".concat((0,u.default)(a),"."),L(n,a))}}function O(e,n,t){for(var i=n.getFields(),a=t.getFields(),c=0,s=(0,o.default)(a);c<s.length;c++){var f=s[c],p=f[0],d=f[1],y=i[p];if(y){(0,l.isTypeSubTypeOf)(e.schema,y.type,d.type)||e.reportError("Interface field ".concat(t.name,".").concat(p," expects type ")+"".concat((0,u.default)(d.type)," but ").concat(n.name,".").concat(p," ")+"is type ".concat((0,u.default)(y.type),"."),[d.astNode&&d.astNode.type,y.astNode&&y.astNode.type]);for(var h=function(i,a){var o=a[i],c=o.name,s=(0,r.default)(y.args,(function(e){return e.name===c}));if(!s)return e.reportError("Interface field argument ".concat(t.name,".").concat(p,"(").concat(c,":) expected but ").concat(n.name,".").concat(p," does not provide it."),[o.astNode,y.astNode]),"continue";(0,l.isEqualType)(o.type,s.type)||e.reportError("Interface field argument ".concat(t.name,".").concat(p,"(").concat(c,":) ")+"expects type ".concat((0,u.default)(o.type)," but ")+"".concat(n.name,".").concat(p,"(").concat(c,":) is type ")+"".concat((0,u.default)(s.type),"."),[o.astNode&&o.astNode.type,s.astNode&&s.astNode.type])},m=0,T=d.args;m<T.length;m++)h(m,T);for(var g=function(i,a){var o=a[i],u=o.name;!(0,r.default)(d.args,(function(e){return e.name===u}))&&(0,v.isRequiredArgument)(o)&&e.reportError("Object field ".concat(n.name,".").concat(p," includes required argument ").concat(u," that is missing from the Interface field ").concat(t.name,".").concat(p,"."),[o.astNode,d.astNode])},b=0,E=y.args;b<E.length;b++)g(b,E)}else e.reportError("Interface field ".concat(t.name,".").concat(p," expected but ").concat(n.name," does not provide it."),[d.astNode].concat(S(n)))}}function _(e,n){var t=n.getTypes();0===t.length&&e.reportError("Union type ".concat(n.name," must define one or more member types."),S(n));for(var r=Object.create(null),i=0;i<t.length;i++){var a=t[i];r[a.name]?e.reportError("Union type ".concat(n.name," can only include type ").concat(a.name," once."),A(n,a.name)):(r[a.name]=!0,(0,v.isObjectType)(a)||e.reportError("Union type ".concat(n.name," can only include Object types, ")+"it cannot include ".concat((0,u.default)(a),"."),A(n,String(a))))}}function N(e,n){var t=n.getValues();0===t.length&&e.reportError("Enum type ".concat(n.name," must define one or more values."),S(n));for(var r=0;r<t.length;r++){var i=t[r],a=i.name;g(e,i),"true"!==a&&"false"!==a&&"null"!==a||e.reportError("Enum type ".concat(n.name," cannot include value: ").concat(a,"."),i.astNode)}}function I(e,n){var t=(0,a.default)(n.getFields());0===t.length&&e.reportError("Input Object type ".concat(n.name," must define one or more fields."),S(n));for(var r=0;r<t.length;r++){var i=t[r];g(e,i),(0,v.isInputType)(i.type)||e.reportError("The type of ".concat(n.name,".").concat(i.name," must be Input Type ")+"but got: ".concat((0,u.default)(i.type),"."),i.astNode&&i.astNode.type)}}function S(e){var n=e.astNode,t=e.extensionASTNodes;return n?t?[n].concat(t):[n]:t||[]}function D(e,n){return(0,i.default)(S(e),(function(e){return n(e)||[]}))}function L(e,n){return D(e,(function(e){return e.interfaces})).filter((function(e){return e.name.value===n.name}))}function A(e,n){return D(e,(function(e){return e.types})).filter((function(e){return e.name.value===n}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Array.prototype.flatMap,i=r?function(e,n){return r.call(e,n)}:function(e,n){for(var t=[],r=0;r<e.length;r++){var i=n(e[r]);Array.isArray(i)?t=t.concat(i):t.push(i)}return t};n.default=i},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isEqualType=function e(n,t){if(n===t)return!0;
39588if((0,r.isNonNullType)(n)&&(0,r.isNonNullType)(t))return e(n.ofType,t.ofType);if((0,r.isListType)(n)&&(0,r.isListType)(t))return e(n.ofType,t.ofType);return!1},n.isTypeSubTypeOf=function e(n,t,i){if(t===i)return!0;if((0,r.isNonNullType)(i))return!!(0,r.isNonNullType)(t)&&e(n,t.ofType,i.ofType);if((0,r.isNonNullType)(t))return e(n,t.ofType,i);if((0,r.isListType)(i))return!!(0,r.isListType)(t)&&e(n,t.ofType,i.ofType);if((0,r.isListType)(t))return!1;if((0,r.isAbstractType)(i)&&(0,r.isObjectType)(t)&&n.isPossibleType(i,t))return!0;return!1},n.doTypesOverlap=function(e,n,t){if(n===t)return!0;if((0,r.isAbstractType)(n))return(0,r.isAbstractType)(t)?e.getPossibleTypes(n).some((function(n){return e.isPossibleType(t,n)})):e.isPossibleType(n,t);if((0,r.isAbstractType)(t))return e.isPossibleType(t,n);return!1};var r=t(11)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.astFromValue=function e(n,t){if((0,p.isNonNullType)(t)){var d=e(n,t.ofType);return d&&d.kind===l.Kind.NULL?null:d}if(null===n)return{kind:l.Kind.NULL};if((0,c.default)(n))return null;if((0,p.isListType)(t)){var y=t.ofType;if((0,r.isCollection)(n)){var h=[];return(0,r.forEach)(n,(function(n){var t=e(n,y);t&&h.push(t)})),{kind:l.Kind.LIST,values:h}}return e(n,y)}if((0,p.isInputObjectType)(t)){if(!(0,s.default)(n))return null;for(var m=[],T=0,g=(0,i.default)(t.getFields());T<g.length;T++){var b=g[T],E=e(n[b.name],b.type);E&&m.push({kind:l.Kind.OBJECT_FIELD,name:{kind:l.Kind.NAME,value:b.name},value:E})}return{kind:l.Kind.OBJECT,fields:m}}if((0,p.isLeafType)(t)){var O=t.serialize(n);if((0,u.default)(O))return null;if("boolean"==typeof O)return{kind:l.Kind.BOOLEAN,value:O};if("number"==typeof O){var _=String(O);return v.test(_)?{kind:l.Kind.INT,value:_}:{kind:l.Kind.FLOAT,value:_}}if("string"==typeof O)return(0,p.isEnumType)(t)?{kind:l.Kind.ENUM,value:O}:t===f.GraphQLID&&v.test(O)?{kind:l.Kind.INT,value:O}:{kind:l.Kind.STRING,value:O};throw new TypeError("Cannot convert value to AST: ".concat((0,a.default)(O)))}(0,o.default)(!1,"Unexpected input type: "+(0,a.default)(t))};var r=t(47),i=d(t(49)),a=d(t(13)),o=d(t(48)),u=d(t(245)),c=d(t(124)),s=d(t(65)),l=t(18),f=t(66),p=t(11);function d(e){return e&&e.__esModule?e:{default:e}}var v=/^-?(?:0|[1-9][0-9]*)$/},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getVariableValues=function(e,n,t,r){var i=r&&r.maxErrors,c=[];try{var v=function(e,n,t,r){for(var i={},c=function(c){var v=n[c],y=v.variable.name.value,m=(0,f.typeFromAST)(e,v.type);if(!(0,l.isInputType)(m)){var T=(0,s.print)(v.type);return r(new u.GraphQLError('Variable "$'.concat(y,'" expected value of type "').concat(T,'" which cannot be used as an input type.'),v.type)),"continue"}if(!h(t,y)){if(v.defaultValue)i[y]=(0,p.valueFromAST)(v.defaultValue,m);else if((0,l.isNonNullType)(m)){var g=(0,a.default)(m);r(new u.GraphQLError('Variable "$'.concat(y,'" of required type "').concat(g,'" was not provided.'),v))}return"continue"}var b=t[y];if(null===b&&(0,l.isNonNullType)(m)){var E=(0,a.default)(m);return r(new u.GraphQLError('Variable "$'.concat(y,'" of non-null type "').concat(E,'" must not be null.'),v)),"continue"}i[y]=(0,d.coerceInputValue)(b,m,(function(e,n,t){var i='Variable "$'.concat(y,'" got invalid value ')+(0,a.default)(n);e.length>0&&(i+=' at "'.concat(y).concat((0,o.default)(e),'"')),r(new u.GraphQLError(i+"; "+t.message,v,void 0,void 0,void 0,t.originalError))}))},v=0;v<n.length;v++)c(v);return i}(e,n,t,(function(e){if(null!=i&&c.length>=i)throw new u.GraphQLError("Too many errors processing variables, error limit reached. Execution aborted.");c.push(e)}));if(0===c.length)return{coerced:v}}catch(e){c.push(e)}return{errors:c}},n.getArgumentValues=y,n.getDirectiveValues=function(e,n,t){var i=n.directives&&(0,r.default)(n.directives,(function(n){return n.name.value===e.name}));if(i)return y(e,i,t)};var r=v(t(126)),i=v(t(94)),a=v(t(13)),o=v(t(192)),u=t(5),c=t(18),s=t(63),l=t(11),f=t(67),p=t(159),d=t(193);function v(e){return e&&e.__esModule?e:{default:e}}function y(e,n,t){for(var r={},o=(0,i.default)(n.arguments||[],(function(e){return e.name.value})),f=0,d=e.args;f<d.length;f++){var v=d[f],y=v.name,m=v.type,T=o[y];if(T){var g=T.value,b=g.kind===c.Kind.NULL;if(g.kind===c.Kind.VARIABLE){var E=g.name.value;if(null==t||!h(t,E)){if(void 0!==v.defaultValue)r[y]=v.defaultValue;else if((0,l.isNonNullType)(m))throw new u.GraphQLError('Argument "'.concat(y,'" of required type "').concat((0,a.default)(m),'" ')+'was provided the variable "$'.concat(E,'" which was not provided a runtime value.'),g);continue}b=null==t[E]}if(b&&(0,l.isNonNullType)(m))throw new u.GraphQLError('Argument "'.concat(y,'" of non-null type "').concat((0,a.default)(m),'" ')+"must not be null.",g);var O=(0,p.valueFromAST)(g,m,t);if(void 0===O)throw new u.GraphQLError('Argument "'.concat(y,'" has invali
39588d value ').concat((0,s.print)(g),"."),g);r[y]=O}else if(void 0!==v.defaultValue)r[y]=v.defaultValue;else if((0,l.isNonNullType)(m))throw new u.GraphQLError('Argument "'.concat(y,'" of required type "').concat((0,a.default)(m),'" ')+"was not provided.",n)}return r}function h(e,n){return Object.prototype.hasOwnProperty.call(e,n)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.valueFromAST=function e(n,t,l){if(!n)return;if((0,s.isNonNullType)(t)){if(n.kind===c.Kind.NULL)return;return e(n,t.ofType,l)}if(n.kind===c.Kind.NULL)return null;if(n.kind===c.Kind.VARIABLE){var p=n.name.value;if(!l||(0,u.default)(l[p]))return;var d=l[p];if(null===d&&(0,s.isNonNullType)(t))return;return d}if((0,s.isListType)(t)){var v=t.ofType;if(n.kind===c.Kind.LIST){for(var y=[],h=0,m=n.values;h<m.length;h++){var T=m[h];if(f(T,l)){if((0,s.isNonNullType)(v))return;y.push(null)}else{var g=e(T,v,l);if((0,u.default)(g))return;y.push(g)}}return y}var b=e(n,v,l);if((0,u.default)(b))return;return[b]}if((0,s.isInputObjectType)(t)){if(n.kind!==c.Kind.OBJECT)return;for(var E=Object.create(null),O=(0,i.default)(n.fields,(function(e){return e.name.value})),_=0,N=(0,r.default)(t.getFields());_<N.length;_++){var I=N[_],S=O[I.name];if(S&&!f(S.value,l)){var D=e(S.value,I.type,l);if((0,u.default)(D))return;E[I.name]=D}else if(void 0!==I.defaultValue)E[I.name]=I.defaultValue;else if((0,s.isNonNullType)(I.type))return}return E}if((0,s.isEnumType)(t)){if(n.kind!==c.Kind.ENUM)return;var L=t.getValue(n.value);if(!L)return;return L.value}if((0,s.isScalarType)(t)){var A;try{A=t.parseLiteral(n,l)}catch(e){return}if((0,u.default)(A))return;return A}(0,o.default)(!1,"Unexpected input type: "+(0,a.default)(t))};var r=l(t(49)),i=l(t(94)),a=l(t(13)),o=l(t(48)),u=l(t(124)),c=t(18),s=t(11);function l(e){return e&&e.__esModule?e:{default:e}}function f(e,n){return e.kind===c.Kind.VARIABLE&&(!n||(0,u.default)(n[e.name.value]))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.validate=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.specifiedRules,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new c.TypeInfo(e),f=arguments.length>4?arguments[4]:void 0;n||(0,i.default)(0,"Must provide document"),(0,u.assertValidSchema)(e);var p=Object.freeze({}),d=[],v=f&&f.maxErrors,y=new l.ValidationContext(e,n,r,(function(e){if(null!=v&&d.length>=v)throw d.push(new a.GraphQLError("Too many validation errors, error limit reached. Validation aborted.")),p;d.push(e)})),h=(0,o.visitInParallel)(t.map((function(e){return e(y)})));try{(0,o.visit)(n,(0,o.visitWithTypeInfo)(r,h))}catch(e){if(e!==p)throw e}return d},n.validateSDL=p,n.assertValidSDL=function(e){var n=p(e);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join("\n\n"))},n.assertValidSDLExtension=function(e,n){var t=p(e,n);if(0!==t.length)throw new Error(t.map((function(e){return e.message})).join("\n\n"))},n.ABORT_VALIDATION=void 0;var r,i=(r=t(59))&&r.__esModule?r:{default:r},a=t(5),o=t(28),u=t(154),c=t(128),s=t(249),l=t(197);var f=Object.freeze({});function p(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.specifiedSDLRules,r=[],i=new l.SDLValidationContext(e,n,(function(e){r.push(e)})),a=t.map((function(e){return e(i)}));return(0,o.visit)(e,(0,o.visitInParallel)(a)),r}n.ABORT_VALIDATION=f},function(e,n,t){var r,i=this&&this.__extends||(r=function(e,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function t(){this.constructor=e}r(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}),a=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var o=t(6),u=t(158),c=Object.prototype.hasOwnProperty,s=function(){function e(){}return e.implementsVisitorMethod=function(n){if(!n.startsWith("visit"))return!1;var t=this.prototype[n];return"function"==typeof t&&(this===e||t!==e.prototype[n])},e.prototype.visitSchema=function(e){},e.prototype.visitScalar=function(e){},e.prototype.visitObject=function(e){},e.prototype.visitFieldDefinition=function(e,n){},e.prototype.visitArgumentDefinition=function(e,n){},e.prototype.visitInterface=function(e){},e.prototype.visitUnion=function(e){},e.prototype.visitEnum=function(e){},e.prototype.visitEnumValue=function(e,n){},e.prototype.visitInputObject=function(e){},e.prototype.visitInputFieldDefinition=function(e,n){},e}();function l(e,n){function t(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];return n(t,e).every((function(n){var i=n[e].apply(n,a([t],r));if(void 0===i)return!0;
39588if("visitSchema"===e||t instanceof o.GraphQLSchema)throw new Error("Method "+e+" cannot replace schema with "+i);return null===i?(t=null,!1):(t=i,!0)})),t}function r(e){v(e.getFields(),(function(n){var r=t("visitFieldDefinition",n,{objectType:e});return r&&r.args&&v(r.args,(function(n){return t("visitArgumentDefinition",n,{field:r,objectType:e})})),r}))}return function e(n){if(n instanceof o.GraphQLSchema)return t("visitSchema",n),v(n.getTypeMap(),(function(n,t){if(!t.startsWith("__"))return e(n)})),n;if(n instanceof o.GraphQLObjectType){var i=t("visitObject",n);return i&&r(i),i}if(n instanceof o.GraphQLInterfaceType){var a=t("visitInterface",n);return a&&r(a),a}if(n instanceof o.GraphQLInputObjectType){var u=t("visitInputObject",n);return u&&v(u.getFields(),(function(e){return t("visitInputFieldDefinition",e,{objectType:u})})),u}if(n instanceof o.GraphQLScalarType)return t("visitScalar",n);if(n instanceof o.GraphQLUnionType)return t("visitUnion",n);if(n instanceof o.GraphQLEnumType){var c=t("visitEnum",n);return c&&v(c.getValues(),(function(e){return t("visitEnumValue",e,{enumType:c})})),c}throw new Error("Unexpected schema type: "+n)}(e),e}function f(e){return function e(r){if(r instanceof o.GraphQLSchema){var i=r.getTypeMap(),a=Object.create(null);d(i,(function(e,n){if(!n.startsWith("__")){var t=e.name;if(!t.startsWith("__")){if(c.call(a,t))throw new Error("Duplicate schema type name "+t);a[t]=e}}})),d(a,(function(e,n){i[n]=e})),d(r.getDirectives(),(function(e){e.args&&d(e.args,(function(e){e.type=t(e.type)}))})),d(i,(function(n,t){t.startsWith("__")||e(n)})),v(i,(function(e,n){if(!n.startsWith("__")&&!c.call(a,n))return null}))}else if(r instanceof o.GraphQLObjectType)n(r),d(r.getInterfaces(),(function(n){return e(n)}));else if(r instanceof o.GraphQLInterfaceType)n(r);else if(r instanceof o.GraphQLInputObjectType)d(r.getFields(),(function(e){e.type=t(e.type)}));else if(r instanceof o.GraphQLScalarType);else if(r instanceof o.GraphQLUnionType)v(r.getTypes(),(function(e){return t(e)}));else if(!(r instanceof o.GraphQLEnumType))throw new Error("Unexpected schema type: "+r)}(e),e;function n(e){d(e.getFields(),(function(e){e.type=t(e.type),e.args&&d(e.args,(function(e){e.type=t(e.type)}))}))}function t(n){if(n instanceof o.GraphQLList)n=new o.GraphQLList(t(n.ofType));else if(n instanceof o.GraphQLNonNull)n=new o.GraphQLNonNull(t(n.ofType));else if(o.isNamedType(n)){var r=n,i=e.getType(r.name);if(i&&r!==i)return i}return n}}n.SchemaVisitor=s,n.visitSchema=l,n.healSchema=f;var p=function(e){function n(n){var t=e.call(this)||this;return t.name=n.name,t.args=n.args,t.visitedType=n.visitedType,t.schema=n.schema,t.context=n.context,t}return i(n,e),n.getDirectiveDeclaration=function(e,n){return n.getDirective(e)},n.visitSchemaDirectives=function(e,n,t){void 0===t&&(t=Object.create(null));var r=this.getDeclaredDirectives(e,n),i=Object.create(null);return Object.keys(n).forEach((function(e){i[e]=[]})),l(e,(function(a,o){var s=[],l=a.astNode&&a.astNode.directives;return l?(l.forEach((function(i){var l=i.name.value;if(c.call(n,l)){var f=n[l];if(f.implementsVisitorMethod(o)){var p,d=r[l];d?p=u.getArgumentValues(d,i):(p=Object.create(null),i.arguments.forEach((function(e){p[e.name.value]=y(e.value)}))),s.push(new f({name:l,args:p,visitedType:a,schema:e,context:t}))}}})),s.length>0&&s.forEach((function(e){i[e.name].push(e)})),s):s})),f(e),i},n.getDeclaredDirectives=function(e,n){var t=Object.create(null);return d(e.getDirectives(),(function(e){t[e.name]=e})),d(n,(function(n,r){var i=n.getDirectiveDeclaration(r,e);i&&(t[r]=i)})),d(t,(function(e,t){if(c.call(n,t)){var r=n[t];d(e.locations,(function(e){var n=function(e){return"visit"+e.replace(/([^_]*)_?/g,(function(e,n){return n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()}))}(e);if(s.implementsVisitorMethod(n)&&!r.implementsVisitorMethod(n))throw new Error("SchemaDirectiveVisitor for @"+t+" must implement "+n+" method")}))}})),t},n}(s);function d(e,n){Object.keys(e).forEach((function(t){n(e[t],t)}))}function v(e,n){var t=0;Object.keys(e).forEach((function(r){var i=n(e[r],r);if(void 0!==i)return null===i?(delete e[r],void t++):void(e[r]=i)})),t>
vendor: 3,879 bytes, line 39588
395880&&Array.isArray(e)&&e.splice(0).forEach((function(n){e.push(n)}))}function y(e){switch(e.kind){case o.Kind.NULL:return null;case o.Kind.INT:return parseInt(e.value,10);case o.Kind.FLOAT:return parseFloat(e.value);case o.Kind.STRING:case o.Kind.ENUM:case o.Kind.BOOLEAN:return e.value;case o.Kind.LIST:return e.values.map(y);case o.Kind.OBJECT:var n=Object.create(null);return e.fields.forEach((function(e){n[e.name.value]=y(e.value)})),n;default:throw new Error("Unexpected value kind: "+e.kind)}}n.SchemaDirectiveVisitor=p},,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Source=void 0;var r=a(t(59)),i=a(t(151));function a(e){return e&&e.__esModule?e:{default:e}}var o=function(e,n,t){this.body=e,this.name=n||"GraphQL request",this.locationOffset=t||{line:1,column:1},this.locationOffset.line>0||(0,r.default)(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||(0,r.default)(0,"column in locationOffset is 1-indexed and must be positive")};n.Source=o,(0,i.default)(o)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getLocation=function(e,n){var t,r=/\r\n|[\n\r]/g,i=1,a=n+1;for(;(t=r.exec(e.body))&&t.index<n;)i+=1,a=n+1-(t.index+t[0].length);return{line:i,column:a}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.createLexer=function(e,n){var t=new l(u.TokenKind.SOF,0,0,0,0,null);return{source:e,options:n,lastToken:t,token:t,line:1,lineStart:0,advance:c,lookahead:s}},n.isPunctuatorToken=function(e){var n=e.kind;return n===u.TokenKind.BANG||n===u.TokenKind.DOLLAR||n===u.TokenKind.AMP||n===u.TokenKind.PAREN_L||n===u.TokenKind.PAREN_R||n===u.TokenKind.SPREAD||n===u.TokenKind.COLON||n===u.TokenKind.EQUALS||n===u.TokenKind.AT||n===u.TokenKind.BRACKET_L||n===u.TokenKind.BRACKET_R||n===u.TokenKind.BRACE_L||n===u.TokenKind.PIPE||n===u.TokenKind.BRACE_R};var r,i=(r=t(152))&&r.__esModule?r:{default:r},a=t(187),o=t(121),u=t(120);function c(){return this.lastToken=this.token,this.token=this.lookahead()}function s(){var e=this.token;if(e.kind!==u.TokenKind.EOF)do{e=e.next||(e.next=p(this,e))}while(e.kind===u.TokenKind.COMMENT);return e}function l(e,n,t,r,i,a,o){this.kind=e,this.start=n,this.end=t,this.line=r,this.column=i,this.value=o,this.prev=a,this.next=null}function f(e){return isNaN(e)?u.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function p(e,n){var t=e.source,r=t.body,i=r.length,c=function(e,n,t){var r=e.length,i=n;for(;i<r;){var a=e.charCodeAt(i);if(9===a||32===a||44===a||65279===a)++i;else if(10===a)++i,++t.line,t.lineStart=i;else{if(13!==a)break;10===e.charCodeAt(i+1)?i+=2:++i,++t.line,t.lineStart=i}}return i}(r,n.end,e),s=e.line,p=1+c-e.lineStart;if(c>=i)return new l(u.TokenKind.EOF,i,i,s,p,n);var y=r.charCodeAt(c);switch(y){case 33:return new l(u.TokenKind.BANG,c,c+1,s,p,n);case 35:return function(e,n,t,r,i){var a,o=e.body,c=n;do{a=o.charCodeAt(++c)}while(!isNaN(a)&&(a>31||9===a));return new l(u.TokenKind.COMMENT,n,c,t,r,i,o.slice(n+1,c))}(t,c,s,p,n);case 36:return new l(u.TokenKind.DOLLAR,c,c+1,s,p,n);case 38:return new l(u.TokenKind.AMP,c,c+1,s,p,n);case 40:return new l(u.TokenKind.PAREN_L,c,c+1,s,p,n);case 41:return new l(u.TokenKind.PAREN_R,c,c+1,s,p,n);case 46:if(46===r.charCodeAt(c+1)&&46===r.charCodeAt(c+2))return new l(u.TokenKind.SPREAD,c,c+3,s,p,n);break;case 58:return new l(u.TokenKind.COLON,c,c+1,s,p,n);case 61:return new l(u.TokenKind.EQUALS,c,c+1,s,p,n);case 64:return new l(u.TokenKind.AT,c,c+1,s,p,n);case 91:return new l(u.TokenKind.BRACKET_L,c,c+1,s,p,n);case 93:return new l(u.TokenKind.BRACKET_R,c,c+1,s,p,n);case 123:return new l(u.TokenKind.BRACE_L,c,c+1,s,p,n);case 124:return new l(u.TokenKind.PIPE,c,c+1,s,p,n);case 125:return new l(u.TokenKind.BRACE_R,c,c+1,s,p,n);
vendor: 2,619 bytes, line 39588
39588case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,n,t,r,i){var a=e.body,o=a.length,c=n+1,s=0;for(;c!==o&&!isNaN(s=a.charCodeAt(c))&&(95===s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122);)++c;return new l(u.TokenKind.NAME,n,c,t,r,i,a.slice(n,c))}(t,c,s,p,n);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,n,t,r,i,o){var c=e.body,s=t,p=n,v=!1;45===s&&(s=c.charCodeAt(++p));if(48===s){if((s=c.charCodeAt(++p))>=48&&s<=57)throw(0,a.syntaxError)(e,p,"Invalid number, unexpected digit after 0: ".concat(f(s),"."))}else p=d(e,p,s),s=c.charCodeAt(p);46===s&&(v=!0,s=c.charCodeAt(++p),p=d(e,p,s),s=c.charCodeAt(p));69!==s&&101!==s||(v=!0,43!==(s=c.charCodeAt(++p))&&45!==s||(s=c.charCodeAt(++p)),p=d(e,p,s),s=c.charCodeAt(p));if(46===s||69===s||101===s)throw(0,a.syntaxError)(e,p,"Invalid number, expected digit but got: ".concat(f(s),"."));return new l(v?u.TokenKind.FLOAT:u.TokenKind.INT,n,p,r,i,o,c.slice(n,p))}(t,c,y,s,p,n);case 34:return 34===r.charCodeAt(c+1)&&34===r.charCodeAt(c+2)?function(e,n,t,r,i,c){var s=e.body,p=n+3,d=p,v=0,y="";for(;p<s.length&&!isNaN(v=s.charCodeAt(p));){if(34===v&&34===s.charCodeAt(p+1)&&34===s.charCodeAt(p+2))return y+=s.slice(d,p),new l(u.TokenKind.BLOCK_STRING,n,p+3,t,r,i,(0,o.dedentBlockStringValue)(y));if(v<32&&9!==v&&10!==v&&13!==v)throw(0,a.syntaxError)(e,p,"Invalid character within String: ".concat(f(v),"."));10===v?(++p,++c.line,c.lineStart=p):13===v?(10===s.charCodeAt(p+1)?p+=2:++p,++c.line,c.lineStart=p):92===v&&34===s.charCodeAt(p+1)&&34===s.charCodeAt(p+2)&&34===s.charCodeAt(p+3)?(y+=s.slice(d,p)+'"""',d=p+=4):++p}throw(0,a.syntaxError)(e,p,"Unterminated string.")}(t,c,s,p,n,e):function(e,n,t,r,i){var o=e.body,c=n+1,s=c,p=0,d="";for(;c<o.length&&!isNaN(p=o.charCodeAt(c))&&10!==p&&13!==p;){if(34===p)return d+=o.slice(s,c),new l(u.TokenKind.STRING,n,c+1,t,r,i,d);if(p<32&&9!==p)throw(0,a.syntaxError)(e,c,"Invalid character within String: ".concat(f(p),"."));if(++c,92===p){switch(d+=o.slice(s,c-1),p=o.charCodeAt(c)){case 34:d+='"';break;case 47:d+="/";break;case 92:d+="\\";break;case 98:d+="\b";break;case 102:d+="\f";break;case 110:d+="\n";break;case 114:d+="\r";break;case 116:d+="\t";break;
39588case 117:var y=(m=o.charCodeAt(c+1),T=o.charCodeAt(c+2),g=o.charCodeAt(c+3),b=o.charCodeAt(c+4),v(m)<<12|v(T)<<8|v(g)<<4|v(b));if(y<0){var h=o.slice(c+1,c+5);throw(0,a.syntaxError)(e,c,"Invalid character escape sequence: \\u".concat(h,"."))}d+=String.fromCharCode(y),c+=4;break;default:throw(0,a.syntaxError)(e,c,"Invalid character escape sequence: \\".concat(String.fromCharCode(p),"."))}++c,s=c}}var m,T,g,b;throw(0,a.syntaxError)(e,c,"Unterminated string.")}(t,c,s,p,n)}throw(0,a.syntaxError)(t,c,function(e){if(e<32&&9!==e&&10!==e&&13!==e)return"Cannot contain the invalid character ".concat(f(e),".");if(39===e)return"Unexpected single quote character ('), did you mean to use a double quote (\")?";return"Cannot parse the unexpected character ".concat(f(e),".")}(y))}function d(e,n,t){var r=e.body,i=n,o=t;if(o>=48&&o<=57){do{o=r.charCodeAt(++i)}while(o>=48&&o<=57);return i}throw(0,a.syntaxError)(e,i,"Invalid number, expected digit but got: ".concat(f(o),"."))}function v(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}(0,i.default)(l,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.syntaxError=function(e,n,t){return new r.GraphQLError("Syntax Error: ".concat(t),void 0,e,[n])};var r=t(5)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.locatedError=function(e,n,t){if(e&&Array.isArray(e.path))return e;return new r.GraphQLError(e&&e.message,e&&e.nodes||n,e&&e.source,e&&e.positions,t,e)};var r=t(5)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){if(null===Object.getPrototypeOf(e))return e;for(var n=Object.create(null),t=0,r=(0,i.default)(e);t<r.length;t++){var a=r[t],o=a[0],u=a[1];n[o]=u}return n};var r,i=(r=t(111))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=function(e,n){return e instanceof n};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getOperationRootType=function(e,n){if("query"===n.operation){var t=e.getQueryType();if(!t)throw new r.GraphQLError("Schema does not define the required query root type.",n);return t}if("mutation"===n.operation){var i=e.getMutationType();if(!i)throw new r.GraphQLError("Schema is not configured for mutations.",n);return i}if("subscription"===n.operation){var a=e.getSubscriptionType();if(!a)throw new r.GraphQLError("Schema is not configured for subscriptions.",n);return a}throw new r.GraphQLError("Can only have query, mutation and subscription operations.",n)};var r=t(5)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return e.map((function(e){return"number"==typeof e?"["+e.toString()+"]":"."+e})).join("")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.coerceInputValue=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:y;return h(e,n,t)};var r=t(47),i=v(t(49)),a=v(t(13)),o=v(t(48)),u=v(t(113)),c=v(t(65)),s=v(t(114)),l=v(t(192)),f=t(125),p=t(5),d=t(11);function v(e){return e&&e.__esModule?e:{default:e}}function y(e,n,t){var r="Invalid value "+(0,a.default)(n);throw e.length>0&&(r+=' at "value'.concat((0,l.default)(e),'": ')),t.message=r+": "+t.message,t}function h(e,n,t,l){if((0,d.isNonNullType)(n))return null!=e?h(e,n.ofType,t,l):void t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected non-nullable type ".concat((0,a.default)(n)," not to be null.")));if(null==e)return null;if((0,d.isListType)(n)){var v=n.ofType;if((0,r.isCollection)(e)){var y=[];return(0,r.forEach)(e,(function(e,n){y.push(h(e,v,t,(0,f.addPath)(l,n)))})),y}return[h(e,v,t,l)]}if((0,d.isInputObjectType)(n)){if(!(0,c.default)(e))return void t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name," to be an object.")));for(var m={},T=n.getFields(),g=0,b=(0,i.default)(T);g<b.length;g++){var E=b[g],O=e[E.name];if(void 0!==O)m[E.name]=h(O,E.type,t,(0,f.addPath)(l,E.name));else if(void 0!==E.defaultValue)m[E.name]=E.defaultValue;else if((0,d.isNonNullType)(E.type)){var _=(0,a.default)(E.type);t((0,f.pathToArray)(l),e,new p.GraphQLError("Field ".concat(E.name," of required type ").concat(_," was not provided.")))}}for(var N=0,I=Object.keys(e);N<I.length;N++){var S=I[N];if(!T[S]){var D=(0,s.default)(S,Object.keys(n.getFields()));t((0,f.pathToArray)(l),e,new p.GraphQLError('Field "'.concat(S,'" is not defined by type ').concat(n.name,".")+(0,u.default)(D)))}}return m}if((0,d.isScalarType)(n)){var L;try{L=n.parseValue(e)}catch(r){return void t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name,". ")+r.message,void 0,void 0,void 0,void 0,r))}return void 0===L&&t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name,"."))),L}if((0,d.isEnumType)(n)){if("string"==typeof e){var A=n.getValue(e);if(A)return A.value}var j=(0,s.default)(String(e),n.getValues().map((function(e){return e.name})));t((0,f.pathToArray)(l),e,new p.GraphQLError("Expected type ".concat(n.name,".")+(0,u.default)(j))
39588)}else(0,o.default)(!1,"Unexpected input type: "+(0,a.default)(n))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.versionInfo=n.version=void 0;n.version="14.7.0";var r=Object.freeze({major:14,minor:7,patch:0,preReleaseTag:null});n.versionInfo=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.graphql=function(e,n,t,r,i,a,o,u){var c=arguments;return new Promise((function(l){return l(1===c.length?s(e):s({schema:e,source:n,rootValue:t,contextValue:r,variableValues:i,operationName:a,fieldResolver:o,typeResolver:u}))}))},n.graphqlSync=function(e,n,t,r,a,o,u,c){var l=s(1===arguments.length?e:{schema:e,source:n,rootValue:t,contextValue:r,variableValues:a,operationName:o,fieldResolver:u,typeResolver:c});if((0,i.default)(l))throw new Error("GraphQL execution failed to complete synchronously.");return l};var r,i=(r=t(153))&&r.__esModule?r:{default:r},a=t(122),o=t(160),u=t(154),c=t(116);function s(e){var n,t=e.schema,r=e.source,i=e.rootValue,s=e.contextValue,l=e.variableValues,f=e.operationName,p=e.fieldResolver,d=e.typeResolver,v=(0,u.validateSchema)(t);if(v.length>0)return{errors:v};try{n=(0,a.parse)(r)}catch(e){return{errors:[e]}}var y=(0,o.validate)(t,n);return y.length>0?{errors:y}:(0,c.execute)({schema:t,document:n,rootValue:i,contextValue:s,variableValues:l,operationName:f,fieldResolver:p,typeResolver:d})}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.badValueMessage=d,n.badEnumValueMessage=v,n.requiredFieldMessage=y,n.unknownFieldMessage=h,n.ValuesOfCorrectType=function(e){return{NullValue:function(n){var t=e.getInputType();(0,f.isNonNullType)(t)&&e.reportError(new s.GraphQLError(d((0,a.default)(t),(0,l.print)(n)),n))},ListValue:function(n){var t=(0,f.getNullableType)(e.getParentInputType());if(!(0,f.isListType)(t))return m(e,n),!1},ObjectValue:function(n){var t=(0,f.getNamedType)(e.getInputType());if(!(0,f.isInputObjectType)(t))return m(e,n),!1;for(var o=(0,i.default)(n.fields,(function(e){return e.name.value})),u=0,c=(0,r.default)(t.getFields());u<c.length;u++){var l=c[u];if(!o[l.name]&&(0,f.isRequiredInputField)(l)){var p=(0,a.default)(l.type);e.reportError(new s.GraphQLError(y(t.name,l.name,p),n))}}},ObjectField:function(n){var t=(0,f.getNamedType)(e.getParentInputType());if(!e.getInputType()&&(0,f.isInputObjectType)(t)){var r=(0,c.default)(n.name.value,Object.keys(t.getFields()));e.reportError(new s.GraphQLError(h(t.name,n.name.value,r),n))}},EnumValue:function(n){var t=(0,f.getNamedType)(e.getInputType());(0,f.isEnumType)(t)?t.getValue(n.value)||e.reportError(new s.GraphQLError(v(t.name,(0,l.print)(n),T(t,n)),n)):m(e,n)},IntValue:function(n){return m(e,n)},FloatValue:function(n){return m(e,n)},StringValue:function(n){return m(e,n)},BooleanValue:function(n){return m(e,n)}}};var r=p(t(49)),i=p(t(94)),a=p(t(13)),o=p(t(124)),u=p(t(113)),c=p(t(114)),s=t(5),l=t(63),f=t(11);function p(e){return e&&e.__esModule?e:{default:e}}function d(e,n,t){return"Expected type ".concat(e,", found ").concat(n)+(t?"; ".concat(t):".")}function v(e,n,t){return"Expected type ".concat(e,", found ").concat(n,".")+(0,u.default)("the enum value",t)}function y(e,n,t){return"Field ".concat(e,".").concat(n," of required type ").concat(t," was not provided.")}function h(e,n,t){return'Field "'.concat(n,'" is not defined by type ').concat(e,".")+(0,u.default)(t)}function m(e,n){var t=e.getInputType();if(t){var r=(0,f.getNamedType)(t);if((0,f.isScalarType)(r))try{var i=r.parseLiteral(n,void 0);(0,o.default)(i)&&e.reportError(new s.GraphQLError(d((0,a.default)(t),(0,l.print)(n)),n))}catch(r){e.reportError(new s.GraphQLError(d((0,a.default)(t),(0,l.print)(n),r.message),n,void 0,void 0,void 0,r))}else{var u=(0,f.isEnumType)(r)?v((0,a.default)(t),(0,l.print)(n),T(r,n)):d((0,a.default)(t),(0,l.print)(n));e.reportError(new s.GraphQLError(u,n))}}}function T(e,n){var t=e.getValues().map((function(e){return e.name}));return(0,c.default)((0,l.print)(n),t)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ValidationContext=n.SDLValidationContext=n.ASTValidationContext=void 0;var r=t(18),i=t(28),a=t(128);function o(e,n){e.prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n}var u=function(){function e(e,n){this._ast=e,this._errors=[],this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}var n=e.prototype;return n.reportError=function(e){this._errors.push(e),this._onError&&this._onError(e)},n.getErrors=function(){return this._errors},n.getDocument=function(){return this._ast},n.getFragment=function(e){var n=this._fragments;return n||(this._fragments=n=this.getDocument().definitions.reduce((function(e,n){return n.kind===r.Kind.FRAGMENT_DEFINITION&&(e[n.name.value]=n),e}),Object.create(null))),n[e]},n.getFragmentSpreads=function(e){var n=this._fragmentSpreads.get(e);if(!n){n=[];for(var t=[e];0!==t.length;)for(var i=0,a=t.pop().selections;i<a.length;i++){var o=a[i];o.kind===r.Kind.FRAGMENT_SPREAD?n.push(o):o.selectionSet&&t.push(o.selectionSet)}this._fragmentSpreads.set(e,n)}return n},n.getRecursivelyReferencedFragments=function(e){var n=this._recursivelyReferencedFragments.get(e);if(!n){n=[];for(var t=Object.create(null),r=[e.selectionSet];0!==r.length;)for(var i=r.pop(),a=0,o=this.getFragmentSpreads(i);a<o.length;a++){var u=o[a].name.value;if(!0!==t[u]){t[u]=!0;var c=this.getFragment(u);c&&(n.push(c),r.push(c.selectionSet))}}this._recursivelyReferencedFragments.set(e,n)}return n},e}();n.ASTValidationContext=u;var c=function(e){function n(n,t,r){var i;return(i=e.call(this,n,r)||this)._schema=t,i}return o(n,e),n.prototype.getSchema=function(){return this._schema},n}(u);n.SDLValidationContext=c;var s=function(e){function n(n,t,r,i){var a;return(a=e.call(this,t,i)||this)._schema=n,a._typeInfo=r,a._variableUsages=new Map,a._recursiveVariableUsages=new Map,a}o(n,e);var t=n.prototype;return t.getSchema=function(){return this._schema},t.getVariableUsages=function(e){var n=this._variableUsages.get(e);if(!n){var t=[],r=new a.TypeInfo(this._schema);(0,i.visit)(e,(0,i.visitWithTypeInfo)(r,{VariableDefinition:function(){return!1},Variable:function(e){t.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),n=t,this._variableUsages.set(e,n)}return n},t.getRecursiveVariableUsages=function(e){var n=this._recursiveVariableUsages.get(e);if(!n){n=this.getVariableUsages(e);for(var t=0,r=this.getRecursivelyReferencedFragments(e);t<r.length;t++){var i=r[t];n=n.concat(this.getVariableUsages(i))}this._recursiveVariableUsages.set(e,n)}return n},t.getType=function(){return this._typeInfo.getType()},t.getParentType=function(){return this._typeInfo.getParentType()},t.getInputType=function(){return this._typeInfo.getInputType()},t.getParentInputType=function(){return this._typeInfo.getParentInputType()},t.getFieldDef=function(){return this._typeInfo.getFieldDef()},t.getDirective=function(){return this._typeInfo.getDirective()},t.getArgument=function(){return this._typeInfo.getArgument()},n}(u);n.ValidationContext=s},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"subscribe",{enumerable:!0,get:function(){return r.subscribe}}),Object.defineProperty(n,"createSourceEventStream",{enumerable:!0,get:function(){return r.createSourceEventStream}});var r=t(334)},function(e,n){var t=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};function r(e,n){return n.reduce((function(e,n){return n.transformSchema?n.transformSchema(e):e}),e)}function i(e,n){return n.reduce((function(e,n){return n.transformRequest?n.transformRequest(e):e}),e)}function a(e,n){return n.reduce((function(e,n){return n.transformResult?n.transformResult(e):e}),e)}Object.defineProperty(n,"__esModule",{value:!0}),n.applySchemaTransforms=r,n.applyRequestTransforms=i,n.applyResultTransforms=a,n.composeTransforms=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var o=t(e).reverse();return{transformSchema:function(n){return r(n,e)},transformRequest:function(e){return i(e,o)},transformResult:function(e){return a(e,o)}}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n){var t=e.__typename;
39588if(!t)throw new Error("Did not fetch typename for object, unable to resolve interface.");var i=n.getType(t);if(!(i instanceof r.GraphQLObjectType))throw new Error("__typename did not match an object type: "+t);return i}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(81),a=t(202),o=t(287);n.default=function(e,n,t,u){if(!e)return null;var c=o.getResponseKeyFromInfo(u),s=a.getErrorsFromParent(e,c);if("OWN"===s.kind)throw i.locatedError(new Error(s.error.message),u.fieldNodes,r.responsePathAsArray(u.path));var l=e[c];return null==l&&(l=e[u.fieldName]),!l&&e.data&&e.data[c]&&(l=e.data[c]),s.errors&&(l=a.annotateWithChildrenErrors(l,s.errors)),l}},function(e,n,t){(function(e){var r,i=this&&this.__extends||(r=function(e,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function t(){this.constructor=e}r(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}),a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var o=t(6),u=t(81),c=t(287);function s(e,t){var r;if(!t||0===t.length)return e;if(Array.isArray(e)){var i={};return t.forEach((function(e){if(e.path){var n=e.path[1],t=i[n]||[];t.push(a(a({},e),{path:e.path.slice(1)})),i[n]=t}})),e.map((function(e,n){return s(e,i[n])}))}return a(a({},e),((r={})[n.ERROR_SYMBOL]=t.map((function(e){return a(a({},e),e.path?{path:e.path.slice(1)}:{})})),r))}void 0!==e&&"Symbol"in e||"undefined"!=typeof window&&"Symbol"in window?n.ERROR_SYMBOL=Symbol("subSchemaErrors"):n.ERROR_SYMBOL="@@__subSchemaErrors",n.annotateWithChildrenErrors=s,n.getErrorsFromParent=function(e,t){for(var r=[],i=0,a=e&&e[n.ERROR_SYMBOL]||[];i<a.length;i++){var o=a[i];if(!o.path||1===o.path.length&&o.path[0]===t)return{kind:"OWN",error:o};o.path[0]===t&&r.push(o)}return{kind:"CHILDREN",errors:r}};var l=function(e){function n(n,t){var r=e.call(this,n)||this;return r.errors=t,r}return i(n,e),n}(Error);n.checkResultAndHandleErrors=function(e,n,t){if(t||(t=c.getResponseKeyFromInfo(n)),e.errors&&(!e.data||null==e.data[t])){var r=1===e.errors.length&&((i=e.errors[0]).result||i.extensions||i.originalError&&i.originalError.result)?e.errors[0]:new l(e.errors.map((function(e){return e.message})).join("\n"),e.errors);throw u.locatedError(r,n.fieldNodes,o.responsePathAsArray(n.path))}var i,a=e.data[t];return e.errors&&(a=s(a,e.errors)),a}}).call(this,t(12))},function(e,n,t){var r=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},i=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},a=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});
39588var o=t(6),u=t(199),c=t(290),s=t(291),l=t(293),f=t(294),p=t(372),d=t(295),v=t(296),y=t(373);function h(e){return r(this,void 0,void 0,(function(){var n,t,r,h,m,T,g,b,E,O,_;return i(this,(function(i){switch(i.label){case 0:if(n=e.info,t=e.args,r=void 0===t?{}:t,h=e.operation||n.operation.operation,m=function(e,n,t,r,i,u){var c=[],s=[];t.forEach((function(e){var n=e.selectionSet?e.selectionSet.selections:[];c=c.concat(n),s=s.concat(e.arguments||[])}));var l=null;c.length>0&&(l={kind:o.Kind.SELECTION_SET,selections:c});var f={kind:o.Kind.FIELD,alias:null,arguments:s,selectionSet:l,name:{kind:o.Kind.NAME,value:e}},p={kind:o.Kind.SELECTION_SET,selections:[f]},d={kind:o.Kind.OPERATION_DEFINITION,operation:n,variableDefinitions:i,selectionSet:p,name:u};return{kind:o.Kind.DOCUMENT,definitions:a([d],r)}}(e.fieldName,h,n.fieldNodes,Object.keys(n.fragments).map((function(e){return n.fragments[e]})),n.operation.variableDefinitions,n.operation.name),T={document:m,variables:n.variableValues},g=a(e.transforms||[],[new d.default(n.schema,e.schema)]),n.mergeInfo&&n.mergeInfo.fragments&&g.push(new v.default(e.schema,n.mergeInfo.fragments)),g=g.concat([new c.default(e.schema,r),new s.default(e.schema),new l.default(e.schema),new f.default(n,e.fieldName)]),o.isEnumType(e.info.returnType)&&(g=g.concat(new y.default(e.info.returnType))),b=u.applyRequestTransforms(T,g),!e.skipValidation&&(E=o.validate(e.schema,b.document)).length>0)throw E;return"query"!==h&&"mutation"!==h?[3,2]:(O=u.applyResultTransforms,[4,o.execute(e.schema,b.document,n.rootValue,e.context,b.variables)]);case 1:return[2,O.apply(void 0,[i.sent(),g])];case 2:return"subscription"!==h?[3,4]:[4,o.subscribe(e.schema,b.document,n.rootValue,e.context,b.variables)];case 3:return _=i.sent(),[2,p.default(_,(function(e){var n,t=u.applyResultTransforms(e,g);return(n={})[Object.keys(e.data)[0]]=t,n}))];case 4:return[2]}}
39588))}))}n.default=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(e instanceof o.GraphQLSchema)throw new Error("Passing positional arguments to delegateToSchema is a deprecated. Please pass named parameters instead.");return h(e)}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(289),a=t(129),o=t(130),u=function(){function e(e){this.transform=e}return e.prototype.transformSchema=function(e){var n,t=this;return a.visitSchema(e,((n={})[a.VisitSchemaKind.QUERY]=function(e){return c(e,(function(e,n){return t.transform("Query",e,n)}))},n[a.VisitSchemaKind.MUTATION]=function(e){return c(e,(function(e,n){return t.transform("Mutation",e,n)}))},n[a.VisitSchemaKind.SUBSCRIPTION]=function(e){return c(e,(function(e,n){return t.transform("Subscription",e,n)}))},n))},e}();function c(e,n){var t=o.createResolveType((function(e,n){return n})),a=e.getFields(),u={};return Object.keys(a).forEach((function(e){var r=a[e],i=n(e,r);void 0===i?u[e]=o.fieldToFieldConfig(r,t,!0):null!==i&&(i.name?u[i.name]=i.field:u[e]=i)})),i.default(u)?null:new r.GraphQLObjectType({name:e.name,description:e.description,astNode:e.astNode,fields:u})}n.default=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.printLocation=function(e){return i(e.source,(0,r.getLocation)(e.source,e.start))},n.printSourceLocation=i;var r=t(185);function i(e,n){var t=e.locationOffset.column-1,r=o(t)+e.body,i=n.line-1,u=e.locationOffset.line-1,c=n.line+u,s=1===n.line?t:0,l=n.column+s,f="".concat(e.name,":").concat(c,":").concat(l,"\n"),p=r.split(/\r\n|[\n\r]/g),d=p[i];if(d.length>120){for(var v=Math.floor(l/80),y=l%80,h=[],m=0;m<d.length;m+=80)h.push(d.slice(m,m+80));return f+a([["".concat(c),h[0]]].concat(h.slice(1,v+1).map((function(e){return["",e]})),[[" ",o(y-1)+"^"],["",h[v+1]]]))}return f+a([["".concat(c-1),p[i-1]],["".concat(c),d],["",o(l-1)+"^"],["".concat(c+1),p[i+1]]])}function a(e){var n=e.filter((function(e){e[0];return void 0!==e[1]})),t=Math.max.apply(Math,n.map((function(e){return e[0].length})));return n.map((function(e){var n,r=e[0],i=e[1];return o(t-(n=r).length)+n+(i?" | "+i:" |")})).join("\n")}function o(e){return Array(e+1).join(" ")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return null==e||e!=e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.assertValidName=function(e){var n=u(e);if(n)throw n;return e},n.isValidNameError=u;var r,i=(r=t(59))&&r.__esModule?r:{default:r},a=t(5);var o=/^[_a-zA-Z][_a-zA-Z0-9]*$/;function u(e,n){return"string"==typeof e||(0,i.default)(0,"Expected string"),e.length>1&&"_"===e[0]&&"_"===e[1]?new a.GraphQLError('Name "'.concat(e,'" must not begin with "__", which is reserved by GraphQL introspection.'),n):o.test(e)?void 0:new a.GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "'.concat(e,'" does not.'),n)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){for(var t=Object.create(null),r=0,a=(0,i.default)(e);r<a.length;r++){var o=a[r],u=o[0],c=o[1];t[u]=n(c,u)}return t};var r,i=(r=t(111))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.valueFromASTUntyped=function e(n,t){switch(n.kind){case u.Kind.NULL:return null;case u.Kind.INT:return parseInt(n.value,10);case u.Kind.FLOAT:return parseFloat(n.value);case u.Kind.STRING:case u.Kind.ENUM:case u.Kind.BOOLEAN:return n.value;case u.Kind.LIST:return n.values.map((function(n){return e(n,t)}));case u.Kind.OBJECT:return(0,a.default)(n.fields,(function(e){return e.name.value}),(function(n){return e(n.value,t)}));case u.Kind.VARIABLE:var c=n.name.value;return t&&!(0,o.default)(t[c])?t[c]:void 0}(0,i.default)(!1,"Unexpected value node: "+(0,r.default)(n))};var r=c(t(13)),i=c(t(48)),a=c(t(112)),o=c(t(124)),u=t(18);
39588function c(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.specifiedSDLRules=n.specifiedRules=void 0;var r=t(250),i=t(251),a=t(252),o=t(253),u=t(254),c=t(255),s=t(256),l=t(257),f=t(258),p=t(259),d=t(260),v=t(261),y=t(262),h=t(263),m=t(264),T=t(265),g=t(266),b=t(267),E=t(268),O=t(269),_=t(270),N=t(196),I=t(271),S=t(272),D=t(273),L=t(274),A=t(275),j=t(276),w=t(277),P=t(278),k=t(279),F=t(280),R=t(281),M=Object.freeze([r.ExecutableDefinitions,i.UniqueOperationNames,a.LoneAnonymousOperation,o.SingleFieldSubscriptions,u.KnownTypeNames,c.FragmentsOnCompositeTypes,s.VariablesAreInputTypes,l.ScalarLeafs,f.FieldsOnCorrectType,p.UniqueFragmentNames,d.KnownFragmentNames,v.NoUnusedFragments,y.PossibleFragmentSpreads,h.NoFragmentCycles,m.UniqueVariableNames,T.NoUndefinedVariables,g.NoUnusedVariables,b.KnownDirectives,E.UniqueDirectivesPerLocation,O.KnownArgumentNames,_.UniqueArgumentNames,N.ValuesOfCorrectType,I.ProvidedRequiredArguments,S.VariablesInAllowedPosition,D.OverlappingFieldsCanBeMerged,L.UniqueInputFieldNames]);n.specifiedRules=M;var x=Object.freeze([A.LoneSchemaDefinition,j.UniqueOperationTypes,w.UniqueTypeNames,P.UniqueEnumValueNames,k.UniqueFieldDefinitionNames,F.UniqueDirectiveNames,u.KnownTypeNames,b.KnownDirectives,E.UniqueDirectivesPerLocation,R.PossibleTypeExtensions,O.KnownArgumentNamesOnDirectives,_.UniqueArgumentNames,L.UniqueInputFieldNames,I.ProvidedRequiredArgumentsOnDirectives]);n.specifiedSDLRules=x},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.nonExecutableDefinitionMessage=o,n.ExecutableDefinitions=function(e){return{Document:function(n){for(var t=0,u=n.definitions;t<u.length;t++){var c=u[t];(0,a.isExecutableDefinitionNode)(c)||e.reportError(new r.GraphQLError(o(c.kind===i.Kind.SCHEMA_DEFINITION||c.kind===i.Kind.SCHEMA_EXTENSION?"schema":c.name.value),c))}return!1}}};var r=t(5),i=t(18),a=t(110);function o(e){return"The ".concat(e," definition is not executable.")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateOperationNameMessage=i,n.UniqueOperationNames=function(e){var n=Object.create(null);return{OperationDefinition:function(t){var a=t.name;return a&&(n[a.value]?e.reportError(new r.GraphQLError(i(a.value),[n[a.value],a])):n[a.value]=a),!1},FragmentDefinition:function(){return!1}}};var r=t(5);function i(e){return'There can be only one operation named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.anonOperationNotAloneMessage=a,n.LoneAnonymousOperation=function(e){var n=0;return{Document:function(e){n=e.definitions.filter((function(e){return e.kind===i.Kind.OPERATION_DEFINITION})).length},OperationDefinition:function(t){!t.name&&n>1&&e.reportError(new r.GraphQLError("This anonymous operation must be the only defined operation.",t))}}};var r=t(5),i=t(18);function a(){return"This anonymous operation must be the only defined operation."}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.singleFieldOnlyMessage=i,n.SingleFieldSubscriptions=function(e){return{OperationDefinition:function(n){"subscription"===n.operation&&1!==n.selectionSet.selections.length&&e.reportError(new r.GraphQLError(i(n.name&&n.name.value),n.selectionSet.selections.slice(1)))}}};var r=t(5);function i(e){return e?'Subscription "'.concat(e,'" must select only one top level field.'):"Anonymous Subscription must select only one top level field."}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownTypeMessage=c,n.KnownTypeNames=function(e){for(var n=e.getSchema(),t=n?n.getTypeMap():Object.create(null),r=Object.create(null),u=0,l=e.getDocument().definitions;u<l.length;u++){var f=l[u];(0,o.isTypeDefinitionNode)(f)&&(r[f.name.value]=!0)}var p=Object.keys(t).concat(Object.keys(r));return{NamedType:function(n,u,l,f,d){var v,y=n.name.value;if(!t[y]&&!r[y]){var h=d[2]||l,m=(v=h,Boolean(v&&!Array.isArray(v)&&((0,o.isTypeSystemDefinitionNode)(v)||(0,o.isTypeSystemExtensionNode)(v))));if(m&&function(e){return-1!==s.indexOf(e)}(y))return;var T=(0,i.default)(y,m?s.concat(p):p);e.reportError(new a.GraphQLError(c(y,T),n))}}}};var r=u(t(113)),i=u(t(114)),a=t(5),o=t(110);
39588function u(e){return e&&e.__esModule?e:{default:e}}function c(e,n){return'Unknown type "'.concat(e,'".')+(0,r.default)(n.map((function(e){return'"'.concat(e,'"')})))}var s=t(66).specifiedScalarTypes.map((function(e){return e.name}))},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.inlineFragmentOnNonCompositeErrorMessage=u,n.fragmentOnNonCompositeErrorMessage=c,n.FragmentsOnCompositeTypes=function(e){return{InlineFragment:function(n){var t=n.typeCondition;if(t){var c=(0,o.typeFromAST)(e.getSchema(),t);c&&!(0,a.isCompositeType)(c)&&e.reportError(new r.GraphQLError(u((0,i.print)(t)),t))}},FragmentDefinition:function(n){var t=(0,o.typeFromAST)(e.getSchema(),n.typeCondition);t&&!(0,a.isCompositeType)(t)&&e.reportError(new r.GraphQLError(c(n.name.value,(0,i.print)(n.typeCondition)),n.typeCondition))}}};var r=t(5),i=t(63),a=t(11),o=t(67);function u(e){return'Fragment cannot condition on non composite type "'.concat(e,'".')}function c(e,n){return'Fragment "'.concat(e,'" cannot condition on non composite type "').concat(n,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.nonInputTypeOnVarMessage=u,n.VariablesAreInputTypes=function(e){return{VariableDefinition:function(n){var t=(0,o.typeFromAST)(e.getSchema(),n.type);if(t&&!(0,a.isInputType)(t)){var c=n.variable.name.value;e.reportError(new r.GraphQLError(u(c,(0,i.print)(n.type)),n.type))}}}};var r=t(5),i=t(63),a=t(11),o=t(67);function u(e,n){return'Variable "$'.concat(e,'" cannot be non-input type "').concat(n,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.noSubselectionAllowedMessage=u,n.requiredSubselectionMessage=c,n.ScalarLeafs=function(e){return{Field:function(n){var t=e.getType(),r=n.selectionSet;t&&((0,o.isLeafType)((0,o.getNamedType)(t))?r&&e.reportError(new a.GraphQLError(u(n.name.value,(0,i.default)(t)),r)):r||e.reportError(new a.GraphQLError(c(n.name.value,(0,i.default)(t)),n)))}}};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(5),o=t(11);function u(e,n){return'Field "'.concat(e,'" must not have a selection since type "').concat(n,'" has no subfields.')}function c(e,n){return'Field "'.concat(e,'" of type "').concat(n,'" must have a selection of subfields. Did you mean "').concat(e,' { ... }"?')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.undefinedFieldMessage=c,n.FieldsOnCorrectType=function(e){return{Field:function(n){var t=e.getParentType();if(t&&!e.getFieldDef()){var r=e.getSchema(),u=n.name.value,s=function(e,n,t){if((0,o.isAbstractType)(n)){for(var r=[],i=Object.create(null),a=0,u=e.getPossibleTypes(n);a<u.length;a++){var c=u[a];if(c.getFields()[t]){r.push(c.name);for(var s=0,l=c.getInterfaces();s<l.length;s++){var f=l[s];f.getFields()[t]&&(i[f.name]=(i[f.name]||0)+1)}}}return Object.keys(i).sort((function(e,n){return i[n]-i[e]})).concat(r)}return[]}(r,t,u),l=0!==s.length?[]:function(e,n,t){if((0,o.isObjectType)(n)||(0,o.isInterfaceType)(n)){var r=Object.keys(n.getFields());return(0,i.default)(t,r)}return[]}(0,t,u);e.reportError(new a.GraphQLError(c(u,t.name,s,l),n))}}}};var r=u(t(113)),i=u(t(114)),a=t(5),o=t(11);function u(e){return e&&e.__esModule?e:{default:e}}function c(e,n,t,i){var a=t.map((function(e){return'"'.concat(e,'"')})),o=i.map((function(e){return'"'.concat(e,'"')}));return'Cannot query field "'.concat(e,'" on type "').concat(n,'".')+((0,r.default)("to use an inline fragment on",a)||(0,r.default)(o))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateFragmentNameMessage=i,n.UniqueFragmentNames=function(e){var n=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(t){var a=t.name.value;return n[a]?e.reportError(new r.GraphQLError(i(a),[n[a],t.name])):n[a]=t.name,!1}}};var r=t(5);function i(e){return'There can be only one fragment named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownFragmentMessage=i,n.KnownFragmentNames=function(e){return{FragmentSpread:function(n){var t=n.name.value;e.getFragment(t)||e.reportError(new r.GraphQLError(i(t),n.name))}}};var r=t(5);function i(e){return'Unknown fragment "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unusedFragMessage=i,n.NoUnusedFragments=function(e){var n=[],t=[];return{OperationDefinition:function(e){return n.push(e),!1},FragmentDefinition:function(e){return t.push(e),!1},Document:{leave:function(){for(var a=Object.create(null),o=0;o<n.length;o++)for(var u=n[o],c=0,s=e.getRecursivelyReferencedFragments(u);c<s.length;c++){a[s[c].name.value]=!0}for(var l=0;l<t.length;l++){var f=t[l],p=f.name.value;!0!==a[p]&&e.reportError(new r.GraphQLError(i(p),f))}}}}};var r=t(5);function i(e){return'Fragment "'.concat(e,'" is never used.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.typeIncompatibleSpreadMessage=s,n.typeIncompatibleAnonSpreadMessage=l,n.PossibleFragmentSpreads=function(e){return{InlineFragment:function(n){var t=e.getType(),r=e.getParentType();(0,o.isCompositeType)(t)&&(0,o.isCompositeType)(r)&&!(0,c.doTypesOverlap
39588)(e.getSchema(),t,r)&&e.reportError(new a.GraphQLError(l((0,i.default)(r),(0,i.default)(t)),n))},FragmentSpread:function(n){var t=n.name.value,r=function(e,n){var t=e.getFragment(n);if(t){var r=(0,u.typeFromAST)(e.getSchema(),t.typeCondition);if((0,o.isCompositeType)(r))return r}}(e,t),l=e.getParentType();r&&l&&!(0,c.doTypesOverlap)(e.getSchema(),r,l)&&e.reportError(new a.GraphQLError(s(t,(0,i.default)(l),(0,i.default)(r)),n))}}};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(5),o=t(11),u=t(67),c=t(156);function s(e,n,t){return'Fragment "'.concat(e,'" cannot be spread here as objects of type "').concat(n,'" can never be of type "').concat(t,'".')}function l(e,n){return'Fragment cannot be spread here as objects of type "'.concat(e,'" can never be of type "').concat(n,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.cycleErrorMessage=i,n.NoFragmentCycles=function(e){var n=Object.create(null),t=[],a=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(o){return function o(u){if(n[u.name.value])return;var c=u.name.value;n[c]=!0;var s=e.getFragmentSpreads(u.selectionSet);if(0===s.length)return;a[c]=t.length;for(var l=0;l<s.length;l++){var f=s[l],p=f.name.value,d=a[p];if(t.push(f),void 0===d){var v=e.getFragment(p);v&&o(v)}else{var y=t.slice(d),h=y.slice(0,-1).map((function(e){return e.name.value}));e.reportError(new r.GraphQLError(i(p,h),y))}t.pop()}a[c]=void 0}(o),!1}}};var r=t(5);function i(e,n){var t=n.length?" via "+n.join(", "):"";return'Cannot spread fragment "'.concat(e,'" within itself').concat(t,".")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateVariableMessage=i,n.UniqueVariableNames=function(e){var n=Object.create(null);return{OperationDefinition:function(){n=Object.create(null)},VariableDefinition:function(t){var a=t.variable.name.value;n[a]?e.reportError(new r.GraphQLError(i(a),[n[a],t.variable.name])):n[a]=t.variable.name}}};var r=t(5);function i(e){return'There can be only one variable named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.undefinedVarMessage=i,n.NoUndefinedVariables=function(e){var n=Object.create(null);return{OperationDefinition:{enter:function(){n=Object.create(null)},leave:function(t){for(var a=e.getRecursiveVariableUsages(t),o=0;o<a.length;o++){var u=a[o].node,c=u.name.value;!0!==n[c]&&e.reportError(new r.GraphQLError(i(c,t.name&&t.name.value),[u,t]))}}},VariableDefinition:function(e){n[e.variable.name.value]=!0}}};var r=t(5);function i(e,n){return n?'Variable "$'.concat(e,'" is not defined by operation "').concat(n,'".'):'Variable "$'.concat(e,'" is not defined.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unusedVariableMessage=i,n.NoUnusedVariables=function(e){var n=[];return{OperationDefinition:{enter:function(){n=[]},leave:function(t){for(var a=Object.create(null),o=e.getRecursiveVariableUsages(t),u=t.name?t.name.value:null,c=0;c<o.length;c++){a[o[c].node.name.value]=!0}for(var s=0,l=n;s<l.length;s++){var f=l[s],p=f.variable.name.value;!0!==a[p]&&e.reportError(new r.GraphQLError(i(p,u),f))}}},VariableDefinition:function(e){n.push(e)}}};var r=t(5);function i(e,n){return n?'Variable "$'.concat(e,'" is never used in operation "').concat(n,'".'):'Variable "$'.concat(e,'" is never used.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownDirectiveMessage=u,n.misplacedDirectiveMessage=c,n.KnownDirectives=function(e){for(var n=Object.create(null),t=e.getSchema(),s=t?t.getDirectives():o.specifiedDirectives,l=0;l<s.length;l++){var f=s[l];n[f.name]=f.locations}for(var p=e.getDocument().definitions,d=0;d<p.length;d++){var v=p[d];v.kind===i.Kind.DIRECTIVE_DEFINITION&&(n[v.name.value]=v.locations.map((function(e){return e.value})))}return{Directive:function(t,o,s,l,f){var p=t.name.value,d=n[p];if(d){var v=function(e){var n=e[e.length-1];if(!Array.isArray(n))switch(n.kind){case i.Kind.OPERATION_DEFINITION:switch(n.operation){case"query":return a.DirectiveLocation.QUERY;case"mutation":return a.DirectiveLocation.MUTATION;case"subscription":return a.DirectiveLocation.SUBSCRIPTION}break;case i.Kind.FIELD:return a.DirectiveLocation.FIELD;case i.Kind.FRAGMENT_SPREAD:return a.DirectiveLocation.FRAGMENT_SPREAD;case i.Kind.INLINE_FRAGMENT:return a.DirectiveLocation.INLINE_FRAGMENT;case i.Kind.FRAGMENT_DEFINITION:return a.DirectiveLocation.FRAGMENT_DEFINITION;case i.Kind.VARIABLE_DEFINITION:return a.DirectiveLocation.VARIABLE_DEFINITION;case i.Kind.SCHEMA_DEFINITION:case i.Kind.SCHEMA_EXTENSION:return a.DirectiveLocation.SCHEMA;case i.Kind.SCALAR_TYPE_DEFINITION:case i.Kind.SCALAR_TYPE_EXTENSION:return a.DirectiveLocation.SCALAR;case i.Kind.OBJECT_TYPE_DEFINITION:case i.Kind.OBJECT_TYPE_EXTENSION:return a.DirectiveLocation.OBJECT;case i.Kind.FIELD_DEFINITION:return a.DirectiveLocation.FIELD_DEFINITION;case i.Kind.INTERFACE_TYPE_DEFINITION:case i.Kind.INTERFACE_TYPE_EXTENSION:return a.DirectiveLocation.INT
39588ERFACE;case i.Kind.UNION_TYPE_DEFINITION:case i.Kind.UNION_TYPE_EXTENSION:return a.DirectiveLocation.UNION;case i.Kind.ENUM_TYPE_DEFINITION:case i.Kind.ENUM_TYPE_EXTENSION:return a.DirectiveLocation.ENUM;case i.Kind.ENUM_VALUE_DEFINITION:return a.DirectiveLocation.ENUM_VALUE;case i.Kind.INPUT_OBJECT_TYPE_DEFINITION:case i.Kind.INPUT_OBJECT_TYPE_EXTENSION:return a.DirectiveLocation.INPUT_OBJECT;case i.Kind.INPUT_VALUE_DEFINITION:return e[e.length-3].kind===i.Kind.INPUT_OBJECT_TYPE_DEFINITION?a.DirectiveLocation.INPUT_FIELD_DEFINITION:a.DirectiveLocation.ARGUMENT_DEFINITION}}(f);v&&-1===d.indexOf(v)&&e.reportError(new r.GraphQLError(c(p,v),t))}else e.reportError(new r.GraphQLError(u(p),t))}}};var r=t(5),i=t(18),a=t(123),o=t(50);function u(e){return'Unknown directive "'.concat(e,'".')}function c(e,n){return'Directive "'.concat(e,'" may not be used on ').concat(n,".")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateDirectiveMessage=o,n.UniqueDirectivesPerLocation=function(e){for(var n=Object.create(null),t=e.getSchema(),u=t?t.getDirectives():a.specifiedDirectives,c=0;c<u.length;c++){var s=u[c];n[s.name]=!s.isRepeatable}for(var l=e.getDocument().definitions,f=0;f<l.length;f++){var p=l[f];p.kind===i.Kind.DIRECTIVE_DEFINITION&&(n[p.name.value]=!p.repeatable)}return{enter:function(t){var i=t.directives;if(i)for(var a=Object.create(null),u=0;u<i.length;u++){var c=i[u],s=c.name.value;n[s]&&(a[s]?e.reportError(new r.GraphQLError(o(s),[a[s],c])):a[s]=c)}}}};var r=t(5),i=t(18),a=t(50);function o(e){return'The directive "'.concat(e,'" can only be used once at this location.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unknownArgMessage=f,n.unknownDirectiveArgMessage=p,n.KnownArgumentNames=function(e){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(t,!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},d(e),{Argument:function(n){var t=e.getArgument(),r=e.getFieldDef(),o=e.getParentType();if(!t&&r&&o){var u=n.name.value,c=r.args.map((function(e){return e.name}));e.reportError(new a.GraphQLError(f(u,r.name,o.name,(0,i.default)(u,c)),n))}}})},n.KnownArgumentNamesOnDirectives=d;var r=c(t(113)),i=c(t(114)),a=t(5),o=t(18),u=t(50);function c(e){return e&&e.__esModule?e:{default:e}}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function f(e,n,t,i){return'Unknown argument "'.concat(e,'" on field "').concat(n,'" of type "').concat(t,'".')+(0,r.default)(i.map((function(e){return'"'.concat(e,'"')})))}function p(e,n,t){return'Unknown argument "'.concat(e,'" on directive "@').concat(n,'".')+(0,r.default)(t.map((function(e){return'"'.concat(e,'"')})))}function d(e){for(var n=Object.create(null),t=e.getSchema(),r=t?t.getDirectives():u.specifiedDirectives,c=0;c<r.length;c++){var s=r[c];n[s.name]=s.args.map((function(e){return e.name}))}for(var l=e.getDocument().definitions,f=0;f<l.length;f++){var d=l[f];d.kind===o.Kind.DIRECTIVE_DEFINITION&&(n[d.name.value]=d.arguments?d.arguments.map((function(e){return e.name.value})):[])}return{Directive:function(t){var r=t.name.value,o=n[r];if(t.arguments&&o)for(var u=0,c=t.arguments;u<c.length;u++){var s=c[u],l=s.name.value;if(-1===o.indexOf(l)){var f=(0,i.default)(l,o);e.reportError(new a.GraphQLError(p(l,r,f),s))}}return!1}}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateArgMessage=i,n.UniqueArgumentNames=function(e){var n=Object.create(null);return{Field:function(){n=Object.create(null)},Directive:function(){n=Object.create(null)},Argument:function(t){var a=t.name.value;return n[a]?e.reportError(new r.GraphQLError(i(a),[n[a],t.name])):n[a]=t.name,!1}}};var r=t(5);function i(e){return'There can be only one argument named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.missingFieldArgMessage=d,n.missingDirectiveArgMessage=v,n.ProvidedRequiredArguments=function(e){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};
39588n%2?f(t,!0).forEach((function(n){p(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):f(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},y(e),{Field:{leave:function(n){var t=e.getFieldDef();if(!t)return!1;for(var o=n.arguments||[],u=(0,i.default)(o,(function(e){return e.name.value})),c=0,l=t.args;c<l.length;c++){var f=l[c];!u[f.name]&&(0,s.isRequiredArgument)(f)&&e.reportError(new a.GraphQLError(d(t.name,f.name,(0,r.default)(f.type)),n))}}}})},n.ProvidedRequiredArgumentsOnDirectives=y;var r=l(t(13)),i=l(t(94)),a=t(5),o=t(18),u=t(63),c=t(50),s=t(11);function l(e){return e&&e.__esModule?e:{default:e}}function f(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e,n,t){return'Field "'.concat(e,'" argument "').concat(n,'" of type "').concat(t,'" is required, but it was not provided.')}function v(e,n,t){return'Directive "@'.concat(e,'" argument "').concat(n,'" of type "').concat(t,'" is required, but it was not provided.')}function y(e){for(var n=Object.create(null),t=e.getSchema(),l=t?t.getDirectives():c.specifiedDirectives,f=0;f<l.length;f++){var p=l[f];n[p.name]=(0,i.default)(p.args.filter(s.isRequiredArgument),(function(e){return e.name}))}for(var d=e.getDocument().definitions,y=0;y<d.length;y++){var m=d[y];m.kind===o.Kind.DIRECTIVE_DEFINITION&&(n[m.name.value]=(0,i.default)(m.arguments?m.arguments.filter(h):[],(function(e){return e.name.value})))}return{Directive:{leave:function(t){var o=t.name.value,c=n[o];if(c)for(var l=t.arguments||[],f=(0,i.default)(l,(function(e){return e.name.value})),p=0,d=Object.keys(c);p<d.length;p++){var y=d[p];if(!f[y]){var h=c[y].type;e.reportError(new a.GraphQLError(v(o,y,(0,s.isType)(h)?(0,r.default)(h):(0,u.print)(h)),t))}}}}}}function h(e){return e.type.kind===o.Kind.NON_NULL_TYPE&&null==e.defaultValue}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.badVarPosMessage=l,n.VariablesInAllowedPosition=function(e){var n=Object.create(null);return{OperationDefinition:{enter:function(){n=Object.create(null)},leave:function(t){for(var r=e.getRecursiveVariableUsages(t),o=0;o<r.length;o++){var u=r[o],s=u.node,p=u.type,d=u.defaultValue,v=s.name.value,y=n[v];if(y&&p){var h=e.getSchema(),m=(0,c.typeFromAST)(h,y.type);m&&!f(h,m,y.defaultValue,p,d)&&e.reportError(new a.GraphQLError(l(v,(0,i.default)(m),(0,i.default)(p)),[y,s]))}}}},VariableDefinition:function(e){n[e.variable.name.value]=e}}};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(5),o=t(18),u=t(11),c=t(67),s=t(156);function l(e,n,t){return'Variable "$'.concat(e,'" of type "').concat(n,'" used in position expecting type "').concat(t,'".')}function f(e,n,t,r,i){if((0,u.isNonNullType)(r)&&!(0,u.isNonNullType)(n)){if(!(null!=t&&t.kind!==o.Kind.NULL)&&!(void 0!==i))return!1;var a=r.ofType;return(0,s.isTypeSubTypeOf)(e,n,a)}return(0,s.isTypeSubTypeOf)(e,n,r)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.fieldsConflictMessage=p,n.OverlappingFieldsCanBeMerged=function(e){var n=new g,t=new Map;return{SelectionSet:function(r){for(var a=function(e,n,t,r,a){var o=[],u=m(e,n,r,a),c=u[0],s=u[1];if(function(e,n,t,r,a){for(var o=0,u=(0,i.default)(a);o<u.length;o++){var c=u[o],s=c[0],l=c[1];if(l.length>1)for(var f=0;f<l.length;f++)for(var p=f+1;p<l.length;p++){var d=h(e,t,r,!1,s,l[f],l[p]);d&&n.push(d)}}}(e,o,n,t,c),0!==s.length)for(var l=Object.create(null),f=0;f<s.length;f++){d(e,o,n,l,t,!1,c,s[f]);for(var p=f+1;p<s.length;p++)v(e,o,n,t,!1,s[f],s[p])}return o}(e,t,n,e.getParentType(),r),u=0;u<a.length;u++){var c=a[u],s=c[0],l=s[0],f=s[1],y=c[1],T=c[2];e.reportError(new o.GraphQLError(p(l,f),y.concat(T)))}}}};var r=f(t(126)),i=f(t(111)),a=f(t(13)),o=t(5),u=t(18),c=t(63),s=t(11),l=t(67);
39588function f(e){return e&&e.__esModule?e:{default:e}}function p(e,n){return'Fields "'.concat(e,'" conflict because ').concat(function e(n){if(Array.isArray(n))return n.map((function(n){var t=n[0],r=n[1];return'subfields "'.concat(t,'" conflict because ').concat(e(r))})).join(" and ");return n}(n),". ")+"Use different aliases on the fields to fetch both if this was intentional."}function d(e,n,t,r,i,a,o,u){if(!r[u]){r[u]=!0;var c=e.getFragment(u);if(c){var s=T(e,t,c),l=s[0],f=s[1];if(o!==l){y(e,n,t,i,a,o,l);for(var p=0;p<f.length;p++)d(e,n,t,r,i,a,o,f[p])}}}}function v(e,n,t,r,i,a,o){if(a!==o&&!r.has(a,o,i)){r.add(a,o,i);var u=e.getFragment(a),c=e.getFragment(o);if(u&&c){var s=T(e,t,u),l=s[0],f=s[1],p=T(e,t,c),d=p[0],h=p[1];y(e,n,t,r,i,l,d);for(var m=0;m<h.length;m++)v(e,n,t,r,i,a,h[m]);for(var g=0;g<f.length;g++)v(e,n,t,r,i,f[g],o)}}}function y(e,n,t,r,i,a,o){for(var u=0,c=Object.keys(a);u<c.length;u++){var s=c[u],l=o[s];if(l)for(var f=a[s],p=0;p<f.length;p++)for(var d=0;d<l.length;d++){var v=h(e,t,r,i,s,f[p],l[d]);v&&n.push(v)}}}function h(e,n,t,i,o,u,l){var f=u[0],p=u[1],h=u[2],T=l[0],g=l[1],b=l[2],E=i||f!==T&&(0,s.isObjectType)(f)&&(0,s.isObjectType)(T),O=h&&h.type,_=b&&b.type;if(!E){var N=p.name.value,I=g.name.value;if(N!==I)return[[o,"".concat(N," and ").concat(I," are different fields")],[p],[g]];if(!function(e,n){if(e.length!==n.length)return!1;return e.every((function(e){var t,i,a=(0,r.default)(n,(function(n){return n.name.value===e.name.value}));return!!a&&(t=e.value,i=a.value,!t&&!i||(0,c.print)(t)===(0,c.print)(i))}))}(p.arguments||[],g.arguments||[]))return[[o,"they have differing arguments"],[p],[g]]}if(O&&_&&function e(n,t){if((0,s.isListType)(n))return!(0,s.isListType)(t)||e(n.ofType,t.ofType);if((0,s.isListType)(t))return!0;if((0,s.isNonNullType)(n))return!(0,s.isNonNullType)(t)||e(n.ofType,t.ofType);if((0,s.isNonNullType)(t))return!0;if((0,s.isLeafType)(n)||(0,s.isLeafType)(t))return n!==t;return!1}(O,_))return[[o,"they return conflicting types ".concat((0,a.default)(O)," and ").concat((0,a.default)(_))],[p],[g]];var S=p.selectionSet,D=g.selectionSet;return S&&D?function(e,n,t,r){if(e.length>0)return[[n,e.map((function(e){return e[0]}))],e.reduce((function(e,n){var t=n[1];return e.concat(t)}),[t]),e.reduce((function(e,n){var t=n[2];return e.concat(t)}),[r])]}(function(e,n,t,r,i,a,o,u){var c=[],s=m(e,n,i,a),l=s[0],f=s[1],p=m(e,n,o,u),h=p[0],T=p[1];if(y(e,c,n,t,r,l,h),0!==T.length)for(var g=Object.create(null),b=0;b<T.length;b++)d(e,c,n,g,t,r,l,T[b]);if(0!==f.length)for(var E=Object.create(null),O=0;O<f.length;O++)d(e,c,n,E,t,r,h,f[O]);for(var _=0;_<f.length;_++)for(var N=0;N<T.length;N++)v(e,c,n,t,r,f[_],T[N]);return c}(e,n,t,E,(0,s.getNamedType)(O),S,(0,s.getNamedType)(_),D),o,p,g):void 0}function m(e,n,t,r){var i=n.get(r);if(!i){var a=Object.create(null),o=Object.create(null);!function e(n,t,r,i,a){for(var o=0,c=r.selections;o<c.length;o++){var f=c[o];switch(f.kind){case u.Kind.FIELD:var p=f.name.value,d=void 0;((0,s.isObjectType)(t)||(0,s.isInterfaceType)(t))&&(d=t.getFields()[p]);var v=f.alias?f.alias.value:p;i[v]||(i[v]=[]),i[v].push([t,f,d]);break;case u.Kind.FRAGMENT_SPREAD:a[f.name.value]=!0;break;case u.Kind.INLINE_FRAGMENT:var y=f.typeCondition,h=y?(0,l.typeFromAST)(n.getSchema(),y):t;e(n,h,f.selectionSet,i,a)}}}(e,t,r,a,o),i=[a,Object.keys(o)],n.set(r,i)}return i}function T(e,n,t){var r=n.get(t.selectionSet);if(r)return r;var i=(0,l.typeFromAST)(e.getSchema(),t.typeCondition);return m(e,n,i,t.selectionSet)}var g=function(){function e(){this._data=Object.create(null)}var n=e.prototype;return n.has=function(e,n,t){var r=this._data[e],i=r&&r[n];return void 0!==i&&(!1!==t||!1===i)},n.add=function(e,n,t){b(this._data,e,n,t),b(this._data,n,e,t)},e}();function b(e,n,t,r){var i=e[n];i||(i=Object.create(null),e[n]=i),i[t]=r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateInputFieldMessage=i,n.UniqueInputFieldNames=function(e){var n=[],t=Object.create(null);return{ObjectValue:{enter:function(){n.push(t),t=Object.create(null)},leave:function(){t=n.pop()}},ObjectField:function(n){var a=n.name.value;t[a]?e.reportError(new r.GraphQLError(i(a),[t[a],n.name])):t[a]=n.name}}};var r=t(5);function i(e){return'There can be only one input field named "'.concat(e,'".')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.schemaDefinitionNotAloneMessage=i,n.canNotDefineSchemaWithinExtensionMessage=a,n.LoneSc
39588hemaDefinition=function(e){var n=e.getSchema(),t=n&&(n.astNode||n.getQueryType()||n.getMutationType()||n.getSubscriptionType()),i=0;return{SchemaDefinition:function(n){t?e.reportError(new r.GraphQLError("Cannot define a new schema within a schema extension.",n)):(i>0&&e.reportError(new r.GraphQLError("Must provide only one schema definition.",n)),++i)}}};var r=t(5);function i(){return"Must provide only one schema definition."}function a(){return"Cannot define a new schema within a schema extension."}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateOperationTypeMessage=i,n.existedOperationTypeMessage=a,n.UniqueOperationTypes=function(e){var n=e.getSchema(),t=Object.create(null),o=n?{query:n.getQueryType(),mutation:n.getMutationType(),subscription:n.getSubscriptionType()}:{};return{SchemaDefinition:u,SchemaExtension:u};function u(n){if(n.operationTypes)for(var u=0,c=n.operationTypes||[];u<c.length;u++){var s=c[u],l=s.operation,f=t[l];o[l]?e.reportError(new r.GraphQLError(a(l),s)):f?e.reportError(new r.GraphQLError(i(l),[f,s])):t[l]=s}return!1}};var r=t(5);function i(e){return"There can be only one ".concat(e," type in schema.")}function a(e){return"Type for ".concat(e," already defined in the schema. It cannot be redefined.")}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateTypeNameMessage=i,n.existedTypeNameMessage=a,n.UniqueTypeNames=function(e){var n=Object.create(null),t=e.getSchema();return{ScalarTypeDefinition:o,ObjectTypeDefinition:o,InterfaceTypeDefinition:o,UnionTypeDefinition:o,EnumTypeDefinition:o,InputObjectTypeDefinition:o};function o(o){var u=o.name.value;if(!t||!t.getType(u))return n[u]?e.reportError(new r.GraphQLError(i(u),[n[u],o.name])):n[u]=o.name,!1;e.reportError(new r.GraphQLError(a(u),o.name))}};var r=t(5);function i(e){return'There can be only one type named "'.concat(e,'".')}function a(e){return'Type "'.concat(e,'" already exists in the schema. It cannot also be defined in this type definition.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateEnumValueNameMessage=a,n.existedEnumValueNameMessage=o,n.UniqueEnumValueNames=function(e){var n=e.getSchema(),t=n?n.getTypeMap():Object.create(null),u=Object.create(null);return{EnumTypeDefinition:c,EnumTypeExtension:c};function c(n){var c=n.name.value;if(u[c]||(u[c]=Object.create(null)),n.values)for(var s=u[c],l=0,f=n.values;l<f.length;l++){var p=f[l],d=p.name.value,v=t[c];(0,i.isEnumType)(v)&&v.getValue(d)?e.reportError(new r.GraphQLError(o(c,d),p.name)):s[d]?e.reportError(new r.GraphQLError(a(c,d),[s[d],p.name])):s[d]=p.name}return!1}};var r=t(5),i=t(11);function a(e,n){return'Enum value "'.concat(e,".").concat(n,'" can only be defined once.')}function o(e,n){return'Enum value "'.concat(e,".").concat(n,'" already exists in the schema. It cannot also be defined in this type extension.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateFieldDefinitionNameMessage=a,n.existedFieldDefinitionNameMessage=o,n.UniqueFieldDefinitionNames=function(e){var n=e.getSchema(),t=n?n.getTypeMap():Object.create(null),i=Object.create(null);return{InputObjectTypeDefinition:c,InputObjectTypeExtension:c,InterfaceTypeDefinition:c,InterfaceTypeExtension:c,ObjectTypeDefinition:c,ObjectTypeExtension:c};function c(n){var c=n.name.value;if(i[c]||(i[c]=Object.create(null)),n.fields)for(var s=i[c],l=0,f=n.fields;l<f.length;l++){var p=f[l],d=p.name.value;u(t[c],d)?e.reportError(new r.GraphQLError(o(c,d),p.name)):s[d]?e.reportError(new r.GraphQLError(a(c,d),[s[d],p.name])):s[d]=p.name}return!1}};var r=t(5),i=t(11);function a(e,n){return'Field "'.concat(e,".").concat(n,'" can only be defined once.')}function o(e,n){return'Field "'.concat(e,".").concat(n,'" already exists in the schema. It cannot also be defined in this type extension.')}function u(e,n){return!!((0,i.isObjectType)(e)||(0,i.isInterfaceType)(e)||(0,i.isInputObjectType)(e))&&e.getFields()[n]}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.duplicateDirectiveNameMessage=i,n.existedDirectiveNameMessage=a,n.UniqueDirectiveNames=function(e){var n=Object.create(null),t=e.getSchema();return{DirectiveDefinition:function(o){var u=o.name.value;if(!t||!t.getDirective(u))return n[u]?e.reportError(new r.GraphQLError(i(u),[n[u],o.name])):n[u]=o.name,!1;e.reportError(new r.GraphQLError(a(u),o.name))}}};var r=t(5);function i(e){return'There can be only one directive named "'.concat(e,'".')}function a(e){return'Directive "'.concat(e,'" already exists in the schema. It cannot be redefined.')}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.extendingUnknownTypeMessage=p,n.extendingDifferentTypeKindMessage=d,n.PossibleTypeExtensions=function(e){for(var n=e.getSchema(),t=Object.create(null),r=0,i=e.getDocument().definitions;r<i.length;r++){var l=i[r];(0,c.isTypeDefinitionNode)(l)&&(t[l.name.value]=l)}return{ScalarTypeExtension:f,ObjectTypeExtension:f,InterfaceTypeExtension:f,UnionTypeExtension:f,EnumTypeExtension:f,InputObjectTypeExtension:f};function f(r){var i=r.name.value,c=t[i],l=n&&n.getType(i);if(c){var f=v[c.kind];f!==r.kind&&e.reportError(new o.GraphQLError(d(i,y(f)),[c,r]))}else if(l){var h=function(e){if((0,s.isScalarType)(e))return u.Kind.SCALAR_TYPE_EXTENSION;if((0,s.isObjectType)(e))return u.Kind.OBJECT_TYPE_EXTENSION;if((0,s.isInterfaceType)(e))return u.Kind.INTERFACE_TYPE_EXTENSION;if((0,s.isUnionType)(e))return u.Kind.UNION_TYPE_EXTENSION;if((0,s.isEnumType)(e))return u.Kind.ENUM_TYPE_EXTENSION;if((0,s.isInputObjectType)(e))return u.Kind.INPUT_OBJECT_TYPE_EXTENSION}(l);h!==r.kind&&e.reportError(new o.GraphQLError(d(i,y(h)),r))}else{var m=Object.keys(t);
39588n&&(m=m.concat(Object.keys(n.getTypeMap())));var T=(0,a.default)(i,m);e.reportError(new o.GraphQLError(p(i,T),r.name))}}};var r,i=l(t(113)),a=l(t(114)),o=t(5),u=t(18),c=t(110),s=t(11);function l(e){return e&&e.__esModule?e:{default:e}}function f(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){return'Cannot extend type "'.concat(e,'" because it is not defined.')+(0,i.default)(n.map((function(e){return'"'.concat(e,'"')})))}function d(e,n){return"Cannot extend non-".concat(n,' type "').concat(e,'".')}var v=(f(r={},u.Kind.SCALAR_TYPE_DEFINITION,u.Kind.SCALAR_TYPE_EXTENSION),f(r,u.Kind.OBJECT_TYPE_DEFINITION,u.Kind.OBJECT_TYPE_EXTENSION),f(r,u.Kind.INTERFACE_TYPE_DEFINITION,u.Kind.INTERFACE_TYPE_EXTENSION),f(r,u.Kind.UNION_TYPE_DEFINITION,u.Kind.UNION_TYPE_EXTENSION),f(r,u.Kind.ENUM_TYPE_DEFINITION,u.Kind.ENUM_TYPE_EXTENSION),f(r,u.Kind.INPUT_OBJECT_TYPE_DEFINITION,u.Kind.INPUT_OBJECT_TYPE_EXTENSION),r);function y(e){switch(e){case u.Kind.SCALAR_TYPE_EXTENSION:return"scalar";case u.Kind.OBJECT_TYPE_EXTENSION:return"object";case u.Kind.INTERFACE_TYPE_EXTENSION:return"interface";case u.Kind.UNION_TYPE_EXTENSION:return"union";case u.Kind.ENUM_TYPE_EXTENSION:return"enum";case u.Kind.INPUT_OBJECT_TYPE_EXTENSION:return"input object";default:return"unknown type"}}},function(e,n,t){"use strict";function r(e){var n=!(e&&!1===e.descriptions);return"\n    query IntrospectionQuery {\n      __schema {\n        queryType { name }\n        mutationType { name }\n        subscriptionType { name }\n        types {\n          ...FullType\n        }\n        directives {\n          name\n          ".concat(n?"description":"","\n          locations\n          args {\n            ...InputValue\n          }\n        }\n      }\n    }\n\n    fragment FullType on __Type {\n      kind\n      name\n      ").concat(n?"description":"","\n      fields(includeDeprecated: true) {\n        name\n        ").concat(n?"description":"","\n        args {\n          ...InputValue\n        }\n        type {\n          ...TypeRef\n        }\n        isDeprecated\n        deprecationReason\n      }\n      inputFields {\n        ...InputValue\n      }\n      interfaces {\n        ...TypeRef\n      }\n      enumValues(includeDeprecated: true) {\n        name\n        ").concat(n?"description":"","\n        isDeprecated\n        deprecationReason\n      }\n      possibleTypes {\n        ...TypeRef\n      }\n    }\n\n    fragment InputValue on __InputValue {\n      name\n      ").concat(n?"description":"","\n      type { ...TypeRef }\n      defaultValue\n    }\n\n    fragment TypeRef on __Type {\n      kind\n      name\n      ofType {\n        kind\n        name\n        ofType {\n          kind\n          name\n          ofType {\n            kind\n            name\n            ofType {\n              kind\n              name\n              ofType {\n                kind\n                name\n                ofType {\n                  kind\n                  name\n                  ofType {\n                    kind\n                    name\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  ")}Object.defineProperty(n,"__esModule",{value:!0}),n.getIntrospectionQuery=r,n.introspectionQuery=void 0;var i=r();n.introspectionQuery=i},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.buildASTSchema=_,n.getDescription=L,n.buildSchema=function(e,n){return _((0,f.parse)(e,n),n)},n.ASTDefinitionBuilder=void 0;var r=O(t(49)),i=O(t(94)),a=O(t(13)),o=O(t(48)),u=O(t(59)),c=O(t(112)),s=t(18),l=t(120),f=t(122),p=t(110),d=t(121),v=t(160),y=t(158),h=t(66),m=t(64),T=t(95),g=t(50),b=t(11),E=t(159);function O(e){return e&&e.__esModule?e:{default:e}}function _(e,n){var t;e&&e.kind===s.Kind.DOCUMENT||(0,u.default)(0,"Must provide valid Document AST"),n&&(n.assumeValid||n.assumeValidSDL)||(0,v.assertValidSDL)(e);for(var i=[],a=[],o=0,c=e.definitions;o<c.length;o++){var l=c[o];
39588l.kind===s.Kind.SCHEMA_DEFINITION?t=l:(0,p.isTypeDefinitionNode)(l)?i.push(l):l.kind===s.Kind.DIRECTIVE_DEFINITION&&a.push(l)}var f=new I(n,(function(e){var n=d[e];if(void 0===n)throw new Error('Type "'.concat(e,'" not found in document.'));return n})),d=S(i,(function(e){return f.buildType(e)})),y=t?function(e){for(var n={},t=0,r=e.operationTypes;t<r.length;t++){var i=r[t];n[i.operation]=i.type.name.value}return n}(t):{query:"Query",mutation:"Mutation",subscription:"Subscription"},h=a.map((function(e){return f.buildDirective(e)}));return h.some((function(e){return"skip"===e.name}))||h.push(g.GraphQLSkipDirective),h.some((function(e){return"include"===e.name}))||h.push(g.GraphQLIncludeDirective),h.some((function(e){return"deprecated"===e.name}))||h.push(g.GraphQLDeprecatedDirective),new T.GraphQLSchema({query:y.query?d[y.query]:null,mutation:y.mutation?d[y.mutation]:null,subscription:y.subscription?d[y.subscription]:null,types:(0,r.default)(d),directives:h,astNode:t,assumeValid:n&&n.assumeValid,allowedLegacyNames:n&&n.allowedLegacyNames})}var N=(0,i.default)(h.specifiedScalarTypes.concat(m.introspectionTypes),(function(e){return e.name})),I=function(){function e(e,n){this._options=e,this._resolveType=n}var n=e.prototype;return n.getNamedType=function(e){var n=e.name.value;return N[n]||this._resolveType(n)},n.getWrappedType=function(e){return e.kind===s.Kind.LIST_TYPE?new b.GraphQLList(this.getWrappedType(e.type)):e.kind===s.Kind.NON_NULL_TYPE?new b.GraphQLNonNull(this.getWrappedType(e.type)):this.getNamedType(e)},n.buildDirective=function(e){var n=this,t=e.locations.map((function(e){return e.value}));return new g.GraphQLDirective({name:e.name.value,description:L(e,this._options),locations:t,isRepeatable:e.repeatable,args:S(e.arguments||[],(function(e){return n.buildArg(e)})),astNode:e})},n.buildField=function(e){var n=this;return{type:this.getWrappedType(e.type),description:L(e,this._options),args:S(e.arguments||[],(function(e){return n.buildArg(e)})),deprecationReason:D(e),astNode:e}},n.buildArg=function(e){var n=this.getWrappedType(e.type);return{type:n,description:L(e,this._options),defaultValue:(0,E.valueFromAST)(e.defaultValue,n),astNode:e}},n.buildInputField=function(e){var n=this.getWrappedType(e.type);return{type:n,description:L(e,this._options),defaultValue:(0,E.valueFromAST)(e.defaultValue,n),astNode:e}},n.buildEnumValue=function(e){return{description:L(e,this._options),deprecationReason:D(e),astNode:e}},n.buildType=function(e){var n=e.name.value;if(N[n])return N[n];switch(e.kind){case s.Kind.OBJECT_TYPE_DEFINITION:return this._makeTypeDef(e);case s.Kind.INTERFACE_TYPE_DEFINITION:return this._makeInterfaceDef(e);case s.Kind.ENUM_TYPE_DEFINITION:return this._makeEnumDef(e);case s.Kind.UNION_TYPE_DEFINITION:return this._makeUnionDef(e);case s.Kind.SCALAR_TYPE_DEFINITION:return this._makeScalarDef(e);case s.Kind.INPUT_OBJECT_TYPE_DEFINITION:return this._makeInputObjectDef(e)}(0,o.default)(!1,"Unexpected type definition node: "+(0,a.default)(e))},n._makeTypeDef=function(e){var n=this,t=e.interfaces,r=e.fields,i=t&&t.length>0?function(){return t.map((function(e){return n.getNamedType(e)}))}:[],a=r&&r.length>0?function(){return S(r,(function(e){return n.buildField(e)}))}:Object.create(null);return new b.GraphQLObjectType({name:e.name.value,description:L(e,this._options),interfaces:i,fields:a,astNode:e})},n._makeInterfaceDef=function(e){var n=this,t=e.fields,r=t&&t.length>0?function(){return S(t,(function(e){return n.buildField(e)}))}:Object.create(null);return new b.GraphQLInterfaceType({name:e.name.value,description:L(e,this._options),fields:r,astNode:e})},n._makeEnumDef=function(e){var n=this,t=e.values||[];return new b.GraphQLEnumType({name:e.name.value,description:L(e,this._options),values:S(t,(function(e){return n.buildEnumValue(e)})),astNode:e})}
39588,n._makeUnionDef=function(e){var n=this,t=e.types,r=t&&t.length>0?function(){return t.map((function(e){return n.getNamedType(e)}))}:[];return new b.GraphQLUnionType({name:e.name.value,description:L(e,this._options),types:r,astNode:e})},n._makeScalarDef=function(e){return new b.GraphQLScalarType({name:e.name.value,description:L(e,this._options),astNode:e})},n._makeInputObjectDef=function(e){var n=this,t=e.fields;return new b.GraphQLInputObjectType({name:e.name.value,description:L(e,this._options),fields:t?function(){return S(t,(function(e){return n.buildInputField(e)}))}:Object.create(null),astNode:e})},e}();function S(e,n){return(0,c.default)(e,(function(e){return e.name.value}),n)}function D(e){var n=(0,y.getDirectiveValues)(g.GraphQLDeprecatedDirective,e);return n&&n.reason}function L(e,n){if(e.description)return e.description.value;if(n&&n.commentDescriptions){var t=function(e){var n=e.loc;if(!n)return;var t=[],r=n.startToken.prev;for(;r&&r.kind===l.TokenKind.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);t.push(i),r=r.prev}return t.reverse().join("\n")}(e);if(void 0!==t)return(0,d.dedentBlockStringValue)("\n"+t)}}n.ASTDefinitionBuilder=I},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.coerceValue=function(e,n,t,c){var s=[],l=(0,u.coerceInputValue)(e,n,(function(e,n,u){var l="Invalid value "+(0,r.default)(n),f=[].concat((0,a.pathToArray)(c),e);f.length>0&&(l+=' at "value'.concat((0,i.default)(f),'"')),s.push(new o.GraphQLError(l+": "+u.message,t,void 0,void 0,void 0,u.originalError))}));return s.length>0?{errors:s,value:void 0}:{errors:void 0,value:l}};var r=c(t(13)),i=c(t(192)),a=t(125),o=t(5),u=t(193);function c(e){return e&&e.__esModule?e:{default:e}}},function(e,n){function t(e){return e&&"object"==typeof e&&!Array.isArray(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function e(n,r){var i=Object.assign({},n);return t(n)&&t(r)&&Object.keys(r).forEach((function(a){var o,u;t(r[a])?a in n?i[a]=e(n[a],r[a]):Object.assign(i,((o={})[a]=r[a],o)):Object.assign(i,((u={})[a]=r[a],u))})),i}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.specifiedScalarTypes=[r.GraphQLString,r.GraphQLInt,r.GraphQLFloat,r.GraphQLBoolean,r.GraphQLID],n.default=function(e){return r.isNamedType(e)&&(e.name===r.GraphQLString.name||e.name===r.GraphQLInt.name||e.name===r.GraphQLFloat.name||e.name===r.GraphQLBoolean.name||e.name===r.GraphQLID.name)}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getResponseKeyFromInfo=function(e){return e.fieldNodes[0].alias?e.fieldNodes[0].alias.value:e.fieldName}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(79),i=t(79);n.execute=i.execute,n.default=function(e){return function(n){return r.makePromise(r.execute(e,n))}}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){if(!e)return!0;for(var n in e)if(Object.hasOwnProperty.call(e,n))return!1;return!0}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=function(){function e(e,n){this.schema=e,this.args=n}return e.prototype.transformRequest=function(e){var n=function(e,n,t){var o=n.definitions.filter((function(e){return e.kind===a.Kind.OPERATION_DEFINITION})),c=n.definitions.filter((function(e){return e.kind===a.Kind.FRAGMENT_DEFINITION})),s={},l=o.map((function(n){var i,o=n.variableDefinitions.map((function(e){return e.variable.name.value})),c=0,l={};i="subscription"===n.operation?e.getSubscriptionType():"mutation"===n.operation?e.getMutationType():e.getQueryType();var f=[];return n.selectionSet.selections.forEach((function(e){if(e.kind===a.Kind.FIELD){var n={};
39588e.arguments.forEach((function(e){n[e.name.value]=e}));var p=e.name.value;i.getFields()[p].args.forEach((function(e){if(e.name in t){var r=function(e){var n;do{n="_v"+c+"_"+e,c++}while(-1!==o.indexOf(n));return n}(e.name);s[e.name]=r,n[e.name]={kind:a.Kind.ARGUMENT,name:{kind:a.Kind.NAME,value:e.name},value:{kind:a.Kind.VARIABLE,name:{kind:a.Kind.NAME,value:r}}},o.push(r),l[r]={kind:a.Kind.VARIABLE_DEFINITION,variable:{kind:a.Kind.VARIABLE,name:{kind:a.Kind.NAME,value:r}},type:u(e.type)}}})),f.push(r(r({},e),{arguments:Object.keys(n).map((function(e){return n[e]}))}))}else f.push(e)})),r(r({},n),{variableDefinitions:n.variableDefinitions.concat(Object.keys(l).map((function(e){return l[e]}))),selectionSet:{kind:a.Kind.SELECTION_SET,selections:f}})})),f={};return Object.keys(s).forEach((function(e){f[s[e]]=t[e]})),{document:r(r({},n),{definitions:i(l,c)}),newVariables:f}}(this.schema,e.document,this.args),t=n.document,o=n.newVariables;return{document:t,variables:r(r({},e.variables),o)}},e}();function u(e){if(e instanceof a.GraphQLNonNull){var n=u(e.ofType);if(n.kind===a.Kind.LIST_TYPE||n.kind===a.Kind.NAMED_TYPE)return{kind:a.Kind.NON_NULL_TYPE,type:n};throw new Error("Incorrent inner non-null type")}return e instanceof a.GraphQLList?{kind:a.Kind.LIST_TYPE,type:u(e.ofType)}:{kind:a.Kind.NAMED_TYPE,name:{kind:a.Kind.NAME,value:e.toString()}}}n.default=o},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(292),u=function(){function e(e){this.targetSchema=e}return e.prototype.transformRequest=function(e){var n=function(e,n){var t=n.definitions.filter((function(e){return e.kind===a.Kind.OPERATION_DEFINITION})),r=n.definitions.filter((function(e){return e.kind===a.Kind.FRAGMENT_DEFINITION})),o=[],u=[],s=[],f=r.filter((function(n){var t=n.typeCondition.name.value;return Boolean(e.getType(t))})),p={};f.forEach((function(n){var t=n.typeCondition.name.value,r=e.getType(t);p[n.name.value]=r}));var d=Object.create(null);return t.forEach((function(n){var t;t="subscription"===n.operation?e.getSubscriptionType():"mutation"===n.operation?e.getMutationType():e.getQueryType();var r=c(e,t,p,n.selectionSet),i=r.selectionSet,v=r.usedFragments,y=r.usedVariables;o=l(o,v);var h=function(e,n,t,r,i){var o=[],u=[],s=function(){var s=i.pop(),f=t.find((function(e){return e.name.value===s}));if(f){var p=s,d=f.typeCondition.name.value,v=e.getType(d),y=c(e,v,r,f.selectionSet),h=y.selectionSet,m=y.usedFragments,T=y.usedVariables;i=l(i,m),o=l(o,T),n[p]||(n[p]=!0,u.push({kind:a.Kind.FRAGMENT_DEFINITION,name:{kind:a.Kind.NAME,value:p},typeCondition:f.typeCondition,selectionSet:h}))}};for(;0!==i.length;)s();return{usedVariables:o,newFragments:u,fragmentSet:n}}(e,d,f,p,o),m=h.usedVariables,T=h.newFragments,g=h.fragmentSet,b=l(y,m);s=T,d=g;var E=n.variableDefinitions.filter((function(e){return-1!==b.indexOf(e.variable.name.value)}));u.push({kind:a.Kind.OPERATION_DEFINITION,operation:n.operation,name:n.name,directives:n.directives,variableDefinitions:E,selectionSet:i})})),{kind:a.Kind.DOCUMENT,definitions:i(u,s)}}(this.targetSchema,e.document);return r(r({},e),{document:n})},e}();function c(e,n,t,i){var u,c=[],l=[],f=[n];return{selectionSet:a.visit(i,((u={})[a.Kind.FIELD]={enter:function(e){var n=s(f[f.length-1]);if(n instanceof a.GraphQLObjectType||n instanceof a.GraphQLInterfaceType){var t=n.getFields(),i="__typename"===e.name.value?a.TypeNameMetaFieldDef:t[e.name.value];if(!i)return null;f.push(i.type);var o=(i.args||[]).map((function(e){return e.name}));if(e.arguments){var u=e.arguments.filter((function(e){return-1!==o.indexOf(e.name.value)}));if(u.length!==e.arguments.length)return r(r({},e),{arguments:u})}}else n instanceof a.GraphQLUnionType&&"__typename"===e.name.value&&f.pu
39588sh(a.TypeNameMetaFieldDef.type)},leave:function(e){var n,t=s(f.pop());if(t instanceof a.GraphQLObjectType||t instanceof a.GraphQLInterfaceType){var r=e.selectionSet&&e.selectionSet.selections||null;if(!r||0===r.length)return a.visit(e,((n={})[a.Kind.VARIABLE]=function(e){var n=l.indexOf(e.name.value);-1!==n&&l.splice(n,1)},n)),null}}},u[a.Kind.FRAGMENT_SPREAD]=function(n){if(n.name.value in t){var r=s(f[f.length-1]),i=t[n.name.value];return o.default(e,r,i)?void c.push(n.name.value):null}return null},u[a.Kind.INLINE_FRAGMENT]={enter:function(n){if(n.typeCondition){var t=e.getType(n.typeCondition.name.value),r=s(f[f.length-1]);if(!o.default(e,r,t))return null;f.push(t)}},leave:function(e){f.pop()}},u[a.Kind.VARIABLE]=function(e){l.push(e.name.value)},u)),usedFragments:c,usedVariables:l}}function s(e){for(var n=e;n instanceof a.GraphQLNonNull||n instanceof a.GraphQLList;)n=n.ofType;return n}function l(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t={},r=[];return e.forEach((function(e){e.forEach((function(e){t[e]||(t[e]=!0,r.push(e))}))})),r}n.default=u},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n,t){return n===t||!(!r.isCompositeType(n)||!r.isCompositeType(t))&&r.doTypesOverlap(e,n,t)}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=function(){function e(e){this.targetSchema=e}return e.prototype.transformRequest=function(e){var n=function(e,n){var t,a=new i.TypeInfo(e);return i.visit(n,i.visitWithTypeInfo(a,((t={})[i.Kind.SELECTION_SET]=function(e){var n=a.getParentType(),t=e.selections;if(n&&(n instanceof i.GraphQLInterfaceType||n instanceof i.GraphQLUnionType)&&!t.find((function(e){return e.kind===i.Kind.FIELD&&"__typename"===e.name.value}))&&(t=t.concat({kind:i.Kind.FIELD,name:{kind:i.Kind.NAME,value:"__typename"}})),t!==e.selections)return r(r({},e),{selections:t})},t)))}(this.targetSchema,e.document);return r(r({},e),{document:n})},e}();n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(202),i=function(){function e(e,n){this.info=e,this.fieldName=n}return e.prototype.transformResult=function(e){return r.checkResultAndHandleErrors(e,this.info,this.fieldName)},e}();n.default=i},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(292),u=function(){function e(e,n){var t,r;this.targetSchema=n,this.mapping=function(e,n){var t=e.getTypeMap(),r={};return Object.keys(t).forEach((function(i){var o=t[i];if(a.isAbstractType(o)){var u=n.getType(i);if(!a.isAbstractType(u)){var c=e.getPossibleTypes(o)||[];r[i]=c.filter((function(e){return n.getType(e.name)})).map((function(e){return e.name}))}}})),r}(e,n),this.reverseMapping=(t=this.mapping,r={},Object.keys(t).forEach((function(e){t[e].forEach((function(n){r[n]||(r[n]=[]),r[n].push(e)}))})),r)}return e.prototype.transformRequest=function(e){var n=function(e,n,t,u){var c,s=u.definitions.filter((function(e){return e.kind===a.Kind.OPERATION_DEFINITION})),l=u.definitions.filter((function(e){return e.kind===a.Kind.FRAGMENT_DEFINITION})),f=l.map((function(e){return e.name.value})),p=0,d=[],v={};l.forEach((function(e){d.push(e);var t=n[e.typeCondition.name.value];t&&(v[e.name.value]=[],t.forEach((function(n){var t=function(e){var n;do{n="_"+e+"_Fragment"+p,p++}while(-1!==f.indexOf(n));return n}(n);f.push(t);var r={kind:a.Kind.FRAGMENT_DEFINITION,name:{kind:a.Kind.NAME,value:t},typeCondition:{kind:a.Kind.NAMED_TYPE,name:{kind:a.Kind.NAME,value:n}},selectionSet:e.selectionSet};d.push(r),v[e.name.value].push({fragmentName:t,typeName:n})})))}));var y=r(r({},u),{definitions:i(s,d)}),h=new a.TypeInfo(e);return a.visit(y,a.visitWithTypeInfo(h,((c={})[a.Kind.SELECTION_SET]=function(u){var c=i(u.selections),s=a.getNamedType(h.getParentType());if(u.selections.forEach((function(t){if(t.kind===a.Kind.INLINE_FRAGMENT){var r=n[t.typeCondition.name.value];r&&r.forEach((function(n){o.default(e,s,e.getType(n))&&c.push({kind:a.Kind.INLINE_FRAGMENT,typeCondition:{kind:a.Kind.NAMED_TYPE,name:{kind:a.Kind.NAME,value:n}},selectionSet:t.selectionSet})}))}else if(t.kind===a.Kind.FRAGMENT_SPREAD){var i=t.name.value,u=v[i];u&&u.forEach((function(n){var t=n.typeName;o.default(e,s,e.getType(t))&&c.push({kind:a.Kind.FRAGMENT_SPREAD,name:{kind:a.Kind.NAME,value:n.fragmentName}})}))}})),s&&t[s.name]&&c.push({kind:a.Kind.FIELD,name:{kind:a.Kind.NAME,value:"__typename"}}),c.length!==u.selections.length)return r(r({},u),{selections:c})},c)))}(this.targetSchema,this.mapping,this.reverseMapping,e.document);return r(r({},e),{document:n})},e}();n.default=u},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=function(){function e(e,n){this.targetSchema=e,this.mapping={};for(var t=0,r=n;t<r.length;t++){var i=r[t],a=i.field,u=o(i.fragment),c=u.typeCondition.name.value;this.mapping[c]=this.mapping[c]||{},this.mapping[c][a]?this.mapping[c][a].push(u):this.mapping[c][a]=[u]}}return e.prototype.transformRequest=function(e){var n=function(e,n,t){var a,o=new i.TypeInfo(e);return i.visit(n,i.visitWithTypeInfo(o,((a={})[i.Kind.SELECTION_SET]=function(e){var n=o.getParentType();if(n){var a=n.name,c=e.selections;if(t[a]&&e.selections.forEach((function(e){if(e.kind===i.Kind.FIELD){var n=e.name.value,r=t[a][n];if(r&&r.length>0){var o=u(a,r);c=c.concat(o)}}})),c!==e.selections)return r(r({},e),{selections:c})}},a)))}(this.targetSchema,e.document,this.mapping);return r(r({},e),{document:n})},e}();function o(e){if(e.trim().startsWith("fragment"))for(var n=0,t=i.parse(e).definitions;n<t.length;n++){var r=t[n];if(r.kind===i.Kind.FRAGMENT_DEFINITION)return{kind:i.Kind.INLINE_FRAGMENT,typeCondition:r.typeCondition,selectionSet:r.selectionSet}}for(var a=0,o=i.parse("{"+e+"}").definitions[0].selectionSet.selections;a<o.length;a++){var u=o[a];if(u.kind===i.Kind.INLINE_FRAGMENT)return u}throw new Error("Could not parse fragment")}function u(e,n){var t,a=n.reduce((function(e,n){return e.concat(n.selectionSet.selections)}),[]),o=(t=a.reduce((function(e,n){var t,i,a;switch(n.kind){case"Field":return n.alias?e.hasOwnProperty(n.alias.value)?e:r(r({},e),((t={})[n.alias.value]=n,t)):e.hasOwnProperty(n.name.value)?e:r(r({},e),((i={})[n.name.value]=n,i));case"FragmentSpread":return e.hasOwnProperty(n.name.value)?e:r(r({},e),((a={})[n.name.value]=n,a));case"InlineFragment":if(e.__fragment){var o=e.__fragment;return r(r({},e),{__fragment:u(o.typeCondition.name.value,[o,n])})}return r(r({},e),{__fragment:n});default:return e}}),{}),Object.keys(t).reduce((function(e,n){return e.concat(t[n])}),[]));return{kind:i.Kind.INLINE_FRAGMENT,typeCondition:{kind:i.Kind.NAMED_TYPE,name:{kind:i.Kind.NAME,value:e}},selectionSet:{kind:i.Kind.SELECTION_SET,selections:o}}}n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(375);n.transformSchema=r.default;
39588var i=t(290);n.AddArgumentsAsVariables=i.default;var a=t(294);n.CheckResultAndHandleErrors=a.default;var o=t(296);n.ReplaceFieldWithFragment=o.default;var u=t(293);n.AddTypenameToAbstract=u.default;var c=t(291);n.FilterToSchema=c.default;var s=t(377);n.RenameTypes=s.default;var l=t(378);n.FilterTypes=l.default;var f=t(204);n.TransformRootFields=f.default;var p=t(379);n.RenameRootFields=p.default;var d=t(380);n.FilterRootFields=d.default;var v=t(295);n.ExpandAbstractTypes=v.default;var y=t(381);n.ExtractField=y.default;var h=t(382);n.WrapQuery=h.default},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n;return function(t,r,i){n||(n=new WeakMap);var a,o=n.get(t);if(o){if(a=o.get(r)){var u=a.get(i);if(void 0!==u)return u}}else o=new WeakMap,n.set(t,o);a||(a=new WeakMap,o.set(r,a));var c=e(t,r,i);return a.set(i,c),c}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){return e.reduce((function(e,t){return(0,i.default)(e)?e.then((function(e){return n(e,t)})):n(e,t)}),t)};var r,i=(r=t(153))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var n=Object.keys(e),t=n.map((function(n){return e[n]}));return Promise.all(t).then((function(e){return e.reduce((function(e,t,r){return e[n[r]]=t,e}),Object.create(null))}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e};n.default=r},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.subscribe=function(e,n,t,r,i,a,o,u){return d(1===arguments.length?e:{schema:e,document:n,rootValue:t,contextValue:r,variableValues:i,operationName:a,fieldResolver:o,subscribeFieldResolver:u})},n.createSourceEventStream=v;var r=t(47),i=f(t(13)),a=t(125),o=t(5),u=t(188),c=t(116),s=t(191),l=f(t(335));function f(e){return e&&e.__esModule?e:{default:e}}function p(e){if(e instanceof o.GraphQLError)return{errors:[e]};throw e}function d(e){var n=e.schema,t=e.document,i=e.rootValue,a=e.contextValue,o=e.variableValues,u=e.operationName,s=e.fieldResolver,f=e.subscribeFieldResolver,d=v(n,t,i,a,o,u,f),y=function(e){return(0,c.execute)(n,t,e,a,o,u,s)};return d.then((function(e){return(0,r.isAsyncIterable)(e)?(0,l.default)(e,y,p):e}))}function v(e,n,t,l,f,p,d){(0,c.assertValidExecutionArguments)(e,n,f);try{var v=(0,c.buildExecutionContext)(e,n,t,l,f,p,d);if(Array.isArray(v))return Promise.resolve({errors:v});var y=(0,s.getOperationRootType)(e,v.operation),h=(0,c.collectFields)(v,y,v.operation.selectionSet,Object.create(null),Object.create(null)),m=Object.keys(h)[0],T=h[m],g=T[0].name.value,b=(0,c.getFieldDef)(e,y,g);if(!b)throw new o.GraphQLError('The subscription field "'.concat(g,'" is not defined.'),T);var E=b.subscribe||v.fieldResolver,O=(0,a.addPath)(void 0,m),_=(0,c.buildResolveInfo)(v,b,T,y,O),N=(0,c.resolveFieldValueOrError)(v,b,T,E,t,_);return Promise.resolve(N).then((function(e){if(e instanceof Error)return{errors:[(0,u.locatedError)(e,T,(0,a.pathToArray)(O))]};if((0,r.isAsyncIterable)(e))return e;throw new Error("Subscription field must return Async Iterable. Received: "+(0,i.default)(e))}))}catch(e){return e instanceof o.GraphQLError?Promise.resolve({errors:[e]}):Promise.reject(e)}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n,t){var o,u,c,s=(0,r.getAsyncIterator)(e);
39588"function"==typeof s.return&&(o=s.return,u=function(e){var n=function(){return Promise.reject(e)};return o.call(s).then(n,n)});function l(e){return e.done?e:i(e.value,n).then(a,u)}if(t){var f=t;c=function(e){return i(e,f).then(a,u)}}return function(e,n,t){n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t;return e}({next:function(){return s.next().then(l,c)},return:function(){return o?o.call(s).then(l,c):Promise.resolve({value:void 0,done:!0})},throw:function(e){return"function"==typeof s.throw?s.throw(e).then(l,c):Promise.reject(e).catch(u)}},r.$$asyncIterator,(function(){return this}))};var r=t(47);function i(e,n){return new Promise((function(t){return t(n(e))}))}function a(e){return{value:e,done:!1}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.formatError=function(e){e||(0,i.default)(0,"Received null or undefined error.");var n=e.message||"An unknown error occurred.",t=e.locations,r=e.path,a=e.extensions;return a?{message:n,locations:t,path:r,extensions:a}:{message:n,locations:t,path:r}};var r,i=(r=t(59))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getOperationAST=function(e,n){for(var t=null,i=0,a=e.definitions;i<a.length;i++){var o=a[i];if(o.kind===r.Kind.OPERATION_DEFINITION)if(n){if(o.name&&o.name.value===n)return o}else{if(t)return null;t=o}}return t};var r=t(18)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.introspectionFromSchema=function(e,n){var t=(0,a.parse)((0,u.getIntrospectionQuery)(n)),c=(0,o.execute)(e,t);return!(0,i.default)(c)&&!c.errors&&c.data||(0,r.default)(0),c.data};var r=c(t(48)),i=c(t(153)),a=t(122),o=t(116),u=t(282);function c(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.buildClientSchema=function(e,n){(0,u.default)(e)&&(0,u.default)(e.__schema)||(0,a.default)(0,'Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: '+(0,i.default)(e));for(var t=e.__schema,y=(0,o.default)(t.types,(function(e){return e.name}),(function(e){return function(e){if(e&&e.name&&e.kind)switch(e.kind){case f.TypeKind.SCALAR:return t=e,new d.GraphQLScalarType({name:t.name,description:t.description});case f.TypeKind.OBJECT:return function(e){if(!e.interfaces)throw new Error("Introspection result missing interfaces: "+(0,i.default)(e));return new d.GraphQLObjectType({name:e.name,description:e.description,interfaces:function(){return e.interfaces.map(S)},fields:function(){return D(e)}})}(e);case f.TypeKind.INTERFACE:return n=e,new d.GraphQLInterfaceType({name:n.name,description:n.description,fields:function(){return D(n)}});case f.TypeKind.UNION:return function(e){if(!e.possibleTypes)throw new Error("Introspection result missing possibleTypes: "+(0,i.default)(e));return new d.GraphQLUnionType({name:e.name,description:e.description,types:function(){return e.possibleTypes.map(I)}})}(e);case f.TypeKind.ENUM:return function(e){if(!e.enumValues)throw new Error("Introspection result missing enumValues: "+(0,i.default)(e));return new d.GraphQLEnumType({name:e.name,description:e.description,values:(0,o.default)(e.enumValues,(function(e){return e.name}),(function(e){return{description:e.description,deprecationReason:e.deprecationReason}}))})}(e);case f.TypeKind.INPUT_OBJECT:return function(e){if(!e.inputFields)throw new Error("Introspection result missing inputFields: "+(0,i.default)(e));return new d.GraphQLInputObjectType({name:e.name,description:e.description,fields:function(){return L(e.inputFields)}})}(e)}var n;var t;throw new Error("Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema:"+(0,i.default)(e))}(e)})),h=0,m=[].concat(l.specifiedScalarTypes,f.introspectionTypes);h<m.length;h++){var T=m[h];y[T.name]&&(y[T.name]=T)}var g=t.queryType?I(t.queryType):null,b=t.mutationType?I(t.mutationType):null,E=t.subscriptionType?I(t.subscriptionType):null,O=t.directives?t.directives.map((function(e){if(!e.args)throw new Error("Introspection result missing directive args: "+(0,i.default)(e));if(!e.locations)throw new Error("Introspection result missing directive locations: "+(0,i.default)(e));return new s.GraphQLDirective({name:e.name,description:e.description,locations:e.locations.slice(),args:L(e.args)})})):[];return new p.GraphQLSchema({query:g,mutation:b,subscription:E,types:(0,r.default)(y),directives:O,assumeValid:n&&n.assumeValid,allowedLegacyNames:n&&n.allowedLegacyNames});
39588function _(e){if(e.kind===f.TypeKind.LIST){var n=e.ofType;if(!n)throw new Error("Decorated type deeper than introspection query.");return(0,d.GraphQLList)(_(n))}if(e.kind===f.TypeKind.NON_NULL){var t=e.ofType;if(!t)throw new Error("Decorated type deeper than introspection query.");var r=_(t);return(0,d.GraphQLNonNull)((0,d.assertNullableType)(r))}if(!e.name)throw new Error("Unknown type reference: "+(0,i.default)(e));return function(e){var n=y[e];if(!n)throw new Error("Invalid or incomplete schema, unknown type: ".concat(e,". Ensure that a full introspection query is used in order to build a client schema."));return n}(e.name)}function N(e){var n=_(e);if((0,d.isOutputType)(n))return n;throw new Error("Introspection must provide output type for fields, but received: "+(0,i.default)(n)+".")}function I(e){var n=_(e);return(0,d.assertObjectType)(n)}function S(e){var n=_(e);return(0,d.assertInterfaceType)(n)}function D(e){if(!e.fields)throw new Error("Introspection result missing fields: "+(0,i.default)(e));return(0,o.default)(e.fields,(function(e){return e.name}),(function(e){if(!e.args)throw new Error("Introspection result missing field args: "+(0,i.default)(e));return{description:e.description,deprecationReason:e.deprecationReason,type:N(e.type),args:L(e.args)}}))}function L(e){return(0,o.default)(e,(function(e){return e.name}),A)}function A(e){var n=function(e){var n=_(e);if((0,d.isInputType)(n))return n;throw new Error("Introspection must provide input type for arguments, but received: "+(0,i.default)(n)+".")}(e.type),t=e.defaultValue?(0,v.valueFromAST)((0,c.parseValue)(e.defaultValue),n):void 0;return{description:e.description,type:n,defaultValue:t}}};var r=y(t(49)),i=y(t(13)),a=y(t(59)),o=y(t(112)),u=y(t(65)),c=t(122),s=t(50),l=t(66),f=t(64),p=t(95),d=t(11),v=t(159);function y(e){return e&&e.__esModule?e:{default:e}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.extendSchema=function(e,n,t){(0,h.assertSchema)(e),n&&n.kind===l.Kind.DOCUMENT||(0,c.default)(0,"Must provide valid Document AST"),t&&(t.assumeValid||t.assumeValidSDL)||(0,p.assertValidSDLExtension)(n,e);for(var g,b=[],O=Object.create(null),_=[],N=[],I=0,S=n.definitions;I<S.length;I++){var D=S[I];if(D.kind===l.Kind.SCHEMA_DEFINITION)g=D;else if(D.kind===l.Kind.SCHEMA_EXTENSION)N.push(D);else if((0,f.isTypeDefinitionNode)(D))b.push(D);else if((0,f.isTypeExtensionNode)(D)){var L=D.name.value,A=O[L];O[L]=A?A.concat([D]):[D]}else D.kind===l.Kind.DIRECTIVE_DEFINITION&&_.push(D)}if(0===Object.keys(O).length&&0===b.length&&0===_.length&&0===N.length&&!g)return e;for(var j=e.toConfig(),w=new T.ASTDefinitionBuilder(t,(function(e){var n=P[e];if(void 0===n)throw new Error('Unknown type: "'.concat(e,'".'));return n})),P=(0,s.default)(b,(function(e){return e.name.value}),(function(e){return w.buildType(e)})),k=0,F=j.types;k<F.length;k++){var R=F[k];P[R.name]=ee(R)}var M={query:j.query&&j.query.name,mutation:j.mutation&&j.mutation.name,subscription:j.subscription&&j.subscription.name};if(g)for(var x=0,G=g.operationTypes;x<G.length;x++){var V=G[x],K=V.operation,C=V.type;M[K]=C.name.value}for(var Q=0;Q<N.length;Q++){var U=N[Q];if(U.operationTypes)for(var B=0,q=U.operationTypes;B<q.length;B++){var Y=q[B],J=Y.operation,W=Y.type;M[J]=W.name.value}}var X=j.allowedLegacyNames.concat(t&&t.allowedLegacyNames||[]);return new h.GraphQLSchema({query:Z(M.query),mutation:Z(M.mutation),subscription:Z(M.subscription),types:(0,i.default)(P),directives:(H=e.getDirectives().map(ne),H||(0,c.default)(0,"schema must have default directives"),H.concat(_.map((function(e){return w.buildDirective(e)})))),astNode:g||j.astNode,extensionASTNodes:j.extensionASTNodes.concat(N),allowedLegacyNames:X});var H;function z(e){return(0,m.isListType)(e)?new m.GraphQLList(z(e.ofType)):(0,m.isNonNullType)(e)?new m.GraphQLNonNull(z(e.ofType)):$(e)}function $(e){return P[e.name]}function Z(e){return e?P[e]:null}function ee(e){return(0,y.isIntrospectionType)(e)||(0,v.isSpecifiedScalarType)(e)?e:(0,m.isScalarType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[];return new m.GraphQLScalarType(E({},n,{extensionASTNodes:n.extensionASTNodes.concat(t)}))}
39588(e):(0,m.isObjectType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.interfaces||[]})),a=(0,r.default)(t,(function(e){return e.fields||[]}));return new m.GraphQLObjectType(E({},n,{interfaces:function(){return[].concat(e.getInterfaces().map($),i.map((function(e){return w.getNamedType(e)})))},fields:function(){return E({},(0,o.default)(n.fields,te),{},(0,s.default)(a,(function(e){return e.name.value}),(function(e){return w.buildField(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isInterfaceType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.fields||[]}));return new m.GraphQLInterfaceType(E({},n,{fields:function(){return E({},(0,o.default)(n.fields,te),{},(0,s.default)(i,(function(e){return e.name.value}),(function(e){return w.buildField(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isUnionType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.types||[]}));return new m.GraphQLUnionType(E({},n,{types:function(){return[].concat(e.getTypes().map($),i.map((function(e){return w.getNamedType(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isEnumType)(e)?function(e){var n=e.toConfig(),t=O[e.name]||[],i=(0,r.default)(t,(function(e){return e.values||[]}));return new m.GraphQLEnumType(E({},n,{values:E({},n.values,{},(0,s.default)(i,(function(e){return e.name.value}),(function(e){return w.buildEnumValue(e)}))),extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):(0,m.isInputObjectType)(e)?function(e){var n=e.toConfig(),t=O[n.name]||[],i=(0,r.default)(t,(function(e){return e.fields||[]}));return new m.GraphQLInputObjectType(E({},n,{fields:function(){return E({},(0,o.default)(n.fields,(function(e){return E({},e,{type:z(e.type)})})),{},(0,s.default)(i,(function(e){return e.name.value}),(function(e){return w.buildInputField(e)})))},extensionASTNodes:n.extensionASTNodes.concat(t)}))}(e):void(0,u.default)(!1,"Unexpected type: "+(0,a.default)(e))}function ne(e){var n=e.toConfig();return new d.GraphQLDirective(E({},n,{args:(0,o.default)(n.args,re)}))}function te(e){return E({},e,{type:z(e.type),args:(0,o.default)(e.args,re)})}function re(e){return E({},e,{type:z(e.type)})}};var r=g(t(155)),i=g(t(49)),a=g(t(13)),o=g(t(247)),u=g(t(48)),c=g(t(59)),s=g(t(112)),l=t(18),f=t(110),p=t(160),d=t(50),v=t(66),y=t(64),h=t(95),m=t(11),T=t(283);function g(e){return e&&e.__esModule?e:{default:e}}function b(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function E(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?b(t,!0).forEach((function(n){O(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function O(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.lexicographicSortSchema=function(e){var n=e.toConfig(),t=(0,o.default)(h(n.types),(function(e){return e.name}),(function(e){if((0,l.isScalarType)(e)||(0,s.isIntrospectionType)(e))return e;if((0,l.isObjectType)(e)){var n=e.toConfig();return new l.GraphQLObjectType(d({},n,{interfaces:function(){return b(n.interfaces)},fields:function(){return g(n.fields)}}))}if((0,l.isInterfaceType)(e)){var t=e.toConfig();return new l.GraphQLInterfaceType(d({},t,{fields:function(){return g(t.fields)}}))}if((0,l.isUnionType)(e)){var r=e.toConfig();return new l.GraphQLUnionType(d({},r,{types:function(){return b(r.types)}}))}if((0,l.isEnumType)(e)){var o=e.toConfig();return new l.GraphQLEnumType(d({},o,{values:y(o.values)}))}if((0,l.isInputObjectType)(e)){var u=e.toConfig();return new l.GraphQLInputObjectType(d({},u,{fields:function(){return y(u.fields,(function(e){return d({},e,{type:f(e.type)})}))}}))}(0,a.default)(!1,"Unexpected type: "+(0,i.default)(e))}));return new u.GraphQLSchema(d({},n,{types:(0,r.default)(t),directives:h(n.directives).map((function(e){var n=e.toConfig();return new c.GraphQLDirective(d({},n,{locations:m(n.locations,(function(e){return e})),args:T(n.args)}))})),query:v(n.query),mutation:v(n.mutation),subscription:v(n.subscription)}));function f(e){return(0,l.isListType)(e)?new l.GraphQLList(f(e.ofType)):(0,l.isNonNullType)(e)?new l.GraphQLNonNull(f(e.ofType)):p(e)}function p(e){return t[e.name]}function v(e){return e&&p(e)}function T(e){return y(e,(function(e){return d({},e,{type:f(e.type)})}))}function g(e){return y(e,(function(e){return d({},e,{type:f(e.type),args:T(e.args)})}))}function b(e){return h(e).map(p)}};var r=f(t(49)),i=f(t(13)),a=f(t(48)),o=f(t(112)),u=t(95),c=t(50),s=t(64),l=t(11);
39588function f(e){return e&&e.__esModule?e:{default:e}}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function d(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(t,!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function v(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(e,n){for(var t=Object.create(null),r=m(Object.keys(e),(function(e){return e})),i=0;i<r.length;i++){var a=r[i],o=e[a];t[a]=n?n(o):o}return t}function h(e){return m(e,(function(e){return e.name}))}function m(e,n){return e.slice().sort((function(e,t){var r=n(e),i=n(t);return r.localeCompare(i)}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.printSchema=function(e,n){return h(e,(function(e){return!(0,f.isSpecifiedDirective)(e)}),y,n)},n.printIntrospectionSchema=function(e,n){return h(e,f.isSpecifiedDirective,s.isIntrospectionType,n)},n.printType=T;var r=v(t(155)),i=v(t(49)),a=v(t(13)),o=v(t(48)),u=t(63),c=t(121),s=t(64),l=t(66),f=t(50),p=t(11),d=t(157);function v(e){return e&&e.__esModule?e:{default:e}}function y(e){return!(0,l.isSpecifiedScalarType)(e)&&!(0,s.isIntrospectionType)(e)}function h(e,n,t,r){var a=e.getDirectives().filter(n),o=e.getTypeMap(),u=(0,i.default)(o).sort((function(e,n){return e.name.localeCompare(n.name)})).filter(t);return[m(e)].concat(a.map((function(e){return function(e,n){return N(n,e)+"directive @"+e.name+E(n,e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}(e,r)})),u.map((function(e){return T(e,r)}))).filter(Boolean).join("\n\n")+"\n"}function m(e){if(!function(e){var n=e.getQueryType();if(n&&"Query"!==n.name)return!1;var t=e.getMutationType();if(t&&"Mutation"!==t.name)return!1;var r=e.getSubscriptionType();if(r&&"Subscription"!==r.name)return!1;return!0}(e)){var n=[],t=e.getQueryType();t&&n.push("  query: ".concat(t.name));var r=e.getMutationType();r&&n.push("  mutation: ".concat(r.name));var i=e.getSubscriptionType();return i&&n.push("  subscription: ".concat(i.name)),"schema {\n".concat(n.join("\n"),"\n}")}}function T(e,n){return(0,p.isScalarType)(e)?function(e,n){return N(n,e)+"scalar ".concat(e.name)}(e,n):(0,p.isObjectType)(e)?function(e,n){var t=e.getInterfaces(),r=t.length?" implements "+t.map((function(e){return e.name})).join(" & "):"";return N(n,e)+"type ".concat(e.name).concat(r)+g(n,e)}(e,n):(0,p.isInterfaceType)(e)?function(e,n){return N(n,e)+"interface ".concat(e.name)+g(n,e)}(e,n):(0,p.isUnionType)(e)?function(e,n){var t=e.getTypes(),r=t.length?" = "+t.join(" | "):"";return N(n,e)+"union "+e.name+r}(e,n):(0,p.isEnumType)(e)?function(e,n){var t=e.getValues().map((function(e,t){return N(n,e,"  ",!t)+"  "+e.name+_(e)}));return N(n,e)+"enum ".concat(e.name)+b(t)}(e,n):(0,p.isInputObjectType)(e)?function(e,n){var t=(0,i.default)(e.getFields()).map((function(e,t){return N(n,e,"  ",!t)+"  "+O(e)}));return N(n,e)+"input ".concat(e.name)+b(t)}(e,n):void(0,o.default)(!1,"Unexpected type: "+(0,a.default)(e))}function g(e,n){return b((0,i.default)(n.getFields()).map((function(n,t){return N(e,n,"  ",!t)+"  "+n.name+E(e,n.args,"  ")+": "+String(n.type)+_(n)})))}function b(e){return 0!==e.length?" {\n"+e.join("\n")+"\n}":""}function E(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return 0===n.length?"":n.every((function(e){return!e.description}))?"("+n.map(O).join(", ")+")":"(\n"+n.map((function(n,r){return N(e,n,"  "+t,!r)+"  "+t+O(n)})).join("\n")+"\n"+t+")"}function O(e){var n=(0,d.astFromValue)(e.defaultValue,e.type),t=e.name+": "+String(e.type);return n&&(t+=" = ".concat((0,u.print)(n))),t}function _(e){if(!e.isDeprecated)return"";var n=e.deprecationReason,t=(0,d.astFromValue)(n,l.GraphQLString);return t&&""!==n&&n!==f.DEFAULT_DEPRECATION_REASON?" @deprecated(reason: "+(0,u.print)(t)+")":" @deprecated"}function N(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!n.description)return"";var i=S(n.description,120-t.length);if(e&&e.commentDescriptions)return I(i,t,r);var a=i.join("\n"),o=a.length>70,u=(0,c.printBlockString)(a,"",o),s=t&&!r?"\n"+t:t;return s+u.replace(/\n/g,"\n"+t)+"\n"}function I(e,n,t){for(var r=n&&!t?"\n":"",i=0;i<e.length;i++){var a=e[i];r+=""===a?n+"#\n":n+"# "+a+"\n"}return r}function S(e,n){var t=e.split("\n");return(0,r.default)(t,(function(e){return e.length<n+5?e:function(e,n){var t=e.split(new RegExp("((?: |^).{15,".concat(n-40,"}(?= |$))")));if(t.length<4)return[e];for(var r=[t[0]+t[1]+t[2]],i=3;i<t.length;i+=2)r.push(t[i].slice(1)+t[i+1]);return r}(e,n)}))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isValidJSValue=function(e,n){var t=(0,r.coerceValue)(e,n).errors;return t?t.map((function(e){return e.message})):[]};var r=t(284)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isValidLiteralValue=function(e,n){var t=new u.GraphQLSchema({}),s={kind:r.Kind.DOCUMENT,definitions:[]},l=new c.TypeInfo(t,void 0,e),f=new o.ValidationContext(t,s,l),p=(0,a.ValuesOfCorrectType)(f);return(0,i.visit)(n,(0,i.visitWithTypeInfo)(l,p)),f.getErrors()};var r=t(18),i=t(28),a=t(196),o=t(197),u=t(95),c=t(128)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.concatAST=function(e){return{kind:"Document",definitions:(0,i.default)(e,(function(e){return e.definitions}))}};
39588var r,i=(r=t(155))&&r.__esModule?r:{default:r}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.separateOperations=function(e){var n,t=[],o=Object.create(null),u=new Map,c=Object.create(null),s=0;(0,r.visit)(e,{OperationDefinition:function(e){n=i(e),t.push(e),u.set(e,s++)},FragmentDefinition:function(e){n=e.name.value,o[n]=e,u.set(e,s++)},FragmentSpread:function(e){var t=e.name.value;(c[n]||(c[n]=Object.create(null)))[t]=!0}});for(var l=Object.create(null),f=0;f<t.length;f++){var p=t[f],d=i(p),v=Object.create(null);a(v,c,d);for(var y=[p],h=0,m=Object.keys(v);h<m.length;h++){var T=m[h];y.push(o[T])}y.sort((function(e,n){return(u.get(e)||0)-(u.get(n)||0)})),l[d]={kind:"Document",definitions:y}}return l};var r=t(28);function i(e){return e.name?e.name.value:""}function a(e,n,t){var r=n[t];if(r)for(var i=0,o=Object.keys(r);i<o.length;i++){var u=o[i];e[u]||(e[u]=!0,a(e,n,u))}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.stripIgnoredCharacters=function(e){var n="string"==typeof e?new a.Source(e):e;if(!(n instanceof a.Source))throw new TypeError("Must provide string or Source. Received: ".concat((0,i.default)(n)));var t=n.body,r=(0,u.createLexer)(n),c="",l=!1;for(;r.advance().kind!==o.TokenKind.EOF;){var f=r.token,p=f.kind,d=!(0,u.isPunctuatorToken)(f);l&&(d||f.kind===o.TokenKind.SPREAD)&&(c+=" ");var v=t.slice(f.start,f.end);p===o.TokenKind.BLOCK_STRING?c+=s(v):c+=v,l=d}return c};var r,i=(r=t(13))&&r.__esModule?r:{default:r},a=t(184),o=t(120),u=t(186),c=t(121);function s(e){var n=e.slice(3,-3),t=(0,c.dedentBlockStringValue)(n),r=t.split(/\r\n|[\n\r]/g);(0,c.getBlockStringIndentation)(r)>0&&(t="\n"+t);var i=t[t.length-1];return('"'===i&&'\\"""'!==t.slice(-4)||"\\"===i)&&(t+="\n"),'"""'+t+'"""'}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.findBreakingChanges=function(e,n){return h(e,n).filter((function(e){return e.type in v}))},n.findDangerousChanges=function(e,n){return h(e,n).filter((function(e){return e.type in y}))},n.DangerousChangeType=n.BreakingChangeType=void 0;var r=f(t(49)),i=f(t(94)),a=f(t(13)),o=f(t(48)),u=t(63),c=t(28),s=t(11),l=t(157);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var v=Object.freeze({TYPE_REMOVED:"TYPE_REMOVED",TYPE_CHANGED_KIND:"TYPE_CHANGED_KIND",TYPE_REMOVED_FROM_UNION:"TYPE_REMOVED_FROM_UNION",VALUE_REMOVED_FROM_ENUM:"VALUE_REMOVED_FROM_ENUM",REQUIRED_INPUT_FIELD_ADDED:"REQUIRED_INPUT_FIELD_ADDED",INTERFACE_REMOVED_FROM_OBJECT:"INTERFACE_REMOVED_FROM_OBJECT",FIELD_REMOVED:"FIELD_REMOVED",FIELD_CHANGED_KIND:"FIELD_CHANGED_KIND",REQUIRED_ARG_ADDED:"REQUIRED_ARG_ADDED",ARG_REMOVED:"ARG_REMOVED",ARG_CHANGED_KIND:"ARG_CHANGED_KIND",DIRECTIVE_REMOVED:"DIRECTIVE_REMOVED",DIRECTIVE_ARG_REMOVED:"DIRECTIVE_ARG_REMOVED",REQUIRED_DIRECTIVE_ARG_ADDED:"REQUIRED_DIRECTIVE_ARG_ADDED",DIRECTIVE_LOCATION_REMOVED:"DIRECTIVE_LOCATION_REMOVED"});n.BreakingChangeType=v;var y=Object.freeze({VALUE_ADDED_TO_ENUM:"VALUE_ADDED_TO_ENUM",TYPE_ADDED_TO_UNION:"TYPE_ADDED_TO_UNION",OPTIONAL_INPUT_FIELD_ADDED:"OPTIONAL_INPUT_FIELD_ADDED",OPTIONAL_ARG_ADDED:"OPTIONAL_ARG_ADDED",INTERFACE_ADDED_TO_OBJECT:"INTERFACE_ADDED_TO_OBJECT",ARG_DEFAULT_VALUE_CHANGE:"ARG_DEFAULT_VALUE_CHANGE"});function h(e,n){return[].concat(function(e,n){for(var t=[],i=D((0,r.default)(e.getTypeMap()),(0,r.default)(n.getTypeMap())),a=0,o=i.removed;a<o.length;a++){var u=o[a];t.push({type:v.TYPE_REMOVED,description:"".concat(u.name," was removed.")})}for(var c=0,l=i.persisted;c<l.length;c++){var f=l[c],p=f[0],d=f[1];(0,s.isEnumType)(p)&&(0,s.isEnumType)(d)?t.push.apply(t,g(p,d)):(0,s.isUnionType)(p)&&(0,s.isUnionType)(d)?t.push.apply(t,T(p,d)):(0,s.isInputObjectType)(p)&&(0,s.isInputObjectType)(d)?t.push.apply(t,m(p,d)):(0,s.isObjectType)(p)&&(0,s.isObjectType)(d)?t.push.apply(t,b(p,d)):(0,s.isInterfaceType)(p)&&(0,s.isInterfaceType)(d)?t.push.apply(t,E(p,d)):p.constructor!==d.constructor&&t.push({type:v.TYPE_CHANGED_KIND,description:"".concat(p.name," changed from ")+"".concat(I(p)," to ").concat(I(d),".")})}return t}(e,n),function(e,n){for(var t=[],r=D(e.getDirectives(),n.getDirectives()),i=0,a=r.removed;i<a.length;i++){var o=a[i];t.push({type:v.DIRECTIVE_REMOVED,description:"".concat(o.name," was removed.")})}for(var u=0,c=r.persisted;u<c.length;u++){for(var l=c[u],f=l[0],p=l[1],d=D(f.args,p.args),y=0,h=d.added;y<h.length;y++){var m=h[y];(0,s.isRequiredArgument)(m)&&t.push({type:v.REQUIRED_DIRECTIVE_ARG_ADDED,description:"A required arg ".concat(m.name," on directive ").concat(f.name," was added.")})}for(var T=0,g=d.removed;T<g.length;T++){var b=g[T];t.push({type:v.DIRECTIVE_ARG_REMOVED,description:"".concat(b.name," was removed from ").concat(f.name,".")})}for(var E=0,O=f.locations;E<O.length;E++){var _=O[E];-1===p.locations.indexOf(_)&&t.push({type:v.DIRECTIVE_LOCATION_REMOVED,description:"".concat(_," was removed from ").concat(f.name,".")})}}return t}(e,n))}function m(e,n){for(var t=[],i=D((0,r.default)(e.getFields()),(0,r.default)(n.getFields())),a=0,o=i.added;a<o.length;a++){var u=o[a];(0,s.isRequiredInputField)(u)?t.push({type:v.REQUIRED_INPUT_FIELD_ADDED,description:"A required field ".concat(u.name," on input type ").concat(e.name," was added.")}):t.push({type:y.OPTIONAL_INPUT_FIELD_ADDED,description:"An optional field ".concat(u.name," on input type ").concat(e.name," was added.")})}for(var c=0,l=i.removed;c<l.length;c++){var f=l[c];t.push({type:v.FIELD_REMOVED,description:"".concat(e.name,".").concat(f.name," was removed.")})}for(var p=0,d=i.persisted;p<d.length;p++){var h=d[p],m=h[0],T=h[1];N(m.type,T.type)||t.push({type:v.FIELD_CHANGED_KIND,description:"".concat(e.name,".").concat(m.name," changed type from ")+"".concat(String(m.type)," to ").concat(String(T.type),".")})}return t}function T(e,n){for(var t=[],r=D(e.getTypes(),n.getTypes()),i=0,a=r.added;i<a.length;i++){var o=a[i];t.push({type:y.TYPE_ADDED_TO_UNION,description:"".concat(o.name," was added to union type ").concat(e.name,".")})}for(var u=0,c=r.removed;u<c.length;u++){var s=c[u];t.push({type:v.TYPE_REMOVED_FROM_UNION,description:"".concat(s.name," was removed from union type ").concat(e.name,".")})}return t}function g(e,n){for(var t=[],r=D(e.getValues(),n.getValues()),i=0,a=r.added;i<a.length;i++){var o=a[i];t.push({type:y.VALUE_ADDED_TO_ENUM,description:"".concat(o.name," was added to enum type ").concat(e.name,".")})}for(var u=0,c=r.removed;u<c.length;u++){var s=c[u];t.push({type:v.VALUE_REMOVED_FROM_ENUM,description:"".concat(s.name," was removed from enum type ").concat(e.name,".")})}return t}function b(e,n){for(var t=E(e,n),r=D(e.getInterfaces(),n.getInterfaces()),i=0,a=r.added;i<a.length;i++){var o=a[i];
39588t.push({type:y.INTERFACE_ADDED_TO_OBJECT,description:"".concat(o.name," added to interfaces implemented by ").concat(e.name,".")})}for(var u=0,c=r.removed;u<c.length;u++){var s=c[u];t.push({type:v.INTERFACE_REMOVED_FROM_OBJECT,description:"".concat(e.name," no longer implements interface ").concat(s.name,".")})}return t}function E(e,n){for(var t=[],i=D((0,r.default)(e.getFields()),(0,r.default)(n.getFields())),a=0,o=i.removed;a<o.length;a++){var u=o[a];t.push({type:v.FIELD_REMOVED,description:"".concat(e.name,".").concat(u.name," was removed.")})}for(var c=0,s=i.persisted;c<s.length;c++){var l=s[c],f=l[0],p=l[1];t.push.apply(t,O(e,f,p)),_(f.type,p.type)||t.push({type:v.FIELD_CHANGED_KIND,description:"".concat(e.name,".").concat(f.name," changed type from ")+"".concat(String(f.type)," to ").concat(String(p.type),".")})}return t}function O(e,n,t){for(var r=[],i=D(n.args,t.args),a=0,o=i.removed;a<o.length;a++){var u=o[a];r.push({type:v.ARG_REMOVED,description:"".concat(e.name,".").concat(n.name," arg ").concat(u.name," was removed.")})}for(var c=0,l=i.persisted;c<l.length;c++){var f=l[c],p=f[0],d=f[1];if(N(p.type,d.type)){if(void 0!==p.defaultValue)if(void 0===d.defaultValue)r.push({type:y.ARG_DEFAULT_VALUE_CHANGE,description:"".concat(e.name,".").concat(n.name," arg ").concat(p.name," defaultValue was removed.")});else{var h=S(p.defaultValue,p.type),m=S(d.defaultValue,d.type);h!==m&&r.push({type:y.ARG_DEFAULT_VALUE_CHANGE,description:"".concat(e.name,".").concat(n.name," arg ").concat(p.name," has changed defaultValue from ").concat(h," to ").concat(m,".")})}}else r.push({type:v.ARG_CHANGED_KIND,description:"".concat(e.name,".").concat(n.name," arg ").concat(p.name," has changed type from ")+"".concat(String(p.type)," to ").concat(String(d.type),".")})}for(var T=0,g=i.added;T<g.length;T++){var b=g[T];(0,s.isRequiredArgument)(b)?r.push({type:v.REQUIRED_ARG_ADDED,description:"A required arg ".concat(b.name," on ").concat(e.name,".").concat(n.name," was added.")}):r.push({type:y.OPTIONAL_ARG_ADDED,description:"An optional arg ".concat(b.name," on ").concat(e.name,".").concat(n.name," was added.")})}return r}function _(e,n){return(0,s.isListType)(e)?(0,s.isListType)(n)&&_(e.ofType,n.ofType)||(0,s.isNonNullType)(n)&&_(e,n.ofType):(0,s.isNonNullType)(e)?(0,s.isNonNullType)(n)&&_(e.ofType,n.ofType):(0,s.isNamedType)(n)&&e.name===n.name||(0,s.isNonNullType)(n)&&_(e,n.ofType)}function N(e,n){return(0,s.isListType)(e)?(0,s.isListType)(n)&&N(e.ofType,n.ofType):(0,s.isNonNullType)(e)?(0,s.isNonNullType)(n)&&N(e.ofType,n.ofType)||!(0,s.isNonNullType)(n)&&N(e.ofType,n):(0,s.isNamedType)(n)&&e.name===n.name}function I(e){return(0,s.isScalarType)(e)?"a Scalar type":(0,s.isObjectType)(e)?"an Object type":(0,s.isInterfaceType)(e)?"an Interface type":(0,s.isUnionType)(e)?"a Union type":(0,s.isEnumType)(e)?"an Enum type":(0,s.isInputObjectType)(e)?"an Input type":void(0,o.default)(!1,"Unexpected type: "+(0,a.default)(e))}function S(e,n){var t=(0,l.astFromValue)(e,n);null!=t||(0,o.default)(0);var r=(0,c.visit)(t,{ObjectValue:function(e){return function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?p(t,!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},e,{fields:[].concat(e.fields).sort((function(e,n){return e.name.value.localeCompare(n.name.value)}))})}});return(0,u.print)(r)}function D(e,n){for(var t=[],r=[],a=[],o=(0,i.default)(e,(function(e){return e.name})),u=(0,i.default)(n,(function(e){return e.name})),c=0;c<e.length;c++){var s=e[c],l=u[s.name];void 0===l?r.push(s):a.push([s,l])}for(var f=0;f<n.length;f++){var p=n[f];void 0===o[p.name]&&t.push(p)}return{added:t,persisted:a,removed:r}}n.DangerousChangeType=y},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.findDeprecatedUsages=function(e,n){var t=[],u=new o.TypeInfo(e);return(0,i.visit)(n,(0,i.visitWithTypeInfo)(u,{Field:function(e){var n=u.getFieldDef();if(n&&n.isDeprecated){var i=u.getParentType();if(i){var a=n.deprecationReason;t.push(new r.GraphQLError("The field ".concat(i.name,".").concat(n.name," is deprecated.")+(a?" "+a:""),e))}}},EnumValue:function(e){var n=u.getEnumValue();if(n&&n.isDeprecated){var i=(0,a.getNamedType)(u.getInputType());if(i){var o=n.deprecationReason;t.push(new r.GraphQLError("The enum value ".concat(i.name,".").concat(n.name," is deprecated.")+(o?" "+o:""),e))}}}})),t};var r=t(5),i=t(28),a=t(11),o=t(128)},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(68),i=t(6),a=t(199),o=t(68),u=t(351);
39588function c(e,n){Object.keys(n).forEach((function(t){e[t]=n[t]}))}n.default=function(e,n,t){e instanceof i.GraphQLSchema&&(console.warn("The addResolveFunctionsToSchema function takes named options now; see IAddResolveFunctionsToSchemaOptions"),e={schema:e,resolvers:n,resolverValidationOptions:t});var s=e.schema,l=e.resolvers,f=e.resolverValidationOptions,p=void 0===f?{}:f,d=e.inheritResolversFromInterfaces,v=void 0!==d&&d,y=p.allowResolversNotInSchema,h=void 0!==y&&y,m=p.requireResolversForResolveType,T=v?o.extendResolversFromInterfaces(s,l):l,g=Object.create(null);return Object.keys(T).forEach((function(e){var n=T[e],t=typeof n;if("object"!==t&&"function"!==t)throw new r.SchemaError('"'+e+'" defined in resolvers, but has invalid value "'+n+"\". A resolver's value must be of type object or function.");var a=s.getType(e);if(!a&&"__schema"!==e){if(h)return;throw new r.SchemaError('"'+e+'" defined in resolvers, but not in schema')}Object.keys(n).forEach((function(t){if(t.startsWith("__"))a[t.substring(2)]=n[t];else if(a instanceof i.GraphQLScalarType)a[t]=n[t];else{if(a instanceof i.GraphQLEnumType){if(!a.getValue(t)){if(h)return;throw new r.SchemaError(e+"."+t+" was defined in resolvers, but enum is not in schema")}return g[a.name]=g[a.name]||{},void(g[a.name][t]=n[t])}var o=function(e){return e instanceof i.GraphQLObjectType||e instanceof i.GraphQLInterfaceType?e.getFields():void 0}(a);if(!o){if(h)return;throw new r.SchemaError(e+" was defined in resolvers, but it's not an object")}if(!o[t]){if(h)return;throw new r.SchemaError(e+"."+t+" defined in resolvers, but not in schema")}var u=o[t],s=n[t];if("function"==typeof s)c(u,{resolve:s});else{if("object"!=typeof s)throw new r.SchemaError("Resolver "+e+"."+t+" must be object or function");c(u,s)}}}))})),o.checkForResolveTypeResolver(s,m),a.applySchemaTransforms(s,[new u.default(g)])}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(129),a=function(){function e(e){this.enumValueMap=e}return e.prototype.transformSchema=function(e){var n,t=this.enumValueMap;return t&&0!==Object.keys(t).length?i.visitSchema(e,((n={})[i.VisitSchemaKind.ENUM_TYPE]=function(e){var n=t[e.name];if(n){var i=e.getValues(),a={};return i.forEach((function(e){var t=Object.keys(n).includes(e.name)?n[e.name]:e.name;a[e.name]={value:t,deprecationReason:e.deprecationReason,description:e.description,astNode:e.astNode}})),new r.GraphQLEnumType({name:e.name,description:e.description,astNode:e.astNode,values:a})}return e},n)):e},e}();n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);function i(e,n){return function(t,i,a,o){return Promise.resolve(n(t,i,a,o)).then((function(n){return e?e(n,i,a,o):r.defaultFieldResolver(n,i,a,o)}))}}n.default=function(e,n){[e.getQueryType(),e.getMutationType(),e.getSubscriptionType()].filter((function(e){return!!e})).forEach((function(t){var r=function(e){var n,t=Math.random();return function(r,i,a,o){return o.operation.__runAtMostOnce||(o.operation.__runAtMostOnce={}),o.operation.__runAtMostOnce[t]||(o.operation.__runAtMostOnce[t]=!0,n=e(r,i,a,o)),n}}(n),a=t.getFields();Object.keys(a).forEach((function(o){t===e.getSubscriptionType()?a[o].resolve=i(a[o].resolve,n):a[o].resolve=i(a[o].resolve,r)}))}))}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(68);function a(e,n,t){if(e.resolve){if("function"!=typeof e.resolve)throw new i.SchemaError('Resolver "'+n+"."+t+'" must be a function')}else console.warn('Resolve function missing for "'+n+"."+t+'". To disable this warning check https://github.com/apollostack/graphql-tools/issues/131')}n.default=function(e,n){void 0===n&&(n={});var t=n.requireResolversForArgs,o=void 0!==t&&t,u=n.requireResolversForNonScalar,c=void 0!==u&&u,s=n.requireResolversForAllFields,l=void 0!==s&&s;if(l&&(o||c))throw new TypeError("requireResolversForAllFields takes precedence over the more specific assertions. Please configure either requireResolversForAllFields or requireResolversForArgs / requireResolversForNonScalar, but not a combination of them.");i.forEachField(e,(function(e,n,t){l&&a(e,n,t),o&&e.args.length>0&&a(e,n,t),!c||r.getNamedType(e.type)instanceof r.GraphQLScalarType||a(e,n,t)}))}},function(e,n,t){var r,i=this&&this.__extends||(r=function(e,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function t(){this.constructor=e}r(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}),a=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},o=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
39588function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(n,"__esModule",{value:!0});var u=t(6),c=t(161);n.default=function(e,n){if("object"!=typeof n)throw new Error("Expected directiveResolvers to be of type object, got "+typeof n);if(Array.isArray(n))throw new Error("Expected directiveResolvers to be of type object, got Array");var t=Object.create(null);Object.keys(n).forEach((function(e){t[e]=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return i(r,t),r.prototype.visitFieldDefinition=function(t){var r=this,i=n[e],c=t.resolve||u.defaultFieldResolver,s=this.args;t.resolve=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var u=e[0],l=e[2],f=e[3];return i((function(){return a(r,void 0,void 0,(function(){return o(this,(function(n){return[2,c.apply(t,e)]}))}))}),u,s,l,f)}},r}(c.SchemaDirectiveVisitor)})),c.SchemaDirectiveVisitor.visitSchemaDirectives(e,t)}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(98),a=t(68),o=i.deprecated({version:"0.7.0",url:"https://github.com/apollostack/graphql-tools/issues/140"},(function(e,n){if(!(e&&e instanceof r.GraphQLSchema))throw new Error("schema must be an instance of GraphQLSchema. This error could be caused by installing more than one version of GraphQL-JS");if("object"!=typeof n)throw new Error("Expected connectors to be of type object, got "+typeof n);if(0===Object.keys(n).length)throw new Error("Expected connectors to not be an empty object");if(Array.isArray(n))throw new Error("Expected connectors to be of type object, got Array");if(e._apolloConnectorsAttached)throw new Error("Connectors already attached to context, cannot attach more than once");e._apolloConnectorsAttached=!0;a.addSchemaLevelResolveFunction(e,(function(e,t,r){if("object"!=typeof r)throw new Error("Cannot attach connector because context is not an object: "+typeof r);return void 0===r.connectors&&(r.connectors={}),Object.keys(n).forEach((function(e){var t=n[e];if(!t.prototype)throw new Error("Connector must be a function or an class");r.connectors[e]=new t(r)})),e}))}));n.default=o},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(68),a=t(357);n.default=function(e,n){var t,o=e;if(function(e){return void 0!==e.kind}(e))t=e;else if("string"!=typeof o){if(!Array.isArray(o)){var u=typeof o;throw new i.SchemaError("typeDefs must be a string, array or schema AST, got "+u)}o=i.concatenateTypeDefs(o)}"string"==typeof o&&(t=r.parse(o,n));var c={commentDescriptions:!0},s=a.default(t),l=r.buildASTSchema(s,c),f=i.extractExtensionDefinitions(t);return f.definitions.length>0&&(l=r.extendSchema(l,f,c)),l}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6);n.default=function(e){var n=e.definitions.filter((function(e){return e.kind!==i.Kind.OBJECT_TYPE_EXTENSION&&e.kind!==i.Kind.INTERFACE_TYPE_EXTENSION&&e.kind!==i.Kind.INPUT_OBJECT_TYPE_EXTENSION&&e.kind!==i.Kind.UNION_TYPE_EXTENSION&&e.kind!==i.Kind.ENUM_TYPE_EXTENSION&&e.kind!==i.Kind.SCALAR_TYPE_EXTENSION&&e.kind!==i.Kind.SCHEMA_EXTENSION}));return r(r({},e),{definitions:n})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.chainResolvers=function(e){return function(n,t,i,a){return e.reduce((function(e,n){return n?n(e,t,i,a):r.defaultFieldResolver(e,t,i,a)}),n)}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(68);
39588n.default=function(e,n){Object.keys(e.getTypeMap()).map((function(n){return e.getType(n)})).forEach((function(e){if((e instanceof r.GraphQLUnionType||e instanceof r.GraphQLInterfaceType)&&!e.resolveType){if(!1===n)return;if(!0===n)throw new i.SchemaError('Type "'+e.name+'" is missing a "resolveType" resolver');console.warn('Type "'+e.name+'" is missing a "__resolveType" resolver. Pass false into "resolverValidationOptions.requireResolversForResolveType" to disable this warning.')}}))}},function(e,n,t){var r=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=t(68);n.default=function e(n,t){void 0===t&&(t=[]);var o,u=[];return n.forEach((function(n){if(void 0!==n.kind&&(n=i.print(n)),"function"==typeof n)-1===t.indexOf(n)&&(t.push(n),u=u.concat(e(n(),t)));else{if("string"!=typeof n){var r=typeof n;throw new a.SchemaError("typeDef array must contain only strings and functions, got "+r)}u.push(n.trim())}})),(o=u.map((function(e){return e.trim()})),o.reduce((function(e,n){return-1===e.indexOf(n)?r(e,[n]):e}),[])).join("\n")}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n,t){void 0===e&&(e=r.defaultFieldResolver);var i=function(e){var r=new Error;r.stack=e.stack,t&&(r.originalMessage=e.message,r.message="Error in resolver "+t+"\n"+e.message),n.log(r)};return function(n,t,r,a){try{var o=e(n,t,r,a);return o&&"function"==typeof o.then&&"function"==typeof o.catch&&o.catch((function(e){var n=e instanceof Error?e:new Error(e);return i(n),e})),o}catch(e){throw i(e),e}}}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6);n.default=function(e,n){var t=Object.keys(r(r({},e.getTypeMap()),n)),o={};return t.forEach((function(t){var r=n[t],u=e.getType(t);if(u instanceof a.GraphQLObjectType){var c=u.getInterfaces().map((function(e){return n[e.name]}));o[t]=Object.assign.apply(Object,i([{}],c,[r]))}else r&&(o[t]=r)})),o}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0});n.default=function(e){var n=e.definitions.filter((function(e){return"ObjectTypeExtension"===e.kind||"InterfaceTypeExtension"===e.kind||"InputObjectTypeExtension"===e.kind||"UnionTypeExtension"===e.kind||"EnumTypeExtension"===e.kind}));return Object.assign({},e,{definitions:n})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6);n.default=function(e,n){var t=e.getTypeMap();Object.keys(t).forEach((function(e){var i=t[e];if(!r.getNamedType(i).name.startsWith("__")&&i instanceof r.GraphQLObjectType){var a=i.getFields();Object.keys(a).forEach((function(t){var r=a[t];n(r,e,t)}))}}))}},function(e,n){var t,r=this&&this.__extends||(t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)},function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)});Object.defineProperty(n,"__esModule",{value:!0});var i=function(e){function n(n){var t=e.call(this,n)||this;return t.message=n,Error.captureStackTrace(t,t.constructor),t}return r(n,e),n}(Error);n.default=i},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(99),a=t(127);n.mockServer=function(e,n,t){var i;return void 0===t&&(t=!1),u({schema:i=e instanceof r.GraphQLSchema?e:a.buildSchemaFromTypeDefinitions(e),mocks:n,preserveResolvers:t}),{query:function(e,n){return r.graphql(i,e,{},{},n)}}};var o=new Map;function u(e){var n=e.schema,t=e.mocks,i=void 0===t?{}:t,u=e.preserveResolvers,p=void 0!==u&&u;
39588if(!n)throw new Error("Must provide schema to mock");if(!(n instanceof r.GraphQLSchema))throw new Error('Value at "schema" must be of type GraphQLSchema');if(!c(i))throw new Error("mocks must be of type Object");var d=new Map;Object.keys(i).forEach((function(e){d.set(e,i[e])})),d.forEach((function(e,n){if("function"!=typeof e)throw new Error("mockFunctionMap["+n+"] must be a function")}));var v=function(e,t,i){return function(t,a,u,l){var p=r.getNullableType(e),y=r.getNamedType(p);if(t&&void 0!==t[i]){var h=void 0;return"function"==typeof t[i]?(h=t[i](t,a,u,l))instanceof f&&(h=h.mock(t,a,u,l,p,v)):h=t[i],d.has(y.name)&&(h=function e(n,t){if(Array.isArray(t))return t.map((function(t){return e(n,t)}));if(c(t))return r=n(),i=t,Object.assign(r,i);var r,i;return t}(d.get(y.name).bind(null,t,a,u,l),h)),h}if(p instanceof r.GraphQLList||p instanceof r.GraphQLNonNull)return[v(p.ofType)(t,a,u,l),v(p.ofType)(t,a,u,l)];if(d.has(p.name)&&!(p instanceof r.GraphQLUnionType||p instanceof r.GraphQLInterfaceType))return d.get(p.name)(t,a,u,l);if(p instanceof r.GraphQLObjectType)return{};if(p instanceof r.GraphQLUnionType||p instanceof r.GraphQLInterfaceType){var m=void 0;if(d.has(p.name)){var T=d.get(p.name)(t,a,u,l);if(!T||!T.__typename)return Error('Please return a __typename in "'+p.name+'"');m=n.getType(T.__typename)}else{m=s(n.getPossibleTypes(p))}return Object.assign({__typename:m},v(m)(t,a,u,l))}return p instanceof r.GraphQLEnumType?s(p.getValues()).value:o.has(p.name)?o.get(p.name)(t,a,u,l):Error('No mock defined for type "'+p.name+'"')}};a.forEachField(n,(function(e,t,i){var a;!function(e,n){var t=r.getNullableType(e),i=r.getNamedType(t),a=function(e){return e instanceof r.GraphQLInterfaceType||e instanceof r.GraphQLUnionType?e.resolveType:void 0}(i);if(n&&a&&a.length)return;(i instanceof r.GraphQLUnionType||i instanceof r.GraphQLInterfaceType)&&(i.resolveType=function(e,n,t){return t.schema.getType(e.__typename)})}(e.type,p);var o=n.getQueryType()&&n.getQueryType().name===t,u=n.getMutationType()&&n.getMutationType().name===t;if((o||u)&&d.has(t)){var s=d.get(t);"function"==typeof s(void 0,{},{},{})[i]&&(a=function(n,r,a,o){var u=n||{};return u[i]=s(n,r,a,o)[i],v(e.type,t,i)(u,r,a,o)})}if(a||(a=v(e.type,t,i)),p&&e.resolve){var f=e.resolve;e.resolve=function(e,n,t,r){return Promise.all([a(e,n,t,r),f(e,n,t,r)]).then((function(e){var n=e[0],t=e[1];if(n instanceof Error){if(void 0===t)throw n;return t}return t instanceof Date&&n instanceof Date?void 0!==t?t:n:c(n)&&c(t)?function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];return n.forEach((function(n){for(var t=n;t;)l(e,t),t=Object.getPrototypeOf(t)})),e}(Object.create(Object.getPrototypeOf(t)),t,n):void 0!==t?t:n}))}}else e.resolve=a}))}function c(e){return e===Object(e)&&!Array.isArray(e)}function s(e){return e[Math.floor(Math.random()*e.length)]}function l(e,n){Object.getOwnPropertyNames(n).forEach((function(t){Object.getOwnPropertyDescriptor(e,t)||Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}o.set("Int",(function(){return Math.round(200*Math.random())-100})),o.set("Float",(function(){return 200*Math.random()-100})),o.set("String",(function(){return"Hello World"})),o.set("Boolean",(function(){return Math.random()>.5})),o.set("ID",(function(){return i.v4()})),n.addMockFunctionsToSchema=u;var f=function(){function e(e,n){if(this.len=e,void 0!==n){if("function"!=typeof n)throw new Error("Second argument to MockList must be a function or undefined");this.wrappedFunction=n}}return e.prototype.mock=function(n,t,i,a,o,u){var c;c=Array.isArray(this.len)?new Array(this.randint(this.len[0],this.len[1])):new Array(this.len);for(var s=0;s<c.length;s++)if("function"==typeof this.wrappedFunction){var l=this.wrappedFunction(n,t,i,a);if(l instanceof e){var f=r.getNullableType(o.ofType);c[s]=l.mock(n,t,i,a,f,u)}else c[s]=l}else c[s]=u(o.ofType)(n,t,i,a);return c},e.prototype.randint=function(e,n){return Math.floor(Math.random()*(n-e+1)+e)},e}();n.MockList=f},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(368);n.makeRemoteExecutableSchema=r.default,n.defaultCreateRemoteResolver=r.createResolver;var i=t(370);n.introspectSchema=i.default;var a=t(371);n.mergeSchemas=a.default;var o=t(203);n.delegateToSchema=o.default;var u=t(201);n.defaultMergedResolver=u.default},function(e,n,t){var r=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},i=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
39588function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},a=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var o=t(6),u=t(288),c=t(289),s=t(127),l=t(130),f=t(200),p=t(201),d=t(202),v=t(369);function y(e){var n=this;return function(t,u,c,s){return r(n,void 0,void 0,(function(){var n,t,r;return i(this,(function(i){switch(i.label){case 0:return n=Object.keys(s.fragments).map((function(e){return s.fragments[e]})),t={kind:o.Kind.DOCUMENT,definitions:a([s.operation],n)},[4,e({query:t,variables:s.variableValues,context:{graphqlContext:c}})];case 1:return r=i.sent(),[2,d.checkResultAndHandleErrors(r,s)]}}))}))}}function h(e,n){return function(e,t,r,i){var c=Object.keys(i.fragments).map((function(e){return i.fragments[e]})),s={query:{kind:o.Kind.DOCUMENT,definitions:a([i.operation],c)},variables:i.variableValues,context:{graphqlContext:r}},l=u.execute(n,s);return v.observableToAsyncIterable(l)}}n.default=function(e){var n,t,r=e.schema,i=e.link,a=e.fetcher,d=e.createResolver,v=void 0===d?y:d,m=e.buildSchemaOptions,T=e.printSchemaOptions,g=void 0===T?{commentDescriptions:!0}:T;!a&&i&&(a=u.default(i)),"string"==typeof r?(t=r,r=o.buildSchema(t,m)):t=o.printSchema(r,g);var b={},E=r.getQueryType(),O=E.getFields();Object.keys(O).forEach((function(e){b[e]=v(a)}));var _={},N=r.getMutationType();if(N){var I=N.getFields();Object.keys(I).forEach((function(e){_[e]=v(a)}))}var S={},D=r.getSubscriptionType();if(D){var L=D.getFields();Object.keys(L).forEach((function(e){S[e]={subscribe:h(e,i)}}))}var A=((n={})[E.name]=b,n);c.default(_)||(A[N.name]=_),c.default(S)||(A[D.name]=S);for(var j=r.getTypeMap(),w=function(e){if(e instanceof o.GraphQLInterfaceType||e instanceof o.GraphQLUnionType)A[e.name]={__resolveType:function(e,n,t){return f.default(e,t.schema)}};else if(e instanceof o.GraphQLScalarType)e!==o.GraphQLID&&e!==o.GraphQLString&&e!==o.GraphQLFloat&&e!==o.GraphQLBoolean&&e!==o.GraphQLInt&&(A[e.name]=l.recreateType(e,(function(e){return null}),!1));else if(e instanceof o.GraphQLObjectType&&"__"!==e.name.slice(0,2)&&e!==E&&e!==N&&e!==D){var n={};Object.keys(e.getFields()).forEach((function(e){n[e]=p.default})),A[e.name]=n}},P=0,k=Object.keys(j).map((function(e){return j[e]}));P<k.length;P++){w(k[P])}return s.makeExecutableSchema({typeDefs:t,resolvers:A})},n.createResolver=y},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},a=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;
39588function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(n,"__esModule",{value:!0});var o=t(47);n.observableToAsyncIterable=function(e){var n,t=[],u=[],c=!0,s=e.subscribe({next:function(e){!function(e){var n=e.data;0!==t.length?t.shift()({value:n,done:!1}):u.push({value:n})}(e)},error:function(e){var n;n=e,0!==t.length?t.shift()({value:{errors:[n]},done:!1}):u.push({value:{errors:[n]}})}}),l=function(){c&&(c=!1,s.unsubscribe(),t.forEach((function(e){return e({value:void 0,done:!0})})),t.length=0,u.length=0)};return(n={next:function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,c?new Promise((function(e){if(0!==u.length){var n=u.shift();e(r(r({},n),{done:!1}))}else t.push(e)})):this.return()]}))}))},return:function(){return l(),Promise.resolve({value:void 0,done:!0})},throw:function(e){return l(),Promise.reject(e)}})[o.$$asyncIterator]=function(){return this},n}},function(e,n,t){var r=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function u(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(o,u)}c((r=r.apply(e,n||[])).next())}))},i=this&&this.__generator||function(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=n.call(e,o)}catch(e){a=[6,e],r=0}finally{t=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(8),u=t(288),c=a.parse(o.getIntrospectionQuery());n.default=function(e,n){return r(this,void 0,void 0,(function(){var t;return i(this,(function(r){switch(r.label){case 0:return e.request&&(e=u.default(e)),[4,e({query:c,context:n})];case 1:if((t=r.sent()).errors&&t.errors.length||!t.data.__schema)throw t.errors;return[2,a.buildClientSchema(t.data)]}}))}))}},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=t(127),u=t(130),c=t(203),s=t(374),l=t(297),f=t(285),p=t(161);function d(e,n,t){e[n]||(e[n]=[]),e[n].push(t)}n.default=function(e){var n=e.schemas;return e.onTypeConflict,function(e){var n=e.schemas,t=e.resolvers,v=e.schemaDirectives,y=e.inheritResolversFromInterfaces,h=e.mergeDirectives,m=[],T={},g={},b=[],E=[],O=[],_=u.createResolveType((function(e){if(void 0===g[e])throw new Error("Can't find type "+e+".");return g[e]}));
39588n.forEach((function(e){if(e instanceof a.GraphQLSchema){m.push(e);var n=e.getQueryType(),t=e.getMutationType(),r=e.getSubscriptionType();if(n&&d(T,"Query",{schema:e,type:n}),t&&d(T,"Mutation",{schema:e,type:t}),r&&d(T,"Subscription",{schema:e,type:r}),h)e.getDirectives().forEach((function(e){E.push(e)}));var i=e.getTypeMap();Object.keys(i).forEach((function(o){var u=i[o];a.isNamedType(u)&&"__"!==a.getNamedType(u).name.slice(0,2)&&u!==n&&u!==t&&u!==r&&d(T,u.name,{schema:e,type:u})}))}else if("string"==typeof e||e&&e.kind===a.Kind.DOCUMENT){var u="string"==typeof e?a.parse(e):e;u.definitions.forEach((function(e){var n=s.default(e);n instanceof a.GraphQLDirective&&h?E.push(n):!n||n instanceof a.GraphQLDirective||d(T,n.name,{type:n})}));var c=o.extractExtensionDefinitions(u);c.definitions.length>0&&b.push(c)}else{if(!Array.isArray(e))throw new Error("Invalid schema passed");e.forEach((function(e){d(T,e.name,{type:e})}))}}));var N=function(e,n){return{delegate:function(t,r,a,o,u,s){console.warn("`mergeInfo.delegate` is deprecated. Use `mergeInfo.delegateToSchema and pass explicit schema instances.");var f=function(e,n,t){for(var r=0,i=e;r<i.length;r++){var a=i[r],o=void 0;if(o="subscription"===n?a.getSubscriptionType():"mutation"===n?a.getMutationType():a.getQueryType())if(o.getFields()[t])return a}throw new Error("Could not find subschema with field `"+n+"."+t+"`")}(e,t,r),p=new l.ExpandAbstractTypes(u.schema,f),d=new l.ReplaceFieldWithFragment(f,n);return c.default({schema:f,operation:t,fieldName:r,args:a,context:o,info:u,transforms:i(s||[],[p,d])})},delegateToSchema:function(e){return c.default(r(r({},e),{transforms:e.transforms}))},fragments:n}}(m,O);t?"function"==typeof t?(console.warn("Passing functions as resolver parameter is deprecated. Use `info.mergeInfo` instead."),t=t(N)):Array.isArray(t)&&(t=t.reduce((function(e,n){return"function"==typeof n&&(console.warn("Passing functions as resolver parameter is deprecated. Use `info.mergeInfo` instead."),n=n(N)),f.default(e,n)}),{})):t={};var I={};Object.keys(T).forEach((function(e){var n=function(e,n,t){t||(t=function(e){return e[e.length-1]});var i=u.createResolveType((function(e,n){return n}));if("Query"===e||"Mutation"===e||"Subscription"===e){var o,c={};switch(e){case"Query":o="query";break;case"Mutation":o="mutation";break;case"Subscription":o="subscription"}var s={},l="subscription"===o?"subscribe":"resolve";return n.forEach((function(e){var n=e.type,t=e.schema,i=n.getFields();c=r(r({}
39588,c),i),Object.keys(i).forEach((function(e){var n;s[e]=((n={})[l]=function(e,n,t){return function(r,i,a,o){return o.mergeInfo.delegateToSchema({schema:e,operation:n,fieldName:t,args:i,context:a,info:o})}}(t,o,e),n)}))})),{type:new a.GraphQLObjectType({name:e,fields:u.fieldMapToFieldConfigMap(c,i,!1)}),resolvers:s}}return t(n).type}(e,T[e]);if(null===n)g[e]=null;else{var t=void 0,i=void 0;if(a.isNamedType(n))t=n;else{if(!n.type)throw new Error("Invalid visitType result for type "+e);t=n.type,i=n.resolvers}g[e]=u.recreateType(t,_,!1),i&&(I[e]=i)}}));var S=new a.GraphQLSchema({query:g.Query,mutation:g.Mutation,subscription:g.Subscription,types:Object.keys(g).map((function(e){return g[e]})),directives:E.map((function(e){return u.recreateDirective(e,_)}))});b.forEach((function(e){S=a.extendSchema(S,e,{commentDescriptions:!0})})),t?Array.isArray(t)&&(t=t.reduce(f.default,{})):t={};Object.keys(t).forEach((function(e){var n=t[e];n instanceof a.GraphQLScalarType||Object.keys(n).forEach((function(e){var t=n[e];t.fragment&&O.push({field:e,fragment:t.fragment})}))})),D=S=o.addResolveFunctionsToSchema({schema:S,resolvers:f.default(I,t),inheritResolversFromInterfaces:y}),L=function(e){if(e.resolve){var n=e.resolve;e.resolve=function(e,t,i,a){var o=r(r({},a),{mergeInfo:N});return n(e,t,i,o)}}if(e.subscribe){var t=e.subscribe;e.subscribe=function(e,n,i,a){var o=r(r({},a),{mergeInfo:N});return t(e,n,i,o)}}},A=D.getTypeMap(),void Object.keys(A).forEach((function(e){var n=A[e];if(!a.getNamedType(n).name.startsWith("__")&&n instanceof a.GraphQLObjectType){var t=n.getFields();Object.keys(t).forEach((function(n){var r=t[n];L(r,e,n)}))}})),v&&p.SchemaDirectiveVisitor.visitSchemaDirectives(S,v);var D,L,A;return S}({schemas:n,resolvers:e.resolvers,schemaDirectives:e.schemaDirectives,inheritResolversFromInterfaces:e.inheritResolversFromInterfaces,mergeDirectives:e.mergeDirectives})}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(47);function i(e,n){return new Promise((function(t){return t(n(e))}))}function a(e){return{value:e,done:!1}}n.default=function(e,n,t){var o,u,c,s;function l(e){return e.done?e:i(e.value,n).then(a,c)}if("function"==typeof e.return&&(u=e.return,c=function(n){var t=function(){return Promise.reject(n)};return u.call(e).then(t,t)}),t){var f=t;s=function(e){return i(e,f).then(a,c)}}return(o={next:function(){return e.next().then(l,s)},return:function(){return u?u.call(e).then(l,s):Promise.resolve({value:void 0,done:!0})},throw:function(n){return"function"==typeof e.throw?e.throw(n).then(l,s):Promise.reject(n).catch(c)}})[r.$$asyncIterator]=function(){return this},o}},function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=function(){function e(e){this.enumNode=e}return e.prototype.transformResult=function(e){var n=this.enumNode.getValue(e);return n?n.value:e},e}();n.default=t},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(6),i=t(200),a={commentDescriptions:!0};function o(e){var n={};return e.forEach((function(e){var t=e.directives.find((function(e){return e&&e.name&&"deprecated"===e.name.value})),i=t&&t.arguments&&t.arguments.find((function(e){return e&&e.name&&"reason"===e.name.value})),o=i&&i.value&&i.value.value;n[e.name.value]={type:c(e.type,"object"),args:u(e.arguments),description:r.getDescription(e,a),deprecationReason:o}})),n}function u(e){var n={};return e.forEach((function(e){var t=c(e.type,"input");n[e.name.value]={type:t,defaultValue:r.valueFromAST(e.defaultValue,t),description:r.getDescription(e,a)}})),n}function c(e,n){switch(e.kind){case r.Kind.LIST_TYPE:return new r.GraphQLList(c(e.type,n));case r.Kind.NON_NULL_TYPE:return new r.GraphQLNonNull(c(e.type,n));default:return s(e.name.value,n)}}function s(e,n){return new("object"===n?r.GraphQLObjectType:"interface"===n?r.GraphQLInterfaceType:r.GraphQLInputObjectType)({name:e,fields:{__fake:{type:r.GraphQLString}}})}n.default=function(e){switch(e.kind){case r.Kind.OBJECT_TYPE_DEFINITION:return function(e){return new r.GraphQLObjectType({name:e.name.value,fields:function(){return o(e.fields)},interfaces:function(){return e.interfaces.map((function(e){return s(e.name.value,"interface")}))},description:r.getDescription(e,a)})}(e);case r.Kind.INTERFACE_TYPE_DEFINITION:return function(e){return new r.GraphQLInterfaceType({name:e.name.value,fields:function(){return o(e.fields)},description:r.getDescription(e,a),resolveType:function(e,n,t){return i.default(e,t.schema)}})}(e);case r.Kind.ENUM_TYPE_DEFINITION:return function(e){var n={};
39588return e.values.forEach((function(e){n[e.name.value]={description:r.getDescription(e,a)}})),new r.GraphQLEnumType({name:e.name.value,values:n,description:r.getDescription(e,a)})}(e);case r.Kind.UNION_TYPE_DEFINITION:return function(e){return new r.GraphQLUnionType({name:e.name.value,types:function(){return e.types.map((function(e){return c(e,"object")}))},description:r.getDescription(e,a),resolveType:function(e,n,t){return i.default(e,t.schema)}})}(e);case r.Kind.SCALAR_TYPE_DEFINITION:return function(e){return new r.GraphQLScalarType({name:e.name.value,description:r.getDescription(e,a),serialize:function(){return null},parseValue:function(){return!1},parseLiteral:function(){return!1}})}(e);case r.Kind.INPUT_OBJECT_TYPE_DEFINITION:return function(e){return new r.GraphQLInputObjectType({name:e.name.value,fields:function(){return u(e.fields)},description:r.getDescription(e,a)})}(e);case r.Kind.DIRECTIVE_DEFINITION:return function(e){var n=[];return e.locations.forEach((function(e){e.value in r.DirectiveLocation&&n.push(e.value)})),new r.GraphQLDirective({name:e.name.value,description:e.description?e.description.value:null,args:u(e.arguments),locations:n})}(e);default:return null}}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(127),i=t(129),a=t(199),o=t(376);n.default=function(e,n){var t=i.visitSchema(e,{},!0),u=o.generateSimpleMapping(e),c=o.generateProxyingResolvers(e,n,u);return t=r.addResolveFunctionsToSchema({schema:t,resolvers:c,resolverValidationOptions:{allowResolversNotInSchema:!0}}),(t=a.applySchemaTransforms(t,n)).transforms=n,t}},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(203);function i(e,n){var t={},r=e.getFields();return Object.keys(r).forEach((function(e){t[e]={name:e,operation:n}})),t}n.generateProxyingResolvers=function(e,n,t){var i={};return Object.keys(t).forEach((function(a){i[a]={};var o=t[a];Object.keys(o).forEach((function(t){var u,c=o[t],s="subscription"===c.operation?"subscribe":"resolve";i[a][t]=((u={})[s]=function(e,n,t,i){return function(a,o,u,c){return r.default({schema:e,operation:n,fieldName:t,args:{},context:u,info:c,transforms:i})}}(e,c.operation,c.name,n),u)}))})),i},n.generateSimpleMapping=function(e){var n=e.getQueryType(),t=e.getMutationType(),r=e.getSubscriptionType(),a={};return n&&(a[n.name]=i(n,"query")),t&&(a[t.name]=i(t,"mutation")),r&&(a[r.name]=i(r,"subscription")),a},n.generateMappingFromObjectType=i},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=t(286),o=t(129),u=function(){function e(e,n){this.renamer=e,this.reverseMap={};var t=n||{},r=t.renameBuiltins,i=void 0!==r&&r,a=t.renameScalars,o=void 0===a||a;this.renameBuiltins=i,this.renameScalars=o}return e.prototype.transformSchema=function(e){var n,t=this;return o.visitSchema(e,((n={})[o.VisitSchemaKind.TYPE]=function(e){if((!a.default(e)||t.renameBuiltins)&&(!(e instanceof i.GraphQLScalarType)||t.renameScalars)){var n=t.renamer(e.name);if(n&&n!==e.name){t.reverseMap[n]=e.name;var r=Object.assign(Object.create(e),e);return r.name=n,r}}},n[o.VisitSchemaKind.ROOT_OBJECT]=function(e){},n))},e.prototype.transformRequest=function(e){var n,t=this;return{document:i.visit(e.document,((n={})[i.Kind.NAMED_TYPE]=function(e){var n=e.name.value;if(n in t.reverseMap)return r(r({},e),{name:{kind:i.Kind.NAME,value:t.reverseMap[n]}})},n)),variables:e.variables}},e.prototype.transformResult=function(e){if(e.data){var n=this.renameTypes(e.data,"data");if(n!==e.data)return r(r({},e),{data:n})}return e},e.prototype.renameTypes=function(e,n){var t=this;if("__typename"===n)return this.renamer(e);if(e&&"object"==typeof e){var r=Array.isArray(e)?[]:Object.create(Object.getPrototypeOf(e)),i=!1;if(Object.keys(e).forEach((function(n){var a=e[n],o=t.renameTypes(a,n);r[n]=o,o!==a&&(i=!0)})),i)return r}return e},e}();n.default=u},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(129),i=function(){function e(e){this.filter=e}return e.prototype.transformSchema=function(e){var n,t=this;return r.visitSchema(e,((n={})[r.VisitSchemaKind.TYPE]=function(e){return t.filter(e)?void 0:null},n))},e}();n.default=i},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(130),i=t(204),a=function(){function e(e){var n=r.createResolveType((function(e,n){return n}));this.transformer=new i.default((function(t,i,a){return{name:e(t,i,a),field:r.fieldToFieldConfig(a,n,!0)}}))}return e.prototype.transformSchema=function(e){return this.transformer.transformSchema(e)},e}();n.default=a},function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0});var r=t(204),i=function(){function e(e){this.transformer=new r.default((function(n,t,r){return e(n,t,r)?void 0:null}))}return e.prototype.transformSchema=function(e){return this.transformer.transformSchema(e)},e}();n.default=i},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};Object.defineProperty(n,"__esModule",{value:!0});var i=t(6),a=function(){function e(e){var n=e.from,t=e.to;this.from=n,this.to=t}return e.prototype.transformRequest=function(e){var n,t,a,o=JSON.stringify(this.from),u=JSON.stringify(this.to),c=[];i.visit(e.document,((n={})[i.Kind.FIELD]={enter:function(e){if(c.push(e.name.value),o===JSON.stringify(c))return a=e.selectionSet,i.BREAK},leave:function(e){c.pop()}},n)),c=[];var s=i.visit(e.document,((t={})[i.Kind.FIELD]={enter:function(e){if(c.push(e.name.value),u===JSON.stringify(c)&&a)return r(r({},e),{selectionSet:a})},leave:function(e){c.pop()}},t));return r(r({},e),{document:s})},e}();n.default=a},function(e,n,t){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)},i=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),i=0;for(n=0;n<t;n++)for(var a=arguments[n],o=0,u=a.length;o<u;o++,i++)r[i]=a[o];return r};Object.defineProperty(n,"__esModule",{value:!0});var a=t(6),o=function(){function e(e,n,t){this.path=e,this.wrapper=n,this.extractor=t}return e.prototype.transformRequest=function(e){var n,t=this,i=e.document,o=[],u=JSON.stringify(this.path),c=a.visit(i,((n={})[a.Kind.FIELD]={enter:function(e){if(o.push(e.name.value),u===JSON.stringify(o)){var n=t.
39588wrapper(e.selectionSet),i=n.kind===a.Kind.SELECTION_SET?n:{kind:a.Kind.SELECTION_SET,selections:[n]};return r(r({},e),{selectionSet:i})}},leave:function(e){o.pop()}},n));return r(r({},e),{document:c})},e.prototype.transformResult=function(e){var n=e.data;if(n){for(var t=n,r=i(this.path);r.length>1;){var a=r.shift();t[a]&&(t=t[a])}t[r[0]]=this.extractor(t[r[0]])}return{data:n,errors:e.errors}},e}();n.default=o}]]);(window.webpackJsonp_name_=window.webpackJsonp_name_||[]).push([[0],[,function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return F})),r.d(e,"b",(function(){return p})),r.d(e,"c",(function(){return j})),r.d(e,"d",(function(){return V})),r.d(e,"e",(function(){return H})),r.d(e,"f",(function(){return z})),r.d(e,"g",(function(){return Q})),r.d(e,"h",(function(){return P})),r.d(e,"i",(function(){return g})),r.d(e,"j",(function(){return A})),r.d(e,"k",(function(){return S})),r.d(e,"l",(function(){return E})),r.d(e,"m",(function(){return $})),r.d(e,"n",(function(){return C})),r.d(e,"o",(function(){return R})),r.d(e,"p",(function(){return f})),r.d(e,"q",(function(){return Y})),r.d(e,"r",(function(){return w})),r.d(e,"s",(function(){return _})),r.d(e,"t",(function(){return h})),r.d(e,"u",(function(){return y})),r.d(e,"v",(function(){return v})),r.d(e,"w",(function(){return b})),r.d(e,"x",(function(){return W})),r.d(e,"y",(function(){return J})),r.d(e,"z",(function(){return Z})),r.d(e,"A",(function(){return tt})),r.d(e,"B",(function(){return et})),r.d(e,"C",(function(){return B})),r.d(e,"D",(function(){return N})),r.d(e,"E",(function(){return d})),r.d(e,"F",(function(){return O})),r.d(e,"G",(function(){return c})),r.d(e,"H",(function(){return m})),r.d(e,"I",(function(){return G}));var n=r(28),i=r(3),o=r(0),a=r(86),s=r.n(a);r(29);function u(t,e,r,n){if(function(t){return"IntValue"===t.kind}(r)||function(t){return"FloatValue"===t.kind}(r))t[e.value]=Number(r.value);else if(function(t){return"BooleanValue"===t.kind}(r)||function(t){return"StringValue"===t.kind}(r))t[e.value]=r.value;else if(function(t){return"ObjectValue"===t.kind}(r)){var o={};r.fields.map((function(t){return u(o,t.name,t.value,n)})),t[e.value]=o}else if(function(t){return"Variable"===t.kind}(r)){var a=(n||{})[r.name.value];t[e.value]=a}else if(function(t){return"ListValue"===t.kind}(r))t[e.value]=r.values.map((function(t){var r={};return u(r,e,t,n),r[e.value]}));else if(function(t){return"EnumValue"===t.kind}(r))t[e.value]=r.value;else{if(!function(t){return"NullValue"===t.kind}(r))throw new i.a(17);t[e.value]=null}}function c(t,e){var r=null;t.directives&&(r={},t.directives.forEach((function(t){r[t.name.value]={},t.arguments&&t.arguments.forEach((function(n){var i=n.name,o=n.value;return u(r[t.name.value],i,o,e)}))})));var n=null;return t.arguments&&t.arguments.length&&(n={},t.arguments.forEach((function(t){var r=t.name,i=t.value;return u(n,r,i,e)}))),f(t.name.value,n,r)}var l=["connection","include","skip","client","rest","export"];function f(t,e,r){if(r&&r.connection&&r.connection.key){if(r.connection.filter&&r.connection.filter.length>0){var n=r.connection.filter?r.connection.filter:[];n.sort();var i=e,o={};return n.forEach((function(t){o[t]=i[t]})),r.connection.key+"("+JSON.stringify(o)+")"}return r.connection.key}var a=t;if(e){var u=s()(e);a+="("+u+")"}return r&&Object.keys(r).forEach((function(t){-1===l.indexOf(t)&&(r[t]&&Object.keys(r[t]).length?a+="@"+t+"("+JSON.stringify(r[t])+")":a+="@"+t)})),a}function p(t,e){if(t.arguments&&t.arguments.length){var r={};return t.arguments.forEach((function(t){var n=t.name,i=t.value;return u(r,n,i,e)})),r}return null}function d(t){return t.alias?t.alias.value:t.name.value}function h(t){return"Field"===t.kind}function v(t){return"InlineFragment"===t.kind}function y(t){return t&&"id"===t.type&&"boolean"==typeof t.generated}function m(t,e){return void 0===e&&(e=!1),Object(o.a)({type:"id",generated:e},"string"==typeof t?{id:t,typename:void 0}:t)}function b(t){return null!=t&&"object"==typeof t&&"json"===t.type}function g(t,e){if(t.directives&&t.directives.length){var r={};return t.directives.forEach((function(t){r[t.name.value]=p(t,e)})),r}return null}function O(t,e){return void 0===e&&(e={}),(r=t.directives,r?r.filter(k).map((function(t){var e=t.arguments;t.name.value,Object(i.b)(e&&1===e.length,14);var r=e[0];Object(i.b)(r.name&&"if"===r.name.value,15);var n=r.value;return Object(i.b)(n&&("Variable"===n.kind||"BooleanValue"===n.kind),16),{directive:t,ifArgument:r}})):[]).every((function(t){var r=t.directive,n=t.ifArgument,o=!1;return"Variable"===n.value.kind?(o=e[n.value.name.value],Object(i.b)(void 0!==o,13)):o=n.value.value,"skip"===r.name.value?!o:o}));var r}function _(t,e){return function(t){var e=[];return Object(n.visit)(t,{Directive:function(t){e.push(t.name.value)}}),e}(e).some((function(e){return t.indexOf(e)>-1}))}
39588function w(t){return t&&_(["client"],t)&&_(["export"],t)}function k(t){var e=t.name.value;return"skip"===e||"include"===e}function S(t,e){var r=e,n=[];return t.definitions.forEach((function(t){if("OperationDefinition"===t.kind)throw new i.a(11);"FragmentDefinition"===t.kind&&n.push(t)})),void 0===r&&(Object(i.b)(1===n.length,12),r=n[0].name.value),Object(o.a)(Object(o.a)({},t),{definitions:Object(o.e)([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:r}}]}}],t.definitions)})}function j(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.forEach((function(e){null!=e&&Object.keys(e).forEach((function(r){t[r]=e[r]}))})),t}function x(t){Object(i.b)(t&&"Document"===t.kind,2);var e=t.definitions.filter((function(t){return"FragmentDefinition"!==t.kind})).map((function(t){if("OperationDefinition"!==t.kind)throw new i.a(3);return t}));return Object(i.b)(e.length<=1,4),t}function $(t){return x(t),t.definitions.filter((function(t){return"OperationDefinition"===t.kind}))[0]}function C(t){return t.definitions.filter((function(t){return"OperationDefinition"===t.kind&&t.name})).map((function(t){return t.name.value}))[0]||null}function A(t){return t.definitions.filter((function(t){return"FragmentDefinition"===t.kind}))}function R(t){var e=$(t);return Object(i.b)(e&&"query"===e.operation,6),e}function E(t){var e;x(t);for(var r=0,n=t.definitions;r<n.length;r++){var o=n[r];if("OperationDefinition"===o.kind){var a=o.operation;if("query"===a||"mutation"===a||"subscription"===a)return o}"FragmentDefinition"!==o.kind||e||(e=o)}if(e)return e;throw new i.a(10)}function Q(t){void 0===t&&(t=[]);var e={};return t.forEach((function(t){e[t.name.value]=t})),e}function P(t){if(t&&t.variableDefinitions&&t.variableDefinitions.length){var e=t.variableDefinitions.filter((function(t){return t.defaultValue})).map((function(t){var e=t.variable,r=t.defaultValue,n={};return u(n,e.name,r),n}));return j.apply(void 0,Object(o.e)([{}],e))}return{}}function M(t,e,r){var n=0;return t.forEach((function(r,i){e.call(this,r,i,t)&&(t[n++]=r)}),r),t.length=n,t}var I={kind:"Field",name:{kind:"Name",value:"__typename"}};function q(t){return function t(e,r){return e.selectionSet.selections.every((function(e){return"FragmentSpread"===e.kind&&t(r[e.name.value],r)}))}($(t)||function(t){Object(i.b)("Document"===t.kind,7),Object(i.b)(t.definitions.length<=1,8);var e=t.definitions[0];return Object(i.b)("FragmentDefinition"===e.kind,9),e}(t),Q(A(t)))?null:t}function D(t){return function(e){return t.some((function(t){return t.name&&t.name===e.name.value||t.test&&t.test(e)}))}}function T(t,e){var r=Object.create(null),i=[],a=Object.create(null),s=[],u=q(Object(n.visit)(e,{Variable:{enter:function(t,e,n){"VariableDefinition"!==n.kind&&(r[t.name.value]=!0)}},Field:{enter:function(e){if(t&&e.directives&&(t.some((function(t){return t.remove}))&&e.directives&&e.directives.some(D(t))))return e.arguments&&e.arguments.forEach((function(t){"Variable"===t.value.kind&&i.push({name:t.value.name.value})})),e.selectionSet&&function t(e){var r=[];return e.selections.forEach((function(e){(h(e)||v(e))&&e.selectionSet?t(e.selectionSet).forEach((function(t){return r.push(t)})):"FragmentSpread"===e.kind&&r.push(e)})),r}(e.selectionSet).forEach((function(t){s.push({name:t.name.value})})),null}},FragmentSpread:{enter:function(t){a[t.name.value]=!0}},Directive:{enter:function(e){if(D(t)(e))return null}}}));return u&&M(i,(function(t){return!r[t.name]})).length&&(u=function(t,e){var r=function(t){return function(e){return t.some((function(t){return e.value&&"Variable"===e.value.kind&&e.value.name&&(t.name===e.value.name.value||t.test&&t.test(e))}))}}(t);return q(Object(n.visit)(e,{OperationDefinition:{enter:function(e){return Object(o.a)(Object(o.a)({},e),{variableDefinitions:e.variableDefinitions.filter((function(e){return!t.some((function(t){return t.name===e.variable.name.value}))}))})}},Field:{enter:function(e){if(t.some((function(t){return t.remove}))){var n=0;if(e.arguments.forEach((function(t){r(t)&&(n+=1)})),1===n)return null}}},Argument:{enter:function(t){if(r(t))return null}}}))}
39588(i,u)),u&&M(s,(function(t){return!a[t.name]})).length&&(u=function(t,e){function r(e){if(t.some((function(t){return t.name===e.name.value})))return null}return q(Object(n.visit)(e,{FragmentSpread:{enter:r},FragmentDefinition:{enter:r}}))}(s,u)),u}function F(t){return Object(n.visit)(x(t),{SelectionSet:{enter:function(t,e,r){if(!r||"OperationDefinition"!==r.kind){var n=t.selections;if(n)if(!n.some((function(t){return h(t)&&("__typename"===t.name.value||0===t.name.value.lastIndexOf("__",0))}))){var i=r;if(!(h(i)&&i.directives&&i.directives.some((function(t){return"export"===t.name.value}))))return Object(o.a)(Object(o.a)({},t),{selections:Object(o.e)(n,[I])})}}}}})}var L={test:function(t){var e="connection"===t.name.value;return e&&(!t.arguments||t.arguments.some((function(t){return"key"===t.name.value}))),e}};function N(t){return T([L],x(t))}function V(t){return"query"===E(t).operation?t:Object(n.visit)(t,{OperationDefinition:{enter:function(t){return Object(o.a)(Object(o.a)({},t),{operation:"query"})}}})}function B(t){x(t);var e=T([{test:function(t){return"client"===t.name.value},remove:!0}],t);return e&&(e=Object(n.visit)(e,{FragmentDefinition:{enter:function(t){if(t.selectionSet&&t.selectionSet.selections.every((function(t){return h(t)&&"__typename"===t.name.value})))return null}}})),e}var H="function"==typeof WeakMap&&!("object"==typeof navigator&&"ReactNative"===navigator.product),U=Object.prototype.toString;function z(t){return function t(e,r){switch(U.call(e)){case"[object Array]":if(r.has(e))return r.get(e);var n=e.slice(0);return r.set(e,n),n.forEach((function(e,i){n[i]=t(e,r)})),n;case"[object Object]":if(r.has(e))return r.get(e);var i=Object.create(Object.getPrototypeOf(e));return r.set(e,i),Object.keys(e).forEach((function(n){i[n]=t(e[n],r)})),i;default:return e}}(t,new Map)}function K(e){return(void 0!==t?"production":"development")===e}function W(){return!0===K("production")}function J(){return!0===K("test")}function G(t){try{return t()}catch(t){console.error&&console.error(t)}}function Y(t){return t.errors&&t.errors.length}function Z(t){if((!0===K("development")||J())&&!("function"==typeof Symbol&&"string"==typeof Symbol("")))return function t(e){return Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(r){null===e[r]||"object"!=typeof e[r]&&"function"!=typeof e[r]||Object.isFrozen(e[r])||t(e[r])})),e}(t);return t}var X=Object.prototype.hasOwnProperty;function tt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return et(t)}function et(t){var e=t[0]||{},r=t.length;if(r>1){var n=[];e=it(e,n);for(var i=1;i<r;++i)e=nt(e,t[i],n)}return e}function rt(t){return null!==t&&"object"==typeof t}function nt(t,e,r){return rt(e)&&rt(t)?(Object.isExtensible&&!Object.isExtensible(t)&&(t=it(t,r)),Object.keys(e).forEach((function(n){var i=e[n];if(X.call(t,n)){var o=t[n];i!==o&&(t[n]=nt(it(o,r),i,r))}else t[n]=i})),t):e}function it(t,e){return null!==t&&"object"==typeof t&&e.indexOf(t)<0&&(t=Array.isArray(t)?t.slice(0):Object(o.a)({__proto__:Object.getPrototypeOf(t)},t),e.push(t)),t}Object.create({})}).call(this,r(22))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";r.r(e),function(t,r){var n=Object.freeze({});function i(t){return null==t}function o(t){return null!=t}function a(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function l(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return o(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function y(t,e){for(var r=Object.create(null),n=t.split(","),i=0;i<n.length;i++)r[n[i]]=!0;return e?function(t){return r[t.toLowerCase()]}:function(t){return r[t]}}var m=y("slot,component",!0),b=y("key,ref,slot,slot-scope,is");function g(t,e){if(t.length){var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}var O=Object.prototype.hasOwnProperty;function _(t,e){return O.call(t,e)}function w(t){var e=Object.create(null);return function(r){return e[r]||(e[r]=t(r))}}var k=/-(\w)/g,S=w((function(t){return t.replace(k,(function(t,e){return e?e.toUpperCase():""}))})),j=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),x=/\B([A-Z])/g,$=w((function(t){return t.replace(x,"-$1").toLowerCase()}));var C=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function r(r){var n=arguments.length;return n?n>1?t.apply(e,arguments):t.call(e,r):t.call(e)}return r._length=t.length,r};function A(t,e){e=e||0;for(var r=t.length-e,n=new Array(r);r--;)n[r]=t[r+e];return n}function R(t,e){for(var r in e)t[r]=e[r];return t}function E(t){for(var e={},r=0;r<t.length;r++)t[r]&&R(e,t[r]);return e}function Q(t,e,r){}var P=function(t,e,r){return!1},M=function(t){return t};function I(t,e){if(t===e)return!0;var r=u(t),n=u(e);if(!r||!n)return!r&&!n&&String(t)===String(e);try{var i=Array.isArray(t),o=Array.isArray(e);if(i&&o)return t.length===e.length&&t.every((function(t,r){return I(t,e[r])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(i||o)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every((function(r){return I(t[r],e[r])}))}catch(t){return!1}}function q(t,e){for(var r=0;r<t.length;r++)if(I(t[r],e))return r;return-1}function D(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var T=["component","directive","filter"],F=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","
39588serverPrefetch"],L={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:P,isReservedAttr:P,isUnknownElement:P,getTagNamespace:Q,parsePlatformTagName:M,mustUseProp:P,async:!0,_lifecycleHooks:F},N=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function V(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function B(t,e,r,n){Object.defineProperty(t,e,{value:r,enumerable:!!n,writable:!0,configurable:!0})}var H=new RegExp("[^"+N.source+".$_\\d]");var U,z="__proto__"in{},K="undefined"!=typeof window,W="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,J=W&&WXEnvironment.platform.toLowerCase(),G=K&&window.navigator.userAgent.toLowerCase(),Y=G&&/msie|trident/.test(G),Z=G&&G.indexOf("msie 9.0")>0,X=G&&G.indexOf("edge/")>0,tt=(G&&G.indexOf("android"),G&&/iphone|ipad|ipod|ios/.test(G)||"ios"===J),et=(G&&/chrome\/\d+/.test(G),G&&/phantomjs/.test(G),G&&G.match(/firefox\/(\d+)/)),rt={}.watch,nt=!1;if(K)try{var it={};Object.defineProperty(it,"passive",{get:function(){nt=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var ot=function(){return void 0===U&&(U=!K&&!W&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),U},at=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function st(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,ct="undefined"!=typeof Symbol&&st(Symbol)&&"undefined"!=typeof Reflect&&st(Reflect.ownKeys);ut="undefined"!=typeof Set&&st(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var lt=Q,ft=0,pt=function(){this.id=ft++,this.subs=[]};pt.prototype.addSub=function(t){this.subs.push(t)},pt.prototype.removeSub=function(t){g(this.subs,t)}
vendor: 4,387 bytes, line 39588
39588,pt.prototype.depend=function(){pt.target&&pt.target.addDep(this)},pt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,r=t.length;e<r;e++)t[e].update()},pt.target=null;var dt=[];function ht(t){dt.push(t),pt.target=t}function vt(){dt.pop(),pt.target=dt[dt.length-1]}var yt=function(t,e,r,n,i,o,a,s){this.tag=t,this.data=e,this.children=r,this.text=n,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},mt={child:{configurable:!0}};mt.child.get=function(){return this.componentInstance},Object.defineProperties(yt.prototype,mt);var bt=function(t){void 0===t&&(t="");var e=new yt;return e.text=t,e.isComment=!0,e};function gt(t){return new yt(void 0,void 0,void 0,String(t))}function Ot(t){var e=new yt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var _t=Array.prototype,wt=Object.create(_t);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var e=_t[t];B(wt,t,(function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];var i,o=e.apply(this,r),a=this.__ob__;switch(t){case"push":case"unshift":i=r;break;case"splice":i=r.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o}))}));var kt=Object.getOwnPropertyNames(wt),St=!0;function jt(t){St=t}var xt=function(t){this.value=t,this.dep=new pt,this.vmCount=0,B(t,"__ob__",this),Array.isArray(t)?(z?function(t,e){t.__proto__=e}(t,wt):function(t,e,r){for(var n=0,i=r.length;n<i;n++){var o=r[n];B(t,o,e[o])}}(t,wt,kt),this.observeArray(t)):this.walk(t)};function $t(t,e){var r;if(u(t)&&!(t instanceof yt))return _(t,"__ob__")&&t.__ob__ instanceof xt?r=t.__ob__:St&&!ot()&&(Array.isArray(t)||l(t))&&Object.isExtensible(t)&&!t._isVue&&(r=new xt(t)),e&&r&&r.vmCount++,r}function Ct(t,e,r,n,i){var o=new pt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,u=a&&a.set;s&&!u||2!==arguments.length||(r=t[e]);var c=!i&&$t(r);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):r;return pt.target&&(o.depend(),c&&(c.dep.depend(),Array.isArray(e)&&Et(e))),e},set:function(e){var n=s?s.call(t):r;e===n||e!=e&&n!=n||s&&!u||(u?u.call(t,e):r=e,c=!i&&$t(e),o.notify())}})}}function At(t,e,r){if(Array.isArray(t)&&p(e))return t.length=Math.max(t.length,e),t.splice(e,1,r),r;if(e in t&&!(e in Object.prototype))return t[e]=r,r;var n=t.__ob__;return t._isVue||n&&n.vmCount?r:n?(Ct(n.value,e,r),n.dep.notify(),r):(t[e]=r,r)}function Rt(t,e){if(Array.isArray(t)&&p(e))t.splice(e,1);else{var r=t.__ob__;t._isVue||r&&r.vmCount||_(t,e)&&(delete t[e],r&&r.dep.notify())}}function Et(t){for(var e=void 0,r=0,n=t.length;r<n;r++)(e=t[r])&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Et(e)}xt.prototype.walk=function(t){for(var e=Object.keys(t),r=0;r<e.length;r++)Ct(t,e[r])},xt.prototype.observeArray=function(t){for(var e=0,r=t.length;e<r;e++)$t(t[e])};var Qt=L.optionMergeStrategies;function Pt(t,e){if(!e)return t;for(var r,n,i,o=ct?Reflect.ownKeys(e):Object.keys(e),a=0;a<o.length;a++)"__ob__"!==(r=o[a])&&(n=t[r],i=e[r],_(t,r)?n!==i&&l(n)&&l(i)&&Pt(n,i):At(t,r,i));return t}function Mt(t,e,r){return r?function(){var n="function"==typeof e?e.call(r,r):e,i="function"==typeof t?t.call(r,r):t;return n?Pt(n,i):i}:e?t?function(){return Pt("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function It(t,e){var r=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return r?function(t){for(var e=[],r=0;r<t.length;r++)-1===e.indexOf(t[r])&&e.push(t[r]);return e}(r):r}function qt(t,e,r,n){var i=Object.create(t||null);return e?R(i,e):i}Qt.data=function(t,e,r){return r?Mt(t,e,r):e&&"function"!=typeof e?t:Mt(t,e)},F.forEach((function(t){Qt[t]=It})),T.forEach((function(t){Qt[t+"s"]=qt})),Qt.watch=function(t,e,r,n){if(t===rt&&(t=void 0),e===rt&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};for(var o in R(i,t),e){var a=i[o],s=e[o];
vendor: 3,040 bytes, line 39588
39588a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Qt.props=Qt.methods=Qt.inject=Qt.computed=function(t,e,r,n){if(!t)return e;var i=Object.create(null);return R(i,t),e&&R(i,e),i},Qt.provide=Mt;var Dt=function(t,e){return void 0===e?t:e};function Tt(t,e,r){if("function"==typeof e&&(e=e.options),function(t,e){var r=t.props;if(r){var n,i,o={};if(Array.isArray(r))for(n=r.length;n--;)"string"==typeof(i=r[n])&&(o[S(i)]={type:null});else if(l(r))for(var a in r)i=r[a],o[S(a)]=l(i)?i:{type:i};else 0;t.props=o}}(e),function(t,e){var r=t.inject;if(r){var n=t.inject={};if(Array.isArray(r))for(var i=0;i<r.length;i++)n[r[i]]={from:r[i]};else if(l(r))for(var o in r){var a=r[o];n[o]=l(a)?R({from:o},a):{from:a}}else 0}}(e),function(t){var e=t.directives;if(e)for(var r in e){var n=e[r];"function"==typeof n&&(e[r]={bind:n,update:n})}}(e),!e._base&&(e.extends&&(t=Tt(t,e.extends,r)),e.mixins))for(var n=0,i=e.mixins.length;n<i;n++)t=Tt(t,e.mixins[n],r);var o,a={};for(o in t)s(o);for(o in e)_(t,o)||s(o);function s(n){var i=Qt[n]||Dt;a[n]=i(t[n],e[n],r,n)}return a}function Ft(t,e,r,n){if("string"==typeof r){var i=t[e];if(_(i,r))return i[r];var o=S(r);if(_(i,o))return i[o];var a=j(o);return _(i,a)?i[a]:i[r]||i[o]||i[a]}}function Lt(t,e,r,n){var i=e[t],o=!_(r,t),a=r[t],s=Ht(Boolean,i.type);if(s>-1)if(o&&!_(i,"default"))a=!1;else if(""===a||a===$(t)){var u=Ht(String,i.type);(u<0||s<u)&&(a=!0)}if(void 0===a){a=function(t,e,r){if(!_(e,"default"))return;var n=e.default;0;if(t&&t.$options.propsData&&void 0===t.$options.propsData[r]&&void 0!==t._props[r])return t._props[r];return"function"==typeof n&&"Function"!==Vt(e.type)?n.call(t):n}(n,i,t);var c=St;jt(!0),$t(a),jt(c)}return a}var Nt=/^\s*function (\w+)/;function Vt(t){var e=t&&t.toString().match(Nt);return e?e[1]:""}function Bt(t,e){return Vt(t)===Vt(e)}function Ht(t,e){if(!Array.isArray(e))return Bt(e,t)?0:-1;for(var r=0,n=e.length;r<n;r++)if(Bt(e[r],t))return r;return-1}function Ut(t,e,r){ht();try{if(e)for(var n=e;n=n.$parent;){var i=n.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(n,t,e,r))return}catch(t){Kt(t,n,"errorCaptured hook")}}Kt(t,e,r)}finally{vt()}}function zt(t,e,r,n,i){var o;try{(o=r?t.apply(e,r):t.call(e))&&!o._isVue&&d(o)&&!o._handled&&(o.catch((function(t){return Ut(t,n,i+" (Promise/async)")})),o._handled=!0)}catch(t){Ut(t,n,i)}return o}function Kt(t,e,r){if(L.errorHandler)try{return L.errorHandler.call(null,t,e,r)}catch(e){e!==t&&Wt(e,null,"config.errorHandler")}Wt(t,e,r)}function Wt(t,e,r){if(!K&&!W||"undefined"==typeof console)throw t;console.error(t)}var Jt,Gt=!1,Yt=[],Zt=!1;function Xt(){Zt=!1;var t=Yt.slice(0);Yt.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&st(Promise)){var te=Promise.resolve();Jt=function(){te.then(Xt),tt&&setTimeout(Q)},Gt=!0}else if(Y||"undefined"==typeof MutationObserver||!st(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Jt=void 0!==r&&st(r)?function(){r(Xt)}:function(){setTimeout(Xt,0)};
vendor: 4,800 bytes, line 39588
39588else{var ee=1,re=new MutationObserver(Xt),ne=document.createTextNode(String(ee));re.observe(ne,{characterData:!0}),Jt=function(){ee=(ee+1)%2,ne.data=String(ee)},Gt=!0}function ie(t,e){var r;if(Yt.push((function(){if(t)try{t.call(e)}catch(t){Ut(t,e,"nextTick")}else r&&r(e)})),Zt||(Zt=!0,Jt()),!t&&"undefined"!=typeof Promise)return new Promise((function(t){r=t}))}var oe=new ut;function ae(t){!function t(e,r){var n,i,o=Array.isArray(e);if(!o&&!u(e)||Object.isFrozen(e)||e instanceof yt)return;if(e.__ob__){var a=e.__ob__.dep.id;if(r.has(a))return;r.add(a)}if(o)for(n=e.length;n--;)t(e[n],r);else for(i=Object.keys(e),n=i.length;n--;)t(e[i[n]],r)}(t,oe),oe.clear()}var se=w((function(t){var e="&"===t.charAt(0),r="~"===(t=e?t.slice(1):t).charAt(0),n="!"===(t=r?t.slice(1):t).charAt(0);return{name:t=n?t.slice(1):t,once:r,capture:n,passive:e}}));function ue(t,e){function r(){var t=arguments,n=r.fns;if(!Array.isArray(n))return zt(n,null,arguments,e,"v-on handler");for(var i=n.slice(),o=0;o<i.length;o++)zt(i[o],null,t,e,"v-on handler")}return r.fns=t,r}function ce(t,e,r,n,o,s){var u,c,l,f;for(u in t)c=t[u],l=e[u],f=se(u),i(c)||(i(l)?(i(c.fns)&&(c=t[u]=ue(c,s)),a(f.once)&&(c=t[u]=o(f.name,c,f.capture)),r(f.name,c,f.capture,f.passive,f.params)):c!==l&&(l.fns=c,t[u]=l));for(u in e)i(t[u])&&n((f=se(u)).name,e[u],f.capture)}function le(t,e,r){var n;t instanceof yt&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function u(){r.apply(this,arguments),g(n.fns,u)}i(s)?n=ue([u]):o(s.fns)&&a(s.merged)?(n=s).fns.push(u):n=ue([s,u]),n.merged=!0,t[e]=n}function fe(t,e,r,n,i){if(o(e)){if(_(e,r))return t[r]=e[r],i||delete e[r],!0;if(_(e,n))return t[r]=e[n],i||delete e[n],!0}return!1}function pe(t){return s(t)?[gt(t)]:Array.isArray(t)?function t(e,r){var n,u,c,l,f=[];for(n=0;n<e.length;n++)i(u=e[n])||"boolean"==typeof u||(c=f.length-1,l=f[c],Array.isArray(u)?u.length>0&&(de((u=t(u,(r||"")+"_"+n))[0])&&de(l)&&(f[c]=gt(l.text+u[0].text),u.shift()),f.push.apply(f,u)):s(u)?de(l)?f[c]=gt(l.text+u):""!==u&&f.push(gt(u)):de(u)&&de(l)?f[c]=gt(l.text+u.text):(a(e._isVList)&&o(u.tag)&&i(u.key)&&o(r)&&(u.key="__vlist"+r+"_"+n+"__"),f.push(u)));return f}(t):void 0}function de(t){return o(t)&&o(t.text)&&!1===t.isComment}function he(t,e){if(t){for(var r=Object.create(null),n=ct?Reflect.ownKeys(t):Object.keys(t),i=0;i<n.length;i++){var o=n[i];if("__ob__"!==o){for(var a=t[o].from,s=e;s;){if(s._provided&&_(s._provided,a)){r[o]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[o]){var u=t[o].default;r[o]="function"==typeof u?u.call(e):u}else 0}}return r}}function ve(t,e){if(!t||!t.length)return{};for(var r={},n=0,i=t.length;n<i;n++){var o=t[n],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==e&&o.fnContext!==e||!a||null==a.slot)(r.default||(r.default=[])).push(o);else{var s=a.slot,u=r[s]||(r[s]=[]);"template"===o.tag?u.push.apply(u,o.children||[]):u.push(o)}}for(var c in r)r[c].every(ye)&&delete r[c];return r}function ye(t){return t.isComment&&!t.asyncFactory||" "===t.text}function me(t){return t.isComment&&t.asyncFactory}function be(t,e,r){var i,o=Object.keys(e).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var u in i={},t)t[u]&&"$"!==u[0]&&(i[u]=ge(e,u,t[u]))}else i={};for(var c in e)c in i||(i[c]=Oe(e,c));return t&&Object.isExtensible(t)&&(t._normalized=i),B(i,"$stable",a),B(i,"$key",s),B(i,"$hasNormal",o),i}function ge(t,e,r){var n=function(){var t=arguments.length?r.apply(null,arguments):r({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:pe(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!me(e))?void 0:t};return r.proxy&&Object.defineProperty(t,e,{get:n,enumerable:!0,configurable:!0}),n}function Oe(t,e){return function(){return t[e]}}function _e(t,e){var r,n,i,a,s;if(Array.isArray(t)||"string"==typeof t)for(r=new Array(t.length),n=0,i=t.length;n<i;n++)r[n]=e(t[n],n);else if("number"==typeof t)for(r=new Array(t),n=0;n<t;n++)r[n]=e(n+1,n);else if(u(t))if(ct&&t[Symbol.iterator]){r=[];for(var c=t[Symbol.iterator](),l=c.next();!l.done;)r.push(e(l.value,r.length)),l=c.next()}else for(a=Object.keys(t),r=new Array(a.length),n=0,i=a.length;n<i;n++)s=a[n],r[n]=e(t[s],s,n);return o(r)||(r=[]),r._isVList=!0,r}function we(t,e,r,n){var i,o=this.$scopedSlots[t];o?(r=r||{},n&&(r=R(R({},n),r)),i=o(r)||("function"==typeof e?e():e)):i=this.$slots[t]||("function"==typeof e?e():e);var a=r&&r.slot;return a?this.$createElement("template",{slot:a},i):i}function ke(t){return Ft(this.$options,"filters",t)||M}function Se(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function je(t,e,r,n,i){var o=L.keyCodes[e]||r;return i&&n&&!L.keyCodes[e]?Se(i,n):o?Se(o,t):n?$(n)!==e:void 0===t}function xe(t,e,r,n,i){if(r)if(u(r)){var o;Array.isArray(r)&&(r=E(r));
vendor: 8,757 bytes, line 39588
39588var a=function(a){if("class"===a||"style"===a||b(a))o=t;else{var s=t.attrs&&t.attrs.type;o=n||L.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var u=S(a),c=$(a);u in o||c in o||(o[a]=r[a],i&&((t.on||(t.on={}))["update:"+a]=function(t){r[a]=t}))};for(var s in r)a(s)}return t}function $e(t,e){var r=this._staticTrees||(this._staticTrees=[]),n=r[t];return n&&!e||Ae(n=r[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),"__static__"+t,!1),n}function Ce(t,e,r){return Ae(t,"__once__"+e+(r?"_"+r:""),!0),t}function Ae(t,e,r){if(Array.isArray(t))for(var n=0;n<t.length;n++)t[n]&&"string"!=typeof t[n]&&Re(t[n],e+"_"+n,r);else Re(t,e,r)}function Re(t,e,r){t.isStatic=!0,t.key=e,t.isOnce=r}function Ee(t,e){if(e)if(l(e)){var r=t.on=t.on?R({},t.on):{};for(var n in e){var i=r[n],o=e[n];r[n]=i?[].concat(i,o):o}}return t}function Qe(t,e,r,n){e=e||{$stable:!r};for(var i=0;i<t.length;i++){var o=t[i];Array.isArray(o)?Qe(o,e,r):o&&(o.proxy&&(o.fn.proxy=!0),e[o.key]=o.fn)}return n&&(e.$key=n),e}function Pe(t,e){for(var r=0;r<e.length;r+=2){var n=e[r];"string"==typeof n&&n&&(t[e[r]]=e[r+1])}return t}function Me(t,e){return"string"==typeof t?e+t:t}function Ie(t){t._o=Ce,t._n=v,t._s=h,t._l=_e,t._t=we,t._q=I,t._i=q,t._m=$e,t._f=ke,t._k=je,t._b=xe,t._v=gt,t._e=bt,t._u=Qe,t._g=Ee,t._d=Pe,t._p=Me}function qe(t,e,r,i,o){var s,u=this,c=o.options;_(i,"_uid")?(s=Object.create(i))._original=i:(s=i,i=i._original);var l=a(c._compiled),f=!l;this.data=t,this.props=e,this.children=r,this.parent=i,this.listeners=t.on||n,this.injections=he(c.inject,i),this.slots=function(){return u.$slots||be(t.scopedSlots,u.$slots=ve(r,i)),u.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return be(t.scopedSlots,this.slots())}}),l&&(this.$options=c,this.$slots=this.slots(),this.$scopedSlots=be(t.scopedSlots,this.$slots)),c._scopeId?this._c=function(t,e,r,n){var o=Be(s,t,e,r,n,f);return o&&!Array.isArray(o)&&(o.fnScopeId=c._scopeId,o.fnContext=i),o}:this._c=function(t,e,r,n){return Be(s,t,e,r,n,f)}}function De(t,e,r,n,i){var o=Ot(t);return o.fnContext=r,o.fnOptions=n,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function Te(t,e){for(var r in e)t[S(r)]=e[r]}Ie(qe.prototype);var Fe={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var r=t;Fe.prepatch(r,r)}else{(t.componentInstance=function(t,e){var r={_isComponent:!0,_parentVnode:t,parent:e},n=t.data.inlineTemplate;o(n)&&(r.render=n.render,r.staticRenderFns=n.staticRenderFns);return new t.componentOptions.Ctor(r)}(t,Ze)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var r=e.componentOptions;!function(t,e,r,i,o){0;var a=i.data.scopedSlots,s=t.$scopedSlots,u=!!(a&&!a.$stable||s!==n&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),c=!!(o||t.$options._renderChildren||u);t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i);if(t.$options._renderChildren=o,t.$attrs=i.data.attrs||n,t.$listeners=r||n,e&&t.$options.props){jt(!1);for(var l=t._props,f=t.$options._propKeys||[],p=0;p<f.length;p++){var d=f[p],h=t.$options.props;l[d]=Lt(d,h,e,t)}jt(!0),t.$options.propsData=e}r=r||n;var v=t.$options._parentListeners;t.$options._parentListeners=r,Ye(t,r,v),c&&(t.$slots=ve(o,i.context),t.$forceUpdate());0}(e.componentInstance=t.componentInstance,r.propsData,r.listeners,e,r.children)},insert:function(t){var e,r=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,rr(n,"mounted")),t.data.keepAlive&&(r._isMounted?((e=n)._inactive=!1,ir.push(e)):er(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?function t(e,r){if(r&&(e._directInactive=!0,tr(e)))return;if(!e._inactive){e._inactive=!0;for(var n=0;n<e.$children.length;n++)t(e.$children[n]);rr(e,"deactivated")}}(e,!0):e.$destroy())}},Le=Object.keys(Fe);function Ne(t,e,r,s,c){if(!i(t)){var l=r.$options._base;if(u(t)&&(t=l.extend(t)),"function"==typeof t){var f;if(i(t.cid)&&void 0===(t=function(t,e){if(a(t.error)&&o(t.errorComp))return t.errorComp;if(o(t.resolved))return t.resolved;var r=Ue;r&&o(t.owners)&&-1===t.owners.indexOf(r)&&t.owners.push(r);if(a(t.loading)&&o(t.loadingComp))return t.loadingComp;if(r&&!o(t.owners)){var n=t.owners=[r],s=!0,c=null,l=null;r.$on("hook:destroyed",(function(){return g(n,r)}));var f=function(t){for(var e=0,r=n.length;e<r;e++)n[e].$forceUpdate();t&&(n.length=0,null!==c&&(clearTimeout(c),c=null),null!==l&&(clearTimeout(l),l=null))},p=D((function(r){t.resolved=ze(r,e),s?n.length=0:f(!0)})),h=D((function(e){o(t.errorComp)&&(t.error=!0,f(!0))})),v=t(p,h);return u(v)&&(d(v)?i(t.resolved)&&v.then(p,h):d(v.component)&&(v.component.then(p,h),o(v.error)&&(t.errorComp=ze(v.error,e)),o(v.loading)&&(t.loadingComp=ze(v.loading,e),0===v.delay?t.loading=!0:c=setTimeout((function(){c=null,i(t.resolved)&&i(t.error)&&(t.loading=!0,f(!1))}),v.delay||200)),o(v.timeout)&&(l=setTimeout((function(){l=null,i(t.resolved)&&h(null)}),v.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}(f=t,l)))return function(t,e,r,n,i){var o=bt();return o.asyncFactory=t,o.asyncMeta={data:e,context:r,children:n,tag:i},o}(f,e,r,s,c);e=e||{},Sr(t),o(e.model)&&function(t,e){var r=t.model&&t.model.prop||"value",n=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[r]=e.model.value;var i=e.on||(e.on={}),a=i[n],s=e.model.callback;o(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(i[n]=[s].concat(a)):i[n]=s}(t.options,e);var p=function(t,e,r){var n=e.options.props;if(!i(n)){var a={},s=t.attrs,u=t.props;if(o(s)||o(u))for(var c in n){var l=$(c);fe(a,u,c,l,!0)||fe(a,s,c,l,!1)}return a}}(e,t);if(a(t.options.functional))return function(t,e,r,i,a){var s=t.options,u={},c=s.props;if(o(c))for(var l in c)u[l]=Lt(l,c,e||n);else o(r.attrs)&&Te(u,r.attrs),o(r.props)&&Te(u,r.props);var f=new qe(r,u,a,i,t),p=s.render.call(null,f._c,f);if(p instanceof yt)return De(p,r,f.parent,s,f);if(Array.isArray(p)){for(var d=pe(p)||[],h=new Array(d.length),v=0;v<d.length;v++)h[v]=De(d[v],r,f.parent,s,f);return h}}(t,p,e,r,s);var h=e.on;if(e.on=e.nativeOn,a(t.options.abstract)){var v=e.slot;e={},v&&(e.slot=v)}!function(t){for(var e=t.hook||(t.hook={}),r=0;r<Le.length;r++){var n=Le[r],i=e[n],o=Fe[n];i===o||i&&i._merged||(e[n]=i?Ve(o,i):o)}}(e);var y=t.options.name||c;return new yt("vue-component-"+t.cid+(y?"-"+y:""),e,void 0,void 0,void 0,r,{Ctor:t,propsData:p,listeners:h,tag:c,children:s},f)}}}function Ve(t,e){var r=function(r,n){t(r,n),e(r,n)};return r._merged=!0,r}function Be(t,e,r,n,c,l){return(Array.isArray(r)||s(r))&&(c=n,n=r,r=void 0),a(l)&&(c=2),function(t,e,r,n,s){if(o(r)&&o(r.__ob__))return bt();o(r)&&o(r.is)&&(e=r.is);if(!e)return bt();0;Array.isArray(n)&&"function"==typeof n[0]&&((r=r||{}).scopedSlots={default:n[0]},n.length=0);2===s?n=pe(n):1===s&&(n=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(n));var c,l;if("string"==typeof e){var f;l=t.$vnode&&t.$vnode.ns||L.getTagNamespace(e),c=L.isReservedTag(e)?new yt(L.parsePlatformTagName(e),r,n,void 0,void 0,t):r&&r.pre||!o(f=Ft(t.$options,"components",e))?new yt(e,r,n,void 0,void 0,t):Ne(f,r,t,n,e)}else c=Ne(e,r,t,n);return Array.isArray(c)?c:o(c)?(o(l)&&function t(e,r,n){e.ns=r,"foreignObject"===e.tag&&(r=void 0,n=!0);if(o(e.children))for(var s=0,u=e.children.length;s<u;s++){var c=e.children[s];o(c.tag)&&(i(c.ns)||a(n)&&"svg"!==c.tag)&&t(c,r,n)}}(c,l),o(r)&&function(t){u(t.style)&&ae(t.style);u(t.class)&&ae(t.class)}(r),c):bt()}(t,e,r,n,c)}var He,Ue=null;function ze(t,e){return(t.__esModule||ct&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?e.extend(t):t}function Ke(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var r=t[e];if(o(r)&&(o(r.componentOptions)||me(r)))return r}}function We(t,e){He.$on(t,e)}function Je(t,e){He.$off(t,e)}function Ge(t,e){var r=He;return function n(){var i=e.apply(null,arguments);null!==i&&r.$off(t,n)}}function Ye(t,e,r){He=t,ce(e,r||{},We,Je,Ge,t),He=void 0}var Ze=null;function Xe(t){var e=Ze;return Ze=t,function(){Ze=e}}function tr(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function er(t,e){if(e){if(t._directInactive=!1,tr(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var r=0;r<t.$children.length;r++)er(t.$children[r]);rr(t,"activated")}}function rr(t,e){ht();var r=t.$options[e],n=e+" hook";if(r)for(var i=0,o=r.length;i<o;i++)zt(r[i],t,null,t,n);t._hasHookEvent&&t.$emit("hook:"+e),vt()}var nr=[],ir=[],or={},ar=!1,sr=!1,ur=0;var cr=0,lr=Date.now;if(K&&!Y){var fr=window.performance;fr&&"function"==typeof fr.now&&lr()>document.createEvent("Event").timeStamp&&(lr=function(){return fr.now()})}function pr(){var t,e;for(cr=lr(),sr=!0,nr.sort((function(t,e){return t.id-e.id})),ur=0;ur<nr.length;
vendor: 17,680 bytes, line 39588
39588ur++)(t=nr[ur]).before&&t.before(),e=t.id,or[e]=null,t.run();var r=ir.slice(),n=nr.slice();ur=nr.length=ir.length=0,or={},ar=sr=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,er(t[e],!0)}(r),function(t){var e=t.length;for(;e--;){var r=t[e],n=r.vm;n._watcher===r&&n._isMounted&&!n._isDestroyed&&rr(n,"updated")}}(n),at&&L.devtools&&at.emit("flush")}var dr=0,hr=function(t,e,r,n,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),n?(this.deep=!!n.deep,this.user=!!n.user,this.lazy=!!n.lazy,this.sync=!!n.sync,this.before=n.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=r,this.id=++dr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ut,this.newDepIds=new ut,this.expression="","function"==typeof e?this.getter=e:(this.getter=function(t){if(!H.test(t)){var e=t.split(".");return function(t){for(var r=0;r<e.length;r++){if(!t)return;t=t[e[r]]}return t}}}(e),this.getter||(this.getter=Q)),this.value=this.lazy?void 0:this.get()};hr.prototype.get=function(){var t;ht(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;Ut(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ae(t),vt(),this.cleanupDeps()}return t},hr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},hr.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},hr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==or[e]){if(or[e]=!0,sr){for(var r=nr.length-1;r>ur&&nr[r].id>t.id;)r--;nr.splice(r+1,0,t)}else nr.push(t);ar||(ar=!0,ie(pr))}}(this)},hr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user){var r='callback for watcher "'+this.expression+'"';zt(this.cb,this.vm,[t,e],this.vm,r)}else this.cb.call(this.vm,t,e)}}},hr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},hr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var vr={enumerable:!0,configurable:!0,get:Q,set:Q};function yr(t,e,r){vr.get=function(){return this[e][r]},vr.set=function(t){this[e][r]=t},Object.defineProperty(t,r,vr)}function mr(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var r=t.$options.propsData||{},n=t._props={},i=t.$options._propKeys=[];t.$parent&&jt(!1);var o=function(o){i.push(o);var a=Lt(o,e,r,t);Ct(n,o,a),o in t||yr(t,"_props",o)};for(var a in e)o(a);jt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var r in e)t[r]="function"!=typeof e[r]?Q:C(e[r],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;l(e=t._data="function"==typeof e?function(t,e){ht();try{return t.call(e,e)}catch(t){return Ut(t,e,"data()"),{}}finally{vt()}}(e,t):e||{})||(e={});var r=Object.keys(e),n=t.$options.props,i=(t.$options.methods,r.length);for(;i--;){var o=r[i];0,n&&_(n,o)||V(o)||yr(t,"_data",o)}$t(e,!0)}(t):$t(t._data={},!0),e.computed&&function(t,e){var r=t._computedWatchers=Object.create(null),n=ot();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;0,n||(r[i]=new hr(t,a||Q,Q,br)),i in t||gr(t,i,o)}}(t,e.computed),e.watch&&e.watch!==rt&&function(t,e){for(var r in e){var n=e[r];if(Array.isArray(n))for(var i=0;i<n.length;i++)wr(t,r,n[i]);else wr(t,r,n)}}(t,e.watch)}var br={lazy:!0};function gr(t,e,r){var n=!ot();"function"==typeof r?(vr.get=n?Or(e):_r(r),vr.set=Q):(vr.get=r.get?n&&!1!==r.cache?Or(e):_r(r.get):Q,vr.set=r.set||Q),Object.defineProperty(t,e,vr)}function Or(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),pt.target&&e.depend(),e.value}}function _r(t){return function(){return t.call(this,this)}}function wr(t,e,r,n){return l(r)&&(n=r,r=r.handler),"string"==typeof r&&(r=t[r]),t.$watch(e,r,n)}var kr=0;function Sr(t){var e=t.options;if(t.super){var r=Sr(t.super);if(r!==t.superOptions){t.superOptions=r;var n=function(t){var e,r=t.options,n=t.sealedOptions;for(var i in r)r[i]!==n[i]&&(e||(e={}),e[i]=r[i]);return e}(t);n&&R(t.extendOptions,n),(e=t.options=Tt(r,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function jr(t){this._init(t)}function xr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var r=this,n=r.cid,i=t._Ctor||(t._Ctor={});if(i[n])return i[n];var o=t.name||r.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(r.prototype)).constructor=a,a.cid=e++,a.options=Tt(r.options,t),a.super=r,a.options.props&&function(t){var e=t.options.props;for(var r in e)yr(t.prototype,"_props",r)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var r in e)gr(t.prototype,r,e[r])}(a),a.extend=r.extend,a.mixin=r.mixin,a.use=r.use,T.forEach((function(t){a[t]=r[t]})),o&&(a.options.components[o]=a),a.superOptions=r.options,a.extendOptions=t,a.sealedOptions=R({},a.options),i[n]=a,a}}function $r(t){return t&&(t.Ctor.options.name||t.tag)}function Cr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Ar(t,e){var r=t.cache,n=t.keys,i=t._vnode;for(var o in r){var a=r[o];if(a){var s=a.name;s&&!e(s)&&Rr(r,o,n,i)}}}function Rr(t,e,r,n){var i=t[e];!i||n&&i.tag===n.tag||i.componentInstance.$destroy(),t[e]=null,g(r,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=kr++,e._isVue=!0,t&&t._isComponent?function(t,e){var r=t.$options=Object.create(t.constructor.options),n=e._parentVnode;r.parent=e.parent,r._parentVnode=n;var i=n.componentOptions;r.propsData=i.propsData,r._parentListeners=i.listeners,r._renderChildren=i.children,r._componentTag=i.tag,e.render&&(r.render=e.render,r.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Tt(Sr(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,r=e.parent;if(r&&!e.abstract){for(;r.$options.abstract&&r.$parent;)r=r.$parent;r.$children.push(t)}t.$parent=r,t.$root=r?r.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ye(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,i=r&&r.context;t.$slots=ve(e._renderChildren,i),t.$scopedSlots=n,t._c=function(e,r,n,i){return Be(t,e,r,n,i,!1)},t.$createElement=function(e,r,n,i){return Be(t,e,r,n,i,!0)};var o=r&&r.data;Ct(t,"$attrs",o&&o.attrs||n,null,!0),Ct(t,"$listeners",e._parentListeners||n,null,!0)}(e),rr(e,"beforeCreate"),function(t){var e=he(t.$options.inject,t);e&&(jt(!1),Object.keys(e).forEach((function(r){Ct(t,r,e[r])})),jt(!0))}(e),mr(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),rr(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(jr),function(t){var e={get:function(){return this._data}},r={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",r),t.prototype.$set=At,t.prototype.$delete=Rt,t.prototype.$watch=function(t,e,r){if(l(e))return wr(this,t,e,r);(r=r||{}).user=!0;var n=new hr(this,t,e,r);if(r.immediate){var i='callback for immediate watcher "'+n.expression+'"';ht(),zt(e,this,[n.value],this,i),vt()}return function(){n.teardown()}}}(jr),function(t){var e=/^hook:/;t.prototype.$on=function(t,r){var n=this;if(Array.isArray(t))for(var i=0,o=t.length;i<o;i++)n.$on(t[i],r);else(n._events[t]||(n._events[t]=[])).push(r),e.test(t)&&(n._hasHookEvent=!0);return n},t.prototype.$once=function(t,e){var r=this;function n(){r.$off(t,n),e.apply(r,arguments)}return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var n=0,i=t.length;n<i;n++)r.$off(t[n],e);return r}var o,a=r._events[t];if(!a)return r;if(!e)return r._events[t]=null,r;for(var s=a.length;s--;)if((o=a[s])===e||o.fn===e){a.splice(s,1);break}return r},t.prototype.$emit=function(t){var e=this,r=e._events[t];if(r){r=r.length>1?A(r):r;for(var n=A(arguments,1),i='event handler for "'+t+'"',o=0,a=r.length;o<a;o++)zt(r[o],e,n,e,i)}return e}}(jr),function(t){t.prototype._update=function(t,e){var r=this,n=r.$el,i=r._vnode,o=Xe(r);r._vnode=t,r.$el=i?r.__patch__(i,t):r.__patch__(r.$el,t,e,!1),o(),n&&(n.__vue__=null),r.$el&&(r.$el.__vue__=r),r.$vnode&&r.$parent&&r.$vnode===r.$parent._vnode&&(r.$parent.$el=r.$el)},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){rr(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||g(e.$children,t),t._watcher&&t._watcher.teardown();for(var r=t._watchers.length;r--;)t._watchers[r].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),rr(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(jr),function(t){Ie(t.prototype),t.prototype.$nextTick=function(t){return ie(t,this)},t.prototype._render=function(){var t,e=this,r=e.$options,n=r.render,i=r._parentVnode;i&&(e.$scopedSlots=be(i.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=i;try{Ue=e,t=n.call(e._renderProxy,e.$createElement)}catch(r){Ut(r,e,"render"),t=e._vnode}finally{Ue=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof yt||(t=bt()),t.parent=i,t}}(jr);var Er=[String,RegExp,Array],Qr={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Er,exclude:Er,max:[String,Number]},methods:{cacheVNode:function(){var t=this.cache,e=this.keys,r=this.vnodeToCache,n=this.keyToCache;if(r){var i=r.tag,o=r.componentInstance,a=r.componentOptions;t[n]={name:$r(a),tag:i,componentInstance:o},e.push(n),this.max&&e.length>parseInt(this.max)&&Rr(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Rr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Ar(t,(function(t){return Cr(e,t)}))})),this.$watch("exclude",(function(e){Ar(t,(function(t){return!Cr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Ke(t),r=e&&e.componentOptions;if(r){var n=$r(r),i=this.include,o=this.exclude;if(i&&(!n||!Cr(i,n))||o&&n&&Cr(o,n))return e;var a=this.cache,s=this.keys,u=null==e.key?r.Ctor.cid+(r.tag?"::"+r.tag:""):e.key;a[u]?(e.componentInstance=a[u].componentInstance,g(s,u),s.push(u)):(this.vnodeToCache=e,this.keyToCache=u),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return L}};Object.defineProperty(t,"config",e),t.util={warn:lt,extend:R,mergeOptions:Tt,defineReactive:Ct},t.set=At,t.delete=Rt,t.nextTick=ie,t.observable=function(t){return $t(t),t},t.options=Object.create(null),T.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,R(t.options.components,Qr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var r=A(arguments,1);return r.unshift(this),"function"==typeof t.install?t.install.apply(t,r):"function"==typeof t&&t.apply(null,r),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Tt(this.options,t),this}}(t),xr(t),function(t){T.forEach((function(e){t[e]=function(t,r){return r?("component"===e&&l(r)&&(r.name=r.name||t,r=this.options._base.extend(r)),"directive"===e&&"function"==typeof r&&(r={bind:r,update:r}),this.options[e+"s"][t]=r,r):this.options[e+"s"][t]}}))}(t)}(jr),Object.defineProperty(jr.prototype,"$isServer",{get:ot}),Object.defineProperty(jr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(jr,"FunctionalRenderContext",{value:qe}),jr.version="2.6.14";var Pr=y("style,class"),Mr=y("input,textarea,option,select,progress"),Ir=function(t,e,r){return"value"===r&&Mr(t)&&"button"!==e||"selected"===r&&"option"===t||"checked"===r&&"input"===t||"muted"===r&&"video"===t},qr=y("contenteditable,draggable,spellcheck"),Dr=y("events,caret,typing,plaintext-only"),Tr=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Fr="http://www.w3.org/1999/xlink",Lr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Nr=function(t){return Lr(t)?t.slice(6,t.length):""},Vr=function(t){return null==t||!1===t};function Br(t){for(var e=t.data,r=t,n=t;o(n.componentInstance);)(n=n.componentInstance._vnode)&&n.data&&(e=Hr(n.data,e));for(;o(r=r.parent);)r&&r.data&&(e=Hr(e,r.data));return function(t,e){if(o(t)||o(e))return Ur(t,zr(e));return""}(e.staticClass,e.class)}function Hr(t,e){return{staticClass:Ur(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Ur(t,e){return t?e?t+" "+e:t:e||""}function zr(t){return Array.isArray(t)?function(t){for(var e,r="",n=0,i=t.length;n<i;n++)o(e=zr(t[n]))&&""!==e&&(r&&(r+=" "),r+=e);return r}(t):u(t)?function(t){var e="";for(var r in t)t[r]&&(e&&(e+=" "),e+=r);return e}(t):"string"==typeof t?t:""}var Kr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Wr=y("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Jr=y("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Gr=function(t){return Wr(t)||Jr(t)};function Yr(t){return Jr(t)?"svg":"math"===t?"math":void 0}var Zr=Object.create(null);var Xr=y("text,number,password,search,email,tel,url");function tn(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}var en=Object.freeze({createElement:function(t,e){var r=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&r.setAttribute("multiple","multiple"),r},createElementNS:function(t,e){return document.createElementNS(Kr[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,r){t.insertBefore(e,r)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),rn={create:function(t,e){nn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(nn(t,!0),nn(e))},destroy:function(t){nn(t,!0)}};function nn(t,e){var r=t.data.ref;if(o(r)){var n=t.context,i=t.componentInstance||t.elm,a=n.$refs;e?Array.isArray(a[r])?g(a[r],i):a[r]===i&&(a[r]=void 0):t.data.refInFor?Array.isArray(a[r])?a[r].indexOf(i)<0&&a[r].push(i):a[r]=[i]:a[r]=i}}var on=new yt("",{},[]),an=["create","activate","update","remove","destroy"];function sn(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&function(t,e){if("input"!==t.tag)return!0;var r,n=o(r=t.data)&&o(r=r.attrs)&&r.type,i=o(r=e.data)&&o(r=r.attrs)&&r.type;return n===i||Xr(n)&&Xr(i)}(t,e)||a(t.isAsyncPlaceholder)&&i(e.asyncFactory.error))}function un(t,e,r){var n,i,a={};for(n=e;n<=r;++n)o(i=t[n].key)&&(a[i]=n);return a}var cn={create:ln,update:ln,destroy:function(t){ln(t,on)}};function ln(t,e){(t.data.directives||e.data.directives)&&function(t,e){var r,n,i,o=t===on,a=e===on,s=pn(t.data.directives,t.context),u=pn(e.data.directives,e.context),c=[],l=[];for(r in u)n=s[r],i=u[r],n?(i.oldValue=n.value,i.oldArg=n.arg,hn(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(hn(i,"bind",e,t),i.def&&i.def.inserted&&c.push(i));if(c.length){var f=function(){for(var r=0;r<c.length;r++)hn(c[r],"inserted",e,t)};o?le(e,"insert",f):f()}l.length&&le(e,"postpatch",(function(){for(var r=0;r<l.length;r++)hn(l[r],"componentUpdated",e,t)}));if(!o)for(r in s)u[r]||hn(s[r],"unbind",t,t,a)}(t,e)}var fn=Object.create(null);function pn(t,e){var r,n,i=Object.create(null);if(!t)return i;for(r=0;r<t.length;r++)(n=t[r]).modifiers||(n.modifiers=fn),i[dn(n)]=n,n.def=Ft(e.$options,"directives",n.name);return i}function dn(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function hn(t,e,r,n,i){var o=t.def&&t.def[e];
vendor: 11,428 bytes, line 39588
39588if(o)try{o(r.elm,t,r,n,i)}catch(n){Ut(n,r.context,"directive "+t.name+" "+e+" hook")}}var vn=[rn,cn];function yn(t,e){var r=e.componentOptions;if(!(o(r)&&!1===r.Ctor.options.inheritAttrs||i(t.data.attrs)&&i(e.data.attrs))){var n,a,s=e.elm,u=t.data.attrs||{},c=e.data.attrs||{};for(n in o(c.__ob__)&&(c=e.data.attrs=R({},c)),c)a=c[n],u[n]!==a&&mn(s,n,a,e.data.pre);for(n in(Y||X)&&c.value!==u.value&&mn(s,"value",c.value),u)i(c[n])&&(Lr(n)?s.removeAttributeNS(Fr,Nr(n)):qr(n)||s.removeAttribute(n))}}function mn(t,e,r,n){n||t.tagName.indexOf("-")>-1?bn(t,e,r):Tr(e)?Vr(r)?t.removeAttribute(e):(r="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,r)):qr(e)?t.setAttribute(e,function(t,e){return Vr(e)||"false"===e?"false":"contenteditable"===t&&Dr(e)?e:"true"}(e,r)):Lr(e)?Vr(r)?t.removeAttributeNS(Fr,Nr(e)):t.setAttributeNS(Fr,e,r):bn(t,e,r)}function bn(t,e,r){if(Vr(r))t.removeAttribute(e);else{if(Y&&!Z&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==r&&!t.__ieph){var n=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",n)};t.addEventListener("input",n),t.__ieph=!0}t.setAttribute(e,r)}}var gn={create:yn,update:yn};function On(t,e){var r=e.elm,n=e.data,a=t.data;if(!(i(n.staticClass)&&i(n.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=Br(e),u=r._transitionClasses;o(u)&&(s=Ur(s,zr(u))),s!==r._prevClass&&(r.setAttribute("class",s),r._prevClass=s)}}var _n,wn,kn,Sn,jn,xn,$n={create:On,update:On},Cn=/[\w).+\-_$\]]/;function An(t){var e,r,n,i,o,a=!1,s=!1,u=!1,c=!1,l=0,f=0,p=0,d=0;for(n=0;n<t.length;n++)if(r=e,e=t.charCodeAt(n),a)39===e&&92!==r&&(a=!1);else if(s)34===e&&92!==r&&(s=!1);else if(u)96===e&&92!==r&&(u=!1);else if(c)47===e&&92!==r&&(c=!1);else if(124!==e||124===t.charCodeAt(n+1)||124===t.charCodeAt(n-1)||l||f||p){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:u=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===e){for(var h=n-1,v=void 0;h>=0&&" "===(v=t.charAt(h));h--);v&&Cn.test(v)||(c=!0)}}else void 0===i?(d=n+1,i=t.slice(0,n).trim()):y();function y(){(o||(o=[])).push(t.slice(d,n).trim()),d=n+1}if(void 0===i?i=t.slice(0,n).trim():0!==d&&y(),o)for(n=0;n<o.length;n++)i=Rn(i,o[n]);return i}function Rn(t,e){var r=e.indexOf("(");if(r<0)return'_f("'+e+'")('+t+")";var n=e.slice(0,r),i=e.slice(r+1);return'_f("'+n+'")('+t+(")"!==i?","+i:i)}function En(t,e){console.error("[Vue compiler]: "+t)}function Qn(t,e){return t?t.map((function(t){return t[e]})).filter((function(t){return t})):[]}function Pn(t,e,r,n,i){(t.props||(t.props=[])).push(Vn({name:e,value:r,dynamic:i},n)),t.plain=!1}function Mn(t,e,r,n,i){(i?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(Vn({name:e,value:r,dynamic:i},n)),t.plain=!1}function In(t,e,r,n){t.attrsMap[e]=r,t.attrsList.push(Vn({name:e,value:r},n))}function qn(t,e,r,n,i,o,a,s){(t.directives||(t.directives=[])).push(Vn({name:e,rawName:r,value:n,arg:i,isDynamicArg:o,modifiers:a},s)),t.plain=!1}function Dn(t,e,r){return r?"_p("+e+',"'+t+'")':t+e}function Tn(t,e,r,i,o,a,s,u){var c;(i=i||n).right?u?e="("+e+")==='click'?'contextmenu':("+e+")":"click"===e&&(e="contextmenu",delete i.right):i.middle&&(u?e="("+e+")==='click'?'mouseup':("+e+")":"click"===e&&(e="mouseup")),i.capture&&(delete i.capture,e=Dn("!",e,u)),i.once&&(delete i.once,e=Dn("~",e,u)),i.passive&&(delete i.passive,e=Dn("&",e,u)),i.native?(delete i.native,c=t.nativeEvents||(t.nativeEvents={})):c=t.events||(t.events={});var l=Vn({value:r.trim(),dynamic:u},s);i!==n&&(l.modifiers=i);var f=c[e];Array.isArray(f)?o?f.unshift(l):f.push(l):c[e]=f?o?[l,f]:[f,l]:l,t.plain=!1}function Fn(t,e,r){var n=Ln(t,":"+e)||Ln(t,"v-bind:"+e);if(null!=n)return An(n);if(!1!==r){var i=Ln(t,e);if(null!=i)return JSON.stringify(i)}}function Ln(t,e,r){var n;if(null!=(n=t.attrsMap[e]))for(var i=t.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===e){i.splice(o,1);break}return r&&delete t.attrsMap[e],n}function Nn(t,e){for(var r=t.attrsList,n=0,i=r.length;n<i;n++){var o=r[n];if(e.test(o.name))return r.splice(n,1),o}}function Vn(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Bn(t,e,r){var n=r||{},i=n.number,o="$$v";n.trim&&(o="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(o="_n("+o+")");var a=Hn(e,o);t.model={value:"("+e+")",expression:JSON.stringify(e),callback:"function ($$v) {"+a+"}"}}function Hn(t,e){var r=function(t){if(t=t.trim(),_n=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<_n-1)return(Sn=t.lastIndexOf("."))>-1?{exp:t.slice(0,Sn),key:'"'+t.slice(Sn+1)+'"'}:{exp:t,key:null};wn=t,Sn=jn=xn=0;for(;!zn();)Kn(kn=Un())?Jn(kn):91===kn&&Wn(kn);return{exp:t.slice(0,jn),key:t.slice(jn+1,xn)}}(t);return null===r.key?t+"="+e:"$set("+r.exp+", "+r.key+", "+e+")"}function Un(){return wn.charCodeAt(++Sn)}function zn(){return Sn>=_n}function Kn(t){return 34===t||39===t}function Wn(t){var e=1;for(jn=Sn;!zn();)if(Kn(t=Un()))Jn(t);else if(91===t&&e++,93===t&&e--,0===e){xn=Sn;break}}function Jn(t){for(var e=t;!zn()&&(t=Un())!==e;);}var Gn;function Yn(t,e,r){var n=Gn;return function i(){var o=e.apply(null,arguments);null!==o&&ti(t,i,r,n)}}var Zn=Gt&&!(et&&Number(et[1])<=53);function Xn(t,e,r,n){if(Zn){var i=cr,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}Gn.addEventListener(t,e,nt?{capture:r,passive:n}:r)}function ti(t,e,r,n){(n||Gn).removeEventListener(t,e._wrapper||e,r)}function ei(t,e){if(!i(t.data.on)||!i(e.data.on)){var r=e.data.on||{},n=t.data.on||{};Gn=e.elm,function(t){if(o(t.__r)){var e=Y?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}o(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(r),ce(r,n,Xn,ti,Yn,e.context),Gn=void 0}}var ri,ni={create:ei,update:ei};function ii(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var r,n,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};for(r in o(u.__ob__)&&(u=e.data.domProps=R({},u)),s)r in u||(a[r]="");for(r in u){if(n=u[r],"textContent"===r||"innerHTML"===r){if(e.children&&(e.children.length=0),n===s[r])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===r&&"PROGRESS"!==a.tagName){a._value=n;var c=i(n)?"":String(n);oi(a,c)&&(a.value=c)}else if("innerHTML"===r&&Jr(a.tagName)&&i(a.innerHTML)){(ri=ri||document.createElement("div")).innerHTML="<svg>"+n+"</svg>";for(var l=ri.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(n!==s[r])try{a[r]=n}catch(t){}}}}function oi(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var r=!0;try{r=document.activeElement!==t}catch(t){}return r&&t.value!==e}(t,e)||function(t,e){var r=t.value,n=t._vModifiers;if(o(n)){if(n.number)return v(r)!==v(e);if(n.trim)return r.trim()!==e.trim()}return r!==e}(t,e))}var ai={create:ii,update:ii},si=w((function(t){var e={},r=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function ui(t){var e=ci(t.style);return t.staticStyle?R(t.staticStyle,e):e}function ci(t){return Array.isArray(t)?E(t):"string"==typeof t?si(t):t}var li,fi=/^--/,pi=/\s*!important$/,di=function(t,e,r){if(fi.test(e))t.style.setProperty(e,r);else if(pi.test(r))t.style.setProperty($(e),r.replace(pi,""),"important");else{var n=vi(e);if(Array.isArray(r))for(var i=0,o=r.length;i<o;i++)t.style[n]=r[i];else t.style[n]=r}},hi=["Webkit","Moz","ms"],vi=w((function(t){if(li=li||document.createElement("div").style,"filter"!==(t=S(t))&&t in li)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<hi.length;r++){var n=hi[r]+e;if(n in li)return n}}));function yi(t,e){var r=e.data,n=t.data;if(!(i(r.staticStyle)&&i(r.style)&&i(n.staticStyle)&&i(n.style))){var a,s,u=e.elm,c=n.staticStyle,l=n.normalizedStyle||n.style||{},f=c||l,p=ci(e.data.style)||{};e.data.normalizedStyle=o(p.__ob__)?R({},p):p;var d=function(t,e){var r,n={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(r=ui(i.data))&&R(n,r);(r=ui(t.data))&&R(n,r);for(var o=t;o=o.parent;)o.data&&(r=ui(o.data))&&R(n,r);return n}(e,!0);for(s in f)i(d[s])&&di(u,s,"");for(s in d)(a=d[s])!==f[s]&&di(u,s,null==a?"":a)}}var mi={create:yi,update:yi},bi=/\s+/;function gi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(bi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var r=" "+(t.getAttribute("class")||"")+" ";r.indexOf(" "+e+" ")<0&&t.setAttribute("class",(r+e).trim())}}function Oi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(bi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var r=" "+(t.getAttribute("class")||"")+" ",n=" "+e+" ";r.indexOf(n)>=0;)r=r.replace(n," ");(r=r.trim())?t.setAttribute("class",r):t.removeAttribute("class")}}function _i(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&R(e,wi(t.name||"v")),R(e,t),e}return"string"==typeof t?wi(t):void 0}}var wi=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),ki=K&&!Z,Si="transition",ji="transitionend",xi="animation",$i="animationend";ki&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Si="WebkitTransition",ji="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(xi="WebkitAnimation",$i="webkitAnimationEnd"));var Ci=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Ai(t){Ci((function(){Ci(t)}))}function Ri(t,e){var r=t._transitionClasses||(t._transitionClasses=[]);r.indexOf(e)<0&&(r.push(e),gi(t,e))}function Ei(t,e){t._transitionClasses&&g(t._transitionClasses,e),Oi(t,e)}function Qi(t,e,r){var n=Mi(t,e),i=n.type,o=n.timeout,a=n.propCount;if(!i)return r();var s="transition"===i?ji:$i,u=0,c=function(){t.removeEventListener(s,l),r()},l=function(e){e.target===t&&++u>=a&&c()};setTimeout((function(){u<a&&c()}),o+1),t.addEventListener(s,l)}var Pi=/\b(transform|all)(,|$)/;function Mi(t,e){var r,n=window.getComputedStyle(t),i=(n[Si+"Delay"]||"").split(", "),o=(n[Si+"Duration"]||"").split(", "),a=Ii(i,o),s=(n[xi+"Delay"]||"").split(", "),u=(n[xi+"Duration"]||"").split(", "),c=Ii(s,u),l=0,f=0;return"transition"===e?a>0&&(r="transition",l=a,f=o.length):"animation"===e?c>0&&(r="animation",l=c,f=u.length):f=(r=(l=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===r?o.length:u.length:0,{type:r,timeout:l,propCount:f,hasTransform:"transition"===r&&Pi.test(n[Si+"Property"])}}function Ii(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,r){return qi(e)+qi(t[r])})))}function qi(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Di(t,e){var r=t.elm;o(r._leaveCb)&&(r._leaveCb.cancelled=!0,r._leaveCb());var n=_i(t.data.transition);if(!i(n)&&!o(r._enterCb)&&1===r.nodeType){for(var a=n.css,s=n.type,c=n.enterClass,l=n.enterToClass,f=n.enterActiveClass,p=n.appearClass,d=n.appearToClass,h=n.appearActiveClass,y=n.beforeEnter,m=n.enter,b=n.afterEnter,g=n.enterCancelled,O=n.beforeAppear,_=n.appear,w=n.afterAppear,k=n.appearCancelled,S=n.duration,j=Ze,x=Ze.$vnode;x&&x.parent;)j=x.context,x=x.parent;var $=!j._isMounted||!t.isRootInsert;
vendor: 18,130 bytes, line 39588
39588if(!$||_||""===_){var C=$&&p?p:c,A=$&&h?h:f,R=$&&d?d:l,E=$&&O||y,Q=$&&"function"==typeof _?_:m,P=$&&w||b,M=$&&k||g,I=v(u(S)?S.enter:S);0;var q=!1!==a&&!Z,T=Li(Q),F=r._enterCb=D((function(){q&&(Ei(r,R),Ei(r,A)),F.cancelled?(q&&Ei(r,C),M&&M(r)):P&&P(r),r._enterCb=null}));t.data.show||le(t,"insert",(function(){var e=r.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),Q&&Q(r,F)})),E&&E(r),q&&(Ri(r,C),Ri(r,A),Ai((function(){Ei(r,C),F.cancelled||(Ri(r,R),T||(Fi(I)?setTimeout(F,I):Qi(r,s,F)))}))),t.data.show&&(e&&e(),Q&&Q(r,F)),q||T||F()}}}function Ti(t,e){var r=t.elm;o(r._enterCb)&&(r._enterCb.cancelled=!0,r._enterCb());var n=_i(t.data.transition);if(i(n)||1!==r.nodeType)return e();if(!o(r._leaveCb)){var a=n.css,s=n.type,c=n.leaveClass,l=n.leaveToClass,f=n.leaveActiveClass,p=n.beforeLeave,d=n.leave,h=n.afterLeave,y=n.leaveCancelled,m=n.delayLeave,b=n.duration,g=!1!==a&&!Z,O=Li(d),_=v(u(b)?b.leave:b);0;var w=r._leaveCb=D((function(){r.parentNode&&r.parentNode._pending&&(r.parentNode._pending[t.key]=null),g&&(Ei(r,l),Ei(r,f)),w.cancelled?(g&&Ei(r,c),y&&y(r)):(e(),h&&h(r)),r._leaveCb=null}));m?m(k):k()}function k(){w.cancelled||(!t.data.show&&r.parentNode&&((r.parentNode._pending||(r.parentNode._pending={}))[t.key]=t),p&&p(r),g&&(Ri(r,c),Ri(r,f),Ai((function(){Ei(r,c),w.cancelled||(Ri(r,l),O||(Fi(_)?setTimeout(w,_):Qi(r,s,w)))}))),d&&d(r,w),g||O||w())}}function Fi(t){return"number"==typeof t&&!isNaN(t)}function Li(t){if(i(t))return!1;var e=t.fns;return o(e)?Li(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Ni(t,e){!0!==e.data.show&&Di(e)}var Vi=function(t){var e,r,n={},u=t.modules,c=t.nodeOps;for(e=0;e<an.length;++e)for(n[an[e]]=[],r=0;r<u.length;++r)o(u[r][an[e]])&&n[an[e]].push(u[r][an[e]]);function l(t){var e=c.parentNode(t);o(e)&&c.removeChild(e,t)}function f(t,e,r,i,s,u,l){if(o(t.elm)&&o(u)&&(t=u[l]=Ot(t)),t.isRootInsert=!s,!function(t,e,r,i){var s=t.data;if(o(s)){var u=o(t.componentInstance)&&s.keepAlive;if(o(s=s.hook)&&o(s=s.init)&&s(t,!1),o(t.componentInstance))return p(t,e),d(r,t.elm,i),a(u)&&function(t,e,r,i){var a,s=t;for(;s.componentInstance;)if(s=s.componentInstance._vnode,o(a=s.data)&&o(a=a.transition)){for(a=0;a<n.activate.length;++a)n.activate[a](on,s);e.push(s);break}d(r,t.elm,i)}(t,e,r,i),!0}}(t,e,r,i)){var f=t.data,v=t.children,y=t.tag;o(y)?(t.elm=t.ns?c.createElementNS(t.ns,y):c.createElement(y,t),b(t),h(t,v,e),o(f)&&m(t,e),d(r,t.elm,i)):a(t.isComment)?(t.elm=c.createComment(t.text),d(r,t.elm,i)):(t.elm=c.createTextNode(t.text),d(r,t.elm,i))}}function p(t,e){o(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(m(t,e),b(t)):(nn(t),e.push(t))}function d(t,e,r){o(t)&&(o(r)?c.parentNode(r)===t&&c.insertBefore(t,e,r):c.appendChild(t,e))}function h(t,e,r){if(Array.isArray(e)){0;for(var n=0;n<e.length;++n)f(e[n],r,t.elm,null,!0,e,n)}else s(t.text)&&c.appendChild(t.elm,c.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return o(t.tag)}function m(t,r){for(var i=0;i<n.create.length;++i)n.create[i](on,t);o(e=t.data.hook)&&(o(e.create)&&e.create(on,t),o(e.insert)&&r.push(t))}function b(t){var e;if(o(e=t.fnScopeId))c.setStyleScope(t.elm,e);else for(var r=t;r;)o(e=r.context)&&o(e=e.$options._scopeId)&&c.setStyleScope(t.elm,e),r=r.parent;o(e=Ze)&&e!==t.context&&e!==t.fnContext&&o(e=e.$options._scopeId)&&c.setStyleScope(t.elm,e)}function g(t,e,r,n,i,o){for(;n<=i;++n)f(r[n],o,t,e,!1,r,n)}function O(t){var e,r,i=t.data;if(o(i))for(o(e=i.hook)&&o(e=e.destroy)&&e(t),e=0;e<n.destroy.length;++e)n.destroy[e](t);if(o(e=t.children))for(r=0;r<t.children.length;++r)O(t.children[r])}function _(t,e,r){for(;e<=r;++e){var n=t[e];o(n)&&(o(n.tag)?(w(n),O(n)):l(n.elm))}}function w(t,e){if(o(e)||o(t.data)){var r,i=n.remove.length+1;for(o(e)?e.listeners+=i:e=function(t,e){function r(){0==--r.listeners&&l(t)}return r.listeners=e,r}(t.elm,i),o(r=t.componentInstance)&&o(r=r._vnode)&&o(r.data)&&w(r,e),r=0;r<n.remove.length;++r)n.remove[r](t,e);o(r=t.data.hook)&&o(r=r.remove)?r(t,e):e()}else l(t.elm)}function k(t,e,r,n){for(var i=r;i<n;i++){var a=e[i];if(o(a)&&sn(t,a))return i}}function S(t,e,r,s,u,l){if(t!==e){o(e.elm)&&o(s)&&(e=s[u]=Ot(e));var p=e.elm=t.elm;if(a(t.isAsyncPlaceholder))o(e.asyncFactory.resolved)?$(t.elm,e,r):e.isAsyncPlaceholder=!0;else if(a(e.isStatic)&&a(t.isStatic)&&e.key===t.key&&(a(e.isCloned)||a(e.isOnce)))e.componentInstance=t.componentInstance;else{var d,h=e.data;o(h)&&o(d=h.hook)&&o(d=d.prepatch)&&d(t,e);var y=t.children,m=e.children;if(o(h)&&v(e)){for(d=0;d<n.update.length;++d)n.update[d](t,e);o(d=h.hook)&&o(d=d.update)&&d(t,e)}i(e.text)?o(y)&&o(m)?y!==m&&function(t,e,r,n,a){var s,u,l,p=0,d=0,h=e.length-1,v=e[0],y=e[h],m=r.length-1,b=r[0],O=r[m],w=!a;for(0;p<=h&&d<=m;)i(v)?v=e[++p]:i(y)?y=e[--h]:sn(v,b)?(S(v,b,n,r,d),v=e[++p],b=r[++d]):sn(y,O)?(S(y,O,n,r,m),y=e[--h],O=r[--m]):sn(v,O)?(S(v,O,n,r,m),w&&c.insertBefore(t,v.elm,c.nextSibling(y.elm)),v=e[++p],O=r[--m]):sn(y,b)?(S(y,b,n,r,d),w&&c.insertBefore(t,y.elm,v.elm),y=e[--h],b=r[++d]):(i(s)&&(s=un(e,p,h)),i(u=o(b.key)?s[b.key]:k(b,e,p,h))?f(b,n,t,v.elm,!1,r,d):sn(l=e[u],b)?(S(l,b,n,r,d),e[u]=void 0,w&&c.insertBefore(t,l.elm,v.elm)):f(b,n,t,v.elm,!1,r,d),b=r[++d]);p>h?g(t,i(r[m+1])?null:r[m+1].elm,r,d,m,n):d>m&&_(e,p,h)}(p,y,m,r,l):o(m)?(o(t.text)&&c.setTextContent(p,""),g(p,null,m,0,m.length-1,r)):o(y)?_(y,0,y.length-1):o(t.text)&&c.setTextContent(p,""):t.text!==e.text&&c.setTextContent(p,e.text),o(h)&&o(d=h.hook)&&o(d=d.postpatch)&&d(t,e)}}}function j(t,e,r){if(a(r)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var n=0;n<e.length;++n)e[n].data.hook.insert(e[n])}var x=y("attrs,class,staticClass,staticStyle,key");function $(t,e,r,n){var i,s=e.tag,u=e.data,c=e.children;if(n=n||u&&u.pre,e.elm=t,a(e.isComment)&&o(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(o(u)&&(o(i=u.hook)&&o(i=i.init)&&i(e,!0),o(i=e.componentInstance)))return p(e,r),!0;if(o(s)){if(o(c))if(t.hasChildNodes())if(o(i=u)&&o(i=i.domProps)&&o(i=i.innerHTML)){if(i!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,d=0;d<c.length;d++){if(!f||!$(f,c[d],r,n)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else h(e,c,r);if(o(u)){var v=!1;for(var y in u)if(!x(y)){v=!0,m(e,r);break}!v&&u.class&&ae(u.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,r,s){if(!i(e)){var u,l=!1,p=[];if(i(t))l=!0,f(e,p);else{var d=o(t.nodeType);if(!d&&sn(t,e))S(t,e,p,null,null,s);else{if(d){if(1===t.nodeType&&t.hasAttribute("data-server-rendered")&&(t.removeAttribute("data-server-rendered"),r=!0),a(r)&&$(t,e,p))return j(e,p,!0),t;u=t,t=new yt(c.tagName(u).toLowerCase(),{},[],void 0,u)}var h=t.elm,y=c.parentNode(h);if(f(e,p,h._leaveCb?null:y,c.nextSibling(h)),o(e.parent))for(var m=e.parent,b=v(e);m;){for(var g=0;g<n.destroy.length;++g)n.destroy[g](m);if(m.elm=e.elm,b){for(var w=0;w<n.create.length;++w)n.create[w](on,m);var k=m.data.hook.insert;if(k.merged)for(var x=1;x<k.fns.length;x++)k.fns[x]()}else nn(m);m=m.parent}o(y)?_([t],0,0):o(t.tag)&&O(t)}}return j(e,p,l),e.elm}o(t)&&O(t)}}({nodeOps:en,modules:[gn,$n,ni,ai,mi,K?{create:Ni,activate:Ni,remove:function(t,e){!0!==t.data.show?Ti(t,e):e()}}:{}].concat(vn)});Z&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&Gi(t,"input")}));var Bi={inserted:function(t,e,r,n){"select"===r.tag?(n.elm&&!n.elm._vOptions?le(r,"postpatch",(function(){Bi.componentUpdated(t,e,r)})):Hi(t,e,r.context),t._vOptions=[].map.call(t.options,Ki)):("textarea"===r.tag||Xr(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Wi),t.addEventListener("compositionend",Ji),t.addEventListener("change",Ji),Z&&(t.vmodel=!0)))},componentUpdated:function(t,e,r){if("select"===r.tag){Hi(t,e,r.context);var n=t._vOptions,i=t._vOptions=[].map.call(t.options,Ki);if(i.some((function(t,e){return!I(t,n[e])})))(t.multiple?e.value.some((function(t){return zi(t,i)})):e.value!==e.oldValue&&zi(e.value,i))&&Gi(t,"change")}}};function Hi(t,e,r){Ui(t,e,r),(Y||X)&&setTimeout((function(){Ui(t,e,r)}),0)}function Ui(t,e,r){var n=e.value,i=t.multiple;if(!i||Array.isArray(n)){for(var o,a,s=0,u=t.options.length;s<u;s++)if(a=t.options[s],i)o=q(n,Ki(a))>-1,a.selected!==o&&(a.selected=o);else if(I(Ki(a),n))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function zi(t,e){return e.every((function(e){return!I(e,t)}))}function Ki(t){return"_value"in t?t._value:t.value}function Wi(t){t.target.composing=!0}function Ji(t){t.target.composing&&(t.target.composing=!1,Gi(t.target,"input"))}function Gi(t,e){var r=document.createEvent("HTMLEvents");r.initEvent(e,!0,!0),t.dispatchEvent(r)}function Yi(t){return!t.componentInstance||t.data&&t.data.transition?t:Yi(t.componentInstance._vnode)}var Zi={model:Bi,show:{bind:function(t,e,r){var n=e.value,i=(r=Yi(r)).data&&r.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;n&&i?(r.data.show=!0,Di(r,(function(){t.style.display=o}))):t.style.display=n?o:"none"},update:function(t,e,r){var n=e.value;!n!=!e.oldValue&&((r=Yi(r)).data&&r.data.transition?(r.data.show=!0,n?Di(r,(function(){t.style.display=t.__vOriginalDisplay})):Ti(r,(function(){t.style.display="none"}))):t.style.display=n?t.__vOriginalDisplay:"none")},unbind:function(t,e,r,n,i){i||(t.style.display=t.__vOriginalDisplay)}}},Xi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function to(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?to(Ke(e.children)):t}function eo(t){var e={},r=t.$options;for(var n in r.propsData)e[n]=t[n];var i=r._parentListeners;for(var o in i)e[S(o)]=i[o];return e}function ro(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var no=function(t){return t.tag||me(t)},io=function(t){return"show"===t.name},oo={name:"transition",props:Xi,abstract:!0,render:function(t){var e=this,r=this.$slots.default;if(r&&(r=r.filter(no)).length){0;var n=this.mode;0;var i=r[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=to(i);if(!o)return i;if(this._leaving)return ro(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var u=(o.data||(o.data={})).transition=eo(this),c=this._vnode,l=to(c);if(o.data.directives&&o.data.directives.some(io)&&(o.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(o,l)&&!me(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=R({},u);if("out-in"===n)return this._leaving=!0,le(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),ro(t,i);if("in-out"===n){if(me(o))return c;var p,d=function(){p()};le(u,"afterEnter",d),le(u,"enterCancelled",d),le(f,"delayLeave",(function(t){p=t}))}}return i}}},ao=R({tag:String,moveClass:String},Xi);function so(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function uo(t){t.data.newPos=t.elm.getBoundingClientRect()}function co(t){var e=t.data.pos,r=t.data.newPos,n=e.left-r.left,i=e.top-r.top;if(n||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+n+"px,"+i+"px)",o.transitionDuration="0s"}}delete ao.mode;var lo={Transition:oo,TransitionGroup:{props:ao,beforeMount:function(){var t=this,e=this._update;this._update=function(r,n){var i=Xe(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,r,n)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",r=Object.create(null),n=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=eo(this),s=0;s<i.length;s++){var u=i[s];if(u.tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))o.push(u),r[u.key]=u,(u.data||(u.data={})).transition=a}if(n){for(var c=[],l=[],f=0;f<n.length;f++){var p=n[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),r[p.key]?c.push(p):l.push(p)}this.kept=t(e,null,c),this.removed=l}return t(e,null,o)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(so),t.forEach(uo),t.forEach(co),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var r=t.elm,n=r.style;Ri(r,e),n.transform=n.WebkitTransform=n.transitionDuration="",r.addEventListener(ji,r._moveCb=function t(n){n&&n.target!==r||n&&!/transform$/.test(n.propertyName)||(r.removeEventListener(ji,t),r._moveCb=null,Ei(r,e))})}})))},methods:{hasMove:function(t,e){if(!ki)return!1;if(this._hasMove)return this._hasMove;var r=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){Oi(r,t)})),gi(r,e),r.style.display="none",this.$el.appendChild(r);var n=Mi(r);return this.$el.removeChild(r),this._hasMove=n.hasTransform}}}};jr.config.mustUseProp=Ir,jr.config.isReservedTag=Gr,jr.config.isReservedAttr=Pr,jr.config.getTagNamespace=Yr,jr.config.isUnknownElement=function(t){if(!K)return!0;if(Gr(t))return!1;if(t=t.toLowerCase(),null!=Zr[t])return Zr[t];var e=document.createElement(t);return t.indexOf("-")>-1?Zr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Zr[t]=/HTMLUnknownElement/.test(e.toString())},R(jr.options.directives,Zi),R(jr.options.components,lo),jr.prototype.__patch__=K?Vi:Q,jr.prototype.$mount=function(t,e){return function(t,e,r){var n;return t.$el=e,t.$options.render||(t.$options.render=bt),rr(t,"beforeMount"),n=function(){t._update(t._render(),r)},new hr(t,n,Q,{before:function(){t._isMounted&&!t._isDestroyed&&rr(t,"beforeUpdate")}},!0),r=!1,null==t.$vnode&&(t._isMounted=!0,rr(t,"mounted")),t}(this,t=t&&K?tn(t):void 0,e)},K&&setTimeout((function(){L.devtools&&at&&at.emit("init",jr)}),0);var fo=/\{\{((?:.|\r?\n)+?)\}\}/g,po=/[-.*+?^${}()|[\]\/\\]/g,ho=w((function(t){var e=t[0].replace(po,"\\$&"),r=t[1].replace(po,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+r,"g")}));var vo={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var r=Ln(t,"class");r&&(t.staticClass=JSON.stringify(r));var n=Fn(t,"class",!1);n&&(t.classBinding=n)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}};var yo,mo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var r=Ln(t,"style");r&&(t.staticStyle=JSON.stringify(si(r)));var n=Fn(t,"style",!1);n&&(t.styleBinding=n)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},bo=function(t){return(yo=yo||document.createElement("div")).innerHTML=t,yo.textContent},go=y("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Oo=y("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),_o=y("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),wo=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,So="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+N.source+"]*",jo="((?:"+So+"\\:)?"+So+")",xo=new RegExp("^<"+jo),$o=/^\s*(\/?)>/,Co=new RegExp("^<\\/"+jo+"[^>]*>"),Ao=/^<!DOCTYPE [^>]+>/i,Ro=/^<!\--/,Eo=/^<!\[/,Qo=y("script,style,textarea",!0),Po={},Mo={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t","&#39;":"'"},Io=/&(?:lt|gt|quot|amp|#39);/g,qo=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Do=y("pre,textarea",!0),To=function(t,e){return t&&Do(t)&&"\n"===e[0]};function Fo(t,e){var r=e?qo:Io;return t.replace(r,(function(t){return Mo[t]}))}var Lo,No,Vo,Bo,Ho,Uo,zo,Ko,Wo=/^@|^v-on:/,Jo=/^v-|^@|^:|^#/,Go=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Yo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Zo=/^\(|\)$/g,Xo=/^\[.*\]$/,ta=/:(.*)$/,ea=/^:|^\.|^v-bind:/,ra=/\.[^.\]]+(?=[^\]]*$)/g,na=/^v-slot(:|$)|^#/,ia=/[\r\n]/,oa=/[ \f\t\r\n]+/g,aa=w(bo);function sa(t,e,r){return{type:1,tag:t,attrsList:e,attrsMap:ha(e),rawAttrsMap:{},parent:r,children:[]}}function ua(t,e){Lo=e.warn||En,Uo=e.isPreTag||P,zo=e.mustUseProp||P,Ko=e.getTagNamespace||P;var r=e.isReservedTag||P;(function(t){return!(!(t.component||t.attrsMap[":is"]||t.attrsMap["v-bind:is"])&&(t.attrsMap.is?r(t.attrsMap.is):r(t.tag)))}),Vo=Qn(e.modules,"transformNode"),Bo=Qn(e.modules,"preTransformNode"),Ho=Qn(e.modules,"postTransformNode"),No=e.delimiters;var n,i,o=[],a=!1!==e.preserveWhitespace,s=e.whitespace,u=!1,c=!1;function l(t){if(f(t),u||t.processed||(t=ca(t,e)),o.length||t===n||n.if&&(t.elseif||t.else)&&fa(n,{exp:t.elseif,block:t}),i&&!t.forbidden)if(t.elseif||t.else)a=t,(s=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(i.children))&&s.if&&fa(s,{exp:a.elseif,block:a});else{if(t.slotScope){var r=t.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[r]=t}i.children.push(t),t.parent=i}var a,s;t.children=t.children.filter((function(t){return!t.slotScope})),f(t),t.pre&&(u=!1),Uo(t.tag)&&(c=!1);for(var l=0;l<Ho.length;l++)Ho[l](t,e)}function f(t){if(!c)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}return function(t,e){for(var r,n,i=[],o=e.expectHTML,a=e.isUnaryTag||P,s=e.canBeLeftOpenTag||P,u=0;t;){if(r=t,n&&Qo(n)){var c=0,l=n.toLowerCase(),f=Po[l]||(Po[l]=new RegExp("([\\s\\S]*?)(</"+l+"[^>]*>)","i")),p=t.replace(f,(function(t,r,n){return c=n.length,Qo(l)||"noscript"===l||(r=r.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),To(l,r)&&(r=r.slice(1)),e.chars&&e.chars(r),""}));u+=t.length-p.length,t=p,x(l,u-c,u)}else{var d=t.indexOf("<");if(0===d){if(Ro.test(t)){var h=t.indexOf("--\x3e");
vendor: 10,337 bytes, line 39588
39588if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),u,u+h+3),k(h+3);continue}}if(Eo.test(t)){var v=t.indexOf("]>");if(v>=0){k(v+2);continue}}var y=t.match(Ao);if(y){k(y[0].length);continue}var m=t.match(Co);if(m){var b=u;k(m[0].length),x(m[1],b,u);continue}var g=S();if(g){j(g),To(g.tagName,t)&&k(1);continue}}var O=void 0,_=void 0,w=void 0;if(d>=0){for(_=t.slice(d);!(Co.test(_)||xo.test(_)||Ro.test(_)||Eo.test(_)||(w=_.indexOf("<",1))<0);)d+=w,_=t.slice(d);O=t.substring(0,d)}d<0&&(O=t),O&&k(O.length),e.chars&&O&&e.chars(O,u-O.length,u)}if(t===r){e.chars&&e.chars(t);break}}function k(e){u+=e,t=t.substring(e)}function S(){var e=t.match(xo);if(e){var r,n,i={tagName:e[1],attrs:[],start:u};for(k(e[0].length);!(r=t.match($o))&&(n=t.match(ko)||t.match(wo));)n.start=u,k(n[0].length),n.end=u,i.attrs.push(n);if(r)return i.unarySlash=r[1],k(r[0].length),i.end=u,i}}function j(t){var r=t.tagName,u=t.unarySlash;o&&("p"===n&&_o(r)&&x(n),s(r)&&n===r&&x(r));for(var c=a(r)||!!u,l=t.attrs.length,f=new Array(l),p=0;p<l;p++){var d=t.attrs[p],h=d[3]||d[4]||d[5]||"",v="a"===r&&"href"===d[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;f[p]={name:d[1],value:Fo(h,v)}}c||(i.push({tag:r,lowerCasedTag:r.toLowerCase(),attrs:f,start:t.start,end:t.end}),n=r),e.start&&e.start(r,f,c,t.start,t.end)}function x(t,r,o){var a,s;if(null==r&&(r=u),null==o&&(o=u),t)for(s=t.toLowerCase(),a=i.length-1;a>=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)e.end&&e.end(i[c].tag,r,o);i.length=a,n=a&&i[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,r,o):"p"===s&&(e.start&&e.start(t,[],!1,r,o),e.end&&e.end(t,r,o))}x()}(t,{warn:Lo,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,r,a,s,f){var p=i&&i.ns||Ko(t);Y&&"svg"===p&&(r=function(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];va.test(n.name)||(n.name=n.name.replace(ya,""),e.push(n))}return e}(r));var d,h=sa(t,r,i);p&&(h.ns=p),"style"!==(d=h).tag&&("script"!==d.tag||d.attrsMap.type&&"text/javascript"!==d.attrsMap.type)||ot()||(h.forbidden=!0);for(var v=0;v<Bo.length;v++)h=Bo[v](h,e)||h;u||(!function(t){null!=Ln(t,"v-pre")&&(t.pre=!0)}(h),h.pre&&(u=!0)),Uo(h.tag)&&(c=!0),u?function(t){var e=t.attrsList,r=e.length;if(r)for(var n=t.attrs=new Array(r),i=0;i<r;i++)n[i]={name:e[i].name,value:JSON.stringify(e[i].value)},null!=e[i].start&&(n[i].start=e[i].start,n[i].end=e[i].end);else t.pre||(t.plain=!0)}(h):h.processed||(la(h),function(t){var e=Ln(t,"v-if");if(e)t.if=e,fa(t,{exp:e,block:t});else{null!=Ln(t,"v-else")&&(t.else=!0);var r=Ln(t,"v-else-if");r&&(t.elseif=r)}}(h),function(t){null!=Ln(t,"v-once")&&(t.once=!0)}(h)),n||(n=h),a?l(h):(i=h,o.push(h))},end:function(t,e,r){var n=o[o.length-1];o.length-=1,i=o[o.length-1],l(n)},chars:function(t,e,r){if(i&&(!Y||"textarea"!==i.tag||i.attrsMap.placeholder!==t)){var n,o,l,f=i.children;if(t=c||t.trim()?"script"===(n=i).tag||"style"===n.tag?t:aa(t):f.length?s?"condense"===s&&ia.test(t)?"":" ":a?" ":"":"")c||"condense"!==s||(t=t.replace(oa," ")),!u&&" "!==t&&(o=function(t,e){var r=e?ho(e):fo;if(r.test(t)){for(var n,i,o,a=[],s=[],u=r.lastIndex=0;n=r.exec(t);){(i=n.index)>u&&(s.push(o=t.slice(u,i)),a.push(JSON.stringify(o)));var c=An(n[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),u=i+n[0].length}return u<t.length&&(s.push(o=t.slice(u)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(t,No))?l={type:2,expression:o.expression,tokens:o.tokens,text:t}:" "===t&&f.length&&" "===f[f.length-1].text||(l={type:3,text:t}),l&&f.push(l)}},comment:function(t,e,r){if(i){var n={type:3,text:t,isComment:!0};0,i.children.push(n)}}}),n}function ca(t,e){var r;!function(t){var e=Fn(t,"key");if(e){t.key=e}}(t),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,function(t){var e=Fn(t,"ref");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){var e;"template"===t.tag?(e=Ln(t,"scope"),t.slotScope=e||Ln(t,"slot-scope")):(e=Ln(t,"slot-scope"))&&(t.slotScope=e);var r=Fn(t,"slot");r&&(t.slotTarget='""'===r?'"default"':r,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||Mn(t,"slot",r,function(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}(t,"slot")));if("template"===t.tag){var n=Nn(t,na);if(n){0;var i=pa(n),o=i.name,a=i.dynamic;t.slotTarget=o,t.slotTargetDynamic=a,t.slotScope=n.value||"_empty_"}}else{var s=Nn(t,na);if(s){0;var u=t.scopedSlots||(t.scopedSlots={}),c=pa(s),l=c.name,f=c.dynamic,p=u[l]=sa("template",[],t);p.slotTarget=l,p.slotTargetDynamic=f,p.children=t.children.filter((function(t){if(!t.slotScope)return t.parent=p,!0})),p.slotScope=s.value||"_empty_",t.children=[],t.plain=!1}}}(t),"slot"===(r=t).tag&&(r.slotName=Fn(r,"name")),function(t){var e;(e=Fn(t,"is"))&&(t.component=e);null!=Ln(t,"inline-template")&&(t.inlineTemplate=!0)}(t);for(var n=0;n<Vo.length;n++)t=Vo[n](t,e)||t;return function(t){var e,r,n,i,o,a,s,u,c=t.attrsList;for(e=0,r=c.length;e<r;e++){if(n=i=c[e].name,o=c[e].value,Jo.test(n))if(t.hasBindings=!0,(a=da(n.replace(Jo,"")))&&(n=n.replace(ra,"")),ea.test(n))n=n.replace(ea,""),o=An(o),(u=Xo.test(n))&&(n=n.slice(1,-1)),a&&(a.prop&&!u&&"innerHtml"===(n=S(n))&&(n="innerHTML"),a.camel&&!u&&(n=S(n)),a.sync&&(s=Hn(o,"$event"),u?Tn(t,'"update:"+('+n+")",s,null,!1,0,c[e],!0):(Tn(t,"update:"+S(n),s,null,!1,0,c[e]),$(n)!==S(n)&&Tn(t,"update:"+$(n),s,null,!1,0,c[e])))),a&&a.prop||!t.component&&zo(t.tag,t.attrsMap.type,n)?Pn(t,n,o,c[e],u):Mn(t,n,o,c[e],u);else if(Wo.test(n))n=n.replace(Wo,""),(u=Xo.test(n))&&(n=n.slice(1,-1)),Tn(t,n,o,a,!1,0,c[e],u);else{var l=(n=n.replace(Jo,"")).match(ta),f=l&&l[1];u=!1,f&&(n=n.slice(0,-(f.length+1)),Xo.test(f)&&(f=f.slice(1,-1),u=!0)),qn(t,n,i,o,f,u,a,c[e])}else Mn(t,n,JSON.stringify(o),c[e]),!t.component&&"muted"===n&&zo(t.tag,t.attrsMap.type,n)&&Pn(t,n,"true",c[e])}}(t),t}function la(t){var e;if(e=Ln(t,"v-for")){var r=function(t){var e=t.match(Go);if(!e)return;var r={};r.for=e[2].trim();var n=e[1].trim().replace(Zo,""),i=n.match(Yo);i?(r.alias=n.replace(Yo,"").trim(),r.iterator1=i[1].trim(),i[2]&&(r.iterator2=i[2].trim())):r.alias=n;return r}(e);r&&R(t,r)}}function fa(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function pa(t){var e=t.name.replace(na,"");return e||"#"!==t.name[0]&&(e="default"),Xo.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'+e+'"',dynamic:!1}}function da(t){var e=t.match(ra);if(e){var r={};return e.forEach((function(t){r[t.slice(1)]=!0})),r}}function ha(t){for(var e={},r=0,n=t.length;r<n;r++)e[t[r].name]=t[r].value;return e}var va=/^xmlns:NS\d+/,ya=/^NS\d+:/;function ma(t){return sa(t.tag,t.attrsList.slice(),t.parent)}var ba=[vo,mo,{preTransformNode:function(t,e){if("input"===t.tag){var r,n=t.attrsMap;if(!n["v-model"])return;if((n[":type"]||n["v-bind:type"])&&(r=Fn(t,"type")),n.type||r||!n["v-bind"]||(r="("+n["v-bind"]+").type"),r){var i=Ln(t,"v-if",!0),o=i?"&&("+i+")":"",a=null!=Ln(t,"v-else",!0),s=Ln(t,"v-else-if",!0),u=ma(t);la(u),In(u,"type","checkbox"),ca(u,e),u.processed=!0,u.if="("+r+")==='checkbox'"+o,fa(u,{exp:u.if,block:u});var c=ma(t);Ln(c,"v-for",!0),In(c,"type","radio"),ca(c,e),fa(u,{exp:"("+r+")==='radio'"+o,block:c});var l=ma(t);return Ln(l,"v-for",!0),In(l,":type",r),ca(l,e),fa(u,{exp:i,block:l}),a?u.else=!0:s&&(u.elseif=s),u}}}}];var ga,Oa,_a={expectHTML:!0,modules:ba,directives:{model:function(t,e,r){r;var n=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if(t.component)return Bn(t,n,i),!1;if("select"===o)!function(t,e,r){var n='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r&&r.number?"_n(val)":"val")+"});";n=n+" "+Hn(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Tn(t,"change",n,null,!0)}(t,n,i);else if("input"===o&&"checkbox"===a)!function(t,e,r){var n=r&&r.number,i=Fn(t,"value")||"null",o=Fn(t,"true-value")||"true",a=Fn(t,"false-value")||"false";Pn(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),Tn(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(n?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Hn(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Hn(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Hn(e,"$$c")+"}",null,!0)}(t,n,i);else if("input"===o&&"radio"===a)!function(t,e,r){var n=r&&r.number,i=Fn(t,"value")||"null";Pn(t,"checked","_q("+e+","+(i=n?"_n("+i+")":i)+")"),Tn(t,"change",Hn(e,i),null,!0)}(t,n,i);else if("input"===o||"textarea"===o)!function(t,e,r){var n=t.attrsMap.type;0;var i=r||{},o=i.lazy,a=i.number,s=i.trim,u=!o&&"range"!==n,c=o?"change":"range"===n?"__r":"input",l="$event.target.value";s&&(l="$event.target.value.trim()");a&&(l="_n("+l+")");var f=Hn(e,l);u&&(f="if($event.target.composing)return;"+f);Pn(t,"value","("+e+")"),Tn(t,c,f,null,!0),(s||a)&&Tn(t,"blur","$forceUpdate()")}(t,n,i);else{if(!L.isReservedTag(o))return Bn(t,n,i),!1}return!0},text:function(t,e){e.value&&Pn(t,"textContent","_s("+e.value+")",e)},html:function(t,e){e.value&&Pn(t,"innerHTML","_s("+e.value+")",e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:go,mustUseProp:Ir,canBeLeftOpenTag:Oo,isReservedTag:Gr,getTagNamespace:Yr,staticKeys:function(t){return t.reduce((function(t,e){return t.concat(e.staticKeys||[])}),[]).join(",")}(ba)},wa=w((function(t){return y("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}));function ka(t,e){t&&(ga=wa(e.staticKeys||""),Oa=e.isReservedTag||P,function t(e){if(e.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||m(t.tag)||!Oa(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(ga)))}(e),1===e.type){if(!Oa(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var r=0,n=e.children.length;r<n;r++){var i=e.children[r];t(i),i.static||(e.static=!1)}if(e.ifConditions)for(var o=1,a=e.ifConditions.length;o<a;
vendor: 6,107 bytes, line 39588
39588o++){var s=e.ifConditions[o].block;t(s),s.static||(e.static=!1)}}}(t),function t(e,r){if(1===e.type){if((e.static||e.once)&&(e.staticInFor=r),e.static&&e.children.length&&(1!==e.children.length||3!==e.children[0].type))return void(e.staticRoot=!0);if(e.staticRoot=!1,e.children)for(var n=0,i=e.children.length;n<i;n++)t(e.children[n],r||!!e.for);if(e.ifConditions)for(var o=1,a=e.ifConditions.length;o<a;o++)t(e.ifConditions[o].block,r)}}(t,!1))}var Sa=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,ja=/\([^)]*?\);*$/,xa=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,$a={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ca={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Aa=function(t){return"if("+t+")return null;"},Ra={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Aa("$event.target !== $event.currentTarget"),ctrl:Aa("!$event.ctrlKey"),shift:Aa("!$event.shiftKey"),alt:Aa("!$event.altKey"),meta:Aa("!$event.metaKey"),left:Aa("'button' in $event && $event.button !== 0"),middle:Aa("'button' in $event && $event.button !== 1"),right:Aa("'button' in $event && $event.button !== 2")};function Ea(t,e){var r=e?"nativeOn:":"on:",n="",i="";for(var o in t){var a=Qa(t[o]);t[o]&&t[o].dynamic?i+=o+","+a+",":n+='"'+o+'":'+a+","}return n="{"+n.slice(0,-1)+"}",i?r+"_d("+n+",["+i.slice(0,-1)+"])":r+n}function Qa(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map((function(t){return Qa(t)})).join(",")+"]";var e=xa.test(t.value),r=Sa.test(t.value),n=xa.test(t.value.replace(ja,""));if(t.modifiers){var i="",o="",a=[];for(var s in t.modifiers)if(Ra[s])o+=Ra[s],$a[s]&&a.push(s);else if("exact"===s){var u=t.modifiers;o+=Aa(["ctrl","shift","alt","meta"].filter((function(t){return!u[t]})).map((function(t){return"$event."+t+"Key"})).join("||"))}else a.push(s);return a.length&&(i+=function(t){return"if(!$event.type.indexOf('key')&&"+t.map(Pa).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(e?"return "+t.value+".apply(null, arguments)":r?"return ("+t.value+").apply(null, arguments)":n?"return "+t.value:t.value)+"}"}return e||r?t.value:"function($event){"+(n?"return "+t.value:t.value)+"}"}function Pa(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var r=$a[t],n=Ca[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(r)+",$event.key,"+JSON.stringify(n)+")"}var Ma={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(r){return"_b("+r+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:Q},Ia=function(t){this.options=t,this.warn=t.warn||En,this.transforms=Qn(t.modules,"transformCode"),this.dataGenFns=Qn(t.modules,"genData"),this.directives=R(R({},Ma),t.directives);var e=t.isReservedTag||P;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function qa(t,e){var r=new Ia(e);return{render:"with(this){return "+(t?"script"===t.tag?"null":Da(t,r):'_c("div")')+"}",staticRenderFns:r.staticRenderFns}}function Da(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Ta(t,e);if(t.once&&!t.onceProcessed)return Fa(t,e);if(t.for&&!t.forProcessed)return Na(t,e);if(t.if&&!t.ifProcessed)return La(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return function(t,e){var r=t.slotName||'"default"',n=Ua(t,e),i="_t("+r+(n?",function(){return "+n+"}":""),o=t.attrs||t.dynamicAttrs?Wa((t.attrs||[]).concat(t.dynamicAttrs||[]).map((function(t){return{name:S(t.name),value:t.value,dynamic:t.dynamic}}))):null,a=t.attrsMap["v-bind"];!o&&!a||n||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,e);var r;if(t.component)r=function(t,e,r){var n=e.inlineTemplate?null:Ua(e,r,!0);return"_c("+t+","+Va(e,r)+(n?","+n:"")+")"}(t.component,t,e);else{var n;(!t.plain||t.pre&&e.maybeComponent(t))&&(n=Va(t,e));var i=t.inlineTemplate?null:Ua(t,e,!0);r="_c('"+t.tag+"'"+(n?","+n:"")+(i?","+i:"")+")"}for(var o=0;o<e.transforms.length;o++)r=e.transforms[o](t,r);return r}return Ua(t,e)||"void 0"}function Ta(t,e){t.staticProcessed=!0;var r=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return "+Da(t,e)+"}"),e.pre=r,"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function Fa(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return La(t,e);if(t.staticInFor){for(var r="",n=t.parent;n;){if(n.for){r=n.key;break}n=n.parent}return r?"_o("+Da(t,e)+","+e.onceId+++","+r+")":Da(t,e)}return Ta(t,e)}function La(t,e,r,n){return t.ifProcessed=!0,function t(e,r,n,i){if(!e.length)return i||"_e()";var o=e.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+t(e,r,n,i):""+a(o.block);function a(t){return n?n(t,r):t.once?Fa(t,r):Da(t,r)}}(t.ifConditions.slice(),e,r,n)}function Na(t,e,r,n){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,(n||"_l")+"(("+i+"),function("+o+a+s+"){return "+(r||Da)(t,e)+"})"}function Va(t,e){var r="{",n=function(t,e){var r=t.directives;if(!r)return;var n,i,o,a,s="directives:[",u=!1;for(n=0,i=r.length;n<i;n++){o=r[n],a=!0;var c=e.directives[o.name];c&&(a=!!c(t,o,e.warn)),a&&(u=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?",arg:"+(o.isDynamicArg?o.arg:'"'+o.arg+'"'):"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(u)return s.slice(0,-1)+"]"}(t,e);n&&(r+=n+","),t.key&&(r+="key:"+t.key+","),t.ref&&(r+="ref:"+t.ref+","),t.refInFor&&(r+="refInFor:true,"),t.pre&&(r+="pre:true,"),t.component&&(r+='tag:"'+t.tag+'",');for(var i=0;i<e.dataGenFns.length;i++)r+=e.dataGenFns[i](t);if(t.attrs&&(r+="attrs:"+Wa(t.attrs)+","),t.props&&(r+="domProps:"+Wa(t.props)+","),t.events&&(r+=Ea(t.events,!1)+","),t.n
39588ativeEvents&&(r+=Ea(t.nativeEvents,!0)+","),t.slotTarget&&!t.slotScope&&(r+="slot:"+t.slotTarget+","),t.scopedSlots&&(r+=function(t,e,r){var n=t.for||Object.keys(e).some((function(t){var r=e[t];return r.slotTargetDynamic||r.if||r.for||Ba(r)})),i=!!t.if;if(!n)for(var o=t.parent;o;){if(o.slotScope&&"_empty_"!==o.slotScope||o.for){n=!0;break}o.if&&(i=!0),o=o.parent}var a=Object.keys(e).map((function(t){return Ha(e[t],r)})).join(",");return"scopedSlots:_u(["+a+"]"+(n?",null,true":"")+(!n&&i?",null,false,"+function(t){var e=5381,r=t.length;for(;r;)e=33*e^t.charCodeAt(--r);return e>>>0}(a):"")+")"}(t,t.scopedSlots,e)+","),t.model&&(r+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var o=function(t,e){var r=t.children[0];0;if(r&&1===r.type){var n=qa(r,e.options);return"inlineTemplate:{render:function(){"+n.render+"},staticRenderFns:["+n.staticRenderFns.map((function(t){return"function(){"+t+"}"})).join(",")+"]}"}}(t,e);o&&(r+=o+",")}return r=r.replace(/,$/,"")+"}",t.dynamicAttrs&&(r="_b("+r+',"'+t.tag+'",'+Wa(t.dynamicAttrs)+")"),t.wrapData&&(r=t.wrapData(r)),t.wrapListeners&&(r=t.wrapListeners(r)),r}function Ba(t){return 1===t.type&&("slot"===t.tag||t.children.some(Ba))}function Ha(t,e){var r=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!r)return La(t,e,Ha,"null");if(t.for&&!t.forProcessed)return Na(t,e,Ha);var n="_empty_"===t.slotScope?"":String(t.slotScope),i="function("+n+"){return "+("template"===t.tag?t.if&&r?"("+t.if+")?"+(Ua(t,e)||"undefined")+":undefined":Ua(t,e)||"undefined":Da(t,e))+"}",o=n?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+i+o+"}"}function Ua(t,e,r,n,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=r?e.maybeComponent(a)?",1":",0":"";return""+(n||Da)(a,e)+s}var u=r?function(t,e){for(var r=0,n=0;n<t.length;n++){var i=t[n];if(1===i.type){if(za(i)||i.ifConditions&&i.ifConditions.some((function(t){return za(t.block)}))){r=2;break}(e(i)||i.ifConditions&&i.ifConditions.some((function(t){return e(t.block)})))&&(r=1)}}return r}(o,e.maybeComponent):0,c=i||Ka;return"["+o.map((function(t){return c(t,e)})).join(",")+"]"+(u?","+u:"")}}function za(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function Ka(t,e){return 1===t.type?Da(t,e):3===t.type&&t.isComment?function(t){return"_e("+JSON.stringify(t.text)+")"}(t):function(t){return"_v("+(2===t.type?t.expression:Ja(JSON.stringify(t.text)))+")"}(t)}function Wa(t){for(var e="",r="",n=0;n<t.length;n++){var i=t[n],o=Ja(i.value);i.dynamic?r+=i.name+","+o+",":e+='"'+i.name+'":'+o+","}return e="{"+e.slice(0,-1)+"}",r?"_d("+e+",["+r.slice(0,-1)+"])":e}function Ja(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");function Ga(t,e){try{return new Function(t)}catch(r){return e.push({err:r,code:t}),Q}}function Ya(t){var e=Object.create(null);return function(r,n,i){(n=R({},n)).warn;delete n.warn;var o=n.delimiters?String(n.delimiters)+r:r;if(e[o])return e[o];var a=t(r,n);var s={},u=[];return s.render=Ga(a.render,u),s.staticRenderFns=a.staticRenderFns.map((function(t){return Ga(t,u)})),e[o]=s}}var Za,Xa,ts=(Za=function(t,e){var r=ua(t.trim(),e);!1!==e.optimize&&ka(r,e);var n=qa(r,e);return{ast:r,render:n.render,staticRenderFns:n.staticRenderFns}},function(t){function e(e,r){var n=Object.create(t),i=[],o=[];if(r)for(var a in r.modules&&(n.modules=(t.modules||[]).concat(r.modules)),r.directives&&(n.directives=R(Object.create(t.directives||null),r.directives)),r)"modules"!==a&&"directives"!==a&&(n[a]=r[a]);n.warn=function(t,e,r){(r?o:i).push(t)};var s=Za(e.trim(),n);return s.errors=i,s.tips=o,s}return{compile:e,compileToFunctions:Ya(e)}})(_a),es=(ts.compile,ts.compileToFunctions);function rs(t){return(Xa=Xa||document.createElement("div")).innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',Xa.innerHTML.indexOf("&#10;")>0}var ns=!!K&&rs(!1),is=!!K&&rs(!0),os=w((function(t){var e=tn(t);return e&&e.innerHTML})),as=jr.prototype.$mount;jr.prototype.$mount=function(t,e){if((t=t&&tn(t))===document.body||t===document.documentElement)return this;var r=this.$options;if(!r.render){var n=r.template;if(n)if("string"==typeof n)"#"===n.charAt(0)&&(n=os(n));else{if(!n.nodeType)return this;n=n.innerHTML}else t&&(n=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(n){0;var i=es(n,{outputSourceRange:!1,shouldDecodeNewlines:ns,shouldDecodeNewlinesForHref:is,delimiters:r.delimiters,comments:r.comments},this),o=i.render,a=i.staticRenderFns;r.render=o,r.staticRenderFns=a}}return as.call(this,t,e)},jr.compile=es,e.default=jr}.call(this,r(12),r(90).setImmediate)},,,,,,,,,,,,,,,,,,,,,,,function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},,function(t,e){var r=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},function(t,e,r){var n=r(237)("wks"),i=r(182),o=r(58).Symbol,a="function"==typeof o;(t.exports=function(t){return n[t]||(n[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=n},,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";r.r(e),r.d(e,"ApolloLink",(function(){return g})),r.d(e,"concat",(function(){return b})),r.d(e,"createOperation",(function(){return p})),r.d(e,"empty",(function(){return v})),r.d(e,"execute",(function(){return O})),r.d(e,"from",(function(){return y}
vendor: 4,310 bytes, line 39588
39588)),r.d(e,"fromError",(function(){return f})),r.d(e,"fromPromise",(function(){return l})),r.d(e,"makePromise",(function(){return c})),r.d(e,"split",(function(){return m})),r.d(e,"toPromise",(function(){return u}));var n=r(20);r.d(e,"Observable",(function(){return n.a}));var i=r(3),o=r(0),a=r(1);r.d(e,"getOperationName",(function(){return a.n}));!function(t){function e(e,r){var n=t.call(this,e)||this;return n.link=r,n}Object(o.c)(e,t)}(Error);function s(t){return t.request.length<=1}function u(t){var e=!1;return new Promise((function(r,n){t.subscribe({next:function(t){e||(e=!0,r(t))},error:n})}))}var c=u;function l(t){return new n.a((function(e){t.then((function(t){e.next(t),e.complete()})).catch(e.error.bind(e))}))}function f(t){return new n.a((function(e){e.error(t)}))}function p(t,e){var r=Object(o.a)({},t);return Object.defineProperty(e,"setContext",{enumerable:!1,value:function(t){r="function"==typeof t?Object(o.a)({},r,t(r)):Object(o.a)({},r,t)}}),Object.defineProperty(e,"getContext",{enumerable:!1,value:function(){return Object(o.a)({},r)}}),Object.defineProperty(e,"toKey",{enumerable:!1,value:function(){return function(t){var e=t.query,r=t.variables,n=t.operationName;return JSON.stringify([n,e,r])}(e)}}),e}function d(t,e){return e?e(t):n.a.of()}function h(t){return"function"==typeof t?new g(t):t}function v(){return new g((function(){return n.a.of()}))}function y(t){return 0===t.length?v():t.map(h).reduce((function(t,e){return t.concat(e)}))}function m(t,e,r){var i=h(e),o=h(r||new g(d));return s(i)&&s(o)?new g((function(e){return t(e)?i.request(e)||n.a.of():o.request(e)||n.a.of()})):new g((function(e,r){return t(e)?i.request(e,r)||n.a.of():o.request(e,r)||n.a.of()}))}var b=function(t,e){var r=h(t);if(s(r))return r;var i=h(e);return s(i)?new g((function(t){return r.request(t,(function(t){return i.request(t)||n.a.of()}))||n.a.of()})):new g((function(t,e){return r.request(t,(function(t){return i.request(t,e)||n.a.of()}))||n.a.of()}))},g=function(){function t(t){t&&(this.request=t)}return t.prototype.split=function(e,r,n){return this.concat(m(e,r,n||new t(d)))},t.prototype.concat=function(t){return b(this,t)},t.prototype.request=function(t,e){throw new i.a(1)},t.empty=v,t.from=y,t.split=m,t.execute=O,t}();function O(t,e){return t.request(p(e.context,function(t){var e={variables:t.variables||{},extensions:t.extensions||{},operationName:t.operationName,query:t.query};return e.operationName||(e.operationName="string"!=typeof e.query?Object(a.n)(e.query):""),e}(function(t){for(var e=["query","operationName","variables","extensions","context"],r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];if(e.indexOf(o)<0)throw new i.a(2)}return t}(e))))||n.a.of()}},function(t,e,r){var n=r(89);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},,function(t,e,r){r(383),r(240),r(232),r(384),r(395),r(396),t.exports=r(60).Promise},,,,,,function(t,e,r){r(232),r(240),t.exports=r(327)},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,function(t,e,r){"use strict";r.r(e),function(t){r.d(e,"ApolloMutation",(function(){return tt})),r.d(e,"ApolloProvider",(function(){return Y})),r.d(e,"ApolloQuery",(function(){return Z})),r.d(e,"ApolloSubscribeToMore",(function(){return X})),r.d(e,"install",(function(){return G}));var n=r(23);function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,e,r){return e&&a(t.prototype,e),r&&a(t,r),t}function u(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function l(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};
39588e%2?c(Object(r),!0).forEach((function(e){u(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function f(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function v(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?h(t):e}function y(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=p(t);if(e){var i=p(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return v(this,r)}}function m(t,e,r){return(m="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=p(t)););return t}(t,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(r):i.value}})(t,e,r||t)}function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||O(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(t){return function(t){if(Array.isArray(t))return _(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||O(t)||function(){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 O(t,e){if(t){if("string"==typeof t)return _(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(t,e):void 0}}function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==t||"undefined"!=typeof self&&self;function w(t,e){return t(e={exports:{}},e.exports),e.exports}var k,S=w((function(t,e){!function(t){function e(t,e,r,n){var i,o=!1,a=0;function s(){i&&clearTimeout(i)}function u(){for(var u=arguments.length,c=new Array(u),l=0;l<u;l++)c[l]=arguments[l];var f=this,p=Date.now()-a;function d(){a=Date.now(),r.apply(f,c)}function h(){i=void 0}o||(n&&!i&&d(),s(),void 0===n&&p>t?d():!0!==e&&(i=setTimeout(n?h:d,void 0===n?t-p:t)))}return"boolean"!=typeof e&&(n=r,r=e,e=void 0),u.cancel=function(){s(),o=!0},u}t.debounce=function(t,r,n){return void 0===n?e(t,r,!1):e(t,n,!1!==r)},t.throttle=e,Object.defineProperty(t,"__esModule",{value:!0})}(e)}));(k=S)&&k.__esModule&&Object.prototype.hasOwnProperty.call(k,"default")&&k.default;var j=w((function(t,e){var r=e.Globals={};function n(t){return function(e,r){return t(r,e)}}e.throttle=n(S.throttle),e.debounce=n(S.debounce),e.getMergedDefinition=function(t){return r.Vue.util.mergeOptions({},t)},e.reapply=function(t,e){for(;"function"==typeof t;)t=t.call(e);return t},e.omit=function(t,e){return Object.entries(t).filter((function(t){var r=b(t,1)[0];return!e.includes(r)})).reduce((function(t,e){var r=b(e,2),n=r[0],i=r[1];return t[n]=i,t}),{})},e.addGqlError=function(t){t.graphQLErrors&&t.graphQLErrors.length&&(t.gqlError=t.graphQLErrors[0])},e.noop=function(){}})),x=j.Globals,$=j.throttle,C=j.debounce,A=(j.getMergedDefinition,j.reapply),R=j.omit,E=j.addGqlError,Q=(j.no
vendor: 36,479 bytes, line 39588
39588op,function(){function t(e,r,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];o(this,t),u(this,"type",null),u(this,"vueApolloSpecialKeys",[]),this.vm=e,this.key=r,this.initialOptions=n,this.options=Object.assign({},n),this._skip=!1,this._pollInterval=null,this._watchers=[],this._destroyed=!1,this.lastApolloOptions=null,i&&this.autostart()}return s(t,[{key:"autostart",value:function(){var t=this;"function"==typeof this.options.skip?this._skipWatcher=this.vm.$watch((function(){return t.options.skip.call(t.vm,t.vm,t.key)}),this.skipChanged.bind(this),{immediate:!0,deep:this.options.deep}):this.options.skip?this._skip=!0:this.start(),"function"==typeof this.options.pollInterval&&(this._pollWatcher=this.vm.$watch(this.options.pollInterval.bind(this.vm),this.pollIntervalChanged.bind(this),{immediate:!0}))}},{key:"pollIntervalChanged",value:function(t,e){t!==e&&(this.pollInterval=t,null==t?this.stopPolling():this.startPolling(t))}},{key:"skipChanged",value:function(t,e){t!==e&&(this.skip=t)}},{key:"pollInterval",get:function(){return this._pollInterval},set:function(t){this._pollInterval=t}},{key:"skip",get:function(){return this._skip},set:function(t){t?this.stop():this.start(),this._skip=t}},{key:"refresh",value:function(){this._skip||(this.stop(),this.start())}},{key:"start",value:function(){var t=this;this.starting=!0;for(var e=function(e,r){var n=r[e];if("function"==typeof t.initialOptions[n]){var i=t.initialOptions[n].bind(t.vm);t.options[n]=i();var o=function(e){t.options[n]=e,t.refresh()};t.vm.$isServer||(o=t.options.throttle?$(o,t.options.throttle):o,o=t.options.debounce?C(o,t.options.debounce):o),t._watchers.push(t.vm.$watch(i,o,{deep:t.options.deep}))}},r=0,n=["query","document","context"];r<n.length;r++)e(r,n);if("function"==typeof this.options.variables){var i=this.executeApollo.bind(this);this.vm.$isServer||(i=this.options.throttle?$(i,this.options.throttle):i,i=this.options.debounce?C(i,this.options.debounce):i),this._watchers.push(this.vm.$watch((function(){return"function"==typeof t.options.variables?t.options.variables.call(t.vm):t.options.variables}),i,{immediate:!0,deep:this.options.deep}))}else this.executeApollo(this.options.variables)}},{key:"stop",value:function(){for(var t=0,e=this._watchers;t<e.length;t++){(0,e[t])()}this.sub&&(this.sub.unsubscribe(),this.sub=null)}},{key:"generateApolloOptions",value:function(t){var e=R(this.options,this.vueApolloSpecialKeys);return e.variables=t,this.lastApolloOptions=e,e}},{key:"executeApollo",value:function(t){this.starting=!1}},{key:"nextResult",value:function(t){var e=t.error;e&&E(e)}},{key:"callHandlers",value:function(t){for(var e=!1,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];for(var o=0;o<t.length;o++){var a=t[o];if(a){e=!0;var s=a.apply(this.vm,n);if(void 0!==s&&!s)break}}return e}},{key:"errorHandler",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return this.callHandlers.apply(this,[[this.options.error,this.vm.$apollo.error,this.vm.$apollo.provider.errorHandler]].concat(e))}},{key:"catchError",value:function(t){if(E(t),!this.errorHandler(t,this.vm,this.key,this.type,this.lastApolloOptions))if(t.graphQLErrors&&0!==t.graphQLErrors.length){console.error("GraphQL execution errors for ".concat(this.type," '").concat(this.key,"'"));for(var e=0,r=t.graphQLErrors;e<r.length;e++){var n=r[e];console.error(n)}}else if(t.networkError)console.error("Error sending the ".concat(this.type," '").concat(this.key,"'"),t.networkError);else{var i;if(console.error("[vue-apollo] An error has occurred for ".concat(this.type," '").concat(this.key,"'")),Array.isArray(t))(i=console).error.apply(i,g(t));else console.error(t)}}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.stop(),this._skipWatcher&&this._skipWatcher())}}]),t}()),P=["variables","watch","update","result","error","loadingKey","watchLoading","skip","throttle","debounce","subscribeToMore","prefetch","manual"],M=function(t){f(r,t);var e=y(r);function r(t,n,i){var a,s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return o(this,r),t.$data.$apolloData&&!t.$data.$apolloData.queries[n]&&t.$set(t.$data.$apolloData.queries,n,{loading:!1}),u(h(a=e.call(this,t,n,i,!1)),"type","query"),u(h(a),"vueApolloSpecialKeys",P),u(h(a),"_loading",!1),u(h(a),"_linkedSubscriptions",[]),t.$isServer&&(a.firstRun=new Promise((function(t,e){a._firstRunResolve=t,a._firstRunReject=e}))),a.vm.$isServer&&(a.options.fetchPolicy="network-only"),i.manual||(a.hasDataField=Object.prototype.hasOwnProperty.call(a.vm.$data,n),a.hasDataField?Object.defineProperty(a.vm.$data.$apolloData.data,n,{get:function(){return a.vm.$data[n]},enumerable:!0,configurable:!0}):Object.defineProperty(a.vm.$data,n,{get:function(){return a.vm.$data.$apolloData.data[n]},enumerable:!0,configurable:!0})),s&&a.autostart(),a}return s(r,[{key:"client",get:function(){return this.vm.$apollo.getClient(this.options)}},{key:"loading",get:function(){return this.vm.$data.$apolloData&&this.vm.$data.$apolloData.queries[this.key]?this.vm.$data.$apolloData.queries[this.key].loading:this._loading},set:function(t){this._loading!==t&&(this._loading=t,this.vm.$data.$apolloData&&this.vm.$data.$apolloData.queries[this.key]&&(this.vm.$data.$apolloData.queries[this.key].loading=t,this.vm.$data.$apolloData.loading+=t?1:-1))}},{key:"stop",value:function(){m(p(r.prototype),"stop",this).call(this),this.loadingDone(),this.observer&&(this.observer.stopPolling(),this.observer=null)}},{key:"generateApolloOptions",value:function(t){var e=m(p(r.prototype),"generateApolloOptions",this).call(this,t);return this.vm.$isServer&&delete e.pollInterval,e}},{key:"executeApollo",value:function(t){var e=JSON.stringify(t);if(this.sub){if(e===this.previousVariablesJson)return;this.sub.unsubscribe();for(var n=0,i=this._linkedSubscriptions;n<i.length;n++){i[n].stop()}}if(this.previousVariablesJson=e,this.observer=this.vm.$apollo.watchQuery(this.generateApolloOptions(t)),this.startQuerySubscription(),"no-cache"!==this.options.fetchPolicy||this.options.notifyOnNetworkStatusChange){var o=this.retrieveCurrentResult();(this.options.notifyOnNetworkStatusChange||this.observer.getCurrentResult&&!o.loading)&&this.nextResult(o)}m(p(r.prototype),"executeApollo",this).call(this,t);for(var a=0,s=this._linkedSubscriptions;a<s.length;a++){s[a].start()}}},{key:"startQuerySubscription",value:function(){this.sub&&!this.sub.closed||(this.sub=this.observer.subscribe({next:this.nextResult.bind(this),error:this.catchError.bind(this)}))}},{key:"retrieveCurrentResult",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.observer.getCurrentResult?this.observer.getCurrentResult():this.observer.currentResult();return(t||e.loading)&&(this.loading||this.applyLoadingModifier(1),this.loading=!0),e}},{key:"nextResult",value:function(t){m(p(r.prototype),"nextResult",this).call(this,t);var e=t.data,n=t.loading,i=t.error,o=t.errors,a=o&&o.length;if((i||a)&&this.firstRunReject(i),n||this.loadingDone(),a){var s=new Error("GraphQL error: ".concat(o.map((function(t){return t.message})).join(" | ")));Object.assign(s,{graphQLErrors:o,networkError:null}),m(p(r.prototype),"catchError",this).call(this,s)}if("none"!==this.observer.options.errorPolicy||!i&&!a){var u="function"==typeof this.options.result;null==e||(this.options.manual?u||console.error("".concat(this.key," query must have a 'result' hook in manual mode")):"function"==typeof this.options.update?this.setData(this.options.update.call(this.vm,e)):void 0===e[this.key]&&Object.keys(e).length?console.error("Missing ".concat(this.key," attribute on result"),e):this.setData(e[this.key])),u&&this.options.result.call(this.vm,t,this.key)}}},{key:"setData",value:function(t){this.vm.$set(this.hasDataField?this.vm.$data:this.vm.$data.$apolloData.data,this.key,t)}},{key:"catchError",value:function(t){m(p(r.prototype),"catchError",this).call(this,t),this.firstRunReject(t),this.loadingDone(t),this.nextResult(this.observer.getCurrentResult?this.observer.getCurrentResult():this.observer.currentResult()),this.resubscribeToQuery()}},{key:"resubscribeToQuery",value:function(){var t=this.observer.getLastError(),e=this.observer.getLastResult();this.observer.resetLastResults(),this.startQuerySubscription(),Object.assign(this.observer,{lastError:t,lastResult:e})}},{key:"loadingKey",get:function(){return this.options.loadingKey||this.vm.$apollo.loadingKey}},{key:"watchLoading",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return this.callHandlers.apply(this,[[this.options.watchLoading,this.vm.$apollo.watchLoading,this.vm.$apollo.provider.watchLoading]].concat(e,[this]))}},{key:"applyLoadingModifier",value:function(t){var e=this.loadingKey;e&&"number"==typeof this.vm[e]&&(this.vm[e]+=t),this.watchLoading(1===t,t)}},{key:"loadingDone",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.loading&&this.applyLoadingModifier(-1),this.loading=!1,t||this.firstRunResolve()}},{key:"fetchMore",value:function(){var t,e=this;if(this.observer)return this.retrieveCurrentResult(!0),(t=this.observer).fetchMore.apply(t,arguments).then((function(t){return t.loading||e.loadingDone(),t}))}},{key:"subscribeToMore",value:function(){var t;if(this.observer)return{unsubscribe:(t=this.observer).subscribeToMore.apply(t,arguments)}}},{key:"refetch",value:function(t){var e=this;if(t&&(this.options.variables=t),this.observer){var r=this.observer.refetch(t).then((function(t){return t.loading||e.loadingDone(),t}));return this.retrieveCurrentResult(),r}}},{key:"setVariables",value:function(t,e){if(this.options.variables=t,this.observer){var r=this.observer.setVariables(t,e);return this.retrieveCurrentResult(),r}}},{key:"setOptions",value:function(t){if(Object.assign(this.options,t),this.observer){var e=this.observer.setOptions(t);return this.retrieveCurrentResult(),e}}},{key:"startPolling",value:function(){var t;if(this.observer)return(t=this.observer).startPolling.apply(t,arguments)}},{key:"stopPolling",value:function(){var t;if(this.observer)return(t=this.observer).stopPolling.apply(t,arguments)}},{key:"firstRunResolve",value:function(){this._firstRunResolve&&(this._firstRunResolve(),this._firstRunResolve=null)}},{key:"firstRunReject",value:function(t){this._firstRunReject&&(this._firstRunReject(t),this._firstRunReject=null)}},{key:"destroy",value:function(){m(p(r.prototype),"destroy",this).call(this),this.loading&&this.watchLoading(!1,-1),this.loading=!1}}]),r}(Q),I=function(t){f(r,t);var e=y(r);function r(){var t;o(this,r);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return u(h(t=e.call.apply(e,[this].concat(i))),"type","subscription"),u(h(t),"vueApolloSpecialKeys",["variables","result","error","throttle","debounce","linkedQuery"]),t}return s(r,[{key:"executeApollo",value:function(t){var e=JSON.stringify(t);if(this.sub){if(e===this.previousVariablesJson)return;this.sub.unsubscribe()}this.previousVariablesJson=e;var n=this.generateApolloOptions(t);if("function"==typeof n.updateQuery&&(n.updateQuery=n.updateQuery.bind(this.vm)),this.options.linkedQuery){if("function"==typeof this.options.result){var i=this.options.result.bind(this.vm),o=n.updateQuery&&n.updateQuery.bind(this.vm);n.updateQuery=function(){return i.apply(void 0,arguments),o&&o.apply(void 0,arguments)}}this.sub=this.options.linkedQuery.subscribeToMore(n)}else this.observer=this.vm.$apollo.subscribe(n),this.sub=this.observer.subscribe({next:this.nextResult.bind(this),error:this.catchError.bind(this)});m(p(r.prototype),"executeApollo",this).call(this,t)}},{key:"nextResult",value:function(t){m(p(r.prototype),"nextResult",this).call(this,t),"function"==typeof this.options.result&&this.options.result.call(this.vm,t,this.key)}}]),r}(Q),q=function(){function t(e){o(this,t),this._apolloSubscriptions=[],this._watchers=[],this.vm=e,this.queries={},this.subscriptions={},this.client=void 0,this.loadingKey=void 0,this.error=void 0}return s(t,[{key:"provider",get:function(){return this.vm.$apolloProvider}},{key:"getClient",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!t||!t.client){if("object"===i(this.client))return this.client;if(this.client){if(this.provider.clients){var e=this.provider.clients[this.client];if(!e)throw new Error("[vue-apollo] Missing client '".concat(this.client,"' in 'apolloProvider'"));return e}throw new Error("[vue-apollo] Missing 'clients' options in 'apolloProvider'")}return this.provider.defaultClient}var r=this.provider.clients[t.client];if(!r)throw new Error("[vue-apollo] Missing client '".concat(t.client,"' in 'apolloProvider'"));return r}},{key:"query",value:function(t){return this.getClient(t).query(t)}},{key:"watchQuery",value:function(t){var e=this,r=this.getClient(t).watchQuery(t),n=r.subscribe.bind(r);return r.subscribe=function(t){var r=n(t);return e._apolloSubscriptions.push(r),r},r}},{key:"mutate",value:function(t){return this.getClient(t).mutate(t)}},{key:"subscribe",value:function(t){var e=this;if(!this.vm.$isServer){var r=this.getClient(t).subscribe(t),n=r.subscribe.bind(r);return r.subscribe=function(t){var r=n(t);return e._apolloSubscriptions.push(r),r},r}}},{key:"loading",get:function(){return 0!==this.vm.$data.$apolloData.loading}},{key:"data",get:function(){return this.vm.$data.$apolloData.data}},{key:"addSmartQuery",value:function(t,e){var r=this,n=A(e,this.vm);n.query||(n={query:n});var i,o=this.vm.$options.apollo,a=this.provider.defaultOptions;if(a&&a.$query&&(i=a.$query),o&&o.$query&&(i=l(l({},i||{}),o.$query)),i)for(var s in i)void 0===n[s]&&(n[s]=i[s]);var u=this.queries[t]=new M(this.vm,t,n,!1);if(this.vm.$isServer&&!1===n.prefetch||u.autostart(),!this.vm.$isServer){var c=n.subscribeToMore;c&&(Array.isArray(c)?c.forEach((function(e,n){r.addSmartSubscription("".concat(t).concat(n),l(l({},e),{},{linkedQuery:u}))})):this.addSmartSubscription(t,l(l({},c),{},{linkedQuery:u})))}return u}},{key:"addSmartSubscription",value:function(t,e){if(!this.vm.$isServer){e=A(e,this.vm);var r=this.subscriptions[t]=new I(this.vm,t,e,!1);return r.autostart(),e.linkedQuery&&e.linkedQuery._linkedSubscriptions.push(r),r}}},{key:"defineReactiveSetter",value:function(t,e,r){var n=this;this._watchers.push(this.vm.$watch(e,(function(e){n[t]=e}),{immediate:!0,deep:r}))}},{key:"skipAllQueries",set:function(t){for(var e in this.queries)this.queries[e].skip=t}},{key:"skipAllSubscriptions",set:function(t){for(var e in this.subscriptions)this.subscriptions[e].skip=t}},{key:"skipAll",set:function(t){this.skipAllQueries=t,this.skipAllSubscriptions=t}},{key:"destroy",value:function(){for(var t=0,e=this._watchers;t<e.length;t++){(0,e[t])()}for(var r in this.queries)this.queries[r].destroy();for(var n in this.subscriptions)this.subscriptions[n].destroy();this._apolloSubscriptions.forEach((function(t){t.unsubscribe()}))}}]),t}(),D=function(){function t(e){if(o(this,t),!e)throw new Error("Options argument required");this.clients=e.clients||{},e.defaultClient&&(this.clients.defaultClient=this.defaultClient=e.defaultClient),this.defaultOptions=e.defaultOptions,this.watchLoading=e.watchLoading,this.errorHandler=e.errorHandler,this.prefetch=e.prefetch}return s(t,[{key:"provide",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"$apolloProvider";return console.warn("<ApolloProvider>.provide() is deprecated. Use the 'apolloProvider' option instead with the provider object directly."),u({},t,this)}}]),t}();var T={name:"ApolloQuery",provide:function(){return{getDollarApollo:this.getDollarApollo,getApolloQuery:this.getApolloQuery}},props:{query:{type:[Function,Object],required:!0},variables:{type:Object,default:void 0},fetchPolicy:{type:String,default:void 0},pollInterval:{type:Number,default:void 0},notifyOnNetworkStatusChange:{type:Boolean,default:void 0},context:{type:Object,default:void 0},update:{type:Function,default:function(t){return t}},skip:{type:Boolean,default:!1},debounce:{type:Number,default:0},throttle:{type:Number,default:0},clientId:{type:String,default:void 0},deep:{type:Boolean,default:void 0},tag:{type:String,default:"div"},prefetch:{type:Boolean,default:!0},options:{type:Object,default:function(){return{}}}},data:function(){return{result:{data:null,loading:!1,networkStatus:7,error:null},times:0}},watch:{fetchPolicy:function(t){this.$apollo.queries.query.setOptions({fetchPolicy:t})},pollInterval:function(t){this.$apollo.queries.query.setOptions({pollInterval:t})},notifyOnNetworkStatusChange:function(t){this.$apollo.queries.query.setOptions({notifyOnNetworkStatusChange:t})},"$data.$apolloData.loading":function(t){this.$emit("loading",!!t)}},apollo:{$client:function(){return this.clientId},query:function(){return l(l({query:function(){return"function"==typeof this.query?this.query(n.default):this.query},variables:function(){return this.variables},fetchPolicy:this.fetchPolicy,pollInterval:this.pollInterval,debounce:this.debounce,throttle:this.throttle,notifyOnNetworkStatusChange:this.notifyOnNetworkStatusChange,context:function(){return this.context},skip:function(){return this.skip},deep:this.deep,prefetch:this.prefetch},this.options),{},{manual:!0,result:function(t){var e=t,r=e.errors,n=e.loading,i=e.networkStatus,o=t.error;t=Object.assign({},t),r&&r.length&&((o=new Error("Apollo errors occurred (".concat(r.length,")"))).graphQLErrors=r);var a={};n?Object.assign(a,this.$_previousData,t.data):o?Object.assign(a,this.$apollo.queries.query.observer.getLastResult()||{},t.data):(a=t.data,this.$_previousData=t.data);var s=function(t){return t&&Object.keys(t).length>0}(a);this.result={data:s?this.update(a):void 0,fullData:s?a:void 0,loading:n,error:o,networkStatus:i},this.times=++this.$_times,this.$emit("result",this.result)},error:function(t){this.result.loading=!1,this.result.error=t,this.$emit("error",t)}})}},created:function(){this.$_times=0},methods:{getDollarApollo:function(){return this.$apollo},getApolloQuery:function(){return this.$apollo.queries.query}},render:function(t){var e=this.$scopedSlots.default({result:this.result,times:this.times,query:this.$apollo.queries.query,isLoading:this.$apolloData.loading,gqlError:this.result&&this.result.error&&this.result.error.gqlError});return e=Array.isArray(e)?e.concat(this.$slots.default):[e].concat(this.$slots.default),this.tag?t(this.tag,e):e[0]}},F=0,L={name:"ApolloSubscribeToMore",inject:["getDollarApollo","getApolloQuery"],props:{document:{type:[Function,Object],required:!0},variables:{type:Object,default:void 0},updateQuery:{type:Function,default:void 0}},watch:{document:"refresh",variables:"refresh"},created:function(){this.$_key="sub_component_".concat(F++)},mounted:function(){this.refresh()},beforeDestroy:function(){this.destroy()},methods:{destroy:function(){this.$_sub&&this.$_sub.destroy()},refresh:function(){this.destroy();var t=this.document;"function"==typeof t&&(t=t(n.default)),this.$_sub=this.getDollarApollo().addSmartSubscription(this.$_key,{document:t,variables:this.variables,updateQuery:this.updateQuery,linkedQuery:this.getApolloQuery()})}},render:function(t){return null}},N={props:{mutation:{type:[Function,Object],required:!0},variables:{type:Object,default:void 0},optimisticResponse:{type:Object,default:void 0},update:{type:Function,default:void 0},refetchQueries:{type:Function,default:void 0},clientId:{type:String,default:void 0},tag:{type:String,default:"div"},context:{type:Object,default:void 0}},data:function(){return{loading:!1,error:null}},watch:{loading:function(t){this.$emit("loading",t)}},methods:{mutate:function(t){var e=this;this.loading=!0,this.error=null;var r=this.mutation;return"function"==typeof r&&(r=r(n.default)),this.$apollo.mutate(l({mutation:r,client:this.clientId,variables:this.variables,optimisticResponse:this.optimisticResponse,update:this.update,refetchQueries:this.refetchQueries,context:this.context},t)).then((function(t){e.$emit("done",t),e.loading=!1})).catch((function(t){E(t),e.error=t,e.$emit("error",t),e.loading=!1}))}},render:function(t){var e=this.$scopedSlots.default({mutate:this.mutate,loading:this.loading,error:this.error,gqlError:this.error&&this.error.gqlError});return e=Array.isArray(e)?e.concat(this.$slots.default):[e].concat(this.$slots.default),this.tag?t(this.tag,e):e[0]}};function V(t,e){return void 0!==t&&Object.prototype.hasOwnProperty.call(t,e)}function B(){var t=this.$options,e=t.apolloProvider;if(e)this.$apolloProvider="function"==typeof e?e():e;else if(t.parent&&t.parent.$apolloProvider)this.$apolloProvider=t.parent.$apolloProvider;else if(t.provide){var r="function"==typeof t.provide?t.provide.call(this):t.provide;r&&r.$apolloProvider&&(this.$apolloProvider=r.$apolloProvider)}}function H(){var t=this;this.$_apolloInitData={};var e=this.$options.apollo;if(e){var r=function(r){"$"!==r.charAt(0)&&(e[r].manual||V(t.$options.props,r)||V(t.$options.computed,r)||V(t.$options.methods,r)||Object.defineProperty(t,r,{get:function(){return t.$data.$apolloData.data[r]},set:function(e){return t.$_apolloInitData[r]=e},enumerable:!0,configurable:!0}))};for(var n in e)r(n)}}function U(){var t=this,e=this.$apolloProvider;if(!this._apolloLaunched&&e){this._apolloLaunched=!0;var r=this.$options.apollo;if(r){for(var n in this.$_apolloPromises=[],r.$init||(r.$init=!0,e.defaultOptions&&(r=this.$options.apollo=Object.assign({},e.defaultOptions,r))),z(this.$apollo,"skipAll",r.$skipAll,r.$deep),z(this.$apollo,"skipAllQueries",r.$skipAllQueries,r.$deep),z(this.$apollo,"skipAllSubscriptions",r.$skipAllSubscriptions,r.$deep),z(this.$apollo,"client",r.$client,r.$deep),z(this.$apollo,"loadingKey",r.$loadingKey,r.$deep),z(this.$apollo,"error",r.$error,r.$deep),z(this.$apollo,"watchLoading",r.$watchLoading,r.$deep),Object.defineProperty(this,"$apolloData",{get:function(){return t.$data.$apolloData},enumerable:!0,configurable:!0}),r)if("$"!==n.charAt(0)){var i=r[n],o=this.$apollo.addSmartQuery(n,i);this.$isServer&&(i=A(i,this),!1===e.prefetch||!1===i.prefetch||!1===r.$prefetch||o.skip||this.$_apolloPromises.push(o.firstRun))}if(r.subscribe&&x.Vue.util.warn("vue-apollo -> `subscribe` option is deprecated. Use the `$subscribe` option instead."),r.$subscribe)for(var a in r.$subscribe)this.$apollo.addSmartSubscription(a,r.$subscribe[a])}}}function z(t,e,r,n){void 0!==r&&("function"==typeof r?t.defineReactiveSetter(e,r,n):t[e]=r)}function K(){this.$_apollo&&this.$_apollo.destroy()}function W(t,e){t.mixin(l(l(l({},"1"===e?{init:B}:{}),"2"===e?{data:function(){return{$apolloData:{queries:{},loading:0,data:this.$_apolloInitData}}},beforeCreate:function(){B.call(this),H.call(this)},serverPrefetch:function(){var t=this;if(this.$_apolloPromises)return Promise.all(this.$_apolloPromises).then((function(){K.call(t)})).catch((function(e){return K.call(t),Promise.reject(e)}))}}:{}),{},{created:U,destroyed:K}))}var J=["$subscribe"];function G(t,e){if(!G.installed){G.installed=!0,x.Vue=t;var r=t.version.substr(0,t.version.indexOf(".")),n=t.config.optionMergeStrategies.methods;t.config.optionMergeStrategies.apollo=function(t,e,r){if(!t)return e;if(!e)return t;for(var i=Object.assign({},R(t,J),t.data),o=Object.assign({},R(e,J),e.data),a={},s=0;s<J.length;s++){var u=J[s];a[u]=n(t[u],e[u])}return Object.assign(a,n(i,o))},Object.prototype.hasOwnProperty.call(t,"$apollo")||Object.defineProperty(t.prototype,"$apollo",{get:function(){return this.$_apollo||(this.$_apollo=new q(this)),this.$_apollo}}),W(t,r),"2"===r&&(t.component("ApolloQuery",T),t.component("ApolloQuery",T),t.component("ApolloSubscribeToMore",L),t.component("ApolloSubscribeToMore",L),t.component("ApolloMutation",N),t.component("ApolloMutation",N))}}D.install=G,D.version="3.0.8";var Y=D,Z=T,X=L,tt=N,et=null;"undefined"!=typeof window?et=window.Vue:void 0!==t&&(et=t.Vue),et&&et.use(D),e.default=D}.call(this,r(12))},function(t,e,r){"use strict";r.r(e),r.d(e,"ApolloClient",(function(){return A})),r.d(e,"ApolloError",(function(){return m})),r.d(e,"FetchType",(function(){return y})),r.d(e,"NetworkStatus",(function(){return n})),r.d(e,"ObservableQuery",(function(){return b})),r.d(e,"isApolloError",(function(){return v}));var n,i=r(0),o=r(1),a=r(29),s=r(20),u=r(79),c=r(85),l=r(3),f=r(28);function p(t){return t<7}!function(t){t[t.loading=1]="loading",t[t.setVariables=2]="setVariables",t[t.fetchMore=3]="fetchMore",t[t.refetch=4]="refetch",t[t.poll=6]="poll",t[t.ready=7]="ready",t[t.error=8]="error"}(n||(n={}));var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(i.c)(e,t),e.prototype[c.a]=function(){return this},e.prototype["@@observable"]=function(){return this},e}(s.a);function h(t){return Array.isArray(t)&&t.length>0}function v(t){return t.hasOwnProperty("graphQLErrors")}var y,m=function(t){function e(r){var n,i,o=r.graphQLErrors,a=r.networkError,s=r.errorMessage,u=r.extraInfo,c=t.call(this,s)||this;return c.graphQLErrors=o||[],c.networkError=a||null,c.message=s||(i="",h((n=c).graphQLErrors)&&n.graphQLErrors.forEach((function(t){var e=t?t.message:"Error message not found.";i+="GraphQL error: "+e+"\n"})),n.networkError&&(i+="Network error: "+n.networkError.message+"\n"),i=i.replace(/\n$/,"")),c.extraInfo=u,c.__proto__=e.prototype,c}return Object(i.c)(e,t),e}(Error);!function(t){t[t.normal=1]="normal",t[t.refetch=2]="refetch",t[t.poll=3]="poll"}(y||(y={}));var b=function(t){function e(e){var r=e.queryManager,n=e.options,i=e.shouldSubscribe,a=void 0===i||i,s=t.call(this,(function(t){return s.onSubscribe(t)}))||this;s.observers=new Set,s.subscriptions=new Set,s.isTornDown=!1,s.options=n,s.variables=n.variables||{},s.queryId=r.generateQueryId(),s.shouldSubscribe=a;var u=Object(o.m)(n.query);return s.queryName=u&&u.name&&u.name.value,s.queryManager=r,s}return Object(i.c)(e,t),e.prototype.result=function(){var t=this;return new Promise((function(e,r){var n={next:function(r){e(r),t.observers.delete(n),t.observers.size||t.queryManager.removeQuery(t.queryId),setTimeout((function(){i.unsubscribe()}),0)},error:r},i=t.subscribe(n)}))},e.prototype.currentResult=function(){var t=this.getCurrentResult();return void 0===t.data&&(t.data={}),t},e.prototype.getCurrentResult=function(){if(this.isTornDown){var t=this.lastResult;return{data:!this.lastError&&t&&t.data||void 0,error:this.lastError,loading:!1,networkStatus:n.error}}var e,r,o,a=this.queryManager.getCurrentQueryResult(this),s=a.data,u=a.partial,c=this.queryManager.queryStore.get(this.queryId),l=this.options.fetchPolicy,f="network-only"===l||"no-cache"===l;if(c){var d=c.networkStatus;if(r=c,void 0===(o=this.options.errorPolicy)&&(o="none"),r&&(r.networkError||"none"===o&&h(r.graphQLErrors)))return{data:void 0,loading:!1,networkStatus:d,error:new m({graphQLErrors:c.graphQLErrors,networkError:c.networkError})};c.variables&&(this.options.variables=Object(i.a)(Object(i.a)({},this.options.variables),c.variables),this.variables=this.options.variables),e={data:s,loading:p(d),networkStatus:d},c.graphQLErrors&&"all"===this.options.errorPolicy&&(e.errors=c.graphQLErrors)}else{var v=f||u&&"cache-only"!==l;e={data:s,loading:v,networkStatus:v?n.loading:n.ready}}return u||this.updateLastResult(Object(i.a)(Object(i.a)({},e),{stale:!1})),Object(i.a)(Object(i.a)({},e),{partial:u})},e.prototype.isDifferentFromLastResult=function(t){var e=this.lastResultSnapshot;return!(e&&t&&e.networkStatus===t.networkStatus&&e.stale===t.stale&&Object(a.a)(e.data,t.data))},e.prototype.getLastResult=function(){return this.lastResult},e.prototype.getLastError=function(){return this.lastError},e.prototype.resetLastResults=function(){delete this.lastResult,delete this.lastResultSnapshot,delete this.lastError,this.isTornDown=!1},e.prototype.resetQueryStoreErrors=function(){var t=this.queryManager.queryStore.get(this.queryId);t&&(t.networkError=null,t.graphQLErrors=[])},e.prototype.refetch=function(t){var e=this.options.fetchPolicy;return"cache-only"===e?Promise.reject(new l.a(1)):("no-cache"!==e&&"cache-and-network"!==e&&(e="network-only"),Object(a.a)(this.variables,t)||(this.variables=Object(i.a)(Object(i.a)({},this.variables),t)),Object(a.a)(this.options.variables,this.variables)||(this.options.variables=Object(i.a)(Object(i.a)({},this.options.variables),this.variables)),this.queryManager.fetchQuery(this.queryId,Object(i.a)(Object(i.a)({},this.options),{fetchPolicy:e}),y.refetch))},e.prototype.fetchMore=function(t){var e=this;Object(l.b)(t.updateQuery,2);var r=Object(i.a)(Object(i.a)({},t.query?t:Object(i.a)(Object(i.a)(Object(i.a)({},this.options),t),{variables:Object(i.a)(Object(i.a)({},this.variables),t.variables)})),{fetchPolicy:"network-only"}),n=this.queryManager.generateQueryId();return this.queryManager.fetchQuery(n,r,y.normal,this.queryId).then((function(i){return e.updateQuery((function(e){return t.updateQuery(e,{fetchMoreResult:i.data,variables:r.variables})})),e.queryManager.stopQuery(n),i}),(function(t){throw e.queryManager.stopQuery(n),t}))},e.prototype.subscribeToMore=function(t){var e=this,r=this.queryManager.startGraphQLSubscription({query:t.document,variables:t.variables}).subscribe({next:function(r){var n=t.updateQuery;n&&e.updateQuery((function(t,e){var i=e.variables;return n(t,{subscriptionData:r,variables:i})}))},error:function(e){t.onError&&t.onError(e)}});return this.subscriptions.add(r),function(){e.subscriptions.delete(r)&&r.unsubscribe()}},e.prototype.setOptions=function(t){var e=this.options.fetchPolicy;this.options=Object(i.a)(Object(i.a)({},this.options),t),t.pollInterval?this.startPolling(t.pollInterval):0===t.pollInterval&&this.stopPolling();var r=t.fetchPolicy;return this.setVariables(this.options.variables,e!==r&&("cache-only"===e||"standby"===e||"network-only"===r),t.fetchResults)},e.prototype.setVariables=function(t,e,r){return void 0===e&&(e=!1),void 0===r&&(r=!0),this.isTornDown=!1,t=t||this.variables,!e&&Object(a.a)(t,this.variables)?this.observers.size&&r?this.result():Promise.resolve():(this.variables=this.options.variables=t,this.observers.size?this.queryManager.fetchQuery(this.queryId,this.options):Promise.resolve())},e.prototype.updateQuery=function(t){var e=this.queryManager,r=e.getQueryWithPreviousResult(this.queryId),n=r.previousResult,i=r.variables,a=r.document,s=Object(o.I)((function(){return t(n,{variables:i})}));s&&(e.dataStore.markUpdateQueryResult(a,i,s),e.broadcastQueries())},e.prototype.stopPolling=function(){this.queryManager.stopPollingQuery(this.queryId),this.options.pollInterval=void 0},e.prototype.startPolling=function(t){_(this),this.options.pollInterval=t,this.queryManager.startPollingQuery(this.options,this.queryId)},e.prototype.updateLastResult=function(t){var e=this.lastResult;return this.lastResult=t,this.lastResultSnapshot=this.queryManager.assumeImmutableResults?t:Object(o.f)(t),e},e.prototype.onSubscribe=function(t){var e=this;try{var r=t._subscription._observer;r&&!r.error&&(r.error=g)}catch(t){}var n=!this.observers.size;return this.observers.add(t),t.next&&this.lastResult&&t.next(this.lastResult),t.error&&this.lastError&&t.error(this.lastError),n&&this.setUpQuery(),function(){e.observers.delete(t)&&!e.observers.size&&e.tearDownQuery()}},e.prototype.setUpQuery=function(){var t=this,e=this.queryManager,r=this.queryId;this.shouldSubscribe&&e.addObservableQuery(r,this),this.options.pollInterval&&(_(this),e.startPollingQuery(this.options,r));var o=function(e){t.updateLastResult(Object(i.a)(Object(i.a)({},t.lastResult),{errors:e.graphQLErrors,networkStatus:n.error,loading:!1})),O(t.observers,"error",t.lastError=e)};e.observeQuery(r,this.options,{next:function(r){if(t.lastError||t.isDifferentFromLastResult(r)){var n=t.updateLastResult(r),i=t.options,o=i.query,s=i.variables,u=i.fetchPolicy;e.transform(o).hasClientExports?e.getLocalState().addExportedVariables(o,s).then((function(i){var s=t.variables;t.variables=t.options.variables=i,!r.loading&&n&&"cache-only"!==u&&e.transform(o).serverQuery&&!Object(a.a)(s,i)?t.refetch():O(t.observers,"next",r)})):O(t.observers,"next",r)}},error:o}).catch(o)},e.prototype.tearDownQuery=function(){var t=this.queryManager;this.isTornDown=!0,t.stopPollingQuery(this.queryId),this.subscriptions.forEach((function(t){return t.unsubscribe()})),this.subscriptions.clear(),t.removeObservableQuery(this.queryId),t.stopQuery(this.queryId),this.observers.clear()},e}(d);function g(t){}function O(t,e,r){var n=[];t.forEach((function(t){return t[e]&&n.push(t)})),n.forEach((function(t){return t[e](r)}))}function _(t){var e=t.options.fetchPolicy;Object(l.b)("cache-first"!==e&&"cache-only"!==e,3)}var w=function(){function t(){this.store={}}return t.prototype.getStore=function(){return this.store},t.prototype.get=function(t){return this.store[t]},t.prototype.initMutation=function(t,e,r){this.store[t]={mutation:e,variables:r||{},loading:!0,error:null}},t.prototype.markMutationError=function(t,e){var r=this.store[t];r&&(r.loading=!1,r.error=e)},t.prototype.markMutationResult=function(t){var e=this.store[t];e&&(e.loading=!1,e.error=null)},t.prototype.reset=function(){this.store={}},t}(),k=function(){function t(){this.store={}}return t.prototype.getStore=function(){return this.store},t.prototype.get=function(t){return this.store[t]},t.prototype.initQuery=function(t){var e=this.store[t.queryId];Object(l.b)(!e||e.document===t.document||Object(a.a)(e.document,t.document),19);var r,i=!1,o=null;t.storePreviousVariables&&e&&e.networkStatus!==n.loading&&(Object(a.a)(e.variables,t.variables)||(i=!0,o=e.variables)),r=i?n.setVariables:t.isPoll?n.poll:t.isRefetch?n.refetch:n.loading;var s=[];e&&e.graphQLErrors&&(s=e.graphQLErrors),this.store[t.queryId]={document:t.document,variables:t.variables,previousVariables:o,networkError:null,graphQLErrors:s,networkStatus:r,metadata:t.metadata},"string"==typeof t.fetchMoreForQueryId&&this.store[t.fetchMoreForQueryId]&&(this.store[t.fetchMoreForQueryId].networkStatus=n.fetchMore)},t.prototype.markQueryResult=function(t,e,r){this.store&&this.store[t]&&(this.store[t].networkError=null,this.store[t].graphQLErrors=h(e.errors)?e.errors:[],this.store[t].previousVariables=null,this.store[t].networkStatus=n.ready,"string"==typeof r&&this.store[r]&&(this.store[r].networkStatus=n.ready))},t.prototype.markQueryError=function(t,e,r){this.store&&this.store[t]&&(this.store[t].networkError=e,this.store[t].networkStatus=n.error,"string"==typeof r&&this.markQueryResultClient(r,!0))},t.prototype.markQueryResultClient=function(t,e){var r=this.store&&this.store[t];r&&(r.networkError=null,r.previousVariables=null,e&&(r.networkStatus=n.ready))},t.prototype.stopQuery=function(t){delete this.store[t]},t.prototype.reset=function(t){var e=this;Object.keys(this.store).forEach((function(r){t.indexOf(r)<0?e.stopQuery(r):e.store[r].networkStatus=n.loading}))},t}();var S=function(){function t(t){var e=t.cache,r=t.client,n=t.resolvers,i=t.fragmentMatcher;this.cache=e,r&&(this.client=r),n&&this.addResolvers(n),i&&this.setFragmentMatcher(i)}return t.prototype.addResolvers=function(t){var e=this;this.resolvers=this.resolvers||{},Array.isArray(t)?t.forEach((function(t){e.resolvers=Object(o.A)(e.resolvers,t)})):this.resolvers=Object(o.A)(this.resolvers,t)},t.prototype.setResolvers=function(t){this.resolvers={},this.addResolvers(t)},t.prototype.getResolvers=function(){return this.resolvers||{}},t.prototype.runResolvers=function(t){var e=t.document,r=t.remoteResult,n=t.context,o=t.variables,a=t.onlyRunForcedResolvers,s=void 0!==a&&a;return Object(i.b)(this,void 0,void 0,(function(){return Object(i.d)(this,(function(t){return e?[2,this.resolveDocument(e,r.data,n,o,this.fragmentMatcher,s).then((function(t){return Object(i.a)(Object(i.a)({},r),{data:t.result})}))]:[2,r]}))}))},t.prototype.setFragmentMatcher=function(t){this.fragmentMatcher=t},t.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},t.prototype.clientQuery=function(t){return Object(o.s)(["client"],t)&&this.resolvers?t:null},t.prototype.serverQuery=function(t){return this.resolvers?Object(o.C)(t):t},t.prototype.prepareContext=function(t){void 0===t&&(t={});var e=this.cache;return Object(i.a)(Object(i.a)({},t),{cache:e,getCacheKey:function(t){if(e.config)return e.config.dataIdFromObject(t);Object(l.b)(!1,6)}})},t.prototype.addExportedVariables=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r={}),Object(i.b)(this,void 0,void 0,(function(){return Object(i.d)(this,(function(n){return t?[2,this.resolveDocument(t,this.buildRootValueFromCache(t,e)||{},this.prepareContext(r),e).then((function(t){return Object(i.a)(Object(i.a)({}
39588,e),t.exportedVariables)}))]:[2,Object(i.a)({},e)]}))}))},t.prototype.shouldForceResolvers=function(t){var e=!1;return Object(f.visit)(t,{Directive:{enter:function(t){if("client"===t.name.value&&t.arguments&&(e=t.arguments.some((function(t){return"always"===t.name.value&&"BooleanValue"===t.value.kind&&!0===t.value.value}))))return f.BREAK}}}),e},t.prototype.buildRootValueFromCache=function(t,e){return this.cache.diff({query:Object(o.d)(t),variables:e,returnPartialData:!0,optimistic:!1}).result},t.prototype.resolveDocument=function(t,e,r,n,a,s){return void 0===r&&(r={}),void 0===n&&(n={}),void 0===a&&(a=function(){return!0}),void 0===s&&(s=!1),Object(i.b)(this,void 0,void 0,(function(){var u,c,l,f,p,d,h,v,y;return Object(i.d)(this,(function(m){var b;return u=Object(o.l)(t),c=Object(o.j)(t),l=Object(o.g)(c),f=u.operation,p=f?(b=f).charAt(0).toUpperCase()+b.slice(1):"Query",h=(d=this).cache,v=d.client,y={fragmentMap:l,context:Object(i.a)(Object(i.a)({},r),{cache:h,client:v}),variables:n,fragmentMatcher:a,defaultOperationType:p,exportedVariables:{},onlyRunForcedResolvers:s},[2,this.resolveSelectionSet(u.selectionSet,e,y).then((function(t){return{result:t,exportedVariables:y.exportedVariables}}))]}))}))},t.prototype.resolveSelectionSet=function(t,e,r){return Object(i.b)(this,void 0,void 0,(function(){var n,a,s,u,c,f=this;return Object(i.d)(this,(function(p){return n=r.fragmentMap,a=r.context,s=r.variables,u=[e],c=function(t){return Object(i.b)(f,void 0,void 0,(function(){var c,f;return Object(i.d)(this,(function(i){return Object(o.F)(t,s)?Object(o.t)(t)?[2,this.resolveField(t,e,r).then((function(e){var r;void 0!==e&&u.push(((r={})[Object(o.E)(t)]=e,r))}))]:(Object(o.v)(t)?c=t:(c=n[t.name.value],Object(l.b)(c,7)),c&&c.typeCondition&&(f=c.typeCondition.name.value,r.fragmentMatcher(e,f,a))?[2,this.resolveSelectionSet(c.selectionSet,e,r).then((function(t){u.push(t)}))]:[2]):[2]}))}))},[2,Promise.all(t.selections.map(c)).then((function(){return Object(o.B)(u)}))]}))}))},t.prototype.resolveField=function(t,e,r){return Object(i.b)(this,void 0,void 0,(function(){var n,a,s,u,c,l,f,p,d,h=this;return Object(i.d)(this,(function(i){return n=r.variables,a=t.name.value,s=Object(o.E)(t),u=a!==s,c=e[s]||e[a],l=Promise.resolve(c),r.onlyRunForcedResolvers&&!this.shouldForceResolvers(t)||(f=e.__typename||r.defaultOperationType,(p=this.resolvers&&this.resolvers[f])&&(d=p[u?a:s])&&(l=Promise.resolve(d(e,Object(o.b)(t,n),r.context,{field:t,fragmentMap:r.fragmentMap})))),[2,l.then((function(e){return void 0===e&&(e=c),t.directives&&t.directives.forEach((function(t){"export"===t.name.value&&t.arguments&&t.arguments.forEach((function(t){"as"===t.name.value&&"StringValue"===t.value.kind&&(r.exportedVariables[t.value.value]=e)}))})),t.selectionSet?null==e?e:Array.isArray(e)?h.resolveSubSelectedArray(t,e,r):t.selectionSet?h.resolveSelectionSet(t.selectionSet,e,r):void 0:e}))]}))}))},t.prototype.resolveSubSelectedArray=function(t,e,r){var n=this;return Promise.all(e.map((function(e){return null===e?null:Array.isArray(e)?n.resolveSubSelectedArray(t,e,r):t.selectionSet?n.resolveSelectionSet(t.selectionSet,e,r):void 0})))},t}();function j(t){var e=new Set,r=null;return new d((function(n){return e.add(n),r=r||t.subscribe({next:function(t){e.forEach((function(e){return e.next&&e.next(t)}))},error:function(t){e.forEach((function(e){return e.error&&e.error(t)}))},complete:function(){e.forEach((function(t){return t.complete&&t.complete()}))}}),function(){e.delete(n)&&!e.size&&r&&(r.unsubscribe(),r=null)}}))}var x=Object.prototype.hasOwnProperty,$=function(){function t(t){var e=t.link,r=t.queryDeduplication,n=void 0!==r&&r,i=t.store,a=t.onBroadcast,s=void 0===a?function(){}:a,u=t.ssrMode,c=void 0!==u&&u,l=t.clientAwareness,f=void 0===l?{}:l,p=t.localState,d=t.assumeImmutableResults;this.mutationStore=new w,this.queryStore=new k,this.clientAwareness={},this.idCounter=1,this.queries=new Map,this.fetchQueryRejectFns=new Map,this.transformCache=new(o.e?WeakMap:Map),this.inFlightLinkObservables=new Map,this.pollingInfoByQueryId=new Map,this.link=e,this.queryDeduplication=n,this.dataStore=i,this.onBroadcast=s,this.clientAwareness=f,this.localState=p||new S({cache:i.getCache()}),this.ssrMode=c,this.assumeImmutableResults=!!d}return t.prototype.stop=function(){var t=this;
vendor: 4,465 bytes, line 39588
39588this.queries.forEach((function(e,r){t.stopQueryNoBroadcast(r)})),this.fetchQueryRejectFns.forEach((function(t){t(new l.a(8))}))},t.prototype.mutate=function(t){var e=t.mutation,r=t.variables,n=t.optimisticResponse,a=t.updateQueries,s=t.refetchQueries,u=void 0===s?[]:s,c=t.awaitRefetchQueries,f=void 0!==c&&c,p=t.update,d=t.errorPolicy,v=void 0===d?"none":d,y=t.fetchPolicy,b=t.context,g=void 0===b?{}:b;return Object(i.b)(this,void 0,void 0,(function(){var t,s,c,d=this;return Object(i.d)(this,(function(b){switch(b.label){case 0:return Object(l.b)(e,9),Object(l.b)(!y||"no-cache"===y,10),t=this.generateQueryId(),e=this.transform(e).document,this.setQuery(t,(function(){return{document:e}})),r=this.getVariables(e,r),this.transform(e).hasClientExports?[4,this.localState.addExportedVariables(e,r,g)]:[3,2];case 1:r=b.sent(),b.label=2;case 2:return s=function(){var t={};return a&&d.queries.forEach((function(e,r){var n=e.observableQuery;if(n){var i=n.queryName;i&&x.call(a,i)&&(t[r]={updater:a[i],query:d.queryStore.get(r)})}})),t},this.mutationStore.initMutation(t,e,r),this.dataStore.markMutationInit({mutationId:t,document:e,variables:r,updateQueries:s(),update:p,optimisticResponse:n}),this.broadcastQueries(),c=this,[2,new Promise((function(a,l){var d,b;c.getObservableFromLink(e,Object(i.a)(Object(i.a)({},g),{optimisticResponse:n}),r,!1).subscribe({next:function(n){Object(o.q)(n)&&"none"===v?b=new m({graphQLErrors:n.errors}):(c.mutationStore.markMutationResult(t),"no-cache"!==y&&c.dataStore.markMutationResult({mutationId:t,result:n,document:e,variables:r,updateQueries:s(),update:p}),d=n)},error:function(e){c.mutationStore.markMutationError(t,e),c.dataStore.markMutationComplete({mutationId:t,optimisticResponse:n}),c.broadcastQueries(),c.setQuery(t,(function(){return{document:null}})),l(new m({networkError:e}))},complete:function(){if(b&&c.mutationStore.markMutationError(t,b),c.dataStore.markMutationComplete({mutationId:t,optimisticResponse:n}),c.broadcastQueries(),b)l(b);else{"function"==typeof u&&(u=u(d));var e=[];h(u)&&u.forEach((function(t){if("string"==typeof t)c.queries.forEach((function(r){var n=r.observableQuery;n&&n.queryName===t&&e.push(n.refetch())}));else{var r={query:t.query,variables:t.variables,fetchPolicy:"network-only"};t.context&&(r.context=t.context),e.push(c.query(r))}})),Promise.all(f?e:[]).then((function(){c.setQuery(t,(function(){return{document:null}})),"ignore"===v&&d&&Object(o.q)(d)&&delete d.errors,a(d)}))}}})}))]}}))}))},t.prototype.fetchQuery=function(t,e,r,n){return Object(i.b)(this,void 0,void 0,(function(){var a,s,u,c,l,f,p,d,h,b,g,O,_,w,k,S,j,x,$=this;return Object(i.d)(this,(function(C){switch(C.label){case 0:return a=e.metadata,s=void 0===a?null:a,u=e.fetchPolicy,c=void 0===u?"cache-first":u,l=e.context,f=void 0===l?{}:l,p=this.transform(e.query).document,d=this.getVariables(p,e.variables),this.transform(p).hasClientExports?[4,this.localState.addExportedVariables(p,d,f)]:[3,2];case 1:d=C.sent(),C.label=2;case 2:if(e=Object(i.a)(Object(i.a)({},e),{variables:d}),g=b="network-only"===c||"no-cache"===c,b||(O=this.dataStore.getCache().diff({query:p,variables:d,returnPartialData:!0,optimistic:!1}),_=O.complete,w=O.result,g=!_||"cache-and-network"===c,h=w),k=g&&"cache-only"!==c&&"standby"!==c,Object(o.s)(["live"],p)&&(k=!0),S=this.idCounter++,j="no-cache"!==c?this.updateQueryWatch(t,p,e):void 0,this.setQuery(t,(function(){return{document:p,lastRequestId:S,invalidated:!0,cancel:j}})),this.invalidate(n),this.queryStore.initQuery({queryId:t,document:p,storePreviousVariables:k,variables:d,isPoll:r===y.poll,isRefetch:r===y.refetch,metadata:s,fetchMoreForQueryId:n}),this.broadcastQueries(),k){if(x=this.fetchRequest({requestId:S,queryId:t,document:p,options:e,fetchMoreForQueryId:n}).catch((function(e){throw v(e)?e:(S>=$.getQuery(t).lastRequestId&&($.queryStore.markQueryError(t,e,n),$.invalidate(t),$.invalidate(n),$.broadcastQueries()),new m({networkError:e}))})),"cache-and-network"!==c)return[2,x];x.catch((function(){}))}return this.queryStore.markQueryResultClient(t,!k),this.invalidate(t),this.invalidate(n),this.transform(p).hasForcedResolvers?[2,this.localState.runResolvers({document:p,remoteResult:{data:h},context:f,variables:d,onlyRunForcedResolvers:!0}).then((function(r){return $.markQueryResult(t,r,e,n),$.broadcastQueries(),r}))]:(this.broadcastQueries(),[2,{data:h}])}}))}))},t.prototype.markQueryResult=function(t,e,r,n){var i=r.fetchPolicy,o=r.variables,a=r.errorPolicy;
39588"no-cache"===i?this.setQuery(t,(function(){return{newData:{result:e.data,complete:!0}}})):this.dataStore.markQueryResult(e,this.getQuery(t).document,o,n,"ignore"===a||"all"===a)},t.prototype.queryListenerForObserver=function(t,e,r){var n=this;function i(t,e){if(r[t])try{r[t](e)}catch(t){}}return function(r,o){if(n.invalidate(t,!1),r){var a=n.getQuery(t),s=a.observableQuery,u=a.document,c=s?s.options.fetchPolicy:e.fetchPolicy;if("standby"!==c){var l=p(r.networkStatus),f=s&&s.getLastResult(),d=!(!f||f.networkStatus===r.networkStatus),v=e.returnPartialData||!o&&r.previousVariables||d&&e.notifyOnNetworkStatusChange||"cache-only"===c||"cache-and-network"===c;if(!l||v){var y=h(r.graphQLErrors),b=s&&s.options.errorPolicy||e.errorPolicy||"none";if("none"===b&&y||r.networkError)return i("error",new m({graphQLErrors:r.graphQLErrors,networkError:r.networkError}));try{var g=void 0,O=void 0;if(o)"no-cache"!==c&&"network-only"!==c&&n.setQuery(t,(function(){return{newData:null}})),g=o.result,O=!o.complete;else{var _=s&&s.getLastError(),w="none"!==b&&(_&&_.graphQLErrors)!==r.graphQLErrors;if(f&&f.data&&!w)g=f.data,O=!1;else{var k=n.dataStore.getCache().diff({query:u,variables:r.previousVariables||r.variables,returnPartialData:!0,optimistic:!0});g=k.result,O=!k.complete}}var S=O&&!(e.returnPartialData||"cache-only"===c),j={data:S?f&&f.data:g,loading:l,networkStatus:r.networkStatus,stale:S};"all"===b&&y&&(j.errors=r.graphQLErrors),i("next",j)}catch(t){i("error",new m({networkError:t}))}}}}}},t.prototype.transform=function(t){var e=this.transformCache;if(!e.has(t)){var r=this.dataStore.getCache(),n=r.transformDocument(t),i=Object(o.D)(r.transformForLink(n)),a=this.localState.clientQuery(n),s=this.localState.serverQuery(i),u={document:n,hasClientExports:Object(o.r)(n),hasForcedResolvers:this.localState.shouldForceResolvers(n),clientQuery:a,serverQuery:s,defaultVars:Object(o.h)(Object(o.m)(n))},c=function(t){t&&!e.has(t)&&e.set(t,u)};c(t),c(n),c(a),c(s)}return e.get(t)},t.prototype.getVariables=function(t,e){return Object(i.a)(Object(i.a)({},this.transform(t).defaultVars),e)},t.prototype.watchQuery=function(t,e){void 0===e&&(e=!0),Object(l.b)("standby"!==t.fetchPolicy,11),t.variables=this.getVariables(t.query,t.variables),void 0===t.notifyOnNetworkStatusChange&&(t.notifyOnNetworkStatusChange=!1);var r=Object(i.a)({},t);return new b({queryManager:this,options:r,shouldSubscribe:e})},t.prototype.query=function(t){var e=this;return Object(l.b)(t.query,12),Object(l.b)("Document"===t.query.kind,13),Object(l.b)(!t.returnPartialData,14),Object(l.b)(!t.pollInterval,15),new Promise((function(r,n){var i=e.watchQuery(t,!1);e.fetchQueryRejectFns.set("query:"+i.queryId,n),i.result().then(r,n).then((function(){return e.fetchQueryRejectFns.delete("query:"+i.queryId)}))}))},t.prototype.generateQueryId=function(){return String(this.idCounter++)},t.prototype.stopQueryInStore=function(t){this.stopQueryInStoreNoBroadcast(t),this.broadcastQueries()},t.prototype.stopQueryInStoreNoBroadcast=function(t){this.stopPollingQuery(t),this.queryStore.stopQuery(t),this.invalidate(t)},t.prototype.addQueryListener=function(t,e){this.setQuery(t,(function(t){return t.listeners.add(e),{invalidated:!1}}))},t.prototype.updateQueryWatch=function(t,e,r){var n=this,i=this.getQuery(t).cancel;i&&i();return this.dataStore.getCache().watch({query:e,variables:r.variables,optimistic:!0,previousResult:function(){var e=null,r=n.getQuery(t).observableQuery;if(r){var i=r.getLastResult();i&&(e=i.data)}return e},callback:function(e){n.setQuery(t,(function(){return{invalidated:!0,newData:e}}))}})},t.prototype.addObservableQuery=function(t,e){this.setQuery(t,(function(){return{observableQuery:e}}))},t.prototype.removeObservableQuery=function(t){var e=this.getQuery(t).cancel;this.setQuery(t,(function(){return{observableQuery:null}})),e&&e()},t.prototype.clearStore=function(){this.fetchQueryRejectFns.forEach((function(t){t(new l.a(16))}));var t=[];return this.queries.forEach((function(e,r){e.observableQuery&&t.push(r)})),this.queryStore.reset(t),this.mutationStore.reset(),this.dataStore.reset()},t.prototype.resetStore=function(){var t=this;return this.clearStore().then((function(){return t.reFetchObservableQueries()}))},t.prototype.reFetchObservableQueries=function(t){var e=this;void 0===t&&(t=!1);var r=[];
vendor: 4,638 bytes, line 39588
39588return this.queries.forEach((function(n,i){var o=n.observableQuery;if(o){var a=o.options.fetchPolicy;o.resetLastResults(),"cache-only"===a||!t&&"standby"===a||r.push(o.refetch()),e.setQuery(i,(function(){return{newData:null}})),e.invalidate(i)}})),this.broadcastQueries(),Promise.all(r)},t.prototype.observeQuery=function(t,e,r){return this.addQueryListener(t,this.queryListenerForObserver(t,e,r)),this.fetchQuery(t,e)},t.prototype.startQuery=function(t,e,r){return this.addQueryListener(t,r),this.fetchQuery(t,e).catch((function(){})),t},t.prototype.startGraphQLSubscription=function(t){var e=this,r=t.query,n=t.fetchPolicy,i=t.variables;r=this.transform(r).document,i=this.getVariables(r,i);var a=function(t){return e.getObservableFromLink(r,{},t,!1).map((function(i){if(n&&"no-cache"===n||(e.dataStore.markSubscriptionResult(i,r,t),e.broadcastQueries()),Object(o.q)(i))throw new m({graphQLErrors:i.errors});return i}))};if(this.transform(r).hasClientExports){var s=this.localState.addExportedVariables(r,i).then(a);return new d((function(t){var e=null;return s.then((function(r){return e=r.subscribe(t)}),t.error),function(){return e&&e.unsubscribe()}}))}return a(i)},t.prototype.stopQuery=function(t){this.stopQueryNoBroadcast(t),this.broadcastQueries()},t.prototype.stopQueryNoBroadcast=function(t){this.stopQueryInStoreNoBroadcast(t),this.removeQuery(t)},t.prototype.removeQuery=function(t){this.fetchQueryRejectFns.delete("query:"+t),this.fetchQueryRejectFns.delete("fetchRequest:"+t),this.getQuery(t).subscriptions.forEach((function(t){return t.unsubscribe()})),this.queries.delete(t)},t.prototype.getCurrentQueryResult=function(t,e){void 0===e&&(e=!0);var r=t.options,n=r.variables,i=r.query,o=r.fetchPolicy,a=r.returnPartialData,s=t.getLastResult(),u=this.getQuery(t.queryId).newData;if(u&&u.complete)return{data:u.result,partial:!1};if("no-cache"===o||"network-only"===o)return{data:void 0,partial:!1};var c=this.dataStore.getCache().diff({query:i,variables:n,previousResult:s?s.data:void 0,returnPartialData:!0,optimistic:e}),l=c.result,f=c.complete;return{data:f||a?l:void 0,partial:!f}},t.prototype.getQueryWithPreviousResult=function(t){var e;if("string"==typeof t){var r=this.getQuery(t).observableQuery;Object(l.b)(r,17),e=r}else e=t;var n=e.options,i=n.variables,o=n.query;return{previousResult:this.getCurrentQueryResult(e,!1).data,variables:i,document:o}},t.prototype.broadcastQueries=function(){var t=this;this.onBroadcast(),this.queries.forEach((function(e,r){e.invalidated&&e.listeners.forEach((function(n){n&&n(t.queryStore.get(r),e.newData)}))}))},t.prototype.getLocalState=function(){return this.localState},t.prototype.getObservableFromLink=function(t,e,r,n){var a,s=this;void 0===n&&(n=this.queryDeduplication);var c=this.transform(t).serverQuery;if(c){var l=this.inFlightLinkObservables,f=this.link,p={query:c,variables:r,operationName:Object(o.n)(c)||void 0,context:this.prepareContext(Object(i.a)(Object(i.a)({},e),{forceFetch:!n}))};if(e=p.context,n){var h=l.get(c)||new Map;l.set(c,h);var v=JSON.stringify(r);if(!(a=h.get(v))){h.set(v,a=j(Object(u.execute)(f,p)));var y=function(){h.delete(v),h.size||l.delete(c),m.unsubscribe()},m=a.subscribe({next:y,error:y,complete:y})}}else a=j(Object(u.execute)(f,p))}else a=d.of({data:{}}),e=this.prepareContext(e);var b=this.transform(t).clientQuery;return b&&(a=function(t,e){return new d((function(r){var n=r.next,i=r.error,o=r.complete,a=0,s=!1,u={next:function(t){++a,new Promise((function(r){r(e(t))})).then((function(t){--a,n&&n.call(r,t),s&&u.complete()}),(function(t){--a,i&&i.call(r,t)}))},error:function(t){i&&i.call(r,t)},complete:function(){s=!0,a||o&&o.call(r)}},c=t.subscribe(u);return function(){return c.unsubscribe()}}))}(a,(function(t){return s.localState.runResolvers({document:b,remoteResult:t,context:e,variables:r})}))),a},t.prototype.fetchRequest=function(t){var e,r,i=this,o=t.requestId,a=t.queryId,s=t.document,u=t.options,c=t.fetchMoreForQueryId,l=u.variables,f=u.errorPolicy,p=void 0===f?"none":f,d=u.fetchPolicy;return new Promise((function(t,f){var v=i.getObservableFromLink(s,u.context,l),y="fetchRequest:"+a;i.fetchQueryRejectFns.set(y,f);var b=function(){i.fetchQueryRejectFns.delete(y),i.setQuery(a,(function(t){t.subscriptions.delete(g)}))},g=v.map((function(t){if(o>=i.getQuery(a).lastRequestId&&(i.markQueryResult(a,t,u,c),i.queryStore.markQueryResult(a,t,c),i.invalidate(a),i.invalidate(c),i.broadcastQueries()),"none"===p&&h(t.errors))return f(new m({graphQLErrors:t.errors}));if("all"===p&&(r=t.errors),c||"no-cache"===d)e=t.data;else{var n=i.dataStore.getCache().diff({variables:l,query:s,optimistic:!1,returnPartialData:!0}
39588),v=n.result;(n.complete||u.returnPartialData)&&(e=v)}})).subscribe({error:function(t){b(),f(t)},complete:function(){b(),t({data:e,errors:r,loading:!1,networkStatus:n.ready,stale:!1})}});i.setQuery(a,(function(t){t.subscriptions.add(g)}))}))},t.prototype.getQuery=function(t){return this.queries.get(t)||{listeners:new Set,invalidated:!1,document:null,newData:null,lastRequestId:1,observableQuery:null,subscriptions:new Set}},t.prototype.setQuery=function(t,e){var r=this.getQuery(t),n=Object(i.a)(Object(i.a)({},r),e(r));this.queries.set(t,n)},t.prototype.invalidate=function(t,e){void 0===e&&(e=!0),t&&this.setQuery(t,(function(){return{invalidated:e}}))},t.prototype.prepareContext=function(t){void 0===t&&(t={});var e=this.localState.prepareContext(t);return Object(i.a)(Object(i.a)({},e),{clientAwareness:this.clientAwareness})},t.prototype.checkInFlight=function(t){var e=this.queryStore.get(t);return e&&e.networkStatus!==n.ready&&e.networkStatus!==n.error},t.prototype.startPollingQuery=function(t,e,r){var n=this,o=t.pollInterval;if(Object(l.b)(o,18),!this.ssrMode){var a=this.pollingInfoByQueryId.get(e);a||this.pollingInfoByQueryId.set(e,a={}),a.interval=o,a.options=Object(i.a)(Object(i.a)({},t),{fetchPolicy:"network-only"});var s=function(){var t=n.pollingInfoByQueryId.get(e);t&&(n.checkInFlight(e)?u():n.fetchQuery(e,t.options,y.poll).then(u,u))},u=function(){var t=n.pollingInfoByQueryId.get(e);t&&(clearTimeout(t.timeout),t.timeout=setTimeout(s,t.interval))};r&&this.addQueryListener(e,r),u()}return e},t.prototype.stopPollingQuery=function(t){this.pollingInfoByQueryId.delete(t)},t}(),C=function(){function t(t){this.cache=t}return t.prototype.getCache=function(){return this.cache},t.prototype.markQueryResult=function(t,e,r,n,i){void 0===i&&(i=!1);var a=!Object(o.q)(t);i&&Object(o.q)(t)&&t.data&&(a=!0),!n&&a&&this.cache.write({result:t.data,dataId:"ROOT_QUERY",query:e,variables:r})},t.prototype.markSubscriptionResult=function(t,e,r){Object(o.q)(t)||this.cache.write({result:t.data,dataId:"ROOT_SUBSCRIPTION",query:e,variables:r})},t.prototype.markMutationInit=function(t){var e,r=this;t.optimisticResponse&&(e="function"==typeof t.optimisticResponse?t.optimisticResponse(t.variables):t.optimisticResponse,this.cache.recordOptimisticTransaction((function(n){var i=r.cache;r.cache=n;try{r.markMutationResult({mutationId:t.mutationId,result:{data:e},document:t.document,variables:t.variables,updateQueries:t.updateQueries,update:t.update})}finally{r.cache=i}}),t.mutationId))},t.prototype.markMutationResult=function(t){var e=this;if(!Object(o.q)(t.result)){var r=[{result:t.result.data,dataId:"ROOT_MUTATION",query:t.document,variables:t.variables}],n=t.updateQueries;n&&Object.keys(n).forEach((function(i){var a=n[i],s=a.query,u=a.updater,c=e.cache.diff({query:s.document,variables:s.variables,returnPartialData:!0,optimistic:!1}),l=c.result;if(c.complete){var f=Object(o.I)((function(){return u(l,{mutationResult:t.result,queryName:Object(o.n)(s.document)||void 0,queryVariables:s.variables})}));f&&r.push({result:f,dataId:"ROOT_QUERY",query:s.document,variables:s.variables})}})),this.cache.performTransaction((function(e){r.forEach((function(t){return e.write(t)}));var n=t.update;n&&Object(o.I)((function(){return n(e,t.result)}))}))}},t.prototype.markMutationComplete=function(t){var e=t.mutationId;t.optimisticResponse&&this.cache.removeOptimistic(e)},t.prototype.markUpdateQueryResult=function(t,e,r){this.cache.write({result:r,dataId:"ROOT_QUERY",variables:e,query:t})},t.prototype.reset=function(){return this.cache.reset()},t}(),A=function(){function t(t){var e=this;this.defaultOptions={},this.resetStoreCallbacks=[],this.clearStoreCallbacks=[];var r=t.cache,n=t.ssrMode,i=void 0!==n&&n,o=t.ssrForceFetchDelay,a=void 0===o?0:o,s=t.connectToDevTools,c=t.queryDeduplication,f=void 0===c||c,p=t.defaultOptions,d=t.assumeImmutableResults,h=void 0!==d&&d,v=t.resolvers,y=t.typeDefs,m=t.fragmentMatcher,b=t.name,g=t.version,O=t.link;if(!O&&v&&(O=u.ApolloLink.empty()),!O||!r)throw new l.a(4);this.link=O,this.cache=r,this.store=new C(r),this.disableNetworkFetches=i||a>0,this.queryDeduplication=f,this.defaultOptions=p||{},this.typeDefs=y,a&&setTimeout((function(){return e.disableNetworkFetches=!1}),a),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this);void 0!==s&&(s&&"undefined"!=typeof window)&&(window.__APOLLO_CLIENT__=this),this.version="2.6.10",this.localState=new S({cache:r,client:this,resolvers:v,fragmentMatcher:m}),this.queryManager=new $({link:this.link,store:this.store,queryDeduplication:f,ssrMode:i,clientAwareness:{name:b,version:g},localState:this.localState,assumeImmutableResults:h,onBroadcast:function(){e.devToolsHookCb&&e.devToolsHookCb({action:{},state:{queries:e.queryManager.queryStore.getStore(),mutations:e.queryManager.mutationStore.getStore()},dataWithOptimisticResults:e.cache.extract(!0)})}})}return t.prototype.stop=function(){this.queryManager.stop()},t.prototype.watchQuery=function(t){return this.defaultOptions.watchQuery&&(t=Object(i.a)(Object(i.a)({},this.defaultOptions.watchQuery),t)),!this.disableNetworkFetches||"network-only"!==t.fetchPolicy&&"cache-and-network"!==t.fetchPolicy||(t=Object(i.a)(Object(i.a)({},t),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(t)},t.prototype.query=function(t){return this.defaultOptions.query&&(t=Object(i.a)(Object(i.a)({},this.defaultOptions.query),t)),Object(l.b)("cache-and-network"!==t.fetchPolicy,5),this.disableNetworkFetches&&"network-only"===t.fetchPolicy&&(t=Object(i.a)(Object(i.a)({},t),{fetchPolicy:"cache-first"})),this.queryManager.query(t)},t.prototype.mutate=function(t){return this.defaultOptions.mutate&&(t=Object(i.a)(Object(i.a)({},this.defaultOptions.mutate),t)),this.queryManager.mutate(t)},t.prototype.subscribe=function(t){return this.queryManager.startGraphQLSubscription(t)},t.prototype.readQuery=function(t,e){return void 0===e&&(e=!1),this.cache.readQuery(t,e)},t.prototype.readFragment=function(t,e){return void 0===e&&(e=!1),this.cache.readFragment(t,e)},t.prototype.writeQuery=function(t){var e=this.cache.writeQuery(t);return this.queryManager.broadcastQueries(),e},t.prototype.writeFragment=function(t){var e=this.cache.writeFragment(t);return this.queryManager.broadcastQueries(),e},t.prototype.writeData=function(t){var e=this.cache.writeData(t);return this.queryManager.broadcastQueries(),e},t.prototype.__actionHookForDevTools=function(t){this.devToolsHookCb=t},t.prototype.__requestRaw=function(t){return Object(u.execute)(this.link,t)},t.prototype.initQueryManager=function(){return this.queryManager},t.prototype.resetStore=function(){var t=this;return Promise.resolve().then((function(){return t.queryManager.clearStore()})).then((function(){return Promise.all(t.resetStoreCallbacks.map((function(t){return t()})))})).then((function(){return t.reFetchObservableQueries()}))},t.prototype.clearStore=function(){var t=this;return Promise.resolve().then((function(){return t.queryManager.clearStore()})).then((function(){return Promise.all(t.clearStoreCallbacks.map((function(t){return t()})))}))},t.prototype.onResetStore=function(t){var e=this;return this.resetStoreCallbacks.push(t),function(){e.resetStoreCallbacks=e.resetStoreCallbacks.filter((function(e){return e!==t}))}},t.prototype.onClearStore=function(t){var e=this;return this.clearStoreCallbacks.push(t),function(){e.clearStoreCallbacks=e.clearStoreCallbacks.filter((function(e){return e!==t}))}},t.prototype.reFetchObservableQueries=function(t){return this.queryManager.reFetchObservableQueries(t)},t.prototype.extract=function(t){return this.cache.extract(t)},t.prototype.restore=function(t){return this.cache.restore(t)},t.prototype.addResolvers=function(t){this.localState.addResolvers(t)},t.prototype.setResolvers=function(t){this.localState.setResolvers(t)},t.prototype.getResolvers=function(){return this.localState.getResolvers()},t.prototype.setLocalStateFragmentMatcher=function(t){this.localState.setFragmentMatcher(t)},t}();e.default=A},function(t,e,r){"use strict";r.r(e),r.d(e,"SchemaLink",(function(){return s}));var n=r(0),i=r(20),o=r(79),a=r(116),s=function(t){function e(e){var r=e.schema,n=e.rootValue,i=e.context,o=t.call(this)||this;
39588return o.schema=r,o.rootValue=n,o.context=i,o}return Object(n.c)(e,t),e.prototype.request=function(t){var e=this;return new i.a((function(r){Promise.resolve(Object(a.execute)(e.schema,t.query,e.rootValue,"function"==typeof e.context?e.context(t):e.context,t.variables,t.operationName)).then((function(t){r.closed||(r.next(t),r.complete())})).catch((function(t){r.closed||r.error(t)}))}))},e}(o.ApolloLink);e.default=s},,,function(t,e,r){"use strict";r.r(e),r.d(e,"HeuristicFragmentMatcher",(function(){return f})),r.d(e,"InMemoryCache",(function(){return E})),r.d(e,"IntrospectionFragmentMatcher",(function(){return p})),r.d(e,"ObjectCache",(function(){return O})),r.d(e,"StoreReader",(function(){return y})),r.d(e,"StoreWriter",(function(){return S})),r.d(e,"WriteError",(function(){return w})),r.d(e,"assertIdValue",(function(){return g})),r.d(e,"defaultDataIdFromObject",(function(){return C})),r.d(e,"defaultNormalizedCacheFactory",(function(){return _})),r.d(e,"enhanceErrorWithDocument",(function(){return k}));var n=r(0),i=r(87),o=r(1),a=r(29),s=r(41),u=r(3),c=!1;function l(){var t=!c;return Object(o.y)()||(c=!0),t}var f=function(){function t(){}return t.prototype.ensureReady=function(){return Promise.resolve()},t.prototype.canBypassInit=function(){return!0},t.prototype.match=function(t,e,r){var n=r.store.get(t.id),i="ROOT_QUERY"===t.id;if(!n)return i;var o=n.__typename,a=void 0===o?i&&"Query":o;return a&&a===e||(l(),"heuristic")},t}(),p=function(){function t(t){t&&t.introspectionQueryResultData?(this.possibleTypesMap=this.parseIntrospectionResult(t.introspectionQueryResultData),this.isReady=!0):this.isReady=!1,this.match=this.match.bind(this)}return t.prototype.match=function(t,e,r){Object(u.b)(this.isReady,1);var n=r.store.get(t.id),i="ROOT_QUERY"===t.id;if(!n)return i;var o=n.__typename,a=void 0===o?i&&"Query":o;if(Object(u.b)(a,2),a===e)return!0;var s=this.possibleTypesMap[e];return!!(a&&s&&s.indexOf(a)>-1)},t.prototype.parseIntrospectionResult=function(t){var e={};return t.__schema.types.forEach((function(t){"UNION"!==t.kind&&"INTERFACE"!==t.kind||(e[t.name]=t.possibleTypes.map((function(t){return t.name})))})),e},t}(),d=Object.prototype.hasOwnProperty,h=function(){function t(t){var e=this;void 0===t&&(t=Object.create(null)),this.data=t,this.depend=Object(s.b)((function(t){return e.data[t]}),{disposable:!0,makeCacheKey:function(t){return t}})}return t.prototype.toObject=function(){return this.data},t.prototype.get=function(t){return this.depend(t),this.data[t]},t.prototype.set=function(t,e){e!==this.data[t]&&(this.data[t]=e,this.depend.dirty(t))},t.prototype.delete=function(t){d.call(this.data,t)&&(delete this.data[t],this.depend.dirty(t))},t.prototype.clear=function(){this.replace(null)},t.prototype.replace=function(t){var e=this;t?(Object.keys(t).forEach((function(r){e.set(r,t[r])})),Object.keys(this.data).forEach((function(r){d.call(t,r)||e.delete(r)}))):Object.keys(this.data).forEach((function(t){e.delete(t)}))},t}();function v(t){return new h(t)}var y=function(){function t(t){var e=this,r=void 0===t?{}:t,n=r.cacheKeyRoot,i=void 0===n?new s.a(o.e):n,a=r.freezeResults,u=void 0!==a&&a,c=this.executeStoreQuery,l=this.executeSelectionSet,f=this.executeSubSelectedArray;this.freezeResults=u,this.executeStoreQuery=Object(s.b)((function(t){return c.call(e,t)}),{makeCacheKey:function(t){var e=t.query,r=t.rootValue,n=t.contextValue,o=t.variableValues,a=t.fragmentMatcher;if(n.store instanceof h)return i.lookup(n.store,e,a,JSON.stringify(o),r.id)}}),this.executeSelectionSet=Object(s.b)((function(t){return l.call(e,t)}),{makeCacheKey:function(t){var e=t.selectionSet,r=t.rootValue,n=t.execContext;if(n.contextValue.store instanceof h)return i.lookup(n.contextValue.store,e,n.fragmentMatcher,JSON.stringify(n.variableValues),r.id)}}),this.executeSubSelectedArray=Object(s.b)((function(t){return f.call(e,t)}),{makeCacheKey:function(t){var e=t.field,r=t.array,n=t.execContext;if(n.contextValue.store instanceof h)return i.lookup(n.contextValue.store,e,r,JSON.stringify(n.variableValues))}})}return t.prototype.readQueryFromStore=function(t){return this.diffQueryAgainstStore(Object(n.a)(Object(n.a)({},t),{returnPartialData:!1})).result},t.prototype.diffQueryAgainstStore=function(t){var e=t.store,r=t.query,n=t.variables,i=t.previousResult,s=t.returnPartialData,c=void 0===s||s,l=t.rootId,f=void 0===l?"ROOT_QUERY":l,p=t.fragmentMatcherFunction,d=t.config,h=Object(o.o)(r);n=Object(o.c)({},Object(o.h)(h),n);var v={store:e,dataIdFromObject:d&&d.dataIdFromObject,cacheRedirects:d&&d.cacheRedirects||{}},y=this.executeStoreQuery({query:r,rootValue:{type:"id",id:f,generated:!0,typename:"Query"},contextValue:v,variableValues:n,fragmentMatcher:p}),m=y.missing&&y.missing.length>0;return m&&!c&&y.missing.forEach((function(t){if(!t.tolerable)throw new u.a(8)})),i&&Object(a.a)(i,y.result)&&(y.result=i),{result:y.result,complete:!m}},t.prototype.executeStoreQuery=function(t){var e=t.query,r=t.rootValue,n=t.contextValue,i=t.variableValues,a=t.fragmentMatcher,s=void 0===a?b:a,u=Object(o.l)(e),c=Object(o.j)(e),l={query:e,fragmentMap:Object(o.g)(c),contextValue:n,variableValues:i,fragmentMatcher:s};return this.executeSelectionSet({selectionSet:u.selectionSet,rootValue:r,execContext:l})},t.prototype.executeSelectionSet=function(t){var e=this,r=t.selectionSet,i=t.rootValue,a=t.execContext,s=a.fragmentMap,c=a.c
39588ontextValue,l=a.variableValues,f={result:null},p=[],d=c.store.get(i.id),h=d&&d.__typename||"ROOT_QUERY"===i.id&&"Query"||void 0;function v(t){var e;return t.missing&&(f.missing=f.missing||[],(e=f.missing).push.apply(e,t.missing)),t.result}return r.selections.forEach((function(t){var r;if(Object(o.F)(t,l))if(Object(o.t)(t)){var f=v(e.executeField(d,h,t,a));void 0!==f&&p.push(((r={})[Object(o.E)(t)]=f,r))}else{var y=void 0;if(Object(o.v)(t))y=t;else if(!(y=s[t.name.value]))throw new u.a(9);var m=y.typeCondition&&y.typeCondition.name.value,b=!m||a.fragmentMatcher(i,m,c);if(b){var g=e.executeSelectionSet({selectionSet:y.selectionSet,rootValue:i,execContext:a});"heuristic"===b&&g.missing&&(g=Object(n.a)(Object(n.a)({},g),{missing:g.missing.map((function(t){return Object(n.a)(Object(n.a)({},t),{tolerable:!0})}))})),p.push(v(g))}}})),f.result=Object(o.B)(p),this.freezeResults,f},t.prototype.executeField=function(t,e,r,n){var i=n.variableValues,a=n.contextValue,s=function(t,e,r,n,i,a){a.resultKey;var s=a.directives,u=r;(n||s)&&(u=Object(o.p)(u,n,s));var c=void 0;if(t&&void 0===(c=t[u])&&i.cacheRedirects&&"string"==typeof e){var l=i.cacheRedirects[e];if(l){var f=l[r];f&&(c=f(t,n,{getCacheKey:function(t){var e=i.dataIdFromObject(t);return e&&Object(o.H)({id:e,typename:t.__typename})}}))}}if(void 0===c)return{result:c,missing:[{object:t,fieldName:u,tolerable:!1}]};Object(o.w)(c)&&(c=c.json);return{result:c}}(t,e,r.name.value,Object(o.b)(r,i),a,{resultKey:Object(o.E)(r),directives:Object(o.i)(r,i)});return Array.isArray(s.result)?this.combineExecResults(s,this.executeSubSelectedArray({field:r,array:s.result,execContext:n})):r.selectionSet?null==s.result?s:this.combineExecResults(s,this.executeSelectionSet({selectionSet:r.selectionSet,rootValue:s.result,execContext:n})):(m(r,s.result),this.freezeResults,s)},t.prototype.combineExecResults=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e.forEach((function(e){e.missing&&(t=t||[]).push.apply(t,e.missing)})),{result:e.pop().result,missing:t}},t.prototype.executeSubSelectedArray=function(t){var e,r=this,n=t.field,i=t.array,o=t.execContext;function a(t){return t.missing&&(e=e||[]).push.apply(e,t.missing),t.result}return i=i.map((function(t){return null===t?null:Array.isArray(t)?a(r.executeSubSelectedArray({field:n,array:t,execContext:o})):n.selectionSet?a(r.executeSelectionSet({selectionSet:n.selectionSet,rootValue:t,execContext:o})):(m(n,t),t)})),this.freezeResults,{result:i,missing:e}},t}();function m(t,e){if(!t.selectionSet&&Object(o.u)(e))throw new u.a(10)}function b(){return!0}function g(t){Object(u.b)(Object(o.u)(t),11)}var O=function(){function t(t){void 0===t&&(t=Object.create(null)),this.data=t}return t.prototype.toObject=function(){return this.data},t.prototype.get=function(t){return this.data[t]},t.prototype.set=function(t,e){this.data[t]=e},t.prototype.delete=function(t){this.data[t]=void 0},t.prototype.clear=function(){this.data=Object.create(null)},t.prototype.replace=function(t){this.data=t||Object.create(null)},t}();function _(t){return new O(t)}var w=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="WriteError",e}return Object(n.c)(e,t),e}(Error);function k(t,e){var r=new w("Error writing result to store for query:\n "+JSON.stringify(e));return r.message+="\n"+t.message,r.stack=t.stack,r}var S=function(){function t(){}return t.prototype.writeQueryToStore=function(t){var e=t.query,r=t.result,n=t.store,i=void 0===n?v():n,o=t.variables,a=t.dataIdFromObject,s=t.fragmentMatcherFunction;return this.writeResultToStore({dataId:"ROOT_QUERY",result:r,document:e,store:i,variables:o,dataIdFromObject:a,fragmentMatcherFunction:s})},t.prototype.writeResultToStore=function(t){var e=t.dataId,r=t.result,n=t.document,i=t.store,a=void 0===i?v():i,s=t.variables,u=t.dataIdFromObject,c=t.fragmentMatcherFunction,l=Object(o.m)(n);try{return this.writeSelectionSetToStore({result:r,dataId:e,selectionSet:l.selectionSet,context:{store:a,processedData:{},variables:Object(o.c)({},Object(o.h)(l),s),dataIdFromObject:u,fragmentMap:Object(o.g)(Object(o.j)(n)),fragmentMatcherFunction:c}})}catch(t){throw k(t,n)}},t.prototype.writeSelectionSetToStore=function(t){var e=this,r=t.result,n=t.dataId,i=t.selectionSet,a=t.context,s=a.variables,c=a.store,l=a.fragmentMap;return i.selections.forEach((function(t){var i;if(Object(o.F)(t,s))if(Object(o.t)(t)){var c=Object(o.E)(t),f=r[c];if(void 0!==f)e.writeFieldToStore({dataId:n,value:f,field:t,context:a});else{var p=!1,d=!1;t.directives&&t.directives.length&&(p=t.directives.some((function(t){return t.name&&"defer"===t.name.value})),d=t.directives.some((function(t){return t.name&&"client"===t.name.value}))),!p&&!d&&a.fragmentMatcherFunction}}else{var h=void 0;Object(o.v)(t)?h=t:(h=(l||{}
39588)[t.name.value],Object(u.b)(h,3));var v=!0;if(a.fragmentMatcherFunction&&h.typeCondition){var y=n||"self",m=Object(o.H)({id:y,typename:void 0}),b={store:new O((i={},i[y]=r,i)),cacheRedirects:{}},g=a.fragmentMatcherFunction(m,h.typeCondition.name.value,b);Object(o.x)(),v=!!g}v&&e.writeSelectionSetToStore({result:r,selectionSet:h.selectionSet,dataId:n,context:a})}})),c},t.prototype.writeFieldToStore=function(t){var e,r,i,s=t.field,c=t.value,l=t.dataId,f=t.context,p=f.variables,d=f.dataIdFromObject,h=f.store,v=Object(o.G)(s,p);if(s.selectionSet&&null!==c)if(Array.isArray(c)){var y=l+"."+v;r=this.processArrayValue(c,y,s.selectionSet,f)}else{var m=l+"."+v,b=!0;if(j(m)||(m="$"+m),d){var g=d(c);Object(u.b)(!g||!j(g),4),(g||"number"==typeof g&&0===g)&&(m=g,b=!1)}x(m,s,f.processedData)||this.writeSelectionSetToStore({dataId:m,result:c,selectionSet:s.selectionSet,context:f});var O=c.__typename;r=Object(o.H)({id:m,typename:O},b);var _=(i=h.get(l))&&i[v];if(_!==r&&Object(o.u)(_)){var w=void 0!==_.typename,k=void 0!==O,S=w&&k&&_.typename!==O;Object(u.b)(!b||_.generated||S,5),Object(u.b)(!w||k,6),_.generated&&(S?b||h.delete(_.id):function t(e,r,i){if(e===r)return!1;var s=i.get(e),u=i.get(r),c=!1;Object.keys(s).forEach((function(e){var r=s[e],n=u[e];Object(o.u)(r)&&j(r.id)&&Object(o.u)(n)&&!Object(a.a)(r,n)&&t(r.id,n.id,i)&&(c=!0)})),i.delete(e);var l=Object(n.a)(Object(n.a)({},s),u);if(Object(a.a)(l,u))return c;return i.set(r,l),!0}(_.id,r.id,h))}}else r=null!=c&&"object"==typeof c?{type:"json",json:c}:c;(i=h.get(l))&&Object(a.a)(r,i[v])||h.set(l,Object(n.a)(Object(n.a)({},i),((e={})[v]=r,e)))},t.prototype.processArrayValue=function(t,e,r,n){var i=this;return t.map((function(t,a){if(null===t)return null;var s=e+"."+a;if(Array.isArray(t))return i.processArrayValue(t,s,r,n);var u=!0;if(n.dataIdFromObject){var c=n.dataIdFromObject(t);c&&(s=c,u=!1)}return x(s,r,n.processedData)||i.writeSelectionSetToStore({dataId:s,result:t,selectionSet:r,context:n}),Object(o.H)({id:s,typename:t.__typename},u)}))},t}();function j(t){return"$"===t[0]}function x(t,e,r){if(!r)return!1;if(r[t]){if(r[t].indexOf(e)>=0)return!0;r[t].push(e)}else r[t]=[e];return!1}var $={fragmentMatcher:new f,dataIdFromObject:C,addTypename:!0,resultCaching:!0,freezeResults:!1};function C(t){if(t.__typename){if(void 0!==t.id)return t.__typename+":"+t.id;if(void 0!==t._id)return t.__typename+":"+t._id}return null}var A=Object.prototype.hasOwnProperty,R=function(t){function e(e,r,n){var i=t.call(this,Object.create(null))||this;return i.optimisticId=e,i.parent=r,i.transaction=n,i}return Object(n.c)(e,t),e.prototype.toObject=function(){return Object(n.a)(Object(n.a)({},this.parent.toObject()),this.data)},e.prototype.get=function(t){return A.call(this.data,t)?this.data[t]:this.parent.get(t)},e}(O),E=function(t){function e(e){void 0===e&&(e={});var r=t.call(this)||this;r.watches=new Set,r.typenameDocumentCache=new Map,r.cacheKeyRoot=new s.a(o.e),r.silenceBroadcast=!1,r.config=Object(n.a)(Object(n.a)({},$),e),r.config.customResolvers&&(r.config.cacheRedirects=r.config.customResolvers),r.config.cacheResolvers&&(r.config.cacheRedirects=r.config.cacheResolvers),r.addTypename=!!r.config.addTypename,r.data=r.config.resultCaching?new h:new O,r.optimisticData=r.data,r.storeWriter=new S,r.storeReader=new y({cacheKeyRoot:r.cacheKeyRoot,freezeResults:e.freezeResults});var i=r,a=i.maybeBroadcastWatch;return r.maybeBroadcastWatch=Object(s.b)((function(t){return a.call(r,t)}),{makeCacheKey:function(t){if(!t.optimistic&&!t.previousResult)return i.data instanceof h?i.cacheKeyRoot.lookup(t.query,JSON.stringify(t.variables)):void 0}}),r}return Object(n.c)(e,t),e.prototype.restore=function(t){return t&&this.data.replace(t),this},e.prototype.extract=function(t){return void 0===t&&(t=!1),(t?this.optimisticData:this.data).toObject()},e.prototype.read=function(t){if("string"==typeof t.rootId&&void 0===this.data.get(t.rootId))return null;var e=this.config.fragmentMatcher,r=e&&e.match;return this.storeReader.readQueryFromStore({store:t.optimistic?this.optimisticData:this.data,query:this.transformDocument(t.query),variables:t.variables,rootId:t.rootId,fragmentMatcherFunction:r,previousResult:t.previousResult,config:this.config})||null},e.prototype.write=function(t){var e=this.config.fragmentMatcher,r=e&&e.match;this.storeWriter.writeResultToStore({dataId:t.dataId,result:t.result,variables:t.variables,document:this.transformDocument(t.query),store:this.data,dataIdFromObject:this.config.dataIdFromObject,fragmentMatcherFunction:r}),this.broadcastWatches()},e.prototype.diff=function(t){var e=this.config.fragmentMatcher,r=e&&e.match;return this.storeReader.diffQueryAgainstStore({store:t.optimistic?this.optimisticData:this.data,query:this.transformDocument(t.query),variables:t.variables,returnPartialData:t.returnPartialData,previousResult:t.previousResult,fragmentMatcherFunction:r,config:this.config})},e.prototype.watch=function(t){var e=this;
39588return this.watches.add(t),function(){e.watches.delete(t)}},e.prototype.evict=function(t){throw new u.a(7)},e.prototype.reset=function(){return this.data.clear(),this.broadcastWatches(),Promise.resolve()},e.prototype.removeOptimistic=function(t){for(var e=[],r=0,n=this.optimisticData;n instanceof R;)n.optimisticId===t?++r:e.push(n),n=n.parent;if(r>0){for(this.optimisticData=n;e.length>0;){var i=e.pop();this.performTransaction(i.transaction,i.optimisticId)}this.broadcastWatches()}},e.prototype.performTransaction=function(t,e){var r=this.data,n=this.silenceBroadcast;this.silenceBroadcast=!0,"string"==typeof e&&(this.data=this.optimisticData=new R(e,this.optimisticData,t));try{t(this)}finally{this.silenceBroadcast=n,this.data=r}this.broadcastWatches()},e.prototype.recordOptimisticTransaction=function(t,e){return this.performTransaction(t,e)},e.prototype.transformDocument=function(t){if(this.addTypename){var e=this.typenameDocumentCache.get(t);return e||(e=Object(o.a)(t),this.typenameDocumentCache.set(t,e),this.typenameDocumentCache.set(e,e)),e}return t},e.prototype.broadcastWatches=function(){var t=this;this.silenceBroadcast||this.watches.forEach((function(e){return t.maybeBroadcastWatch(e)}))},e.prototype.maybeBroadcastWatch=function(t){t.callback(this.diff({query:t.query,variables:t.variables,previousResult:t.previousResult&&t.previousResult(),optimistic:t.optimistic}))},e}(i.a)},,,,,,function(t,e,r){r(397);var n=r(60).Object;t.exports=function(t,e){return n.defineProperties(t,e)}},function(t,e,r){r(398),t.exports=r(60).Object.freeze},,,,function(t,e,r){var n=r(58),i=r(60),o=r(148),a=r(108),s=r(119),u=function(t,e,r){var c,l,f,p=t&u.F,d=t&u.G,h=t&u.S,v=t&u.P,y=t&u.B,m=t&u.W,b=d?i:i[e]||(i[e]={}),g=b.prototype,O=d?n:h?n[e]:(n[e]||{}).prototype;for(c in d&&(r=e),r)(l=!p&&O&&void 0!==O[c])&&s(b,c)||(f=l?O[c]:r[c],b[c]=d&&"function"!=typeof O[c]?r[c]:y&&l?o(f,n):m&&O[c]==f?function(t){var e=function(e,r,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(f):v&&"function"==typeof f?o(Function.call,f):f,v&&((b.virtual||(b.virtual={}))[c]=f,t&u.R&&g&&!g[c]&&a(g,c,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,r){var n=r(118),i=r(234);t.exports=r(109)?function(t,e,r){return n.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e,r){t.exports=!r(150)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},,,,,,,,function(t,e){t.exports={}},function(t,e,r){var n=r(80),i=r(315),o=r(316),a=Object.defineProperty;e.f=r(109)?Object.defineProperty:function(t,e,r){if(n(t),e=o(e,!0),n(r),i)try{return a(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[e]=r.value),t}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e,r){var n=r(149);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){var n=r(314),i=r(177);t.exports=function(t){return n(i(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on  "+t);return t}},function(t,e){t.exports=!0},function(t,e,r){var n=r(89),i=r(58).document,o=n(i)&&n(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e,r){var n=r(237)("keys"),i=r(182);t.exports=function(t){return n[t]||(n[t]=i(t))}},function(t,e){var r=0,n=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+n).toString(36))}},function(t,e,r){var n=r(118).f,i=r(119),o=r(61)("toStringTag");t.exports=function(t,e,r){t&&!i(t=r?t:t.prototype,o)&&n(t,o,{configurable:!0,value:e})}},,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";var n=r(149);function i(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n})),this.resolve=n(e),this.reject=n(r)}t.exports.f=function(t){return new i(t)}},,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){r(311);for(var n=r(58),i=r(108),o=r(117),a=r(61)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var c=s[u],l=n[c],f=l&&l.prototype;f&&!f[a]&&i(f,a,c),o[c]=o.Array}},function(t,e,r){"use strict";var n=r(178),i=r(107),o=r(317),a=r(108),s=r(117),u=r(318),c=r(183),l=r(324),f=r(61)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,r,h,v,y,m){u(r,e,h);var b,g,O,_=function(t){if(!p&&t in j)return j[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},w=e+" Iterator",k="values"==v,S=!1,j=t.prototype,x=j[f]||j["@@iterator"]||v&&j[v],$=x||_(v),C=v?k?_("entries"):$:void 0,A="Array"==e&&j.entries||x;if(A&&(O=l(A.call(new t)))!==Object.prototype&&O.next&&(c(O,w,!0),n||"function"==typeof O[f]||a(O,f,d)),k&&x&&"values"!==x.name&&(S=!0,$=function(){return x.call(this)}
vendor: 5,222 bytes, line 39588
39588),n&&!m||!p&&!S&&j[f]||a(j,f,$),s[e]=$,s[w]=d,v)if(b={values:k?$:_("values"),keys:y?$:_("keys"),entries:C},m)for(g in b)g in j||o(j,g,b[g]);else i(i.P+i.F*(p||S),e,b);return b}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(118),i=r(80),o=r(320);t.exports=r(109)?Object.defineProperties:function(t,e){i(t);for(var r,a=o(e),s=a.length,u=0;s>u;)n.f(t,r=a[u++],e[r]);return t}},function(t,e,r){var n=r(180),i=Math.min;t.exports=function(t){return t>0?i(n(t),9007199254740991):0}},function(t,e,r){var n=r(60),i=r(58),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:n.version,mode:r(178)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(58).document;t.exports=n&&n.documentElement},function(t,e,r){"use strict";var n=r(326)(!0);r(233)(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,r=this._i;return r>=e.length?{value:void 0,done:!0}:(t=n(e,r),this._i+=t.length,{value:t,done:!1})}))},function(t,e,r){var n=r(242),i=r(61)("iterator"),o=r(117);t.exports=r(60).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[n(t)]}},function(t,e,r){var n=r(147),i=r(61)("toStringTag"),o="Arguments"==n(function(){return arguments}());t.exports=function(t){var e,r,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?r:o?n(e):"Object"==(a=n(e))&&"function"==typeof e.callee?"Arguments":a}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){var n=r(80),i=r(149),o=r(61)("species");t.exports=function(t,e){var r,a=n(t).constructor;return void 0===a||null==(r=n(a)[o])?e:i(r)}},function(t,e,r){var n,i,o,a=r(148),s=r(389),u=r(239),c=r(179),l=r(58),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=l.Dispatch,y=0,m={},b=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},g=function(t){b.call(t.data)};p&&d||(p=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return m[++y]=function(){s("function"==typeof t?t:Function(t),e)},n(y),y},d=function(t){delete m[t]},"process"==r(147)(f)?n=function(t){f.nextTick(a(b,t,1))}:v&&v.now?n=function(t){v.now(a(b,t,1))}:h?(o=(i=new h).port2,i.port1.onmessage=g,n=a(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(n=function(t){l.postMessage(t+"","*")},l.addEventListener("message",g,!1)):n="onreadystatechange"in c("script")?function(t){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:p,clear:d}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,r){var n=r(80),i=r(89),o=r(205);t.exports=function(t,e){if(n(t),i(e)&&e.constructor===t)return e;var r=o.f(t);return(0,r.resolve)(e),r.promise}},,,,,,,,,,function(t,e,r){"use strict";var n=r(312),i=r(313),o=r(117),a=r(176);t.exports=r(233)(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?r:"values"==e?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,r){var n=r(147);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e,r){t.exports=!r(109)&&!r(150)((function(){return 7!=Object.defineProperty(r(179)("div"),"a",{get:function(){return 7}}).a}))},function(t,e,r){var n=r(89);t.exports=function(t,e){if(!n(t))return t;var r,i;if(e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!n(i=r.call(t)))return i;if(!e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,r){t.exports=r(108)},function(t,e,r){"use strict";var n=r(319),i=r(234),o=r(183),a={};r(108)(a,r(61)("iterator"),(function(){return this})),t.exports=function(t,e,r){t.prototype=n(a,{next:i(1,r)}),o(t,e+" Iterator")}},function(t,e,r){var n=r(80),i=r(235),o=r(238),a=r(181)("IE_PROTO"),s=function(){},u=function(){var t,e=r(179)("iframe"),n=o.length;for(e.style.display="none",r(239).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;n--;)delete u.prototype[o[n]];return u()};t.exports=Object.create||function(t,e){var r;return null!==t?(s.prototype=n(t),r=new s,s.prototype=null,r[a]=t):r=u(),void 0===e?r:i(r,e)}},function(t,e,r){var n=r(321),i=r(238);t.exports=Object.keys||function(t){return n(t,i)}},function(t,e,r){var n=r(119),i=r(176),o=r(322)(!1),a=r(181)("IE_PROTO");t.exports=function(t,e){var r,s=i(t),u=0,c=[];for(r in s)r!=a&&n(s,r)&&c.push(r);for(;e.length>u;
vendor: 7,774 bytes, line 39588
39588)n(s,r=e[u++])&&(~o(c,r)||c.push(r));return c}},function(t,e,r){var n=r(176),i=r(236),o=r(323);t.exports=function(t){return function(e,r,a){var s,u=n(e),c=i(u.length),l=o(a,c);if(t&&r!=r){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===r)return t||l||0;return!t&&-1}}},function(t,e,r){var n=r(180),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=n(t))<0?i(t+e,0):o(t,e)}},function(t,e,r){var n=r(119),i=r(325),o=r(181)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,r){var n=r(177);t.exports=function(t){return Object(n(t))}},function(t,e,r){var n=r(180),i=r(177);t.exports=function(t){return function(e,r){var o,a,s=String(i(e)),u=n(r),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},function(t,e,r){var n=r(80),i=r(241);t.exports=r(60).getIterator=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return n(e.call(t))}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e){},function(t,e,r){"use strict";var n,i,o,a,s=r(178),u=r(58),c=r(148),l=r(242),f=r(107),p=r(89),d=r(149),h=r(385),v=r(386),y=r(298),m=r(299).set,b=r(390)(),g=r(205),O=r(300),_=r(391),w=r(301),k=u.TypeError,S=u.process,j=S&&S.versions,x=j&&j.v8||"",$=u.Promise,C="process"==l(S),A=function(){},R=i=g.f,E=!!function(){try{var t=$.resolve(1),e=(t.constructor={})[r(61)("species")]=function(t){t(A,A)};return(C||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof e&&0!==x.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(t){}}(),Q=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},P=function(t,e){if(!t._n){t._n=!0;var r=t._c;b((function(){for(var n=t._v,i=1==t._s,o=0,a=function(e){var r,o,a,s=i?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{s?(i||(2==t._h&&q(t),t._h=1),!0===s?r=n:(l&&l.enter(),r=s(n),l&&(l.exit(),a=!0)),r===e.promise?c(k("Promise-chain cycle")):(o=Q(r))?o.call(r,u,c):u(r)):c(n)}catch(t){l&&!a&&l.exit(),c(t)}};r.length>o;)a(r[o++]);t._c=[],t._n=!1,e&&!t._h&&M(t)}))}},M=function(t){m.call(u,(function(){var e,r,n,i=t._v,o=I(t);if(o&&(e=O((function(){C?S.emit("unhandledRejection",i,t):(r=u.onunhandledrejection)?r({promise:t,reason:i}):(n=u.console)&&n.error&&n.error("Unhandled promise rejection",i)})),t._h=C||I(t)?2:1),t._a=void 0,o&&e.e)throw e.v}))},I=function(t){return 1!==t._h&&0===(t._a||t._c).length},q=function(t){m.call(u,(function(){var e;C?S.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})}))},D=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),P(e,!0))},T=function(t){var e,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw k("Promise can't be resolved itself");(e=Q(t))?b((function(){var n={_w:r,_d:!1};try{e.call(t,c(T,n,1),c(D,n,1))}catch(t){D.call(n,t)}})):(r._v=t,r._s=1,P(r,!1))}catch(t){D.call({_w:r,_d:!1},t)}}};E||($=function(t){h(this,$,"Promise","_h"),d(t),n.call(this);try{t(c(T,this,1),c(D,this,1))}catch(t){D.call(this,t)}},(n=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(392)($.prototype,{then:function(t,e){var r=R(y(this,$));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=C?S.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&P(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new n;this.promise=t,this.resolve=c(T,t,1),this.reject=c(D,t,1)},g.f=R=function(t){return t===$||t===a?new o(t):i(t)}),f(f.G+f.W+f.F*!E,{Promise:$}),r(183)($,"Promise"),r(393)("Promise"),a=r(60).Promise,f(f.S+f.F*!E,"Promise",{reject:function(t){var e=R(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(s||!E),"Promise",{resolve:function(t){return w(s&&this===a?$:this,t)}}),f(f.S+f.F*!(E&&r(394)((function(t){$.all(t).catch(A)}))),"Promise",{all:function(t){var e=this,r=R(e),n=r.resolve,i=r.reject,o=O((function(){var r=[],o=0,a=1;v(t,!1,(function(t){var s=o++,u=!1;r.push(void 0),a++,e.resolve(t).then((function(t){u||(u=!0,r[s]=t,--a||n(r))}),i)})),--a||n(r)}));return o.e&&i(o.v),r.promise},race:function(t){var e=this,r=R(e),n=r.reject,i=O((function(){v(t,!1,(function(t){e.resolve(t).then(r.resolve,n)}))}));return i.e&&n(i.v),r.promise}})},function(t,e){t.exports=function(t,e,r,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,e,r){var n=r(148),i=r(387),o=r(388),a=r(80),s=r(236),u=r(241),c={},l={};(e=t.exports=function(t,e,r,f,p){var d,h,v,y,m=p?function(){return t}:u(t),b=n(r,f,e?2:1),g=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(o(m)){for(d=s(t.length);d>g;g++)if((y=e?b(a(h=t[g])[0],h[1]):b(t[g]))===c||y===l)return y}else for(v=m.call(t);!(h=v.next()).done;)if((y=i(v,b,h.value,e))===c||y===l)return y}).BREAK=c,e.RETURN=l},function(t,e,r){var n=r(80);t.exports=function(t,e,r,i){try{return i?e(n(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&n(o.call(t)),e}}},function(t,e,r){var n=r(117),i=r(61)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||o[i]===t)}},function(t,e){t.exports=function(t,e,r){var n=void 0===r;switch(e.length){case 0:return n?t():t.call(r);case 1:return n?t(e[0]):t.call(r,e[0]);case 2:return n?t(e[0],e[1]):t.call(r,e[0],e[1]);case 3:return n?t(e[0],e[1],e[2]):t.call(r,e[0],e[1],e[2]);case 4:return n?t(e[0],e[1],e[2],e[3]):t.call(r,e[0],e[1],e[2],e[3])}return t.apply(r,e)}},function(t,e,r){var n=r(58),i=r(299).set,o=n.MutationObserver||n.WebKitMutationObserver,a=n.process,s=n.Promise,u="process"==r(147)(a);t.exports=function(){var t,e,r,c=function(){var n,i;for(u&&(n=a.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(u)r=function(){a.nextTick(c)};else if(!o||n.navigator&&n.navigator.standalone)if(s&&s.resolve){var l=s.resolve(void 0);r=function(){l.then(c)}}else r=function(){i.call(n,c)};else{var f=!0,p=document.createTextNode("");new o(c).observe(p,{characterData:!0}),r=function(){p.data=f=!f}}return function(n){var i={fn:n,next:void 0};e&&(e.next=i),t||(t=i,r()),e=i}}},function(t,e,r){var n=r(58).navigator;t.exports=n&&n.userAgent||""},function(t,e,r){var n=r(108);t.exports=function(t,e,r){for(var i in e)r&&t[i]?t[i]=e[i]:n(t,i,e[i]);return t}},function(t,e,r){"use strict";var n=r(58),i=r(60),o=r(118),a=r(109),s=r(61)("species");t.exports=function(t){var e="function"==typeof i[t]?i[t]:n[t];a&&e&&!e[s]&&o.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,r){var n=r(61)("iterator"),i=!1;try{var o=[7][n]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var r=!1;try{var o=[7],a=o[n]();a.next=function(){return{done:r=!0}},o[n]=function(){return a},t(o)}catch(t){}return r}},function(t,e,r){"use strict";var n=r(107),i=r(60),o=r(58),a=r(298),s=r(301);n(n.P+n.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return s(e,t()).then((function(){return r}))}:t,r?function(r){return s(e,t()).then((function(){throw r}))}:t)}})},function(t,e,r){"use strict";var n=r(107),i=r(205),o=r(300);n(n.S,"Promise",{try:function(t){var e=i.f(this),r=o(t);return(r.e?e.reject:e.resolve)(r.v),e.promise}})},function(t,e,r){var n=r(107);n(n.S+n.F*!r(109),"Object",{defineProperties:r(235)})},function(t,e,r){var n=r(89),i=r(399).onFreeze;r(400)("freeze",(function(t){return function(e){return t&&n(e)?t(i(e)):e}}))}
vendor: 729 bytes, line 39588
39588,function(t,e,r){var n=r(182)("meta"),i=r(89),o=r(119),a=r(118).f,s=0,u=Object.isExtensible||function(){return!0},c=!r(150)((function(){return u(Object.preventExtensions({}))})),l=function(t){a(t,n,{value:{i:"O"+ ++s,w:{}}})},f=t.exports={KEY:n,NEED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,n)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[n].i},getWeak:function(t,e){if(!o(t,n)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[n].w},onFreeze:function(t){return c&&f.NEED&&u(t)&&!o(t,n)&&l(t),t}}},function(t,e,r){var n=r(107),i=r(60),o=r(150);t.exports=function(t,e){var r=(i.Object||{})[t]||Object[t],a={};a[t]=e(r),n(n.S+n.F*o((function(){r(1)})),"Object",a)}}]]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.