iszolea-ui 1.2.75 → 1.2.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/js/index.js CHANGED
@@ -11,7 +11,7 @@
11
11
  `},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(o,t,r,i){t=t||[],o=o.replace(/\\/g,"/");var n=goog.normalizePath_(goog.basePath+o);for(i&&typeof i!="boolean"||(i=i?{module:goog.ModuleType.GOOG}:{}),r=this.factory_.createDependency(n,o,t,r,i,goog.transpiler_.needsTranspile(i.lang||"es3",i.module)),this.dependencies_[n]=r,r=0;r<t.length;r++)this.idToPath_[t[r]]=n;this.idToPath_[o]=n},goog.DependencyFactory=function(o){this.transpiler=o},goog.DependencyFactory.prototype.createDependency=function(o,t,r,i,n,s){return n.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(o,t,r,i,n,s,this.transpiler):s?new goog.TranspiledDependency(o,t,r,i,n,this.transpiler):n.module==goog.ModuleType.ES6?goog.TRANSPILE=="never"&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(o,t,r,i,n):new goog.Es6ModuleDependency(o,t,r,i,n):new goog.Dependency(o,t,r,i,n)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(o){goog.debugLoader_.setDependencyFactory(o)},goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(o,t){goog.debugLoader_.bootstrap(o,t)});goog.TRUSTED_TYPES_POLICY_NAME="";goog.identity_=function(o){return o};goog.createTrustedTypesPolicy=function(o){var t=null;if(typeof TrustedTypes>"u"||!TrustedTypes.createPolicy)return t;try{t=TrustedTypes.createPolicy(o,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(r){goog.logToConsole_(r.message)}return t};goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null;var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31};jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5};jspb.BinaryConstants.FieldTypeToWireType=function(o){var t=jspb.BinaryConstants.FieldType,r=jspb.BinaryConstants.WireType;switch(o){case t.INT32:case t.INT64:case t.UINT32:case t.UINT64:case t.SINT32:case t.SINT64:case t.BOOL:case t.ENUM:case t.VHASH64:return r.VARINT;case t.DOUBLE:case t.FIXED64:case t.SFIXED64:case t.FHASH64:return r.FIXED64;case t.STRING:case t.MESSAGE:case t.BYTES:return r.DELIMITED;case t.FLOAT:case t.FIXED32:case t.SFIXED32:return r.FIXED32;default:return r.INVALID}};jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1;jspb.BinaryConstants.FLOAT32_EPS=1401298464324817e-60;jspb.BinaryConstants.FLOAT32_MIN=11754943508222875e-54;jspb.BinaryConstants.FLOAT32_MAX=34028234663852886e22;jspb.BinaryConstants.FLOAT64_EPS=5e-324;jspb.BinaryConstants.FLOAT64_MIN=22250738585072014e-324;jspb.BinaryConstants.FLOAT64_MAX=17976931348623157e292;jspb.BinaryConstants.TWO_TO_20=1048576;jspb.BinaryConstants.TWO_TO_23=8388608;jspb.BinaryConstants.TWO_TO_31=2147483648;jspb.BinaryConstants.TWO_TO_32=4294967296;jspb.BinaryConstants.TWO_TO_52=4503599627370496;jspb.BinaryConstants.TWO_TO_63=9223372036854776e3;jspb.BinaryConstants.TWO_TO_64=18446744073709552e3;jspb.BinaryConstants.ZERO_HASH="\0\0\0\0\0\0\0\0";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.debug={};goog.debug.Error=function(o){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var t=Error().stack;t&&(this.stack=t)}o&&(this.message=String(o)),this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(o,t){goog.debug.Error.call(this,goog.asserts.subs_(o,t)),this.messagePattern=o};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(o){throw o};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;goog.asserts.subs_=function(o,t){o=o.split("%s");for(var r="",i=o.length-1,n=0;n<i;n++)r+=o[n]+(n<t.length?t[n]:"%s");return r+o[i]};goog.asserts.doAssertFailure_=function(o,t,r,i){var n="Assertion failed";if(r){n+=": "+r;var s=i}else o&&(n+=": "+o,s=t);o=new goog.asserts.AssertionError(""+n,s||[]),goog.asserts.errorHandler_(o)};goog.asserts.setErrorHandler=function(o){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=o)};goog.asserts.assert=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!o&&goog.asserts.doAssertFailure_("",null,t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertExists=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&o==null&&goog.asserts.doAssertFailure_("Expected to exist: %s.",[o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.fail=function(o,t){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(o?": "+o:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(o)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertString=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isString(o)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertFunction=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(o)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertObject=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(o)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertArray=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isArray(o)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertBoolean=function(o,t,r){return goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(o)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertElement=function(o,t,r){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(o)&&o.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(o),o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertInstanceof=function(o,t,r,i){return!goog.asserts.ENABLE_ASSERTS||o instanceof t||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(t),goog.asserts.getType_(o)],r,Array.prototype.slice.call(arguments,3)),o};goog.asserts.assertFinite=function(o,t,r){return!goog.asserts.ENABLE_ASSERTS||typeof o=="number"&&isFinite(o)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[o],t,Array.prototype.slice.call(arguments,2)),o};goog.asserts.assertObjectPrototypeIsIntact=function(){for(var o in Object.prototype)goog.asserts.fail(o+" should not be enumerable in Object.prototype.")};goog.asserts.getType_=function(o){return o instanceof Function?o.displayName||o.name||"unknown type name":o instanceof Object?o.constructor.displayName||o.constructor.name||Object.prototype.toString.call(o):o===null?"null":typeof o};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=2012<goog.FEATURESET_YEAR;goog.array.peek=function(o){return o[o.length-1]};goog.array.last=goog.array.peek;goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(o,t,r){return goog.asserts.assert(o.length!=null),Array.prototype.indexOf.call(o,t,r)}:function(o,t,r){if(r=r==null?0:0>r?Math.max(0,o.length+r):r,goog.isString(o))return goog.isString(t)&&t.length==1?o.indexOf(t,r):-1;for(;r<o.length;r++)if(r in o&&o[r]===t)return r;return-1};goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(o,t,r){return goog.asserts.assert(o.length!=null),Array.prototype.lastIndexOf.call(o,t,r??o.length-1)}:function(o,t,r){if(r=r??o.length-1,0>r&&(r=Math.max(0,o.length+r)),goog.isString(o))return goog.isString(t)&&t.length==1?o.lastIndexOf(t,r):-1;for(;0<=r;r--)if(r in o&&o[r]===t)return r;return-1};goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,t,r){goog.asserts.assert(o.length!=null),Array.prototype.forEach.call(o,t,r)}:function(o,t,r){for(var i=o.length,n=goog.isString(o)?o.split(""):o,s=0;s<i;s++)s in n&&t.call(r,n[s],s,o)};goog.array.forEachRight=function(o,t,r){var i=o.length,n=goog.isString(o)?o.split(""):o;for(--i;0<=i;--i)i in n&&t.call(r,n[i],i,o)};goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(o,t,r){return goog.asserts.assert(o.length!=null),Array.prototype.filter.call(o,t,r)}:function(o,t,r){for(var i=o.length,n=[],s=0,l=goog.isString(o)?o.split(""):o,g=0;g<i;g++)if(g in l){var p=l[g];t.call(r,p,g,o)&&(n[s++]=p)}return n};goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(o,t,r){return goog.asserts.assert(o.length!=null),Array.prototype.map.call(o,t,r)}:function(o,t,r){for(var i=o.length,n=Array(i),s=goog.isString(o)?o.split(""):o,l=0;l<i;l++)l in s&&(n[l]=t.call(r,s[l],l,o));return n};goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(o,t,r,i){return goog.asserts.assert(o.length!=null),i&&(t=goog.bind(t,i)),Array.prototype.reduce.call(o,t,r)}:function(o,t,r,i){var n=r;return goog.array.forEach(o,function(s,l){n=t.call(i,n,s,l,o)}),n};goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(o,t,r,i){return goog.asserts.assert(o.length!=null),goog.asserts.assert(t!=null),i&&(t=goog.bind(t,i)),Array.prototype.reduceRight.call(o,t,r)}:function(o,t,r,i){var n=r;return goog.array.forEachRight(o,function(s,l){n=t.call(i,n,s,l,o)}),n};goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(o,t,r){return goog.asserts.assert(o.length!=null),Array.prototype.some.call(o,t,r)}:function(o,t,r){for(var i=o.length,n=goog.isString(o)?o.split(""):o,s=0;s<i;s++)if(s in n&&t.call(r,n[s],s,o))return!0;return!1};goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(o,t,r){return goog.asserts.assert(o.length!=null),Array.prototype.every.call(o,t,r)}:function(o,t,r){for(var i=o.length,n=goog.isString(o)?o.split(""):o,s=0;s<i;s++)if(s in n&&!t.call(r,n[s],s,o))return!1;return!0};goog.array.count=function(o,t,r){var i=0;return goog.array.forEach(o,function(n,s,l){t.call(r,n,s,l)&&++i},r),i};goog.array.find=function(o,t,r){return t=goog.array.findIndex(o,t,r),0>t?null:goog.isString(o)?o.charAt(t):o[t]};goog.array.findIndex=function(o,t,r){for(var i=o.length,n=goog.isString(o)?o.split(""):o,s=0;s<i;s++)if(s in n&&t.call(r,n[s],s,o))return s;return-1};goog.array.findRight=function(o,t,r){return t=goog.array.findIndexRight(o,t,r),0>t?null:goog.isString(o)?o.charAt(t):o[t]};goog.array.findIndexRight=function(o,t,r){var i=o.length,n=goog.isString(o)?o.split(""):o;for(--i;0<=i;i--)if(i in n&&t.call(r,n[i],i,o))return i;return-1};goog.array.contains=function(o,t){return 0<=goog.array.indexOf(o,t)};goog.array.isEmpty=function(o){return o.length==0};goog.array.clear=function(o){if(!goog.isArray(o))for(var t=o.length-1;0<=t;t--)delete o[t];o.length=0};goog.array.insert=function(o,t){goog.array.contains(o,t)||o.push(t)};goog.array.insertAt=function(o,t,r){goog.array.splice(o,r,0,t)};goog.array.insertArrayAt=function(o,t,r){goog.partial(goog.array.splice,o,r,0).apply(null,t)};goog.array.insertBefore=function(o,t,r){var i;arguments.length==2||0>(i=goog.array.indexOf(o,r))?o.push(t):goog.array.insertAt(o,t,i)};goog.array.remove=function(o,t){t=goog.array.indexOf(o,t);var r;return(r=0<=t)&&goog.array.removeAt(o,t),r};goog.array.removeLast=function(o,t){return t=goog.array.lastIndexOf(o,t),0<=t?(goog.array.removeAt(o,t),!0):!1};goog.array.removeAt=function(o,t){return goog.asserts.assert(o.length!=null),Array.prototype.splice.call(o,t,1).length==1};goog.array.removeIf=function(o,t,r){return t=goog.array.findIndex(o,t,r),0<=t?(goog.array.removeAt(o,t),!0):!1};goog.array.removeAllIf=function(o,t,r){var i=0;return goog.array.forEachRight(o,function(n,s){t.call(r,n,s,o)&&goog.array.removeAt(o,s)&&i++}),i};goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(o){var t=o.length;if(0<t){for(var r=Array(t),i=0;i<t;i++)r[i]=o[i];return r}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(o,t){for(var r=1;r<arguments.length;r++){var i=arguments[r];if(goog.isArrayLike(i)){var n=o.length||0,s=i.length||0;o.length=n+s;for(var l=0;l<s;l++)o[n+l]=i[l]}else o.push(i)}};goog.array.splice=function(o,t,r,i){return goog.asserts.assert(o.length!=null),Array.prototype.splice.apply(o,goog.array.slice(arguments,1))};goog.array.slice=function(o,t,r){return goog.asserts.assert(o.length!=null),2>=arguments.length?Array.prototype.slice.call(o,t):Array.prototype.slice.call(o,t,r)};goog.array.removeDuplicates=function(o,t,r){t=t||o;var i=function(p){return goog.isObject(p)?"o"+goog.getUid(p):(typeof p).charAt(0)+p};r=r||i,i={};for(var n=0,s=0;s<o.length;){var l=o[s++],g=r(l);Object.prototype.hasOwnProperty.call(i,g)||(i[g]=!0,t[n++]=l)}t.length=n};goog.array.binarySearch=function(o,t,r){return goog.array.binarySearch_(o,r||goog.array.defaultCompare,!1,t)};goog.array.binarySelect=function(o,t,r){return goog.array.binarySearch_(o,t,!0,void 0,r)};goog.array.binarySearch_=function(o,t,r,i,n){for(var s=0,l=o.length,g;s<l;){var p=s+l>>1,m=r?t.call(n,o[p],p,o):t(i,o[p]);0<m?s=p+1:(l=p,g=!m)}return g?s:~s};goog.array.sort=function(o,t){o.sort(t||goog.array.defaultCompare)};goog.array.stableSort=function(o,t){for(var r=Array(o.length),i=0;i<o.length;i++)r[i]={index:i,value:o[i]};var n=t||goog.array.defaultCompare;for(goog.array.sort(r,function(s,l){return n(s.value,l.value)||s.index-l.index}),i=0;i<o.length;i++)o[i]=r[i].value};goog.array.sortByKey=function(o,t,r){var i=r||goog.array.defaultCompare;goog.array.sort(o,function(n,s){return i(t(n),t(s))})};goog.array.sortObjectsByKey=function(o,t,r){goog.array.sortByKey(o,function(i){return i[t]},r)};goog.array.isSorted=function(o,t,r){t=t||goog.array.defaultCompare;for(var i=1;i<o.length;i++){var n=t(o[i-1],o[i]);if(0<n||n==0&&r)return!1}return!0};goog.array.equals=function(o,t,r){if(!goog.isArrayLike(o)||!goog.isArrayLike(t)||o.length!=t.length)return!1;var i=o.length;r=r||goog.array.defaultCompareEquality;for(var n=0;n<i;n++)if(!r(o[n],t[n]))return!1;return!0};goog.array.compare3=function(o,t,r){r=r||goog.array.defaultCompare;for(var i=Math.min(o.length,t.length),n=0;n<i;n++){var s=r(o[n],t[n]);if(s!=0)return s}return goog.array.defaultCompare(o.length,t.length)};goog.array.defaultCompare=function(o,t){return o>t?1:o<t?-1:0};goog.array.inverseDefaultCompare=function(o,t){return-goog.array.defaultCompare(o,t)};goog.array.defaultCompareEquality=function(o,t){return o===t};goog.array.binaryInsert=function(o,t,r){return r=goog.array.binarySearch(o,t,r),0>r?(goog.array.insertAt(o,t,-(r+1)),!0):!1};goog.array.binaryRemove=function(o,t,r){return t=goog.array.binarySearch(o,t,r),0<=t?goog.array.removeAt(o,t):!1};goog.array.bucket=function(o,t,r){for(var i={},n=0;n<o.length;n++){var s=o[n],l=t.call(r,s,n,o);goog.isDef(l)&&(i[l]||(i[l]=[])).push(s)}return i};goog.array.toObject=function(o,t,r){var i={};return goog.array.forEach(o,function(n,s){i[t.call(r,n,s,o)]=n}),i};goog.array.range=function(o,t,r){var i=[],n=0,s=o;if(r=r||1,t!==void 0&&(n=o,s=t),0>r*(s-n))return[];if(0<r)for(o=n;o<s;o+=r)i.push(o);else for(o=n;o>s;o+=r)i.push(o);return i};goog.array.repeat=function(o,t){for(var r=[],i=0;i<t;i++)r[i]=o;return r};goog.array.flatten=function(o){for(var t=[],r=0;r<arguments.length;r++){var i=arguments[r];if(goog.isArray(i))for(var n=0;n<i.length;n+=8192){var s=goog.array.slice(i,n,n+8192);s=goog.array.flatten.apply(null,s);for(var l=0;l<s.length;l++)t.push(s[l])}else t.push(i)}return t};goog.array.rotate=function(o,t){return goog.asserts.assert(o.length!=null),o.length&&(t%=o.length,0<t?Array.prototype.unshift.apply(o,o.splice(-t,t)):0>t&&Array.prototype.push.apply(o,o.splice(0,-t))),o};goog.array.moveItem=function(o,t,r){goog.asserts.assert(0<=t&&t<o.length),goog.asserts.assert(0<=r&&r<o.length),t=Array.prototype.splice.call(o,t,1),Array.prototype.splice.call(o,r,0,t[0])};goog.array.zip=function(o){if(!arguments.length)return[];for(var t=[],r=arguments[0].length,i=1;i<arguments.length;i++)arguments[i].length<r&&(r=arguments[i].length);for(i=0;i<r;i++){for(var n=[],s=0;s<arguments.length;s++)n.push(arguments[s][i]);t.push(n)}return t};goog.array.shuffle=function(o,t){t=t||Math.random;for(var r=o.length-1;0<r;r--){var i=Math.floor(t()*(r+1)),n=o[r];o[r]=o[i],o[i]=n}};goog.array.copyByIndex=function(o,t){var r=[];return goog.array.forEach(t,function(i){r.push(o[i])}),r};goog.array.concatMap=function(o,t,r){return goog.array.concat.apply([],goog.array.map(o,t,r))};goog.crypt={};goog.crypt.stringToByteArray=function(o){for(var t=[],r=0,i=0;i<o.length;i++){var n=o.charCodeAt(i);255<n&&(t[r++]=n&255,n>>=8),t[r++]=n}return t};goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var t="",r=0;r<o.length;r+=8192){var i=goog.array.slice(o,r,r+8192);t+=String.fromCharCode.apply(null,i)}return t};goog.crypt.byteArrayToHex=function(o,t){return goog.array.map(o,function(r){return r=r.toString(16),1<r.length?r:"0"+r}).join(t||"")};goog.crypt.hexToByteArray=function(o){goog.asserts.assert(o.length%2==0,"Key string length must be multiple of 2");for(var t=[],r=0;r<o.length;r+=2)t.push(parseInt(o.substring(r,r+2),16));return t};goog.crypt.stringToUtf8ByteArray=function(o){for(var t=[],r=0,i=0;i<o.length;i++){var n=o.charCodeAt(i);128>n?t[r++]=n:(2048>n?t[r++]=n>>6|192:((n&64512)==55296&&i+1<o.length&&(o.charCodeAt(i+1)&64512)==56320?(n=65536+((n&1023)<<10)+(o.charCodeAt(++i)&1023),t[r++]=n>>18|240,t[r++]=n>>12&63|128):t[r++]=n>>12|224,t[r++]=n>>6&63|128),t[r++]=n&63|128)}return t};goog.crypt.utf8ByteArrayToString=function(o){for(var t=[],r=0,i=0;r<o.length;){var n=o[r++];if(128>n)t[i++]=String.fromCharCode(n);else if(191<n&&224>n){var s=o[r++];t[i++]=String.fromCharCode((n&31)<<6|s&63)}else if(239<n&&365>n){s=o[r++];var l=o[r++],g=o[r++];n=((n&7)<<18|(s&63)<<12|(l&63)<<6|g&63)-65536,t[i++]=String.fromCharCode(55296+(n>>10)),t[i++]=String.fromCharCode(56320+(n&1023))}else s=o[r++],l=o[r++],t[i++]=String.fromCharCode((n&15)<<12|(s&63)<<6|l&63)}return t.join("")};goog.crypt.xorByteArray=function(o,t){goog.asserts.assert(o.length==t.length,"XOR array lengths must match");for(var r=[],i=0;i<o.length;i++)r.push(o[i]^t[i]);return r};goog.string={};goog.string.internal={};goog.string.internal.startsWith=function(o,t){return o.lastIndexOf(t,0)==0};goog.string.internal.endsWith=function(o,t){var r=o.length-t.length;return 0<=r&&o.indexOf(t,r)==r};goog.string.internal.caseInsensitiveStartsWith=function(o,t){return goog.string.internal.caseInsensitiveCompare(t,o.substr(0,t.length))==0};goog.string.internal.caseInsensitiveEndsWith=function(o,t){return goog.string.internal.caseInsensitiveCompare(t,o.substr(o.length-t.length,t.length))==0};goog.string.internal.caseInsensitiveEquals=function(o,t){return o.toLowerCase()==t.toLowerCase()};goog.string.internal.isEmptyOrWhitespace=function(o){return/^[\s\xa0]*$/.test(o)};goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(o){return o.trim()}:function(o){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(o)[1]};goog.string.internal.caseInsensitiveCompare=function(o,t){return o=String(o).toLowerCase(),t=String(t).toLowerCase(),o<t?-1:o==t?0:1};goog.string.internal.newLineToBr=function(o,t){return o.replace(/(\r\n|\r|\n)/g,t?"<br />":"<br>")};goog.string.internal.htmlEscape=function(o,t){if(t)o=o.replace(goog.string.internal.AMP_RE_,"&amp;").replace(goog.string.internal.LT_RE_,"&lt;").replace(goog.string.internal.GT_RE_,"&gt;").replace(goog.string.internal.QUOT_RE_,"&quot;").replace(goog.string.internal.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.internal.NULL_RE_,"&#0;");else{if(!goog.string.internal.ALL_RE_.test(o))return o;o.indexOf("&")!=-1&&(o=o.replace(goog.string.internal.AMP_RE_,"&amp;")),o.indexOf("<")!=-1&&(o=o.replace(goog.string.internal.LT_RE_,"&lt;")),o.indexOf(">")!=-1&&(o=o.replace(goog.string.internal.GT_RE_,"&gt;")),o.indexOf('"')!=-1&&(o=o.replace(goog.string.internal.QUOT_RE_,"&quot;")),o.indexOf("'")!=-1&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"&#39;")),o.indexOf("\0")!=-1&&(o=o.replace(goog.string.internal.NULL_RE_,"&#0;"))}return o};goog.string.internal.AMP_RE_=/&/g;goog.string.internal.LT_RE_=/</g;goog.string.internal.GT_RE_=/>/g;goog.string.internal.QUOT_RE_=/"/g;goog.string.internal.SINGLE_QUOTE_RE_=/'/g;goog.string.internal.NULL_RE_=/\x00/g;goog.string.internal.ALL_RE_=/[\x00&<>"']/;goog.string.internal.whitespaceEscape=function(o,t){return goog.string.internal.newLineToBr(o.replace(/ /g," &#160;"),t)};goog.string.internal.contains=function(o,t){return o.indexOf(t)!=-1};goog.string.internal.caseInsensitiveContains=function(o,t){return goog.string.internal.contains(o.toLowerCase(),t.toLowerCase())};goog.string.internal.compareVersions=function(o,t){var r=0;o=goog.string.internal.trim(String(o)).split("."),t=goog.string.internal.trim(String(t)).split(".");for(var i=Math.max(o.length,t.length),n=0;r==0&&n<i;n++){var s=o[n]||"",l=t[n]||"";do{if(s=/(\d*)(\D*)(.*)/.exec(s)||["","","",""],l=/(\d*)(\D*)(.*)/.exec(l)||["","","",""],s[0].length==0&&l[0].length==0)break;r=s[1].length==0?0:parseInt(s[1],10);var g=l[1].length==0?0:parseInt(l[1],10);r=goog.string.internal.compareElements_(r,g)||goog.string.internal.compareElements_(s[2].length==0,l[2].length==0)||goog.string.internal.compareElements_(s[2],l[2]),s=s[3],l=l[3]}while(r==0)}return r};goog.string.internal.compareElements_=function(o,t){return o<t?-1:o>t?1:0};goog.string.TypedString=function(){};goog.string.Const=function(o,t){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&t||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_};goog.string.Const.prototype.implementsGoogStringTypedString=!0;goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_};goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"};goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")};goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)};goog.string.Const.TYPE_MARKER_={};goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={};goog.string.Const.EMPTY=goog.string.Const.from("");goog.fs={};goog.fs.url={};goog.fs.url.createObjectUrl=function(o){return goog.fs.url.getUrlObject_().createObjectURL(o)};goog.fs.url.revokeObjectUrl=function(o){goog.fs.url.getUrlObject_().revokeObjectURL(o)};goog.fs.url.getUrlObject_=function(){var o=goog.fs.url.findUrlObject_();if(o!=null)return o;throw Error("This browser doesn't seem to support blob URLs")};goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null};goog.fs.url.browserSupportsObjectUrls=function(){return goog.fs.url.findUrlObject_()!=null};goog.html={};goog.html.trustedtypes={};goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null;goog.i18n={};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=!1;goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(goog.LOCALE.substring(0,2).toLowerCase()=="ar"||goog.LOCALE.substring(0,2).toLowerCase()=="fa"||goog.LOCALE.substring(0,2).toLowerCase()=="he"||goog.LOCALE.substring(0,2).toLowerCase()=="iw"||goog.LOCALE.substring(0,2).toLowerCase()=="ps"||goog.LOCALE.substring(0,2).toLowerCase()=="sd"||goog.LOCALE.substring(0,2).toLowerCase()=="ug"||goog.LOCALE.substring(0,2).toLowerCase()=="ur"||goog.LOCALE.substring(0,2).toLowerCase()=="yi")&&(goog.LOCALE.length==2||goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")||3<=goog.LOCALE.length&&goog.LOCALE.substring(0,3).toLowerCase()=="ckb"&&(goog.LOCALE.length==3||goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")||7<=goog.LOCALE.length&&(goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")&&(goog.LOCALE.substring(3,7).toLowerCase()=="adlm"||goog.LOCALE.substring(3,7).toLowerCase()=="arab"||goog.LOCALE.substring(3,7).toLowerCase()=="hebr"||goog.LOCALE.substring(3,7).toLowerCase()=="nkoo"||goog.LOCALE.substring(3,7).toLowerCase()=="rohg"||goog.LOCALE.substring(3,7).toLowerCase()=="thaa")||8<=goog.LOCALE.length&&(goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")&&(goog.LOCALE.substring(4,8).toLowerCase()=="adlm"||goog.LOCALE.substring(4,8).toLowerCase()=="arab"||goog.LOCALE.substring(4,8).toLowerCase()=="hebr"||goog.LOCALE.substring(4,8).toLowerCase()=="nkoo"||goog.LOCALE.substring(4,8).toLowerCase()=="rohg"||goog.LOCALE.substring(4,8).toLowerCase()=="thaa");goog.i18n.bidi.Format={LRE:"\u202A",RLE:"\u202B",PDF:"\u202C",LRM:"\u200E",RLM:"\u200F"};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT="right";goog.i18n.bidi.LEFT="left";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(o,t){return typeof o=="number"?0<o?goog.i18n.bidi.Dir.LTR:0>o?goog.i18n.bidi.Dir.RTL:t?null:goog.i18n.bidi.Dir.NEUTRAL:o==null?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0900-\u1FFF\u200E\u2C00-\uD801\uD804-\uD839\uD83C-\uDBFF\uF900-\uFB1C\uFE00-\uFE6F\uFEFD-\uFFFF";goog.i18n.bidi.rtlChars_="\u0591-\u06EF\u06FA-\u08FF\u200F\uD802-\uD803\uD83A-\uD83B\uFB1D-\uFDFF\uFE70-\uFEFC";goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;goog.i18n.bidi.stripHtmlIfNeeded_=function(o,t){return t?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o};goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.hasAnyRtl=function(o,t){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,t))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;goog.i18n.bidi.hasAnyLtr=function(o,t){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,t))};goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)};goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)};goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)};goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.startsWithRtl=function(o,t){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,t))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;goog.i18n.bidi.startsWithLtr=function(o,t){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,t))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(o,t){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,t),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)};goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$");goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$");goog.i18n.bidi.endsWithLtr=function(o,t){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,t))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;goog.i18n.bidi.endsWithRtl=function(o,t){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,t))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)};goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;goog.i18n.bidi.guardBracketInText=function(o,t){return t=(t===void 0?goog.i18n.bidi.hasAnyRtl(o):t)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,t+"$&"+t)};goog.i18n.bidi.enforceRtlInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=rtl"):`
12
12
  <span dir=rtl>`+o+"</span>"};goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.enforceLtrInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=ltr"):`
13
13
  <span dir=ltr>`+o+"</span>"};goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1\u05F4").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1\u05F3")};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=.4;goog.i18n.bidi.estimateDirection=function(o,t){var r=0,i=0,n=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,t).split(goog.i18n.bidi.wordSeparatorRe_),t=0;t<o.length;t++){var s=o[t];goog.i18n.bidi.startsWithRtl(s)?(r++,i++):goog.i18n.bidi.isRequiredLtrRe_.test(s)?n=!0:goog.i18n.bidi.hasAnyLtr(s)?i++:goog.i18n.bidi.hasNumeralsRe_.test(s)&&(n=!0)}return i==0?n?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:r/i>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.detectRtlDirectionality=function(o,t){return goog.i18n.bidi.estimateDirection(o,t)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(o,t){o&&(t=goog.i18n.bidi.toDir(t))&&(o.style.textAlign=t==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=t==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")};goog.i18n.bidi.setElementDirByTextDirectionality=function(o,t){switch(goog.i18n.bidi.estimateDirection(t)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}};goog.i18n.bidi.DirectionalString=function(){};goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0;goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()};goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,t){var r=goog.html.TrustedResourceUrl.unwrap(this);r=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(r);var i=r[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(r[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",r[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",i,t))};goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"});goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()};goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")};goog.html.TrustedResourceUrl.unwrapTrustedURL=function(o){return o.trustedURL_?o.trustedURL_:goog.html.TrustedResourceUrl.unwrap(o)};goog.html.TrustedResourceUrl.format=function(o,t){var r=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(r))throw Error("Invalid TrustedResourceUrl format: "+r);return o=r.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(i,n){if(!Object.prototype.hasOwnProperty.call(t,n))throw Error('Found marker, "'+n+'", in format string, "'+r+'", but no valid label mapping found in args: '+JSON.stringify(t));return i=t[n],i instanceof goog.string.Const?goog.string.Const.unwrap(i):encodeURIComponent(String(i))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g;goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i;goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/;goog.html.TrustedResourceUrl.formatWithParams=function(o,t,r,i){return goog.html.TrustedResourceUrl.format(o,t).cloneWithParams(r,i)};goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))};goog.html.TrustedResourceUrl.fromConstants=function(o){for(var t="",r=0;r<o.length;r++)t+=goog.string.Const.unwrap(o[r]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)};goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(o){var t=new goog.html.TrustedResourceUrl;return t.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScriptURL(o):o,goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY&&(t.trustedURL_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(o)),t};goog.html.TrustedResourceUrl.stringifyParams_=function(o,t,r){if(r==null)return t;if(goog.isString(r))return r?o+encodeURIComponent(r):"";for(var i in r){var n=r[i];n=goog.isArray(n)?n:[n];for(var s=0;s<n.length;s++){var l=n[s];l!=null&&(t||(t=o),t+=(t.length>o.length?"&":"")+encodeURIComponent(i)+"="+encodeURIComponent(String(l)))}}return t};goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez";goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0;goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()};goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"});goog.html.SafeUrl.unwrap=function(o){return goog.html.SafeUrl.unwrapTrustedURL(o).toString()};goog.html.SafeUrl.unwrapTrustedURL=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")};goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))};goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i;goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)};goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SAFE_MIME_TYPE_PATTERN_.test(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i;goog.html.SafeUrl.fromDataUrl=function(o){o=o.replace(/(%0A|%0D)/g,"");var t=o.match(goog.html.DATA_URL_PATTERN_);return t=t&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(t[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t?o:goog.html.SafeUrl.INNOCUOUS_STRING)};goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i;goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var t=o.indexOf("#");if(0<t&&(o=o.substring(0,t)),t=o.match(/[?&]body=/gi),!t)return!0;if(1<t.length)return!1;if(o=o.match(/[?&]body=([^&]*)/)[1],!o)return!0;try{decodeURIComponent(o)}catch{return!1}return/^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(o)};goog.html.SafeUrl.fromSshUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"ssh://")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeUrl.sanitizeChromeExtensionUrl=function(o,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\/\/([^\/]+)\//,o,t)};goog.html.SafeUrl.sanitizeFirefoxExtensionUrl=function(o,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\/\/([^\/]+)\//,o,t)};goog.html.SafeUrl.sanitizeEdgeExtensionUrl=function(o,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\/\/([^\/]+)\//,o,t)};goog.html.SafeUrl.sanitizeExtensionUrl_=function(o,t,r){return(o=o.exec(t))?(o=o[1],(r instanceof goog.string.Const?[goog.string.Const.unwrap(r)]:r.map(function(i){return goog.string.Const.unwrap(i)})).indexOf(o)==-1&&(t=goog.html.SafeUrl.INNOCUOUS_STRING)):t=goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)};goog.html.SafeUrl.fromTrustedResourceUrl=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(o))};goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;goog.html.SafeUrl.SAFE_URL_PATTERN=goog.html.SAFE_URL_PATTERN_;goog.html.SafeUrl.sanitize=function(o){return o instanceof goog.html.SafeUrl?o:(o=typeof o=="object"&&o.implementsGoogStringTypedString?o.getTypedStringValue():String(o),goog.html.SAFE_URL_PATTERN_.test(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o))};goog.html.SafeUrl.sanitizeAssertUnchanged=function(o,t){return o instanceof goog.html.SafeUrl?o:(o=typeof o=="object"&&o.implementsGoogStringTypedString?o.getTypedStringValue():String(o),t&&/^data:/i.test(o)&&(t=goog.html.SafeUrl.fromDataUrl(o),t.getTypedStringValue()==o)?t:(goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(o),"%s does not match the safe URL pattern",o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)))};goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(o){var t=new goog.html.SafeUrl;return t.privateDoNotAccessOrElseSafeUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(o):o,t};goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank");goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="",this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeStyle.fromConstant=function(o){return o=goog.string.Const.unwrap(o),o.length===0?goog.html.SafeStyle.EMPTY:(goog.asserts.assert(goog.string.internal.endsWith(o,";"),"Last character of style string is not ';': "+o),goog.asserts.assert(goog.string.internal.contains(o,":"),`Style string must contain at least one ':', to specify a "name: value" pair: `+o),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(o))};goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"});goog.html.SafeStyle.unwrap=function(o){return o instanceof goog.html.SafeStyle&&o.constructor===goog.html.SafeStyle&&o.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeStyleWrappedValue_:(goog.asserts.fail("expected object of type SafeStyle, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeStyle")};goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(o){return new goog.html.SafeStyle().initSecurityPrivateDoNotAccessOrElse_(o)};goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_=o,this};goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse("");goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez";goog.html.SafeStyle.create=function(o){var t="",r;for(r in o){if(!/^[-_a-zA-Z0-9]+$/.test(r))throw Error("Name allows only [-_a-zA-Z0-9], got: "+r);var i=o[r];i!=null&&(i=goog.isArray(i)?goog.array.map(i,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(i),t+=r+":"+i+";")}return t?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t):goog.html.SafeStyle.EMPTY};goog.html.SafeStyle.sanitizePropertyValue_=function(o){if(o instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(o).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';if(o=o instanceof goog.string.Const?goog.string.Const.unwrap(o):goog.html.SafeStyle.sanitizePropertyValueString_(String(o)),/[{;}]/.test(o))throw new goog.asserts.AssertionError("Value does not allow [{;}], got: %s.",[o]);return o};goog.html.SafeStyle.sanitizePropertyValueString_=function(o){var t=o.replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.URL_RE_,"url");if(goog.html.SafeStyle.VALUE_RE_.test(t)){if(goog.html.SafeStyle.COMMENT_RE_.test(o))return goog.asserts.fail("String value disallows comments, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING;if(!goog.html.SafeStyle.hasBalancedQuotes_(o))return goog.asserts.fail("String value requires balanced quotes, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING;if(!goog.html.SafeStyle.hasBalancedSquareBrackets_(o))return goog.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING}else return goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+o),goog.html.SafeStyle.INNOCUOUS_STRING;return goog.html.SafeStyle.sanitizeUrl_(o)};goog.html.SafeStyle.hasBalancedQuotes_=function(o){for(var t=!0,r=!0,i=0;i<o.length;i++){var n=o.charAt(i);n=="'"&&r?t=!t:n=='"'&&t&&(r=!r)}return t&&r};goog.html.SafeStyle.hasBalancedSquareBrackets_=function(o){for(var t=!0,r=/^[-_a-zA-Z0-9]$/,i=0;i<o.length;i++){var n=o.charAt(i);if(n=="]"){if(t)return!1;t=!0}else if(n=="["){if(!t)return!1;t=!1}else if(!t&&!r.test(n))return!1}return t};goog.html.SafeStyle.VALUE_ALLOWED_CHARS_=`[-,."'%_!# a-zA-Z0-9\\[\\]]`;goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$");goog.html.SafeStyle.URL_RE_=/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g;goog.html.SafeStyle.FUNCTIONS_RE_=/\b(hsl|hsla|rgb|rgba|matrix|calc|minmax|fit-content|repeat|(rotate|scale|translate)(X|Y|Z|3d)?)\([-+*/0-9a-z.%\[\], ]+\)/g;goog.html.SafeStyle.COMMENT_RE_=/\/\*/;goog.html.SafeStyle.sanitizeUrl_=function(o){return o.replace(goog.html.SafeStyle.URL_RE_,function(t,r,i,n){var s="";return i=i.replace(/^(['"])(.*)\1$/,function(l,g,p){return s=g,p}),t=goog.html.SafeUrl.sanitize(i).getTypedStringValue(),r+s+t+s+n})};goog.html.SafeStyle.concat=function(o){var t="",r=function(i){goog.isArray(i)?goog.array.forEach(i,r):t+=goog.html.SafeStyle.unwrap(i)};return goog.array.forEach(arguments,r),t?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t):goog.html.SafeStyle.EMPTY};goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0;goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeScript.fromConstant=function(o){return o=goog.string.Const.unwrap(o),o.length===0?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeScript.fromConstantAndArgs=function(o,t){for(var r=[],i=1;i<arguments.length;i++)r.push(goog.html.SafeScript.stringify_(arguments[i]));return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("("+goog.string.Const.unwrap(o)+")("+r.join(", ")+");")};goog.html.SafeScript.fromJson=function(o){return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(goog.html.SafeScript.stringify_(o))};goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()};goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"});goog.html.SafeScript.unwrap=function(o){return goog.html.SafeScript.unwrapTrustedScript(o).toString()};goog.html.SafeScript.unwrapTrustedScript=function(o){return o instanceof goog.html.SafeScript&&o.constructor===goog.html.SafeScript&&o.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeScriptWrappedValue_:(goog.asserts.fail("expected object of type SafeScript, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeScript")};goog.html.SafeScript.stringify_=function(o){return JSON.stringify(o).replace(/</g,"\\x3c")};goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(o){return new goog.html.SafeScript().initSecurityPrivateDoNotAccessOrElse_(o)};goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScript(o):o,this};goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("");goog.object={};goog.object.is=function(o,t){return o===t?o!==0||1/o===1/t:o!==o&&t!==t};goog.object.forEach=function(o,t,r){for(var i in o)t.call(r,o[i],i,o)};goog.object.filter=function(o,t,r){var i={},n;for(n in o)t.call(r,o[n],n,o)&&(i[n]=o[n]);return i};goog.object.map=function(o,t,r){var i={},n;for(n in o)i[n]=t.call(r,o[n],n,o);return i};goog.object.some=function(o,t,r){for(var i in o)if(t.call(r,o[i],i,o))return!0;return!1};goog.object.every=function(o,t,r){for(var i in o)if(!t.call(r,o[i],i,o))return!1;return!0};goog.object.getCount=function(o){var t=0,r;for(r in o)t++;return t};goog.object.getAnyKey=function(o){for(var t in o)return t};goog.object.getAnyValue=function(o){for(var t in o)return o[t]};goog.object.contains=function(o,t){return goog.object.containsValue(o,t)};goog.object.getValues=function(o){var t=[],r=0,i;for(i in o)t[r++]=o[i];return t};goog.object.getKeys=function(o){var t=[],r=0,i;for(i in o)t[r++]=i;return t};goog.object.getValueByKeys=function(o,t){var r=goog.isArrayLike(t),i=r?t:arguments;for(r=r?0:1;r<i.length;r++){if(o==null)return;o=o[i[r]]}return o};goog.object.containsKey=function(o,t){return o!==null&&t in o};goog.object.containsValue=function(o,t){for(var r in o)if(o[r]==t)return!0;return!1};goog.object.findKey=function(o,t,r){for(var i in o)if(t.call(r,o[i],i,o))return i};goog.object.findValue=function(o,t,r){return(t=goog.object.findKey(o,t,r))&&o[t]};goog.object.isEmpty=function(o){for(var t in o)return!1;return!0};goog.object.clear=function(o){for(var t in o)delete o[t]};goog.object.remove=function(o,t){var r;return(r=t in o)&&delete o[t],r};goog.object.add=function(o,t,r){if(o!==null&&t in o)throw Error('The object already contains the key "'+t+'"');goog.object.set(o,t,r)};goog.object.get=function(o,t,r){return o!==null&&t in o?o[t]:r};goog.object.set=function(o,t,r){o[t]=r};goog.object.setIfUndefined=function(o,t,r){return t in o?o[t]:o[t]=r};goog.object.setWithReturnValueIfNotSet=function(o,t,r){return t in o?o[t]:(r=r(),o[t]=r)};goog.object.equals=function(o,t){for(var r in o)if(!(r in t)||o[r]!==t[r])return!1;for(var i in t)if(!(i in o))return!1;return!0};goog.object.clone=function(o){var t={},r;for(r in o)t[r]=o[r];return t};goog.object.unsafeClone=function(o){var t=goog.typeOf(o);if(t=="object"||t=="array"){if(goog.isFunction(o.clone))return o.clone();t=t=="array"?[]:{};for(var r in o)t[r]=goog.object.unsafeClone(o[r]);return t}return o};goog.object.transpose=function(o){var t={},r;for(r in o)t[o[r]]=r;return t};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");goog.object.extend=function(o,t){for(var r,i,n=1;n<arguments.length;n++){i=arguments[n];for(r in i)o[r]=i[r];for(var s=0;s<goog.object.PROTOTYPE_FIELDS_.length;s++)r=goog.object.PROTOTYPE_FIELDS_[s],Object.prototype.hasOwnProperty.call(i,r)&&(o[r]=i[r])}};goog.object.create=function(o){var t=arguments.length;if(t==1&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(t%2)throw Error("Uneven number of arguments");for(var r={},i=0;i<t;i+=2)r[arguments[i]]=arguments[i+1];return r};goog.object.createSet=function(o){var t=arguments.length;if(t==1&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var r={},i=0;i<t;i++)r[arguments[i]]=!0;return r};goog.object.createImmutableView=function(o){var t=o;return Object.isFrozen&&!Object.isFrozen(o)&&(t=Object.create(o),Object.freeze(t)),t};goog.object.isImmutableView=function(o){return!!Object.isFrozen&&Object.isFrozen(o)};goog.object.getAllPropertyNames=function(o,t,r){if(!o)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(o);for(var i={};o&&(o!==Object.prototype||t)&&(o!==Function.prototype||r);){for(var n=Object.getOwnPropertyNames(o),s=0;s<n.length;s++)i[n[s]]=!0;o=Object.getPrototypeOf(o)}return goog.object.getKeys(i)};goog.object.getSuperClass=function(o){return(o=Object.getPrototypeOf(o.prototype))&&o.constructor};goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="",this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeStyleSheet.createRule=function(o,t){if(goog.string.internal.contains(o,"<"))throw Error("Selector does not allow '<', got: "+o);var r=o.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(r))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(r))throw Error("() and [] in selector must be balanced, got: "+o);return t instanceof goog.html.SafeStyle||(t=goog.html.SafeStyle.create(t)),o=o+"{"+goog.html.SafeStyle.unwrap(t).replace(/</g,"\\3C ")+"}",goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(o)};goog.html.SafeStyleSheet.hasBalancedBrackets_=function(o){for(var t={"(":")","[":"]"},r=[],i=0;i<o.length;i++){var n=o[i];if(t[n])r.push(t[n]);else if(goog.object.contains(t,n)&&r.pop()!=n)return!1}return r.length==0};goog.html.SafeStyleSheet.concat=function(o){var t="",r=function(i){goog.isArray(i)?goog.array.forEach(i,r):t+=goog.html.SafeStyleSheet.unwrap(i)};return goog.array.forEach(arguments,r),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)};goog.html.SafeStyleSheet.fromConstant=function(o){return o=goog.string.Const.unwrap(o),o.length===0?goog.html.SafeStyleSheet.EMPTY:(goog.asserts.assert(!goog.string.internal.contains(o,"<"),"Forbidden '<' character in style sheet string: "+o),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(o))};goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_};goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"});goog.html.SafeStyleSheet.unwrap=function(o){return o instanceof goog.html.SafeStyleSheet&&o.constructor===goog.html.SafeStyleSheet&&o.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_:(goog.asserts.fail("expected object of type SafeStyleSheet, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeStyleSheet")};goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(o){return new goog.html.SafeStyleSheet().initSecurityPrivateDoNotAccessOrElse_(o)};goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=o,this};goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse("");goog.dom.tags={};goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};goog.dom.tags.isVoidTag=function(o){return goog.dom.tags.VOID_TAGS_[o]===!0};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(o){this.tagName_=o};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE");goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY");goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP");goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV");goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM");goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER");goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD");goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM");goog.dom.TagName.META=new goog.dom.TagName("META");goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT");goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");goog.dom.TagName.RTC=new goog.dom.TagName("RTC");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP");goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE");goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT");goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR");goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var o=goog.labs.userAgent.util.getNavigator_();return o&&(o=o.userAgent)?o:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(o){goog.labs.userAgent.util.userAgent_=o||goog.labs.userAgent.util.getNativeUserAgentString_()};goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(o){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.contains(t,o)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(o){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.caseInsensitiveContains(t,o)};goog.labs.userAgent.util.extractVersionTuples=function(o){for(var t=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,r=[],i;i=t.exec(o);)r.push([i[1],i[2],i[3]||void 0]);return r};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdgeHtml_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchEdgeChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("Edg/")};goog.labs.userAgent.browser.matchOperaChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("OPR")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")||goog.labs.userAgent.util.matchUserAgent("FxiOS")};goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdgeHtml_()||goog.labs.userAgent.browser.matchEdgeChromium_()||goog.labs.userAgent.browser.matchOperaChromium_()||goog.labs.userAgent.browser.matchFirefox_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&!goog.labs.userAgent.browser.matchFirefox_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdgeHtml_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdgeHtml_;goog.labs.userAgent.browser.isEdgeChromium=goog.labs.userAgent.browser.matchEdgeChromium_;goog.labs.userAgent.browser.isOperaChromium=goog.labs.userAgent.browser.matchOperaChromium_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};goog.labs.userAgent.browser.getVersion=function(){function o(n){return n=goog.array.find(n,i),r[n]||""}var t=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(t);t=goog.labs.userAgent.util.extractVersionTuples(t);var r={};goog.array.forEach(t,function(n){r[n[0]]=n[1]});var i=goog.partial(goog.object.containsKey,r);return goog.labs.userAgent.browser.isOpera()?o(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?o(["Edge"]):goog.labs.userAgent.browser.isEdgeChromium()?o(["Edg"]):goog.labs.userAgent.browser.isChrome()?o(["Chrome","CriOS"]):(t=t[2])&&t[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(o){return 0<=goog.string.internal.compareVersions(goog.labs.userAgent.browser.getVersion(),o)};goog.labs.userAgent.browser.getIEVersion_=function(o){var t=/rv: *([\d\.]*)/.exec(o);if(t&&t[1])return t[1];t="";var r=/MSIE +([\d\.]+)/.exec(o);if(r&&r[1])if(o=/Trident\/(\d.\d)/.exec(o),r[1]=="7.0")if(o&&o[1])switch(o[1]){case"4.0":t="8.0";break;case"5.0":t="9.0";break;case"6.0":t="10.0";break;case"7.0":t="11.0"}else t="7.0";else t=r[1];return t};goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="",this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_,this.dir_=null};goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_};goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0;goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()};goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});goog.html.SafeHtml.unwrap=function(o){return goog.html.SafeHtml.unwrapTrustedHTML(o).toString()};goog.html.SafeHtml.unwrapTrustedHTML=function(o){return o instanceof goog.html.SafeHtml&&o.constructor===goog.html.SafeHtml&&o.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeHtml, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeHtml")};goog.html.SafeHtml.htmlEscape=function(o){if(o instanceof goog.html.SafeHtml)return o;var t=typeof o=="object",r=null;return t&&o.implementsGoogI18nBidiDirectionalString&&(r=o.getDirection()),o=t&&o.implementsGoogStringTypedString?o.getTypedStringValue():String(o),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.htmlEscape(o),r)};goog.html.SafeHtml.htmlEscapePreservingNewlines=function(o){return o instanceof goog.html.SafeHtml?o:(o=goog.html.SafeHtml.htmlEscape(o),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.newLineToBr(goog.html.SafeHtml.unwrap(o)),o.getDirection()))};goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(o){return o instanceof goog.html.SafeHtml?o:(o=goog.html.SafeHtml.htmlEscape(o),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.whitespaceEscape(goog.html.SafeHtml.unwrap(o)),o.getDirection()))};goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape;goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/;goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0};goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};goog.html.SafeHtml.create=function(o,t,r){return goog.html.SafeHtml.verifyTagName(String(o)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(o),t,r)};goog.html.SafeHtml.verifyTagName=function(o){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(o))throw Error("Invalid tag name <"+o+">.");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+o+"> is not allowed for SafeHtml.")};goog.html.SafeHtml.createIframe=function(o,t,r,i){o&&goog.html.TrustedResourceUrl.unwrap(o);var n={};return n.src=o||null,n.srcdoc=t&&goog.html.SafeHtml.unwrap(t),o=goog.html.SafeHtml.combineAttributes(n,{sandbox:""},r),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,i)};goog.html.SafeHtml.createSandboxIframe=function(o,t,r,i){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var n={};return n.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,n.srcdoc=t||null,n.sandbox="",o=goog.html.SafeHtml.combineAttributes(n,{},r),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,i)};goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype};goog.html.SafeHtml.createScriptSrc=function(o,t){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},t),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)};goog.html.SafeHtml.createScript=function(o,t){for(var r in t){var i=r.toLowerCase();if(i=="language"||i=="src"||i=="text"||i=="type")throw Error('Cannot set "'+i+'" attribute')}for(r="",o=goog.array.concat(o),i=0;i<o.length;i++)r+=goog.html.SafeScript.unwrap(o[i]);return o=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",t,o)};goog.html.SafeHtml.createStyle=function(o,t){t=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},t);var r="";o=goog.array.concat(o);for(var i=0;i<o.length;i++)r+=goog.html.SafeStyleSheet.unwrap(o[i]);return o=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",t,o)};goog.html.SafeHtml.createMetaRefresh=function(o,t){return o=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)),(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.internal.contains(o,";")&&(o="'"+o.replace(/'/g,"%27")+"'"),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(t||0)+"; url="+o})};goog.html.SafeHtml.getAttrNameAndValue_=function(o,t,r){if(r instanceof goog.string.Const)r=goog.string.Const.unwrap(r);else if(t.toLowerCase()=="style")r=goog.html.SafeHtml.getStyleValue_(r);else{if(/^on/i.test(t))throw Error('Attribute "'+t+'" requires goog.string.Const value, "'+r+'" given.');if(t.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(r instanceof goog.html.TrustedResourceUrl)r=goog.html.TrustedResourceUrl.unwrap(r);else if(r instanceof goog.html.SafeUrl)r=goog.html.SafeUrl.unwrap(r);else if(goog.isString(r))r=goog.html.SafeUrl.sanitize(r).getTypedStringValue();else throw Error('Attribute "'+t+'" on tag "'+o+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+r+'" given.')}return r.implementsGoogStringTypedString&&(r=r.getTypedStringValue()),goog.asserts.assert(goog.isString(r)||goog.isNumber(r),"String or number value expected, got "+typeof r+" with value: "+r),t+'="'+goog.string.internal.htmlEscape(String(r))+'"'};goog.html.SafeHtml.getStyleValue_=function(o){if(!goog.isObject(o))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof o+" given: "+o);return o instanceof goog.html.SafeStyle||(o=goog.html.SafeStyle.create(o)),goog.html.SafeStyle.unwrap(o)};goog.html.SafeHtml.createWithDir=function(o,t,r,i){return t=goog.html.SafeHtml.create(t,r,i),t.dir_=o,t};goog.html.SafeHtml.join=function(o,t){o=goog.html.SafeHtml.htmlEscape(o);var r=o.getDirection(),i=[],n=function(s){goog.isArray(s)?goog.array.forEach(s,n):(s=goog.html.SafeHtml.htmlEscape(s),i.push(goog.html.SafeHtml.unwrap(s)),s=s.getDirection(),r==goog.i18n.bidi.Dir.NEUTRAL?r=s:s!=goog.i18n.bidi.Dir.NEUTRAL&&r!=s&&(r=null))};return goog.array.forEach(t,n),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(i.join(goog.html.SafeHtml.unwrap(o)),r)};goog.html.SafeHtml.concat=function(o){return goog.html.SafeHtml.join(goog.html.SafeHtml.EMPTY,Array.prototype.slice.call(arguments))};goog.html.SafeHtml.concatWithDir=function(o,t){var r=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));return r.dir_=o,r};goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(o,t){return new goog.html.SafeHtml().initSecurityPrivateDoNotAccessOrElse_(o,t)};goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(o,t){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createHTML(o):o,this.dir_=t,this};goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(o,t,r){var i=null,n="<"+o+goog.html.SafeHtml.stringifyAttributes(o,t);return goog.isDefAndNotNull(r)?goog.isArray(r)||(r=[r]):r=[],goog.dom.tags.isVoidTag(o.toLowerCase())?(goog.asserts.assert(!r.length,"Void tag <"+o+"> does not allow content."),n+=">"):(i=goog.html.SafeHtml.concat(r),n+=">"+goog.html.SafeHtml.unwrap(i)+"</"+o+">",i=i.getDirection()),(o=t&&t.dir)&&(i=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(n,i)};goog.html.SafeHtml.stringifyAttributes=function(o,t){var r="";if(t)for(var i in t){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(i))throw Error('Invalid attribute name "'+i+'".');var n=t[i];goog.isDefAndNotNull(n)&&(r+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,i,n))}return r};goog.html.SafeHtml.combineAttributes=function(o,t,r){var i={},n;for(n in o)goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=o[n];for(n in t)goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=t[n];for(n in r){var s=n.toLowerCase();if(s in o)throw Error('Cannot override "'+s+'" attribute, got "'+n+'" with value "'+r[n]+'"');s in t&&delete i[s],i[n]=r[n]}return i};goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",goog.i18n.bidi.Dir.NEUTRAL);goog.html.uncheckedconversions={};goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,t,r){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(t,r||null)};goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,t){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(t)};goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,t){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t)};goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,t){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)};goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,t){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)};goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,t){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)};goog.dom.asserts={};goog.dom.asserts.assertIsLocation=function(o){if(goog.asserts.ENABLE_ASSERTS){var t=goog.dom.asserts.getWindow_(o);t&&(!o||!(o instanceof t.Location)&&o instanceof t.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(o))}return o};goog.dom.asserts.assertIsElementType_=function(o,t){if(goog.asserts.ENABLE_ASSERTS){var r=goog.dom.asserts.getWindow_(o);r&&typeof r[t]<"u"&&(o&&(o instanceof r[t]||!(o instanceof r.Location||o instanceof r.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",t,goog.dom.asserts.debugStringForType_(o)))}return o};goog.dom.asserts.assertIsHTMLAnchorElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAnchorElement")};goog.dom.asserts.assertIsHTMLButtonElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLButtonElement")};goog.dom.asserts.assertIsHTMLLinkElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLLinkElement")};goog.dom.asserts.assertIsHTMLImageElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLImageElement")};goog.dom.asserts.assertIsHTMLAudioElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAudioElement")};goog.dom.asserts.assertIsHTMLVideoElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLVideoElement")};goog.dom.asserts.assertIsHTMLInputElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLInputElement")};goog.dom.asserts.assertIsHTMLTextAreaElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLTextAreaElement")};goog.dom.asserts.assertIsHTMLCanvasElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLCanvasElement")};goog.dom.asserts.assertIsHTMLEmbedElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLEmbedElement")};goog.dom.asserts.assertIsHTMLFormElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFormElement")};goog.dom.asserts.assertIsHTMLFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFrameElement")};goog.dom.asserts.assertIsHTMLIFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLIFrameElement")};goog.dom.asserts.assertIsHTMLObjectElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLObjectElement")};goog.dom.asserts.assertIsHTMLScriptElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLScriptElement")};goog.dom.asserts.debugStringForType_=function(o){if(goog.isObject(o))try{return o.constructor.displayName||o.constructor.name||Object.prototype.toString.call(o)}catch{return"<object could not be stringified>"}else return o===void 0?"undefined":o===null?"null":typeof o};goog.dom.asserts.getWindow_=function(o){try{var t=o&&o.ownerDocument,r=t&&(t.defaultView||t.parentWindow);if(r=r||goog.global,r.Element&&r.Location)return r}catch{}return null};goog.functions={};goog.functions.constant=function(o){return function(){return o}};goog.functions.FALSE=function(){return!1};goog.functions.TRUE=function(){return!0};goog.functions.NULL=function(){return null};goog.functions.identity=function(o,t){return o};goog.functions.error=function(o){return function(){throw Error(o)}};goog.functions.fail=function(o){return function(){throw o}};goog.functions.lock=function(o,t){return t=t||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,t))}};goog.functions.nth=function(o){return function(){return arguments[o]}};goog.functions.partialRight=function(o,t){var r=Array.prototype.slice.call(arguments,1);return function(){var i=Array.prototype.slice.call(arguments);return i.push.apply(i,r),o.apply(this,i)}};goog.functions.withReturnValue=function(o,t){return goog.functions.sequence(o,goog.functions.constant(t))};goog.functions.equalTo=function(o,t){return function(r){return t?o==r:o===r}};goog.functions.compose=function(o,t){var r=arguments,i=r.length;return function(){var n;i&&(n=r[i-1].apply(this,arguments));for(var s=i-2;0<=s;s--)n=r[s].call(this,n);return n}};goog.functions.sequence=function(o){var t=arguments,r=t.length;return function(){for(var i,n=0;n<r;n++)i=t[n].apply(this,arguments);return i}};goog.functions.and=function(o){var t=arguments,r=t.length;return function(){for(var i=0;i<r;i++)if(!t[i].apply(this,arguments))return!1;return!0}};goog.functions.or=function(o){var t=arguments,r=t.length;return function(){for(var i=0;i<r;i++)if(t[i].apply(this,arguments))return!0;return!1}};goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}};goog.functions.create=function(o,t){var r=function(){};return r.prototype=o.prototype,r=new r,o.apply(r,Array.prototype.slice.call(arguments,1)),r};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(o){var t=!1,r;return function(){return goog.functions.CACHE_RETURN_VALUE?(t||(r=o(),t=!0),r):o()}};goog.functions.once=function(o){var t=o;return function(){if(t){var r=t;t=null,r()}}};goog.functions.debounce=function(o,t,r){var i=0;return function(n){goog.global.clearTimeout(i);var s=arguments;i=goog.global.setTimeout(function(){o.apply(r,s)},t)}};goog.functions.throttle=function(o,t,r){var i=0,n=!1,s=[],l=function(){i=0,n&&(n=!1,g())},g=function(){i=goog.global.setTimeout(l,t),o.apply(r,s)};return function(p){s=arguments,i?n=!0:g()}};goog.functions.rateLimit=function(o,t,r){var i=0,n=function(){i=0};return function(s){i||(i=goog.global.setTimeout(n,t),o.apply(r,arguments))}};goog.dom.safe={};goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"};goog.dom.safe.insertAdjacentHtml=function(o,t,r){o.insertAdjacentHTML(t,goog.html.SafeHtml.unwrapTrustedHTML(r))};goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&typeof document>"u")return!1;var o=document.createElement("div"),t=document.createElement("div");return t.appendChild(document.createElement("div")),o.appendChild(t),goog.DEBUG&&!o.firstChild?!1:(t=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!t.parentElement)});goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,t){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(t)};goog.dom.safe.setInnerHtml=function(o,t){if(goog.asserts.ENABLE_ASSERTS){var r=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[r])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,t)};goog.dom.safe.setOuterHtml=function(o,t){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(t)};goog.dom.safe.setFormElementAction=function(o,t){t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setButtonFormAction=function(o,t){t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setInputFormAction=function(o,t){t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setStyle=function(o,t){o.style.cssText=goog.html.SafeStyle.unwrap(t)};goog.dom.safe.documentWrite=function(o,t){o.write(goog.html.SafeHtml.unwrapTrustedHTML(t))};goog.dom.safe.setAnchorHref=function(o,t){goog.dom.asserts.assertIsHTMLAnchorElement(o),t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),o.href=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setImageSrc=function(o,t){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(t instanceof goog.html.SafeUrl)){var r=/^data:image\//i.test(t);t=goog.html.SafeUrl.sanitizeAssertUnchanged(t,r)}o.src=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setAudioSrc=function(o,t){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(t instanceof goog.html.SafeUrl)){var r=/^data:audio\//i.test(t);t=goog.html.SafeUrl.sanitizeAssertUnchanged(t,r)}o.src=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setVideoSrc=function(o,t){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(t instanceof goog.html.SafeUrl)){var r=/^data:video\//i.test(t);t=goog.html.SafeUrl.sanitizeAssertUnchanged(t,r)}o.src=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.setEmbedSrc=function(o,t){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t)};goog.dom.safe.setFrameSrc=function(o,t){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)};goog.dom.safe.setIframeSrc=function(o,t){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)};goog.dom.safe.setIframeSrcdoc=function(o,t){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(t)};goog.dom.safe.setLinkHrefAndRel=function(o,t,r){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=r,goog.string.internal.caseInsensitiveContains(r,"stylesheet")?(goog.asserts.assert(t instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)):o.href=t instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(t):t instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrapTrustedURL(t):goog.html.SafeUrl.unwrapTrustedURL(goog.html.SafeUrl.sanitizeAssertUnchanged(t))};goog.dom.safe.setObjectData=function(o,t){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t)};goog.dom.safe.setScriptSrc=function(o,t){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t),(t=goog.getScriptNonce())&&o.setAttribute("nonce",t)};goog.dom.safe.setScriptContent=function(o,t){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(t),(t=goog.getScriptNonce())&&o.setAttribute("nonce",t)};goog.dom.safe.setLocationHref=function(o,t){goog.dom.asserts.assertIsLocation(o),t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),o.href=goog.html.SafeUrl.unwrapTrustedURL(t)};goog.dom.safe.assignLocation=function(o,t){goog.dom.asserts.assertIsLocation(o),t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),o.assign(goog.html.SafeUrl.unwrapTrustedURL(t))};goog.dom.safe.replaceLocation=function(o,t){goog.dom.asserts.assertIsLocation(o),t=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t),o.replace(goog.html.SafeUrl.unwrapTrustedURL(t))};goog.dom.safe.openInWindow=function(o,t,r,i,n){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),(t||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(o),r?goog.string.Const.unwrap(r):"",i,n)};goog.dom.safe.parseFromStringHtml=function(o,t){return goog.dom.safe.parseFromString(o,t,"text/html")};goog.dom.safe.parseFromString=function(o,t,r){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(t),r)};goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var t=goog.global.URL.createObjectURL(o);return o=new goog.global.Image,o.onload=function(){goog.global.URL.revokeObjectURL(t)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),t)),o};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:"\xA0"};goog.string.startsWith=goog.string.internal.startsWith;goog.string.endsWith=goog.string.internal.endsWith;goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith;goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith;goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals;goog.string.subs=function(o,t){for(var r=o.split("%s"),i="",n=Array.prototype.slice.call(arguments,1);n.length&&1<r.length;)i+=r.shift()+n.shift();return i+r.join("%s")};goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace;goog.string.isEmptyString=function(o){return o.length==0};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)};goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)};goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)};goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)};goog.string.isSpace=function(o){return o==" "};goog.string.isUnicodeChar=function(o){return o.length==1&&" "<=o&&"~">=o||"\x80"<=o&&"\uFFFD">=o};goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,`
14
- `)};goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.string.internal.trim;goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare;goog.string.numberAwareCompare_=function(o,t,r){if(o==t)return 0;if(!o)return-1;if(!t)return 1;for(var i=o.toLowerCase().match(r),n=t.toLowerCase().match(r),s=Math.min(i.length,n.length),l=0;l<s;l++){r=i[l];var g=n[l];if(r!=g)return o=parseInt(r,10),!isNaN(o)&&(t=parseInt(g,10),!isNaN(t)&&o-t)?o-t:r<g?-1:1}return i.length!=n.length?i.length-n.length:o<t?-1:1};goog.string.intAwareCompare=function(o,t){return goog.string.numberAwareCompare_(o,t,/\d+|\D+/g)};goog.string.floatAwareCompare=function(o,t){return goog.string.numberAwareCompare_(o,t,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(o){return encodeURIComponent(String(o))};goog.string.urlDecode=function(o){return decodeURIComponent(o.replace(/\+/g," "))};goog.string.newLineToBr=goog.string.internal.newLineToBr;goog.string.htmlEscape=function(o,t){return o=goog.string.internal.htmlEscape(o,t),goog.string.DETECT_DOUBLE_ESCAPING&&(o=o.replace(goog.string.E_RE_,"&#101;")),o};goog.string.E_RE_=/e/g;goog.string.unescapeEntities=function(o){return goog.string.contains(o,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(o):goog.string.unescapePureXmlEntities_(o):o};goog.string.unescapeEntitiesWithDocument=function(o,t){return goog.string.contains(o,"&")?goog.string.unescapeEntitiesUsingDom_(o,t):o};goog.string.unescapeEntitiesUsingDom_=function(o,t){var r={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'},i=t?t.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function(n,s){var l=r[n];return l||(s.charAt(0)=="#"&&(s=Number("0"+s.substr(1)),isNaN(s)||(l=String.fromCharCode(s))),l||(goog.dom.safe.setInnerHtml(i,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),n+" ")),l=i.firstChild.nodeValue.slice(0,-1)),r[n]=l)})};goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(t,r){switch(r){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return r.charAt(0)!="#"||(r=Number("0"+r.substr(1)),isNaN(r))?t:String.fromCharCode(r)}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(o,t){return goog.string.newLineToBr(o.replace(/ /g," &#160;"),t)};goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(o,t){for(var r=t.length,i=0;i<r;i++){var n=r==1?t:t.charAt(i);if(o.charAt(0)==n&&o.charAt(o.length-1)==n)return o.substring(1,o.length-1)}return o};goog.string.truncate=function(o,t,r){return r&&(o=goog.string.unescapeEntities(o)),o.length>t&&(o=o.substring(0,t-3)+"..."),r&&(o=goog.string.htmlEscape(o)),o};goog.string.truncateMiddle=function(o,t,r,i){if(r&&(o=goog.string.unescapeEntities(o)),i&&o.length>t){i>t&&(i=t);var n=o.length-i;o=o.substring(0,t-i)+"..."+o.substring(n)}else o.length>t&&(i=Math.floor(t/2),n=o.length-i,o=o.substring(0,i+t%2)+"..."+o.substring(n));return r&&(o=goog.string.htmlEscape(o)),o};goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"};goog.string.jsEscapeCache_={"'":"\\'"};goog.string.quote=function(o){o=String(o);for(var t=['"'],r=0;r<o.length;r++){var i=o.charAt(r),n=i.charCodeAt(0);t[r+1]=goog.string.specialEscapeChars_[i]||(31<n&&127>n?i:goog.string.escapeChar(i))}return t.push('"'),t.join("")};goog.string.escapeString=function(o){for(var t=[],r=0;r<o.length;r++)t[r]=goog.string.escapeChar(o.charAt(r));return t.join("")};goog.string.escapeChar=function(o){if(o in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[o];if(o in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[o]=goog.string.specialEscapeChars_[o];var t=o.charCodeAt(0);if(31<t&&127>t)var r=o;else 256>t?(r="\\x",(16>t||256<t)&&(r+="0")):(r="\\u",4096>t&&(r+="0")),r+=t.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=r};goog.string.contains=goog.string.internal.contains;goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains;goog.string.countOf=function(o,t){return o&&t?o.split(t).length-1:0};goog.string.removeAt=function(o,t,r){var i=o;return 0<=t&&t<o.length&&0<r&&(i=o.substr(0,t)+o.substr(t+r,o.length-t-r)),i};goog.string.remove=function(o,t){return o.replace(t,"")};goog.string.removeAll=function(o,t){return t=new RegExp(goog.string.regExpEscape(t),"g"),o.replace(t,"")};goog.string.replaceAll=function(o,t,r){return t=new RegExp(goog.string.regExpEscape(t),"g"),o.replace(t,r.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(o){return String(o).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(o,t){return o.repeat(t)}:function(o,t){return Array(t+1).join(o)};goog.string.padNumber=function(o,t,r){return o=goog.isDef(r)?o.toFixed(r):String(o),r=o.indexOf("."),r==-1&&(r=o.length),goog.string.repeat("0",Math.max(0,t-r))+o};goog.string.makeSafe=function(o){return o==null?"":String(o)};goog.string.buildString=function(o){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};goog.string.compareVersions=goog.string.internal.compareVersions;goog.string.hashCode=function(o){for(var t=0,r=0;r<o.length;++r)t=31*t+o.charCodeAt(r)>>>0;return t};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};goog.string.toNumber=function(o){var t=Number(o);return t==0&&goog.string.isEmptyOrWhitespace(o)?NaN:t};goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)};goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)};goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(t,r){return r.toUpperCase()})};goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()};goog.string.toTitleCase=function(o,t){return t=goog.isString(t)?goog.string.regExpEscape(t):"\\s",o.replace(new RegExp("(^"+(t?"|["+t+"]+":"")+")([a-z])","g"),function(r,i,n){return i+n.toUpperCase()})};goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()};goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),goog.isString(o)?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN};goog.string.splitLimit=function(o,t,r){o=o.split(t);for(var i=[];0<r&&o.length;)i.push(o.shift()),r--;return o.length&&i.push(o.join(t)),i};goog.string.lastComponent=function(o,t){if(t)typeof t=="string"&&(t=[t]);else return o;for(var r=-1,i=0;i<t.length;i++)if(t[i]!=""){var n=o.lastIndexOf(t[i]);n>r&&(r=n)}return r==-1?o:o.slice(r+1)};goog.string.editDistance=function(o,t){var r=[],i=[];if(o==t)return 0;if(!o.length||!t.length)return Math.max(o.length,t.length);for(var n=0;n<t.length+1;n++)r[n]=n;for(n=0;n<o.length;n++){i[0]=n+1;for(var s=0;s<t.length;s++)i[s+1]=Math.min(i[s]+1,r[s+1]+1,r[s]+Number(o[n]!=t[s]));for(s=0;s<r.length;s++)r[s]=i[s]}return i[t.length]};goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};goog.labs.userAgent.platform.isChromecast=function(){return goog.labs.userAgent.util.matchUserAgent("CrKey")};goog.labs.userAgent.platform.isKaiOS=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")};goog.labs.userAgent.platform.isGo2Phone=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("GAFP")};goog.labs.userAgent.platform.getVersion=function(){var o=goog.labs.userAgent.util.getUserAgent(),t="";return goog.labs.userAgent.platform.isWindows()?(t=/Windows (?:NT|Phone) ([0-9.]+)/,t=(o=t.exec(o))?o[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(t=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,t=(o=t.exec(o))&&o[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(t=/Mac OS X ([0-9_.]+)/,t=(o=t.exec(o))?o[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isKaiOS()?(t=/(?:KaiOS)\/(\S+)/i,t=(o=t.exec(o))&&o[1]):goog.labs.userAgent.platform.isAndroid()?(t=/Android\s+([^\);]+)(\)|;)/,t=(o=t.exec(o))&&o[1]):goog.labs.userAgent.platform.isChromeOS()&&(t=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,t=(o=t.exec(o))&&o[1]),t||""};goog.labs.userAgent.platform.isVersionOrHigher=function(o){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),o)};goog.reflect={};goog.reflect.object=function(o,t){return t};goog.reflect.objectProperty=function(o,t){return o};goog.reflect.sinkValue=function(o){return goog.reflect.sinkValue[" "](o),o};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(o,t){try{return goog.reflect.sinkValue(o[t]),!0}catch{}return!1};goog.reflect.cache=function(o,t,r,i){return i=i?i(t):t,Object.prototype.hasOwnProperty.call(o,i)?o[i]:o[i]=r(t)};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.getVersion=function(){var o=goog.labs.userAgent.util.getUserAgent();if(o){o=goog.labs.userAgent.util.extractVersionTuples(o);var t=goog.labs.userAgent.engine.getEngineTuple_(o);if(t)return t[0]=="Gecko"?goog.labs.userAgent.engine.getVersionForKey_(o,"Firefox"):t[1];o=o[0];var r;if(o&&(r=o[2])&&(r=/Trident\/([^\s;]+)/.exec(r)))return r[1]}return""};goog.labs.userAgent.engine.getEngineTuple_=function(o){if(!goog.labs.userAgent.engine.isEdge())return o[1];for(var t=0;t<o.length;t++){var r=o[t];if(r[0]=="Edge")return r}};goog.labs.userAgent.engine.isVersionOrHigher=function(o){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),o)};goog.labs.userAgent.engine.getVersionForKey_=function(o,t){return(o=goog.array.find(o,function(r){return t==r[0]}))&&o[1]||""};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};goog.userAgent.getNavigatorTyped=function(){return goog.global.navigator||null};goog.userAgent.getNavigator=function(){return goog.userAgent.getNavigatorTyped()};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;goog.userAgent.determinePlatform_=function(){var o=goog.userAgent.getNavigatorTyped();return o&&o.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;goog.userAgent.ASSUME_KAIOS=!1;goog.userAgent.ASSUME_GO2PHONE=!1;goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var o=goog.userAgent.getNavigatorTyped();return!!o&&goog.string.contains(o.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.KAIOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_KAIOS:goog.labs.userAgent.platform.isKaiOS();goog.userAgent.GO2PHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_GO2PHONE:goog.labs.userAgent.platform.isGo2Phone();goog.userAgent.determineVersion_=function(){var o="",t=goog.userAgent.getVersionRegexResult_();return t&&(o=t?t[1]:""),goog.userAgent.IE&&(t=goog.userAgent.getDocumentMode_(),t!=null&&t>parseFloat(o))?String(t):o};goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(o);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(o);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(o)};goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(o,t){return goog.string.compareVersions(o,t)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}();goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.";goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4};goog.crypt.base64.paddingChars_="=.";goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)};goog.crypt.base64.byteToCharMaps_={};goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function";goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function";goog.crypt.base64.encodeByteArray=function(o,t){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),t===void 0&&(t=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),t=goog.crypt.base64.byteToCharMaps_[t];for(var r=[],i=0;i<o.length;i+=3){var n=o[i],s=i+1<o.length,l=s?o[i+1]:0,g=i+2<o.length,p=g?o[i+2]:0,m=n>>2;n=(n&3)<<4|l>>4,l=(l&15)<<2|p>>6,p&=63,g||(p=64,s||(l=64)),r.push(t[m],t[n],t[l]||"",t[p]||"")}return r.join("")};goog.crypt.base64.encodeString=function(o,t){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!t?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),t)};goog.crypt.base64.decodeString=function(o,t){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!t)return goog.global.atob(o);var r="";return goog.crypt.base64.decodeStringInternal_(o,function(i){r+=String.fromCharCode(i)}),r};goog.crypt.base64.decodeStringToByteArray=function(o,t){var r=[];return goog.crypt.base64.decodeStringInternal_(o,function(i){r.push(i)}),r};goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var t=o.length,r=3*t/4;r%3?r=Math.floor(r):goog.crypt.base64.isPadding_(o[t-1])&&(r=goog.crypt.base64.isPadding_(o[t-2])?r-2:r-1);var i=new Uint8Array(r),n=0;return goog.crypt.base64.decodeStringInternal_(o,function(s){i[n++]=s}),i.subarray(0,n)};goog.crypt.base64.decodeStringInternal_=function(o,t){function r(p){for(;i<o.length;){var m=o.charAt(i++),E=goog.crypt.base64.charToByteMap_[m];if(E!=null)return E;if(!goog.string.isEmptyOrWhitespace(m))throw Error("Unknown base64 encoding at char: "+m)}return p}goog.crypt.base64.init_();for(var i=0;;){var n=r(-1),s=r(0),l=r(64),g=r(64);if(g===64&&n===-1)break;t(n<<2|s>>4),l!=64&&(t(s<<4&240|l>>2),g!=64&&t(l<<6&192|g))}};goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),t=["+/=","+/","-_=","-_.","-_"],r=0;5>r;r++){var i=o.concat(t[r].split(""));goog.crypt.base64.byteToCharMaps_[r]=i;for(var n=0;n<i.length;n++){var s=i[n],l=goog.crypt.base64.charToByteMap_[s];l===void 0?goog.crypt.base64.charToByteMap_[s]=n:goog.asserts.assert(l===n)}}}};jspb.utils={};jspb.utils.split64Low=0;jspb.utils.split64High=0;jspb.utils.splitUint64=function(o){var t=o>>>0;o=Math.floor((o-t)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=t,jspb.utils.split64High=o};jspb.utils.splitInt64=function(o){var t=0>o;o=Math.abs(o);var r=o>>>0;o=Math.floor((o-r)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,t&&(o=~o>>>0,r=(~r>>>0)+1,4294967295<r&&(r=0,o++,4294967295<o&&(o=0))),jspb.utils.split64Low=r,jspb.utils.split64High=o};jspb.utils.splitZigzag64=function(o){var t=0>o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var r=jspb.utils.split64High;t&&(o==0?r==0?r=o=4294967295:(r--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=r};jspb.utils.splitFloat32=function(o){var t=0>o?1:0;if(o=t?-o:o,o===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(t<<31|2139095040)>>>0;else if(o<jspb.BinaryConstants.FLOAT32_MIN)o=Math.round(o/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(t<<31|o)>>>0;else{var r=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-r),o=Math.round(o*jspb.BinaryConstants.TWO_TO_23)&8388607,jspb.utils.split64High=0,jspb.utils.split64Low=(t<<31|r+127<<23|o)>>>0}};jspb.utils.splitFloat64=function(o){var t=0>o?1:0;if(o=t?-o:o,o===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(t<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o<jspb.BinaryConstants.FLOAT64_MIN){var r=o/Math.pow(2,-1074);o=r/jspb.BinaryConstants.TWO_TO_32,jspb.utils.split64High=(t<<31|o)>>>0,jspb.utils.split64Low=r>>>0}else{r=o;var i=0;if(2<=r)for(;2<=r&&1023>i;)i++,r/=2;else for(;1>r&&-1022<i;)r*=2,i--;r=o*Math.pow(2,-i),o=r*jspb.BinaryConstants.TWO_TO_20&1048575,r=r*jspb.BinaryConstants.TWO_TO_52>>>0,jspb.utils.split64High=(t<<31|i+1023<<20|o)>>>0,jspb.utils.split64Low=r}};jspb.utils.splitHash64=function(o){var t=o.charCodeAt(0),r=o.charCodeAt(1),i=o.charCodeAt(2),n=o.charCodeAt(3),s=o.charCodeAt(4),l=o.charCodeAt(5),g=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=t+(r<<8)+(i<<16)+(n<<24)>>>0,jspb.utils.split64High=s+(l<<8)+(g<<16)+(o<<24)>>>0};jspb.utils.joinUint64=function(o,t){return t*jspb.BinaryConstants.TWO_TO_32+(o>>>0)};jspb.utils.joinInt64=function(o,t){var r=t&2147483648;return r&&(o=~o+1>>>0,t=~t>>>0,o==0&&(t=t+1>>>0)),o=jspb.utils.joinUint64(o,t),r?-o:o};jspb.utils.toZigzag64=function(o,t,r){var i=t>>31;return r(o<<1^i,(t<<1|o>>>31)^i)};jspb.utils.joinZigzag64=function(o,t){return jspb.utils.fromZigzag64(o,t,jspb.utils.joinInt64)};jspb.utils.fromZigzag64=function(o,t,r){var i=-(o&1);return r((o>>>1|t<<31)^i,t>>>1^i)};jspb.utils.joinFloat32=function(o,t){t=2*(o>>31)+1;var r=o>>>23&255;return o&=8388607,r==255?o?NaN:1/0*t:r==0?t*Math.pow(2,-149)*o:t*Math.pow(2,r-150)*(o+Math.pow(2,23))};jspb.utils.joinFloat64=function(o,t){var r=2*(t>>31)+1,i=t>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(t&1048575)+o,i==2047?o?NaN:1/0*r:i==0?r*Math.pow(2,-1074)*o:r*Math.pow(2,i-1075)*(o+jspb.BinaryConstants.TWO_TO_52)};jspb.utils.joinHash64=function(o,t){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,t>>>0&255,t>>>8&255,t>>>16&255,t>>>24&255)};jspb.utils.DIGITS="0123456789abcdef".split("");jspb.utils.ZERO_CHAR_CODE_=48;jspb.utils.A_CHAR_CODE_=97;jspb.utils.joinUnsignedDecimalString=function(o,t){function r(n,s){return n=n?String(n):"",s?"0000000".slice(n.length)+n:n}if(2097151>=t)return""+(jspb.BinaryConstants.TWO_TO_32*t+o);var i=(o>>>24|t<<8)>>>0&16777215;return t=t>>16&65535,o=(o&16777215)+6777216*i+6710656*t,i+=8147497*t,t*=2,1e7<=o&&(i+=Math.floor(o/1e7),o%=1e7),1e7<=i&&(t+=Math.floor(i/1e7),i%=1e7),r(t,0)+r(i,t)+r(o,1)};jspb.utils.joinSignedDecimalString=function(o,t){var r=t&2147483648;return r&&(o=~o+1>>>0,t=~t+(o==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,t),r?"-"+o:o};jspb.utils.hash64ToDecimalString=function(o,t){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var r=jspb.utils.split64High;return t?jspb.utils.joinSignedDecimalString(o,r):jspb.utils.joinUnsignedDecimalString(o,r)};jspb.utils.hash64ArrayToDecimalStrings=function(o,t){for(var r=Array(o.length),i=0;i<o.length;i++)r[i]=jspb.utils.hash64ToDecimalString(o[i],t);return r};jspb.utils.decimalStringToHash64=function(o){function t(l,g){for(var p=0;8>p&&(l!==1||0<g);p++)g=l*n[p]+g,n[p]=g&255,g>>>=8}function r(){for(var l=0;8>l;l++)n[l]=~n[l]&255}goog.asserts.assert(0<o.length);var i=!1;o[0]==="-"&&(i=!0,o=o.slice(1));for(var n=[0,0,0,0,0,0,0,0],s=0;s<o.length;s++)t(10,o.charCodeAt(s)-jspb.utils.ZERO_CHAR_CODE_);return i&&(r(),t(1,1)),goog.crypt.byteArrayToString(n)};jspb.utils.splitDecimalString=function(o){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o))};jspb.utils.toHexDigit_=function(o){return String.fromCharCode(10>o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)};jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_};jspb.utils.hash64ToHexString=function(o){var t=Array(18);t[0]="0",t[1]="x";for(var r=0;8>r;r++){var i=o.charCodeAt(7-r);t[2*r+2]=jspb.utils.toHexDigit_(i>>4),t[2*r+3]=jspb.utils.toHexDigit_(i&15)}return t.join("")};jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),goog.asserts.assert(o.length==18),goog.asserts.assert(o[0]=="0"),goog.asserts.assert(o[1]=="x");for(var t="",r=0;8>r;r++){var i=jspb.utils.fromHexCharCode_(o.charCodeAt(2*r+2)),n=jspb.utils.fromHexCharCode_(o.charCodeAt(2*r+3));t=String.fromCharCode(16*i+n)+t}return t};jspb.utils.hash64ToNumber=function(o,t){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var r=jspb.utils.split64High;return t?jspb.utils.joinInt64(o,r):jspb.utils.joinUint64(o,r)};jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.utils.countVarints=function(o,t,r){for(var i=0,n=t;n<r;n++)i+=o[n]>>7;return r-t-i};jspb.utils.countVarintFields=function(o,t,r,i){var n=0;if(i=8*i+jspb.BinaryConstants.WireType.VARINT,128>i)for(;t<r&&o[t++]==i;)for(n++;;){var s=o[t++];if((s&128)==0)break}else for(;t<r;){for(s=i;128<s;){if(o[t]!=(s&127|128))return n;t++,s>>=7}if(o[t++]!=s)break;for(n++;s=o[t++],(s&128)!=0;);}return n};jspb.utils.countFixedFields_=function(o,t,r,i,n){var s=0;if(128>i)for(;t<r&&o[t++]==i;)s++,t+=n;else for(;t<r;){for(var l=i;128<l;){if(o[t++]!=(l&127|128))return s;l>>=7}if(o[t++]!=l)break;s++,t+=n}return s};jspb.utils.countFixed32Fields=function(o,t,r,i){return jspb.utils.countFixedFields_(o,t,r,8*i+jspb.BinaryConstants.WireType.FIXED32,4)};jspb.utils.countFixed64Fields=function(o,t,r,i){return jspb.utils.countFixedFields_(o,t,r,8*i+jspb.BinaryConstants.WireType.FIXED64,8)};jspb.utils.countDelimitedFields=function(o,t,r,i){var n=0;for(i=8*i+jspb.BinaryConstants.WireType.DELIMITED;t<r;){for(var s=i;128<s;){if(o[t++]!=(s&127|128))return n;s>>=7}if(o[t++]!=s)break;n++;for(var l=0,g=1;s=o[t++],l+=(s&127)*g,g*=128,(s&128)!=0;);t+=l}return n};jspb.utils.debugBytesToTextFormat=function(o){var t='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var r=0;r<o.length;r++)t+="\\x",16>o[r]&&(t+="0"),t+=o[r].toString(16)}return t+'"'};jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()};jspb.utils.stringToByteArray=function(o){for(var t=new Uint8Array(o.length),r=0;r<o.length;r++){var i=o.charCodeAt(r);if(255<i)throw Error("Conversion error: string contains codepoint outside of byte range");t[r]=i}return t};jspb.utils.byteSourceToUint8Array=function(o){return o.constructor===Uint8Array?o:o.constructor===ArrayBuffer||typeof Buffer<"u"&&o.constructor===Buffer||o.constructor===Array?new Uint8Array(o):o.constructor===String?goog.crypt.base64.decodeStringToUint8Array(o):(goog.asserts.fail("Type not convertible to Uint8Array."),new Uint8Array(0))};jspb.BinaryDecoder=function(o,t,r){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1,o&&this.setBlock(o,t,r)};jspb.BinaryDecoder.instanceCache_=[];jspb.BinaryDecoder.alloc=function(o,t,r){if(jspb.BinaryDecoder.instanceCache_.length){var i=jspb.BinaryDecoder.instanceCache_.pop();return o&&i.setBlock(o,t,r),i}return new jspb.BinaryDecoder(o,t,r)};jspb.BinaryDecoder.prototype.free=function(){this.clear(),100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)};jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)};jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1};jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_};jspb.BinaryDecoder.prototype.setBlock=function(o,t,r){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=t!==void 0?t:0,this.end_=r!==void 0?this.start_+r:this.bytes_.length,this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_};jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o};jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_};jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o};jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_)};jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_};jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_};jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_};jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var t=128,r=0,i=0,n=0;4>n&&128<=t;n++)t=this.bytes_[this.cursor_++],r|=(t&127)<<7*n;if(128<=t&&(t=this.bytes_[this.cursor_++],r|=(t&127)<<28,i|=(t&127)>>4),128<=t)for(n=0;5>n&&128<=t;n++)t=this.bytes_[this.cursor_++],i|=(t&127)<<7*n+3;if(128>t)return o(r>>>0,i>>>0);goog.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0};jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(t,r){return jspb.utils.fromZigzag64(t,r,o)})};jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var t=this.bytes_,r=this.cursor_;this.cursor_+=8;for(var i=0,n=0,s=r+7;s>=r;s--)i=i<<8|t[s],n=n<<8|t[s+4];return o(i,n)};jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++};jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128<o;)this.cursor_--,o>>>=7;this.cursor_--};jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,t=o[this.cursor_+0],r=t&127;return 128>t?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+1],r|=(t&127)<<7,128>t?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+2],r|=(t&127)<<14,128>t?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+3],r|=(t&127)<<21,128>t?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+4],r|=(t&15)<<28,128>t?(this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),r>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&goog.asserts.assert(!1),goog.asserts.assert(this.cursor_<=this.end_),r)))))};jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32;jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()};jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()};jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(o&1)};jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)};jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)};jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)};jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)};jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)};jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)};jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)};jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o};jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),o<<0|t<<8};jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1],r=this.bytes_[this.cursor_+2],i=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|t<<8|r<<16|i<<24)>>>0};jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinUint64(o,t)};jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,t)};jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o<<24>>24};jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|t<<8)<<16>>16};jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1],r=this.bytes_[this.cursor_+2],i=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),o<<0|t<<8|r<<16|i<<24};jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinInt64(o,t)};jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinSignedDecimalString(o,t)};jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)};jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinFloat64(o,t)};jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]};jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()};jspb.BinaryDecoder.prototype.readString=function(o){var t=this.bytes_,r=this.cursor_;o=r+o;for(var i=[],n="";r<o;){var s=t[r++];if(128>s)i.push(s);else{if(192>s)continue;if(224>s){var l=t[r++];i.push((s&31)<<6|l&63)}else if(240>s){l=t[r++];var g=t[r++];i.push((s&15)<<12|(l&63)<<6|g&63)}else if(248>s){l=t[r++],g=t[r++];var p=t[r++];s=(s&7)<<18|(l&63)<<12|(g&63)<<6|p&63,s-=65536,i.push((s>>10&1023)+55296,(s&1023)+56320)}}8192<=i.length&&(n+=String.fromCharCode.apply(null,i),i.length=0)}return n+=goog.crypt.byteArrayToString(i),this.cursor_=r,n};jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)};jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var t=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_),t};jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)};jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,t=this.cursor_,r=o[t+0],i=o[t+1],n=o[t+2],s=o[t+3],l=o[t+4],g=o[t+5],p=o[t+6];return o=o[t+7],this.cursor_+=8,String.fromCharCode(r,i,n,s,l,g,p,o)};jspb.BinaryReader=function(o,t,r){this.decoder_=jspb.BinaryDecoder.alloc(o,t,r),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null};jspb.BinaryReader.instanceCache_=[];jspb.BinaryReader.alloc=function(o,t,r){if(jspb.BinaryReader.instanceCache_.length){var i=jspb.BinaryReader.instanceCache_.pop();return o&&i.decoder_.setBlock(o,t,r),i}return new jspb.BinaryReader(o,t,r)};jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc;jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)};jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_};jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()};jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()};jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_};jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_};jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED};jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP};jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()};jspb.BinaryReader.prototype.setBlock=function(o,t,r){this.decoder_.setBlock(o,t,r),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)};jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),t=o>>>3;return o&=7,o!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=t,this.nextWireType_=o,!0)};jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)};jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()};jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()};jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}};jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)};jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)};jspb.BinaryReader.prototype.skipGroup=function(){var o=this.nextField_;do{if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(goog.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}while(1)};jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}};jspb.BinaryReader.prototype.registerReadCallback=function(o,t){this.readCallbacks_===null&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=t};jspb.BinaryReader.prototype.runReadCallback=function(o){return goog.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],goog.asserts.assert(o),o(this)};jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var t=jspb.BinaryConstants.FieldType;switch(o){case t.DOUBLE:return this.readDouble();case t.FLOAT:return this.readFloat();case t.INT64:return this.readInt64();case t.UINT64:return this.readUint64();case t.INT32:return this.readInt32();case t.FIXED64:return this.readFixed64();case t.FIXED32:return this.readFixed32();case t.BOOL:return this.readBool();case t.STRING:return this.readString();case t.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case t.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case t.BYTES:return this.readBytes();case t.UINT32:return this.readUint32();case t.ENUM:return this.readEnum();case t.SFIXED32:return this.readSfixed32();case t.SFIXED64:return this.readSfixed64();case t.SINT32:return this.readSint32();case t.SINT64:return this.readSint64();case t.FHASH64:return this.readFixedHash64();case t.VHASH64:return this.readVarintHash64();default:goog.asserts.fail("Invalid field type in readAny()")}return 0};jspb.BinaryReader.prototype.readMessage=function(o,t){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var r=this.decoder_.getEnd(),i=this.decoder_.readUnsignedVarint32();i=this.decoder_.getCursor()+i,this.decoder_.setEnd(i),t(o,this),this.decoder_.setCursor(i),this.decoder_.setEnd(r)};jspb.BinaryReader.prototype.readGroup=function(o,t,r){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==o),r(t,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)};jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),t=this.decoder_.getCursor(),r=t+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),t,o),this.decoder_.setCursor(r),o};jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()};jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()};jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()};jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()};jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()};jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()};jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()};jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()};jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()};jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()};jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()};jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()};jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()};jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()};jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()};jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()};jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()};jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()};jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)};jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)};jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()};jspb.BinaryReader.prototype.readSintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()};jspb.BinaryReader.prototype.readSplitVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)};jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(t,r){return jspb.utils.fromZigzag64(t,r,o)})};jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()};jspb.BinaryReader.prototype.readSplitFixed64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)};jspb.BinaryReader.prototype.readPackedField_=function(o){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var t=this.decoder_.readUnsignedVarint32();t=this.decoder_.getCursor()+t;for(var r=[];this.decoder_.getCursor()<t;)r.push(o.call(this.decoder_));return r};jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)};jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)};jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)};jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)};jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)};jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)};jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)};jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)};jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)};jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)};jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)};jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)};jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)};jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)};jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)};jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)};jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)};jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)};jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)};jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)};jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)};jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)};jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)};jspb.Map=function(o,t){this.arr_=o,this.valueCtor_=t,this.map_={},this.arrClean=!0,0<this.arr_.length&&this.loadFromArray_()};jspb.Map.prototype.loadFromArray_=function(){for(var o=0;o<this.arr_.length;o++){var t=this.arr_[o],r=t[0];this.map_[r.toString()]=new jspb.Map.Entry_(r,t[1])}this.arrClean=!0};jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var o=this.map_,t;for(t in o)if(Object.prototype.hasOwnProperty.call(o,t)){var r=o[t].valueWrapper;r&&r.toArray()}}}else{for(this.arr_.length=0,o=this.stringKeys_(),o.sort(),t=0;t<o.length;t++){var i=this.map_[o[t]];(r=i.valueWrapper)&&r.toArray(),this.arr_.push([i.key,i.value])}this.arrClean=!0}return this.arr_};jspb.Map.prototype.toObject=function(o,t){for(var r=this.toArray(),i=[],n=0;n<r.length;n++){var s=this.map_[r[n][0].toString()];this.wrapEntry_(s);var l=s.valueWrapper;l?(goog.asserts.assert(t),i.push([s.key,t(o,l)])):i.push([s.key,s.value])}return i};jspb.Map.fromObject=function(o,t,r){t=new jspb.Map([],t);for(var i=0;i<o.length;i++){var n=o[i][0],s=r(o[i][1]);t.set(n,s)}return t};jspb.Map.ArrayIteratorIterable_=function(o){this.idx_=0,this.arr_=o};jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}};typeof Symbol<"u"&&(jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this});jspb.Map.prototype.getLength=function(){return this.stringKeys_().length};jspb.Map.prototype.clear=function(){this.map_={},this.arrClean=!1};jspb.Map.prototype.del=function(o){o=o.toString();var t=this.map_.hasOwnProperty(o);return delete this.map_[o],this.arrClean=!1,t};jspb.Map.prototype.getEntryList=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++){var i=this.map_[t[r]];o.push([i.key,i.value])}return o};jspb.Map.prototype.entries=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++){var i=this.map_[t[r]];o.push([i.key,this.wrapEntry_(i)])}return new jspb.Map.ArrayIteratorIterable_(o)};jspb.Map.prototype.keys=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++)o.push(this.map_[t[r]].key);return new jspb.Map.ArrayIteratorIterable_(o)};jspb.Map.prototype.values=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++)o.push(this.wrapEntry_(this.map_[t[r]]));return new jspb.Map.ArrayIteratorIterable_(o)};jspb.Map.prototype.forEach=function(o,t){var r=this.stringKeys_();r.sort();for(var i=0;i<r.length;i++){var n=this.map_[r[i]];o.call(t,this.wrapEntry_(n),n.key,this)}};jspb.Map.prototype.set=function(o,t){var r=new jspb.Map.Entry_(o);return this.valueCtor_?(r.valueWrapper=t,r.value=t.toArray()):r.value=t,this.map_[o.toString()]=r,this.arrClean=!1,this};jspb.Map.prototype.wrapEntry_=function(o){return this.valueCtor_?(o.valueWrapper||(o.valueWrapper=new this.valueCtor_(o.value)),o.valueWrapper):o.value};jspb.Map.prototype.get=function(o){if(o=this.map_[o.toString()])return this.wrapEntry_(o)};jspb.Map.prototype.has=function(o){return o.toString()in this.map_};jspb.Map.prototype.serializeBinary=function(o,t,r,i,n){var s=this.stringKeys_();s.sort();for(var l=0;l<s.length;l++){var g=this.map_[s[l]];t.beginSubMessage(o),r.call(t,1,g.key),this.valueCtor_?i.call(t,2,this.wrapEntry_(g),n):i.call(t,2,g.value),t.endSubMessage()}};jspb.Map.deserializeBinary=function(o,t,r,i,n,s,l){for(;t.nextField()&&!t.isEndGroup();){var g=t.getFieldNumber();g==1?s=r.call(t):g==2&&(o.valueCtor_?(goog.asserts.assert(n),l||(l=new o.valueCtor_),i.call(t,l,n)):l=i.call(t))}goog.asserts.assert(s!=null),goog.asserts.assert(l!=null),o.set(s,l)};jspb.Map.prototype.stringKeys_=function(){var o=this.map_,t=[],r;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&t.push(r);return t};jspb.Map.Entry_=function(o,t){this.key=o,this.value=t,this.valueWrapper=void 0};jspb.ExtensionFieldInfo=function(o,t,r,i,n){this.fieldIndex=o,this.fieldName=t,this.ctor=r,this.toObjectFn=i,this.isRepeated=n};jspb.ExtensionFieldBinaryInfo=function(o,t,r,i,n,s){this.fieldInfo=o,this.binaryReaderFn=t,this.binaryWriterFn=r,this.binaryMessageSerializeFn=i,this.binaryMessageDeserializeFn=n,this.isPacked=s};jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor};jspb.Message=function(){};jspb.Message.GENERATE_TO_OBJECT=!0;jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE;jspb.Message.GENERATE_TO_STRING=!0;jspb.Message.ASSUME_LOCAL_ARRAYS=!1;jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS=!0;jspb.Message.SUPPORTS_UINT8ARRAY_=typeof Uint8Array=="function";jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_};jspb.Message.getIndex_=function(o,t){return t+o.arrayIndexOffset_};jspb.Message.hiddenES6Property_=function(){};jspb.Message.getFieldNumber_=function(o,t){return t-o.arrayIndexOffset_};jspb.Message.initialize=function(o,t,r,i,n,s){if(o.wrappers_=null,t||(t=r?[r]:[]),o.messageId_=r?String(r):void 0,o.arrayIndexOffset_=r===0?-1:0,o.array=t,jspb.Message.initPivotAndExtensionObject_(o,i),o.convertedPrimitiveFields_={},jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS||(o.repeatedFields=n),n)for(t=0;t<n.length;t++)r=n[t],r<o.pivot_?(r=jspb.Message.getIndex_(o,r),o.array[r]=o.array[r]||jspb.Message.EMPTY_LIST_SENTINEL_):(jspb.Message.maybeInitEmptyExtensionObject_(o),o.extensionObject_[r]=o.extensionObject_[r]||jspb.Message.EMPTY_LIST_SENTINEL_);if(s&&s.length)for(t=0;t<s.length;t++)jspb.Message.computeOneofCase(o,s[t])};jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[];jspb.Message.isArray_=function(o){return jspb.Message.ASSUME_LOCAL_ARRAYS?o instanceof Array:Array.isArray(o)};jspb.Message.isExtensionObject_=function(o){return o!==null&&typeof o=="object"&&!jspb.Message.isArray_(o)&&!(jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array)};jspb.Message.initPivotAndExtensionObject_=function(o,t){var r=o.array.length,i=-1;if(r&&(i=r-1,r=o.array[i],jspb.Message.isExtensionObject_(r))){o.pivot_=jspb.Message.getFieldNumber_(o,i),o.extensionObject_=r;return}-1<t?(o.pivot_=Math.max(t,jspb.Message.getFieldNumber_(o,i+1)),o.extensionObject_=null):o.pivot_=Number.MAX_VALUE};jspb.Message.maybeInitEmptyExtensionObject_=function(o){var t=jspb.Message.getIndex_(o,o.pivot_);o.array[t]||(o.extensionObject_=o.array[t]={})};jspb.Message.toObjectList=function(o,t,r){for(var i=[],n=0;n<o.length;n++)i[n]=t.call(o[n],r,o[n]);return i};jspb.Message.toObjectExtension=function(o,t,r,i,n){for(var s in r){var l=r[s],g=i.call(o,l);if(g!=null){for(var p in l.fieldName)if(l.fieldName.hasOwnProperty(p))break;t[p]=l.toObjectFn?l.isRepeated?jspb.Message.toObjectList(g,l.toObjectFn,n):l.toObjectFn(n,g):g}}};jspb.Message.serializeBinaryExtensions=function(o,t,r,i){for(var n in r){var s=r[n],l=s.fieldInfo;if(!s.binaryWriterFn)throw Error("Message extension present that was generated without binary serialization support");var g=i.call(o,l);if(g!=null)if(l.isMessageType())if(s.binaryMessageSerializeFn)s.binaryWriterFn.call(t,l.fieldIndex,g,s.binaryMessageSerializeFn);else throw Error("Message extension present holding submessage without binary support enabled, and message is being serialized to binary format");else s.binaryWriterFn.call(t,l.fieldIndex,g)}};jspb.Message.readBinaryExtension=function(o,t,r,i,n){var s=r[t.getFieldNumber()];if(s){if(r=s.fieldInfo,!s.binaryReaderFn)throw Error("Deserializing extension whose generated code does not support binary format");if(r.isMessageType()){var l=new r.ctor;s.binaryReaderFn.call(t,l,s.binaryMessageDeserializeFn)}else l=s.binaryReaderFn.call(t);r.isRepeated&&!s.isPacked?(t=i.call(o,r))?t.push(l):n.call(o,r,[l]):n.call(o,r,l)}else t.skipField()};jspb.Message.getField=function(o,t){if(t<o.pivot_){t=jspb.Message.getIndex_(o,t);var r=o.array[t];return r===jspb.Message.EMPTY_LIST_SENTINEL_?o.array[t]=[]:r}if(o.extensionObject_)return r=o.extensionObject_[t],r===jspb.Message.EMPTY_LIST_SENTINEL_?o.extensionObject_[t]=[]:r};jspb.Message.getRepeatedField=function(o,t){return jspb.Message.getField(o,t)};jspb.Message.getOptionalFloatingPointField=function(o,t){return o=jspb.Message.getField(o,t),o==null?o:+o};jspb.Message.getBooleanField=function(o,t){return o=jspb.Message.getField(o,t),o==null?o:!!o};jspb.Message.getRepeatedFloatingPointField=function(o,t){var r=jspb.Message.getRepeatedField(o,t);if(o.convertedPrimitiveFields_||(o.convertedPrimitiveFields_={}),!o.convertedPrimitiveFields_[t]){for(var i=0;i<r.length;i++)r[i]=+r[i];o.convertedPrimitiveFields_[t]=!0}return r};jspb.Message.getRepeatedBooleanField=function(o,t){var r=jspb.Message.getRepeatedField(o,t);if(o.convertedPrimitiveFields_||(o.convertedPrimitiveFields_={}),!o.convertedPrimitiveFields_[t]){for(var i=0;i<r.length;i++)r[i]=!!r[i];o.convertedPrimitiveFields_[t]=!0}return r};jspb.Message.bytesAsB64=function(o){return o==null||typeof o=="string"?o:jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array?goog.crypt.base64.encodeByteArray(o):(goog.asserts.fail("Cannot coerce to b64 string: "+goog.typeOf(o)),null)};jspb.Message.bytesAsU8=function(o){return o==null||o instanceof Uint8Array?o:typeof o=="string"?goog.crypt.base64.decodeStringToUint8Array(o):(goog.asserts.fail("Cannot coerce to Uint8Array: "+goog.typeOf(o)),null)};jspb.Message.bytesListAsB64=function(o){return jspb.Message.assertConsistentTypes_(o),o.length&&typeof o[0]!="string"?goog.array.map(o,jspb.Message.bytesAsB64):o};jspb.Message.bytesListAsU8=function(o){return jspb.Message.assertConsistentTypes_(o),!o.length||o[0]instanceof Uint8Array?o:goog.array.map(o,jspb.Message.bytesAsU8)};jspb.Message.assertConsistentTypes_=function(o){if(goog.DEBUG&&o&&1<o.length){var t=goog.typeOf(o[0]);goog.array.forEach(o,function(r){goog.typeOf(r)!=t&&goog.asserts.fail("Inconsistent type in JSPB repeated field array. Got "+goog.typeOf(r)+" expected "+t)})}};jspb.Message.getFieldWithDefault=function(o,t,r){return o=jspb.Message.getField(o,t),o??r};jspb.Message.getBooleanFieldWithDefault=function(o,t,r){return o=jspb.Message.getBooleanField(o,t),o??r};jspb.Message.getFloatingPointFieldWithDefault=function(o,t,r){return o=jspb.Message.getOptionalFloatingPointField(o,t),o??r};jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault;jspb.Message.getMapField=function(o,t,r,i){if(o.wrappers_||(o.wrappers_={}),t in o.wrappers_)return o.wrappers_[t];var n=jspb.Message.getField(o,t);if(!n){if(r)return;n=[],jspb.Message.setField(o,t,n)}return o.wrappers_[t]=new jspb.Map(n,i)};jspb.Message.setField=function(o,t,r){return goog.asserts.assertInstanceof(o,jspb.Message),t<o.pivot_?o.array[jspb.Message.getIndex_(o,t)]=r:(jspb.Message.maybeInitEmptyExtensionObject_(o),o.extensionObject_[t]=r),o};jspb.Message.setProto3IntField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,0)};jspb.Message.setProto3FloatField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,0)};jspb.Message.setProto3BooleanField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,!1)};jspb.Message.setProto3StringField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,"")};jspb.Message.setProto3BytesField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,"")};jspb.Message.setProto3EnumField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,0)};jspb.Message.setProto3StringIntField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,"0")};jspb.Message.setFieldIgnoringDefault_=function(o,t,r,i){return goog.asserts.assertInstanceof(o,jspb.Message),r!==i?jspb.Message.setField(o,t,r):t<o.pivot_?o.array[jspb.Message.getIndex_(o,t)]=null:(jspb.Message.maybeInitEmptyExtensionObject_(o),delete o.extensionObject_[t]),o};jspb.Message.addToRepeatedField=function(o,t,r,i){return goog.asserts.assertInstanceof(o,jspb.Message),t=jspb.Message.getRepeatedField(o,t),i!=null?t.splice(i,0,r):t.push(r),o};jspb.Message.setOneofField=function(o,t,r,i){return goog.asserts.assertInstanceof(o,jspb.Message),(r=jspb.Message.computeOneofCase(o,r))&&r!==t&&i!==void 0&&(o.wrappers_&&r in o.wrappers_&&(o.wrappers_[r]=void 0),jspb.Message.setField(o,r,void 0)),jspb.Message.setField(o,t,i)};jspb.Message.computeOneofCase=function(o,t){for(var r,i,n=0;n<t.length;n++){var s=t[n],l=jspb.Message.getField(o,s);l!=null&&(r=s,i=l,jspb.Message.setField(o,s,void 0))}return r?(jspb.Message.setField(o,r,i),r):0};jspb.Message.getWrapperField=function(o,t,r,i){if(o.wrappers_||(o.wrappers_={}),!o.wrappers_[r]){var n=jspb.Message.getField(o,r);(i||n)&&(o.wrappers_[r]=new t(n))}return o.wrappers_[r]};jspb.Message.getRepeatedWrapperField=function(o,t,r){return jspb.Message.wrapRepeatedField_(o,t,r),t=o.wrappers_[r],t==jspb.Message.EMPTY_LIST_SENTINEL_&&(t=o.wrappers_[r]=[]),t};jspb.Message.wrapRepeatedField_=function(o,t,r){if(o.wrappers_||(o.wrappers_={}),!o.wrappers_[r]){for(var i=jspb.Message.getRepeatedField(o,r),n=[],s=0;s<i.length;s++)n[s]=new t(i[s]);o.wrappers_[r]=n}};jspb.Message.setWrapperField=function(o,t,r){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={});var i=r&&r.toArray();return o.wrappers_[t]=r,jspb.Message.setField(o,t,i)};jspb.Message.setOneofWrapperField=function(o,t,r,i){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={});var n=i&&i.toArray();return o.wrappers_[t]=i,jspb.Message.setOneofField(o,t,r,n)};jspb.Message.setRepeatedWrapperField=function(o,t,r){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={}),r=r||[];for(var i=[],n=0;n<r.length;n++)i[n]=r[n].toArray();return o.wrappers_[t]=r,jspb.Message.setField(o,t,i)};jspb.Message.addToRepeatedWrapperField=function(o,t,r,i,n){jspb.Message.wrapRepeatedField_(o,i,t);var s=o.wrappers_[t];return s||(s=o.wrappers_[t]=[]),r=r||new i,o=jspb.Message.getRepeatedField(o,t),n!=null?(s.splice(n,0,r),o.splice(n,0,r.toArray())):(s.push(r),o.push(r.toArray())),r};jspb.Message.toMap=function(o,t,r,i){for(var n={},s=0;s<o.length;s++)n[t.call(o[s])]=r?r.call(o[s],i,o[s]):o[s];return n};jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var o in this.wrappers_){var t=this.wrappers_[o];if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&t[r].toArray();else t&&t.toArray()}};jspb.Message.prototype.toArray=function(){return this.syncMapFields_(),this.array};jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){return this.syncMapFields_(),this.array.toString()});jspb.Message.prototype.getExtension=function(o){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var t=o.fieldIndex;if(o.isRepeated){if(o.isMessageType())return this.wrappers_[t]||(this.wrappers_[t]=goog.array.map(this.extensionObject_[t]||[],function(r){return new o.ctor(r)})),this.wrappers_[t]}else if(o.isMessageType())return!this.wrappers_[t]&&this.extensionObject_[t]&&(this.wrappers_[t]=new o.ctor(this.extensionObject_[t])),this.wrappers_[t];return this.extensionObject_[t]}};jspb.Message.prototype.setExtension=function(o,t){this.wrappers_||(this.wrappers_={}),jspb.Message.maybeInitEmptyExtensionObject_(this);var r=o.fieldIndex;return o.isRepeated?(t=t||[],o.isMessageType()?(this.wrappers_[r]=t,this.extensionObject_[r]=goog.array.map(t,function(i){return i.toArray()})):this.extensionObject_[r]=t):o.isMessageType()?(this.wrappers_[r]=t,this.extensionObject_[r]=t&&t.toArray()):this.extensionObject_[r]=t,this};jspb.Message.difference=function(o,t){if(!(o instanceof t.constructor))throw Error("Messages have different types.");var r=o.toArray();t=t.toArray();var i=[],n=0,s=r.length>t.length?r.length:t.length;for(o.getJsPbMessageId()&&(i[0]=o.getJsPbMessageId(),n=1);n<s;n++)jspb.Message.compareFields(r[n],t[n])||(i[n]=t[n]);return new o.constructor(i)};jspb.Message.equals=function(o,t){return o==t||!(!o||!t)&&o instanceof t.constructor&&jspb.Message.compareFields(o.toArray(),t.toArray())};jspb.Message.compareExtensions=function(o,t){o=o||{},t=t||{};var r={},i;for(i in o)r[i]=0;for(i in t)r[i]=0;for(i in r)if(!jspb.Message.compareFields(o[i],t[i]))return!1;return!0};jspb.Message.compareFields=function(o,t){if(o==t)return!0;if(!goog.isObject(o)||!goog.isObject(t))return typeof o=="number"&&isNaN(o)||typeof t=="number"&&isNaN(t)?String(o)==String(t):!1;if(o.constructor!=t.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=t.length)return!1;for(var r=0;r<o.length;r++)if(o[r]!=t[r])return!1;return!0}if(o.constructor===Array){var i=void 0,n=void 0,s=Math.max(o.length,t.length);for(r=0;r<s;r++){var l=o[r],g=t[r];if(l&&l.constructor==Object&&(goog.asserts.assert(i===void 0),goog.asserts.assert(r===o.length-1),i=l,l=void 0),g&&g.constructor==Object&&(goog.asserts.assert(n===void 0),goog.asserts.assert(r===t.length-1),n=g,g=void 0),!jspb.Message.compareFields(l,g))return!1}return i||n?(i=i||{},n=n||{},jspb.Message.compareExtensions(i,n)):!0}if(o.constructor===Object)return jspb.Message.compareExtensions(o,t);throw Error("Invalid type in JSPB array")};jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)};jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)};jspb.Message.clone=function(o){return jspb.Message.cloneMessage(o)};jspb.Message.cloneMessage=function(o){return new o.constructor(jspb.Message.clone_(o.toArray()))};jspb.Message.copyInto=function(o,t){goog.asserts.assertInstanceof(o,jspb.Message),goog.asserts.assertInstanceof(t,jspb.Message),goog.asserts.assert(o.constructor==t.constructor,"Copy source and target message should have the same type."),o=jspb.Message.clone(o);for(var r=t.toArray(),i=o.toArray(),n=r.length=0;n<i.length;n++)r[n]=i[n];t.wrappers_=o.wrappers_,t.extensionObject_=o.extensionObject_};jspb.Message.clone_=function(o){if(Array.isArray(o)){for(var t=Array(o.length),r=0;r<o.length;r++){var i=o[r];i!=null&&(t[r]=typeof i=="object"?jspb.Message.clone_(goog.asserts.assert(i)):i)}return t}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array)return new Uint8Array(o);t={};for(r in o)i=o[r],i!=null&&(t[r]=typeof i=="object"?jspb.Message.clone_(goog.asserts.assert(i)):i);return t};jspb.Message.registerMessageType=function(o,t){t.messageId=o};jspb.Message.messageSetExtensions={};jspb.Message.messageSetExtensionsBinary={};jspb.arith={};jspb.arith.UInt64=function(o,t){this.lo=o,this.hi=t};jspb.arith.UInt64.prototype.cmp=function(o){return this.hi<o.hi||this.hi==o.hi&&this.lo<o.lo?-1:this.hi==o.hi&&this.lo==o.lo?0:1};jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)};jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)};jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)};jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)};jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0};jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)};jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)};jspb.arith.UInt64.mul32x32=function(o,t){var r=o&65535;o>>>=16;var i=t&65535,n=t>>>16;for(t=r*i+65536*(r*n&65535)+65536*(o*i&65535),r=o*n+(r*n>>>16)+(o*i>>>16);4294967296<=t;)t-=4294967296,r+=1;return new jspb.arith.UInt64(t>>>0,r>>>0)};jspb.arith.UInt64.prototype.mul=function(o){var t=jspb.arith.UInt64.mul32x32(this.lo,o);return o=jspb.arith.UInt64.mul32x32(this.hi,o),o.hi=o.lo,o.lo=0,t.add(o)};jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var t=new jspb.arith.UInt64(0,0),r=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var i=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),i=i.leftShift();for(;!i.zero();)0>=o.cmp(r)&&(t=t.add(i),r=r.sub(o)),o=o.rightShift(),i=i.rightShift();return[t,r]};jspb.arith.UInt64.prototype.toString=function(){for(var o="",t=this;!t.zero();){t=t.div(10);var r=t[0];o=t[1].lo+o,t=r}return o==""&&(o="0"),o};jspb.arith.UInt64.fromString=function(o){for(var t=new jspb.arith.UInt64(0,0),r=new jspb.arith.UInt64(0,0),i=0;i<o.length;i++){if("0">o[i]||"9"<o[i])return null;var n=parseInt(o[i],10);r.lo=n,t=t.mul(10).add(r)}return t};jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)};jspb.arith.Int64=function(o,t){this.lo=o,this.hi=t};jspb.arith.Int64.prototype.add=function(o){return new jspb.arith.Int64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)};jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)};jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)};jspb.arith.Int64.prototype.toString=function(){var o=(this.hi&2147483648)!=0,t=new jspb.arith.UInt64(this.lo,this.hi);return o&&(t=new jspb.arith.UInt64(0,0).sub(t)),(o?"-":"")+t.toString()};jspb.arith.Int64.fromString=function(o){var t=0<o.length&&o[0]=="-";return t&&(o=o.substring(1)),o=jspb.arith.UInt64.fromString(o),o===null?null:(t&&(o=new jspb.arith.UInt64(0,0).sub(o)),new jspb.arith.Int64(o.lo,o.hi))};jspb.BinaryEncoder=function(){this.buffer_=[]};jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length};jspb.BinaryEncoder.prototype.end=function(){var o=this.buffer_;return this.buffer_=[],o};jspb.BinaryEncoder.prototype.writeSplitVarint64=function(o,t){for(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(t==Math.floor(t)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32);0<t||127<o;)this.buffer_.push(o&127|128),o=(o>>>7|t<<25)>>>0,t>>>=7;this.buffer_.push(o)};jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,t){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(t==Math.floor(t)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUint32(o),this.writeUint32(t)};jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(o){for(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32);127<o;)this.buffer_.push(o&127|128),o>>>=7;this.buffer_.push(o)};jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),0<=o)this.writeUnsignedVarint32(o);else{for(var t=0;9>t;t++)this.buffer_.push(o&127|128),o>>=7;this.buffer_.push(1)}};jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitInt64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeSignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeUnsignedVarint32((o<<1^o>>31)>>>0)};jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitZigzag64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(o){this.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(o))};jspb.BinaryEncoder.prototype.writeZigzagVarintHash64=function(o){var t=this;jspb.utils.splitHash64(o),jspb.utils.toZigzag64(jspb.utils.split64Low,jspb.utils.split64High,function(r,i){t.writeSplitVarint64(r>>>0,i>>>0)})};jspb.BinaryEncoder.prototype.writeUint8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)};jspb.BinaryEncoder.prototype.writeUint16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)};jspb.BinaryEncoder.prototype.writeUint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)};jspb.BinaryEncoder.prototype.writeUint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitUint64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeInt8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-128<=o&&128>o),this.buffer_.push(o>>>0&255)};jspb.BinaryEncoder.prototype.writeInt16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)};jspb.BinaryEncoder.prototype.writeInt32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)};jspb.BinaryEncoder.prototype.writeInt64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(o),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeInt64String=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(+o>=-jspb.BinaryConstants.TWO_TO_63&&+o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o)),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFloat=function(o){goog.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)};jspb.BinaryEncoder.prototype.writeDouble=function(o){goog.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeBool=function(o){goog.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)};jspb.BinaryEncoder.prototype.writeEnum=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32(o)};jspb.BinaryEncoder.prototype.writeBytes=function(o){this.buffer_.push.apply(this.buffer_,o)};jspb.BinaryEncoder.prototype.writeVarintHash64=function(o){jspb.utils.splitHash64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFixedHash64=function(o){jspb.utils.splitHash64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeString=function(o){for(var t=this.buffer_.length,r=0;r<o.length;r++){var i=o.charCodeAt(r);if(128>i)this.buffer_.push(i);else if(2048>i)this.buffer_.push(i>>6|192),this.buffer_.push(i&63|128);else if(65536>i)if(55296<=i&&56319>=i&&r+1<o.length){var n=o.charCodeAt(r+1);56320<=n&&57343>=n&&(i=1024*(i-55296)+n-56320+65536,this.buffer_.push(i>>18|240),this.buffer_.push(i>>12&63|128),this.buffer_.push(i>>6&63|128),this.buffer_.push(i&63|128),r++)}else this.buffer_.push(i>>12|224),this.buffer_.push(i>>6&63|128),this.buffer_.push(i&63|128)}return this.buffer_.length-t};jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]};jspb.BinaryWriter.prototype.appendUint8Array_=function(o){var t=this.encoder_.end();this.blocks_.push(t),this.blocks_.push(o),this.totalLength_+=t.length+o.length};jspb.BinaryWriter.prototype.beginDelimited_=function(o){return this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),o=this.encoder_.end(),this.blocks_.push(o),this.totalLength_+=o.length,o.push(this.totalLength_),o};jspb.BinaryWriter.prototype.endDelimited_=function(o){var t=o.pop();for(t=this.totalLength_+this.encoder_.length()-t,goog.asserts.assert(0<=t);127<t;)o.push(t&127|128),t>>>=7,this.totalLength_++;o.push(t),this.totalLength_++};jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,t,r){this.appendUint8Array_(o.subarray(t,r))};jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,t,r){o!=null&&t!=null&&r!=null&&this.writeSerializedMessage(o,t,r)};jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]};jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),t=this.blocks_,r=t.length,i=0,n=0;n<r;n++){var s=t[n];o.set(s,i),i+=s.length}return t=this.encoder_.end(),o.set(t,i),i+=t.length,goog.asserts.assert(i==o.length),this.blocks_=[o],o};jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)};jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))};jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())};jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,t){goog.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+t)};jspb.BinaryWriter.prototype.writeAny=function(o,t,r){var i=jspb.BinaryConstants.FieldType;switch(o){case i.DOUBLE:this.writeDouble(t,r);break;case i.FLOAT:this.writeFloat(t,r);break;case i.INT64:this.writeInt64(t,r);break;case i.UINT64:this.writeUint64(t,r);break;case i.INT32:this.writeInt32(t,r);break;case i.FIXED64:this.writeFixed64(t,r);break;case i.FIXED32:this.writeFixed32(t,r);break;case i.BOOL:this.writeBool(t,r);break;case i.STRING:this.writeString(t,r);break;case i.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");break;case i.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case i.BYTES:this.writeBytes(t,r);break;case i.UINT32:this.writeUint32(t,r);break;case i.ENUM:this.writeEnum(t,r);break;case i.SFIXED32:this.writeSfixed32(t,r);break;case i.SFIXED64:this.writeSfixed64(t,r);break;case i.SINT32:this.writeSint32(t,r);break;case i.SINT64:this.writeSint64(t,r);break;case i.FHASH64:this.writeFixedHash64(t,r);break;case i.VHASH64:this.writeVarintHash64(t,r);break;default:goog.asserts.fail("Invalid field type in writeAny()")}};jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(t))};jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(t))};jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(t))};jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(t))};jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(t))};jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(t))};jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(t))};jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(t))};jspb.BinaryWriter.prototype.writeInt32=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeInt32String=function(o,t){t!=null&&(t=parseInt(t,10),goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeInt64=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(o,t))};jspb.BinaryWriter.prototype.writeInt64String=function(o,t){t!=null&&(t=jspb.arith.Int64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeUint32=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeUint32String=function(o,t){t!=null&&(t=parseInt(t,10),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeUint64=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(o,t))};jspb.BinaryWriter.prototype.writeUint64String=function(o,t){t!=null&&(t=jspb.arith.UInt64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeSint32=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(o,t))};jspb.BinaryWriter.prototype.writeSint64=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(o,t))};jspb.BinaryWriter.prototype.writeSintHash64=function(o,t){t!=null&&this.writeZigzagVarintHash64_(o,t)};jspb.BinaryWriter.prototype.writeSint64String=function(o,t){t!=null&&this.writeZigzagVarint64String_(o,t)};jspb.BinaryWriter.prototype.writeFixed32=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(t))};jspb.BinaryWriter.prototype.writeFixed64=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(t))};jspb.BinaryWriter.prototype.writeFixed64String=function(o,t){t!=null&&(t=jspb.arith.UInt64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeSfixed32=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(t))};jspb.BinaryWriter.prototype.writeSfixed64=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(t))};jspb.BinaryWriter.prototype.writeSfixed64String=function(o,t){t!=null&&(t=jspb.arith.Int64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeFloat=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(t))};jspb.BinaryWriter.prototype.writeDouble=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(t))};jspb.BinaryWriter.prototype.writeBool=function(o,t){t!=null&&(goog.asserts.assert(typeof t=="boolean"||typeof t=="number"),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(t))};jspb.BinaryWriter.prototype.writeEnum=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(t))};jspb.BinaryWriter.prototype.writeString=function(o,t){t!=null&&(o=this.beginDelimited_(o),this.encoder_.writeString(t),this.endDelimited_(o))};jspb.BinaryWriter.prototype.writeBytes=function(o,t){t!=null&&(t=jspb.utils.byteSourceToUint8Array(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(t.length),this.appendUint8Array_(t))};jspb.BinaryWriter.prototype.writeMessage=function(o,t,r){t!=null&&(o=this.beginDelimited_(o),r(t,this),this.endDelimited_(o))};jspb.BinaryWriter.prototype.writeMessageSet=function(o,t,r){t!=null&&(this.writeFieldHeader_(1,jspb.BinaryConstants.WireType.START_GROUP),this.writeFieldHeader_(2,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(o),o=this.beginDelimited_(3),r(t,this),this.endDelimited_(o),this.writeFieldHeader_(1,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeGroup=function(o,t,r){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.START_GROUP),r(t,this),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeFixedHash64=function(o,t){t!=null&&(goog.asserts.assert(t.length==8),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(t))};jspb.BinaryWriter.prototype.writeVarintHash64=function(o,t){t!=null&&(goog.asserts.assert(t.length==8),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(t))};jspb.BinaryWriter.prototype.writeSplitFixed64=function(o,t,r){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(t,r)};jspb.BinaryWriter.prototype.writeSplitVarint64=function(o,t,r){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(t,r)};jspb.BinaryWriter.prototype.writeSplitZigzagVarint64=function(o,t,r){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT);var i=this.encoder_;jspb.utils.toZigzag64(t,r,function(n,s){i.writeSplitVarint64(n>>>0,s>>>0)})};jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSignedVarint32_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeInt32String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedInt64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSignedVarint64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSplitFixed64=function(o,t,r,i){if(t!=null)for(var n=0;n<t.length;n++)this.writeSplitFixed64(o,r(t[n]),i(t[n]))};jspb.BinaryWriter.prototype.writeRepeatedSplitVarint64=function(o,t,r,i){if(t!=null)for(var n=0;n<t.length;n++)this.writeSplitVarint64(o,r(t[n]),i(t[n]))};jspb.BinaryWriter.prototype.writeRepeatedSplitZigzagVarint64=function(o,t,r,i){if(t!=null)for(var n=0;n<t.length;n++)this.writeSplitZigzagVarint64(o,r(t[n]),i(t[n]))};jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeInt64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUnsignedVarint32_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUint32String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUnsignedVarint64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUint64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSint32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarint32_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSint64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarint64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarint64String_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSintHash64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarintHash64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixed32(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixed64(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixed64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSfixed32(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSfixed64(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSfixed64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFloat=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFloat(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedDouble=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeDouble(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedBool=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeBool(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedEnum=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeEnum(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedString=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeString(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedBytes=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeBytes(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedMessage=function(o,t,r){if(t!=null)for(var i=0;i<t.length;i++){var n=this.beginDelimited_(o);r(t[i],this),this.endDelimited_(n)}};jspb.BinaryWriter.prototype.writeRepeatedGroup=function(o,t,r){if(t!=null)for(var i=0;i<t.length;i++)this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.START_GROUP),r(t[i],this),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.END_GROUP)};jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixedHash64(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeVarintHash64(o,t[r])};jspb.BinaryWriter.prototype.writePackedInt32=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeSignedVarint32(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedInt32String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeSignedVarint32(parseInt(t[r],10));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedInt64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeSignedVarint64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSplitFixed64=function(o,t,r,i){if(t!=null){o=this.beginDelimited_(o);for(var n=0;n<t.length;n++)this.encoder_.writeSplitFixed64(r(t[n]),i(t[n]));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSplitVarint64=function(o,t,r,i){if(t!=null){o=this.beginDelimited_(o);for(var n=0;n<t.length;n++)this.encoder_.writeSplitVarint64(r(t[n]),i(t[n]));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSplitZigzagVarint64=function(o,t,r,i){if(t!=null){o=this.beginDelimited_(o);for(var n=this.encoder_,s=0;s<t.length;s++)jspb.utils.toZigzag64(r(t[s]),i(t[s]),function(l,g){n.writeSplitVarint64(l>>>0,g>>>0)});this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedInt64String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++){var i=jspb.arith.Int64.fromString(t[r]);this.encoder_.writeSplitVarint64(i.lo,i.hi)}this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint32=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint32(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint32String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint32(parseInt(t[r],10));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint64String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++){var i=jspb.arith.UInt64.fromString(t[r]);this.encoder_.writeSplitVarint64(i.lo,i.hi)}this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSint32=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarint32(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSint64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarint64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSint64String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(t[r]));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSintHash64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarintHash64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedFixed32=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length),o=0;o<t.length;o++)this.encoder_.writeUint32(t[o])};jspb.BinaryWriter.prototype.writePackedFixed64=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeUint64(t[o])};jspb.BinaryWriter.prototype.writePackedFixed64String=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++){var r=jspb.arith.UInt64.fromString(t[o]);this.encoder_.writeSplitFixed64(r.lo,r.hi)}};jspb.BinaryWriter.prototype.writePackedSfixed32=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length),o=0;o<t.length;o++)this.encoder_.writeInt32(t[o])};jspb.BinaryWriter.prototype.writePackedSfixed64=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeInt64(t[o])};jspb.BinaryWriter.prototype.writePackedSfixed64String=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeInt64String(t[o])};jspb.BinaryWriter.prototype.writePackedFloat=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length),o=0;o<t.length;o++)this.encoder_.writeFloat(t[o])};jspb.BinaryWriter.prototype.writePackedDouble=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeDouble(t[o])};jspb.BinaryWriter.prototype.writePackedBool=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(t.length),o=0;o<t.length;o++)this.encoder_.writeBool(t[o])};jspb.BinaryWriter.prototype.writePackedEnum=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeEnum(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedFixedHash64=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeFixedHash64(t[o])};jspb.BinaryWriter.prototype.writePackedVarintHash64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeVarintHash64(t[r]);this.endDelimited_(o)}};jspb.Export={};exports.Map=jspb.Map;exports.Message=jspb.Message;exports.BinaryReader=jspb.BinaryReader;exports.BinaryWriter=jspb.BinaryWriter;exports.ExtensionFieldInfo=jspb.ExtensionFieldInfo;exports.ExtensionFieldBinaryInfo=jspb.ExtensionFieldBinaryInfo;exports.exportSymbol=goog.exportSymbol;exports.inherits=goog.inherits;exports.object={extend:goog.object.extend};exports.typeOf=goog.typeOf});var or=ct(tr=>{var ce=Zo(),bt=ce,er=function(){return this||window||er||self||Function("return this")()}.call(null);bt.exportSymbol("proto.CommonModels.JsonMessage",null,er);proto.CommonModels.JsonMessage=function(o){ce.Message.initialize(this,o,0,-1,null,null)};bt.inherits(proto.CommonModels.JsonMessage,ce.Message);bt.DEBUG&&!COMPILED&&(proto.CommonModels.JsonMessage.displayName="proto.CommonModels.JsonMessage");ce.Message.GENERATE_TO_OBJECT&&(proto.CommonModels.JsonMessage.prototype.toObject=function(o){return proto.CommonModels.JsonMessage.toObject(o,this)},proto.CommonModels.JsonMessage.toObject=function(o,t){var r,i={value:ce.Message.getFieldWithDefault(t,1,"")};return o&&(i.$jspbMessageInstance=t),i});proto.CommonModels.JsonMessage.deserializeBinary=function(o){var t=new ce.BinaryReader(o),r=new proto.CommonModels.JsonMessage;return proto.CommonModels.JsonMessage.deserializeBinaryFromReader(r,t)};proto.CommonModels.JsonMessage.deserializeBinaryFromReader=function(o,t){for(;t.nextField()&&!t.isEndGroup();){var r=t.getFieldNumber();switch(r){case 1:var i=t.readString();o.setValue(i);break;default:t.skipField();break}}return o};proto.CommonModels.JsonMessage.prototype.serializeBinary=function(){var o=new ce.BinaryWriter;return proto.CommonModels.JsonMessage.serializeBinaryToWriter(this,o),o.getResultBuffer()};proto.CommonModels.JsonMessage.serializeBinaryToWriter=function(o,t){var r=void 0;r=o.getValue(),r.length>0&&t.writeString(1,r)};proto.CommonModels.JsonMessage.prototype.getValue=function(){return ce.Message.getFieldWithDefault(this,1,"")};proto.CommonModels.JsonMessage.prototype.setValue=function(o){return ce.Message.setProto3StringField(this,1,o)};bt.object.extend(tr,proto.CommonModels)});var ho=ct((uo,co)=>{(function(o,t){typeof define=="function"&&define.amd?define([],t):typeof uo<"u"?t():(t(),o.FileSaver={})})(uo,function(){"use strict";function o(g,p){return typeof p>"u"?p={autoBom:!1}:typeof p!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),p={autoBom:!p}),p.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(g.type)?new Blob(["\uFEFF",g],{type:g.type}):g}function t(g,p,m){var E=new XMLHttpRequest;E.open("GET",g),E.responseType="blob",E.onload=function(){l(E.response,p,m)},E.onerror=function(){console.error("could not download file")},E.send()}function r(g){var p=new XMLHttpRequest;p.open("HEAD",g,!1);try{p.send()}catch{}return 200<=p.status&&299>=p.status}function i(g){try{g.dispatchEvent(new MouseEvent("click"))}catch{var p=document.createEvent("MouseEvents");p.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),g.dispatchEvent(p)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,s=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(g,p,m){var E=n.URL||n.webkitURL,h=document.createElement("a");p=p||g.name||"download",h.download=p,h.rel="noopener",typeof g=="string"?(h.href=g,h.origin===location.origin?i(h):r(h.href)?t(g,p,m):i(h,h.target="_blank")):(h.href=E.createObjectURL(g),setTimeout(function(){E.revokeObjectURL(h.href)},4e4),setTimeout(function(){i(h)},0))}:"msSaveOrOpenBlob"in navigator?function(g,p,m){if(p=p||g.name||"download",typeof g!="string")navigator.msSaveOrOpenBlob(o(g,m),p);else if(r(g))t(g,p,m);else{var E=document.createElement("a");E.href=g,E.target="_blank",setTimeout(function(){i(E)})}}:function(g,p,m,E){if(E=E||open("","_blank"),E&&(E.document.title=E.document.body.innerText="downloading..."),typeof g=="string")return t(g,p,m);var h=g.type==="application/octet-stream",S=/constructor/i.test(n.HTMLElement)||n.safari,T=/CriOS\/[\d]+/.test(navigator.userAgent);if((T||h&&S||s)&&typeof FileReader<"u"){var I=new FileReader;I.onloadend=function(){var v=I.result;v=T?v:v.replace(/^data:[^;]*;/,"data:attachment/file;"),E?E.location.href=v:location=v,E=null},I.readAsDataURL(g)}else{var y=n.URL||n.webkitURL,u=y.createObjectURL(g);E?E.location=u:location.href=u,E=null,setTimeout(function(){y.revokeObjectURL(u)},4e4)}});n.saveAs=l.saveAs=l,typeof co<"u"&&(co.exports=l)})});var Cr=ct((Eo,To)=>{(function(o,t){typeof Eo=="object"&&typeof To<"u"?To.exports=t():typeof define=="function"&&define.amd?define(t):o.Croppr=t()})(Eo,function(){"use strict";(function(){for(var I=0,y=["ms","moz","webkit","o"],u=0;u<y.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[y[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[y[u]+"CancelAnimationFrame"]||window[y[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(v,w){var D=new Date().getTime(),_=Math.max(0,16-(D-I)),C=window.setTimeout(function(){v(D+_)},_);return I=D+_,C}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(v){clearTimeout(v)})})(),function(){if(typeof window.CustomEvent=="function")return!1;function I(y,u){u=u||{bubbles:!1,cancelable:!1,detail:void 0};var v=document.createEvent("CustomEvent");return v.initCustomEvent(y,u.bubbles,u.cancelable,u.detail),v}I.prototype=window.Event.prototype,window.CustomEvent=I}(),function(I){try{return new CustomEvent("test"),!1}catch{}function y(u,v){v=v||{bubbles:!1,cancelable:!1};var w=document.createEvent("MouseEvent");return w.initMouseEvent(u,v.bubbles,v.cancelable,I,0,0,0,0,0,!1,!1,!1,!1,0,null),w}y.prototype=Event.prototype,I.MouseEvent=y}(window);var o=function(I,y){if(!(I instanceof y))throw new TypeError("Cannot call a class as a function")},t=function(){function I(y,u){for(var v=0;v<u.length;v++){var w=u[v];w.enumerable=w.enumerable||!1,w.configurable=!0,"value"in w&&(w.writable=!0),Object.defineProperty(y,w.key,w)}}return function(y,u,v){return u&&I(y.prototype,u),v&&I(y,v),y}}(),r=function I(y,u,v){y===null&&(y=Function.prototype);var w=Object.getOwnPropertyDescriptor(y,u);if(w===void 0){var D=Object.getPrototypeOf(y);return D===null?void 0:I(D,u,v)}else{if("value"in w)return w.value;var _=w.get;return _===void 0?void 0:_.call(v)}},i=function(I,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof y);I.prototype=Object.create(y&&y.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),y&&(Object.setPrototypeOf?Object.setPrototypeOf(I,y):I.__proto__=y)},n=function(I,y){if(!I)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y&&(typeof y=="object"||typeof y=="function")?y:I},s=function(){function I(y,u){var v=[],w=!0,D=!1,_=void 0;try{for(var C=y[Symbol.iterator](),M;!(w=(M=C.next()).done)&&(v.push(M.value),!(u&&v.length===u));w=!0);}catch(R){D=!0,_=R}finally{try{!w&&C.return&&C.return()}finally{if(D)throw _}}return v}return function(y,u){if(Array.isArray(y))return y;if(Symbol.iterator in Object(y))return I(y,u);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),l=function I(y,u,v,w){o(this,I);var D=this;this.position=y,this.constraints=u,this.cursor=v,this.eventBus=w,this.el=document.createElement("div"),this.el.className="croppr-handle",this.el.style.cursor=v,this.el.addEventListener("mousedown",_);function _(R){R.stopPropagation(),document.addEventListener("mouseup",C),document.addEventListener("mousemove",M),D.eventBus.dispatchEvent(new CustomEvent("handlestart",{detail:{handle:D}}))}function C(R){R.stopPropagation(),document.removeEventListener("mouseup",C),document.removeEventListener("mousemove",M),D.eventBus.dispatchEvent(new CustomEvent("handleend",{detail:{handle:D}}))}function M(R){R.stopPropagation(),D.eventBus.dispatchEvent(new CustomEvent("handlemove",{detail:{mouseX:R.clientX,mouseY:R.clientY}}))}},g=function(){function I(y,u,v,w){o(this,I),this.x1=y,this.y1=u,this.x2=v,this.y2=w}return t(I,[{key:"set",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return this.x1=u??this.x1,this.y1=v??this.y1,this.x2=w??this.x2,this.y2=D??this.y2,this}},{key:"width",value:function(){return Math.abs(this.x2-this.x1)}},{key:"height",value:function(){return Math.abs(this.y2-this.y1)}},{key:"resize",value:function(u,v){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[0,0],D=this.x1+this.width()*w[0],_=this.y1+this.height()*w[1];return this.x1=D-u*w[0],this.y1=_-v*w[1],this.x2=this.x1+u,this.y2=this.y1+v,this}},{key:"scale",value:function(u){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0],w=this.width()*u,D=this.height()*u;return this.resize(w,D,v),this}},{key:"move",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,w=this.width(),D=this.height();return u=u===null?this.x1:u,v=v===null?this.y1:v,this.x1=u,this.y1=v,this.x2=u+w,this.y2=v+D,this}},{key:"getRelativePoint",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[0,0],v=this.width()*u[0],w=this.height()*u[1];return[v,w]}},{key:"getAbsolutePoint",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[0,0],v=this.x1+this.width()*u[0],w=this.y1+this.height()*u[1];return[v,w]}},{key:"constrainToRatio",value:function(u){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0],w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"height";if(u!==null){var D=this.width(),_=this.height();switch(w){case"height":this.resize(this.width(),this.width()*u,v);break;case"width":this.resize(this.height()*1/u,this.height(),v);break;default:this.resize(this.width(),this.width()*u,v)}return this}}},{key:"constrainToBoundary",value:function(u,v){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[0,0],D=this.getAbsolutePoint(w),_=s(D,2),C=_[0],M=_[1],R=C,B=M,U=u-C,F=v-M,G=-2*w[0]+1,L=-2*w[1]+1,N=null,Y=null;switch(G){case-1:N=R;break;case 0:N=Math.min(R,U)*2;break;case 1:N=U;break}switch(L){case-1:Y=B;break;case 0:Y=Math.min(B,F)*2;break;case 1:Y=F;break}if(this.width()>N){var K=N/this.width();this.scale(K,w)}if(this.height()>Y){var X=Y/this.height();this.scale(X,w)}return this}},{key:"constrainToSize",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0,0],C=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;if(C&&(C>1?(u=v*1/C,D=D*C):C<1&&(v=u*C,w=D*1/C)),u&&this.width()>u){var M=u,R=C===null?this.height():v;this.resize(M,R,_)}if(v&&this.height()>v){var B=C===null?this.width():u,U=v;this.resize(B,U,_)}if(w&&this.width()<w){var F=w,G=C===null?this.height():D;this.resize(F,G,_)}if(D&&this.height()<D){var L=C===null?this.width():w,N=D;this.resize(L,N,_)}return this}}]),I}();function p(I){I.addEventListener("touchstart",m),I.addEventListener("touchend",m),I.addEventListener("touchmove",m)}function m(I){I.preventDefault();var y=I.changedTouches[0],u={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"};y.target.dispatchEvent(new MouseEvent(u[I.type],{bubbles:!0,cancelable:!0,view:window,clientX:y.clientX,clientY:y.clientY,screenX:y.screenX,screenY:y.screenY}))}var E=[{position:[0,0],constraints:[1,0,0,1],cursor:"nw-resize"},{position:[.5,0],constraints:[1,0,0,0],cursor:"n-resize"},{position:[1,0],constraints:[1,1,0,0],cursor:"ne-resize"},{position:[1,.5],constraints:[0,1,0,0],cursor:"e-resize"},{position:[1,1],constraints:[0,1,1,0],cursor:"se-resize"},{position:[.5,1],constraints:[0,0,1,0],cursor:"s-resize"},{position:[0,1],constraints:[0,0,1,1],cursor:"sw-resize"},{position:[0,.5],constraints:[0,0,0,1],cursor:"w-resize"}],h=function(){function I(y,u){var v=this,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(o(this,I),this.options=I.parseOptions(u||{}),!y.nodeName&&(y=document.querySelector(y),y==null))throw"Unable to find element.";if(!y.getAttribute("src"))throw"Image src not provided.";this._initialized=!1,this._restore={parent:y.parentNode,element:y},w||(y.width===0||y.height===0?y.onload=function(){v.initialize(y)}:this.initialize(y))}return t(I,[{key:"initialize",value:function(u){this.createDOM(u),this.options.convertToPixels(this.cropperEl),this.attachHandlerEvents(),this.attachRegionEvents(),this.attachOverlayEvents(),this.box=this.initializeBox(this.options),this.redraw(),this._initialized=!0,this.options.onInitialize!==null&&this.options.onInitialize(this)}},{key:"createDOM",value:function(u){this.containerEl=document.createElement("div"),this.containerEl.className="croppr-container",this.eventBus=this.containerEl,p(this.containerEl),this.cropperEl=document.createElement("div"),this.cropperEl.className="croppr",this.imageEl=document.createElement("img"),this.imageEl.setAttribute("src",u.getAttribute("src")),this.imageEl.setAttribute("alt",u.getAttribute("alt")),this.imageEl.className="croppr-image",this.imageClippedEl=this.imageEl.cloneNode(),this.imageClippedEl.className="croppr-imageClipped",this.regionEl=document.createElement("div"),this.regionEl.className="croppr-region",this.overlayEl=document.createElement("div"),this.overlayEl.className="croppr-overlay";var v=document.createElement("div");v.className="croppr-handleContainer",this.handles=[];for(var w=0;w<E.length;w++){var D=new l(E[w].position,E[w].constraints,E[w].cursor,this.eventBus);this.handles.push(D),v.appendChild(D.el)}this.cropperEl.appendChild(this.imageEl),this.cropperEl.appendChild(this.imageClippedEl),this.cropperEl.appendChild(this.regionEl),this.cropperEl.appendChild(this.overlayEl),this.cropperEl.appendChild(v),this.containerEl.appendChild(this.cropperEl),u.parentElement.replaceChild(this.containerEl,u)}},{key:"setImage",value:function(u){var v=this;return this.imageEl.onload=function(){v.box=v.initializeBox(v.options),v.redraw()},this.imageEl.src=u,this.imageClippedEl.src=u,this}},{key:"destroy",value:function(){this._restore.parent.replaceChild(this._restore.element,this.containerEl)}},{key:"initializeBox",value:function(u){var v=u.startSize.width,w=u.startSize.height,D=new g(0,0,v,w);D.constrainToRatio(u.aspectRatio,[.5,.5]);var _=u.minSize,C=u.maxSize;D.constrainToSize(C.width,C.height,_.width,_.height,[.5,.5],u.aspectRatio);var M=this.cropperEl.offsetWidth,R=this.cropperEl.offsetHeight;D.constrainToBoundary(M,R,[.5,.5]);var B=this.cropperEl.offsetWidth/2-D.width()/2,U=this.cropperEl.offsetHeight/2-D.height()/2;return D.move(B,U),D}},{key:"redraw",value:function(){var u=this,v=Math.round(this.box.width()),w=Math.round(this.box.height()),D=Math.round(this.box.x1),_=Math.round(this.box.y1),C=Math.round(this.box.x2),M=Math.round(this.box.y2);window.requestAnimationFrame(function(){u.regionEl.style.transform="translate("+D+"px, "+_+"px)",u.regionEl.style.width=v+"px",u.regionEl.style.height=w+"px",u.imageClippedEl.style.clip="rect("+_+"px, "+C+"px, "+M+"px, "+D+"px)";for(var R=u.box.getAbsolutePoint([.5,.5]),B=R[0]-u.cropperEl.offsetWidth/2>>31,U=R[1]-u.cropperEl.offsetHeight/2>>31,F=(B^U)+U+U+4,G=-2*F+8,L=0;L<u.handles.length;L++){var N=u.handles[L],Y=N.el.offsetWidth,K=N.el.offsetHeight,X=D+v*N.position[0]-Y/2,ue=_+w*N.position[1]-K/2;N.el.style.transform="translate("+Math.round(X)+"px, "+Math.round(ue)+"px)",N.el.style.zIndex=G==L?5:4}})}},{key:"attachHandlerEvents",value:function(){var u=this.eventBus;u.addEventListener("handlestart",this.onHandleMoveStart.bind(this)),u.addEventListener("handlemove",this.onHandleMoveMoving.bind(this)),u.addEventListener("handleend",this.onHandleMoveEnd.bind(this))}},{key:"attachRegionEvents",value:function(){var u=this.eventBus,v=this;this.regionEl.addEventListener("mousedown",w),u.addEventListener("regionstart",this.onRegionMoveStart.bind(this)),u.addEventListener("regionmove",this.onRegionMoveMoving.bind(this)),u.addEventListener("regionend",this.onRegionMoveEnd.bind(this));function w(C){C.stopPropagation(),document.addEventListener("mouseup",_),document.addEventListener("mousemove",D),u.dispatchEvent(new CustomEvent("regionstart",{detail:{mouseX:C.clientX,mouseY:C.clientY}}))}function D(C){C.stopPropagation(),u.dispatchEvent(new CustomEvent("regionmove",{detail:{mouseX:C.clientX,mouseY:C.clientY}}))}function _(C){C.stopPropagation(),document.removeEventListener("mouseup",_),document.removeEventListener("mousemove",D),u.dispatchEvent(new CustomEvent("regionend",{detail:{mouseX:C.clientX,mouseY:C.clientY}}))}}},{key:"attachOverlayEvents",value:function(){var u=4,v=this,w=null;this.overlayEl.addEventListener("mousedown",D);function D(M){M.stopPropagation(),document.addEventListener("mouseup",C),document.addEventListener("mousemove",_);var R=v.cropperEl.getBoundingClientRect(),B=M.clientX-R.left,U=M.clientY-R.top;w=v.box,v.box=new g(B,U,B+1,U+1),v.eventBus.dispatchEvent(new CustomEvent("handlestart",{detail:{handle:v.handles[u]}}))}function _(M){M.stopPropagation(),v.eventBus.dispatchEvent(new CustomEvent("handlemove",{detail:{mouseX:M.clientX,mouseY:M.clientY}}))}function C(M){if(M.stopPropagation(),document.removeEventListener("mouseup",C),document.removeEventListener("mousemove",_),v.box.width()===1&&v.box.height()===1){v.box=w;return}v.eventBus.dispatchEvent(new CustomEvent("handleend",{detail:{mouseX:M.clientX,mouseY:M.clientY}}))}}},{key:"onHandleMoveStart",value:function(u){var v=u.detail.handle,w=[1-v.position[0],1-v.position[1]],D=this.box.getAbsolutePoint(w),_=s(D,2),C=_[0],M=_[1];this.activeHandle={handle:v,originPoint:w,originX:C,originY:M},this.options.onCropStart!==null&&this.options.onCropStart(this.getValue())}},{key:"onHandleMoveMoving",value:function(u){var v=u.detail,w=v.mouseX,D=v.mouseY,_=this.cropperEl.getBoundingClientRect();w=w-_.left,D=D-_.top,w<0?w=0:w>_.width&&(w=_.width),D<0?D=0:D>_.height&&(D=_.height);var C=this.activeHandle.originPoint.slice(),M=this.activeHandle.originX,R=this.activeHandle.originY,B=this.activeHandle.handle,U=B.constraints[0]===1,F=B.constraints[1]===1,G=B.constraints[2]===1,L=B.constraints[3]===1,N=(L||F)&&(U||G),Y=L||F?M:this.box.x1,K=L||F?M:this.box.x2,X=U||G?R:this.box.y1,ue=U||G?R:this.box.y2;Y=L?w:Y,K=F?w:K,X=U?D:X,ue=G?D:ue;var et=!1,Oe=!1;if((L||F)&&(et=L?w>M:w<M),(U||G)&&(Oe=U?D>R:D<R),et){var te=Y;Y=K,K=te,C[0]=1-C[0]}if(Oe){var qr=X;X=ue,ue=qr,C[1]=1-C[1]}var ye=new g(Y,X,K,ue);if(this.options.aspectRatio){var Xt=this.options.aspectRatio,Zt=!1;N?Zt=D>ye.y1+Xt*ye.width()||D<ye.y2-Xt*ye.width():(U||G)&&(Zt=!0);var Qr=Zt?"width":"height";ye.constrainToRatio(Xt,C,Qr)}var Ho=this.options.minSize,Wo=this.options.maxSize;ye.constrainToSize(Wo.width,Wo.height,Ho.width,Ho.height,C,this.options.aspectRatio);var Xr=this.cropperEl.offsetWidth,Zr=this.cropperEl.offsetHeight;ye.constrainToBoundary(Xr,Zr,C),this.box=ye,this.redraw(),this.options.onCropMove!==null&&this.options.onCropMove(this.getValue())}},{key:"onHandleMoveEnd",value:function(u){this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue())}},{key:"onRegionMoveStart",value:function(u){var v=u.detail,w=v.mouseX,D=v.mouseY,_=this.cropperEl.getBoundingClientRect();w=w-_.left,D=D-_.top,this.currentMove={offsetX:w-this.box.x1,offsetY:D-this.box.y1},this.options.onCropStart!==null&&this.options.onCropStart(this.getValue())}},{key:"onRegionMoveMoving",value:function(u){var v=u.detail,w=v.mouseX,D=v.mouseY,_=this.currentMove,C=_.offsetX,M=_.offsetY,R=this.cropperEl.getBoundingClientRect();w=w-R.left,D=D-R.top,this.box.move(w-C,D-M),this.box.x1<0&&this.box.move(0,null),this.box.x2>R.width&&this.box.move(R.width-this.box.width(),null),this.box.y1<0&&this.box.move(null,0),this.box.y2>R.height&&this.box.move(null,R.height-this.box.height()),this.redraw(),this.options.onCropMove!==null&&this.options.onCropMove(this.getValue())}},{key:"onRegionMoveEnd",value:function(u){this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue())}},{key:"getValue",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;if(u===null&&(u=this.options.returnMode),u=="real"){var v=this.imageEl.naturalWidth,w=this.imageEl.naturalHeight,D=this.imageEl.getBoundingClientRect(),_=D.width,C=D.height,M=v/_,R=w/C;return{x:Math.round(this.box.x1*M),y:Math.round(this.box.y1*R),width:Math.round(this.box.width()*M),height:Math.round(this.box.height()*R)}}else if(u=="ratio"){var B=this.imageEl.getBoundingClientRect(),U=B.width,F=B.height;return{x:S(this.box.x1/U,3),y:S(this.box.y1/F,3),width:S(this.box.width()/U,3),height:S(this.box.height()/F,3)}}else if(u=="raw")return{x:Math.round(this.box.x1),y:Math.round(this.box.y1),width:Math.round(this.box.width()),height:Math.round(this.box.height())}}}],[{key:"parseOptions",value:function(u){var v={aspectRatio:null,maxSize:{width:null,height:null},minSize:{width:null,height:null},startSize:{width:100,height:100,unit:"%"},returnMode:"real",onInitialize:null,onCropStart:null,onCropMove:null,onCropEnd:null},w=null;u.aspectRatio!==void 0&&(typeof u.aspectRatio=="number"?w=u.aspectRatio:u.aspectRatio instanceof Array&&(w=u.aspectRatio[1]/u.aspectRatio[0]));var D=null;u.maxSize!==void 0&&u.maxSize!==null&&(D={width:u.maxSize[0]||null,height:u.maxSize[1]||null,unit:u.maxSize[2]||"px"});var _=null;u.minSize!==void 0&&u.minSize!==null&&(_={width:u.minSize[0]||null,height:u.minSize[1]||null,unit:u.minSize[2]||"px"});var C=null;u.startSize!==void 0&&u.startSize!==null&&(C={width:u.startSize[0]||null,height:u.startSize[1]||null,unit:u.startSize[2]||"%"});var M=null;typeof u.onInitialize=="function"&&(M=u.onInitialize);var R=null;typeof u.onCropStart=="function"&&(R=u.onCropStart);var B=null;typeof u.onCropEnd=="function"&&(B=u.onCropEnd);var U=null;typeof u.onUpdate=="function"&&(console.warn("Croppr.js: `onUpdate` is deprecated and will be removed in the next major release. Please use `onCropMove` or `onCropEnd` instead."),U=u.onUpdate),typeof u.onCropMove=="function"&&(U=u.onCropMove);var F=null;if(u.returnMode!==void 0){var G=u.returnMode.toLowerCase();if(["real","ratio","raw"].indexOf(G)===-1)throw"Invalid return mode.";F=G}var L=function(K){for(var X=K.offsetWidth,ue=K.offsetHeight,et=["maxSize","minSize","startSize"],Oe=0;Oe<et.length;Oe++){var te=et[Oe];this[te]!==null&&(this[te].unit=="%"&&(this[te].width!==null&&(this[te].width=this[te].width/100*X),this[te].height!==null&&(this[te].height=this[te].height/100*ue)),delete this[te].unit)}},N=function(K,X){return K!==null?K:X};return{aspectRatio:N(w,v.aspectRatio),maxSize:N(D,v.maxSize),minSize:N(_,v.minSize),startSize:N(C,v.startSize),returnMode:N(F,v.returnMode),onInitialize:N(M,v.onInitialize),onCropStart:N(R,v.onCropStart),onCropMove:N(U,v.onCropMove),onCropEnd:N(B,v.onCropEnd),convertToPixels:L}}}]),I}();function S(I,y){return Number(Math.round(I+"e"+y)+"e-"+y)}var T=function(I){i(y,I);function y(u,v){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return o(this,y),n(this,(y.__proto__||Object.getPrototypeOf(y)).call(this,u,v,w))}return t(y,[{key:"getValue",value:function(v){return r(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"getValue",this).call(this,v)}},{key:"setImage",value:function(v){return r(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"setImage",this).call(this,v)}},{key:"destroy",value:function(){return r(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"destroy",this).call(this)}},{key:"moveTo",value:function(v,w){return this.box.move(v,w),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}},{key:"resizeTo",value:function(v,w){var D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[.5,.5];return this.box.resize(v,w,D),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}},{key:"scaleBy",value:function(v){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[.5,.5];return this.box.scale(v,w),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}},{key:"reset",value:function(){return this.box=this.initializeBox(this.options),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}}]),y}(h);return T})});var ot=(n=>(n[n.Invalid=0]="Invalid",n[n.Valid=1]="Valid",n[n.ExpireSoon=2]="ExpireSoon",n[n.Expired=3]="Expired",n))(ot||{});var be=(m=>(m[m.GridView=0]="GridView",m[m.Dashboard=1]="Dashboard",m[m.MenuNode=2]="MenuNode",m[m.Report=3]="Report",m[m.Diagram=4]="Diagram",m[m.CDM=5]="CDM",m[m.Slideshow=6]="Slideshow",m[m.GanttChart=7]="GanttChart",m[m.Scheduler=8]="Scheduler",m))(be||{});function P(o,t=!0){let r=t?"success":"error",i=t?2e3:4e3;DevExpress.ui.notify({message:o,type:r,onShowing:n=>{let s=n.element.find(".dx-toast-message");s.html((s.html()||"").replace("\\n","<br />"))}},r,i)}var mt=o=>o?Array.isArray(o)?o[0].StackTrace!==void 0||o[0].Error!==void 0:o.Error!==void 0:!1;var Ee=(r=>(r[r.Completed=1]="Completed",r[r.Errored=2]="Errored",r))(Ee||{});var oo={};ie(oo,{createButtons:()=>qo,createDialog:()=>J,createItem:()=>hi});var eo={};ie(eo,{CSS_CLASSES:()=>oe});var oe={dxDataGrid:"iszolea-dx-datagrid",dxButton:"iszolea-dx-button",dxPopup:"iszolea-dx-popup"};var di="popup-content",gi="popup-footer",pi="buttons",to="ok-btn",Jo="cancel-btn";function ui(o,t){return{$content:$("<div />").addClass(di).addClass(t).appendTo(o),$footer:$("<div />").addClass(gi).appendTo(o)}}var ft=[];function ci(o,t,r=!1){let i=t.onShowing;t.onShown=l=>{i&&i(l);let g=s.content().find("input[type=text]"),p=g.eq(0);p.focus();let m={keydown:E=>{ft[ft.length-1]===s&&(E.keyCode===13&&$(E.currentTarget).trigger("change"),n(E))}};r?g.on(m):p.on(m)};function n(l){l.keyCode===13&&s.content().find(`.${oe.dxButton}.${to}`).click(),l.keyCode===27&&s.content().find(`.${oe.dxButton}.${Jo}`).click()}let s=o.dxPopup(t).dxPopup("instance");return{show:()=>{s.show(),$(document).on({keydown:n}),ft.push(s)},hide:()=>{$(document).off({keydown:n}),s.hide(),ft.pop()},remove:()=>o.remove()}}function qo(o,t){let r=$("<table />").addClass(pi),i=$("<tr>").appendTo(r);return o&&$("<td />").attr("width",t?"50%":"100%").append($("<div />").addClass(oe.dxButton).addClass(to).dxButton(o)).appendTo(i),t&&$("<td />").attr("width","50%").append($("<div />").addClass(oe.dxButton).addClass(Jo).dxButton(t)).appendTo(i),r}function hi(o,t){return $("<div />").addClass("item").append($("<div />").addClass("form-label").text(o),$("<div />").addClass("value").append(t))}function J(o,t,r,i,n){let s=$("<div>").appendTo("body"),l=null,g=null,p=n?n.useKeyPressBehavior:!1;function m(){g.hide(),g.remove()}let E={contentTemplate:S=>{let{$content:T,$footer:I}=ui(S);T.append(t),r?(l=qo({text:r.text,icon:r.icon,disabled:r.disabled,type:"success",onClick:y=>r.onClick(m)},i?{text:i.text,icon:i.icon,disabled:i.disabled,onClick:y=>i.onClick(m)}:void 0),I.append(l)):I.remove()},wrapperAttr:{class:"iszolea-dx-popup"}},h={};return $.extend(!0,h,o,E),g=ci(s,h,p),g.show(),{okBtn:l?l.find(`.${to}`).dxButton("instance"):null,close:()=>m()}}var mi="iszolea-error-dx-popup",fi="iszolea-error-dx-popup__content",yi="iszolea-error-dx-popup__error-message",vi="iszolea-error-dx-popup__error-details",Qo="Show details",Si="Hide details";function ro(o,t){let r,i=Array.isArray(t)?t:[t],n=$("<div />").addClass(fi);i.forEach((g,p)=>{let m=$("<p />").addClass(yi).text(g.Error),E=$("<p />").addClass(vi).text(g.StackTrace);n.append(m,E).hide(),p<i.length-1&&n.append($("<hr />"))});let s=J({title:o,height:"auto",animation:{show:{direction:"bottom",type:"slideIn"},hide:{direction:"bottom",type:"slideOut"}},position:{my:"bottom",at:"bottom",offset:{y:-50}},shading:!1,dragEnabled:!1,onInitialized:g=>{r=g.component,g.element.addClass(mi)}},n,{text:Qo,onClick:()=>{let g=!r.option("fullScreen");l(g),s.okBtn.option("text",g?Si:Qo)}},{text:"Close",onClick:g=>g()}),l=g=>{n.toggle(g),r.option("fullScreen",g),r.repaint()}}var rt=(i=>(i[i.UnexpectedException=0]="UnexpectedException",i[i.SqlException=1]="SqlException",i[i.IszoleaConfigurationException=2]="IszoleaConfigurationException",i))(rt||{});var yt=o=>{switch(o){case 1:return"We attempted to execute the data query however it appears there is an error in the data source.";case 2:return"Something wrong with iszolea configuration. Check ClientId/ClientSecret fields in the appsettings.json file.";default:return""}};var io="Unexpected error occurred. Please contact to developers.",bi=[504],vt=()=>io;function Te(o,t=!1){return t&&P(o.Message),JSON.stringify(o.Data)}function ne(o,t,r){let i=o.Message,n={message:i},s,l=Ei(i);if(l!==null?s=(r?r(l):"")||io:s=i||io,t){let g=o.Data;if(mt(g)){let p=Array.isArray(g)&&g.length,m=!Array.isArray(g)&&(g.StackTrace||g.Error);if(p||m)return ro(s,g),n}P(s,!1)}return n}function Ei(o){return!isNaN(o)&&rt[+o]?+o:null}function Xo(o){let t=o.request.response?JSON.parse(o.request.response):{};return t.RequestState===1?(Te(t),!0):(ne(t,!0),!1)}function x(o,t="GET",r=null,i,n){let s=$.Deferred(),l=(n==null?void 0:n.notifyError)===void 0||n.notifyError,g={headers:{Accept:"application/json"}},p=$.extend({type:t,url:o,data:r},n,g);return $.ajax(p).done(m=>{let E=m;if(E.RequestState===1){Te(E,i),s.resolve(E.Data);return}let{message:h}=ne(E,l,(n==null?void 0:n.getUserFriendlyErrorMessage)||yt);s.reject(h)}).fail((m,E)=>{!bi.includes(m.status)&&l&&P(vt(),!1),s.reject(E)}),s}function St(o){return o().catch(t=>{let r=t.metadata["grpc-error"],i=t.metadata["grpc-stacktrace"];if(r||i){let n=atob(i);ro(r,{Error:r,StackTrace:n})}else P(t.message,!1)})}var rr=ht(or());function no(o,t,r,i){if(!o||typeof o!="object"||!o.RequestState||o.RequestState===1)return o;try{let n=ne(o,t,i).message;return $.Deferred().reject(n)}catch(n){return $.Deferred().reject(n)}}function se(o){let t=DevExpress.data.AspNet.createStore(O(A({},o),{onBeforeSend:(r,i)=>{(r==="update"||r==="insert")&&(i.headers={Accept:"application/json"}),o.onBeforeSend&&o.onBeforeSend(r,i);let n=(o==null?void 0:o.notifyError)===void 0||o.notifyError;i.dataFilter=s=>{let l=JSON.parse(s);if(l.RequestState===1)return Te(l,o.notifySuccess);let g=ne(l,n,o==null?void 0:o.getUserFriendlyErrorMessage).message;return l.Message=g,JSON.stringify(l)},i.error=s=>{let l=JSON.parse(s.responseText||"{}");l.RequestState||ne(l,n,o==null?void 0:o.getUserFriendlyErrorMessage)}}}));return t._errorHandler=r=>{r&&!r.message&&(r.message=vt())},Object.defineProperty(t,"loadUrl",{value:o.loadUrl,writable:!1}),Object.defineProperty(t,"loadParams",{value:o.loadParams,writable:!1}),t}function Et(o){let t=(o==null?void 0:o.notifyError)===void 0||o.notifyError,r=!!(o==null?void 0:o.notifySuccess),i=DevExpress.data.AspNet.createStore(O(A({},o),{onBeforeSend:(n,s)=>{(n==="update"||n==="insert"||n==="delete")&&(s.headers={Accept:"application/json"}),s.dataFilter=l=>{let g=JSON.parse(l);return g.RequestState===1?Te(g,o.notifySuccess):(g.Message=ne(g,t,o==null?void 0:o.getUserFriendlyErrorMessage).message,JSON.stringify(g))},s.error=l=>{let g=JSON.parse(l.responseText||"{}");g.RequestState||ne(g,t,o==null?void 0:o.getUserFriendlyErrorMessage)},o.onBeforeSend&&o.onBeforeSend(n,s)}}));return i._errorHandler=n=>{n&&!n.message&&(n.message=vt())},new DevExpress.data.CustomStore({key:i.key(),load:n=>i.load(n),byKey:(n,s)=>i.byKey(n,s),update:o.updateUrl?(n,s)=>i.update(n,s).then(l=>no(l,t,r,o==null?void 0:o.getUserFriendlyErrorMessage)):void 0,insert:o.insertUrl?n=>i.insert(n).then(s=>no(s,t,r,o==null?void 0:o.getUserFriendlyErrorMessage)):void 0,remove:o.deleteUrl?n=>i.remove(n).then(s=>no(s,t,r,o==null?void 0:o.getUserFriendlyErrorMessage)):void 0})}function ir(o,t){return new DevExpress.data.CustomStore({key:o,load:async r=>{let i=new rr.JsonMessage;i.setValue(JSON.stringify(r));let n=await St(()=>t(i));return n?JSON.parse(n.getValue()):[]}})}var so={};ie(so,{default:()=>ae});var Ie={};async function ae(o){if(Ie[o])return await Ie[o];Ie[o]=x(o),Ie[o].catch(r=>{throw Ie[o]=null,r});let t=await Ie[o];return Ie[o]=null,t}var nr={sendRequest:x,handleError:ne,handleSuccess:Te,handleUpload:Xo,createDxDataSource:se,isErrorInfo:mt,loadWithMultipleProtection:so,grpc:{sendRequest:St,createDxDataSource:ir}};var H=o=>{throw new Error(`The required ${o?`${o} `:""} isn't created`)};var ao={};ie(ao,{WindowResizeListener:()=>he,bootstrapLayoutBreakpoints:()=>Z,getUrlByMenuItemData:()=>ve});var Z={xs:{name:"xs",minWidth:0,maxWidth:575},sm:{name:"sm",minWidth:576,maxWidth:767},md:{name:"md",minWidth:768,maxWidth:991},lg:{name:"lg",minWidth:992,maxWidth:1199},xl:{name:"xl",minWidth:1200,maxWidth:1/0}},Ti=Object.getOwnPropertyNames(Z).map(o=>Z[o]),he=class{constructor(t,r,i=100,n=Ti){this.onWindowResizeListener=this.onWindowResize.bind(this);this.onResize=t,this.onLayoutBreakpointChanged=r,this.resizeDelay=i,this.layoutBreakpoints=n,this.currentLayoutBreakpoint=this.getLayoutBreakpointByWindowWidth(window.innerWidth),this.attachEvents()}destroy(){this.detachEvents()}attachEvents(){window.addEventListener("resize",this.onWindowResizeListener)}detachEvents(){window.removeEventListener("resize",this.onWindowResizeListener)}getLayoutBreakpointByWindowWidth(t){return this.layoutBreakpoints.find(r=>r.minWidth<=t&&(!r.maxWidth||r.maxWidth>=t))}onWindowResize(t){clearTimeout(this.lastWindowResizeTimeoutId),this.lastWindowResizeTimeoutId=window.setTimeout(()=>this.onWindowResizeInternal(t),this.resizeDelay)}onWindowResizeInternal(t){let r=this.getLayoutBreakpointByWindowWidth(window.innerWidth);if(this.currentLayoutBreakpoint!==r){let i=this.currentLayoutBreakpoint;this.currentLayoutBreakpoint=r,this.emitBreakpointChanged({previousBreakpoint:i,currentBreakpoint:this.currentLayoutBreakpoint,originalEvent:t})}this.emitResizeEvent(t)}emitResizeEvent(t){var r;try{(r=this.onResize)==null||r.call(this,t)}catch(i){console.error(i)}}emitBreakpointChanged(t){var r;try{(r=this.onLayoutBreakpointChanged)==null||r.call(this,t)}catch(i){console.error(i)}}};function ve(o){let{Area:t,Controller:r,Action:i,IsClickable:n}=o;if(n&&r)return encodeURI(t?`/${t}/${r}/${i}`:`/${r}/${i}`)}var k={isLegacyRender:!1};var lo=class{constructor(t){this.onLayoutBreakpointChangedListener=this.onLayoutBreakpointChanged.bind(this);this.container=t.container,this.userAvatar=t.userAvatar,this.userName=t.userName,this.items=t.items,this.collapseBreakpoint=t.collapseBreakpoint||Z.md,this.getDisplayedUserInfo=t.getDisplayedUserInfo||lo.defaultGetDisplayedUserInfo,this.onItemClick=t.onItemClick,this.windowResizeListener=new he(void 0,this.onLayoutBreakpointChangedListener)}get root(){return this._root}render(){if(this._root&&this.container.removeChild(this._root),this.renderMainElements(),this.renderUserInfo(),this.renderItems(),!this.root)return H("root");this.container.appendChild(this.root)}addItems(t){this.items=this.items.concat(t),this.render()}insertItems(t,r){this.items.splice(r,0,...t),this.render()}updateItems(t){this.items=t,this.render()}get menuItems(){return this.items}getBadge(t){let r=this.items.find(i=>{var n;return((n=i.Text)==null?void 0:n.toLowerCase())===t});return(r==null?void 0:r.Badge)||null}setBadge(t,r){let i=this.items.find(n=>{var s;return((s=n.Text)==null?void 0:s.toLowerCase())===t});i&&(i.Badge=r),this.render()}get isMobileView(){return this.windowResizeListener.currentLayoutBreakpoint.maxWidth<this.collapseBreakpoint.maxWidth}renderMainElements(){this._root=document.createElement("div"),this._root.classList.add("user-menu"),this.mobileContentContainer=document.createElement("div"),this.mobileContentContainer.classList.add(`d-${this.collapseBreakpoint.name}-none`),this.desktopRootDropdown=document.createElement("div"),this.desktopRootDropdown.classList.add("dropdown","d-none",`d-${this.collapseBreakpoint.name}-block`),this.desktopContentTrigger=document.createElement("button"),this.desktopContentTrigger.classList.add("header__icon-button","btn","btn-outline-light"),this.desktopContentTrigger.setAttribute("type","button"),this.desktopContentTrigger.setAttribute("data-toggle","dropdown");let t;if(k.isLegacyRender?this.userAvatar?(t=document.createElement("img"),t.classList.add("header__icon-button-icon","header__icon-button-avatar"),t.src=this.userAvatar):(t=document.createElement("i"),t.classList.add("header__icon-button-icon","fas","fa-user")):(t=document.createElement("i"),t.classList.add("header__icon-button-icon","isoz-icon-user")),this.desktopContentContainer=document.createElement("div"),this.desktopContentContainer.classList.add("dropdown-menu","dropdown-menu-right"),this.desktopContentTrigger.appendChild(t),this.items.some(r=>!!r.Badge)){let r=document.createElement("span");r.classList.add("user-menu__badge"),this.desktopContentTrigger.appendChild(r)}this.desktopRootDropdown.appendChild(this.desktopContentTrigger),this.desktopRootDropdown.appendChild(this.desktopContentContainer),this.itemsContainer=document.createElement("ul"),this.itemsContainer.classList.add("user-menu__items"),k.isLegacyRender?(this.userInfoContainer=document.createElement("h6"),this.userInfoContainer.classList.add("user-info","h6")):(this.userInfoContainer=document.createElement("a"),this.userInfoContainer.classList.add("user-info","dropdown-item")),this.userInfoDivider=document.createElement("div"),this.userInfoDivider.classList.add("dropdown-divider","d-none",`d-${this.collapseBreakpoint.name}-block`),this.isMobileView?(this.mobileContentContainer.appendChild(this.userInfoContainer),this.mobileContentContainer.appendChild(this.userInfoDivider),this.mobileContentContainer.appendChild(this.itemsContainer)):(this.desktopContentContainer.appendChild(this.userInfoContainer),this.desktopContentContainer.appendChild(this.userInfoDivider),this.desktopContentContainer.appendChild(this.itemsContainer)),this._root.appendChild(this.mobileContentContainer),this._root.appendChild(this.desktopRootDropdown)}renderUserInfo(){if(!this.userInfoContainer)return H("userInfoContainer");if(k.isLegacyRender){let t=document.createElement("span");t.classList.add("user-info__content"),t.innerText=this.getDisplayedUserInfo(this.userName),this.userInfoContainer.appendChild(t)}else this.userInfoContainer.innerText=this.getDisplayedUserInfo(this.userName)}renderItems(){if(!this.itemsContainer)return H("itemsContainer");this.clearItemsContainer(),this.items.forEach(t=>{let r=this.createItemElement(t,this.isMobileView);this.itemsContainer.appendChild(r)})}createItemElement(t,r){let i=this.createItemElementBase(t),n=document.createElement("a");if(n.classList.add(r?"nav-link":"dropdown-item"),n.href=t.Url||"javascript:void(0)",n.text=t.Text,t.OpenInNewPage&&(n.target="_blank"),this.attachEventsToItem(n,t),i.appendChild(n),t.Badge){let s=document.createElement("span");s.classList.add("isoz-badge"),s.classList.add("isoz-badge--circle"),s.classList.add(`isoz-badge--${t.Badge.Type||"information"}`),s.innerHTML=t.Badge.Text,n.appendChild(s)}return i}createItemElementBase(t){let r=document.createElement("li");return r.classList.add("nav-item"),r}attachEventsToItem(t,r){t.addEventListener("click",i=>this.onMenuItemClick({item:r,originalEvent:i}))}switchView(t){t?(this.applyMobileViewForUserInfo(),this.applyMobileViewForItems()):(this.applyDesktopViewForUserInfo(),this.applyDesktopViewForItems())}applyMobileViewForUserInfo(){this.mobileContentContainer.insertBefore(this.userInfoContainer,null),this.mobileContentContainer.insertBefore(this.userInfoDivider,null)}applyDesktopViewForUserInfo(){this.desktopContentContainer.insertBefore(this.userInfoContainer,null),this.desktopContentContainer.insertBefore(this.userInfoDivider,null)}applyMobileViewForItems(){var t;this.mobileContentContainer.insertBefore(this.itemsContainer,null);for(let r of this.itemsContainer.children)(t=r.firstElementChild)==null||t.classList.replace("dropdown-item","nav-link")}applyDesktopViewForItems(){var t;this.desktopContentContainer.insertBefore(this.itemsContainer,null);for(let r of this.itemsContainer.children)(t=r.firstElementChild)==null||t.classList.replace("nav-link","dropdown-item")}clearItemsContainer(){for(;this.itemsContainer.firstChild;)this.itemsContainer.firstChild.remove()}emitItemClick(t){var r,i,n;try{(r=this.onItemClick)==null||r.call(this,t),(n=(i=t.item).OnClick)==null||n.call(i,t)}catch(s){console.error(s)}}onLayoutBreakpointChanged(t){this.switchView(this.isMobileView)}async onMenuItemClick(t){this.emitItemClick(t),t.cancel&&t.originalEvent.preventDefault()}},we=lo;we.defaultGetDisplayedUserInfo=t=>`Welcome ${t}`;var Tt=class{constructor(t){this.container=t.container,this.items=t.items,this.onItemClick=t.onItemClick}updateItems(t){this.items=t}emitItemClick(t){var r;try{(r=this.onItemClick)==null||r.call(this,t)}catch(i){console.error(i)}}};var Ue=class extends Tt{constructor(t){super(t);this.onWindowResizeEventHandler=this.onWindowResize.bind(this);this.onToggleDropdownButtonClickHandler=this.onToggleDropdownButtonClick.bind(this);this.onToggleDropdownButtonMouseEnterHandler=this.onToggleDropdownButtonMouseEnter.bind(this);this.itemActionMode=t.itemAction||"hover",this.collapsingMode=t.collapsingMode??3,this.collapseBreakpoint=t.collapseBreakpoint||Z.md,this.collapseIconName=t.collapseIcon||"fa-ellipsis-v",this.windowResizeListener=new he(this.collapsingMode===3?this.onWindowResizeEventHandler:void 0,void 0,Ue.adaptivityCollapsingDelay)}render(){if(!this.root){if(this.renderRoot(),this.renderItems(),!this.root)return H("root");this.container.appendChild(this.root)}}updateItems(t){if(super.updateItems(t),!this.root)return new Error("The BootstrapCollapsingMenu isn't rendered");for(;this.root.firstChild;)this.root.firstChild.remove();this.renderItems()}applyAdaptivityCollapsing(){if(!(this.collapsingMode!==3||!this.root||!this.items.length||!this.collapseRoot||!this.collapseDropdown))if(this.isNeedCollapse()){this.collapseRoot.classList.remove("d-none");do{let t=this.root.children[this.root.children.length-2];if(!t)break;this.moveRootItemsToCollapseDropdown(t)}while(this.isNeedCollapse())}else{for(;this.collapseDropdown.children.length;)if(this.moveRootItemsToRoot(this.collapseDropdown.firstElementChild),this.isNeedCollapse()){let t=this.root.children[this.root.children.length-2];t&&this.moveRootItemsToCollapseDropdown(t);break}this.collapseDropdown.children.length||this.collapseRoot.classList.add("d-none")}}updateActiveItemsState(){this.forEachMenuItemRecursive(this.items,t=>{let r=t.active;t.active=go(t.originalModel),t.active!==r&&this.applyStatesToItemElement(t.menuItemEl.firstElementChild,t)})}closeOpenedDropdown(t){this.itemActionMode==="hover"&&(this.root.classList.remove(Ue.HOVER_MODE_CSS_CLASS),$(t).one("mouseleave",()=>{this.root.classList.add(Ue.HOVER_MODE_CSS_CLASS)}))}forEachMenuItemRecursive(t,r){t.forEach(i=>{r(i),this.isNestedItemsOwnerItem(i)&&this.forEachMenuItemRecursive(i.items,r)})}renderRoot(){this.root=document.createElement("ul"),this.root.classList.add("navbar-nav","mr-auto"),this.itemActionMode==="hover"&&this.root.classList.add(Ue.HOVER_MODE_CSS_CLASS)}renderItems(){this.renderRootItems(),this.items.length&&this.collapsingMode!==0&&(this.root||H("root"),this.root.style.visibility="hidden",this.renderCollapseElements(),setTimeout(()=>{this.applyAdaptivityCollapsing(),this.root.style.visibility=""},10)),this.changeDefaultDropdownBehaviorForNestedDropdown()}changeDefaultDropdownBehaviorForNestedDropdown(){$(this.root.querySelectorAll(".dropdown")).on("hide.bs.dropdown",t=>!(t.target!==this.currentOpeningSubMenu&&t.target.contains(this.currentOpeningSubMenu))),$(this.root.querySelectorAll(".dropdown-submenu")).on("show.bs.dropdown",t=>{this.currentOpeningSubMenu=void 0})}renderCollapseElements(){if(!this.root)return H("root");this.collapseRoot=document.createElement("li"),this.collapseRoot.classList.add("nav-item","dropdown","collapsing-menu__collapse-root"),this.collapseButton=document.createElement("button"),this.collapseButton.classList.add("header__icon-button","btn","btn-outline-light"),this.collapseButton.setAttribute("type","button"),this.collapseButton.setAttribute("data-toggle","dropdown");let t=document.createElement("i");t.classList.add("header__icon-button-icon","fas",this.collapseIconName),this.collapseDropdown=document.createElement("ul"),this.collapseDropdown.classList.add("dropdown-menu","dropdown-menu-right"),this.collapseButton.appendChild(t),this.collapseRoot.appendChild(this.collapseButton),this.collapseRoot.appendChild(this.collapseDropdown),this.root.appendChild(this.collapseRoot)}renderRootItems(){if(!this.root)return H("root");this.items.forEach(t=>{let r;this.isNestedItemsOwnerItem(t)?r=this.createRootItemWithNestedItems(t):r=this.createRootItemElement(t),this.root.appendChild(r)})}createRootItemWithNestedItems(t){let r=this.createRootItemElement(t);r.classList.add("dropdown");let i=r.querySelector(".nav-link");i instanceof HTMLElement&&this.setItemContentAsDropdownToggler(i);let n=this.createDropdownMenu(t);return r.appendChild(n),r}createRootItemElement(t){let r=document.createElement("li");r.classList.add("nav-item"),t.title&&r.setAttribute("title",t.title);let i=document.createElement("a");i.classList.add("nav-link"),i.href=t.url||"javascript:void(0)",i.text=t.text;let n=this.createItemIconElement(t);return n&&i.insertBefore(n,i.firstChild),this.applyStatesToItemElement(i,t),this.attachEventsToItem(i,t),r.appendChild(i),t.menuItemEl=r,r}createNestedSubMenuItemElement(t){let r=this.createNestedItem(t);r.classList.add("dropdown","dropdown-submenu");let i=r.querySelector(".dropdown-item");i instanceof HTMLElement&&this.setItemContentAsDropdownToggler(i);let n=this.createDropdownMenu(t);return r.appendChild(n),r}createNestedItem(t){let r=document.createElement("li");t.title&&r.setAttribute("title",t.title);let i=document.createElement("a");i.classList.add("dropdown-item"),i.href=t.url||"javascript:void(0)",i.text=t.text;let n=this.createItemIconElement(t);return n&&i.insertBefore(n,i.firstChild),this.applyStatesToItemElement(i,t),this.attachEventsToItem(i,t),r.appendChild(i),t.menuItemEl=r,r}createDropdownMenu(t){let r=document.createElement("ul");return r.classList.add("dropdown-menu"),t.items.forEach(i=>{let n;this.isNestedItemsOwnerItem(i)?n=this.createNestedSubMenuItemElement(i):n=this.createNestedItem(i),r.appendChild(n)}),r}createItemIconElement(t){if(!t.icon)return null;let r=document.createElement("i");return r.style.backgroundImage=`url(${t.icon})`,r}setItemContentAsDropdownToggler(t){t.classList.add("dropdown-toggle"),t.setAttribute("data-toggle","dropdown"),t.addEventListener("click",this.onToggleDropdownButtonClickHandler),t.addEventListener("mouseenter",this.onToggleDropdownButtonMouseEnterHandler)}applyStatesToItemElement(t,r){r.active?t.classList.add("active"):t.classList.remove("active"),r.hidden?t.classList.add("d-none"):t.classList.remove("d-none"),r.disabled?t.classList.add("disabled"):t.classList.remove("disabled")}attachEventsToItem(t,r){t.addEventListener("click",i=>this.emitItemClick({item:r,originalEvent:i}))}isNestedItemsOwnerItem(t){return t.items&&t.items.length&&t.items.some(r=>!r.hidden)}moveRootItemsToCollapseDropdown(t){if(t instanceof Element)this.applyCollapsingViewForRootItem(t),this.collapseDropdown.insertBefore(t,this.collapseDropdown.firstElementChild);else{let r=document.createDocumentFragment();for(let i of t)r.insertBefore(i,r.firstElementChild),this.applyCollapsingViewForRootItem(i);this.collapseDropdown.appendChild(r)}}moveRootItemsToRoot(t){if(t instanceof Element)this.applyExpandedViewForRootItem(t),this.root.insertBefore(t,this.root.children[this.root.children.length-1]||null);else{let r=document.createDocumentFragment();for(let i of t)r.insertBefore(i,r.firstElementChild),this.applyExpandedViewForRootItem(i);this.root.appendChild(r)}}applyCollapsingViewForRootItem(t){t.classList.add("dropdown-submenu");for(let r of t.children)r.classList.replace("nav-link","dropdown-item")}applyExpandedViewForRootItem(t){t.classList.remove("dropdown-submenu");for(let r of t.children)r.classList.replace("dropdown-item","nav-link")}isNeedCollapse(){if(this.windowResizeListener.currentLayoutBreakpoint.minWidth<this.collapseBreakpoint.minWidth)return!1;this.root.style.maxWidth="none";let t=this.root.getBoundingClientRect();this.root.classList.add("collapsing-menu_normal-white-space");let r=this.root.getBoundingClientRect();return this.root.classList.remove("collapsing-menu_normal-white-space"),this.root.style.maxWidth="",t.width>r.width}isDropdownRectsIntersect(t,r,i=2){return t.left<r.right-i&&r.left+i<t.right&&t.top<r.bottom-i&&r.top+i<t.bottom}applyShadowsForOverlapingDropdownIfNeeded(t){t.style.left="",t.classList.remove("dropdown-menu-left-shadowed");let r=t.getBoundingClientRect();r.right>window.innerWidth&&(t.style.left=`-${r.width}px`),r=t.getBoundingClientRect();let i=document.querySelectorAll(".dropdown-menu");for(let n of i)if(n!==t&&this.isDropdownRectsIntersect(n.getBoundingClientRect(),r)){t.classList.add("dropdown-menu-left-shadowed");break}}onWindowResize(t){this.applyAdaptivityCollapsing()}onToggleDropdownButtonClick(t){t.target instanceof HTMLElement&&t.target.parentElement&&(this.currentOpeningSubMenu=t.target.parentElement)}onToggleDropdownButtonMouseEnter(t){this.windowResizeListener.currentLayoutBreakpoint.maxWidth>=this.collapseBreakpoint.maxWidth&&t.target instanceof HTMLElement&&t.target.nextElementSibling instanceof HTMLElement&&t.target.nextElementSibling.classList.contains("dropdown-menu")&&this.applyShadowsForOverlapingDropdownIfNeeded(t.target.nextElementSibling)}},Pe=Ue;Pe.HOVER_MODE_CSS_CLASS="navbar-nav_hover-action",Pe.adaptivityCollapsingDelay=50;var sr=(o,t)=>{var r;for(let i of o){if(i.Name===t)return i;if((r=i.Items)==null?void 0:r.length){let n=sr(i.Items,t);if(n)return n}}},ar=o=>{let t=o.Items;if(!t||!t.length){let i=ve(o);return i?[i]:[]}let r=[];for(let i of t)r=r.concat(ar(i));return r},go=o=>{let t=window.location.pathname+window.location.search,r=ar(o);for(let i of r)if(new RegExp(`^.*${i.replace("?","\\?")}$`).test(t))return!0;return!1},Ne=class{constructor(t,r,i,n,s){this.onMenuItemClickHandler=this.onMenuItemClick.bind(this);this.container=t,this.isGlobalMenu=i,this.items=r,this.onNavigationMenuItemClick=s,this.menu=new Pe({container:this.container,items:this.mapNavigationMenuItemModelToMenuItems(r),collapseBreakpoint:n,onItemClick:this.onMenuItemClickHandler})}updateData(t,r){this.items=t,this.isGlobalMenu=r,this.menu.updateItems(this.mapNavigationMenuItemModelToMenuItems(this.items))}render(){this.menu.render()}applyAdaptivityCollapsing(){this.menu.applyAdaptivityCollapsing()}updateActiveItemsState(){this.menu.updateActiveItemsState()}async onMenuItemClick(t){let r=this.mapMenuItemClickEventArgsToNavigationMenuItemClickEventArgs(t);if(r&&(this.emitNavigationMenuItemClick(r),r.cancel)){t.originalEvent.preventDefault();let i=t.originalEvent.target;this.menu.closeOpenedDropdown(i)}}emitNavigationMenuItemClick(t){var r,i,n;try{(r=this.onNavigationMenuItemClick)==null||r.call(this,t),(n=(i=t.item).OnClick)==null||n.call(i,t)}catch(s){console.error(s)}}mapNavigationMenuItemModelToMenuItems(t){return t.map(r=>({text:r.Name,icon:r.Icon,items:r.Items?this.mapNavigationMenuItemModelToMenuItems(r.Items):void 0,url:ve(r),hidden:r.Visible===!1,active:go(r),disabled:r.Disabled,title:r.Description,originalModel:r}))}mapMenuItemClickEventArgsToNavigationMenuItemClickEventArgs(t){let r=sr(this.items,t.item.text);return r?{originalEvent:t.originalEvent,cancel:!1,item:O(A({},r),{isGlobal:this.isGlobalMenu})}:null}};var De="iszolea-ui|logo-settings";var po=class{constructor(t,r){this.$container=t,this.dataSource=r}initWidget(){return this._initWidget(this.dataSource)}updateData(){return window.sessionStorage.removeItem(De),this.$imageElement.remove(),this.$titleContainer.remove(),this._initWidget(this.dataSource)}_initWidget(t){let r=window.sessionStorage.getItem(De);return r?(this._createLogo(JSON.parse(r)),$.Deferred()):this._createLogo(t)}_createLogo(t){if(typeof t=="object"){let r=t;return this._createLogoMarkup(r),$.Deferred()}return x(this.dataSource,"post").done(r=>{let i={};i.applicationName=r.ApplicationName,i.businessName=r.BusinessName,i.logoImage=r.LogoImage,i.landingPageLogo=r.LandingPageLogo,i.description=r.Description,window.sessionStorage.setItem(De,JSON.stringify(i)),this._createLogoMarkup(i)})}_createLogoMarkup(t){this.$imageElement=$("<img />").attr("src",t.logoImage).appendTo(this.$container),this.$titleContainer=$("<span />").addClass("title-container").appendTo(this.$container),this.$titleContainer.append($("<div />").addClass("business-name").text(t.businessName)),this.$titleContainer.append($("<div />").addClass("app-name").text(t.applicationName.toUpperCase()))}};var Le=class{constructor(t){this.onLayoutBreakpointChangedListener=this.onLayoutBreakpointChanged.bind(this);this.desktopContainer=t.desktopContainer,this.mobileContainer=t.mobileContainer,this.collapseBreakpoint=t.collapseBreakpoint||Z.md,this.onSwitch=t.onSwitch,this._value=t.startValue!==void 0?t.startValue:!0,this.windowResizeListener=new he(void 0,this.onLayoutBreakpointChangedListener)}get value(){return this._value}get container(){return this.isMobileView?this.mobileContainer:this.desktopContainer}get isMobileView(){return this.windowResizeListener.currentLayoutBreakpoint.maxWidth<this.collapseBreakpoint.maxWidth}setVisible(t){var r;(r=this.menuSwitcher)==null||r.option("visible",t)}render(){this.renderSwitch()}destroy(){var r;let t=this.menuSwitcher.element();(r=this.menuSwitcher)==null||r.dispose(),t==null||t.remove()}setValue(t){this.menuSwitcher.option("value",t)}handleValueChanged(t){this.onValueChanged=t}renderSwitch(){this.menuSwitcher=$("<div>").dxSwitch({switchedOffText:"Personal",switchedOnText:"Global",value:this.value,width:"100px",onValueChanged:({value:t})=>{this._value=t,this.onSwitch&&this.onSwitch(this.value),this.onValueChanged&&this.onValueChanged(t)}}).dxSwitch("instance"),this.container.appendChild(this.menuSwitcher.element()[0])}switchView(){this.destroy(),this.render()}onLayoutBreakpointChanged(t){this.switchView()}};var It=class{constructor(t){this.$container=t.$container,this.getMenuDataSource=t.getMenuDataSource,this.getIsGlobalMenuShown=t.getIsGlobalMenuShown,this.onDimensionsChanged=t.onDimensionsChanged,this.onMenuItemOpened=t.onMenuItemOpened,this.onMenuItemClick=t.onMenuItemClick}setVisible(t){var r;(r=this.searchDropDown)==null||r.option("visible",t),this.onDimensionsChanged&&this.onDimensionsChanged()}setSearchText(t){var r;(r=this.searchDropDown)==null||r.option("value",t)}reloadMenuItems(){var t;(t=this.searchResultsTreeList)==null||t.option("dataSource",this.getDataSourceForSearch(this.getMenuDataSource()))}render(){let t=document.createElement("form");t.classList.add("form-inline");let r=$("<div />").dxDropDownBox({placeholder:"Search",visible:!1,showDropDownButton:!1,applyValueMode:"instantly",acceptCustomValue:!0,openOnFieldClick:!1,mode:"search",elementAttr:{type:"search","aria-label":"Search"},contentTemplate:(i,n)=>{n.addClass("header-search-results-tree-list");let s=$("<div>").dxTreeList({dataSource:this.getDataSourceForSearch(this.getMenuDataSource()),hoverStateEnabled:!0,focusedRowEnabled:!0,editing:{allowAdding:!1,allowUpdating:!1,allowDeleting:!1},noDataText:"No results found",dataStructure:"tree",keyExpr:"Id",itemsExpr:"Items",filterMode:"fullBranch",showColumnHeaders:!1,columns:[{dataField:"Name",dataType:"string"}],onCellClick:({data:l})=>{this.navigateToMenuItem(l)},onKeyDown:l=>{let g=l.event,p=this.searchResultsTreeList.option("focusedRowKey");if(p!=null)switch(g.key){case"Enter":let m=this.searchResultsTreeList.getNodeByKey(p).data;this.navigateToMenuItem(m);break;case"ArrowRight":case" ":this.searchResultsTreeList.expandRow(p);break;case"ArrowLeft":this.searchResultsTreeList.collapseRow(p);break;case"Escape":setTimeout(()=>this.searchDropDown.focus());break}}});return this.searchResultsTreeList=s.dxTreeList("instance"),s},dropDownOptions:{position:{of:".search-dropdown",my:"top",at:"bottom",offset:{x:149,y:4}},width:518,animation:{show:{duration:0},hide:{duration:0}},hideOnOutsideClick:!1,onShown:i=>{this.searchDropDown.focus()}},onFocusIn:i=>{i.component.element().addClass("focused"),this.onDimensionsChanged&&this.onDimensionsChanged(),this.checkSearchResutPopupVisibility(i.component.element().find("input.dx-texteditor-input").val())},onFocusOut:i=>{i.component.element().find("input.dx-texteditor-input").val()||(i.component.element().removeClass("focused"),this.onDimensionsChanged&&this.onDimensionsChanged())},onKeyUp:i=>{setTimeout(()=>{let n=i.event,s=i.component.element().find("input.dx-texteditor-input").val();this.checkSearchResutPopupVisibility(s),this.searchResultsTreeList.searchByText(s),["Tab","Enter","ArrowDown","ArrowUp"].some(g=>g===n.key)&&this.searchResultsTreeList.focus(this.searchResultsTreeList.getCellElement(0,"Name"))})},onKeyDown:i=>{i.event.key==="Escape"&&this.closeSearchDropDown()},onValueChanged:i=>{this.checkSearchResutPopupVisibility(i.value)}}).addClass(["form-control","mr-sm-2","search-dropdown"]);this.searchDropDown=r.dxDropDownBox("instance"),t.appendChild(r[0]),this.$container.append(t)}navigateToMenuItem(t){var i;let r=ve(t);if(r){this.closeSearchDropDown();let n={item:t,originalEvent:null,cancel:!1};if((i=this.onMenuItemClick)==null||i.call(this,n),n.cancel)return;this.onMenuItemOpened&&this.onMenuItemOpened({menuItem:t}),window.location.href=r}}closeSearchDropDown(){var t,r,i;this.searchResultsTreeList.option("focusedRowKey",void 0),(t=this.searchDropDown)==null||t.option("value",""),(r=this.searchDropDown)==null||r.focus(),(i=this.searchDropDown)==null||i.blur()}checkSearchResutPopupVisibility(t){var r,i;t?(r=this.searchDropDown)==null||r.open():(i=this.searchDropDown)==null||i.close()}getDataSourceForSearch(t){if(!t)return;let r=i=>{let n=(s,l)=>{l.Items&&l.Items.length&&(l.Items=l.Items.reduce(n,[]));let g=l.Visible===void 0||l.Visible===null||l.Visible===!0,p=l.Disabled===!0;return g&&!p&&s.push(O(A({},l),{isGlobal:i})),s};return n};if(t.personalItems&&t.personalItems.length){let i={Name:"Global Menu",Id:-1,isGlobal:!0,Type:2,Items:t.gloabalItems.reduce(r(!0),[])},n={Name:"Personal Menu",Id:-2,isGlobal:!1,Type:2,Items:t.personalItems.reduce(r(!1),[])};return this.getIsGlobalMenuShown()?[i,n]:[n,i]}else return t.gloabalItems.reduce(r(!0),[])}};var mo={};ie(mo,{EventEmitter:()=>z,createGridExportFunction:()=>wt,getGeneralUserFriendlyErrorMessage:()=>yt,imageToBase64:()=>dr,isJsonString:()=>le});var z=class{constructor(){this.eventListeners=[]}on(t,r){return this.eventListeners[t]||(this.eventListeners[t]=[]),this.eventListeners[t].push(r),r}once(t,r){this.on(t,i=>{r(i),this.off(t,r)})}emit(t,r=null){let i=this.eventListeners[t];if(i)for(let n of i)n&&n.call(this,r)}off(t,r){let i=this.eventListeners[t];if(i){let n=[];for(let s of i)s!==r&&n.push(s);this.eventListeners[t]=n}}addHandler(t,r,i){let n=()=>{r(i(),()=>this.off(t,n))};this.on(t,n)}};var lr=ht(ho());function wt(o){return t=>{let r=new window.ExcelJS.Workbook,i=r.addWorksheet(o);DevExpress.excelExporter.exportDataGrid({worksheet:i,component:t.component,customizeCell:n=>{let s=n.excelCell;s.font={name:"Arial",size:12},s.alignment={horizontal:"left"}}}).then(function(){r.xlsx.writeBuffer().then(function(n){(0,lr.default)(new Blob([n],{type:"application/octet-stream"}),`${o}.xlsx`)})}),t.cancel=!0}}var dr=o=>new Promise((t,r)=>{let i=new FileReader;i.readAsDataURL(o),i.onload=()=>{t(i.result)},i.onerror=r});var le=o=>{if(!o)return!1;try{JSON.parse(o)}catch{return!1}return!0};var Ii="iszolea-ui|header-data-cache",gr="iszolea-ui|show-global-menu",fo=o=>`${Ii}${o?`|${o}`:""}`,it=class extends z{constructor(t){super();this.onNaviagtionMenuItemClickHandler=this.onNavigationMenuItemClick.bind(this);this.onNavigationMenuItemOpenedHandler=this.onNavigationMenuItemOpened.bind(this);this.onUserMenuItemClickHandler=this.onUserMenuItemClick.bind(this);this.elements={};var r,i,n,s,l;this.$el=t.$el,this.menuSettings=t.menuSettings,this.logoSettings=t.logoSettings,this.theme=t.theme||"iszolea",this.displaySearch=t.displaySearch,this.collapseBreakpoint=((r=t.menuSettings)==null?void 0:r.collapseBreakpoint)||Z.md,this.$partialViewPlaceHolder=(i=t.menuSettings)==null?void 0:i.partialViewPlaceHolder,this.updateUrlAfterPartialLoading=(n=t.menuSettings)==null?void 0:n.updateUrlAfterPartialLoading,this.onPartialViewLoaded=(s=t.menuSettings)==null?void 0:s.onPartialViewLoaded,this.beforePartialViewLoading=(l=t.menuSettings)==null?void 0:l.beforePartialViewLoading,this.loadPanel=this.createLoadPanel(),t.immediateRender===!1&&console.warn("The 'immediateRender === false' option isn't supported at the moment."),DevExpress.ui.dxOverlay.baseZIndex(1700),this.render(),this.init().then(()=>{var g;return(g=t==null?void 0:t.onInit)==null?void 0:g.call(t)}),this.subscribeOnHistoryPopState()}async updateData(){!this.menuSettings||(this.clearAppMenuModelCache(),this.data=await this.loadData(),!!this.elements.root&&this.rerenderMenus())}render(){this.renderRoot(),this.renderBrand(),this.renderContentToggler(),this.renderContent(),this.renderLoadBar(),this.updateContentAndTogglerVisible()}subscribeOnHistoryPopState(){this.$partialViewPlaceHolder&&$(window).bind("popstate",t=>{let i=t.originalEvent.state;i&&i.isLoadedByAjax?(this.loadPageViaAjaxCore(i.url),this.updateMenuSwitcherState(i.isMenuSwitcherGlobal),this.navigationMenu.updateActiveItemsState()):location.reload()})}createLoadPanel(){return $("<div />").dxLoadPanel({shadingColor:"rgba(0,0,0,0.4)",visible:!1,showIndicator:!0,showPane:!0,shading:!0,hideOnOutsideClick:!1}).appendTo(this.$el).dxLoadPanel("instance")}renderRoot(){this.elements.root=this.$el[0],this.elements.root.classList.add("header",this.theme,"navbar","navbar-dark",`navbar-expand-${this.collapseBreakpoint.name}`)}renderBrand(){if(this.logo||!this.logoSettings)return;if(!this.elements.root)return H("root");let t=document.createElement("a");t.classList.add("header__brand","navbar-brand"),t.href="/",this.elements.root.appendChild(t),this.elements.logoContainer=t,this.logo=new po($(this.elements.logoContainer),this.logoSettings),this.logo.initWidget()}renderSearch(){if(!!this.displaySearch){if(!this.elements.contentContainer)return H("contentContainer");this.search=new It({$container:$(this.elements.contentContainer),getMenuDataSource:()=>this.getSearchDataSource(this.data),getIsGlobalMenuShown:()=>this.getIsGlobalMenuShown(),onDimensionsChanged:()=>{var t;return(t=this.navigationMenu)==null?void 0:t.applyAdaptivityCollapsing()},onMenuItemClick:this.onNaviagtionMenuItemClickHandler,onMenuItemOpened:this.onNavigationMenuItemOpenedHandler}),this.search.render()}}getIsGlobalMenuShown(){var t;return this.isShowGlobalMenu()||!((t=this.data)==null?void 0:t.AddGlobalPersonalSwitcher)}onNavigationMenuItemOpened(t){this.updateMenuSwitcherState(t.menuItem.isGlobal)}updateMenuSwitcherState(t){!this.menuSwitcher||this.menuSwitcher.value!==t&&this.menuSwitcher.setValue(t)}renderContentToggler(){if(!this.elements.root)return H("root");this.elements.toggleButton=document.createElement("button"),this.elements.toggleButton.classList.add("navbar-toggler"),this.elements.toggleButton.setAttribute("type","button"),this.elements.toggleButton.setAttribute("data-toggle","collapse"),this.elements.toggleButton.setAttribute("data-target",".header__content"),this.elements.toggleButton.onclick=()=>{var r;(r=this.search)==null||r.setSearchText("")};let t=document.createElement("span");t.classList.add("navbar-toggler-icon"),this.elements.toggleButtonContainer=document.createElement("div"),this.elements.toggleButtonContainer.classList.add("header__toggle-button-container"),this.elements.toggleButton.appendChild(t),this.elements.toggleButtonContainer.appendChild(this.elements.toggleButton),this.elements.root.appendChild(this.elements.toggleButtonContainer)}renderContent(){if(!this.elements.root)return H("root");this.elements.contentContainer=document.createElement("div"),this.elements.contentContainer.classList.add("collapse","navbar-collapse","header__content"),this.elements.root.appendChild(this.elements.contentContainer),this.renderSearch(),this.renderNavigationMenu([]),this.renderMenuSwitcher(),this.renderUserMenu([])}renderNavigationMenu(t){if(!this.elements.contentContainer)return H("contentContainer");let r=this.getIsGlobalMenuShown();this.navigationMenu?this.navigationMenu.updateData(t,r):(this.navigationMenu=new Ne(this.elements.contentContainer,t,r,this.collapseBreakpoint,this.onNaviagtionMenuItemClickHandler),this.navigationMenu.render())}onUserMenuItemClick(t){var i,n;if($(this.elements.contentContainer).removeClass("show"),(n=(i=this.menuSettings).onUserMenuClick)==null||n.call(i,t),t.cancel||this.isKeyPressed(t.originalEvent))return;let r=t.item.Url;t.item.AlwaysReloadPage?window.location.href=r:t.cancel=this.tryDoPartialPageLoading(r)}onNavigationMenuItemClick(t){var i,n;if(t.item.Items.length||$(".show",this.elements.contentContainer).removeClass("show"),(n=(i=this.menuSettings).onNavigationMenuItemClick)==null||n.call(i,t),t.cancel||this.isKeyPressed(t.originalEvent))return;this.updateMenuSwitcherState(t.item.isGlobal);let r=ve(t.item);t.cancel=this.tryDoPartialPageLoading(r)}isKeyPressed(t){return t&&(t.altKey||t.ctrlKey||t.shiftKey)}tryDoPartialPageLoading(t){var r;if(this.$partialViewPlaceHolder&&t&&this.checkIsLocalUrl(t)){if(this.updateUrlAfterPartialLoading){let i={isLoadedByAjax:!0,isMenuSwitcherGlobal:!!((r=this.menuSwitcher)==null?void 0:r.value),url:t};window.history.pushState(i,null,t)}return this.loadPageViaAjaxCore(t),this.navigationMenu.updateActiveItemsState(),!0}return!1}checkIsLocalUrl(t){return!it.GLOBAL_URL_REGEX.test(t)}checkIsPartialPageContent(t){return t&&!it.DOCTYPE_MARKER_REGEX.test(t)}loadPageViaAjaxCore(t){var n;window.isIsozServerException=!1,this.loadPanel.show();let r=new URL(window.location.origin+t);r.searchParams.append("isozPartialLoading","true");let i=r.toString();(n=this.beforePartialViewLoading)==null||n.call(this),$.ajax(i,{dataType:"html"}).always((s,l)=>{var g;l!=="success"||!this.checkIsPartialPageContent(s)?window.location.href=t:(this.$partialViewPlaceHolder.html(s),(g=this.onPartialViewLoaded)==null||g.call(this),this.loadPanel.hide())})}renderUserMenu(t){var r;if(!!((r=this.menuSettings)==null?void 0:r.userName)){if(!this.elements.contentContainer)return H("contentContainer");if(this.userMenu)this.userMenu.updateItems(t);else{let i=document.createElement("div");i.classList.add("dropdown-divider"),this.elements.contentContainer.appendChild(i),this.userMenu=new we({container:this.elements.contentContainer,userName:this.menuSettings.userName,userAvatar:this.menuSettings.userAvatar,items:t,collapseBreakpoint:this.collapseBreakpoint,onItemClick:this.onUserMenuItemClickHandler,getDisplayedUserInfo:this.menuSettings.getDisplayedUserInfo}),this.userMenu.render()}}}renderMenuSwitcher(){var t,r,i,n;if((t=this.data)==null?void 0:t.AddGlobalPersonalSwitcher){if(this.menuSwitcher)return}else{this.menuSwitcher&&(this.menuSwitcher.destroy(),(r=this.elements.menuSwitcherDesktopContainer)==null||r.remove(),(i=this.elements.menuSwitcherMobileContainer)==null||i.remove(),this.menuSwitcher=void 0,this.elements.menuSwitcherDesktopContainer=void 0,this.elements.menuSwitcherMobileContainer=void 0);return}if(!this.elements.contentContainer)return H("contentContainer");if(!this.elements.toggleButtonContainer)return H("toggleButtonContainer");this.elements.menuSwitcherDesktopContainer=document.createElement("div"),this.elements.menuSwitcherDesktopContainer.classList.add("menu-switcher"),this.elements.menuSwitcherMobileContainer=document.createElement("div"),this.elements.menuSwitcherMobileContainer.classList.add("menu-switcher"),this.menuSwitcher=new Le({desktopContainer:this.elements.menuSwitcherDesktopContainer,mobileContainer:this.elements.menuSwitcherMobileContainer,collapseBreakpoint:this.collapseBreakpoint,startValue:this.isShowGlobalMenu(),onSwitch:s=>{var g,p;window.localStorage.setItem(gr,JSON.stringify(s));let l=this.getNavigationItems(this.data);(g=this.search)==null||g.setSearchText(""),(p=this.search)==null||p.reloadMenuItems(),this.renderNavigationMenu(l||[]),this.updateContentAndTogglerVisible()}}),this.menuSwitcher.render(),this.emit(it.MENU_SWITCHER_INITIALIZED_EVENT),this.elements.contentContainer.insertBefore(this.elements.menuSwitcherDesktopContainer,(n=this.userMenu)==null?void 0:n.root),this.elements.toggleButtonContainer.insertBefore(this.elements.menuSwitcherMobileContainer,this.elements.toggleButton)}renderLoadBar(){this.$loadBar=$("<div />").addClass("load-bar").hide().appendTo(this.$el);let t=$("<div />").addClass("load").appendTo(this.$loadBar);$("<div />").addClass("bar").appendTo(t);function r(i){$(i).animate({left:$(".load").width()},2e3,()=>{$(i).css("left",`${-$(i).width()}px`),r(i)})}r(".bar")}rerenderMenus(){let t=this.getNavigationItems(this.data),r=this.getUserItems(this.data);t&&this.renderNavigationMenu(t),r&&this.renderUserMenu(r),this.renderMenuSwitcher(),this.updateContentAndTogglerVisible()}updateContentAndTogglerVisible(){var n,s;if(!this.elements.contentContainer&&!this.elements.toggleButton)return;let t=this.getNavigationItems(this.data),r=this.getUserItems(this.data),i=t&&t.length>0||((n=this.menuSettings)==null?void 0:n.userName)||r&&r.length>0;this.elements.toggleButton.classList.toggle("d-none",!i),this.elements.contentContainer.classList.toggle("d-none",!i),(s=this.search)==null||s.setVisible(!!i)}async init(){!this.menuSettings||(this.data=await this.loadData(),!!this.elements.root&&this.rerenderMenus())}async loadData(){var r,i,n,s,l;if(!this.menuSettings)throw new Error("The header doesn't have menu settings");if(typeof this.menuSettings.data!="string")return this.menuSettings.data;let t=this.getCachedAppMenuModel();if(t)return t;try{return(r=this.search)==null||r.setVisible(!1),(i=this.$loadBar)==null||i.show(),t=await x(this.menuSettings.data),this.cacheAppMenuModel(t),(n=this.search)==null||n.reloadMenuItems(),t}finally{(s=this.search)==null||s.setVisible(!0),(l=this.$loadBar)==null||l.hide()}}getNavigationItems(t){return t?this.isShowGlobalMenu()||!t.AddGlobalPersonalSwitcher?t.NavigationItems:t.PersonalNavigationItems:void 0}getSearchDataSource(t){if(!!t)return{gloabalItems:t.NavigationItems,personalItems:t.AddGlobalPersonalSwitcher?t.PersonalNavigationItems:void 0}}getUserItems(t){if(!!t)return t.UserItems}getCachedAppMenuModel(){if(!this.menuSettings)return null;let t=window.sessionStorage.getItem(fo(this.menuSettings.userName));return t===null?t:JSON.parse(t)}cacheAppMenuModel(t){return this.menuSettings?(window.sessionStorage.setItem(fo(this.menuSettings.userName),JSON.stringify(t)),!0):!1}clearAppMenuModelCache(){return this.menuSettings?(window.sessionStorage.removeItem(fo(this.menuSettings.userName)),!0):!1}isShowGlobalMenu(){let t=window.localStorage.getItem(gr),r=t===null?t:JSON.parse(t);return r===null||r}},_e=it;_e.MENU_SWITCHER_INITIALIZED_EVENT="menu-switcher-initialized-event",_e.GLOBAL_URL_REGEX=new RegExp("^(?:[a-z]+:)?//","i"),_e.DOCTYPE_MARKER_REGEX=new RegExp("!DOCTYPE html>","i");var wi=["default","string","number","date","boolean","object","datetime"],Be=wi;var Fe=(i=>(i[i.None=0]="None",i[i.AddNewRows=1]="AddNewRows",i[i.ReplaceAllRows=2]="ReplaceAllRows",i))(Fe||{});var je=(g=>(g.Default="default",g.String="string",g.Number="number",g.Date="date",g.Boolean="boolean",g.Object="object",g.Datetime="datetime",g))(je||{});var Se=[];function Di(o,t){return Math.floor(Math.random()*(t-o+1))+o}function Dt(o,t,r=5,i=2){let n=t.sort((s,l)=>.5-Math.random());o.addClass("iszolea-background-image-viewer").css({transition:`background-image ${i}s ease-in-out 0s`}),n.forEach((s,l)=>{let g=new Image;g.addEventListener("load",()=>{Se.push(s),Se.length===1&&Ci(o,r)}),window.setTimeout(()=>{g.src=s},l*100)})}function _i(o){if(Se.length===1)return 0;if(Se.length===2)return o===0?1:0;let t=Di(0,Se.length-1);return t===o?t===Se.length-1?0:t+1:t}function Ci(o,t){let r=0;pr(o,r),window.setInterval(()=>{Se.length!==1&&(r=_i(r),pr(o,r))},t*1e3)}function pr(o,t){o.css("background-image",`url("${Se[t]}")`)}var yo=(i=>(i[i.Success=0]="Success",i[i.Warning=1]="Warning",i[i.Error=2]="Error",i))(yo||{}),xi={year:"local"},Ve=class{constructor(t){this.indicatorClassByStatus=new Map([[0,"footer__indicator_type_success"],[1,"footer__indicator_type_warning"],[2,"footer__indicator_type_error"]]);let r=A(A({},t),xi);this.$root=r.$root,this.name=r.name!==!1?r.name:void 0,this.licence=r.licence!==!1?r.licence:void 0,this.year=Ve.getCurrentYear(r.year),this.version=t.version||void 0,this.showName=r.name!==!1,this.showLicence=r.licence!==!1,this.showYear=r.year!==!1,this.showConnectedTo=!!r.serverName&&!!r.database,this.indicatorsOptions=t.indicators||[],this.indicatorsByName=new Map,this.connectedTo=this.showConnectedTo?`${r.serverName} - ${r.database}`:void 0}static getCurrentYear(t){return t==="local"||t===!1?new Date().getFullYear():t}init(){this.$root.addClass("footer"),this.renderIndicators(),this.renderCopyright(),this.showYear&&this.renderYear(),this.showName&&this.renderName(),this.showConnectedTo&&this.renderConnectedTo(),this.showLicence&&this.renderLicence()}setIndicatorValue(t,r){let i=this.indicatorsByName.get(t);i&&this.setIndicatorValueCore(i,r)}renderIndicators(){var t;(t=this.indicatorsOptions)==null||t.forEach(r=>{r.text&&$("<span>").addClass("footer__indicator-text").html(`${r.text}:`).appendTo(this.$root);let i=$("<span>").addClass("footer__indicator").appendTo(this.$root);this.setIndicatorValueCore(i,r.value),this.indicatorsByName.set(r.name,i),r.getValue&&r.getValueIntervalMs&&setInterval(async()=>{let n=await r.getValue();this.setIndicatorValueCore(i,n)},r.getValueIntervalMs)})}setIndicatorValueCore(t,r){t.attr("title",r.title),t.removeClass([...this.indicatorClassByStatus.values()]),t.addClass(this.indicatorClassByStatus.get(r.status))}renderCopyright(){$("<span>").addClass("footer__copyright").html("&copy;").appendTo(this.$root)}renderName(){this.name&&$("<span>").addClass("footer__item").addClass("footer__app-name").text(this.name+(this.version?`: ${this.version}`:"")).appendTo(this.$root)}renderConnectedTo(){this.name&&$("<span>").addClass("footer__item").addClass("footer__connected-to").text(`Connected to: ${this.connectedTo}.`).appendTo(this.$root)}renderYear(){$("<span>").addClass("footer__item").addClass("footer__current-year").text(this.year).appendTo(this.$root)}renderLicence(){this.licence&&$("<span>").addClass("footer__item").addClass("footer__licence-info").append($("<span>").addClass("footer__licence-owner").text(`${this.getLicenceOwnerDisplayText(this.licence)}. `)).append($("<span>").addClass("footer__licence-date").text(this.getLicenceExpirationDateDisplayText(this.licence))).appendTo(this.$root)}getLicenceOwnerDisplayText(t){return`Licenced to: ${t.Owner}`}getLicenceExpirationDateDisplayText(t){return`Licence Expiry: ${(typeof t.ExpirationDate=="string"?new Date(t.ExpirationDate):t.ExpirationDate).toLocaleDateString()}`}};var _t=null,ur=[];window.addEventListener("resize",()=>{_t&&window.clearTimeout(_t),_t=window.setTimeout(()=>{ur.forEach(o=>o()),_t=null},100)});function Ct(o){ur.push(o)}var nt={main:".main",header:".main .header",content:".content-area",panel:".panel",footer:"footer"},vo=null,xt=null,At=null;function cr(o){$(nt.content).height(xt),o.option("height",At)}function Ai(o,t=!1,r=!1){let i=$(nt.main),n=$(nt.header),s=$(nt.content),l=$(nt.footer),g=s.outerHeight()-s.height();xt=i.height()-n.height()-l.outerHeight()-g,vo=$(window).height();let p=s.children(),m=0;if(!t){let E=o.element();p.each((h,S)=>{let T=$(S);T.is(E)||T.has(E[0]).length||(m+=T.is(":visible")&&T.css("position")!=="absolute"?T.outerHeight(!0):0)})}At=xt-m,r&&(At+=o.element().outerHeight()),cr(o)}function Ri(o){let t=$(window).height(),r=t-vo;xt+=r,At+=r,vo=t,cr(o)}function de(o,t=!1,r=!1){Ai(o,t,r),Ct(()=>Ri(o))}var Mi="isoz-icon-disabled",q={lg:"iszolea-lg",md:"iszolea-md",sm:"iszolea-sm"},Q=class{static setElementMiddleSize(t){t.addClass(q.md)}static setElementSmallSize(t){t.addClass(q.sm)}static setWidgetMiddleSize(t){Q.setWidgetSize(t,q.md)}static setWidgetSmallSize(t){Q.setWidgetSize(t,q.sm)}static setToolbarWidgetSmallSize(t){t&&Q.setToolbarWidgetSize(t,q.sm)}static setToolbarWidgetMediumSize(t){t&&Q.setToolbarWidgetSize(t,q.md)}static getIconClass(t,r,i=16){let n=`isoz isoz-icon-${t}-${i}`;return r?`${n} ${Mi}`:n}static setWidgetSize(t,r){t&&t.option("elementAttr",{class:r})}static setToolbarWidgetSize(t,r){t.options||(t.options={}),t.options.elementAttr||(t.options.elementAttr={}),t.options.elementAttr.class?t.options.elementAttr.class+=` ${r}`:t.options.elementAttr.class=r}};var Oi={title:"isoz-title"},st=class{static getToolbarTitleTemplateItem(t,r){return{location:"before",template:()=>{let i=$(`<span class="${Oi.title}">${t}</span>`);return r&&i.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Report details")),i}}}};var hr={title:"isoz-title",header:"isoz-toolbar-header",dropDownButton:"dx-dropdownmenu-button"};function mr(o,t={title:"",description:"",options:{}}){let{title:r="",description:i="",options:n={}}=t,{items:s=[],elementAttr:l={}}=n;s.forEach(p=>{let m={class:q.md};if(p.options){let{editorOptions:E}=p.options;E||(E={}),E.elementAttr=m,p.options.elementAttr=m,p.options.editorOtions=E}});let g=p=>{p.element.find(`.${hr.dropDownButton}`).addClass(q.md),(n==null?void 0:n.onContentReady)&&n.onContentReady(p)};return $(`${o}`).dxToolbar(O(A({},n),{items:[st.getToolbarTitleTemplateItem(r,i),...s],onContentReady:g,elementAttr:O(A({},l),{class:hr.header})})).dxToolbar("instance")}var Ui={panel:".panel-body"};function fr(o){let t=o.element(),r=o.element().parents(Ui.panel).eq(0),i=r.position().top,n=r.height(),s=r.outerHeight()-r.height(),l=t.position().top,g=n-(l-i)+s/2;o.option("height",g)}function So(o){fr(o),Ct(()=>fr(o))}function yr(o,t,r=!1){let i=bo(o,t);return t.height||(r?So(i):de(i)),i}function bo(o,t){let r=o.dxDataGrid(t).dxDataGrid("instance");return r.element().addClass(oe.dxDataGrid),r}function vr(o,t,r=!1){let i=(typeof o=="string"?$(o):o).dxTreeList(t).dxTreeList("instance");return i.element().addClass(oe.dxDataGrid),t.height||(r?So(i):de(i)),i}var Sr=o=>o.slice(2).toLowerCase(),Pi=o=>{let t=Sr(o);return{searchPanel:`.dx-${t}-search-panel`,toolbarEditButton:`.dx-${t}-toolbar-button.dx-edit-button`,toolbarExportButton:`.dx-${t}-export-button .dx-button`,selectCheckBox:".dx-select-checkbox"}};function br(o){let t=k.isLegacyRender?Ni(o):Tr(o);return(o.summaryColumn||o.showSummaryInColumn)&&(t.summary={totalItems:[{column:o.summaryColumn||o.showSummaryInColumn,showInColumn:o.showSummaryInColumn||o.summaryColumn,summaryType:"count"}]}),t.export={enabled:!!o.exportFileName,allowExportSelectedData:!0},k.isLegacyRender||(t.groupPanel={visible:!0}),t}function Er(o){let t=Tr(o);return t.selection={mode:"none"},t}function Tr(o){return{allowColumnResizing:!0,cacheEnabled:!0,columnAutoWidth:!0,filterRow:{visible:!0,applyFilter:"onClick"},headerFilter:{visible:!0},hoverStateEnabled:!0,paging:{pageSize:80},pager:{visible:!1},remoteOperations:!0,scrolling:{mode:"virtual",rowRenderingMode:"virtual"},searchPanel:{visible:!0,width:240,placeholder:"Search..."},showRowLines:!0,showBorders:!0,selection:{mode:"multiple"},wordWrapEnabled:!0}}function Ni(o){return{allowColumnResizing:!0,remoteOperations:!0,columnAutoWidth:!0,showBorders:!0,filterRow:{visible:!0,applyFilter:"onClick"},selection:{mode:"multiple"},paging:{pageSize:50},searchPanel:{visible:!0},headerFilter:{visible:!0},scrolling:{mode:"virtual"}}}function Li(o,t){let r=(i,n)=>i.find(s=>s.name===n);if(o==null?void 0:o.items){let{items:i}=o;if(t){let g=r(i,t);g&&(g.options.type="default")}let n=r(i,"saveButton");n&&(n.showText="always",n.options.text="Save");let s=r(i,"revertButton");s&&(s.showText="always",s.options.text="Discard");let l=r(i,"refresh");l&&(l.showText="always",l.options.text="Refresh",l.options.hint="Reload Data")}}function Bi(o){var s,l,g;let t=o.option("summary.totalItems"),r=(s=t==null?void 0:t.filter(p=>p.summaryType==="count")[0])==null?void 0:s.column,i=r&&o.getVisibleColumns().findIndex(p=>p.dataField===r);if(!i){let p=o.option("selection");i=p&&p.mode!=="none"?o.getVisibleColumns().findIndex(E=>!!E.dataField):0}let n=(l=o.getVisibleColumns()[i])==null?void 0:l.dataField;n&&r!==n&&o.option("summary",{totalItems:[{column:(g=o.getVisibleColumns()[i])==null?void 0:g.dataField,summaryType:"count"}]})}function Rt(o,t){let r=Pi(o),i=!1;return{onCellPrepared:n=>{var s,l;k.isLegacyRender||n.rowType==="header"&&n.cellElement.css("text-align","center"),((s=t.options)==null?void 0:s.onCellPrepared)&&((l=t.options)==null||l.onCellPrepared(n))},onContentReady:n=>{var l;let s=n.component;s.beginUpdate(),t.disableSummaryColumnDetection||Bi(s),i||(i=!0,setTimeout(()=>{let g=s.getScrollable();g&&g.scrollTo({top:0})}));for(let g=0;g<s.columnCount();g++){let p=s.columnOption(g,"dataType");(t.setDefaultColumnWidth||t.setDefaultColumnWidth===void 0)&&(s.columnOption(g,"width")||(p==="boolean"&&(s.columnOption(g,"width","45px"),s.columnOption(g,"editorOptions",{dropDownOptions:{width:80}})),p==="datetime"&&s.columnOption(g,"width","135px"),p==="date"&&s.columnOption(g,"width","140px"))),(p==="datetime"||p==="date")&&s.columnOption(g,"alignment","right"),p==="date"&&s.columnOption(g,"format","dd MMM yyyy"),p==="datetime"&&s.columnOption(g,"format","HH:mm, dd MMM yyyy")}((l=t.options)==null?void 0:l.onContentReady)&&t.options.onContentReady(n),s.endUpdate()},onToolbarPreparing:n=>{var S;let{toolbarOptions:s={}}=n,l=n.component,{items:g=[]}=s;g.forEach(T=>{T.name==="applyFilterButton"&&T.options&&(T.options.visible=!1)}),k.isLegacyRender?t.title&&n.toolbarOptions.items.unshift({location:"before",template(){let T=$("<h2 />").addClass("grid-header").text(t.title);return t.headerDescription&&T.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Click to see further details")),T}}):(t.title&&g.unshift(st.getToolbarTitleTemplateItem(t.title,t.headerDescription)),g.filter(T=>{if(T.widget==="dxButton"){let I=t.buttonsSize==="sm"?16:24;switch(T.name){case"addRowButton":T.options.icon=Q.getIconClass("plus",!1,I);break;case"saveButton":T.options.icon=Q.getIconClass("save",!1,I);break;case"revertButton":T.options.icon=Q.getIconClass("close",!1,I);break;default:T.options.icon=void 0;break}T.options.elementAttr||(T.options.elementAttr={}),T.options.elementAttr.class=t.buttonsSize==="sm"?q.sm:q.md,T.showText="always"}}),Li(s,t.toolbarAccentButtonName),t.toolbarItems&&g.push(...t.toolbarItems),s.elementAttr={class:"isoz-toolbar-header"});let p=n.toolbarOptions.items.findIndex(T=>T.name==="saveButton"),m=n.toolbarOptions.items.findIndex(T=>T.name==="searchPanel"),E=-1;p>-1?E=p:m>-1?E=m:E=n.toolbarOptions.items.length,n.toolbarOptions.items.splice(E,0,{location:"after",widget:"dxButton",name:"refresh",options:{icon:"refresh",height:k.isLegacyRender?30:void 0,elementAttr:{class:`dx-datagrid-toolbar-button ${t.buttonsSize==="sm"?q.sm:q.md}`},stylingMode:k.isLegacyRender?"text":"contained",onClick:()=>l==null?void 0:l.refresh(),onContentReady:k.isLegacyRender?T=>{T.element.find(".dx-button-content").css({paddingTop:6,paddingBottom:6})}:void 0}}),((S=t.options)==null?void 0:S.onToolbarPreparing)&&t.options.onToolbarPreparing(n);let h=n.toolbarOptions.items.findIndex(T=>T.name==="exportButton");m=n.toolbarOptions.items.findIndex(T=>T.name==="searchPanel"),k.isLegacyRender||(t.buttonsSize==="sm"?(Q.setToolbarWidgetSmallSize(n.toolbarOptions.items[h]),Q.setToolbarWidgetSmallSize(n.toolbarOptions.items[m])):(Q.setToolbarWidgetMediumSize(n.toolbarOptions.items[h]),Q.setToolbarWidgetMediumSize(n.toolbarOptions.items[m])))},onEditorPreparing:n=>{var s;switch(k.isLegacyRender||(n.editorOptions=O(A({},n.editorOptions),{elementAttr:{class:q.md}}),n.editorName==="dxSelectBox"&&(n.editorOptions.dropDownOptions=O(A({},n.editorOptions.dropDownOptions),{onShowing:l=>{let g=Sr(o);l.component._$popupContent.addClass(`isoz-${g}-selectbox-popup`)}})),n.editorName==="dxCheckBox"&&Q.setElementSmallSize(n.editorElement)),n.parentType){case"filterRow":let l=p=>{n.element&&n.element.find(".dx-apply-button").trigger("dxclick")};n.editorOptions.onEnterKey=l,n.editorOptions.onFocusOut=l;break;case"searchPanel":let g=p=>{n.component.searchByText(p.component.option("value"))};n.editorOptions.onValueChanged=()=>{},n.editorOptions.onEnterKey=g,n.editorOptions.onFocusOut=g;break}((s=t.options)==null?void 0:s.onEditorPreparing)&&t.options.onEditorPreparing(n)},onContextMenuPreparing:n=>{var s,l,g;if(!k.isLegacyRender&&n.target==="content"&&!!t.exportFileName&&(n.items||(n.items=[]),n.items.push({text:"Export all data",onItemClick:()=>{n.component.exportToExcel(!1)},icon:"xlsxfile"}),((s=t.options.selection)==null?void 0:s.mode)!=="none")){let p=n.component.getSelectedRowKeys();n.items.push({text:"Export selected rows",onItemClick:()=>n.component.exportToExcel(!0),icon:"exportselected",disabled:!p||!p.length})}((l=t.options)==null?void 0:l.onContextMenuPreparing)&&((g=t.options)==null||g.onContextMenuPreparing(n))},onExporting:n=>{let s=t.options;(s==null?void 0:s.onExporting)?s.onExporting(n):t.exportFileName&&wt(t.exportFileName)(n)}}}function Ir(o){!o.toolbar||!o.toolbar.items||!!o.toolbar.items.find(t=>t==="applyFilterButton"||t.name==="applyFilterButton")||o.toolbar.items.push({name:"applyFilterButton",visible:!1})}function wr(o,t,r){let i={request:null,data:null,rendered:!1},n=0,s=o.option("onOptionChanged"),l=o.option("onContentReady"),g=()=>++n,p=(S,T={})=>{let I=[];for(let y in S){if(!S.hasOwnProperty(y))continue;let u=S[y];u!=null&&(typeof u=="object"?I.push(`${encodeURIComponent(y)}=${encodeURIComponent(JSON.stringify(u))}`):I.push(`${encodeURIComponent(y)}=${encodeURIComponent(u)}`))}for(let y in T){if(!T.hasOwnProperty(y))continue;let u=T[y];u!=null&&(Array.isArray(u)?u.forEach(v=>{I.push(`${encodeURIComponent(y)}[]=${encodeURIComponent(v)}`)}):I.push(`${encodeURIComponent(y)}=${encodeURIComponent(u)}`))}return I.join("&")},m=(S="Loading...")=>{$(".dx-datagrid-summary-item",o.element()).html(S)},E=(S,T)=>{var B,U,F,G;let I=(T==null?void 0:T.totalCount)||0,y=(T==null?void 0:T.summary)||[I],u=S.getDataSource(),v=S.getController("data"),w=S.getController("columns"),D=S.getController("tablePosition"),_=v==null?void 0:v._dataSource,C=w==null?void 0:w._dataSource,M=(B=D.getView("pagerView"))==null?void 0:B.getPager(),R=(G=(F=(U=v==null?void 0:v._footerItems)==null?void 0:U.find(L=>L.rowType==="totalFooter"))==null?void 0:F.summaryCells)==null?void 0:G.filter(L=>L.length);if(u&&(u._totalCount=I),_&&(_._totalCount=I,_._currentTotalCount=I,_._totalCountCorrection=0,_._hasLastPage=!0),C&&(C._totalAggregates=y),R==null?void 0:R.length)for(let L=0;L<R.length;L++){let N=R[L];typeof y[L]<"u"&&(N[0].value=y[L])}M&&(M._props.totalCount=v.totalCount(),M._props.pageCount=v.pageCount()),S.repaint()},h=(S,T)=>{let I=S.getDataSource()||S.option("dataSource");if(!I)return;let y=I._store||I.store;y.on("loading",u=>{let v=typeof T=="string",w=O(A({},u),{requireTotalCount:!0,isSummaryQuery:!0});u.requireTotalCount=!1,u.totalSummary=null,u.isSummaryQuery=!1;let D=v?T:y.loadUrl||r;m();let _=g();setTimeout(()=>{i.request=x(`${D}?${p(w,y.loadParams)}`,"GET",null,!1,{notifyError:!1}).done(C=>{_===n&&(i.data=C,i.rendered=!1,o.repaint())}).fail(()=>{_===n&&m("-")})},0)})};o.option("onOptionChanged",S=>{s&&s(S),S.name==="dataSource"&&S.value&&h(S.component,t)}),o.option("onContentReady",S=>{var T;l&&l(S),((T=i.request)==null?void 0:T.state())==="pending"?m():i.data&&!i.rendered&&(i.rendered=!0,E(o,i.data))}),h(o,t)}function V(o,t,r){let i=br(t),n=$.extend(!0,{},i,t.options),s=Rt("dxDataGrid",$.extend(!0,{},t,{options:n}));Ir(n),n=$.extend(!0,{},n,s);let l=t.isFullScreen||t.isFullScreen===void 0?yr(o,n,t.inPanelGrid):bo(o,n);return t.asyncSummaryLoad&&wr(l,t.asyncSummaryLoad,r),l}function Dr(o,t,r={},i,n){return V($(`#${o}`),{options:t,exportFileName:r.exportFileName,inPanelGrid:r.inPanelGrid,showSummaryInColumn:r.showSummaryInColumn,summaryColumn:r.summaryColumn,headerDescription:n,title:i})}function _r(o,t={}){let r=Er(t),i=$.extend({},r,t.options),n=Rt("dxTreeList",$.extend(!0,{},t,{options:i}));return i=$.extend(!0,{},i,n),vr(o,i,t.inPanelGrid)}var ke=class extends z{constructor(t={}){super();this.ON_UPLOADED="ON_UPLOADED";this.ON_DELETED="ON_DELETED";this.ON_REORDERED="ON_REORDERED";this.settings=t}initMarkup(){return $(`
14
+ `)};goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.string.internal.trim;goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare;goog.string.numberAwareCompare_=function(o,t,r){if(o==t)return 0;if(!o)return-1;if(!t)return 1;for(var i=o.toLowerCase().match(r),n=t.toLowerCase().match(r),s=Math.min(i.length,n.length),l=0;l<s;l++){r=i[l];var g=n[l];if(r!=g)return o=parseInt(r,10),!isNaN(o)&&(t=parseInt(g,10),!isNaN(t)&&o-t)?o-t:r<g?-1:1}return i.length!=n.length?i.length-n.length:o<t?-1:1};goog.string.intAwareCompare=function(o,t){return goog.string.numberAwareCompare_(o,t,/\d+|\D+/g)};goog.string.floatAwareCompare=function(o,t){return goog.string.numberAwareCompare_(o,t,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(o){return encodeURIComponent(String(o))};goog.string.urlDecode=function(o){return decodeURIComponent(o.replace(/\+/g," "))};goog.string.newLineToBr=goog.string.internal.newLineToBr;goog.string.htmlEscape=function(o,t){return o=goog.string.internal.htmlEscape(o,t),goog.string.DETECT_DOUBLE_ESCAPING&&(o=o.replace(goog.string.E_RE_,"&#101;")),o};goog.string.E_RE_=/e/g;goog.string.unescapeEntities=function(o){return goog.string.contains(o,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(o):goog.string.unescapePureXmlEntities_(o):o};goog.string.unescapeEntitiesWithDocument=function(o,t){return goog.string.contains(o,"&")?goog.string.unescapeEntitiesUsingDom_(o,t):o};goog.string.unescapeEntitiesUsingDom_=function(o,t){var r={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'},i=t?t.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function(n,s){var l=r[n];return l||(s.charAt(0)=="#"&&(s=Number("0"+s.substr(1)),isNaN(s)||(l=String.fromCharCode(s))),l||(goog.dom.safe.setInnerHtml(i,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),n+" ")),l=i.firstChild.nodeValue.slice(0,-1)),r[n]=l)})};goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(t,r){switch(r){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return r.charAt(0)!="#"||(r=Number("0"+r.substr(1)),isNaN(r))?t:String.fromCharCode(r)}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(o,t){return goog.string.newLineToBr(o.replace(/ /g," &#160;"),t)};goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(o,t){for(var r=t.length,i=0;i<r;i++){var n=r==1?t:t.charAt(i);if(o.charAt(0)==n&&o.charAt(o.length-1)==n)return o.substring(1,o.length-1)}return o};goog.string.truncate=function(o,t,r){return r&&(o=goog.string.unescapeEntities(o)),o.length>t&&(o=o.substring(0,t-3)+"..."),r&&(o=goog.string.htmlEscape(o)),o};goog.string.truncateMiddle=function(o,t,r,i){if(r&&(o=goog.string.unescapeEntities(o)),i&&o.length>t){i>t&&(i=t);var n=o.length-i;o=o.substring(0,t-i)+"..."+o.substring(n)}else o.length>t&&(i=Math.floor(t/2),n=o.length-i,o=o.substring(0,i+t%2)+"..."+o.substring(n));return r&&(o=goog.string.htmlEscape(o)),o};goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"};goog.string.jsEscapeCache_={"'":"\\'"};goog.string.quote=function(o){o=String(o);for(var t=['"'],r=0;r<o.length;r++){var i=o.charAt(r),n=i.charCodeAt(0);t[r+1]=goog.string.specialEscapeChars_[i]||(31<n&&127>n?i:goog.string.escapeChar(i))}return t.push('"'),t.join("")};goog.string.escapeString=function(o){for(var t=[],r=0;r<o.length;r++)t[r]=goog.string.escapeChar(o.charAt(r));return t.join("")};goog.string.escapeChar=function(o){if(o in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[o];if(o in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[o]=goog.string.specialEscapeChars_[o];var t=o.charCodeAt(0);if(31<t&&127>t)var r=o;else 256>t?(r="\\x",(16>t||256<t)&&(r+="0")):(r="\\u",4096>t&&(r+="0")),r+=t.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=r};goog.string.contains=goog.string.internal.contains;goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains;goog.string.countOf=function(o,t){return o&&t?o.split(t).length-1:0};goog.string.removeAt=function(o,t,r){var i=o;return 0<=t&&t<o.length&&0<r&&(i=o.substr(0,t)+o.substr(t+r,o.length-t-r)),i};goog.string.remove=function(o,t){return o.replace(t,"")};goog.string.removeAll=function(o,t){return t=new RegExp(goog.string.regExpEscape(t),"g"),o.replace(t,"")};goog.string.replaceAll=function(o,t,r){return t=new RegExp(goog.string.regExpEscape(t),"g"),o.replace(t,r.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(o){return String(o).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(o,t){return o.repeat(t)}:function(o,t){return Array(t+1).join(o)};goog.string.padNumber=function(o,t,r){return o=goog.isDef(r)?o.toFixed(r):String(o),r=o.indexOf("."),r==-1&&(r=o.length),goog.string.repeat("0",Math.max(0,t-r))+o};goog.string.makeSafe=function(o){return o==null?"":String(o)};goog.string.buildString=function(o){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};goog.string.compareVersions=goog.string.internal.compareVersions;goog.string.hashCode=function(o){for(var t=0,r=0;r<o.length;++r)t=31*t+o.charCodeAt(r)>>>0;return t};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};goog.string.toNumber=function(o){var t=Number(o);return t==0&&goog.string.isEmptyOrWhitespace(o)?NaN:t};goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)};goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)};goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(t,r){return r.toUpperCase()})};goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()};goog.string.toTitleCase=function(o,t){return t=goog.isString(t)?goog.string.regExpEscape(t):"\\s",o.replace(new RegExp("(^"+(t?"|["+t+"]+":"")+")([a-z])","g"),function(r,i,n){return i+n.toUpperCase()})};goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()};goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),goog.isString(o)?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN};goog.string.splitLimit=function(o,t,r){o=o.split(t);for(var i=[];0<r&&o.length;)i.push(o.shift()),r--;return o.length&&i.push(o.join(t)),i};goog.string.lastComponent=function(o,t){if(t)typeof t=="string"&&(t=[t]);else return o;for(var r=-1,i=0;i<t.length;i++)if(t[i]!=""){var n=o.lastIndexOf(t[i]);n>r&&(r=n)}return r==-1?o:o.slice(r+1)};goog.string.editDistance=function(o,t){var r=[],i=[];if(o==t)return 0;if(!o.length||!t.length)return Math.max(o.length,t.length);for(var n=0;n<t.length+1;n++)r[n]=n;for(n=0;n<o.length;n++){i[0]=n+1;for(var s=0;s<t.length;s++)i[s+1]=Math.min(i[s]+1,r[s+1]+1,r[s]+Number(o[n]!=t[s]));for(s=0;s<r.length;s++)r[s]=i[s]}return i[t.length]};goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};goog.labs.userAgent.platform.isChromecast=function(){return goog.labs.userAgent.util.matchUserAgent("CrKey")};goog.labs.userAgent.platform.isKaiOS=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")};goog.labs.userAgent.platform.isGo2Phone=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("GAFP")};goog.labs.userAgent.platform.getVersion=function(){var o=goog.labs.userAgent.util.getUserAgent(),t="";return goog.labs.userAgent.platform.isWindows()?(t=/Windows (?:NT|Phone) ([0-9.]+)/,t=(o=t.exec(o))?o[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(t=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,t=(o=t.exec(o))&&o[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(t=/Mac OS X ([0-9_.]+)/,t=(o=t.exec(o))?o[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isKaiOS()?(t=/(?:KaiOS)\/(\S+)/i,t=(o=t.exec(o))&&o[1]):goog.labs.userAgent.platform.isAndroid()?(t=/Android\s+([^\);]+)(\)|;)/,t=(o=t.exec(o))&&o[1]):goog.labs.userAgent.platform.isChromeOS()&&(t=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,t=(o=t.exec(o))&&o[1]),t||""};goog.labs.userAgent.platform.isVersionOrHigher=function(o){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),o)};goog.reflect={};goog.reflect.object=function(o,t){return t};goog.reflect.objectProperty=function(o,t){return o};goog.reflect.sinkValue=function(o){return goog.reflect.sinkValue[" "](o),o};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(o,t){try{return goog.reflect.sinkValue(o[t]),!0}catch{}return!1};goog.reflect.cache=function(o,t,r,i){return i=i?i(t):t,Object.prototype.hasOwnProperty.call(o,i)?o[i]:o[i]=r(t)};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.getVersion=function(){var o=goog.labs.userAgent.util.getUserAgent();if(o){o=goog.labs.userAgent.util.extractVersionTuples(o);var t=goog.labs.userAgent.engine.getEngineTuple_(o);if(t)return t[0]=="Gecko"?goog.labs.userAgent.engine.getVersionForKey_(o,"Firefox"):t[1];o=o[0];var r;if(o&&(r=o[2])&&(r=/Trident\/([^\s;]+)/.exec(r)))return r[1]}return""};goog.labs.userAgent.engine.getEngineTuple_=function(o){if(!goog.labs.userAgent.engine.isEdge())return o[1];for(var t=0;t<o.length;t++){var r=o[t];if(r[0]=="Edge")return r}};goog.labs.userAgent.engine.isVersionOrHigher=function(o){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),o)};goog.labs.userAgent.engine.getVersionForKey_=function(o,t){return(o=goog.array.find(o,function(r){return t==r[0]}))&&o[1]||""};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};goog.userAgent.getNavigatorTyped=function(){return goog.global.navigator||null};goog.userAgent.getNavigator=function(){return goog.userAgent.getNavigatorTyped()};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;goog.userAgent.determinePlatform_=function(){var o=goog.userAgent.getNavigatorTyped();return o&&o.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;goog.userAgent.ASSUME_KAIOS=!1;goog.userAgent.ASSUME_GO2PHONE=!1;goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var o=goog.userAgent.getNavigatorTyped();return!!o&&goog.string.contains(o.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.KAIOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_KAIOS:goog.labs.userAgent.platform.isKaiOS();goog.userAgent.GO2PHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_GO2PHONE:goog.labs.userAgent.platform.isGo2Phone();goog.userAgent.determineVersion_=function(){var o="",t=goog.userAgent.getVersionRegexResult_();return t&&(o=t?t[1]:""),goog.userAgent.IE&&(t=goog.userAgent.getDocumentMode_(),t!=null&&t>parseFloat(o))?String(t):o};goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(o);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(o);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(o)};goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(o,t){return goog.string.compareVersions(o,t)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}();goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.";goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4};goog.crypt.base64.paddingChars_="=.";goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)};goog.crypt.base64.byteToCharMaps_={};goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function";goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function";goog.crypt.base64.encodeByteArray=function(o,t){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),t===void 0&&(t=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),t=goog.crypt.base64.byteToCharMaps_[t];for(var r=[],i=0;i<o.length;i+=3){var n=o[i],s=i+1<o.length,l=s?o[i+1]:0,g=i+2<o.length,p=g?o[i+2]:0,m=n>>2;n=(n&3)<<4|l>>4,l=(l&15)<<2|p>>6,p&=63,g||(p=64,s||(l=64)),r.push(t[m],t[n],t[l]||"",t[p]||"")}return r.join("")};goog.crypt.base64.encodeString=function(o,t){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!t?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),t)};goog.crypt.base64.decodeString=function(o,t){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!t)return goog.global.atob(o);var r="";return goog.crypt.base64.decodeStringInternal_(o,function(i){r+=String.fromCharCode(i)}),r};goog.crypt.base64.decodeStringToByteArray=function(o,t){var r=[];return goog.crypt.base64.decodeStringInternal_(o,function(i){r.push(i)}),r};goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var t=o.length,r=3*t/4;r%3?r=Math.floor(r):goog.crypt.base64.isPadding_(o[t-1])&&(r=goog.crypt.base64.isPadding_(o[t-2])?r-2:r-1);var i=new Uint8Array(r),n=0;return goog.crypt.base64.decodeStringInternal_(o,function(s){i[n++]=s}),i.subarray(0,n)};goog.crypt.base64.decodeStringInternal_=function(o,t){function r(p){for(;i<o.length;){var m=o.charAt(i++),E=goog.crypt.base64.charToByteMap_[m];if(E!=null)return E;if(!goog.string.isEmptyOrWhitespace(m))throw Error("Unknown base64 encoding at char: "+m)}return p}goog.crypt.base64.init_();for(var i=0;;){var n=r(-1),s=r(0),l=r(64),g=r(64);if(g===64&&n===-1)break;t(n<<2|s>>4),l!=64&&(t(s<<4&240|l>>2),g!=64&&t(l<<6&192|g))}};goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),t=["+/=","+/","-_=","-_.","-_"],r=0;5>r;r++){var i=o.concat(t[r].split(""));goog.crypt.base64.byteToCharMaps_[r]=i;for(var n=0;n<i.length;n++){var s=i[n],l=goog.crypt.base64.charToByteMap_[s];l===void 0?goog.crypt.base64.charToByteMap_[s]=n:goog.asserts.assert(l===n)}}}};jspb.utils={};jspb.utils.split64Low=0;jspb.utils.split64High=0;jspb.utils.splitUint64=function(o){var t=o>>>0;o=Math.floor((o-t)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=t,jspb.utils.split64High=o};jspb.utils.splitInt64=function(o){var t=0>o;o=Math.abs(o);var r=o>>>0;o=Math.floor((o-r)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,t&&(o=~o>>>0,r=(~r>>>0)+1,4294967295<r&&(r=0,o++,4294967295<o&&(o=0))),jspb.utils.split64Low=r,jspb.utils.split64High=o};jspb.utils.splitZigzag64=function(o){var t=0>o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var r=jspb.utils.split64High;t&&(o==0?r==0?r=o=4294967295:(r--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=r};jspb.utils.splitFloat32=function(o){var t=0>o?1:0;if(o=t?-o:o,o===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(t<<31|2139095040)>>>0;else if(o<jspb.BinaryConstants.FLOAT32_MIN)o=Math.round(o/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(t<<31|o)>>>0;else{var r=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-r),o=Math.round(o*jspb.BinaryConstants.TWO_TO_23)&8388607,jspb.utils.split64High=0,jspb.utils.split64Low=(t<<31|r+127<<23|o)>>>0}};jspb.utils.splitFloat64=function(o){var t=0>o?1:0;if(o=t?-o:o,o===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(t<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o<jspb.BinaryConstants.FLOAT64_MIN){var r=o/Math.pow(2,-1074);o=r/jspb.BinaryConstants.TWO_TO_32,jspb.utils.split64High=(t<<31|o)>>>0,jspb.utils.split64Low=r>>>0}else{r=o;var i=0;if(2<=r)for(;2<=r&&1023>i;)i++,r/=2;else for(;1>r&&-1022<i;)r*=2,i--;r=o*Math.pow(2,-i),o=r*jspb.BinaryConstants.TWO_TO_20&1048575,r=r*jspb.BinaryConstants.TWO_TO_52>>>0,jspb.utils.split64High=(t<<31|i+1023<<20|o)>>>0,jspb.utils.split64Low=r}};jspb.utils.splitHash64=function(o){var t=o.charCodeAt(0),r=o.charCodeAt(1),i=o.charCodeAt(2),n=o.charCodeAt(3),s=o.charCodeAt(4),l=o.charCodeAt(5),g=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=t+(r<<8)+(i<<16)+(n<<24)>>>0,jspb.utils.split64High=s+(l<<8)+(g<<16)+(o<<24)>>>0};jspb.utils.joinUint64=function(o,t){return t*jspb.BinaryConstants.TWO_TO_32+(o>>>0)};jspb.utils.joinInt64=function(o,t){var r=t&2147483648;return r&&(o=~o+1>>>0,t=~t>>>0,o==0&&(t=t+1>>>0)),o=jspb.utils.joinUint64(o,t),r?-o:o};jspb.utils.toZigzag64=function(o,t,r){var i=t>>31;return r(o<<1^i,(t<<1|o>>>31)^i)};jspb.utils.joinZigzag64=function(o,t){return jspb.utils.fromZigzag64(o,t,jspb.utils.joinInt64)};jspb.utils.fromZigzag64=function(o,t,r){var i=-(o&1);return r((o>>>1|t<<31)^i,t>>>1^i)};jspb.utils.joinFloat32=function(o,t){t=2*(o>>31)+1;var r=o>>>23&255;return o&=8388607,r==255?o?NaN:1/0*t:r==0?t*Math.pow(2,-149)*o:t*Math.pow(2,r-150)*(o+Math.pow(2,23))};jspb.utils.joinFloat64=function(o,t){var r=2*(t>>31)+1,i=t>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(t&1048575)+o,i==2047?o?NaN:1/0*r:i==0?r*Math.pow(2,-1074)*o:r*Math.pow(2,i-1075)*(o+jspb.BinaryConstants.TWO_TO_52)};jspb.utils.joinHash64=function(o,t){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,t>>>0&255,t>>>8&255,t>>>16&255,t>>>24&255)};jspb.utils.DIGITS="0123456789abcdef".split("");jspb.utils.ZERO_CHAR_CODE_=48;jspb.utils.A_CHAR_CODE_=97;jspb.utils.joinUnsignedDecimalString=function(o,t){function r(n,s){return n=n?String(n):"",s?"0000000".slice(n.length)+n:n}if(2097151>=t)return""+(jspb.BinaryConstants.TWO_TO_32*t+o);var i=(o>>>24|t<<8)>>>0&16777215;return t=t>>16&65535,o=(o&16777215)+6777216*i+6710656*t,i+=8147497*t,t*=2,1e7<=o&&(i+=Math.floor(o/1e7),o%=1e7),1e7<=i&&(t+=Math.floor(i/1e7),i%=1e7),r(t,0)+r(i,t)+r(o,1)};jspb.utils.joinSignedDecimalString=function(o,t){var r=t&2147483648;return r&&(o=~o+1>>>0,t=~t+(o==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,t),r?"-"+o:o};jspb.utils.hash64ToDecimalString=function(o,t){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var r=jspb.utils.split64High;return t?jspb.utils.joinSignedDecimalString(o,r):jspb.utils.joinUnsignedDecimalString(o,r)};jspb.utils.hash64ArrayToDecimalStrings=function(o,t){for(var r=Array(o.length),i=0;i<o.length;i++)r[i]=jspb.utils.hash64ToDecimalString(o[i],t);return r};jspb.utils.decimalStringToHash64=function(o){function t(l,g){for(var p=0;8>p&&(l!==1||0<g);p++)g=l*n[p]+g,n[p]=g&255,g>>>=8}function r(){for(var l=0;8>l;l++)n[l]=~n[l]&255}goog.asserts.assert(0<o.length);var i=!1;o[0]==="-"&&(i=!0,o=o.slice(1));for(var n=[0,0,0,0,0,0,0,0],s=0;s<o.length;s++)t(10,o.charCodeAt(s)-jspb.utils.ZERO_CHAR_CODE_);return i&&(r(),t(1,1)),goog.crypt.byteArrayToString(n)};jspb.utils.splitDecimalString=function(o){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o))};jspb.utils.toHexDigit_=function(o){return String.fromCharCode(10>o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)};jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_};jspb.utils.hash64ToHexString=function(o){var t=Array(18);t[0]="0",t[1]="x";for(var r=0;8>r;r++){var i=o.charCodeAt(7-r);t[2*r+2]=jspb.utils.toHexDigit_(i>>4),t[2*r+3]=jspb.utils.toHexDigit_(i&15)}return t.join("")};jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),goog.asserts.assert(o.length==18),goog.asserts.assert(o[0]=="0"),goog.asserts.assert(o[1]=="x");for(var t="",r=0;8>r;r++){var i=jspb.utils.fromHexCharCode_(o.charCodeAt(2*r+2)),n=jspb.utils.fromHexCharCode_(o.charCodeAt(2*r+3));t=String.fromCharCode(16*i+n)+t}return t};jspb.utils.hash64ToNumber=function(o,t){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var r=jspb.utils.split64High;return t?jspb.utils.joinInt64(o,r):jspb.utils.joinUint64(o,r)};jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.utils.countVarints=function(o,t,r){for(var i=0,n=t;n<r;n++)i+=o[n]>>7;return r-t-i};jspb.utils.countVarintFields=function(o,t,r,i){var n=0;if(i=8*i+jspb.BinaryConstants.WireType.VARINT,128>i)for(;t<r&&o[t++]==i;)for(n++;;){var s=o[t++];if((s&128)==0)break}else for(;t<r;){for(s=i;128<s;){if(o[t]!=(s&127|128))return n;t++,s>>=7}if(o[t++]!=s)break;for(n++;s=o[t++],(s&128)!=0;);}return n};jspb.utils.countFixedFields_=function(o,t,r,i,n){var s=0;if(128>i)for(;t<r&&o[t++]==i;)s++,t+=n;else for(;t<r;){for(var l=i;128<l;){if(o[t++]!=(l&127|128))return s;l>>=7}if(o[t++]!=l)break;s++,t+=n}return s};jspb.utils.countFixed32Fields=function(o,t,r,i){return jspb.utils.countFixedFields_(o,t,r,8*i+jspb.BinaryConstants.WireType.FIXED32,4)};jspb.utils.countFixed64Fields=function(o,t,r,i){return jspb.utils.countFixedFields_(o,t,r,8*i+jspb.BinaryConstants.WireType.FIXED64,8)};jspb.utils.countDelimitedFields=function(o,t,r,i){var n=0;for(i=8*i+jspb.BinaryConstants.WireType.DELIMITED;t<r;){for(var s=i;128<s;){if(o[t++]!=(s&127|128))return n;s>>=7}if(o[t++]!=s)break;n++;for(var l=0,g=1;s=o[t++],l+=(s&127)*g,g*=128,(s&128)!=0;);t+=l}return n};jspb.utils.debugBytesToTextFormat=function(o){var t='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var r=0;r<o.length;r++)t+="\\x",16>o[r]&&(t+="0"),t+=o[r].toString(16)}return t+'"'};jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()};jspb.utils.stringToByteArray=function(o){for(var t=new Uint8Array(o.length),r=0;r<o.length;r++){var i=o.charCodeAt(r);if(255<i)throw Error("Conversion error: string contains codepoint outside of byte range");t[r]=i}return t};jspb.utils.byteSourceToUint8Array=function(o){return o.constructor===Uint8Array?o:o.constructor===ArrayBuffer||typeof Buffer<"u"&&o.constructor===Buffer||o.constructor===Array?new Uint8Array(o):o.constructor===String?goog.crypt.base64.decodeStringToUint8Array(o):(goog.asserts.fail("Type not convertible to Uint8Array."),new Uint8Array(0))};jspb.BinaryDecoder=function(o,t,r){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1,o&&this.setBlock(o,t,r)};jspb.BinaryDecoder.instanceCache_=[];jspb.BinaryDecoder.alloc=function(o,t,r){if(jspb.BinaryDecoder.instanceCache_.length){var i=jspb.BinaryDecoder.instanceCache_.pop();return o&&i.setBlock(o,t,r),i}return new jspb.BinaryDecoder(o,t,r)};jspb.BinaryDecoder.prototype.free=function(){this.clear(),100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)};jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)};jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1};jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_};jspb.BinaryDecoder.prototype.setBlock=function(o,t,r){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=t!==void 0?t:0,this.end_=r!==void 0?this.start_+r:this.bytes_.length,this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_};jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o};jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_};jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_};jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o};jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_)};jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_};jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_};jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_};jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var t=128,r=0,i=0,n=0;4>n&&128<=t;n++)t=this.bytes_[this.cursor_++],r|=(t&127)<<7*n;if(128<=t&&(t=this.bytes_[this.cursor_++],r|=(t&127)<<28,i|=(t&127)>>4),128<=t)for(n=0;5>n&&128<=t;n++)t=this.bytes_[this.cursor_++],i|=(t&127)<<7*n+3;if(128>t)return o(r>>>0,i>>>0);goog.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0};jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(t,r){return jspb.utils.fromZigzag64(t,r,o)})};jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var t=this.bytes_,r=this.cursor_;this.cursor_+=8;for(var i=0,n=0,s=r+7;s>=r;s--)i=i<<8|t[s],n=n<<8|t[s+4];return o(i,n)};jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++};jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128<o;)this.cursor_--,o>>>=7;this.cursor_--};jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,t=o[this.cursor_+0],r=t&127;return 128>t?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+1],r|=(t&127)<<7,128>t?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+2],r|=(t&127)<<14,128>t?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+3],r|=(t&127)<<21,128>t?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),r):(t=o[this.cursor_+4],r|=(t&15)<<28,128>t?(this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),r>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&goog.asserts.assert(!1),goog.asserts.assert(this.cursor_<=this.end_),r)))))};jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32;jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()};jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()};jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(o&1)};jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)};jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)};jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)};jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)};jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)};jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)};jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)};jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o};jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),o<<0|t<<8};jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1],r=this.bytes_[this.cursor_+2],i=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|t<<8|r<<16|i<<24)>>>0};jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinUint64(o,t)};jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,t)};jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o<<24>>24};jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|t<<8)<<16>>16};jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1],r=this.bytes_[this.cursor_+2],i=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),o<<0|t<<8|r<<16|i<<24};jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinInt64(o,t)};jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinSignedDecimalString(o,t)};jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)};jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),t=this.readUint32();return jspb.utils.joinFloat64(o,t)};jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]};jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()};jspb.BinaryDecoder.prototype.readString=function(o){var t=this.bytes_,r=this.cursor_;o=r+o;for(var i=[],n="";r<o;){var s=t[r++];if(128>s)i.push(s);else{if(192>s)continue;if(224>s){var l=t[r++];i.push((s&31)<<6|l&63)}else if(240>s){l=t[r++];var g=t[r++];i.push((s&15)<<12|(l&63)<<6|g&63)}else if(248>s){l=t[r++],g=t[r++];var p=t[r++];s=(s&7)<<18|(l&63)<<12|(g&63)<<6|p&63,s-=65536,i.push((s>>10&1023)+55296,(s&1023)+56320)}}8192<=i.length&&(n+=String.fromCharCode.apply(null,i),i.length=0)}return n+=goog.crypt.byteArrayToString(i),this.cursor_=r,n};jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)};jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var t=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_),t};jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)};jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,t=this.cursor_,r=o[t+0],i=o[t+1],n=o[t+2],s=o[t+3],l=o[t+4],g=o[t+5],p=o[t+6];return o=o[t+7],this.cursor_+=8,String.fromCharCode(r,i,n,s,l,g,p,o)};jspb.BinaryReader=function(o,t,r){this.decoder_=jspb.BinaryDecoder.alloc(o,t,r),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null};jspb.BinaryReader.instanceCache_=[];jspb.BinaryReader.alloc=function(o,t,r){if(jspb.BinaryReader.instanceCache_.length){var i=jspb.BinaryReader.instanceCache_.pop();return o&&i.decoder_.setBlock(o,t,r),i}return new jspb.BinaryReader(o,t,r)};jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc;jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)};jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_};jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()};jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()};jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_};jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_};jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED};jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP};jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()};jspb.BinaryReader.prototype.setBlock=function(o,t,r){this.decoder_.setBlock(o,t,r),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID};jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)};jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),t=o>>>3;return o&=7,o!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=t,this.nextWireType_=o,!0)};jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)};jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()};jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()};jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}};jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)};jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)};jspb.BinaryReader.prototype.skipGroup=function(){var o=this.nextField_;do{if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(goog.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}while(1)};jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}};jspb.BinaryReader.prototype.registerReadCallback=function(o,t){this.readCallbacks_===null&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=t};jspb.BinaryReader.prototype.runReadCallback=function(o){return goog.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],goog.asserts.assert(o),o(this)};jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var t=jspb.BinaryConstants.FieldType;switch(o){case t.DOUBLE:return this.readDouble();case t.FLOAT:return this.readFloat();case t.INT64:return this.readInt64();case t.UINT64:return this.readUint64();case t.INT32:return this.readInt32();case t.FIXED64:return this.readFixed64();case t.FIXED32:return this.readFixed32();case t.BOOL:return this.readBool();case t.STRING:return this.readString();case t.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case t.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case t.BYTES:return this.readBytes();case t.UINT32:return this.readUint32();case t.ENUM:return this.readEnum();case t.SFIXED32:return this.readSfixed32();case t.SFIXED64:return this.readSfixed64();case t.SINT32:return this.readSint32();case t.SINT64:return this.readSint64();case t.FHASH64:return this.readFixedHash64();case t.VHASH64:return this.readVarintHash64();default:goog.asserts.fail("Invalid field type in readAny()")}return 0};jspb.BinaryReader.prototype.readMessage=function(o,t){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var r=this.decoder_.getEnd(),i=this.decoder_.readUnsignedVarint32();i=this.decoder_.getCursor()+i,this.decoder_.setEnd(i),t(o,this),this.decoder_.setCursor(i),this.decoder_.setEnd(r)};jspb.BinaryReader.prototype.readGroup=function(o,t,r){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==o),r(t,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)};jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),t=this.decoder_.getCursor(),r=t+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),t,o),this.decoder_.setCursor(r),o};jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()};jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()};jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()};jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()};jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()};jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()};jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()};jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()};jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()};jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()};jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()};jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()};jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()};jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()};jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()};jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()};jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()};jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()};jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()};jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()};jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)};jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)};jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()};jspb.BinaryReader.prototype.readSintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()};jspb.BinaryReader.prototype.readSplitVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)};jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(t,r){return jspb.utils.fromZigzag64(t,r,o)})};jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()};jspb.BinaryReader.prototype.readSplitFixed64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)};jspb.BinaryReader.prototype.readPackedField_=function(o){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var t=this.decoder_.readUnsignedVarint32();t=this.decoder_.getCursor()+t;for(var r=[];this.decoder_.getCursor()<t;)r.push(o.call(this.decoder_));return r};jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)};jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)};jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)};jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)};jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)};jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)};jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)};jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)};jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)};jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)};jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)};jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)};jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)};jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)};jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)};jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)};jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)};jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)};jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)};jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)};jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)};jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)};jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)};jspb.Map=function(o,t){this.arr_=o,this.valueCtor_=t,this.map_={},this.arrClean=!0,0<this.arr_.length&&this.loadFromArray_()};jspb.Map.prototype.loadFromArray_=function(){for(var o=0;o<this.arr_.length;o++){var t=this.arr_[o],r=t[0];this.map_[r.toString()]=new jspb.Map.Entry_(r,t[1])}this.arrClean=!0};jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var o=this.map_,t;for(t in o)if(Object.prototype.hasOwnProperty.call(o,t)){var r=o[t].valueWrapper;r&&r.toArray()}}}else{for(this.arr_.length=0,o=this.stringKeys_(),o.sort(),t=0;t<o.length;t++){var i=this.map_[o[t]];(r=i.valueWrapper)&&r.toArray(),this.arr_.push([i.key,i.value])}this.arrClean=!0}return this.arr_};jspb.Map.prototype.toObject=function(o,t){for(var r=this.toArray(),i=[],n=0;n<r.length;n++){var s=this.map_[r[n][0].toString()];this.wrapEntry_(s);var l=s.valueWrapper;l?(goog.asserts.assert(t),i.push([s.key,t(o,l)])):i.push([s.key,s.value])}return i};jspb.Map.fromObject=function(o,t,r){t=new jspb.Map([],t);for(var i=0;i<o.length;i++){var n=o[i][0],s=r(o[i][1]);t.set(n,s)}return t};jspb.Map.ArrayIteratorIterable_=function(o){this.idx_=0,this.arr_=o};jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}};typeof Symbol<"u"&&(jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this});jspb.Map.prototype.getLength=function(){return this.stringKeys_().length};jspb.Map.prototype.clear=function(){this.map_={},this.arrClean=!1};jspb.Map.prototype.del=function(o){o=o.toString();var t=this.map_.hasOwnProperty(o);return delete this.map_[o],this.arrClean=!1,t};jspb.Map.prototype.getEntryList=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++){var i=this.map_[t[r]];o.push([i.key,i.value])}return o};jspb.Map.prototype.entries=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++){var i=this.map_[t[r]];o.push([i.key,this.wrapEntry_(i)])}return new jspb.Map.ArrayIteratorIterable_(o)};jspb.Map.prototype.keys=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++)o.push(this.map_[t[r]].key);return new jspb.Map.ArrayIteratorIterable_(o)};jspb.Map.prototype.values=function(){var o=[],t=this.stringKeys_();t.sort();for(var r=0;r<t.length;r++)o.push(this.wrapEntry_(this.map_[t[r]]));return new jspb.Map.ArrayIteratorIterable_(o)};jspb.Map.prototype.forEach=function(o,t){var r=this.stringKeys_();r.sort();for(var i=0;i<r.length;i++){var n=this.map_[r[i]];o.call(t,this.wrapEntry_(n),n.key,this)}};jspb.Map.prototype.set=function(o,t){var r=new jspb.Map.Entry_(o);return this.valueCtor_?(r.valueWrapper=t,r.value=t.toArray()):r.value=t,this.map_[o.toString()]=r,this.arrClean=!1,this};jspb.Map.prototype.wrapEntry_=function(o){return this.valueCtor_?(o.valueWrapper||(o.valueWrapper=new this.valueCtor_(o.value)),o.valueWrapper):o.value};jspb.Map.prototype.get=function(o){if(o=this.map_[o.toString()])return this.wrapEntry_(o)};jspb.Map.prototype.has=function(o){return o.toString()in this.map_};jspb.Map.prototype.serializeBinary=function(o,t,r,i,n){var s=this.stringKeys_();s.sort();for(var l=0;l<s.length;l++){var g=this.map_[s[l]];t.beginSubMessage(o),r.call(t,1,g.key),this.valueCtor_?i.call(t,2,this.wrapEntry_(g),n):i.call(t,2,g.value),t.endSubMessage()}};jspb.Map.deserializeBinary=function(o,t,r,i,n,s,l){for(;t.nextField()&&!t.isEndGroup();){var g=t.getFieldNumber();g==1?s=r.call(t):g==2&&(o.valueCtor_?(goog.asserts.assert(n),l||(l=new o.valueCtor_),i.call(t,l,n)):l=i.call(t))}goog.asserts.assert(s!=null),goog.asserts.assert(l!=null),o.set(s,l)};jspb.Map.prototype.stringKeys_=function(){var o=this.map_,t=[],r;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&t.push(r);return t};jspb.Map.Entry_=function(o,t){this.key=o,this.value=t,this.valueWrapper=void 0};jspb.ExtensionFieldInfo=function(o,t,r,i,n){this.fieldIndex=o,this.fieldName=t,this.ctor=r,this.toObjectFn=i,this.isRepeated=n};jspb.ExtensionFieldBinaryInfo=function(o,t,r,i,n,s){this.fieldInfo=o,this.binaryReaderFn=t,this.binaryWriterFn=r,this.binaryMessageSerializeFn=i,this.binaryMessageDeserializeFn=n,this.isPacked=s};jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor};jspb.Message=function(){};jspb.Message.GENERATE_TO_OBJECT=!0;jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE;jspb.Message.GENERATE_TO_STRING=!0;jspb.Message.ASSUME_LOCAL_ARRAYS=!1;jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS=!0;jspb.Message.SUPPORTS_UINT8ARRAY_=typeof Uint8Array=="function";jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_};jspb.Message.getIndex_=function(o,t){return t+o.arrayIndexOffset_};jspb.Message.hiddenES6Property_=function(){};jspb.Message.getFieldNumber_=function(o,t){return t-o.arrayIndexOffset_};jspb.Message.initialize=function(o,t,r,i,n,s){if(o.wrappers_=null,t||(t=r?[r]:[]),o.messageId_=r?String(r):void 0,o.arrayIndexOffset_=r===0?-1:0,o.array=t,jspb.Message.initPivotAndExtensionObject_(o,i),o.convertedPrimitiveFields_={},jspb.Message.SERIALIZE_EMPTY_TRAILING_FIELDS||(o.repeatedFields=n),n)for(t=0;t<n.length;t++)r=n[t],r<o.pivot_?(r=jspb.Message.getIndex_(o,r),o.array[r]=o.array[r]||jspb.Message.EMPTY_LIST_SENTINEL_):(jspb.Message.maybeInitEmptyExtensionObject_(o),o.extensionObject_[r]=o.extensionObject_[r]||jspb.Message.EMPTY_LIST_SENTINEL_);if(s&&s.length)for(t=0;t<s.length;t++)jspb.Message.computeOneofCase(o,s[t])};jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[];jspb.Message.isArray_=function(o){return jspb.Message.ASSUME_LOCAL_ARRAYS?o instanceof Array:Array.isArray(o)};jspb.Message.isExtensionObject_=function(o){return o!==null&&typeof o=="object"&&!jspb.Message.isArray_(o)&&!(jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array)};jspb.Message.initPivotAndExtensionObject_=function(o,t){var r=o.array.length,i=-1;if(r&&(i=r-1,r=o.array[i],jspb.Message.isExtensionObject_(r))){o.pivot_=jspb.Message.getFieldNumber_(o,i),o.extensionObject_=r;return}-1<t?(o.pivot_=Math.max(t,jspb.Message.getFieldNumber_(o,i+1)),o.extensionObject_=null):o.pivot_=Number.MAX_VALUE};jspb.Message.maybeInitEmptyExtensionObject_=function(o){var t=jspb.Message.getIndex_(o,o.pivot_);o.array[t]||(o.extensionObject_=o.array[t]={})};jspb.Message.toObjectList=function(o,t,r){for(var i=[],n=0;n<o.length;n++)i[n]=t.call(o[n],r,o[n]);return i};jspb.Message.toObjectExtension=function(o,t,r,i,n){for(var s in r){var l=r[s],g=i.call(o,l);if(g!=null){for(var p in l.fieldName)if(l.fieldName.hasOwnProperty(p))break;t[p]=l.toObjectFn?l.isRepeated?jspb.Message.toObjectList(g,l.toObjectFn,n):l.toObjectFn(n,g):g}}};jspb.Message.serializeBinaryExtensions=function(o,t,r,i){for(var n in r){var s=r[n],l=s.fieldInfo;if(!s.binaryWriterFn)throw Error("Message extension present that was generated without binary serialization support");var g=i.call(o,l);if(g!=null)if(l.isMessageType())if(s.binaryMessageSerializeFn)s.binaryWriterFn.call(t,l.fieldIndex,g,s.binaryMessageSerializeFn);else throw Error("Message extension present holding submessage without binary support enabled, and message is being serialized to binary format");else s.binaryWriterFn.call(t,l.fieldIndex,g)}};jspb.Message.readBinaryExtension=function(o,t,r,i,n){var s=r[t.getFieldNumber()];if(s){if(r=s.fieldInfo,!s.binaryReaderFn)throw Error("Deserializing extension whose generated code does not support binary format");if(r.isMessageType()){var l=new r.ctor;s.binaryReaderFn.call(t,l,s.binaryMessageDeserializeFn)}else l=s.binaryReaderFn.call(t);r.isRepeated&&!s.isPacked?(t=i.call(o,r))?t.push(l):n.call(o,r,[l]):n.call(o,r,l)}else t.skipField()};jspb.Message.getField=function(o,t){if(t<o.pivot_){t=jspb.Message.getIndex_(o,t);var r=o.array[t];return r===jspb.Message.EMPTY_LIST_SENTINEL_?o.array[t]=[]:r}if(o.extensionObject_)return r=o.extensionObject_[t],r===jspb.Message.EMPTY_LIST_SENTINEL_?o.extensionObject_[t]=[]:r};jspb.Message.getRepeatedField=function(o,t){return jspb.Message.getField(o,t)};jspb.Message.getOptionalFloatingPointField=function(o,t){return o=jspb.Message.getField(o,t),o==null?o:+o};jspb.Message.getBooleanField=function(o,t){return o=jspb.Message.getField(o,t),o==null?o:!!o};jspb.Message.getRepeatedFloatingPointField=function(o,t){var r=jspb.Message.getRepeatedField(o,t);if(o.convertedPrimitiveFields_||(o.convertedPrimitiveFields_={}),!o.convertedPrimitiveFields_[t]){for(var i=0;i<r.length;i++)r[i]=+r[i];o.convertedPrimitiveFields_[t]=!0}return r};jspb.Message.getRepeatedBooleanField=function(o,t){var r=jspb.Message.getRepeatedField(o,t);if(o.convertedPrimitiveFields_||(o.convertedPrimitiveFields_={}),!o.convertedPrimitiveFields_[t]){for(var i=0;i<r.length;i++)r[i]=!!r[i];o.convertedPrimitiveFields_[t]=!0}return r};jspb.Message.bytesAsB64=function(o){return o==null||typeof o=="string"?o:jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array?goog.crypt.base64.encodeByteArray(o):(goog.asserts.fail("Cannot coerce to b64 string: "+goog.typeOf(o)),null)};jspb.Message.bytesAsU8=function(o){return o==null||o instanceof Uint8Array?o:typeof o=="string"?goog.crypt.base64.decodeStringToUint8Array(o):(goog.asserts.fail("Cannot coerce to Uint8Array: "+goog.typeOf(o)),null)};jspb.Message.bytesListAsB64=function(o){return jspb.Message.assertConsistentTypes_(o),o.length&&typeof o[0]!="string"?goog.array.map(o,jspb.Message.bytesAsB64):o};jspb.Message.bytesListAsU8=function(o){return jspb.Message.assertConsistentTypes_(o),!o.length||o[0]instanceof Uint8Array?o:goog.array.map(o,jspb.Message.bytesAsU8)};jspb.Message.assertConsistentTypes_=function(o){if(goog.DEBUG&&o&&1<o.length){var t=goog.typeOf(o[0]);goog.array.forEach(o,function(r){goog.typeOf(r)!=t&&goog.asserts.fail("Inconsistent type in JSPB repeated field array. Got "+goog.typeOf(r)+" expected "+t)})}};jspb.Message.getFieldWithDefault=function(o,t,r){return o=jspb.Message.getField(o,t),o??r};jspb.Message.getBooleanFieldWithDefault=function(o,t,r){return o=jspb.Message.getBooleanField(o,t),o??r};jspb.Message.getFloatingPointFieldWithDefault=function(o,t,r){return o=jspb.Message.getOptionalFloatingPointField(o,t),o??r};jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault;jspb.Message.getMapField=function(o,t,r,i){if(o.wrappers_||(o.wrappers_={}),t in o.wrappers_)return o.wrappers_[t];var n=jspb.Message.getField(o,t);if(!n){if(r)return;n=[],jspb.Message.setField(o,t,n)}return o.wrappers_[t]=new jspb.Map(n,i)};jspb.Message.setField=function(o,t,r){return goog.asserts.assertInstanceof(o,jspb.Message),t<o.pivot_?o.array[jspb.Message.getIndex_(o,t)]=r:(jspb.Message.maybeInitEmptyExtensionObject_(o),o.extensionObject_[t]=r),o};jspb.Message.setProto3IntField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,0)};jspb.Message.setProto3FloatField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,0)};jspb.Message.setProto3BooleanField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,!1)};jspb.Message.setProto3StringField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,"")};jspb.Message.setProto3BytesField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,"")};jspb.Message.setProto3EnumField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,0)};jspb.Message.setProto3StringIntField=function(o,t,r){return jspb.Message.setFieldIgnoringDefault_(o,t,r,"0")};jspb.Message.setFieldIgnoringDefault_=function(o,t,r,i){return goog.asserts.assertInstanceof(o,jspb.Message),r!==i?jspb.Message.setField(o,t,r):t<o.pivot_?o.array[jspb.Message.getIndex_(o,t)]=null:(jspb.Message.maybeInitEmptyExtensionObject_(o),delete o.extensionObject_[t]),o};jspb.Message.addToRepeatedField=function(o,t,r,i){return goog.asserts.assertInstanceof(o,jspb.Message),t=jspb.Message.getRepeatedField(o,t),i!=null?t.splice(i,0,r):t.push(r),o};jspb.Message.setOneofField=function(o,t,r,i){return goog.asserts.assertInstanceof(o,jspb.Message),(r=jspb.Message.computeOneofCase(o,r))&&r!==t&&i!==void 0&&(o.wrappers_&&r in o.wrappers_&&(o.wrappers_[r]=void 0),jspb.Message.setField(o,r,void 0)),jspb.Message.setField(o,t,i)};jspb.Message.computeOneofCase=function(o,t){for(var r,i,n=0;n<t.length;n++){var s=t[n],l=jspb.Message.getField(o,s);l!=null&&(r=s,i=l,jspb.Message.setField(o,s,void 0))}return r?(jspb.Message.setField(o,r,i),r):0};jspb.Message.getWrapperField=function(o,t,r,i){if(o.wrappers_||(o.wrappers_={}),!o.wrappers_[r]){var n=jspb.Message.getField(o,r);(i||n)&&(o.wrappers_[r]=new t(n))}return o.wrappers_[r]};jspb.Message.getRepeatedWrapperField=function(o,t,r){return jspb.Message.wrapRepeatedField_(o,t,r),t=o.wrappers_[r],t==jspb.Message.EMPTY_LIST_SENTINEL_&&(t=o.wrappers_[r]=[]),t};jspb.Message.wrapRepeatedField_=function(o,t,r){if(o.wrappers_||(o.wrappers_={}),!o.wrappers_[r]){for(var i=jspb.Message.getRepeatedField(o,r),n=[],s=0;s<i.length;s++)n[s]=new t(i[s]);o.wrappers_[r]=n}};jspb.Message.setWrapperField=function(o,t,r){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={});var i=r&&r.toArray();return o.wrappers_[t]=r,jspb.Message.setField(o,t,i)};jspb.Message.setOneofWrapperField=function(o,t,r,i){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={});var n=i&&i.toArray();return o.wrappers_[t]=i,jspb.Message.setOneofField(o,t,r,n)};jspb.Message.setRepeatedWrapperField=function(o,t,r){goog.asserts.assertInstanceof(o,jspb.Message),o.wrappers_||(o.wrappers_={}),r=r||[];for(var i=[],n=0;n<r.length;n++)i[n]=r[n].toArray();return o.wrappers_[t]=r,jspb.Message.setField(o,t,i)};jspb.Message.addToRepeatedWrapperField=function(o,t,r,i,n){jspb.Message.wrapRepeatedField_(o,i,t);var s=o.wrappers_[t];return s||(s=o.wrappers_[t]=[]),r=r||new i,o=jspb.Message.getRepeatedField(o,t),n!=null?(s.splice(n,0,r),o.splice(n,0,r.toArray())):(s.push(r),o.push(r.toArray())),r};jspb.Message.toMap=function(o,t,r,i){for(var n={},s=0;s<o.length;s++)n[t.call(o[s])]=r?r.call(o[s],i,o[s]):o[s];return n};jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var o in this.wrappers_){var t=this.wrappers_[o];if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&t[r].toArray();else t&&t.toArray()}};jspb.Message.prototype.toArray=function(){return this.syncMapFields_(),this.array};jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){return this.syncMapFields_(),this.array.toString()});jspb.Message.prototype.getExtension=function(o){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var t=o.fieldIndex;if(o.isRepeated){if(o.isMessageType())return this.wrappers_[t]||(this.wrappers_[t]=goog.array.map(this.extensionObject_[t]||[],function(r){return new o.ctor(r)})),this.wrappers_[t]}else if(o.isMessageType())return!this.wrappers_[t]&&this.extensionObject_[t]&&(this.wrappers_[t]=new o.ctor(this.extensionObject_[t])),this.wrappers_[t];return this.extensionObject_[t]}};jspb.Message.prototype.setExtension=function(o,t){this.wrappers_||(this.wrappers_={}),jspb.Message.maybeInitEmptyExtensionObject_(this);var r=o.fieldIndex;return o.isRepeated?(t=t||[],o.isMessageType()?(this.wrappers_[r]=t,this.extensionObject_[r]=goog.array.map(t,function(i){return i.toArray()})):this.extensionObject_[r]=t):o.isMessageType()?(this.wrappers_[r]=t,this.extensionObject_[r]=t&&t.toArray()):this.extensionObject_[r]=t,this};jspb.Message.difference=function(o,t){if(!(o instanceof t.constructor))throw Error("Messages have different types.");var r=o.toArray();t=t.toArray();var i=[],n=0,s=r.length>t.length?r.length:t.length;for(o.getJsPbMessageId()&&(i[0]=o.getJsPbMessageId(),n=1);n<s;n++)jspb.Message.compareFields(r[n],t[n])||(i[n]=t[n]);return new o.constructor(i)};jspb.Message.equals=function(o,t){return o==t||!(!o||!t)&&o instanceof t.constructor&&jspb.Message.compareFields(o.toArray(),t.toArray())};jspb.Message.compareExtensions=function(o,t){o=o||{},t=t||{};var r={},i;for(i in o)r[i]=0;for(i in t)r[i]=0;for(i in r)if(!jspb.Message.compareFields(o[i],t[i]))return!1;return!0};jspb.Message.compareFields=function(o,t){if(o==t)return!0;if(!goog.isObject(o)||!goog.isObject(t))return typeof o=="number"&&isNaN(o)||typeof t=="number"&&isNaN(t)?String(o)==String(t):!1;if(o.constructor!=t.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=t.length)return!1;for(var r=0;r<o.length;r++)if(o[r]!=t[r])return!1;return!0}if(o.constructor===Array){var i=void 0,n=void 0,s=Math.max(o.length,t.length);for(r=0;r<s;r++){var l=o[r],g=t[r];if(l&&l.constructor==Object&&(goog.asserts.assert(i===void 0),goog.asserts.assert(r===o.length-1),i=l,l=void 0),g&&g.constructor==Object&&(goog.asserts.assert(n===void 0),goog.asserts.assert(r===t.length-1),n=g,g=void 0),!jspb.Message.compareFields(l,g))return!1}return i||n?(i=i||{},n=n||{},jspb.Message.compareExtensions(i,n)):!0}if(o.constructor===Object)return jspb.Message.compareExtensions(o,t);throw Error("Invalid type in JSPB array")};jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)};jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)};jspb.Message.clone=function(o){return jspb.Message.cloneMessage(o)};jspb.Message.cloneMessage=function(o){return new o.constructor(jspb.Message.clone_(o.toArray()))};jspb.Message.copyInto=function(o,t){goog.asserts.assertInstanceof(o,jspb.Message),goog.asserts.assertInstanceof(t,jspb.Message),goog.asserts.assert(o.constructor==t.constructor,"Copy source and target message should have the same type."),o=jspb.Message.clone(o);for(var r=t.toArray(),i=o.toArray(),n=r.length=0;n<i.length;n++)r[n]=i[n];t.wrappers_=o.wrappers_,t.extensionObject_=o.extensionObject_};jspb.Message.clone_=function(o){if(Array.isArray(o)){for(var t=Array(o.length),r=0;r<o.length;r++){var i=o[r];i!=null&&(t[r]=typeof i=="object"?jspb.Message.clone_(goog.asserts.assert(i)):i)}return t}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o instanceof Uint8Array)return new Uint8Array(o);t={};for(r in o)i=o[r],i!=null&&(t[r]=typeof i=="object"?jspb.Message.clone_(goog.asserts.assert(i)):i);return t};jspb.Message.registerMessageType=function(o,t){t.messageId=o};jspb.Message.messageSetExtensions={};jspb.Message.messageSetExtensionsBinary={};jspb.arith={};jspb.arith.UInt64=function(o,t){this.lo=o,this.hi=t};jspb.arith.UInt64.prototype.cmp=function(o){return this.hi<o.hi||this.hi==o.hi&&this.lo<o.lo?-1:this.hi==o.hi&&this.lo==o.lo?0:1};jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)};jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)};jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)};jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)};jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0};jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)};jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)};jspb.arith.UInt64.mul32x32=function(o,t){var r=o&65535;o>>>=16;var i=t&65535,n=t>>>16;for(t=r*i+65536*(r*n&65535)+65536*(o*i&65535),r=o*n+(r*n>>>16)+(o*i>>>16);4294967296<=t;)t-=4294967296,r+=1;return new jspb.arith.UInt64(t>>>0,r>>>0)};jspb.arith.UInt64.prototype.mul=function(o){var t=jspb.arith.UInt64.mul32x32(this.lo,o);return o=jspb.arith.UInt64.mul32x32(this.hi,o),o.hi=o.lo,o.lo=0,t.add(o)};jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var t=new jspb.arith.UInt64(0,0),r=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var i=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),i=i.leftShift();for(;!i.zero();)0>=o.cmp(r)&&(t=t.add(i),r=r.sub(o)),o=o.rightShift(),i=i.rightShift();return[t,r]};jspb.arith.UInt64.prototype.toString=function(){for(var o="",t=this;!t.zero();){t=t.div(10);var r=t[0];o=t[1].lo+o,t=r}return o==""&&(o="0"),o};jspb.arith.UInt64.fromString=function(o){for(var t=new jspb.arith.UInt64(0,0),r=new jspb.arith.UInt64(0,0),i=0;i<o.length;i++){if("0">o[i]||"9"<o[i])return null;var n=parseInt(o[i],10);r.lo=n,t=t.mul(10).add(r)}return t};jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)};jspb.arith.Int64=function(o,t){this.lo=o,this.hi=t};jspb.arith.Int64.prototype.add=function(o){return new jspb.arith.Int64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)};jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)};jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)};jspb.arith.Int64.prototype.toString=function(){var o=(this.hi&2147483648)!=0,t=new jspb.arith.UInt64(this.lo,this.hi);return o&&(t=new jspb.arith.UInt64(0,0).sub(t)),(o?"-":"")+t.toString()};jspb.arith.Int64.fromString=function(o){var t=0<o.length&&o[0]=="-";return t&&(o=o.substring(1)),o=jspb.arith.UInt64.fromString(o),o===null?null:(t&&(o=new jspb.arith.UInt64(0,0).sub(o)),new jspb.arith.Int64(o.lo,o.hi))};jspb.BinaryEncoder=function(){this.buffer_=[]};jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length};jspb.BinaryEncoder.prototype.end=function(){var o=this.buffer_;return this.buffer_=[],o};jspb.BinaryEncoder.prototype.writeSplitVarint64=function(o,t){for(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(t==Math.floor(t)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32);0<t||127<o;)this.buffer_.push(o&127|128),o=(o>>>7|t<<25)>>>0,t>>>=7;this.buffer_.push(o)};jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,t){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(t==Math.floor(t)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUint32(o),this.writeUint32(t)};jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(o){for(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32);127<o;)this.buffer_.push(o&127|128),o>>>=7;this.buffer_.push(o)};jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),0<=o)this.writeUnsignedVarint32(o);else{for(var t=0;9>t;t++)this.buffer_.push(o&127|128),o>>=7;this.buffer_.push(1)}};jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitInt64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeSignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeUnsignedVarint32((o<<1^o>>31)>>>0)};jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitZigzag64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(o){this.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(o))};jspb.BinaryEncoder.prototype.writeZigzagVarintHash64=function(o){var t=this;jspb.utils.splitHash64(o),jspb.utils.toZigzag64(jspb.utils.split64Low,jspb.utils.split64High,function(r,i){t.writeSplitVarint64(r>>>0,i>>>0)})};jspb.BinaryEncoder.prototype.writeUint8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)};jspb.BinaryEncoder.prototype.writeUint16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)};jspb.BinaryEncoder.prototype.writeUint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)};jspb.BinaryEncoder.prototype.writeUint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitUint64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeInt8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-128<=o&&128>o),this.buffer_.push(o>>>0&255)};jspb.BinaryEncoder.prototype.writeInt16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)};jspb.BinaryEncoder.prototype.writeInt32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)};jspb.BinaryEncoder.prototype.writeInt64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(o),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeInt64String=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(+o>=-jspb.BinaryConstants.TWO_TO_63&&+o<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o)),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFloat=function(o){goog.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)};jspb.BinaryEncoder.prototype.writeDouble=function(o){goog.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeBool=function(o){goog.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)};jspb.BinaryEncoder.prototype.writeEnum=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32(o)};jspb.BinaryEncoder.prototype.writeBytes=function(o){this.buffer_.push.apply(this.buffer_,o)};jspb.BinaryEncoder.prototype.writeVarintHash64=function(o){jspb.utils.splitHash64(o),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeFixedHash64=function(o){jspb.utils.splitHash64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)};jspb.BinaryEncoder.prototype.writeString=function(o){for(var t=this.buffer_.length,r=0;r<o.length;r++){var i=o.charCodeAt(r);if(128>i)this.buffer_.push(i);else if(2048>i)this.buffer_.push(i>>6|192),this.buffer_.push(i&63|128);else if(65536>i)if(55296<=i&&56319>=i&&r+1<o.length){var n=o.charCodeAt(r+1);56320<=n&&57343>=n&&(i=1024*(i-55296)+n-56320+65536,this.buffer_.push(i>>18|240),this.buffer_.push(i>>12&63|128),this.buffer_.push(i>>6&63|128),this.buffer_.push(i&63|128),r++)}else this.buffer_.push(i>>12|224),this.buffer_.push(i>>6&63|128),this.buffer_.push(i&63|128)}return this.buffer_.length-t};jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]};jspb.BinaryWriter.prototype.appendUint8Array_=function(o){var t=this.encoder_.end();this.blocks_.push(t),this.blocks_.push(o),this.totalLength_+=t.length+o.length};jspb.BinaryWriter.prototype.beginDelimited_=function(o){return this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),o=this.encoder_.end(),this.blocks_.push(o),this.totalLength_+=o.length,o.push(this.totalLength_),o};jspb.BinaryWriter.prototype.endDelimited_=function(o){var t=o.pop();for(t=this.totalLength_+this.encoder_.length()-t,goog.asserts.assert(0<=t);127<t;)o.push(t&127|128),t>>>=7,this.totalLength_++;o.push(t),this.totalLength_++};jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,t,r){this.appendUint8Array_(o.subarray(t,r))};jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,t,r){o!=null&&t!=null&&r!=null&&this.writeSerializedMessage(o,t,r)};jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]};jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),t=this.blocks_,r=t.length,i=0,n=0;n<r;n++){var s=t[n];o.set(s,i),i+=s.length}return t=this.encoder_.end(),o.set(t,i),i+=t.length,goog.asserts.assert(i==o.length),this.blocks_=[o],o};jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)};jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))};jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())};jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,t){goog.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+t)};jspb.BinaryWriter.prototype.writeAny=function(o,t,r){var i=jspb.BinaryConstants.FieldType;switch(o){case i.DOUBLE:this.writeDouble(t,r);break;case i.FLOAT:this.writeFloat(t,r);break;case i.INT64:this.writeInt64(t,r);break;case i.UINT64:this.writeUint64(t,r);break;case i.INT32:this.writeInt32(t,r);break;case i.FIXED64:this.writeFixed64(t,r);break;case i.FIXED32:this.writeFixed32(t,r);break;case i.BOOL:this.writeBool(t,r);break;case i.STRING:this.writeString(t,r);break;case i.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");break;case i.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case i.BYTES:this.writeBytes(t,r);break;case i.UINT32:this.writeUint32(t,r);break;case i.ENUM:this.writeEnum(t,r);break;case i.SFIXED32:this.writeSfixed32(t,r);break;case i.SFIXED64:this.writeSfixed64(t,r);break;case i.SINT32:this.writeSint32(t,r);break;case i.SINT64:this.writeSint64(t,r);break;case i.FHASH64:this.writeFixedHash64(t,r);break;case i.VHASH64:this.writeVarintHash64(t,r);break;default:goog.asserts.fail("Invalid field type in writeAny()")}};jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(t))};jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(t))};jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(t))};jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(t))};jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(t))};jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(t))};jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(t))};jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(t))};jspb.BinaryWriter.prototype.writeInt32=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeInt32String=function(o,t){t!=null&&(t=parseInt(t,10),goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeInt64=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(o,t))};jspb.BinaryWriter.prototype.writeInt64String=function(o,t){t!=null&&(t=jspb.arith.Int64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeUint32=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeUint32String=function(o,t){t!=null&&(t=parseInt(t,10),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(o,t))};jspb.BinaryWriter.prototype.writeUint64=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(o,t))};jspb.BinaryWriter.prototype.writeUint64String=function(o,t){t!=null&&(t=jspb.arith.UInt64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeSint32=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(o,t))};jspb.BinaryWriter.prototype.writeSint64=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(o,t))};jspb.BinaryWriter.prototype.writeSintHash64=function(o,t){t!=null&&this.writeZigzagVarintHash64_(o,t)};jspb.BinaryWriter.prototype.writeSint64String=function(o,t){t!=null&&this.writeZigzagVarint64String_(o,t)};jspb.BinaryWriter.prototype.writeFixed32=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(t))};jspb.BinaryWriter.prototype.writeFixed64=function(o,t){t!=null&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(t))};jspb.BinaryWriter.prototype.writeFixed64String=function(o,t){t!=null&&(t=jspb.arith.UInt64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeSfixed32=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(t))};jspb.BinaryWriter.prototype.writeSfixed64=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(t))};jspb.BinaryWriter.prototype.writeSfixed64String=function(o,t){t!=null&&(t=jspb.arith.Int64.fromString(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(t.lo,t.hi))};jspb.BinaryWriter.prototype.writeFloat=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(t))};jspb.BinaryWriter.prototype.writeDouble=function(o,t){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(t))};jspb.BinaryWriter.prototype.writeBool=function(o,t){t!=null&&(goog.asserts.assert(typeof t=="boolean"||typeof t=="number"),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(t))};jspb.BinaryWriter.prototype.writeEnum=function(o,t){t!=null&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(t))};jspb.BinaryWriter.prototype.writeString=function(o,t){t!=null&&(o=this.beginDelimited_(o),this.encoder_.writeString(t),this.endDelimited_(o))};jspb.BinaryWriter.prototype.writeBytes=function(o,t){t!=null&&(t=jspb.utils.byteSourceToUint8Array(t),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(t.length),this.appendUint8Array_(t))};jspb.BinaryWriter.prototype.writeMessage=function(o,t,r){t!=null&&(o=this.beginDelimited_(o),r(t,this),this.endDelimited_(o))};jspb.BinaryWriter.prototype.writeMessageSet=function(o,t,r){t!=null&&(this.writeFieldHeader_(1,jspb.BinaryConstants.WireType.START_GROUP),this.writeFieldHeader_(2,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(o),o=this.beginDelimited_(3),r(t,this),this.endDelimited_(o),this.writeFieldHeader_(1,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeGroup=function(o,t,r){t!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.START_GROUP),r(t,this),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.END_GROUP))};jspb.BinaryWriter.prototype.writeFixedHash64=function(o,t){t!=null&&(goog.asserts.assert(t.length==8),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(t))};jspb.BinaryWriter.prototype.writeVarintHash64=function(o,t){t!=null&&(goog.asserts.assert(t.length==8),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(t))};jspb.BinaryWriter.prototype.writeSplitFixed64=function(o,t,r){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(t,r)};jspb.BinaryWriter.prototype.writeSplitVarint64=function(o,t,r){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(t,r)};jspb.BinaryWriter.prototype.writeSplitZigzagVarint64=function(o,t,r){this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT);var i=this.encoder_;jspb.utils.toZigzag64(t,r,function(n,s){i.writeSplitVarint64(n>>>0,s>>>0)})};jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSignedVarint32_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeInt32String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedInt64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSignedVarint64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSplitFixed64=function(o,t,r,i){if(t!=null)for(var n=0;n<t.length;n++)this.writeSplitFixed64(o,r(t[n]),i(t[n]))};jspb.BinaryWriter.prototype.writeRepeatedSplitVarint64=function(o,t,r,i){if(t!=null)for(var n=0;n<t.length;n++)this.writeSplitVarint64(o,r(t[n]),i(t[n]))};jspb.BinaryWriter.prototype.writeRepeatedSplitZigzagVarint64=function(o,t,r,i){if(t!=null)for(var n=0;n<t.length;n++)this.writeSplitZigzagVarint64(o,r(t[n]),i(t[n]))};jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeInt64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUnsignedVarint32_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUint32String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUnsignedVarint64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeUint64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSint32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarint32_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSint64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarint64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarint64String_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSintHash64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeZigzagVarintHash64_(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixed32(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixed64(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixed64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSfixed32(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSfixed64(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeSfixed64String(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedFloat=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFloat(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedDouble=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeDouble(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedBool=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeBool(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedEnum=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeEnum(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedString=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeString(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedBytes=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeBytes(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedMessage=function(o,t,r){if(t!=null)for(var i=0;i<t.length;i++){var n=this.beginDelimited_(o);r(t[i],this),this.endDelimited_(n)}};jspb.BinaryWriter.prototype.writeRepeatedGroup=function(o,t,r){if(t!=null)for(var i=0;i<t.length;i++)this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.START_GROUP),r(t[i],this),this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.END_GROUP)};jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeFixedHash64(o,t[r])};jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(o,t){if(t!=null)for(var r=0;r<t.length;r++)this.writeVarintHash64(o,t[r])};jspb.BinaryWriter.prototype.writePackedInt32=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeSignedVarint32(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedInt32String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeSignedVarint32(parseInt(t[r],10));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedInt64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeSignedVarint64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSplitFixed64=function(o,t,r,i){if(t!=null){o=this.beginDelimited_(o);for(var n=0;n<t.length;n++)this.encoder_.writeSplitFixed64(r(t[n]),i(t[n]));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSplitVarint64=function(o,t,r,i){if(t!=null){o=this.beginDelimited_(o);for(var n=0;n<t.length;n++)this.encoder_.writeSplitVarint64(r(t[n]),i(t[n]));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSplitZigzagVarint64=function(o,t,r,i){if(t!=null){o=this.beginDelimited_(o);for(var n=this.encoder_,s=0;s<t.length;s++)jspb.utils.toZigzag64(r(t[s]),i(t[s]),function(l,g){n.writeSplitVarint64(l>>>0,g>>>0)});this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedInt64String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++){var i=jspb.arith.Int64.fromString(t[r]);this.encoder_.writeSplitVarint64(i.lo,i.hi)}this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint32=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint32(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint32String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint32(parseInt(t[r],10));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedUint64String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++){var i=jspb.arith.UInt64.fromString(t[r]);this.encoder_.writeSplitVarint64(i.lo,i.hi)}this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSint32=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarint32(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSint64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarint64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSint64String=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(t[r]));this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedSintHash64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeZigzagVarintHash64(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedFixed32=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length),o=0;o<t.length;o++)this.encoder_.writeUint32(t[o])};jspb.BinaryWriter.prototype.writePackedFixed64=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeUint64(t[o])};jspb.BinaryWriter.prototype.writePackedFixed64String=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++){var r=jspb.arith.UInt64.fromString(t[o]);this.encoder_.writeSplitFixed64(r.lo,r.hi)}};jspb.BinaryWriter.prototype.writePackedSfixed32=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length),o=0;o<t.length;o++)this.encoder_.writeInt32(t[o])};jspb.BinaryWriter.prototype.writePackedSfixed64=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeInt64(t[o])};jspb.BinaryWriter.prototype.writePackedSfixed64String=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeInt64String(t[o])};jspb.BinaryWriter.prototype.writePackedFloat=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length),o=0;o<t.length;o++)this.encoder_.writeFloat(t[o])};jspb.BinaryWriter.prototype.writePackedDouble=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeDouble(t[o])};jspb.BinaryWriter.prototype.writePackedBool=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(t.length),o=0;o<t.length;o++)this.encoder_.writeBool(t[o])};jspb.BinaryWriter.prototype.writePackedEnum=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeEnum(t[r]);this.endDelimited_(o)}};jspb.BinaryWriter.prototype.writePackedFixedHash64=function(o,t){if(t!=null&&t.length)for(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length),o=0;o<t.length;o++)this.encoder_.writeFixedHash64(t[o])};jspb.BinaryWriter.prototype.writePackedVarintHash64=function(o,t){if(t!=null&&t.length){o=this.beginDelimited_(o);for(var r=0;r<t.length;r++)this.encoder_.writeVarintHash64(t[r]);this.endDelimited_(o)}};jspb.Export={};exports.Map=jspb.Map;exports.Message=jspb.Message;exports.BinaryReader=jspb.BinaryReader;exports.BinaryWriter=jspb.BinaryWriter;exports.ExtensionFieldInfo=jspb.ExtensionFieldInfo;exports.ExtensionFieldBinaryInfo=jspb.ExtensionFieldBinaryInfo;exports.exportSymbol=goog.exportSymbol;exports.inherits=goog.inherits;exports.object={extend:goog.object.extend};exports.typeOf=goog.typeOf});var or=ct(tr=>{var ce=Zo(),bt=ce,er=function(){return this||window||er||self||Function("return this")()}.call(null);bt.exportSymbol("proto.CommonModels.JsonMessage",null,er);proto.CommonModels.JsonMessage=function(o){ce.Message.initialize(this,o,0,-1,null,null)};bt.inherits(proto.CommonModels.JsonMessage,ce.Message);bt.DEBUG&&!COMPILED&&(proto.CommonModels.JsonMessage.displayName="proto.CommonModels.JsonMessage");ce.Message.GENERATE_TO_OBJECT&&(proto.CommonModels.JsonMessage.prototype.toObject=function(o){return proto.CommonModels.JsonMessage.toObject(o,this)},proto.CommonModels.JsonMessage.toObject=function(o,t){var r,i={value:ce.Message.getFieldWithDefault(t,1,"")};return o&&(i.$jspbMessageInstance=t),i});proto.CommonModels.JsonMessage.deserializeBinary=function(o){var t=new ce.BinaryReader(o),r=new proto.CommonModels.JsonMessage;return proto.CommonModels.JsonMessage.deserializeBinaryFromReader(r,t)};proto.CommonModels.JsonMessage.deserializeBinaryFromReader=function(o,t){for(;t.nextField()&&!t.isEndGroup();){var r=t.getFieldNumber();switch(r){case 1:var i=t.readString();o.setValue(i);break;default:t.skipField();break}}return o};proto.CommonModels.JsonMessage.prototype.serializeBinary=function(){var o=new ce.BinaryWriter;return proto.CommonModels.JsonMessage.serializeBinaryToWriter(this,o),o.getResultBuffer()};proto.CommonModels.JsonMessage.serializeBinaryToWriter=function(o,t){var r=void 0;r=o.getValue(),r.length>0&&t.writeString(1,r)};proto.CommonModels.JsonMessage.prototype.getValue=function(){return ce.Message.getFieldWithDefault(this,1,"")};proto.CommonModels.JsonMessage.prototype.setValue=function(o){return ce.Message.setProto3StringField(this,1,o)};bt.object.extend(tr,proto.CommonModels)});var ho=ct((uo,co)=>{(function(o,t){typeof define=="function"&&define.amd?define([],t):typeof uo<"u"?t():(t(),o.FileSaver={})})(uo,function(){"use strict";function o(g,p){return typeof p>"u"?p={autoBom:!1}:typeof p!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),p={autoBom:!p}),p.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(g.type)?new Blob(["\uFEFF",g],{type:g.type}):g}function t(g,p,m){var E=new XMLHttpRequest;E.open("GET",g),E.responseType="blob",E.onload=function(){l(E.response,p,m)},E.onerror=function(){console.error("could not download file")},E.send()}function r(g){var p=new XMLHttpRequest;p.open("HEAD",g,!1);try{p.send()}catch{}return 200<=p.status&&299>=p.status}function i(g){try{g.dispatchEvent(new MouseEvent("click"))}catch{var p=document.createEvent("MouseEvents");p.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),g.dispatchEvent(p)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,s=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(g,p,m){var E=n.URL||n.webkitURL,h=document.createElement("a");p=p||g.name||"download",h.download=p,h.rel="noopener",typeof g=="string"?(h.href=g,h.origin===location.origin?i(h):r(h.href)?t(g,p,m):i(h,h.target="_blank")):(h.href=E.createObjectURL(g),setTimeout(function(){E.revokeObjectURL(h.href)},4e4),setTimeout(function(){i(h)},0))}:"msSaveOrOpenBlob"in navigator?function(g,p,m){if(p=p||g.name||"download",typeof g!="string")navigator.msSaveOrOpenBlob(o(g,m),p);else if(r(g))t(g,p,m);else{var E=document.createElement("a");E.href=g,E.target="_blank",setTimeout(function(){i(E)})}}:function(g,p,m,E){if(E=E||open("","_blank"),E&&(E.document.title=E.document.body.innerText="downloading..."),typeof g=="string")return t(g,p,m);var h=g.type==="application/octet-stream",S=/constructor/i.test(n.HTMLElement)||n.safari,T=/CriOS\/[\d]+/.test(navigator.userAgent);if((T||h&&S||s)&&typeof FileReader<"u"){var I=new FileReader;I.onloadend=function(){var v=I.result;v=T?v:v.replace(/^data:[^;]*;/,"data:attachment/file;"),E?E.location.href=v:location=v,E=null},I.readAsDataURL(g)}else{var y=n.URL||n.webkitURL,u=y.createObjectURL(g);E?E.location=u:location.href=u,E=null,setTimeout(function(){y.revokeObjectURL(u)},4e4)}});n.saveAs=l.saveAs=l,typeof co<"u"&&(co.exports=l)})});var Cr=ct((Eo,To)=>{(function(o,t){typeof Eo=="object"&&typeof To<"u"?To.exports=t():typeof define=="function"&&define.amd?define(t):o.Croppr=t()})(Eo,function(){"use strict";(function(){for(var I=0,y=["ms","moz","webkit","o"],u=0;u<y.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[y[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[y[u]+"CancelAnimationFrame"]||window[y[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(v,w){var D=new Date().getTime(),_=Math.max(0,16-(D-I)),C=window.setTimeout(function(){v(D+_)},_);return I=D+_,C}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(v){clearTimeout(v)})})(),function(){if(typeof window.CustomEvent=="function")return!1;function I(y,u){u=u||{bubbles:!1,cancelable:!1,detail:void 0};var v=document.createEvent("CustomEvent");return v.initCustomEvent(y,u.bubbles,u.cancelable,u.detail),v}I.prototype=window.Event.prototype,window.CustomEvent=I}(),function(I){try{return new CustomEvent("test"),!1}catch{}function y(u,v){v=v||{bubbles:!1,cancelable:!1};var w=document.createEvent("MouseEvent");return w.initMouseEvent(u,v.bubbles,v.cancelable,I,0,0,0,0,0,!1,!1,!1,!1,0,null),w}y.prototype=Event.prototype,I.MouseEvent=y}(window);var o=function(I,y){if(!(I instanceof y))throw new TypeError("Cannot call a class as a function")},t=function(){function I(y,u){for(var v=0;v<u.length;v++){var w=u[v];w.enumerable=w.enumerable||!1,w.configurable=!0,"value"in w&&(w.writable=!0),Object.defineProperty(y,w.key,w)}}return function(y,u,v){return u&&I(y.prototype,u),v&&I(y,v),y}}(),r=function I(y,u,v){y===null&&(y=Function.prototype);var w=Object.getOwnPropertyDescriptor(y,u);if(w===void 0){var D=Object.getPrototypeOf(y);return D===null?void 0:I(D,u,v)}else{if("value"in w)return w.value;var _=w.get;return _===void 0?void 0:_.call(v)}},i=function(I,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof y);I.prototype=Object.create(y&&y.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),y&&(Object.setPrototypeOf?Object.setPrototypeOf(I,y):I.__proto__=y)},n=function(I,y){if(!I)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y&&(typeof y=="object"||typeof y=="function")?y:I},s=function(){function I(y,u){var v=[],w=!0,D=!1,_=void 0;try{for(var C=y[Symbol.iterator](),M;!(w=(M=C.next()).done)&&(v.push(M.value),!(u&&v.length===u));w=!0);}catch(R){D=!0,_=R}finally{try{!w&&C.return&&C.return()}finally{if(D)throw _}}return v}return function(y,u){if(Array.isArray(y))return y;if(Symbol.iterator in Object(y))return I(y,u);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),l=function I(y,u,v,w){o(this,I);var D=this;this.position=y,this.constraints=u,this.cursor=v,this.eventBus=w,this.el=document.createElement("div"),this.el.className="croppr-handle",this.el.style.cursor=v,this.el.addEventListener("mousedown",_);function _(R){R.stopPropagation(),document.addEventListener("mouseup",C),document.addEventListener("mousemove",M),D.eventBus.dispatchEvent(new CustomEvent("handlestart",{detail:{handle:D}}))}function C(R){R.stopPropagation(),document.removeEventListener("mouseup",C),document.removeEventListener("mousemove",M),D.eventBus.dispatchEvent(new CustomEvent("handleend",{detail:{handle:D}}))}function M(R){R.stopPropagation(),D.eventBus.dispatchEvent(new CustomEvent("handlemove",{detail:{mouseX:R.clientX,mouseY:R.clientY}}))}},g=function(){function I(y,u,v,w){o(this,I),this.x1=y,this.y1=u,this.x2=v,this.y2=w}return t(I,[{key:"set",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;return this.x1=u??this.x1,this.y1=v??this.y1,this.x2=w??this.x2,this.y2=D??this.y2,this}},{key:"width",value:function(){return Math.abs(this.x2-this.x1)}},{key:"height",value:function(){return Math.abs(this.y2-this.y1)}},{key:"resize",value:function(u,v){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[0,0],D=this.x1+this.width()*w[0],_=this.y1+this.height()*w[1];return this.x1=D-u*w[0],this.y1=_-v*w[1],this.x2=this.x1+u,this.y2=this.y1+v,this}},{key:"scale",value:function(u){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0],w=this.width()*u,D=this.height()*u;return this.resize(w,D,v),this}},{key:"move",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,w=this.width(),D=this.height();return u=u===null?this.x1:u,v=v===null?this.y1:v,this.x1=u,this.y1=v,this.x2=u+w,this.y2=v+D,this}},{key:"getRelativePoint",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[0,0],v=this.width()*u[0],w=this.height()*u[1];return[v,w]}},{key:"getAbsolutePoint",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[0,0],v=this.x1+this.width()*u[0],w=this.y1+this.height()*u[1];return[v,w]}},{key:"constrainToRatio",value:function(u){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0,0],w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"height";if(u!==null){var D=this.width(),_=this.height();switch(w){case"height":this.resize(this.width(),this.width()*u,v);break;case"width":this.resize(this.height()*1/u,this.height(),v);break;default:this.resize(this.width(),this.width()*u,v)}return this}}},{key:"constrainToBoundary",value:function(u,v){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[0,0],D=this.getAbsolutePoint(w),_=s(D,2),C=_[0],M=_[1],R=C,B=M,U=u-C,F=v-M,G=-2*w[0]+1,L=-2*w[1]+1,N=null,Y=null;switch(G){case-1:N=R;break;case 0:N=Math.min(R,U)*2;break;case 1:N=U;break}switch(L){case-1:Y=B;break;case 0:Y=Math.min(B,F)*2;break;case 1:Y=F;break}if(this.width()>N){var K=N/this.width();this.scale(K,w)}if(this.height()>Y){var X=Y/this.height();this.scale(X,w)}return this}},{key:"constrainToSize",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:[0,0],C=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;if(C&&(C>1?(u=v*1/C,D=D*C):C<1&&(v=u*C,w=D*1/C)),u&&this.width()>u){var M=u,R=C===null?this.height():v;this.resize(M,R,_)}if(v&&this.height()>v){var B=C===null?this.width():u,U=v;this.resize(B,U,_)}if(w&&this.width()<w){var F=w,G=C===null?this.height():D;this.resize(F,G,_)}if(D&&this.height()<D){var L=C===null?this.width():w,N=D;this.resize(L,N,_)}return this}}]),I}();function p(I){I.addEventListener("touchstart",m),I.addEventListener("touchend",m),I.addEventListener("touchmove",m)}function m(I){I.preventDefault();var y=I.changedTouches[0],u={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"};y.target.dispatchEvent(new MouseEvent(u[I.type],{bubbles:!0,cancelable:!0,view:window,clientX:y.clientX,clientY:y.clientY,screenX:y.screenX,screenY:y.screenY}))}var E=[{position:[0,0],constraints:[1,0,0,1],cursor:"nw-resize"},{position:[.5,0],constraints:[1,0,0,0],cursor:"n-resize"},{position:[1,0],constraints:[1,1,0,0],cursor:"ne-resize"},{position:[1,.5],constraints:[0,1,0,0],cursor:"e-resize"},{position:[1,1],constraints:[0,1,1,0],cursor:"se-resize"},{position:[.5,1],constraints:[0,0,1,0],cursor:"s-resize"},{position:[0,1],constraints:[0,0,1,1],cursor:"sw-resize"},{position:[0,.5],constraints:[0,0,0,1],cursor:"w-resize"}],h=function(){function I(y,u){var v=this,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(o(this,I),this.options=I.parseOptions(u||{}),!y.nodeName&&(y=document.querySelector(y),y==null))throw"Unable to find element.";if(!y.getAttribute("src"))throw"Image src not provided.";this._initialized=!1,this._restore={parent:y.parentNode,element:y},w||(y.width===0||y.height===0?y.onload=function(){v.initialize(y)}:this.initialize(y))}return t(I,[{key:"initialize",value:function(u){this.createDOM(u),this.options.convertToPixels(this.cropperEl),this.attachHandlerEvents(),this.attachRegionEvents(),this.attachOverlayEvents(),this.box=this.initializeBox(this.options),this.redraw(),this._initialized=!0,this.options.onInitialize!==null&&this.options.onInitialize(this)}},{key:"createDOM",value:function(u){this.containerEl=document.createElement("div"),this.containerEl.className="croppr-container",this.eventBus=this.containerEl,p(this.containerEl),this.cropperEl=document.createElement("div"),this.cropperEl.className="croppr",this.imageEl=document.createElement("img"),this.imageEl.setAttribute("src",u.getAttribute("src")),this.imageEl.setAttribute("alt",u.getAttribute("alt")),this.imageEl.className="croppr-image",this.imageClippedEl=this.imageEl.cloneNode(),this.imageClippedEl.className="croppr-imageClipped",this.regionEl=document.createElement("div"),this.regionEl.className="croppr-region",this.overlayEl=document.createElement("div"),this.overlayEl.className="croppr-overlay";var v=document.createElement("div");v.className="croppr-handleContainer",this.handles=[];for(var w=0;w<E.length;w++){var D=new l(E[w].position,E[w].constraints,E[w].cursor,this.eventBus);this.handles.push(D),v.appendChild(D.el)}this.cropperEl.appendChild(this.imageEl),this.cropperEl.appendChild(this.imageClippedEl),this.cropperEl.appendChild(this.regionEl),this.cropperEl.appendChild(this.overlayEl),this.cropperEl.appendChild(v),this.containerEl.appendChild(this.cropperEl),u.parentElement.replaceChild(this.containerEl,u)}},{key:"setImage",value:function(u){var v=this;return this.imageEl.onload=function(){v.box=v.initializeBox(v.options),v.redraw()},this.imageEl.src=u,this.imageClippedEl.src=u,this}},{key:"destroy",value:function(){this._restore.parent.replaceChild(this._restore.element,this.containerEl)}},{key:"initializeBox",value:function(u){var v=u.startSize.width,w=u.startSize.height,D=new g(0,0,v,w);D.constrainToRatio(u.aspectRatio,[.5,.5]);var _=u.minSize,C=u.maxSize;D.constrainToSize(C.width,C.height,_.width,_.height,[.5,.5],u.aspectRatio);var M=this.cropperEl.offsetWidth,R=this.cropperEl.offsetHeight;D.constrainToBoundary(M,R,[.5,.5]);var B=this.cropperEl.offsetWidth/2-D.width()/2,U=this.cropperEl.offsetHeight/2-D.height()/2;return D.move(B,U),D}},{key:"redraw",value:function(){var u=this,v=Math.round(this.box.width()),w=Math.round(this.box.height()),D=Math.round(this.box.x1),_=Math.round(this.box.y1),C=Math.round(this.box.x2),M=Math.round(this.box.y2);window.requestAnimationFrame(function(){u.regionEl.style.transform="translate("+D+"px, "+_+"px)",u.regionEl.style.width=v+"px",u.regionEl.style.height=w+"px",u.imageClippedEl.style.clip="rect("+_+"px, "+C+"px, "+M+"px, "+D+"px)";for(var R=u.box.getAbsolutePoint([.5,.5]),B=R[0]-u.cropperEl.offsetWidth/2>>31,U=R[1]-u.cropperEl.offsetHeight/2>>31,F=(B^U)+U+U+4,G=-2*F+8,L=0;L<u.handles.length;L++){var N=u.handles[L],Y=N.el.offsetWidth,K=N.el.offsetHeight,X=D+v*N.position[0]-Y/2,ue=_+w*N.position[1]-K/2;N.el.style.transform="translate("+Math.round(X)+"px, "+Math.round(ue)+"px)",N.el.style.zIndex=G==L?5:4}})}},{key:"attachHandlerEvents",value:function(){var u=this.eventBus;u.addEventListener("handlestart",this.onHandleMoveStart.bind(this)),u.addEventListener("handlemove",this.onHandleMoveMoving.bind(this)),u.addEventListener("handleend",this.onHandleMoveEnd.bind(this))}},{key:"attachRegionEvents",value:function(){var u=this.eventBus,v=this;this.regionEl.addEventListener("mousedown",w),u.addEventListener("regionstart",this.onRegionMoveStart.bind(this)),u.addEventListener("regionmove",this.onRegionMoveMoving.bind(this)),u.addEventListener("regionend",this.onRegionMoveEnd.bind(this));function w(C){C.stopPropagation(),document.addEventListener("mouseup",_),document.addEventListener("mousemove",D),u.dispatchEvent(new CustomEvent("regionstart",{detail:{mouseX:C.clientX,mouseY:C.clientY}}))}function D(C){C.stopPropagation(),u.dispatchEvent(new CustomEvent("regionmove",{detail:{mouseX:C.clientX,mouseY:C.clientY}}))}function _(C){C.stopPropagation(),document.removeEventListener("mouseup",_),document.removeEventListener("mousemove",D),u.dispatchEvent(new CustomEvent("regionend",{detail:{mouseX:C.clientX,mouseY:C.clientY}}))}}},{key:"attachOverlayEvents",value:function(){var u=4,v=this,w=null;this.overlayEl.addEventListener("mousedown",D);function D(M){M.stopPropagation(),document.addEventListener("mouseup",C),document.addEventListener("mousemove",_);var R=v.cropperEl.getBoundingClientRect(),B=M.clientX-R.left,U=M.clientY-R.top;w=v.box,v.box=new g(B,U,B+1,U+1),v.eventBus.dispatchEvent(new CustomEvent("handlestart",{detail:{handle:v.handles[u]}}))}function _(M){M.stopPropagation(),v.eventBus.dispatchEvent(new CustomEvent("handlemove",{detail:{mouseX:M.clientX,mouseY:M.clientY}}))}function C(M){if(M.stopPropagation(),document.removeEventListener("mouseup",C),document.removeEventListener("mousemove",_),v.box.width()===1&&v.box.height()===1){v.box=w;return}v.eventBus.dispatchEvent(new CustomEvent("handleend",{detail:{mouseX:M.clientX,mouseY:M.clientY}}))}}},{key:"onHandleMoveStart",value:function(u){var v=u.detail.handle,w=[1-v.position[0],1-v.position[1]],D=this.box.getAbsolutePoint(w),_=s(D,2),C=_[0],M=_[1];this.activeHandle={handle:v,originPoint:w,originX:C,originY:M},this.options.onCropStart!==null&&this.options.onCropStart(this.getValue())}},{key:"onHandleMoveMoving",value:function(u){var v=u.detail,w=v.mouseX,D=v.mouseY,_=this.cropperEl.getBoundingClientRect();w=w-_.left,D=D-_.top,w<0?w=0:w>_.width&&(w=_.width),D<0?D=0:D>_.height&&(D=_.height);var C=this.activeHandle.originPoint.slice(),M=this.activeHandle.originX,R=this.activeHandle.originY,B=this.activeHandle.handle,U=B.constraints[0]===1,F=B.constraints[1]===1,G=B.constraints[2]===1,L=B.constraints[3]===1,N=(L||F)&&(U||G),Y=L||F?M:this.box.x1,K=L||F?M:this.box.x2,X=U||G?R:this.box.y1,ue=U||G?R:this.box.y2;Y=L?w:Y,K=F?w:K,X=U?D:X,ue=G?D:ue;var et=!1,Oe=!1;if((L||F)&&(et=L?w>M:w<M),(U||G)&&(Oe=U?D>R:D<R),et){var te=Y;Y=K,K=te,C[0]=1-C[0]}if(Oe){var qr=X;X=ue,ue=qr,C[1]=1-C[1]}var ye=new g(Y,X,K,ue);if(this.options.aspectRatio){var Xt=this.options.aspectRatio,Zt=!1;N?Zt=D>ye.y1+Xt*ye.width()||D<ye.y2-Xt*ye.width():(U||G)&&(Zt=!0);var Qr=Zt?"width":"height";ye.constrainToRatio(Xt,C,Qr)}var Ho=this.options.minSize,Wo=this.options.maxSize;ye.constrainToSize(Wo.width,Wo.height,Ho.width,Ho.height,C,this.options.aspectRatio);var Xr=this.cropperEl.offsetWidth,Zr=this.cropperEl.offsetHeight;ye.constrainToBoundary(Xr,Zr,C),this.box=ye,this.redraw(),this.options.onCropMove!==null&&this.options.onCropMove(this.getValue())}},{key:"onHandleMoveEnd",value:function(u){this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue())}},{key:"onRegionMoveStart",value:function(u){var v=u.detail,w=v.mouseX,D=v.mouseY,_=this.cropperEl.getBoundingClientRect();w=w-_.left,D=D-_.top,this.currentMove={offsetX:w-this.box.x1,offsetY:D-this.box.y1},this.options.onCropStart!==null&&this.options.onCropStart(this.getValue())}},{key:"onRegionMoveMoving",value:function(u){var v=u.detail,w=v.mouseX,D=v.mouseY,_=this.currentMove,C=_.offsetX,M=_.offsetY,R=this.cropperEl.getBoundingClientRect();w=w-R.left,D=D-R.top,this.box.move(w-C,D-M),this.box.x1<0&&this.box.move(0,null),this.box.x2>R.width&&this.box.move(R.width-this.box.width(),null),this.box.y1<0&&this.box.move(null,0),this.box.y2>R.height&&this.box.move(null,R.height-this.box.height()),this.redraw(),this.options.onCropMove!==null&&this.options.onCropMove(this.getValue())}},{key:"onRegionMoveEnd",value:function(u){this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue())}},{key:"getValue",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;if(u===null&&(u=this.options.returnMode),u=="real"){var v=this.imageEl.naturalWidth,w=this.imageEl.naturalHeight,D=this.imageEl.getBoundingClientRect(),_=D.width,C=D.height,M=v/_,R=w/C;return{x:Math.round(this.box.x1*M),y:Math.round(this.box.y1*R),width:Math.round(this.box.width()*M),height:Math.round(this.box.height()*R)}}else if(u=="ratio"){var B=this.imageEl.getBoundingClientRect(),U=B.width,F=B.height;return{x:S(this.box.x1/U,3),y:S(this.box.y1/F,3),width:S(this.box.width()/U,3),height:S(this.box.height()/F,3)}}else if(u=="raw")return{x:Math.round(this.box.x1),y:Math.round(this.box.y1),width:Math.round(this.box.width()),height:Math.round(this.box.height())}}}],[{key:"parseOptions",value:function(u){var v={aspectRatio:null,maxSize:{width:null,height:null},minSize:{width:null,height:null},startSize:{width:100,height:100,unit:"%"},returnMode:"real",onInitialize:null,onCropStart:null,onCropMove:null,onCropEnd:null},w=null;u.aspectRatio!==void 0&&(typeof u.aspectRatio=="number"?w=u.aspectRatio:u.aspectRatio instanceof Array&&(w=u.aspectRatio[1]/u.aspectRatio[0]));var D=null;u.maxSize!==void 0&&u.maxSize!==null&&(D={width:u.maxSize[0]||null,height:u.maxSize[1]||null,unit:u.maxSize[2]||"px"});var _=null;u.minSize!==void 0&&u.minSize!==null&&(_={width:u.minSize[0]||null,height:u.minSize[1]||null,unit:u.minSize[2]||"px"});var C=null;u.startSize!==void 0&&u.startSize!==null&&(C={width:u.startSize[0]||null,height:u.startSize[1]||null,unit:u.startSize[2]||"%"});var M=null;typeof u.onInitialize=="function"&&(M=u.onInitialize);var R=null;typeof u.onCropStart=="function"&&(R=u.onCropStart);var B=null;typeof u.onCropEnd=="function"&&(B=u.onCropEnd);var U=null;typeof u.onUpdate=="function"&&(console.warn("Croppr.js: `onUpdate` is deprecated and will be removed in the next major release. Please use `onCropMove` or `onCropEnd` instead."),U=u.onUpdate),typeof u.onCropMove=="function"&&(U=u.onCropMove);var F=null;if(u.returnMode!==void 0){var G=u.returnMode.toLowerCase();if(["real","ratio","raw"].indexOf(G)===-1)throw"Invalid return mode.";F=G}var L=function(K){for(var X=K.offsetWidth,ue=K.offsetHeight,et=["maxSize","minSize","startSize"],Oe=0;Oe<et.length;Oe++){var te=et[Oe];this[te]!==null&&(this[te].unit=="%"&&(this[te].width!==null&&(this[te].width=this[te].width/100*X),this[te].height!==null&&(this[te].height=this[te].height/100*ue)),delete this[te].unit)}},N=function(K,X){return K!==null?K:X};return{aspectRatio:N(w,v.aspectRatio),maxSize:N(D,v.maxSize),minSize:N(_,v.minSize),startSize:N(C,v.startSize),returnMode:N(F,v.returnMode),onInitialize:N(M,v.onInitialize),onCropStart:N(R,v.onCropStart),onCropMove:N(U,v.onCropMove),onCropEnd:N(B,v.onCropEnd),convertToPixels:L}}}]),I}();function S(I,y){return Number(Math.round(I+"e"+y)+"e-"+y)}var T=function(I){i(y,I);function y(u,v){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return o(this,y),n(this,(y.__proto__||Object.getPrototypeOf(y)).call(this,u,v,w))}return t(y,[{key:"getValue",value:function(v){return r(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"getValue",this).call(this,v)}},{key:"setImage",value:function(v){return r(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"setImage",this).call(this,v)}},{key:"destroy",value:function(){return r(y.prototype.__proto__||Object.getPrototypeOf(y.prototype),"destroy",this).call(this)}},{key:"moveTo",value:function(v,w){return this.box.move(v,w),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}},{key:"resizeTo",value:function(v,w){var D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[.5,.5];return this.box.resize(v,w,D),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}},{key:"scaleBy",value:function(v){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[.5,.5];return this.box.scale(v,w),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}},{key:"reset",value:function(){return this.box=this.initializeBox(this.options),this.redraw(),this.options.onCropEnd!==null&&this.options.onCropEnd(this.getValue()),this}}]),y}(h);return T})});var ot=(n=>(n[n.Invalid=0]="Invalid",n[n.Valid=1]="Valid",n[n.ExpireSoon=2]="ExpireSoon",n[n.Expired=3]="Expired",n))(ot||{});var be=(m=>(m[m.GridView=0]="GridView",m[m.Dashboard=1]="Dashboard",m[m.MenuNode=2]="MenuNode",m[m.Report=3]="Report",m[m.Diagram=4]="Diagram",m[m.CDM=5]="CDM",m[m.Slideshow=6]="Slideshow",m[m.GanttChart=7]="GanttChart",m[m.Scheduler=8]="Scheduler",m))(be||{});function P(o,t=!0){let r=t?"success":"error",i=t?2e3:4e3;DevExpress.ui.notify({message:o,type:r,onShowing:n=>{let s=n.element.find(".dx-toast-message");s.html((s.html()||"").replace("\\n","<br />"))}},r,i)}var mt=o=>o?Array.isArray(o)?o[0].StackTrace!==void 0||o[0].Error!==void 0:o.Error!==void 0:!1;var Ee=(r=>(r[r.Completed=1]="Completed",r[r.Errored=2]="Errored",r))(Ee||{});var oo={};ie(oo,{createButtons:()=>qo,createDialog:()=>J,createItem:()=>hi});var eo={};ie(eo,{CSS_CLASSES:()=>oe});var oe={dxDataGrid:"iszolea-dx-datagrid",dxButton:"iszolea-dx-button",dxPopup:"iszolea-dx-popup"};var di="popup-content",gi="popup-footer",pi="buttons",to="ok-btn",Jo="cancel-btn";function ui(o,t){return{$content:$("<div />").addClass(di).addClass(t).appendTo(o),$footer:$("<div />").addClass(gi).appendTo(o)}}var ft=[];function ci(o,t,r=!1){let i=t.onShowing;t.onShown=l=>{i&&i(l);let g=s.content().find("input[type=text]"),p=g.eq(0);p.focus();let m={keydown:E=>{ft[ft.length-1]===s&&(E.keyCode===13&&$(E.currentTarget).trigger("change"),n(E))}};r?g.on(m):p.on(m)};function n(l){l.keyCode===13&&s.content().find(`.${oe.dxButton}.${to}`).click(),l.keyCode===27&&s.content().find(`.${oe.dxButton}.${Jo}`).click()}let s=o.dxPopup(t).dxPopup("instance");return{show:()=>{s.show(),$(document).on({keydown:n}),ft.push(s)},hide:()=>{$(document).off({keydown:n}),s.hide(),ft.pop()},remove:()=>o.remove()}}function qo(o,t){let r=$("<table />").addClass(pi),i=$("<tr>").appendTo(r);return o&&$("<td />").attr("width",t?"50%":"100%").append($("<div />").addClass(oe.dxButton).addClass(to).dxButton(o)).appendTo(i),t&&$("<td />").attr("width","50%").append($("<div />").addClass(oe.dxButton).addClass(Jo).dxButton(t)).appendTo(i),r}function hi(o,t){return $("<div />").addClass("item").append($("<div />").addClass("form-label").text(o),$("<div />").addClass("value").append(t))}function J(o,t,r,i,n){let s=$("<div>").appendTo("body"),l=null,g=null,p=n?n.useKeyPressBehavior:!1;function m(){g.hide(),g.remove()}let E={contentTemplate:S=>{let{$content:T,$footer:I}=ui(S);T.append(t),r?(l=qo({text:r.text,icon:r.icon,disabled:r.disabled,type:"success",onClick:y=>r.onClick(m)},i?{text:i.text,icon:i.icon,disabled:i.disabled,onClick:y=>i.onClick(m)}:void 0),I.append(l)):I.remove()},wrapperAttr:{class:"iszolea-dx-popup"}},h={};return $.extend(!0,h,o,E),g=ci(s,h,p),g.show(),{okBtn:l?l.find(`.${to}`).dxButton("instance"):null,close:()=>m()}}var mi="iszolea-error-dx-popup",fi="iszolea-error-dx-popup__content",yi="iszolea-error-dx-popup__error-message",vi="iszolea-error-dx-popup__error-details",Qo="Show details",Si="Hide details";function ro(o,t){let r,i=Array.isArray(t)?t:[t],n=$("<div />").addClass(fi);i.forEach((g,p)=>{let m=$("<p />").addClass(yi).text(g.Error),E=$("<p />").addClass(vi).text(g.StackTrace);n.append(m,E).hide(),p<i.length-1&&n.append($("<hr />"))});let s=J({title:o,height:"auto",animation:{show:{direction:"bottom",type:"slideIn"},hide:{direction:"bottom",type:"slideOut"}},position:{my:"bottom",at:"bottom",offset:{y:-50}},shading:!1,dragEnabled:!1,onInitialized:g=>{r=g.component,g.element.addClass(mi)}},n,{text:Qo,onClick:()=>{let g=!r.option("fullScreen");l(g),s.okBtn.option("text",g?Si:Qo)}},{text:"Close",onClick:g=>g()}),l=g=>{n.toggle(g),r.option("fullScreen",g),r.repaint()}}var rt=(i=>(i[i.UnexpectedException=0]="UnexpectedException",i[i.SqlException=1]="SqlException",i[i.IszoleaConfigurationException=2]="IszoleaConfigurationException",i))(rt||{});var yt=o=>{switch(o){case 1:return"We attempted to execute the data query however it appears there is an error in the data source.";case 2:return"Something wrong with iszolea configuration. Check ClientId/ClientSecret fields in the appsettings.json file.";default:return""}};var io="Unexpected error occurred. Please contact to developers.",bi=[504],vt=()=>io;function Te(o,t=!1){return t&&P(o.Message),JSON.stringify(o.Data)}function ne(o,t,r){let i=o.Message,n={message:i},s,l=Ei(i);if(l!==null?s=(r?r(l):"")||io:s=i||io,t){let g=o.Data;if(mt(g)){let p=Array.isArray(g)&&g.length,m=!Array.isArray(g)&&(g.StackTrace||g.Error);if(p||m)return ro(s,g),n}P(s,!1)}return n}function Ei(o){return!isNaN(o)&&rt[+o]?+o:null}function Xo(o){let t=o.request.response?JSON.parse(o.request.response):{};return t.RequestState===1?(Te(t),!0):(ne(t,!0),!1)}function x(o,t="GET",r=null,i,n){let s=$.Deferred(),l=(n==null?void 0:n.notifyError)===void 0||n.notifyError,g={headers:{Accept:"application/json"}},p=$.extend({type:t,url:o,data:r},n,g);return $.ajax(p).done(m=>{let E=m;if(E.RequestState===1){Te(E,i),s.resolve(E.Data);return}let{message:h}=ne(E,l,(n==null?void 0:n.getUserFriendlyErrorMessage)||yt);s.reject(h)}).fail((m,E)=>{!bi.includes(m.status)&&l&&P(vt(),!1),s.reject(E)}),s}function St(o){return o().catch(t=>{let r=t.metadata["grpc-error"],i=t.metadata["grpc-stacktrace"];if(r||i){let n=atob(i);ro(r,{Error:r,StackTrace:n})}else P(t.message,!1)})}var rr=ht(or());function no(o,t,r,i){if(!o||typeof o!="object"||!o.RequestState||o.RequestState===1)return o;try{let n=ne(o,t,i).message;return $.Deferred().reject(n)}catch(n){return $.Deferred().reject(n)}}function se(o){let t=DevExpress.data.AspNet.createStore(O(A({},o),{onBeforeSend:(r,i)=>{(r==="update"||r==="insert")&&(i.headers={Accept:"application/json"}),o.onBeforeSend&&o.onBeforeSend(r,i);let n=(o==null?void 0:o.notifyError)===void 0||o.notifyError;i.dataFilter=s=>{let l=JSON.parse(s);if(l.RequestState===1)return Te(l,o.notifySuccess);let g=ne(l,n,o==null?void 0:o.getUserFriendlyErrorMessage).message;return l.Message=g,JSON.stringify(l)},i.error=s=>{let l=JSON.parse(s.responseText||"{}");l.RequestState||ne(l,n,o==null?void 0:o.getUserFriendlyErrorMessage)}}}));return t._errorHandler=r=>{r&&!r.message&&(r.message=vt())},Object.defineProperty(t,"loadUrl",{value:o.loadUrl,writable:!1}),Object.defineProperty(t,"loadParams",{value:o.loadParams,writable:!1}),t}function Et(o){let t=(o==null?void 0:o.notifyError)===void 0||o.notifyError,r=!!(o==null?void 0:o.notifySuccess),i=DevExpress.data.AspNet.createStore(O(A({},o),{onBeforeSend:(n,s)=>{(n==="update"||n==="insert"||n==="delete")&&(s.headers={Accept:"application/json"}),s.dataFilter=l=>{let g=JSON.parse(l);return g.RequestState===1?Te(g,o.notifySuccess):(g.Message=ne(g,t,o==null?void 0:o.getUserFriendlyErrorMessage).message,JSON.stringify(g))},s.error=l=>{let g=JSON.parse(l.responseText||"{}");g.RequestState||ne(g,t,o==null?void 0:o.getUserFriendlyErrorMessage)},o.onBeforeSend&&o.onBeforeSend(n,s)}}));return i._errorHandler=n=>{n&&!n.message&&(n.message=vt())},new DevExpress.data.CustomStore({key:i.key(),load:n=>i.load(n),byKey:(n,s)=>i.byKey(n,s),update:o.updateUrl?(n,s)=>i.update(n,s).then(l=>no(l,t,r,o==null?void 0:o.getUserFriendlyErrorMessage)):void 0,insert:o.insertUrl?n=>i.insert(n).then(s=>no(s,t,r,o==null?void 0:o.getUserFriendlyErrorMessage)):void 0,remove:o.deleteUrl?n=>i.remove(n).then(s=>no(s,t,r,o==null?void 0:o.getUserFriendlyErrorMessage)):void 0})}function ir(o,t){return new DevExpress.data.CustomStore({key:o,load:async r=>{let i=new rr.JsonMessage;i.setValue(JSON.stringify(r));let n=await St(()=>t(i));return n?JSON.parse(n.getValue()):[]}})}var so={};ie(so,{default:()=>ae});var Ie={};async function ae(o){if(Ie[o])return await Ie[o];Ie[o]=x(o),Ie[o].catch(r=>{throw Ie[o]=null,r});let t=await Ie[o];return Ie[o]=null,t}var nr={sendRequest:x,handleError:ne,handleSuccess:Te,handleUpload:Xo,createDxDataSource:se,isErrorInfo:mt,loadWithMultipleProtection:so,grpc:{sendRequest:St,createDxDataSource:ir}};var H=o=>{throw new Error(`The required ${o?`${o} `:""} isn't created`)};var ao={};ie(ao,{WindowResizeListener:()=>he,bootstrapLayoutBreakpoints:()=>Z,getUrlByMenuItemData:()=>ve});var Z={xs:{name:"xs",minWidth:0,maxWidth:575},sm:{name:"sm",minWidth:576,maxWidth:767},md:{name:"md",minWidth:768,maxWidth:991},lg:{name:"lg",minWidth:992,maxWidth:1199},xl:{name:"xl",minWidth:1200,maxWidth:1/0}},Ti=Object.getOwnPropertyNames(Z).map(o=>Z[o]),he=class{constructor(t,r,i=100,n=Ti){this.onWindowResizeListener=this.onWindowResize.bind(this);this.onResize=t,this.onLayoutBreakpointChanged=r,this.resizeDelay=i,this.layoutBreakpoints=n,this.currentLayoutBreakpoint=this.getLayoutBreakpointByWindowWidth(window.innerWidth),this.attachEvents()}destroy(){this.detachEvents()}attachEvents(){window.addEventListener("resize",this.onWindowResizeListener)}detachEvents(){window.removeEventListener("resize",this.onWindowResizeListener)}getLayoutBreakpointByWindowWidth(t){return this.layoutBreakpoints.find(r=>r.minWidth<=t&&(!r.maxWidth||r.maxWidth>=t))}onWindowResize(t){clearTimeout(this.lastWindowResizeTimeoutId),this.lastWindowResizeTimeoutId=window.setTimeout(()=>this.onWindowResizeInternal(t),this.resizeDelay)}onWindowResizeInternal(t){let r=this.getLayoutBreakpointByWindowWidth(window.innerWidth);if(this.currentLayoutBreakpoint!==r){let i=this.currentLayoutBreakpoint;this.currentLayoutBreakpoint=r,this.emitBreakpointChanged({previousBreakpoint:i,currentBreakpoint:this.currentLayoutBreakpoint,originalEvent:t})}this.emitResizeEvent(t)}emitResizeEvent(t){var r;try{(r=this.onResize)==null||r.call(this,t)}catch(i){console.error(i)}}emitBreakpointChanged(t){var r;try{(r=this.onLayoutBreakpointChanged)==null||r.call(this,t)}catch(i){console.error(i)}}};function ve(o){let{Area:t,Controller:r,Action:i,IsClickable:n}=o;if(n&&r)return encodeURI(t?`/${t}/${r}/${i}`:`/${r}/${i}`)}var k={isLegacyRender:!1};var lo=class{constructor(t){this.onLayoutBreakpointChangedListener=this.onLayoutBreakpointChanged.bind(this);this.container=t.container,this.userAvatar=t.userAvatar,this.userName=t.userName,this.items=t.items,this.collapseBreakpoint=t.collapseBreakpoint||Z.md,this.getDisplayedUserInfo=t.getDisplayedUserInfo||lo.defaultGetDisplayedUserInfo,this.onItemClick=t.onItemClick,this.windowResizeListener=new he(void 0,this.onLayoutBreakpointChangedListener)}get root(){return this._root}render(){if(this._root&&this.container.removeChild(this._root),this.renderMainElements(),this.renderUserInfo(),this.renderItems(),!this.root)return H("root");this.container.appendChild(this.root)}addItems(t){this.items=this.items.concat(t),this.render()}insertItems(t,r){this.items.splice(r,0,...t),this.render()}updateItems(t){this.items=t,this.render()}get menuItems(){return this.items}getBadge(t){let r=this.items.find(i=>{var n;return((n=i.Text)==null?void 0:n.toLowerCase())===t});return(r==null?void 0:r.Badge)||null}setBadge(t,r){let i=this.items.find(n=>{var s;return((s=n.Text)==null?void 0:s.toLowerCase())===t});i&&(i.Badge=r),this.render()}get isMobileView(){return this.windowResizeListener.currentLayoutBreakpoint.maxWidth<this.collapseBreakpoint.maxWidth}renderMainElements(){this._root=document.createElement("div"),this._root.classList.add("user-menu"),this.mobileContentContainer=document.createElement("div"),this.mobileContentContainer.classList.add(`d-${this.collapseBreakpoint.name}-none`),this.desktopRootDropdown=document.createElement("div"),this.desktopRootDropdown.classList.add("dropdown","d-none",`d-${this.collapseBreakpoint.name}-block`),this.desktopContentTrigger=document.createElement("button"),this.desktopContentTrigger.classList.add("header__icon-button","btn","btn-outline-light"),this.desktopContentTrigger.setAttribute("type","button"),this.desktopContentTrigger.setAttribute("data-toggle","dropdown");let t;if(k.isLegacyRender?this.userAvatar?(t=document.createElement("img"),t.classList.add("header__icon-button-icon","header__icon-button-avatar"),t.src=this.userAvatar):(t=document.createElement("i"),t.classList.add("header__icon-button-icon","fas","fa-user")):(t=document.createElement("i"),t.classList.add("header__icon-button-icon","isoz-icon-user")),this.desktopContentContainer=document.createElement("div"),this.desktopContentContainer.classList.add("dropdown-menu","dropdown-menu-right"),this.desktopContentTrigger.appendChild(t),this.items.some(r=>!!r.Badge)){let r=document.createElement("span");r.classList.add("user-menu__badge"),this.desktopContentTrigger.appendChild(r)}this.desktopRootDropdown.appendChild(this.desktopContentTrigger),this.desktopRootDropdown.appendChild(this.desktopContentContainer),this.itemsContainer=document.createElement("ul"),this.itemsContainer.classList.add("user-menu__items"),k.isLegacyRender?(this.userInfoContainer=document.createElement("h6"),this.userInfoContainer.classList.add("user-info","h6")):(this.userInfoContainer=document.createElement("a"),this.userInfoContainer.classList.add("user-info","dropdown-item")),this.userInfoDivider=document.createElement("div"),this.userInfoDivider.classList.add("dropdown-divider","d-none",`d-${this.collapseBreakpoint.name}-block`),this.isMobileView?(this.mobileContentContainer.appendChild(this.userInfoContainer),this.mobileContentContainer.appendChild(this.userInfoDivider),this.mobileContentContainer.appendChild(this.itemsContainer)):(this.desktopContentContainer.appendChild(this.userInfoContainer),this.desktopContentContainer.appendChild(this.userInfoDivider),this.desktopContentContainer.appendChild(this.itemsContainer)),this._root.appendChild(this.mobileContentContainer),this._root.appendChild(this.desktopRootDropdown)}renderUserInfo(){if(!this.userInfoContainer)return H("userInfoContainer");if(k.isLegacyRender){let t=document.createElement("span");t.classList.add("user-info__content"),t.innerText=this.getDisplayedUserInfo(this.userName),this.userInfoContainer.appendChild(t)}else this.userInfoContainer.innerText=this.getDisplayedUserInfo(this.userName)}renderItems(){if(!this.itemsContainer)return H("itemsContainer");this.clearItemsContainer(),this.items.forEach(t=>{let r=this.createItemElement(t,this.isMobileView);this.itemsContainer.appendChild(r)})}createItemElement(t,r){let i=this.createItemElementBase(t),n=document.createElement("a");if(n.classList.add(r?"nav-link":"dropdown-item"),n.href=t.Url||"javascript:void(0)",n.text=t.Text,t.OpenInNewPage&&(n.target="_blank"),this.attachEventsToItem(n,t),i.appendChild(n),t.Badge){let s=document.createElement("span");s.classList.add("isoz-badge"),s.classList.add("isoz-badge--circle"),s.classList.add(`isoz-badge--${t.Badge.Type||"information"}`),s.innerHTML=t.Badge.Text,n.appendChild(s)}return i}createItemElementBase(t){let r=document.createElement("li");return r.classList.add("nav-item"),r}attachEventsToItem(t,r){t.addEventListener("click",i=>this.onMenuItemClick({item:r,originalEvent:i}))}switchView(t){t?(this.applyMobileViewForUserInfo(),this.applyMobileViewForItems()):(this.applyDesktopViewForUserInfo(),this.applyDesktopViewForItems())}applyMobileViewForUserInfo(){this.mobileContentContainer.insertBefore(this.userInfoContainer,null),this.mobileContentContainer.insertBefore(this.userInfoDivider,null)}applyDesktopViewForUserInfo(){this.desktopContentContainer.insertBefore(this.userInfoContainer,null),this.desktopContentContainer.insertBefore(this.userInfoDivider,null)}applyMobileViewForItems(){var t;this.mobileContentContainer.insertBefore(this.itemsContainer,null);for(let r of this.itemsContainer.children)(t=r.firstElementChild)==null||t.classList.replace("dropdown-item","nav-link")}applyDesktopViewForItems(){var t;this.desktopContentContainer.insertBefore(this.itemsContainer,null);for(let r of this.itemsContainer.children)(t=r.firstElementChild)==null||t.classList.replace("nav-link","dropdown-item")}clearItemsContainer(){for(;this.itemsContainer.firstChild;)this.itemsContainer.firstChild.remove()}emitItemClick(t){var r,i,n;try{(r=this.onItemClick)==null||r.call(this,t),(n=(i=t.item).OnClick)==null||n.call(i,t)}catch(s){console.error(s)}}onLayoutBreakpointChanged(t){this.switchView(this.isMobileView)}async onMenuItemClick(t){this.emitItemClick(t),t.cancel&&t.originalEvent.preventDefault()}},we=lo;we.defaultGetDisplayedUserInfo=t=>`Welcome ${t}`;var Tt=class{constructor(t){this.container=t.container,this.items=t.items,this.onItemClick=t.onItemClick}updateItems(t){this.items=t}emitItemClick(t){var r;try{(r=this.onItemClick)==null||r.call(this,t)}catch(i){console.error(i)}}};var Ue=class extends Tt{constructor(t){super(t);this.onWindowResizeEventHandler=this.onWindowResize.bind(this);this.onToggleDropdownButtonClickHandler=this.onToggleDropdownButtonClick.bind(this);this.onToggleDropdownButtonMouseEnterHandler=this.onToggleDropdownButtonMouseEnter.bind(this);this.itemActionMode=t.itemAction||"hover",this.collapsingMode=t.collapsingMode??3,this.collapseBreakpoint=t.collapseBreakpoint||Z.md,this.collapseIconName=t.collapseIcon||"fa-ellipsis-v",this.windowResizeListener=new he(this.collapsingMode===3?this.onWindowResizeEventHandler:void 0,void 0,Ue.adaptivityCollapsingDelay)}render(){if(!this.root){if(this.renderRoot(),this.renderItems(),!this.root)return H("root");this.container.appendChild(this.root)}}updateItems(t){if(super.updateItems(t),!this.root)return new Error("The BootstrapCollapsingMenu isn't rendered");for(;this.root.firstChild;)this.root.firstChild.remove();this.renderItems()}applyAdaptivityCollapsing(){if(!(this.collapsingMode!==3||!this.root||!this.items.length||!this.collapseRoot||!this.collapseDropdown))if(this.isNeedCollapse()){this.collapseRoot.classList.remove("d-none");do{let t=this.root.children[this.root.children.length-2];if(!t)break;this.moveRootItemsToCollapseDropdown(t)}while(this.isNeedCollapse())}else{for(;this.collapseDropdown.children.length;)if(this.moveRootItemsToRoot(this.collapseDropdown.firstElementChild),this.isNeedCollapse()){let t=this.root.children[this.root.children.length-2];t&&this.moveRootItemsToCollapseDropdown(t);break}this.collapseDropdown.children.length||this.collapseRoot.classList.add("d-none")}}updateActiveItemsState(){this.forEachMenuItemRecursive(this.items,t=>{let r=t.active;t.active=go(t.originalModel),t.active!==r&&this.applyStatesToItemElement(t.menuItemEl.firstElementChild,t)})}closeOpenedDropdown(t){this.itemActionMode==="hover"&&(this.root.classList.remove(Ue.HOVER_MODE_CSS_CLASS),$(t).one("mouseleave",()=>{this.root.classList.add(Ue.HOVER_MODE_CSS_CLASS)}))}forEachMenuItemRecursive(t,r){t.forEach(i=>{r(i),this.isNestedItemsOwnerItem(i)&&this.forEachMenuItemRecursive(i.items,r)})}renderRoot(){this.root=document.createElement("ul"),this.root.classList.add("navbar-nav","mr-auto"),this.itemActionMode==="hover"&&this.root.classList.add(Ue.HOVER_MODE_CSS_CLASS)}renderItems(){this.renderRootItems(),this.items.length&&this.collapsingMode!==0&&(this.root||H("root"),this.root.style.visibility="hidden",this.renderCollapseElements(),setTimeout(()=>{this.applyAdaptivityCollapsing(),this.root.style.visibility=""},10)),this.changeDefaultDropdownBehaviorForNestedDropdown()}changeDefaultDropdownBehaviorForNestedDropdown(){$(this.root.querySelectorAll(".dropdown")).on("hide.bs.dropdown",t=>!(t.target!==this.currentOpeningSubMenu&&t.target.contains(this.currentOpeningSubMenu))),$(this.root.querySelectorAll(".dropdown-submenu")).on("show.bs.dropdown",t=>{this.currentOpeningSubMenu=void 0})}renderCollapseElements(){if(!this.root)return H("root");this.collapseRoot=document.createElement("li"),this.collapseRoot.classList.add("nav-item","dropdown","collapsing-menu__collapse-root"),this.collapseButton=document.createElement("button"),this.collapseButton.classList.add("header__icon-button","btn","btn-outline-light"),this.collapseButton.setAttribute("type","button"),this.collapseButton.setAttribute("data-toggle","dropdown");let t=document.createElement("i");t.classList.add("header__icon-button-icon","fas",this.collapseIconName),this.collapseDropdown=document.createElement("ul"),this.collapseDropdown.classList.add("dropdown-menu","dropdown-menu-right"),this.collapseButton.appendChild(t),this.collapseRoot.appendChild(this.collapseButton),this.collapseRoot.appendChild(this.collapseDropdown),this.root.appendChild(this.collapseRoot)}renderRootItems(){if(!this.root)return H("root");this.items.forEach(t=>{let r;this.isNestedItemsOwnerItem(t)?r=this.createRootItemWithNestedItems(t):r=this.createRootItemElement(t),this.root.appendChild(r)})}createRootItemWithNestedItems(t){let r=this.createRootItemElement(t);r.classList.add("dropdown");let i=r.querySelector(".nav-link");i instanceof HTMLElement&&this.setItemContentAsDropdownToggler(i);let n=this.createDropdownMenu(t);return r.appendChild(n),r}createRootItemElement(t){let r=document.createElement("li");r.classList.add("nav-item"),t.title&&r.setAttribute("title",t.title);let i=document.createElement("a");i.classList.add("nav-link"),i.href=t.url||"javascript:void(0)",i.text=t.text;let n=this.createItemIconElement(t);return n&&i.insertBefore(n,i.firstChild),this.applyStatesToItemElement(i,t),this.attachEventsToItem(i,t),r.appendChild(i),t.menuItemEl=r,r}createNestedSubMenuItemElement(t){let r=this.createNestedItem(t);r.classList.add("dropdown","dropdown-submenu");let i=r.querySelector(".dropdown-item");i instanceof HTMLElement&&this.setItemContentAsDropdownToggler(i);let n=this.createDropdownMenu(t);return r.appendChild(n),r}createNestedItem(t){let r=document.createElement("li");t.title&&r.setAttribute("title",t.title);let i=document.createElement("a");i.classList.add("dropdown-item"),i.href=t.url||"javascript:void(0)",i.text=t.text;let n=this.createItemIconElement(t);return n&&i.insertBefore(n,i.firstChild),this.applyStatesToItemElement(i,t),this.attachEventsToItem(i,t),r.appendChild(i),t.menuItemEl=r,r}createDropdownMenu(t){let r=document.createElement("ul");return r.classList.add("dropdown-menu"),t.items.forEach(i=>{let n;this.isNestedItemsOwnerItem(i)?n=this.createNestedSubMenuItemElement(i):n=this.createNestedItem(i),r.appendChild(n)}),r}createItemIconElement(t){if(!t.icon)return null;let r=document.createElement("i");return r.style.backgroundImage=`url(${t.icon})`,r}setItemContentAsDropdownToggler(t){t.classList.add("dropdown-toggle"),t.setAttribute("data-toggle","dropdown"),t.addEventListener("click",this.onToggleDropdownButtonClickHandler),t.addEventListener("mouseenter",this.onToggleDropdownButtonMouseEnterHandler)}applyStatesToItemElement(t,r){r.active?t.classList.add("active"):t.classList.remove("active"),r.hidden?t.classList.add("d-none"):t.classList.remove("d-none"),r.disabled?t.classList.add("disabled"):t.classList.remove("disabled")}attachEventsToItem(t,r){t.addEventListener("click",i=>this.emitItemClick({item:r,originalEvent:i}))}isNestedItemsOwnerItem(t){return t.items&&t.items.length&&t.items.some(r=>!r.hidden)}moveRootItemsToCollapseDropdown(t){if(t instanceof Element)this.applyCollapsingViewForRootItem(t),this.collapseDropdown.insertBefore(t,this.collapseDropdown.firstElementChild);else{let r=document.createDocumentFragment();for(let i of t)r.insertBefore(i,r.firstElementChild),this.applyCollapsingViewForRootItem(i);this.collapseDropdown.appendChild(r)}}moveRootItemsToRoot(t){if(t instanceof Element)this.applyExpandedViewForRootItem(t),this.root.insertBefore(t,this.root.children[this.root.children.length-1]||null);else{let r=document.createDocumentFragment();for(let i of t)r.insertBefore(i,r.firstElementChild),this.applyExpandedViewForRootItem(i);this.root.appendChild(r)}}applyCollapsingViewForRootItem(t){t.classList.add("dropdown-submenu");for(let r of t.children)r.classList.replace("nav-link","dropdown-item")}applyExpandedViewForRootItem(t){t.classList.remove("dropdown-submenu");for(let r of t.children)r.classList.replace("dropdown-item","nav-link")}isNeedCollapse(){if(this.windowResizeListener.currentLayoutBreakpoint.minWidth<this.collapseBreakpoint.minWidth)return!1;this.root.style.maxWidth="none";let t=this.root.getBoundingClientRect();this.root.classList.add("collapsing-menu_normal-white-space");let r=this.root.getBoundingClientRect();return this.root.classList.remove("collapsing-menu_normal-white-space"),this.root.style.maxWidth="",t.width>r.width}isDropdownRectsIntersect(t,r,i=2){return t.left<r.right-i&&r.left+i<t.right&&t.top<r.bottom-i&&r.top+i<t.bottom}applyShadowsForOverlapingDropdownIfNeeded(t){t.style.left="",t.classList.remove("dropdown-menu-left-shadowed");let r=t.getBoundingClientRect();r.right>window.innerWidth&&(t.style.left=`-${r.width}px`),r=t.getBoundingClientRect();let i=document.querySelectorAll(".dropdown-menu");for(let n of i)if(n!==t&&this.isDropdownRectsIntersect(n.getBoundingClientRect(),r)){t.classList.add("dropdown-menu-left-shadowed");break}}onWindowResize(t){this.applyAdaptivityCollapsing()}onToggleDropdownButtonClick(t){t.target instanceof HTMLElement&&t.target.parentElement&&(this.currentOpeningSubMenu=t.target.parentElement)}onToggleDropdownButtonMouseEnter(t){this.windowResizeListener.currentLayoutBreakpoint.maxWidth>=this.collapseBreakpoint.maxWidth&&t.target instanceof HTMLElement&&t.target.nextElementSibling instanceof HTMLElement&&t.target.nextElementSibling.classList.contains("dropdown-menu")&&this.applyShadowsForOverlapingDropdownIfNeeded(t.target.nextElementSibling)}},Pe=Ue;Pe.HOVER_MODE_CSS_CLASS="navbar-nav_hover-action",Pe.adaptivityCollapsingDelay=50;var sr=(o,t)=>{var r;for(let i of o){if(i.Name===t)return i;if((r=i.Items)==null?void 0:r.length){let n=sr(i.Items,t);if(n)return n}}},ar=o=>{let t=o.Items;if(!t||!t.length){let i=ve(o);return i?[i]:[]}let r=[];for(let i of t)r=r.concat(ar(i));return r},go=o=>{let t=window.location.pathname+window.location.search,r=ar(o);for(let i of r)if(new RegExp(`^.*${i.replace("?","\\?")}$`).test(t))return!0;return!1},Ne=class{constructor(t,r,i,n,s){this.onMenuItemClickHandler=this.onMenuItemClick.bind(this);this.container=t,this.isGlobalMenu=i,this.items=r,this.onNavigationMenuItemClick=s,this.menu=new Pe({container:this.container,items:this.mapNavigationMenuItemModelToMenuItems(r),collapseBreakpoint:n,onItemClick:this.onMenuItemClickHandler})}updateData(t,r){this.items=t,this.isGlobalMenu=r,this.menu.updateItems(this.mapNavigationMenuItemModelToMenuItems(this.items))}render(){this.menu.render()}applyAdaptivityCollapsing(){this.menu.applyAdaptivityCollapsing()}updateActiveItemsState(){this.menu.updateActiveItemsState()}async onMenuItemClick(t){let r=this.mapMenuItemClickEventArgsToNavigationMenuItemClickEventArgs(t);if(r&&(this.emitNavigationMenuItemClick(r),r.cancel)){t.originalEvent.preventDefault();let i=t.originalEvent.target;this.menu.closeOpenedDropdown(i)}}emitNavigationMenuItemClick(t){var r,i,n;try{(r=this.onNavigationMenuItemClick)==null||r.call(this,t),(n=(i=t.item).OnClick)==null||n.call(i,t)}catch(s){console.error(s)}}mapNavigationMenuItemModelToMenuItems(t){return t.map(r=>({text:r.Name,icon:r.Icon,items:r.Items?this.mapNavigationMenuItemModelToMenuItems(r.Items):void 0,url:ve(r),hidden:r.Visible===!1,active:go(r),disabled:r.Disabled,title:r.Description,originalModel:r}))}mapMenuItemClickEventArgsToNavigationMenuItemClickEventArgs(t){let r=sr(this.items,t.item.text);return r?{originalEvent:t.originalEvent,cancel:!1,item:O(A({},r),{isGlobal:this.isGlobalMenu})}:null}};var De="iszolea-ui|logo-settings";var po=class{constructor(t,r){this.$container=t,this.dataSource=r}initWidget(){return this._initWidget(this.dataSource)}updateData(){return window.sessionStorage.removeItem(De),this.$imageElement.remove(),this.$titleContainer.remove(),this._initWidget(this.dataSource)}_initWidget(t){let r=window.sessionStorage.getItem(De);return r?(this._createLogo(JSON.parse(r)),$.Deferred()):this._createLogo(t)}_createLogo(t){if(typeof t=="object"){let r=t;return this._createLogoMarkup(r),$.Deferred()}return x(this.dataSource,"post").done(r=>{let i={};i.applicationName=r.ApplicationName,i.businessName=r.BusinessName,i.logoImage=r.LogoImage,i.landingPageLogo=r.LandingPageLogo,i.description=r.Description,window.sessionStorage.setItem(De,JSON.stringify(i)),this._createLogoMarkup(i)})}_createLogoMarkup(t){this.$imageElement=$("<img />").attr("src",t.logoImage).on("error",r=>this.$imageElement.css("display","none")).appendTo(this.$container),this.$titleContainer=$("<span />").addClass("title-container").appendTo(this.$container),this.$titleContainer.append($("<div />").addClass("business-name").text(t.businessName)),this.$titleContainer.append($("<div />").addClass("app-name").text(t.applicationName.toUpperCase()))}};var Le=class{constructor(t){this.onLayoutBreakpointChangedListener=this.onLayoutBreakpointChanged.bind(this);this.desktopContainer=t.desktopContainer,this.mobileContainer=t.mobileContainer,this.collapseBreakpoint=t.collapseBreakpoint||Z.md,this.onSwitch=t.onSwitch,this._value=t.startValue!==void 0?t.startValue:!0,this.windowResizeListener=new he(void 0,this.onLayoutBreakpointChangedListener)}get value(){return this._value}get container(){return this.isMobileView?this.mobileContainer:this.desktopContainer}get isMobileView(){return this.windowResizeListener.currentLayoutBreakpoint.maxWidth<this.collapseBreakpoint.maxWidth}setVisible(t){var r;(r=this.menuSwitcher)==null||r.option("visible",t)}render(){this.renderSwitch()}destroy(){var r;let t=this.menuSwitcher.element();(r=this.menuSwitcher)==null||r.dispose(),t==null||t.remove()}setValue(t){this.menuSwitcher.option("value",t)}handleValueChanged(t){this.onValueChanged=t}renderSwitch(){this.menuSwitcher=$("<div>").dxSwitch({switchedOffText:"Personal",switchedOnText:"Global",value:this.value,width:"100px",onValueChanged:({value:t})=>{this._value=t,this.onSwitch&&this.onSwitch(this.value),this.onValueChanged&&this.onValueChanged(t)}}).dxSwitch("instance"),this.container.appendChild(this.menuSwitcher.element()[0])}switchView(){this.destroy(),this.render()}onLayoutBreakpointChanged(t){this.switchView()}};var It=class{constructor(t){this.$container=t.$container,this.getMenuDataSource=t.getMenuDataSource,this.getIsGlobalMenuShown=t.getIsGlobalMenuShown,this.onDimensionsChanged=t.onDimensionsChanged,this.onMenuItemOpened=t.onMenuItemOpened,this.onMenuItemClick=t.onMenuItemClick}setVisible(t){var r;(r=this.searchDropDown)==null||r.option("visible",t),this.onDimensionsChanged&&this.onDimensionsChanged()}setSearchText(t){var r;(r=this.searchDropDown)==null||r.option("value",t)}reloadMenuItems(){var t;(t=this.searchResultsTreeList)==null||t.option("dataSource",this.getDataSourceForSearch(this.getMenuDataSource()))}render(){let t=document.createElement("form");t.classList.add("form-inline");let r=$("<div />").dxDropDownBox({placeholder:"Search",visible:!1,showDropDownButton:!1,applyValueMode:"instantly",acceptCustomValue:!0,openOnFieldClick:!1,mode:"search",elementAttr:{type:"search","aria-label":"Search"},contentTemplate:(i,n)=>{n.addClass("header-search-results-tree-list");let s=$("<div>").dxTreeList({dataSource:this.getDataSourceForSearch(this.getMenuDataSource()),hoverStateEnabled:!0,focusedRowEnabled:!0,editing:{allowAdding:!1,allowUpdating:!1,allowDeleting:!1},noDataText:"No results found",dataStructure:"tree",keyExpr:"Id",itemsExpr:"Items",filterMode:"fullBranch",showColumnHeaders:!1,columns:[{dataField:"Name",dataType:"string"}],onCellClick:({data:l})=>{this.navigateToMenuItem(l)},onKeyDown:l=>{let g=l.event,p=this.searchResultsTreeList.option("focusedRowKey");if(p!=null)switch(g.key){case"Enter":let m=this.searchResultsTreeList.getNodeByKey(p).data;this.navigateToMenuItem(m);break;case"ArrowRight":case" ":this.searchResultsTreeList.expandRow(p);break;case"ArrowLeft":this.searchResultsTreeList.collapseRow(p);break;case"Escape":setTimeout(()=>this.searchDropDown.focus());break}}});return this.searchResultsTreeList=s.dxTreeList("instance"),s},dropDownOptions:{position:{of:".search-dropdown",my:"top",at:"bottom",offset:{x:149,y:4}},width:518,animation:{show:{duration:0},hide:{duration:0}},hideOnOutsideClick:!1,onShown:i=>{this.searchDropDown.focus()}},onFocusIn:i=>{i.component.element().addClass("focused"),this.onDimensionsChanged&&this.onDimensionsChanged(),this.checkSearchResutPopupVisibility(i.component.element().find("input.dx-texteditor-input").val())},onFocusOut:i=>{i.component.element().find("input.dx-texteditor-input").val()||(i.component.element().removeClass("focused"),this.onDimensionsChanged&&this.onDimensionsChanged())},onKeyUp:i=>{setTimeout(()=>{let n=i.event,s=i.component.element().find("input.dx-texteditor-input").val();this.checkSearchResutPopupVisibility(s),this.searchResultsTreeList.searchByText(s),["Tab","Enter","ArrowDown","ArrowUp"].some(g=>g===n.key)&&this.searchResultsTreeList.focus(this.searchResultsTreeList.getCellElement(0,"Name"))})},onKeyDown:i=>{i.event.key==="Escape"&&this.closeSearchDropDown()},onValueChanged:i=>{this.checkSearchResutPopupVisibility(i.value)}}).addClass(["form-control","mr-sm-2","search-dropdown"]);this.searchDropDown=r.dxDropDownBox("instance"),t.appendChild(r[0]),this.$container.append(t)}navigateToMenuItem(t){var i;let r=ve(t);if(r){this.closeSearchDropDown();let n={item:t,originalEvent:null,cancel:!1};if((i=this.onMenuItemClick)==null||i.call(this,n),n.cancel)return;this.onMenuItemOpened&&this.onMenuItemOpened({menuItem:t}),window.location.href=r}}closeSearchDropDown(){var t,r,i;this.searchResultsTreeList.option("focusedRowKey",void 0),(t=this.searchDropDown)==null||t.option("value",""),(r=this.searchDropDown)==null||r.focus(),(i=this.searchDropDown)==null||i.blur()}checkSearchResutPopupVisibility(t){var r,i;t?(r=this.searchDropDown)==null||r.open():(i=this.searchDropDown)==null||i.close()}getDataSourceForSearch(t){if(!t)return;let r=i=>{let n=(s,l)=>{l.Items&&l.Items.length&&(l.Items=l.Items.reduce(n,[]));let g=l.Visible===void 0||l.Visible===null||l.Visible===!0,p=l.Disabled===!0;return g&&!p&&s.push(O(A({},l),{isGlobal:i})),s};return n};if(t.personalItems&&t.personalItems.length){let i={Name:"Global Menu",Id:-1,isGlobal:!0,Type:2,Items:t.gloabalItems.reduce(r(!0),[])},n={Name:"Personal Menu",Id:-2,isGlobal:!1,Type:2,Items:t.personalItems.reduce(r(!1),[])};return this.getIsGlobalMenuShown()?[i,n]:[n,i]}else return t.gloabalItems.reduce(r(!0),[])}};var mo={};ie(mo,{EventEmitter:()=>z,createGridExportFunction:()=>wt,getGeneralUserFriendlyErrorMessage:()=>yt,imageToBase64:()=>dr,isJsonString:()=>le});var z=class{constructor(){this.eventListeners=[]}on(t,r){return this.eventListeners[t]||(this.eventListeners[t]=[]),this.eventListeners[t].push(r),r}once(t,r){this.on(t,i=>{r(i),this.off(t,r)})}emit(t,r=null){let i=this.eventListeners[t];if(i)for(let n of i)n&&n.call(this,r)}off(t,r){let i=this.eventListeners[t];if(i){let n=[];for(let s of i)s!==r&&n.push(s);this.eventListeners[t]=n}}addHandler(t,r,i){let n=()=>{r(i(),()=>this.off(t,n))};this.on(t,n)}};var lr=ht(ho());function wt(o){return t=>{let r=new window.ExcelJS.Workbook,i=r.addWorksheet(o);DevExpress.excelExporter.exportDataGrid({worksheet:i,component:t.component,customizeCell:n=>{let s=n.excelCell;s.font={name:"Arial",size:12},s.alignment={horizontal:"left"}}}).then(function(){r.xlsx.writeBuffer().then(function(n){(0,lr.default)(new Blob([n],{type:"application/octet-stream"}),`${o}.xlsx`)})}),t.cancel=!0}}var dr=o=>new Promise((t,r)=>{let i=new FileReader;i.readAsDataURL(o),i.onload=()=>{t(i.result)},i.onerror=r});var le=o=>{if(!o)return!1;try{JSON.parse(o)}catch{return!1}return!0};var Ii="iszolea-ui|header-data-cache",gr="iszolea-ui|show-global-menu",fo=o=>`${Ii}${o?`|${o}`:""}`,it=class extends z{constructor(t){super();this.onNaviagtionMenuItemClickHandler=this.onNavigationMenuItemClick.bind(this);this.onNavigationMenuItemOpenedHandler=this.onNavigationMenuItemOpened.bind(this);this.onUserMenuItemClickHandler=this.onUserMenuItemClick.bind(this);this.elements={};var r,i,n,s,l;this.$el=t.$el,this.menuSettings=t.menuSettings,this.logoSettings=t.logoSettings,this.theme=t.theme||"iszolea",this.displaySearch=t.displaySearch,this.collapseBreakpoint=((r=t.menuSettings)==null?void 0:r.collapseBreakpoint)||Z.md,this.$partialViewPlaceHolder=(i=t.menuSettings)==null?void 0:i.partialViewPlaceHolder,this.updateUrlAfterPartialLoading=(n=t.menuSettings)==null?void 0:n.updateUrlAfterPartialLoading,this.onPartialViewLoaded=(s=t.menuSettings)==null?void 0:s.onPartialViewLoaded,this.beforePartialViewLoading=(l=t.menuSettings)==null?void 0:l.beforePartialViewLoading,this.loadPanel=this.createLoadPanel(),t.immediateRender===!1&&console.warn("The 'immediateRender === false' option isn't supported at the moment."),DevExpress.ui.dxOverlay.baseZIndex(1700),this.render(),this.init().then(()=>{var g;return(g=t==null?void 0:t.onInit)==null?void 0:g.call(t)}),this.subscribeOnHistoryPopState()}async updateData(){!this.menuSettings||(this.clearAppMenuModelCache(),this.data=await this.loadData(),!!this.elements.root&&this.rerenderMenus())}render(){this.renderRoot(),this.renderBrand(),this.renderContentToggler(),this.renderContent(),this.renderLoadBar(),this.updateContentAndTogglerVisible()}subscribeOnHistoryPopState(){this.$partialViewPlaceHolder&&$(window).bind("popstate",t=>{let i=t.originalEvent.state;i&&i.isLoadedByAjax?(this.loadPageViaAjaxCore(i.url),this.updateMenuSwitcherState(i.isMenuSwitcherGlobal),this.navigationMenu.updateActiveItemsState()):location.reload()})}createLoadPanel(){return $("<div />").dxLoadPanel({shadingColor:"rgba(0,0,0,0.4)",visible:!1,showIndicator:!0,showPane:!0,shading:!0,hideOnOutsideClick:!1}).appendTo(this.$el).dxLoadPanel("instance")}renderRoot(){this.elements.root=this.$el[0],this.elements.root.classList.add("header",this.theme,"navbar","navbar-dark",`navbar-expand-${this.collapseBreakpoint.name}`)}renderBrand(){if(this.logo||!this.logoSettings)return;if(!this.elements.root)return H("root");let t=document.createElement("a");t.classList.add("header__brand","navbar-brand"),t.href="/",this.elements.root.appendChild(t),this.elements.logoContainer=t,this.logo=new po($(this.elements.logoContainer),this.logoSettings),this.logo.initWidget()}renderSearch(){if(!!this.displaySearch){if(!this.elements.contentContainer)return H("contentContainer");this.search=new It({$container:$(this.elements.contentContainer),getMenuDataSource:()=>this.getSearchDataSource(this.data),getIsGlobalMenuShown:()=>this.getIsGlobalMenuShown(),onDimensionsChanged:()=>{var t;return(t=this.navigationMenu)==null?void 0:t.applyAdaptivityCollapsing()},onMenuItemClick:this.onNaviagtionMenuItemClickHandler,onMenuItemOpened:this.onNavigationMenuItemOpenedHandler}),this.search.render()}}getIsGlobalMenuShown(){var t;return this.isShowGlobalMenu()||!((t=this.data)==null?void 0:t.AddGlobalPersonalSwitcher)}onNavigationMenuItemOpened(t){this.updateMenuSwitcherState(t.menuItem.isGlobal)}updateMenuSwitcherState(t){!this.menuSwitcher||this.menuSwitcher.value!==t&&this.menuSwitcher.setValue(t)}renderContentToggler(){if(!this.elements.root)return H("root");this.elements.toggleButton=document.createElement("button"),this.elements.toggleButton.classList.add("navbar-toggler"),this.elements.toggleButton.setAttribute("type","button"),this.elements.toggleButton.setAttribute("data-toggle","collapse"),this.elements.toggleButton.setAttribute("data-target",".header__content"),this.elements.toggleButton.onclick=()=>{var r;(r=this.search)==null||r.setSearchText("")};let t=document.createElement("span");t.classList.add("navbar-toggler-icon"),this.elements.toggleButtonContainer=document.createElement("div"),this.elements.toggleButtonContainer.classList.add("header__toggle-button-container"),this.elements.toggleButton.appendChild(t),this.elements.toggleButtonContainer.appendChild(this.elements.toggleButton),this.elements.root.appendChild(this.elements.toggleButtonContainer)}renderContent(){if(!this.elements.root)return H("root");this.elements.contentContainer=document.createElement("div"),this.elements.contentContainer.classList.add("collapse","navbar-collapse","header__content"),this.elements.root.appendChild(this.elements.contentContainer),this.renderSearch(),this.renderNavigationMenu([]),this.renderMenuSwitcher(),this.renderUserMenu([])}renderNavigationMenu(t){if(!this.elements.contentContainer)return H("contentContainer");let r=this.getIsGlobalMenuShown();this.navigationMenu?this.navigationMenu.updateData(t,r):(this.navigationMenu=new Ne(this.elements.contentContainer,t,r,this.collapseBreakpoint,this.onNaviagtionMenuItemClickHandler),this.navigationMenu.render())}onUserMenuItemClick(t){var i,n;if($(this.elements.contentContainer).removeClass("show"),(n=(i=this.menuSettings).onUserMenuClick)==null||n.call(i,t),t.cancel||this.isKeyPressed(t.originalEvent))return;let r=t.item.Url;t.item.AlwaysReloadPage?window.location.href=r:t.cancel=this.tryDoPartialPageLoading(r)}onNavigationMenuItemClick(t){var i,n;if(t.item.Items.length||$(".show",this.elements.contentContainer).removeClass("show"),(n=(i=this.menuSettings).onNavigationMenuItemClick)==null||n.call(i,t),t.cancel||this.isKeyPressed(t.originalEvent))return;this.updateMenuSwitcherState(t.item.isGlobal);let r=ve(t.item);t.cancel=this.tryDoPartialPageLoading(r)}isKeyPressed(t){return t&&(t.altKey||t.ctrlKey||t.shiftKey)}tryDoPartialPageLoading(t){var r;if(this.$partialViewPlaceHolder&&t&&this.checkIsLocalUrl(t)){if(this.updateUrlAfterPartialLoading){let i={isLoadedByAjax:!0,isMenuSwitcherGlobal:!!((r=this.menuSwitcher)==null?void 0:r.value),url:t};window.history.pushState(i,null,t)}return this.loadPageViaAjaxCore(t),this.navigationMenu.updateActiveItemsState(),!0}return!1}checkIsLocalUrl(t){return!it.GLOBAL_URL_REGEX.test(t)}checkIsPartialPageContent(t){return t&&!it.DOCTYPE_MARKER_REGEX.test(t)}loadPageViaAjaxCore(t){var n;window.isIsozServerException=!1,this.loadPanel.show();let r=new URL(window.location.origin+t);r.searchParams.append("isozPartialLoading","true");let i=r.toString();(n=this.beforePartialViewLoading)==null||n.call(this),$.ajax(i,{dataType:"html"}).always((s,l)=>{var g;l!=="success"||!this.checkIsPartialPageContent(s)?window.location.href=t:(this.$partialViewPlaceHolder.html(s),(g=this.onPartialViewLoaded)==null||g.call(this),this.loadPanel.hide())})}renderUserMenu(t){var r;if(!!((r=this.menuSettings)==null?void 0:r.userName)){if(!this.elements.contentContainer)return H("contentContainer");if(this.userMenu)this.userMenu.updateItems(t);else{let i=document.createElement("div");i.classList.add("dropdown-divider"),this.elements.contentContainer.appendChild(i),this.userMenu=new we({container:this.elements.contentContainer,userName:this.menuSettings.userName,userAvatar:this.menuSettings.userAvatar,items:t,collapseBreakpoint:this.collapseBreakpoint,onItemClick:this.onUserMenuItemClickHandler,getDisplayedUserInfo:this.menuSettings.getDisplayedUserInfo}),this.userMenu.render()}}}renderMenuSwitcher(){var t,r,i,n;if((t=this.data)==null?void 0:t.AddGlobalPersonalSwitcher){if(this.menuSwitcher)return}else{this.menuSwitcher&&(this.menuSwitcher.destroy(),(r=this.elements.menuSwitcherDesktopContainer)==null||r.remove(),(i=this.elements.menuSwitcherMobileContainer)==null||i.remove(),this.menuSwitcher=void 0,this.elements.menuSwitcherDesktopContainer=void 0,this.elements.menuSwitcherMobileContainer=void 0);return}if(!this.elements.contentContainer)return H("contentContainer");if(!this.elements.toggleButtonContainer)return H("toggleButtonContainer");this.elements.menuSwitcherDesktopContainer=document.createElement("div"),this.elements.menuSwitcherDesktopContainer.classList.add("menu-switcher"),this.elements.menuSwitcherMobileContainer=document.createElement("div"),this.elements.menuSwitcherMobileContainer.classList.add("menu-switcher"),this.menuSwitcher=new Le({desktopContainer:this.elements.menuSwitcherDesktopContainer,mobileContainer:this.elements.menuSwitcherMobileContainer,collapseBreakpoint:this.collapseBreakpoint,startValue:this.isShowGlobalMenu(),onSwitch:s=>{var g,p;window.localStorage.setItem(gr,JSON.stringify(s));let l=this.getNavigationItems(this.data);(g=this.search)==null||g.setSearchText(""),(p=this.search)==null||p.reloadMenuItems(),this.renderNavigationMenu(l||[]),this.updateContentAndTogglerVisible()}}),this.menuSwitcher.render(),this.emit(it.MENU_SWITCHER_INITIALIZED_EVENT),this.elements.contentContainer.insertBefore(this.elements.menuSwitcherDesktopContainer,(n=this.userMenu)==null?void 0:n.root),this.elements.toggleButtonContainer.insertBefore(this.elements.menuSwitcherMobileContainer,this.elements.toggleButton)}renderLoadBar(){this.$loadBar=$("<div />").addClass("load-bar").hide().appendTo(this.$el);let t=$("<div />").addClass("load").appendTo(this.$loadBar);$("<div />").addClass("bar").appendTo(t);function r(i){$(i).animate({left:$(".load").width()},2e3,()=>{$(i).css("left",`${-$(i).width()}px`),r(i)})}r(".bar")}rerenderMenus(){let t=this.getNavigationItems(this.data),r=this.getUserItems(this.data);t&&this.renderNavigationMenu(t),r&&this.renderUserMenu(r),this.renderMenuSwitcher(),this.updateContentAndTogglerVisible()}updateContentAndTogglerVisible(){var n,s;if(!this.elements.contentContainer&&!this.elements.toggleButton)return;let t=this.getNavigationItems(this.data),r=this.getUserItems(this.data),i=t&&t.length>0||((n=this.menuSettings)==null?void 0:n.userName)||r&&r.length>0;this.elements.toggleButton.classList.toggle("d-none",!i),this.elements.contentContainer.classList.toggle("d-none",!i),(s=this.search)==null||s.setVisible(!!i)}async init(){!this.menuSettings||(this.data=await this.loadData(),!!this.elements.root&&this.rerenderMenus())}async loadData(){var r,i,n,s,l;if(!this.menuSettings)throw new Error("The header doesn't have menu settings");if(typeof this.menuSettings.data!="string")return this.menuSettings.data;let t=this.getCachedAppMenuModel();if(t)return t;try{return(r=this.search)==null||r.setVisible(!1),(i=this.$loadBar)==null||i.show(),t=await x(this.menuSettings.data),this.cacheAppMenuModel(t),(n=this.search)==null||n.reloadMenuItems(),t}finally{(s=this.search)==null||s.setVisible(!0),(l=this.$loadBar)==null||l.hide()}}getNavigationItems(t){return t?this.isShowGlobalMenu()||!t.AddGlobalPersonalSwitcher?t.NavigationItems:t.PersonalNavigationItems:void 0}getSearchDataSource(t){if(!!t)return{gloabalItems:t.NavigationItems,personalItems:t.AddGlobalPersonalSwitcher?t.PersonalNavigationItems:void 0}}getUserItems(t){if(!!t)return t.UserItems}getCachedAppMenuModel(){if(!this.menuSettings)return null;let t=window.sessionStorage.getItem(fo(this.menuSettings.userName));return t===null?t:JSON.parse(t)}cacheAppMenuModel(t){return this.menuSettings?(window.sessionStorage.setItem(fo(this.menuSettings.userName),JSON.stringify(t)),!0):!1}clearAppMenuModelCache(){return this.menuSettings?(window.sessionStorage.removeItem(fo(this.menuSettings.userName)),!0):!1}isShowGlobalMenu(){let t=window.localStorage.getItem(gr),r=t===null?t:JSON.parse(t);return r===null||r}},_e=it;_e.MENU_SWITCHER_INITIALIZED_EVENT="menu-switcher-initialized-event",_e.GLOBAL_URL_REGEX=new RegExp("^(?:[a-z]+:)?//","i"),_e.DOCTYPE_MARKER_REGEX=new RegExp("!DOCTYPE html>","i");var wi=["default","string","number","date","boolean","object","datetime"],Be=wi;var Fe=(i=>(i[i.None=0]="None",i[i.AddNewRows=1]="AddNewRows",i[i.ReplaceAllRows=2]="ReplaceAllRows",i))(Fe||{});var je=(g=>(g.Default="default",g.String="string",g.Number="number",g.Date="date",g.Boolean="boolean",g.Object="object",g.Datetime="datetime",g))(je||{});var Se=[];function Di(o,t){return Math.floor(Math.random()*(t-o+1))+o}function Dt(o,t,r=5,i=2){let n=t.sort((s,l)=>.5-Math.random());o.addClass("iszolea-background-image-viewer").css({transition:`background-image ${i}s ease-in-out 0s`}),n.forEach((s,l)=>{let g=new Image;g.addEventListener("load",()=>{Se.push(s),Se.length===1&&Ci(o,r)}),window.setTimeout(()=>{g.src=s},l*100)})}function _i(o){if(Se.length===1)return 0;if(Se.length===2)return o===0?1:0;let t=Di(0,Se.length-1);return t===o?t===Se.length-1?0:t+1:t}function Ci(o,t){let r=0;pr(o,r),window.setInterval(()=>{Se.length!==1&&(r=_i(r),pr(o,r))},t*1e3)}function pr(o,t){o.css("background-image",`url("${Se[t]}")`)}var yo=(i=>(i[i.Success=0]="Success",i[i.Warning=1]="Warning",i[i.Error=2]="Error",i))(yo||{}),xi={year:"local"},Ve=class{constructor(t){this.indicatorClassByStatus=new Map([[0,"footer__indicator_type_success"],[1,"footer__indicator_type_warning"],[2,"footer__indicator_type_error"]]);let r=A(A({},t),xi);this.$root=r.$root,this.name=r.name!==!1?r.name:void 0,this.licence=r.licence!==!1?r.licence:void 0,this.year=Ve.getCurrentYear(r.year),this.version=t.version||void 0,this.showName=r.name!==!1,this.showLicence=r.licence!==!1,this.showYear=r.year!==!1,this.showConnectedTo=!!r.serverName&&!!r.database,this.indicatorsOptions=t.indicators||[],this.indicatorsByName=new Map,this.connectedTo=this.showConnectedTo?`${r.serverName} - ${r.database}`:void 0}static getCurrentYear(t){return t==="local"||t===!1?new Date().getFullYear():t}init(){this.$root.addClass("footer"),this.renderIndicators(),this.renderCopyright(),this.showYear&&this.renderYear(),this.showName&&this.renderName(),this.showConnectedTo&&this.renderConnectedTo(),this.showLicence&&this.renderLicence()}setIndicatorValue(t,r){let i=this.indicatorsByName.get(t);i&&this.setIndicatorValueCore(i,r)}renderIndicators(){var t;(t=this.indicatorsOptions)==null||t.forEach(r=>{r.text&&$("<span>").addClass("footer__indicator-text").html(`${r.text}:`).appendTo(this.$root);let i=$("<span>").addClass("footer__indicator").appendTo(this.$root);this.setIndicatorValueCore(i,r.value),this.indicatorsByName.set(r.name,i),r.getValue&&r.getValueIntervalMs&&setInterval(async()=>{let n=await r.getValue();this.setIndicatorValueCore(i,n)},r.getValueIntervalMs)})}setIndicatorValueCore(t,r){t.attr("title",r.title),t.removeClass([...this.indicatorClassByStatus.values()]),t.addClass(this.indicatorClassByStatus.get(r.status))}renderCopyright(){$("<span>").addClass("footer__copyright").html("&copy;").appendTo(this.$root)}renderName(){this.name&&$("<span>").addClass("footer__item").addClass("footer__app-name").text(this.name+(this.version?`: ${this.version}`:"")).appendTo(this.$root)}renderConnectedTo(){this.name&&$("<span>").addClass("footer__item").addClass("footer__connected-to").text(`Connected to: ${this.connectedTo}.`).appendTo(this.$root)}renderYear(){$("<span>").addClass("footer__item").addClass("footer__current-year").text(this.year).appendTo(this.$root)}renderLicence(){this.licence&&$("<span>").addClass("footer__item").addClass("footer__licence-info").append($("<span>").addClass("footer__licence-owner").text(`${this.getLicenceOwnerDisplayText(this.licence)}. `)).append($("<span>").addClass("footer__licence-date").text(this.getLicenceExpirationDateDisplayText(this.licence))).appendTo(this.$root)}getLicenceOwnerDisplayText(t){return`Licenced to: ${t.Owner}`}getLicenceExpirationDateDisplayText(t){return`Licence Expiry: ${(typeof t.ExpirationDate=="string"?new Date(t.ExpirationDate):t.ExpirationDate).toLocaleDateString()}`}};var _t=null,ur=[];window.addEventListener("resize",()=>{_t&&window.clearTimeout(_t),_t=window.setTimeout(()=>{ur.forEach(o=>o()),_t=null},100)});function Ct(o){ur.push(o)}var nt={main:".main",header:".main .header",content:".content-area",panel:".panel",footer:"footer"},vo=null,xt=null,At=null;function cr(o){$(nt.content).height(xt),o.option("height",At)}function Ai(o,t=!1,r=!1){let i=$(nt.main),n=$(nt.header),s=$(nt.content),l=$(nt.footer),g=s.outerHeight()-s.height();xt=i.height()-n.height()-l.outerHeight()-g,vo=$(window).height();let p=s.children(),m=0;if(!t){let E=o.element();p.each((h,S)=>{let T=$(S);T.is(E)||T.has(E[0]).length||(m+=T.is(":visible")&&T.css("position")!=="absolute"?T.outerHeight(!0):0)})}At=xt-m,r&&(At+=o.element().outerHeight()),cr(o)}function Ri(o){let t=$(window).height(),r=t-vo;xt+=r,At+=r,vo=t,cr(o)}function de(o,t=!1,r=!1){Ai(o,t,r),Ct(()=>Ri(o))}var Mi="isoz-icon-disabled",q={lg:"iszolea-lg",md:"iszolea-md",sm:"iszolea-sm"},Q=class{static setElementMiddleSize(t){t.addClass(q.md)}static setElementSmallSize(t){t.addClass(q.sm)}static setWidgetMiddleSize(t){Q.setWidgetSize(t,q.md)}static setWidgetSmallSize(t){Q.setWidgetSize(t,q.sm)}static setToolbarWidgetSmallSize(t){t&&Q.setToolbarWidgetSize(t,q.sm)}static setToolbarWidgetMediumSize(t){t&&Q.setToolbarWidgetSize(t,q.md)}static getIconClass(t,r,i=16){let n=`isoz isoz-icon-${t}-${i}`;return r?`${n} ${Mi}`:n}static setWidgetSize(t,r){t&&t.option("elementAttr",{class:r})}static setToolbarWidgetSize(t,r){t.options||(t.options={}),t.options.elementAttr||(t.options.elementAttr={}),t.options.elementAttr.class?t.options.elementAttr.class+=` ${r}`:t.options.elementAttr.class=r}};var Oi={title:"isoz-title"},st=class{static getToolbarTitleTemplateItem(t,r){return{location:"before",template:()=>{let i=$(`<span class="${Oi.title}">${t}</span>`);return r&&i.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Report details")),i}}}};var hr={title:"isoz-title",header:"isoz-toolbar-header",dropDownButton:"dx-dropdownmenu-button"};function mr(o,t={title:"",description:"",options:{}}){let{title:r="",description:i="",options:n={}}=t,{items:s=[],elementAttr:l={}}=n;s.forEach(p=>{let m={class:q.md};if(p.options){let{editorOptions:E}=p.options;E||(E={}),E.elementAttr=m,p.options.elementAttr=m,p.options.editorOtions=E}});let g=p=>{p.element.find(`.${hr.dropDownButton}`).addClass(q.md),(n==null?void 0:n.onContentReady)&&n.onContentReady(p)};return $(`${o}`).dxToolbar(O(A({},n),{items:[st.getToolbarTitleTemplateItem(r,i),...s],onContentReady:g,elementAttr:O(A({},l),{class:hr.header})})).dxToolbar("instance")}var Ui={panel:".panel-body"};function fr(o){let t=o.element(),r=o.element().parents(Ui.panel).eq(0),i=r.position().top,n=r.height(),s=r.outerHeight()-r.height(),l=t.position().top,g=n-(l-i)+s/2;o.option("height",g)}function So(o){fr(o),Ct(()=>fr(o))}function yr(o,t,r=!1){let i=bo(o,t);return t.height||(r?So(i):de(i)),i}function bo(o,t){let r=o.dxDataGrid(t).dxDataGrid("instance");return r.element().addClass(oe.dxDataGrid),r}function vr(o,t,r=!1){let i=(typeof o=="string"?$(o):o).dxTreeList(t).dxTreeList("instance");return i.element().addClass(oe.dxDataGrid),t.height||(r?So(i):de(i)),i}var Sr=o=>o.slice(2).toLowerCase(),Pi=o=>{let t=Sr(o);return{searchPanel:`.dx-${t}-search-panel`,toolbarEditButton:`.dx-${t}-toolbar-button.dx-edit-button`,toolbarExportButton:`.dx-${t}-export-button .dx-button`,selectCheckBox:".dx-select-checkbox"}};function br(o){let t=k.isLegacyRender?Ni(o):Tr(o);return(o.summaryColumn||o.showSummaryInColumn)&&(t.summary={totalItems:[{column:o.summaryColumn||o.showSummaryInColumn,showInColumn:o.showSummaryInColumn||o.summaryColumn,summaryType:"count"}]}),t.export={enabled:!!o.exportFileName,allowExportSelectedData:!0},k.isLegacyRender||(t.groupPanel={visible:!0}),t}function Er(o){let t=Tr(o);return t.selection={mode:"none"},t}function Tr(o){return{allowColumnResizing:!0,cacheEnabled:!0,columnAutoWidth:!0,filterRow:{visible:!0,applyFilter:"onClick"},headerFilter:{visible:!0},hoverStateEnabled:!0,paging:{pageSize:80},pager:{visible:!1},remoteOperations:!0,scrolling:{mode:"virtual",rowRenderingMode:"virtual"},searchPanel:{visible:!0,width:240,placeholder:"Search..."},showRowLines:!0,showBorders:!0,selection:{mode:"multiple"},wordWrapEnabled:!0}}function Ni(o){return{allowColumnResizing:!0,remoteOperations:!0,columnAutoWidth:!0,showBorders:!0,filterRow:{visible:!0,applyFilter:"onClick"},selection:{mode:"multiple"},paging:{pageSize:50},searchPanel:{visible:!0},headerFilter:{visible:!0},scrolling:{mode:"virtual"}}}function Li(o,t){let r=(i,n)=>i.find(s=>s.name===n);if(o==null?void 0:o.items){let{items:i}=o;if(t){let g=r(i,t);g&&(g.options.type="default")}let n=r(i,"saveButton");n&&(n.showText="always",n.options.text="Save");let s=r(i,"revertButton");s&&(s.showText="always",s.options.text="Discard");let l=r(i,"refresh");l&&(l.showText="always",l.options.text="Refresh",l.options.hint="Reload Data")}}function Bi(o){var s,l,g;let t=o.option("summary.totalItems"),r=(s=t==null?void 0:t.filter(p=>p.summaryType==="count")[0])==null?void 0:s.column,i=r&&o.getVisibleColumns().findIndex(p=>p.dataField===r);if(!i){let p=o.option("selection");i=p&&p.mode!=="none"?o.getVisibleColumns().findIndex(E=>!!E.dataField):0}let n=(l=o.getVisibleColumns()[i])==null?void 0:l.dataField;n&&r!==n&&o.option("summary",{totalItems:[{column:(g=o.getVisibleColumns()[i])==null?void 0:g.dataField,summaryType:"count"}]})}function Rt(o,t){let r=Pi(o),i=!1;return{onCellPrepared:n=>{var s,l;k.isLegacyRender||n.rowType==="header"&&n.cellElement.css("text-align","center"),((s=t.options)==null?void 0:s.onCellPrepared)&&((l=t.options)==null||l.onCellPrepared(n))},onContentReady:n=>{var l;let s=n.component;s.beginUpdate(),t.disableSummaryColumnDetection||Bi(s),i||(i=!0,setTimeout(()=>{let g=s.getScrollable();g&&g.scrollTo({top:0})}));for(let g=0;g<s.columnCount();g++){let p=s.columnOption(g,"dataType");(t.setDefaultColumnWidth||t.setDefaultColumnWidth===void 0)&&(s.columnOption(g,"width")||(p==="boolean"&&(s.columnOption(g,"width","45px"),s.columnOption(g,"editorOptions",{dropDownOptions:{width:80}})),p==="datetime"&&s.columnOption(g,"width","135px"),p==="date"&&s.columnOption(g,"width","140px"))),(p==="datetime"||p==="date")&&s.columnOption(g,"alignment","right"),p==="date"&&s.columnOption(g,"format","dd MMM yyyy"),p==="datetime"&&s.columnOption(g,"format","HH:mm, dd MMM yyyy")}((l=t.options)==null?void 0:l.onContentReady)&&t.options.onContentReady(n),s.endUpdate()},onToolbarPreparing:n=>{var S;let{toolbarOptions:s={}}=n,l=n.component,{items:g=[]}=s;g.forEach(T=>{T.name==="applyFilterButton"&&T.options&&(T.options.visible=!1)}),k.isLegacyRender?t.title&&n.toolbarOptions.items.unshift({location:"before",template(){let T=$("<h2 />").addClass("grid-header").text(t.title);return t.headerDescription&&T.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Click to see further details")),T}}):(t.title&&g.unshift(st.getToolbarTitleTemplateItem(t.title,t.headerDescription)),g.filter(T=>{if(T.widget==="dxButton"){let I=t.buttonsSize==="sm"?16:24;switch(T.name){case"addRowButton":T.options.icon=Q.getIconClass("plus",!1,I);break;case"saveButton":T.options.icon=Q.getIconClass("save",!1,I);break;case"revertButton":T.options.icon=Q.getIconClass("close",!1,I);break;default:T.options.icon=void 0;break}T.options.elementAttr||(T.options.elementAttr={}),T.options.elementAttr.class=t.buttonsSize==="sm"?q.sm:q.md,T.showText="always"}}),Li(s,t.toolbarAccentButtonName),t.toolbarItems&&g.push(...t.toolbarItems),s.elementAttr={class:"isoz-toolbar-header"});let p=n.toolbarOptions.items.findIndex(T=>T.name==="saveButton"),m=n.toolbarOptions.items.findIndex(T=>T.name==="searchPanel"),E=-1;p>-1?E=p:m>-1?E=m:E=n.toolbarOptions.items.length,n.toolbarOptions.items.splice(E,0,{location:"after",widget:"dxButton",name:"refresh",options:{icon:"refresh",height:k.isLegacyRender?30:void 0,elementAttr:{class:`dx-datagrid-toolbar-button ${t.buttonsSize==="sm"?q.sm:q.md}`},stylingMode:k.isLegacyRender?"text":"contained",onClick:()=>l==null?void 0:l.refresh(),onContentReady:k.isLegacyRender?T=>{T.element.find(".dx-button-content").css({paddingTop:6,paddingBottom:6})}:void 0}}),((S=t.options)==null?void 0:S.onToolbarPreparing)&&t.options.onToolbarPreparing(n);let h=n.toolbarOptions.items.findIndex(T=>T.name==="exportButton");m=n.toolbarOptions.items.findIndex(T=>T.name==="searchPanel"),k.isLegacyRender||(t.buttonsSize==="sm"?(Q.setToolbarWidgetSmallSize(n.toolbarOptions.items[h]),Q.setToolbarWidgetSmallSize(n.toolbarOptions.items[m])):(Q.setToolbarWidgetMediumSize(n.toolbarOptions.items[h]),Q.setToolbarWidgetMediumSize(n.toolbarOptions.items[m])))},onEditorPreparing:n=>{var s;switch(k.isLegacyRender||(n.editorOptions=O(A({},n.editorOptions),{elementAttr:{class:q.md}}),n.editorName==="dxSelectBox"&&(n.editorOptions.dropDownOptions=O(A({},n.editorOptions.dropDownOptions),{onShowing:l=>{let g=Sr(o);l.component._$popupContent.addClass(`isoz-${g}-selectbox-popup`)}})),n.editorName==="dxCheckBox"&&Q.setElementSmallSize(n.editorElement)),n.parentType){case"filterRow":let l=p=>{n.element&&n.element.find(".dx-apply-button").trigger("dxclick")};n.editorOptions.onEnterKey=l,n.editorOptions.onFocusOut=l;break;case"searchPanel":let g=p=>{n.component.searchByText(p.component.option("value"))};n.editorOptions.onValueChanged=()=>{},n.editorOptions.onEnterKey=g,n.editorOptions.onFocusOut=g;break}((s=t.options)==null?void 0:s.onEditorPreparing)&&t.options.onEditorPreparing(n)},onContextMenuPreparing:n=>{var s,l,g;if(!k.isLegacyRender&&n.target==="content"&&!!t.exportFileName&&(n.items||(n.items=[]),n.items.push({text:"Export all data",onItemClick:()=>{n.component.exportToExcel(!1)},icon:"xlsxfile"}),((s=t.options.selection)==null?void 0:s.mode)!=="none")){let p=n.component.getSelectedRowKeys();n.items.push({text:"Export selected rows",onItemClick:()=>n.component.exportToExcel(!0),icon:"exportselected",disabled:!p||!p.length})}((l=t.options)==null?void 0:l.onContextMenuPreparing)&&((g=t.options)==null||g.onContextMenuPreparing(n))},onExporting:n=>{let s=t.options;(s==null?void 0:s.onExporting)?s.onExporting(n):t.exportFileName&&wt(t.exportFileName)(n)}}}function Ir(o){!o.toolbar||!o.toolbar.items||!!o.toolbar.items.find(t=>t==="applyFilterButton"||t.name==="applyFilterButton")||o.toolbar.items.push({name:"applyFilterButton",visible:!1})}function wr(o,t,r){let i={request:null,data:null,rendered:!1},n=0,s=o.option("onOptionChanged"),l=o.option("onContentReady"),g=()=>++n,p=(S,T={})=>{let I=[];for(let y in S){if(!S.hasOwnProperty(y))continue;let u=S[y];u!=null&&(typeof u=="object"?I.push(`${encodeURIComponent(y)}=${encodeURIComponent(JSON.stringify(u))}`):I.push(`${encodeURIComponent(y)}=${encodeURIComponent(u)}`))}for(let y in T){if(!T.hasOwnProperty(y))continue;let u=T[y];u!=null&&(Array.isArray(u)?u.forEach(v=>{I.push(`${encodeURIComponent(y)}[]=${encodeURIComponent(v)}`)}):I.push(`${encodeURIComponent(y)}=${encodeURIComponent(u)}`))}return I.join("&")},m=(S="Loading...")=>{$(".dx-datagrid-summary-item",o.element()).html(S)},E=(S,T)=>{var B,U,F,G;let I=(T==null?void 0:T.totalCount)||0,y=(T==null?void 0:T.summary)||[I],u=S.getDataSource(),v=S.getController("data"),w=S.getController("columns"),D=S.getController("tablePosition"),_=v==null?void 0:v._dataSource,C=w==null?void 0:w._dataSource,M=(B=D.getView("pagerView"))==null?void 0:B.getPager(),R=(G=(F=(U=v==null?void 0:v._footerItems)==null?void 0:U.find(L=>L.rowType==="totalFooter"))==null?void 0:F.summaryCells)==null?void 0:G.filter(L=>L.length);if(u&&(u._totalCount=I),_&&(_._totalCount=I,_._currentTotalCount=I,_._totalCountCorrection=0,_._hasLastPage=!0),C&&(C._totalAggregates=y),R==null?void 0:R.length)for(let L=0;L<R.length;L++){let N=R[L];typeof y[L]<"u"&&(N[0].value=y[L])}M&&(M._props.totalCount=v.totalCount(),M._props.pageCount=v.pageCount()),S.repaint()},h=(S,T)=>{let I=S.getDataSource()||S.option("dataSource");if(!I)return;let y=I._store||I.store;y.on("loading",u=>{let v=typeof T=="string",w=O(A({},u),{requireTotalCount:!0,isSummaryQuery:!0});u.requireTotalCount=!1,u.totalSummary=null,u.isSummaryQuery=!1;let D=v?T:y.loadUrl||r;m();let _=g();setTimeout(()=>{i.request=x(`${D}?${p(w,y.loadParams)}`,"GET",null,!1,{notifyError:!1}).done(C=>{_===n&&(i.data=C,i.rendered=!1,o.repaint())}).fail(()=>{_===n&&m("-")})},0)})};o.option("onOptionChanged",S=>{s&&s(S),S.name==="dataSource"&&S.value&&h(S.component,t)}),o.option("onContentReady",S=>{var T;l&&l(S),((T=i.request)==null?void 0:T.state())==="pending"?m():i.data&&!i.rendered&&(i.rendered=!0,E(o,i.data))}),h(o,t)}function V(o,t,r){let i=br(t),n=$.extend(!0,{},i,t.options),s=Rt("dxDataGrid",$.extend(!0,{},t,{options:n}));Ir(n),n=$.extend(!0,{},n,s);let l=t.isFullScreen||t.isFullScreen===void 0?yr(o,n,t.inPanelGrid):bo(o,n);return t.asyncSummaryLoad&&wr(l,t.asyncSummaryLoad,r),l}function Dr(o,t,r={},i,n){return V($(`#${o}`),{options:t,exportFileName:r.exportFileName,inPanelGrid:r.inPanelGrid,showSummaryInColumn:r.showSummaryInColumn,summaryColumn:r.summaryColumn,headerDescription:n,title:i})}function _r(o,t={}){let r=Er(t),i=$.extend({},r,t.options),n=Rt("dxTreeList",$.extend(!0,{},t,{options:i}));return i=$.extend(!0,{},i,n),vr(o,i,t.inPanelGrid)}var ke=class extends z{constructor(t={}){super();this.ON_UPLOADED="ON_UPLOADED";this.ON_DELETED="ON_DELETED";this.ON_REORDERED="ON_REORDERED";this.settings=t}initMarkup(){return $(`
15
15
  <div class="image-manager">
16
16
  <div class="image-manager__images">
17
17
  <div class="image-manager__items"></div>
@@ -38,7 +38,7 @@
38
38
  </div>`);return this.allowPreviewExt.some(g=>r.Id.endsWith(g))&&l.append(i),l.append(n),t||l.append(s),l}}).dxList("instance")}open(t=[],r=!1){this.$content=this.initMarkup(),this.list=this.initList(r),this.uploader=this.initUploader(r),this.dialog=J({title:"Document Manager",height:this.settings.height,width:this.settings.width},this.$content,{text:"Close",onClick:i=>i()},void 0),this.documents=t}close(){var t;(t=this.dialog)==null||t.close()}set documents(t){this.items=t,this.list.option("dataSource",this.items)}get documents(){return this.items}onUploaded(t){this.on(this.ON_UPLOADED,t)}onDeleted(t){this.on(this.ON_DELETED,t)}onOpen(t){this.on(this.ON_OPEN,t)}onDownload(t){this.on(this.ON_DOWNLOAD,t)}};var $e=class extends z{constructor(t={}){super();this.settings=t}initMarkup(){return $(`
39
39
  <div class="image-gallery">
40
40
  </div>
41
- `)}initGallery(){return $(this.$content).dxGallery({dataSource:[]}).dxGallery("instance")}open(t=[]){this.$content=this.initMarkup(),this.gallery=this.initGallery(),this.dialog=J({title:"Image Gallery",height:this.settings.height,width:this.settings.width},this.$content,{text:"Close",onClick:r=>r()},void 0),this.images=t}close(){var t;(t=this.dialog)==null||t.close()}set images(t){this.items=t,this.gallery.option("dataSource",this.items.map(r=>({imageAlt:r.Name,imageSrc:r.Url})))}get images(){return this.items}};var wo={};ie(wo,{show:()=>Io});var xr=ht(Cr());function Fi(o,t){o.attr("src",t)}function ji(o){let t=$("<div>").addClass("image-crop-popup__dropzone"),r=$("<div>").addClass("image-crop-popup__crop-container").appendTo(t),i=$("<img />").prependTo(r);Fi(i,o);let n=new xr.default(i[0],{startSize:[90,90,"%"]});return{$content:t,cropper:n}}function Vi(o,t,r){J({title:"Edit image",showTitle:!0,dragEnabled:!1,resizeEnabled:!1,showCloseButton:!0,hideOnOutsideClick:!1,maxWidth:1024,onInitialized:i=>{i.component&&i.component.option("fullScreen",window.innerWidth<=1024)}},o,{text:"Update",onClick:i=>{let n=t.getValue(),s=$("<canvas>").attr("height",n.height).attr("width",n.width),l=s[0].getContext("2d"),g=o.find("img.croppr-image")[0];l.drawImage(g,n.x,n.y,n.width,n.height,0,0,n.width,n.height);let p=s[0].toDataURL("image/jpeg",.9);r(p),i()}},{text:"Cancel",onClick:i=>i()})}function Io(o,t){let r=ji(o);Vi(r.$content,r.cropper,t)}var Ar=o=>new Promise((t,r)=>{try{let i=new FileReader;i.onload=()=>{let n=i.result;t(typeof n=="string"?n:null)},i.readAsDataURL(o)}catch(i){r(i)}});var Do=10,_o=class{constructor(t,r,i,n){this.accountSettingsData=i,this.currentUserInfo=n,this._$rootElement=t,this.formAction=r}render(){this.renderUploader(this.$rootElement),this.renderAccountSettingsForm(this.$rootElement)}get $rootElement(){if(!this._$rootElement)throw new Error("The root element is undefined");return this._$rootElement}renderUploader(t){this.avatarUploader=$("<div>").addClass("avatar-popup__uploader").dxFileUploader({multiple:!1,uploadMode:"useForm",accept:"image/*",visible:!1,maxFileSize:Do*1e6,onValueChanged:r=>{if(!r.component||!r.value)return;let i=r.value[0],n=r.component.option("maxFileSize")||Do;if(!i||i.size>n){DevExpress.ui.notify(`File size should be less than ${Do} MB. Please select another file`,"error",5e3);return}Ar(i).then(s=>{Io(s,l=>{var g,p;(g=this.accountSettingsForm)==null||g.updateData("Avatar",l),(p=this.accountSettingsForm)==null||p.repaint()})}).catch(s=>DevExpress.ui.notify(s,"error",3e3))}}).appendTo(t).dxFileUploader("instance")}renderAccountSettingsForm(t){var r;this.accountSettingsForm||(this.accountSettingsForm=$("<form />").attr("action",this.formAction).attr("method","post").addClass("account-settings__form").addClass("form-content").appendTo(t).dxForm(this.getFormOptions()).dxForm("instance"),((r=this.accountSettingsData)==null?void 0:r.HasChanges)&&!this.accountSettingsData.ErrorMessage&&setTimeout(()=>Rr.widgets.notify("Changes have been saved",!0),500))}getFormOptions(){return{formData:this.accountSettingsData,minColWidth:200,labelLocation:"top",alignItemLabels:!0,showValidationSummary:!0,items:[{itemType:"group",colCount:16,items:[{colSpan:6,caption:"Profile Picture",itemType:"group",items:[{itemType:"simple",label:{visible:!1},dataField:"Avatar",template:t=>{var s;let r=$("<div>").addClass("account-settings__avatar-view-container"),i=$("<div>").addClass("account-settings__avatar");$("<div>").add(r).add($("<div>").addClass("account-settings__avatar-button").dxButton({width:200,type:"default",icon:"photo",text:"Upload new image",onInitialized:l=>this.avatarUploader&&this.avatarUploader.option("dialogTrigger",l.element)})).appendTo(i);let n=t.editorOptions.value||((s=this.currentUserInfo)==null?void 0:s.UserAvatar);return n?($("<img>").addClass("account-settings__avatar-view").attr("src",n).appendTo(r),t.editorOptions.value&&$("<input>").addClass("account-settings__avatar-input").attr("type","text").attr("name","Avatar").appendTo(i).val(t.editorOptions.value)):$("<i>").addClass(["account-settings__avatar-view-default","fas","fa-user"]).appendTo(r),i}}]},{itemType:"empty",colSpan:1},{colSpan:9,caption:"Account Details",itemType:"group",items:[{itemType:"simple",dataField:"ErrorMessage",label:{visible:!1},template:t=>{let r=t&&t.editorOptions&&t.editorOptions.value;return r&&$("<div />").text(r).addClass("error-message")}},{itemType:"simple",dataField:"UserName",label:{text:"Username"},validationRules:[{type:"required",message:"Username is required"}]},{itemType:"group",colCount:2,items:[{itemType:"simple",dataField:"FirstName",label:{text:"First Name"},validationRules:[{type:"required",message:"First Name is required"}]},{itemType:"simple",dataField:"LastName",label:{text:"Last Name"},validationRules:[{type:"required",message:"Last Name is required"}]}]},{itemType:"simple",dataField:"PhoneNumber",label:{text:"Phone Number"}},{itemType:"simple",dataField:"Email",label:{text:"Email"},validationRules:[{type:"required",message:"Email is required"},{type:"email",message:"Please use a valid email address"}]},{itemType:"simple",cssClass:"account-settings__password-area",template:()=>$("<div />").css("font-weight","bold").text("Change Password")},{itemType:"simple",dataField:"OldPassword",label:{text:"Current password"},editorOptions:{mode:"password"},validationRules:[{type:"custom",reevaluate:!0,validationCallback:t=>{var r,i;return((i=(r=this.accountSettingsForm)==null?void 0:r.getEditor("NewPassword"))==null?void 0:i.option("value"))?!!t:!0},message:"Old password is required"}]},{itemType:"simple",dataField:"NewPassword",label:{text:"New password"},editorOptions:{mode:"password",inputAttr:{autocomplete:"new-password"}}},{itemType:"simple",dataField:"NewPasswordRepeat",label:{text:"Confirm new password"},editorOptions:{mode:"password"},validationRules:[{type:"custom",reevaluate:!0,validationCallback:t=>{var r,i;return(((i=(r=this.accountSettingsForm)==null?void 0:r.getEditor("NewPassword"))==null?void 0:i.option("value"))||"")===t.value},message:"Password mismatch"}]},{itemType:"button",horizontalAlignment:"right",cssClass:"account-settings__submit-btn",buttonOptions:{text:"Save Changes",type:"success",useSubmitBehavior:!0,width:200}}]}]}]}}};var Co={};ie(Co,{createConfirm:()=>ki});function ki(o){let t=$.Deferred(),i=$("<div/>").appendTo(window.document.body).dxPopup({showTitle:!1,height:140,width:370,contentTemplate:n=>{n.addClass("iszolea-dx-confirm"),$("<b/>").addClass("message").text(o).appendTo(n);let s=$("<div/>").addClass("buttons").appendTo(n);$("<div/>").dxButton({text:"Delete",type:"danger",onClick:()=>{i.hide(),t.resolve(!0)}}).appendTo(s),$("<div/>").dxButton({text:"Cancel",onClick:()=>{i.hide(),t.resolve(!1)}}).appendTo(s)},onHidden:()=>{i.dispose(),i.element().remove()}}).dxPopup("instance");return i.show(),t}var xo={};ie(xo,{createLanding:()=>Gi});function Gi(o,t,r,i={enabled:!1}){$i(t).then(n=>{Hi(o,n,r,i)})}function $i(o){let t=$.Deferred();if(typeof o=="string"){let r=window.sessionStorage.getItem(De);r?t.resolve(JSON.parse(r)):x(o,"post").done(i=>{let n={applicationName:i.ApplicationName,businessName:i.BusinessName,landingPageLogo:i.LandingPageLogo,logoImage:i.LogoImage,description:i.Description};window.sessionStorage.setItem(De,JSON.stringify(n)),t.resolve(n)})}else t.resolve(o);return t}function Hi(o,t,r,i){let n=$("<div />").addClass("iszolea-landing-page").appendTo(o),s=$("<div />").addClass("landing-container").appendTo(n);i.enabled?n.addClass("photo-gallery-mode"):(n.addClass("default-mode"),s=n),$("<div />").addClass("logo-container").appendTo(s).append($("<img />").attr("src",t.landingPageLogo).addClass("logo-large").appendTo(s),$("<span />").addClass("business-name").text(t.businessName).appendTo(s)),$("<h2 />").text(`Welcome to ${t.description}`).appendTo(s),r&&$("<div />").addClass("sign-in-button").append($("<div />").dxButton({text:"Sign In",width:k.isLegacyRender?void 0:"200px",type:"default",onClick:()=>{window.sessionStorage.clear(),window.location.href=`/Home/Login?returnUrl=${encodeURIComponent(window.location.href.toString())}`}})).appendTo(s),i.enabled&&Dt(i.$container||n,i.imageUrls||[],i.imgChangeIntervalSec||8,i.transitionTimeSec||2)}var Ao={};ie(Ao,{createAccessDeniedToReport:()=>Wi});function Wi(o,t,r){let i=$("<div>").addClass("access-denied-to-report-page").appendTo(o);if($("<h2>").addClass("error-text").text("Access denied to the report").appendTo(i),t&&t.length){let n=t.map(s=>$("<span>").addClass("role").text(s));$("<p>").text("Required roles for report: ").append(n).appendTo(i)}if(r&&r.length){let n=r.map(s=>$("<span>").addClass("role").text(s));$("<p>").text("Required roles for db connection: ").append(n).appendTo(i)}}var Go={};ie(Go,{ControlConfigurator:()=>lt,ControlDisplay:()=>pt,DisplayManager:()=>ut,default:()=>Ae});function ee(o,t){let r=$("<p/>").html(t).text(),i=$("<div>",{class:"report-details-popover"}).html(r).appendTo(document.body);return $(i).dxPopover({target:o,showEvent:"dxclick",position:"bottom",width:500}).dxPopover("instance")}function zi(o,t,r={},i,n,s=!1){let l=!1,g={export:{enabled:!!r.exportFileName,allowExportSelectedData:!0},remoteOperations:!0,columnAutoWidth:!0,showBorders:!0,selection:{mode:"multiple"},keyboardNavigation:{enabled:!1},paging:{pageSize:50},searchPanel:{visible:!0},filterRow:{visible:!0},headerFilter:{visible:!0},scrolling:{mode:"virtual"},onContentReady:h=>{if(Ki(h.component),!l){if(l=!0,!s)for(let S=0;S<h.component.columnCount();S++){let T=h.component.columnOption(S,"dataType");h.component.columnOption(S,"width")||(T==="boolean"&&h.component.columnOption(S,"width","100px"),T==="datetime"&&h.component.columnOption(S,"width","150px"))}setTimeout(()=>{let S=h.component.getScrollable();S&&S.scrollTo({top:0})})}},onToolbarPreparing:h=>{i&&h.toolbarOptions.items.unshift({location:"before",template(){let S=$("<h2 />").addClass("grid-header").text(i);return n&&S.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Click to see further details")),S}})}},p=t.onContentReady?h=>{g.onContentReady(h),t.onContentReady(h)}:g.onContentReady;Yi(t,r);let m=$.extend({},g,t,{onContentReady:p}),E=o.dxDataGrid(m).dxDataGrid("instance");return E.element().addClass(oe.dxDataGrid),E}function Yi(o,t){var i,n,s;if((n=(i=o==null?void 0:o.summary)==null?void 0:i.totalItems)==null?void 0:n.some(l=>l.summaryType==="count"))return;let r=t==null?void 0:t.summaryColumn;!r&&((s=o==null?void 0:o.columns)==null?void 0:s.length)&&(r=typeof o.columns[0]=="string"?o.columns[0]:o.columns[0].dataField),r&&(o.summary||(o.summary={}),o.summary.totalItems||(o.summary.totalItems=[]),o.summary.totalItems.push({column:r,summaryType:"count"}))}function Ki(o){var s,l,g;let t=o.option("summary.totalItems"),r=(s=t==null?void 0:t.filter(p=>p.summaryType==="count")[0])==null?void 0:s.column,i=r&&o.getVisibleColumns().findIndex(p=>p.dataField===r);if(!i){let p=o.option("selection");i=p&&p.mode!=="none"?o.getVisibleColumns().findIndex(E=>!!E.dataField):0}let n=(l=o.getVisibleColumns()[i])==null?void 0:l.dataField;n&&r!==n&&o.option("summary",{totalItems:[{column:(g=o.getVisibleColumns()[i])==null?void 0:g.dataField,summaryType:"count"}]})}function He(o,t,r={},i,n,s=!1,l=!1){let g=zi(o,t,r,i,n,s);return l||de(g),g}function ge(o,t){return $("<span>").attr("title",t).text(o)}function at(o,t){let r=$.Deferred();return x(o,"POST",JSON.stringify(t),!1,{contentType:"application/json"}).done(r.resolve).fail(i=>{r.reject(i)}),r.promise()}var Mt=class{constructor(t,r){this.$container=t,this.data=r||[]}render(){let t={dataSource:this.data,editing:{mode:"row",allowAdding:!0,allowDeleting:!0,allowUpdating:!0,useIcons:!0},headerFilter:{visible:!1},grouping:{contextMenuEnabled:!1},groupPanel:{visible:!1},searchPanel:{visible:!1},filterRow:{visible:!1},remoteOperations:!1,selection:{mode:"none"},columns:[{dataField:"value",allowEditing:!0},{dataField:"title",allowEditing:!0},{dataField:"image",allowEditing:!0,cellTemplate:(i,n)=>{$("<div>").css({"text-align":"center"}).append($("<img>",{src:n.data.image})).appendTo(i)},editCellTemplate:(i,n)=>{let s=n.value||"",l=$('<div style="position: relative; display: flex; align-items: center; justify-content: center;" />'),g=$(`<img src="${s}" />`),p=$('<a class="dx-link dx-icon-upload" style="position: absolute; right: 8px; text-decoration: none; font-size: 18px;" />'),m=$('<input type="file" style="display:none;" />');return p.on("click",()=>{m.click()}),m.on("change",E=>{if(E.target.files.length){let h=new FileReader;h.onloadend=()=>{g.attr("src",h.result),n.setValue(h.result)};let S=E.target.files[0];S?h.readAsDataURL(S):g.attr("src","")}}),g.appendTo(l),p.appendTo(l),m.appendTo(l),l}},{type:"buttons",width:100,buttons:["edit",{hint:"Delete",icon:"trash",onClick:i=>{let n=this.grid.option("dataSource");n.splice(i.row.rowIndex,1),this.grid.option("dataSource",n)}}]}]},r=$("<div />").appendTo(this.$container);this.grid=V(r,{options:t,isFullScreen:!1})}getData(){return this.grid.option("dataSource")}getBaseType(){return"string"}};var Ot=class{constructor(t,r){this.$container=t,this.data=A({items:[],multiselect:!1},r)}render(){let t={dataSource:this.data.items,height:400,keyExpr:"key",editing:{mode:"row",allowAdding:!0,allowDeleting:!0,allowUpdating:!0,useIcons:!0},headerFilter:{visible:!1},grouping:{contextMenuEnabled:!1},groupPanel:{visible:!1},searchPanel:{visible:!1},filterRow:{visible:!1},remoteOperations:!1,selection:{mode:"none"},columns:[{dataField:"key",visible:!1},{dataField:"value",allowEditing:!0},{type:"buttons",width:100,buttons:["edit",{hint:"Delete",icon:"trash",onClick:i=>{let n=this.grid.option("dataSource");n.splice(i.row.rowIndex,1),this.grid.option("dataSource",n)}}]}],toolbar:{items:[{location:"before",widget:"dxCheckBox",options:{text:"Multiselect",value:this.data.multiselect,onValueChanged:i=>{this.data.multiselect=i.value}}},{location:"after",name:"addRowButton"}]},onInitNewRow:i=>{let s=(this.grid.option("dataSource")||[]).map(g=>g.key),l=Math.max(0,...s);i.data.key=l+1}},r=$("<div />").appendTo(this.$container);this.grid=V(r,{options:t,isFullScreen:!1})}getData(){return{items:this.grid.option("dataSource"),multiselect:this.data.multiselect}}getBaseType(){return"string"}};var Ut=class{constructor(t,r,i){this.$container=t,this.data={multiple:(r==null?void 0:r.multiple)||!1,metaDataFields:(r==null?void 0:r.metaDataFields)||[]},this.initData=i}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"multiple",editorType:"dxCheckBox",visible:!1},{dataField:"metaDataFields",editorType:"dxTagBox",editorOptions:{items:this.initData.fields}}]}).appendTo(this.$container).dxForm("instance")}getData(){return this.form.option("formData")}getBaseType(){return"string"}};var Pt=class{constructor(t,r,i){this.$container=t,this.data=r,this.initData=i}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"actionType",validationRules:[{type:"required"}]},{dataField:"fields",validationRules:[{type:"required"},{type:"custom",validationCallback:t=>t.value.length>0,message:"Required"}],editorType:"dxTagBox",editorOptions:{dataSource:this.initData.fields,searchEnabled:!0}}]}).appendTo(this.$container).dxForm("instance")}getData(){if(!this.form.validate().isValid)return;let r=this.form.getEditor("actionType").option("value"),i=this.form.getEditor("fields").option("value");return{actionType:r,fields:i}}getBaseType(){return"string"}};var Nt=class{constructor(t,r){this.$container=t,this.data={url:typeof(r==null?void 0:r.url)>"u"?"":r.url,text:typeof(r==null?void 0:r.text)>"u"?"":r.text,openNewTab:typeof(r==null?void 0:r.openNewTab)>"u"?!0:r.openNewTab,useStaticLink:r?typeof r.useStaticLink>"u"?!0:r.useStaticLink:!1}}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"useStaticLink",editorType:"dxCheckBox",editorOptions:{onValueChanged:t=>{this.form.itemOption("url","visible",t.value)}}},{visible:this.data.useStaticLink,dataField:"url",validationRules:[{type:"required"}]},{dataField:"text",label:{text:"Text (optional)"}},{dataField:"openNewTab",label:{text:"Open in a new tab"},editorType:"dxCheckBox"}]}).appendTo(this.$container).dxForm("instance")}getData(){var l;if(!this.form.validate().isValid)return;let r=(l=this.form.getEditor("url"))==null?void 0:l.option("value"),i=this.form.getEditor("text").option("value"),n=this.form.getEditor("openNewTab").option("value"),s=this.form.getEditor("useStaticLink").option("value");return{url:r,text:i,openNewTab:n,useStaticLink:s}}getBaseType(){return"string"}};var Lt=class{constructor(t,r,i,n){this.$container=t,this.data=A({multiselect:!1,grouping:!1,table:"",key:"",fields:[]},r),this.initData=i,this.baseType=n,this.allowedTypes=!n||n==="string"?["string","number"]:["number"],this.loadPanel=$("<div />").dxLoadPanel({visible:!1,message:"Loading...",container:this.$container,position:{of:this.$container},shading:!0,showPane:!0}).dxLoadPanel("instance")}async loadTables(){let t=await x(`${this.initData.getContextTablesUrl}?contextName=${this.initData.context}&sort=[{'selector':'FullTableName','desc':false}]`);return(t==null?void 0:t.data)||[]}async loadFields(t){let r=await x(`${this.initData.getTableFieldsUrl}?contextName=${this.initData.context}&table=${t}`);return(r==null?void 0:r.data)||[]}updateTablesDS(t){this.form.getEditor("table").option("dataSource",t)}updateKeyDS(t){let r=t.filter(n=>this.allowedTypes.includes(n.Type)).map(n=>n.Name);this.form.getEditor("key").option("dataSource",r)}updateFieldsDS(t){let r=t.map(n=>n.Name);this.form.getEditor("fields").option("dataSource",r)}updateCheckboxes(){let t=this.form.getEditor("multiselect"),r=this.form.getEditor("grouping");r.option("disabled",!!t.option("value")),t.option("disabled",this.baseType==="number"||!!r.option("value"))}render(){this.form=$("<div />").dxForm({labelLocation:"top",width:"100%",formData:this.data,onContentReady:()=>window.setTimeout(()=>this.updateCheckboxes()),items:[{dataField:"table",editorType:"dxSelectBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[],displayExpr:"FullTableName",valueExpr:"FullTableName",searchEnabled:!0,itemTemplate:t=>{let r=$("<div />");return $("<span />").text(t.FullTableName).appendTo(r),t.EntityType===2?$("<span />").text("View").addClass("source-badge view-badge").appendTo(r):t.EntityType===1&&$("<span />").text("Table").addClass("source-badge table-badge").appendTo(r),r},onValueChanged:async t=>{let r=t.component&&t.component.option("selectedItem"),i=this.form.getEditor("key"),n=this.form.getEditor("fields");try{this.loadPanel.show();let s=await this.loadFields(r.FullTableName);this.updateKeyDS(s),this.updateFieldsDS(s),i.option("value",null),i.option("disabled",!1),n.option("value",null),n.option("disabled",!1)}finally{this.loadPanel.hide()}}}},{dataField:"key",editorType:"dxSelectBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[]}},{dataField:"fields",editorType:"dxTagBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[]}},{itemType:"group",colCount:2,items:[{dataField:"multiselect",editorType:"dxCheckBox",editorOptions:{disabled:this.baseType==="number",onValueChanged:()=>this.updateCheckboxes()},label:{location:"left"}},{dataField:"grouping",editorType:"dxCheckBox",editorOptions:{onValueChanged:()=>this.updateCheckboxes()},label:{location:"left"}}]}]}).dxForm("instance"),this.$container.append(this.form.element()).append(this.loadPanel.element()),this.loadPanel.show(),Promise.all([this.loadTables(),this.data.table?this.loadFields(this.data.table):Promise.resolve([])]).then(t=>{let r=t[0],i=t[1];this.updateTablesDS(r),this.updateKeyDS(i),this.updateFieldsDS(i)}).finally(()=>this.loadPanel.hide())}getData(){if(!!this.form.validate().isValid)return this.form.option("formData")}getBaseType(){return this.baseType||"string"}};var Ce={[1]:{name:"CreatedAt",type:"date",displayType:JSON.stringify({type:10006,data:{}})},[2]:{name:"CreatedBy",type:"string",displayType:JSON.stringify({type:10001,data:{}})},[3]:{name:"LastUpdateAt",type:"date",displayType:JSON.stringify({type:10006,data:{}})},[4]:{name:"LastUpdateBy",type:"string",displayType:JSON.stringify({type:10001,data:{}})}},Ji={string:JSON.stringify({type:10001,data:{}}),number:JSON.stringify({type:10002,data:{}}),decimal:JSON.stringify({type:10003,data:{}}),boolean:JSON.stringify({type:10004,data:{}}),datetime:JSON.stringify({type:10005,data:{}}),date:JSON.stringify({type:10006,data:{}})},qi={[1]:"string",[2]:"string",[8]:"string",[3]:"string",[4]:"string",[5]:"decimal",[6]:"string",[7]:"string",[10001]:"string",[10002]:"number",[10003]:"decimal",[10004]:"boolean",[10005]:"datetime",[10006]:"date"},Qi={string:[10001,10002,10003,10004,10005,10006,1,3,4,6,7,2,8],number:[10001,10002,10003,10004,10005,10006,5,8],decimal:[10001,10002,10003,10004,10005,10006,5],boolean:[10001,10002,10003,10004,10005,10006],datetime:[10001,10002,10003,10004,10005,10006],date:[10001,10002,10003,10004,10005,10006]};var lt=class{constructor(t,r,i){this.baseTypeTitle="Base Type";this.customTypeTitle="Custom Type";this.displayTypes=[{key:10001,value:"String",type:this.baseTypeTitle},{key:10002,value:"Number",type:this.baseTypeTitle},{key:10003,value:"Decimal",type:this.baseTypeTitle},{key:10004,value:"Boolean",type:this.baseTypeTitle},{key:10005,value:"Datetime",type:this.baseTypeTitle},{key:10006,value:"Date",type:this.baseTypeTitle},{key:1,value:"Icons",type:this.customTypeTitle},{key:2,value:"PredefinedValues",type:this.customTypeTitle},{key:8,value:"ReferencedValue",type:this.customTypeTitle},{key:3,value:"RabbitAction",type:this.customTypeTitle},{key:4,value:"Hyperlink",type:this.customTypeTitle},{key:5,value:"DollarValue",type:this.customTypeTitle},{key:7,value:"Image",type:this.customTypeTitle},{key:6,value:"Document",type:this.customTypeTitle}];this.editors={[1]:Mt,[2]:Ot,[8]:Lt,[3]:Pt,[4]:Nt,[7]:Ut};this.editorsInitData={};this.fields=[];this.systemFieldPredefinedData=null;this.$container=t.$container,this.isStandalonePage=t.isStandalonePage,this.groupFieldsUrl=t.groupFieldsUrl,this.loadDataUrl=t.loadDataUrl,this.updateDataUrl=t.updateDataUrl,this.batchUpdateDataUrl=t.batchUpdateDataUrl,this.addDataUrl=t.addDataUrl,this.deleteDataUrl=t.deleteDataUrl,this.updateGlobalSearchUrl=t.updateGlobalSearchUrl,this.updateInlineEditingUrl=t.updateInlineEditingUrl,this.pageTitle=t.pageTitle,this.isDataReadonly=!!t.isDataReadonly,this.disableGlobalSearch=t.disableGlobalSearch,this.enableInlineEditing=t.enableInlineEditing,this.getReportSourceDetailsUrl=t.getReportSourceDetailsUrl,this.getContextTablesUrl=t.getContextTablesUrl,this.getTableFieldsUrl=t.getTableFieldsUrl,this.onGlobalSearchSettingsChanged=r,this.onEnableInlineEditingChanged=i}getSqlEntityTypeName(t){switch(t){case 1:return"Table";case 3:return"Stored Procedure";case 2:return"View";case 0:default:return""}}render(){this.$container.addClass("aps-grid"),Promise.all([this.getAvailableFields(),this.getReportSourceDetails()]).then(t=>{this.fields=t[0],this.reportSourceDetails=t[1],this.editorsInitData[3]=()=>({fields:this.fields}),this.editorsInitData[7]=()=>({fields:this.fields}),this.editorsInitData[8]=()=>({getContextTablesUrl:this.getContextTablesUrl,getTableFieldsUrl:this.getTableFieldsUrl,context:this.reportSourceDetails.ConnectionName}),this.createMainGrid()})}async getAvailableFields(){return x(this.groupFieldsUrl)}async getReportSourceDetails(){return x(this.getReportSourceDetailsUrl)}getDisplayTypeEditor(t,r,i,n){let s=this.editors[r],l=this.editorsInitData[r];return s?new s(t,n,l?l():null,i):null}metaDataColumnTemplate(t,r){return t.css("background-color","#eee"),r.value?$('<i class="fas fa-check" style="font-size: 18px; color: #0366d6;"></i>'):$('<i class="fas fa-minus" style="font-size: 18px; color: #333;"></i>')}createMainGrid(){let t,r={dataSource:this.createMainGridDataSource(),columnChooser:{enabled:!0,allowSearch:!0,mode:"select"},errorRowEnabled:!0,height:"100%",editing:{mode:"batch",allowUpdating:!0,allowAdding:!this.isDataReadonly,allowDeleting:!this.isDataReadonly,refreshMode:"repaint",useIcons:!0},repaintChangesOnly:!0,remoteOperations:{summary:!0,paging:!0,grouping:!1,sorting:!1,filtering:!1},grouping:{allowCollapsing:!1},groupPanel:{visible:!1},selection:{mode:"multiple"},allowColumnReordering:!1,columnHidingEnabled:!1,hoverStateEnabled:!0,columnAutoWidth:!1,rowAlternationEnabled:!0,columnMinWidth:80,columns:this.prepareMainGridColumns([{dataField:"Name",caption:"Field",fixed:!0,fixedPosition:"left",sortOrder:"asc",sortIndex:1,width:180,validationRules:[{type:"required"}],cellTemplate:(n,s)=>{let l=$(`<div style="display: flex; align-items: center;">${(s==null?void 0:s.value)||""}</div>`);s.data.IsSystemColumn&&l.prepend('<i class="icon dx-icon-info" style="margin-right: 4px; color: #aaa;" title="System field"></i>'),n.append(l)}},{dataField:"IsSystemColumn",allowEditing:!1,dataType:"boolean",sortOrder:"asc",sortIndex:0,visible:!1},{dataField:"Type",allowEditing:!1,width:120,lookup:{dataSource:["string","number","decimal","boolean","datetime","date"]}},{dataField:"DisplayType",allowEditing:!0,validationRules:[{type:"required"}],width:160,calculateCellValue:n=>n.DisplayType===null?n.Type?Ji[n.Type]:null:n.DisplayType,customizeText:n=>{if(!n.value)return null;let s=le(n.value)?JSON.parse(n.value):{},l=this.displayTypes.find(g=>g.key===(s==null?void 0:s.type));return(l==null?void 0:l.value)||""},editCellTemplate:(n,s)=>{let l=le(s.value)?JSON.parse(s.value):null,g=l?l.type:null,p=l?l.data:null,m=null,E=$("<div />").dxDropDownBox({dropDownOptions:{width:650,height:515,minHeight:515,maxHeight:515},dataSource:this.displayTypes,valueExpr:"key",displayExpr:"value",value:g,disabled:!!s.row.data.IsSystemColumn,onValueChanged:h=>{s.setValue(h.value)},contentTemplate:()=>{let h=$('<div class="display-type-editor" />'),S=$('<div style="text-align: center; color: #bbb; display: flex; align-items: center;" />').text("There are no additional settings for the selected Display Type"),T=$('<div style="margin: 8px 0; display: flex; flex-direction: row" />').appendTo(h),I=$('<div style="flex-shrink: 0;" />').appendTo(T),y=$('<div style="display: flex; justify-content: center; flex-grow: 1; margin-left: 8px;">').append(S).appendTo(T),u=$('<div style="text-align: right;" />').appendTo(h),v=$('<div style="margin-right: 8px;" />').appendTo(u),w=$('<div style="margin-right: 8px;" />').appendTo(u),D=g?this.getDisplayTypeEditor(y,g,s.data.Type,p):null;return D&&(y.html(""),D.render()),m=I.dxList({dataSource:new DevExpress.data.DataSource({store:{type:"array",data:this.displayTypes.map(_=>O(A({},_),{disabled:!s.row.isNewRow&&!Qi[s.data.Type].includes(_.key)})),key:"key"},group:"type"}),width:200,height:400,grouped:!0,selectionMode:"single",selectedItemKeys:[g],keyExpr:"key",displayExpr:"value",showScrollbar:"always",onSelectionChanged:_=>{let C=_.addedItems[0].key;D=this.getDisplayTypeEditor(y,C,s.data.Type,p),y.html(""),D?D==null||D.render():y.append(S),v.dxButton("instance").option("disabled",!1)}}).dxList("instance"),v.dxButton({text:"Save",type:"success",disabled:!D,onClick:()=>{let _=D==null?void 0:D.getData(),C=m.option("selectedItemKeys")[0],M={type:C,data:_||{}};if(E.option("value",C),s.row.isNewRow){let R=(D==null?void 0:D.getBaseType())?D.getBaseType():qi[C];t.cellValue(s.rowIndex,"Type",R)}s.setValue(JSON.stringify(M)),s.component.closeEditCell(),E.close()}}).appendTo(u),w.dxButton({text:"Cancel",onClick:()=>{s.component.closeEditCell(),E.close()}}).appendTo(u),h},onOpened:()=>{let h=$(".display-type-editor .dx-list-item-selected");m.scrollToItem(h)}}).dxDropDownBox("instance");n.append(E.element()),s.row.data.IsSystemColumn||E.open()}},{dataField:"IsKeyColumn",caption:"Is Key",allowEditing:!0,width:100},{caption:"SQL Meta Data (Read-only)",columns:[{dataField:"IsIdentity",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"IsNullable",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"IsComputed",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"HasDefaultValue",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate}]},{dataField:"Label",allowEditing:!0,width:180},{dataField:"GroupField",caption:"Group",allowEditing:!0,width:200,editCellTemplate:(n,s)=>$("<div />").dxSelectBox({value:s.value,dataSource:[...new Set(t.getDataSource().items().filter(l=>l.GroupField).map(l=>l.GroupField).sort())],acceptCustomValue:!0,showClearButton:!0,onValueChanged:l=>{s.setValue(l.value)}})},{dataField:"DataOwner",allowEditing:!0,width:80,headerCellTemplate:ge("DO","Data Owner")},{dataField:"XLSScheduleLabel",allowEditing:!0,width:80,headerCellTemplate:ge("XLS","XLS Schedule Label")},{dataField:"IsDefaultViewField",caption:"Display in default view",allowEditing:!0,width:100},{dataField:"IsExported",caption:"Export to excel",allowEditing:!0,width:100},{dataField:"Order",allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:0,message:"Order can't be negative"}],width:80},{dataField:"Width",dataType:"number",headerCellTemplate:ge("Width","Width (in pixels)"),allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:1,message:"Width can't be less then 1px"}],width:80},{dataField:"HidingOrder",dataType:"number",headerCellTemplate:ge("Hide","Hiding Order"),allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:1,message:"Hiding order can't be less then 1"}],width:70},{dataField:"ToolTip",allowEditing:!0,minWidth:180}]),onSaving:n=>{n.cancel=!0,n.component.beginCustomLoading("Saving..."),n.changes.length&&(n.promise=at(this.batchUpdateDataUrl,n.changes).done(()=>{n.component.refresh(!0).done(()=>{n.component.cancelEditData()})}).always(()=>{n.component.endCustomLoading()}))},onRowUpdated:n=>{n.component.endCustomLoading(),n.component.repaint()},onToolbarPreparing:n=>{let s=n.toolbarOptions.items,l=s.filter(T=>T.name==="columnChooserButton")[0],g=s.indexOf(l),p={location:"after",template:()=>{let T=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});return $("<span />").css({margin:"0 5px 0 0",width:"100px"}).dxSwitch({value:this.enableInlineEditing,switchedOnText:"Inline Edit",switchedOffText:"Batch Edit",onValueChanged:({value:I})=>{this.enableInlineEditing=!I,x(this.updateInlineEditingUrl,"post",{updateInlineEditing:!!I}).then(()=>{this.onEnableInlineEditingChanged(I),P(`${I?"Inline":"Batch"} editing enabled`,!0)})}}).appendTo(T),T}},m={location:"after",template:()=>{let T=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});$("<span />").css({margin:"0 5px 0 0",width:"54px"}).dxSwitch({value:!this.disableGlobalSearch,onValueChanged:({value:y})=>{this.disableGlobalSearch=!y,x(this.updateGlobalSearchUrl,"post",{allowGlobalSearch:!!y}).then(()=>{this.onGlobalSearchSettingsChanged(y),P(`Global search ${y?"enabled":"disabled"}`,!0)})}}).appendTo(T),$("<span />").text("Allow global search").appendTo(T);let I=$("<a />").css({textDecoration:"underline",color:"blue"}).text("(?)").appendTo(T);return $("<div />").text(`For large datasets, particularly those with string values, it\u2019s advisable
41
+ `)}initGallery(){return $(this.$content).dxGallery({dataSource:[]}).dxGallery("instance")}open(t=[]){this.$content=this.initMarkup(),this.gallery=this.initGallery(),this.dialog=J({title:"Image Gallery",height:this.settings.height,width:this.settings.width},this.$content,{text:"Close",onClick:r=>r()},void 0),this.images=t}close(){var t;(t=this.dialog)==null||t.close()}set images(t){this.items=t,this.gallery.option("dataSource",this.items.map(r=>({imageAlt:r.Name,imageSrc:r.Url})))}get images(){return this.items}};var wo={};ie(wo,{show:()=>Io});var xr=ht(Cr());function Fi(o,t){o.attr("src",t)}function ji(o){let t=$("<div>").addClass("image-crop-popup__dropzone"),r=$("<div>").addClass("image-crop-popup__crop-container").appendTo(t),i=$("<img />").prependTo(r);Fi(i,o);let n=new xr.default(i[0],{startSize:[90,90,"%"]});return{$content:t,cropper:n}}function Vi(o,t,r){J({title:"Edit image",showTitle:!0,dragEnabled:!1,resizeEnabled:!1,showCloseButton:!0,hideOnOutsideClick:!1,maxWidth:1024,onInitialized:i=>{i.component&&i.component.option("fullScreen",window.innerWidth<=1024)}},o,{text:"Update",onClick:i=>{let n=t.getValue(),s=$("<canvas>").attr("height",n.height).attr("width",n.width),l=s[0].getContext("2d"),g=o.find("img.croppr-image")[0];l.drawImage(g,n.x,n.y,n.width,n.height,0,0,n.width,n.height);let p=s[0].toDataURL("image/jpeg",.9);r(p),i()}},{text:"Cancel",onClick:i=>i()})}function Io(o,t){let r=ji(o);Vi(r.$content,r.cropper,t)}var Ar=o=>new Promise((t,r)=>{try{let i=new FileReader;i.onload=()=>{let n=i.result;t(typeof n=="string"?n:null)},i.readAsDataURL(o)}catch(i){r(i)}});var Do=10,_o=class{constructor(t,r,i,n){this.accountSettingsData=i,this.currentUserInfo=n,this._$rootElement=t,this.formAction=r}render(){this.renderUploader(this.$rootElement),this.renderAccountSettingsForm(this.$rootElement)}get $rootElement(){if(!this._$rootElement)throw new Error("The root element is undefined");return this._$rootElement}renderUploader(t){this.avatarUploader=$("<div>").addClass("avatar-popup__uploader").dxFileUploader({multiple:!1,uploadMode:"useForm",accept:"image/*",visible:!1,maxFileSize:Do*1e6,onValueChanged:r=>{if(!r.component||!r.value)return;let i=r.value[0],n=r.component.option("maxFileSize")||Do;if(!i||i.size>n){DevExpress.ui.notify(`File size should be less than ${Do} MB. Please select another file`,"error",5e3);return}Ar(i).then(s=>{Io(s,l=>{var g,p;(g=this.accountSettingsForm)==null||g.updateData("Avatar",l),(p=this.accountSettingsForm)==null||p.repaint()})}).catch(s=>DevExpress.ui.notify(s,"error",3e3))}}).appendTo(t).dxFileUploader("instance")}renderAccountSettingsForm(t){var r;this.accountSettingsForm||(this.accountSettingsForm=$("<form />").attr("action",this.formAction).attr("method","post").addClass("account-settings__form").addClass("form-content").appendTo(t).dxForm(this.getFormOptions()).dxForm("instance"),((r=this.accountSettingsData)==null?void 0:r.HasChanges)&&!this.accountSettingsData.ErrorMessage&&setTimeout(()=>Rr.widgets.notify("Changes have been saved",!0),500))}getFormOptions(){return{formData:this.accountSettingsData,minColWidth:200,labelLocation:"top",alignItemLabels:!0,showValidationSummary:!0,items:[{itemType:"group",colCount:16,items:[{colSpan:6,caption:"Profile Picture",itemType:"group",items:[{itemType:"simple",label:{visible:!1},dataField:"Avatar",template:t=>{var s;let r=$("<div>").addClass("account-settings__avatar-view-container"),i=$("<div>").addClass("account-settings__avatar");$("<div>").add(r).add($("<div>").addClass("account-settings__avatar-button").dxButton({width:200,type:"default",icon:"photo",text:"Upload new image",onInitialized:l=>this.avatarUploader&&this.avatarUploader.option("dialogTrigger",l.element)})).appendTo(i);let n=t.editorOptions.value||((s=this.currentUserInfo)==null?void 0:s.UserAvatar);return n?($("<img>").addClass("account-settings__avatar-view").attr("src",n).appendTo(r),t.editorOptions.value&&$("<input>").addClass("account-settings__avatar-input").attr("type","text").attr("name","Avatar").appendTo(i).val(t.editorOptions.value)):$("<i>").addClass(["account-settings__avatar-view-default","fas","fa-user"]).appendTo(r),i}}]},{itemType:"empty",colSpan:1},{colSpan:9,caption:"Account Details",itemType:"group",items:[{itemType:"simple",dataField:"ErrorMessage",label:{visible:!1},template:t=>{let r=t&&t.editorOptions&&t.editorOptions.value;return r&&$("<div />").text(r).addClass("error-message")}},{itemType:"simple",dataField:"UserName",label:{text:"Username"},validationRules:[{type:"required",message:"Username is required"}]},{itemType:"group",colCount:2,items:[{itemType:"simple",dataField:"FirstName",label:{text:"First Name"},validationRules:[{type:"required",message:"First Name is required"}]},{itemType:"simple",dataField:"LastName",label:{text:"Last Name"},validationRules:[{type:"required",message:"Last Name is required"}]}]},{itemType:"simple",dataField:"PhoneNumber",label:{text:"Phone Number"}},{itemType:"simple",dataField:"Email",label:{text:"Email"},validationRules:[{type:"required",message:"Email is required"},{type:"email",message:"Please use a valid email address"}]},{itemType:"simple",cssClass:"account-settings__password-area",template:()=>$("<div />").css("font-weight","bold").text("Change Password")},{itemType:"simple",dataField:"OldPassword",label:{text:"Current password"},editorOptions:{mode:"password"},validationRules:[{type:"custom",reevaluate:!0,validationCallback:t=>{var r,i;return((i=(r=this.accountSettingsForm)==null?void 0:r.getEditor("NewPassword"))==null?void 0:i.option("value"))?!!t:!0},message:"Old password is required"}]},{itemType:"simple",dataField:"NewPassword",label:{text:"New password"},editorOptions:{mode:"password",inputAttr:{autocomplete:"new-password"}}},{itemType:"simple",dataField:"NewPasswordRepeat",label:{text:"Confirm new password"},editorOptions:{mode:"password"},validationRules:[{type:"custom",reevaluate:!0,validationCallback:t=>{var r,i;return(((i=(r=this.accountSettingsForm)==null?void 0:r.getEditor("NewPassword"))==null?void 0:i.option("value"))||"")===t.value},message:"Password mismatch"}]},{itemType:"button",horizontalAlignment:"right",cssClass:"account-settings__submit-btn",buttonOptions:{text:"Save Changes",type:"success",useSubmitBehavior:!0,width:200}}]}]}]}}};var Co={};ie(Co,{createConfirm:()=>ki});function ki(o){let t=$.Deferred(),i=$("<div/>").appendTo(window.document.body).dxPopup({showTitle:!1,height:140,width:370,contentTemplate:n=>{n.addClass("iszolea-dx-confirm"),$("<b/>").addClass("message").text(o).appendTo(n);let s=$("<div/>").addClass("buttons").appendTo(n);$("<div/>").dxButton({text:"Delete",type:"danger",onClick:()=>{i.hide(),t.resolve(!0)}}).appendTo(s),$("<div/>").dxButton({text:"Cancel",onClick:()=>{i.hide(),t.resolve(!1)}}).appendTo(s)},onHidden:()=>{i.dispose(),i.element().remove()}}).dxPopup("instance");return i.show(),t}var xo={};ie(xo,{createLanding:()=>Gi});function Gi(o,t,r,i={enabled:!1}){$i(t).then(n=>{Hi(o,n,r,i)})}function $i(o){let t=$.Deferred();if(typeof o=="string"){let r=window.sessionStorage.getItem(De);r?t.resolve(JSON.parse(r)):x(o,"post").done(i=>{let n={applicationName:i.ApplicationName,businessName:i.BusinessName,landingPageLogo:i.LandingPageLogo,logoImage:i.LogoImage,description:i.Description};window.sessionStorage.setItem(De,JSON.stringify(n)),t.resolve(n)})}else t.resolve(o);return t}function Hi(o,t,r,i){let n=$("<div />").addClass("iszolea-landing-page").appendTo(o),s=$("<div />").addClass("landing-container").appendTo(n);i.enabled?n.addClass("photo-gallery-mode"):(n.addClass("default-mode"),s=n);let l=$("<img />").attr("src",t.landingPageLogo).addClass("logo-large").on("error",g=>l.css("display","none")).appendTo(s);$("<div />").addClass("logo-container").appendTo(s).append(l,$("<span />").addClass("business-name").text(t.businessName).appendTo(s)),$("<h2 />").text(`Welcome to ${t.description}`).appendTo(s),r&&$("<div />").addClass("sign-in-button").append($("<div />").dxButton({text:"Sign In",width:k.isLegacyRender?void 0:"200px",type:"default",onClick:()=>{window.sessionStorage.clear(),window.location.href=`/Home/Login?returnUrl=${encodeURIComponent(window.location.href.toString())}`}})).appendTo(s),i.enabled&&Dt(i.$container||n,i.imageUrls||[],i.imgChangeIntervalSec||8,i.transitionTimeSec||2)}var Ao={};ie(Ao,{createAccessDeniedToReport:()=>Wi});function Wi(o,t,r){let i=$("<div>").addClass("access-denied-to-report-page").appendTo(o);if($("<h2>").addClass("error-text").text("Access denied to the report").appendTo(i),t&&t.length){let n=t.map(s=>$("<span>").addClass("role").text(s));$("<p>").text("Required roles for report: ").append(n).appendTo(i)}if(r&&r.length){let n=r.map(s=>$("<span>").addClass("role").text(s));$("<p>").text("Required roles for db connection: ").append(n).appendTo(i)}}var Go={};ie(Go,{ControlConfigurator:()=>lt,ControlDisplay:()=>pt,DisplayManager:()=>ut,default:()=>Ae});function ee(o,t){let r=$("<p/>").html(t).text(),i=$("<div>",{class:"report-details-popover"}).html(r).appendTo(document.body);return $(i).dxPopover({target:o,showEvent:"dxclick",position:"bottom",width:500}).dxPopover("instance")}function zi(o,t,r={},i,n,s=!1){let l=!1,g={export:{enabled:!!r.exportFileName,allowExportSelectedData:!0},remoteOperations:!0,columnAutoWidth:!0,showBorders:!0,selection:{mode:"multiple"},keyboardNavigation:{enabled:!1},paging:{pageSize:50},searchPanel:{visible:!0},filterRow:{visible:!0},headerFilter:{visible:!0},scrolling:{mode:"virtual"},onContentReady:h=>{if(Ki(h.component),!l){if(l=!0,!s)for(let S=0;S<h.component.columnCount();S++){let T=h.component.columnOption(S,"dataType");h.component.columnOption(S,"width")||(T==="boolean"&&h.component.columnOption(S,"width","100px"),T==="datetime"&&h.component.columnOption(S,"width","150px"))}setTimeout(()=>{let S=h.component.getScrollable();S&&S.scrollTo({top:0})})}},onToolbarPreparing:h=>{i&&h.toolbarOptions.items.unshift({location:"before",template(){let S=$("<h2 />").addClass("grid-header").text(i);return n&&S.append($("<i />").addClass("fas").addClass("fa-info-circle").addClass("report-details-link").attr("title","Click to see further details")),S}})}},p=t.onContentReady?h=>{g.onContentReady(h),t.onContentReady(h)}:g.onContentReady;Yi(t,r);let m=$.extend({},g,t,{onContentReady:p}),E=o.dxDataGrid(m).dxDataGrid("instance");return E.element().addClass(oe.dxDataGrid),E}function Yi(o,t){var i,n,s;if((n=(i=o==null?void 0:o.summary)==null?void 0:i.totalItems)==null?void 0:n.some(l=>l.summaryType==="count"))return;let r=t==null?void 0:t.summaryColumn;!r&&((s=o==null?void 0:o.columns)==null?void 0:s.length)&&(r=typeof o.columns[0]=="string"?o.columns[0]:o.columns[0].dataField),r&&(o.summary||(o.summary={}),o.summary.totalItems||(o.summary.totalItems=[]),o.summary.totalItems.push({column:r,summaryType:"count"}))}function Ki(o){var s,l,g;let t=o.option("summary.totalItems"),r=(s=t==null?void 0:t.filter(p=>p.summaryType==="count")[0])==null?void 0:s.column,i=r&&o.getVisibleColumns().findIndex(p=>p.dataField===r);if(!i){let p=o.option("selection");i=p&&p.mode!=="none"?o.getVisibleColumns().findIndex(E=>!!E.dataField):0}let n=(l=o.getVisibleColumns()[i])==null?void 0:l.dataField;n&&r!==n&&o.option("summary",{totalItems:[{column:(g=o.getVisibleColumns()[i])==null?void 0:g.dataField,summaryType:"count"}]})}function He(o,t,r={},i,n,s=!1,l=!1){let g=zi(o,t,r,i,n,s);return l||de(g),g}function ge(o,t){return $("<span>").attr("title",t).text(o)}function at(o,t){let r=$.Deferred();return x(o,"POST",JSON.stringify(t),!1,{contentType:"application/json"}).done(r.resolve).fail(i=>{r.reject(i)}),r.promise()}var Mt=class{constructor(t,r){this.$container=t,this.data=r||[]}render(){let t={dataSource:this.data,editing:{mode:"row",allowAdding:!0,allowDeleting:!0,allowUpdating:!0,useIcons:!0},headerFilter:{visible:!1},grouping:{contextMenuEnabled:!1},groupPanel:{visible:!1},searchPanel:{visible:!1},filterRow:{visible:!1},remoteOperations:!1,selection:{mode:"none"},columns:[{dataField:"value",allowEditing:!0},{dataField:"title",allowEditing:!0},{dataField:"image",allowEditing:!0,cellTemplate:(i,n)=>{$("<div>").css({"text-align":"center"}).append($("<img>",{src:n.data.image})).appendTo(i)},editCellTemplate:(i,n)=>{let s=n.value||"",l=$('<div style="position: relative; display: flex; align-items: center; justify-content: center;" />'),g=$(`<img src="${s}" />`),p=$('<a class="dx-link dx-icon-upload" style="position: absolute; right: 8px; text-decoration: none; font-size: 18px;" />'),m=$('<input type="file" style="display:none;" />');return p.on("click",()=>{m.click()}),m.on("change",E=>{if(E.target.files.length){let h=new FileReader;h.onloadend=()=>{g.attr("src",h.result),n.setValue(h.result)};let S=E.target.files[0];S?h.readAsDataURL(S):g.attr("src","")}}),g.appendTo(l),p.appendTo(l),m.appendTo(l),l}},{type:"buttons",width:100,buttons:["edit",{hint:"Delete",icon:"trash",onClick:i=>{let n=this.grid.option("dataSource");n.splice(i.row.rowIndex,1),this.grid.option("dataSource",n)}}]}]},r=$("<div />").appendTo(this.$container);this.grid=V(r,{options:t,isFullScreen:!1})}getData(){return this.grid.option("dataSource")}getBaseType(){return"string"}};var Ot=class{constructor(t,r){this.$container=t,this.data=A({items:[],multiselect:!1},r)}render(){let t={dataSource:this.data.items,height:400,keyExpr:"key",editing:{mode:"row",allowAdding:!0,allowDeleting:!0,allowUpdating:!0,useIcons:!0},headerFilter:{visible:!1},grouping:{contextMenuEnabled:!1},groupPanel:{visible:!1},searchPanel:{visible:!1},filterRow:{visible:!1},remoteOperations:!1,selection:{mode:"none"},columns:[{dataField:"key",visible:!1},{dataField:"value",allowEditing:!0},{type:"buttons",width:100,buttons:["edit",{hint:"Delete",icon:"trash",onClick:i=>{let n=this.grid.option("dataSource");n.splice(i.row.rowIndex,1),this.grid.option("dataSource",n)}}]}],toolbar:{items:[{location:"before",widget:"dxCheckBox",options:{text:"Multiselect",value:this.data.multiselect,onValueChanged:i=>{this.data.multiselect=i.value}}},{location:"after",name:"addRowButton"}]},onInitNewRow:i=>{let s=(this.grid.option("dataSource")||[]).map(g=>g.key),l=Math.max(0,...s);i.data.key=l+1}},r=$("<div />").appendTo(this.$container);this.grid=V(r,{options:t,isFullScreen:!1})}getData(){return{items:this.grid.option("dataSource"),multiselect:this.data.multiselect}}getBaseType(){return"string"}};var Ut=class{constructor(t,r,i){this.$container=t,this.data={multiple:(r==null?void 0:r.multiple)||!1,metaDataFields:(r==null?void 0:r.metaDataFields)||[]},this.initData=i}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"multiple",editorType:"dxCheckBox",visible:!1},{dataField:"metaDataFields",editorType:"dxTagBox",editorOptions:{items:this.initData.fields}}]}).appendTo(this.$container).dxForm("instance")}getData(){return this.form.option("formData")}getBaseType(){return"string"}};var Pt=class{constructor(t,r,i){this.$container=t,this.data=r,this.initData=i}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"actionType",validationRules:[{type:"required"}]},{dataField:"fields",validationRules:[{type:"required"},{type:"custom",validationCallback:t=>t.value.length>0,message:"Required"}],editorType:"dxTagBox",editorOptions:{dataSource:this.initData.fields,searchEnabled:!0}}]}).appendTo(this.$container).dxForm("instance")}getData(){if(!this.form.validate().isValid)return;let r=this.form.getEditor("actionType").option("value"),i=this.form.getEditor("fields").option("value");return{actionType:r,fields:i}}getBaseType(){return"string"}};var Nt=class{constructor(t,r){this.$container=t,this.data={url:typeof(r==null?void 0:r.url)>"u"?"":r.url,text:typeof(r==null?void 0:r.text)>"u"?"":r.text,openNewTab:typeof(r==null?void 0:r.openNewTab)>"u"?!0:r.openNewTab,useStaticLink:r?typeof r.useStaticLink>"u"?!0:r.useStaticLink:!1}}render(){this.form=$("<div />").dxForm({formData:this.data,width:"100%",labelLocation:"top",items:[{dataField:"useStaticLink",editorType:"dxCheckBox",editorOptions:{onValueChanged:t=>{this.form.itemOption("url","visible",t.value)}}},{visible:this.data.useStaticLink,dataField:"url",validationRules:[{type:"required"}]},{dataField:"text",label:{text:"Text (optional)"}},{dataField:"openNewTab",label:{text:"Open in a new tab"},editorType:"dxCheckBox"}]}).appendTo(this.$container).dxForm("instance")}getData(){var l;if(!this.form.validate().isValid)return;let r=(l=this.form.getEditor("url"))==null?void 0:l.option("value"),i=this.form.getEditor("text").option("value"),n=this.form.getEditor("openNewTab").option("value"),s=this.form.getEditor("useStaticLink").option("value");return{url:r,text:i,openNewTab:n,useStaticLink:s}}getBaseType(){return"string"}};var Lt=class{constructor(t,r,i,n){this.$container=t,this.data=A({multiselect:!1,grouping:!1,table:"",key:"",fields:[]},r),this.initData=i,this.baseType=n,this.allowedTypes=!n||n==="string"?["string","number"]:["number"],this.loadPanel=$("<div />").dxLoadPanel({visible:!1,message:"Loading...",container:this.$container,position:{of:this.$container},shading:!0,showPane:!0}).dxLoadPanel("instance")}async loadTables(){let t=await x(`${this.initData.getContextTablesUrl}?contextName=${this.initData.context}&sort=[{'selector':'FullTableName','desc':false}]`);return(t==null?void 0:t.data)||[]}async loadFields(t){let r=await x(`${this.initData.getTableFieldsUrl}?contextName=${this.initData.context}&table=${t}`);return(r==null?void 0:r.data)||[]}updateTablesDS(t){this.form.getEditor("table").option("dataSource",t)}updateKeyDS(t){let r=t.filter(n=>this.allowedTypes.includes(n.Type)).map(n=>n.Name);this.form.getEditor("key").option("dataSource",r)}updateFieldsDS(t){let r=t.map(n=>n.Name);this.form.getEditor("fields").option("dataSource",r)}updateCheckboxes(){let t=this.form.getEditor("multiselect"),r=this.form.getEditor("grouping");r.option("disabled",!!t.option("value")),t.option("disabled",this.baseType==="number"||!!r.option("value"))}render(){this.form=$("<div />").dxForm({labelLocation:"top",width:"100%",formData:this.data,onContentReady:()=>window.setTimeout(()=>this.updateCheckboxes()),items:[{dataField:"table",editorType:"dxSelectBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[],displayExpr:"FullTableName",valueExpr:"FullTableName",searchEnabled:!0,itemTemplate:t=>{let r=$("<div />");return $("<span />").text(t.FullTableName).appendTo(r),t.EntityType===2?$("<span />").text("View").addClass("source-badge view-badge").appendTo(r):t.EntityType===1&&$("<span />").text("Table").addClass("source-badge table-badge").appendTo(r),r},onValueChanged:async t=>{let r=t.component&&t.component.option("selectedItem"),i=this.form.getEditor("key"),n=this.form.getEditor("fields");try{this.loadPanel.show();let s=await this.loadFields(r.FullTableName);this.updateKeyDS(s),this.updateFieldsDS(s),i.option("value",null),i.option("disabled",!1),n.option("value",null),n.option("disabled",!1)}finally{this.loadPanel.hide()}}}},{dataField:"key",editorType:"dxSelectBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[]}},{dataField:"fields",editorType:"dxTagBox",isRequired:!0,editorOptions:{width:"100%",deferRendering:!1,dataSource:[]}},{itemType:"group",colCount:2,items:[{dataField:"multiselect",editorType:"dxCheckBox",editorOptions:{disabled:this.baseType==="number",onValueChanged:()=>this.updateCheckboxes()},label:{location:"left"}},{dataField:"grouping",editorType:"dxCheckBox",editorOptions:{onValueChanged:()=>this.updateCheckboxes()},label:{location:"left"}}]}]}).dxForm("instance"),this.$container.append(this.form.element()).append(this.loadPanel.element()),this.loadPanel.show(),Promise.all([this.loadTables(),this.data.table?this.loadFields(this.data.table):Promise.resolve([])]).then(t=>{let r=t[0],i=t[1];this.updateTablesDS(r),this.updateKeyDS(i),this.updateFieldsDS(i)}).finally(()=>this.loadPanel.hide())}getData(){if(!!this.form.validate().isValid)return this.form.option("formData")}getBaseType(){return this.baseType||"string"}};var Ce={[1]:{name:"CreatedAt",type:"date",displayType:JSON.stringify({type:10006,data:{}})},[2]:{name:"CreatedBy",type:"string",displayType:JSON.stringify({type:10001,data:{}})},[3]:{name:"LastUpdateAt",type:"date",displayType:JSON.stringify({type:10006,data:{}})},[4]:{name:"LastUpdateBy",type:"string",displayType:JSON.stringify({type:10001,data:{}})}},Ji={string:JSON.stringify({type:10001,data:{}}),number:JSON.stringify({type:10002,data:{}}),decimal:JSON.stringify({type:10003,data:{}}),boolean:JSON.stringify({type:10004,data:{}}),datetime:JSON.stringify({type:10005,data:{}}),date:JSON.stringify({type:10006,data:{}})},qi={[1]:"string",[2]:"string",[8]:"string",[3]:"string",[4]:"string",[5]:"decimal",[6]:"string",[7]:"string",[10001]:"string",[10002]:"number",[10003]:"decimal",[10004]:"boolean",[10005]:"datetime",[10006]:"date"},Qi={string:[10001,10002,10003,10004,10005,10006,1,3,4,6,7,2,8],number:[10001,10002,10003,10004,10005,10006,5,8],decimal:[10001,10002,10003,10004,10005,10006,5],boolean:[10001,10002,10003,10004,10005,10006],datetime:[10001,10002,10003,10004,10005,10006],date:[10001,10002,10003,10004,10005,10006]};var lt=class{constructor(t,r,i){this.baseTypeTitle="Base Type";this.customTypeTitle="Custom Type";this.displayTypes=[{key:10001,value:"String",type:this.baseTypeTitle},{key:10002,value:"Number",type:this.baseTypeTitle},{key:10003,value:"Decimal",type:this.baseTypeTitle},{key:10004,value:"Boolean",type:this.baseTypeTitle},{key:10005,value:"Datetime",type:this.baseTypeTitle},{key:10006,value:"Date",type:this.baseTypeTitle},{key:1,value:"Icons",type:this.customTypeTitle},{key:2,value:"PredefinedValues",type:this.customTypeTitle},{key:8,value:"ReferencedValue",type:this.customTypeTitle},{key:3,value:"RabbitAction",type:this.customTypeTitle},{key:4,value:"Hyperlink",type:this.customTypeTitle},{key:5,value:"DollarValue",type:this.customTypeTitle},{key:7,value:"Image",type:this.customTypeTitle},{key:6,value:"Document",type:this.customTypeTitle}];this.editors={[1]:Mt,[2]:Ot,[8]:Lt,[3]:Pt,[4]:Nt,[7]:Ut};this.editorsInitData={};this.fields=[];this.systemFieldPredefinedData=null;this.$container=t.$container,this.isStandalonePage=t.isStandalonePage,this.groupFieldsUrl=t.groupFieldsUrl,this.loadDataUrl=t.loadDataUrl,this.updateDataUrl=t.updateDataUrl,this.batchUpdateDataUrl=t.batchUpdateDataUrl,this.addDataUrl=t.addDataUrl,this.deleteDataUrl=t.deleteDataUrl,this.updateGlobalSearchUrl=t.updateGlobalSearchUrl,this.updateInlineEditingUrl=t.updateInlineEditingUrl,this.pageTitle=t.pageTitle,this.isDataReadonly=!!t.isDataReadonly,this.disableGlobalSearch=t.disableGlobalSearch,this.enableInlineEditing=t.enableInlineEditing,this.getReportSourceDetailsUrl=t.getReportSourceDetailsUrl,this.getContextTablesUrl=t.getContextTablesUrl,this.getTableFieldsUrl=t.getTableFieldsUrl,this.onGlobalSearchSettingsChanged=r,this.onEnableInlineEditingChanged=i}getSqlEntityTypeName(t){switch(t){case 1:return"Table";case 3:return"Stored Procedure";case 2:return"View";case 0:default:return""}}render(){this.$container.addClass("aps-grid"),Promise.all([this.getAvailableFields(),this.getReportSourceDetails()]).then(t=>{this.fields=t[0],this.reportSourceDetails=t[1],this.editorsInitData[3]=()=>({fields:this.fields}),this.editorsInitData[7]=()=>({fields:this.fields}),this.editorsInitData[8]=()=>({getContextTablesUrl:this.getContextTablesUrl,getTableFieldsUrl:this.getTableFieldsUrl,context:this.reportSourceDetails.ConnectionName}),this.createMainGrid()})}async getAvailableFields(){return x(this.groupFieldsUrl)}async getReportSourceDetails(){return x(this.getReportSourceDetailsUrl)}getDisplayTypeEditor(t,r,i,n){let s=this.editors[r],l=this.editorsInitData[r];return s?new s(t,n,l?l():null,i):null}metaDataColumnTemplate(t,r){return t.css("background-color","#eee"),r.value?$('<i class="fas fa-check" style="font-size: 18px; color: #0366d6;"></i>'):$('<i class="fas fa-minus" style="font-size: 18px; color: #333;"></i>')}createMainGrid(){let t,r={dataSource:this.createMainGridDataSource(),columnChooser:{enabled:!0,allowSearch:!0,mode:"select"},errorRowEnabled:!0,height:"100%",editing:{mode:"batch",allowUpdating:!0,allowAdding:!this.isDataReadonly,allowDeleting:!this.isDataReadonly,refreshMode:"repaint",useIcons:!0},repaintChangesOnly:!0,remoteOperations:{summary:!0,paging:!0,grouping:!1,sorting:!1,filtering:!1},grouping:{allowCollapsing:!1},groupPanel:{visible:!1},selection:{mode:"multiple"},allowColumnReordering:!1,columnHidingEnabled:!1,hoverStateEnabled:!0,columnAutoWidth:!1,rowAlternationEnabled:!0,columnMinWidth:80,columns:this.prepareMainGridColumns([{dataField:"Name",caption:"Field",fixed:!0,fixedPosition:"left",sortOrder:"asc",sortIndex:1,width:180,validationRules:[{type:"required"}],cellTemplate:(n,s)=>{let l=$(`<div style="display: flex; align-items: center;">${(s==null?void 0:s.value)||""}</div>`);s.data.IsSystemColumn&&l.prepend('<i class="icon dx-icon-info" style="margin-right: 4px; color: #aaa;" title="System field"></i>'),n.append(l)}},{dataField:"IsSystemColumn",allowEditing:!1,dataType:"boolean",sortOrder:"asc",sortIndex:0,visible:!1},{dataField:"Type",allowEditing:!1,width:120,lookup:{dataSource:["string","number","decimal","boolean","datetime","date"]}},{dataField:"DisplayType",allowEditing:!0,validationRules:[{type:"required"}],width:160,calculateCellValue:n=>n.DisplayType===null?n.Type?Ji[n.Type]:null:n.DisplayType,customizeText:n=>{if(!n.value)return null;let s=le(n.value)?JSON.parse(n.value):{},l=this.displayTypes.find(g=>g.key===(s==null?void 0:s.type));return(l==null?void 0:l.value)||""},editCellTemplate:(n,s)=>{let l=le(s.value)?JSON.parse(s.value):null,g=l?l.type:null,p=l?l.data:null,m=null,E=$("<div />").dxDropDownBox({dropDownOptions:{width:650,height:515,minHeight:515,maxHeight:515},dataSource:this.displayTypes,valueExpr:"key",displayExpr:"value",value:g,disabled:!!s.row.data.IsSystemColumn,onValueChanged:h=>{s.setValue(h.value)},contentTemplate:()=>{let h=$('<div class="display-type-editor" />'),S=$('<div style="text-align: center; color: #bbb; display: flex; align-items: center;" />').text("There are no additional settings for the selected Display Type"),T=$('<div style="margin: 8px 0; display: flex; flex-direction: row" />').appendTo(h),I=$('<div style="flex-shrink: 0;" />').appendTo(T),y=$('<div style="display: flex; justify-content: center; flex-grow: 1; margin-left: 8px;">').append(S).appendTo(T),u=$('<div style="text-align: right;" />').appendTo(h),v=$('<div style="margin-right: 8px;" />').appendTo(u),w=$('<div style="margin-right: 8px;" />').appendTo(u),D=g?this.getDisplayTypeEditor(y,g,s.data.Type,p):null;return D&&(y.html(""),D.render()),m=I.dxList({dataSource:new DevExpress.data.DataSource({store:{type:"array",data:this.displayTypes.map(_=>O(A({},_),{disabled:!s.row.isNewRow&&!Qi[s.data.Type].includes(_.key)})),key:"key"},group:"type"}),width:200,height:400,grouped:!0,selectionMode:"single",selectedItemKeys:[g],keyExpr:"key",displayExpr:"value",showScrollbar:"always",onSelectionChanged:_=>{let C=_.addedItems[0].key;D=this.getDisplayTypeEditor(y,C,s.data.Type,p),y.html(""),D?D==null||D.render():y.append(S),v.dxButton("instance").option("disabled",!1)}}).dxList("instance"),v.dxButton({text:"Save",type:"success",disabled:!D,onClick:()=>{let _=D==null?void 0:D.getData(),C=m.option("selectedItemKeys")[0],M={type:C,data:_||{}};if(E.option("value",C),s.row.isNewRow){let R=(D==null?void 0:D.getBaseType())?D.getBaseType():qi[C];t.cellValue(s.rowIndex,"Type",R)}s.setValue(JSON.stringify(M)),s.component.closeEditCell(),E.close()}}).appendTo(u),w.dxButton({text:"Cancel",onClick:()=>{s.component.closeEditCell(),E.close()}}).appendTo(u),h},onOpened:()=>{let h=$(".display-type-editor .dx-list-item-selected");m.scrollToItem(h)}}).dxDropDownBox("instance");n.append(E.element()),s.row.data.IsSystemColumn||E.open()}},{dataField:"IsKeyColumn",caption:"Is Key",allowEditing:!0,width:100},{caption:"SQL Meta Data (Read-only)",columns:[{dataField:"IsIdentity",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"IsNullable",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"IsComputed",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate},{dataField:"HasDefaultValue",allowEditing:!1,width:80,minWidth:80,allowHeaderFiltering:!1,allowFiltering:!1,cellTemplate:this.metaDataColumnTemplate}]},{dataField:"Label",allowEditing:!0,width:180},{dataField:"GroupField",caption:"Group",allowEditing:!0,width:200,editCellTemplate:(n,s)=>$("<div />").dxSelectBox({value:s.value,dataSource:[...new Set(t.getDataSource().items().filter(l=>l.GroupField).map(l=>l.GroupField).sort())],acceptCustomValue:!0,showClearButton:!0,onValueChanged:l=>{s.setValue(l.value)}})},{dataField:"DataOwner",allowEditing:!0,width:80,headerCellTemplate:ge("DO","Data Owner")},{dataField:"XLSScheduleLabel",allowEditing:!0,width:80,headerCellTemplate:ge("XLS","XLS Schedule Label")},{dataField:"IsDefaultViewField",caption:"Display in default view",allowEditing:!0,width:100},{dataField:"IsExported",caption:"Export to excel",allowEditing:!0,width:100},{dataField:"Order",allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:0,message:"Order can't be negative"}],width:80},{dataField:"Width",dataType:"number",headerCellTemplate:ge("Width","Width (in pixels)"),allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:1,message:"Width can't be less then 1px"}],width:80},{dataField:"HidingOrder",dataType:"number",headerCellTemplate:ge("Hide","Hiding Order"),allowEditing:!0,editorOptions:{format:"#"},validationRules:[{type:"range",min:1,message:"Hiding order can't be less then 1"}],width:70},{dataField:"ToolTip",allowEditing:!0,minWidth:180}]),onSaving:n=>{n.cancel=!0,n.component.beginCustomLoading("Saving..."),n.changes.length&&(n.promise=at(this.batchUpdateDataUrl,n.changes).done(()=>{n.component.refresh(!0).done(()=>{n.component.cancelEditData()})}).always(()=>{n.component.endCustomLoading()}))},onRowUpdated:n=>{n.component.endCustomLoading(),n.component.repaint()},onToolbarPreparing:n=>{let s=n.toolbarOptions.items,l=s.filter(T=>T.name==="columnChooserButton")[0],g=s.indexOf(l),p={location:"after",template:()=>{let T=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});return $("<span />").css({margin:"0 5px 0 0",width:"100px"}).dxSwitch({value:this.enableInlineEditing,switchedOnText:"Inline Edit",switchedOffText:"Batch Edit",onValueChanged:({value:I})=>{this.enableInlineEditing=!I,x(this.updateInlineEditingUrl,"post",{updateInlineEditing:!!I}).then(()=>{this.onEnableInlineEditingChanged(I),P(`${I?"Inline":"Batch"} editing enabled`,!0)})}}).appendTo(T),T}},m={location:"after",template:()=>{let T=$("<div />").css({border:"1px #e0e0e0 solid",padding:"3px 6px",borderRadius:"4px",background:"white"});$("<span />").css({margin:"0 5px 0 0",width:"54px"}).dxSwitch({value:!this.disableGlobalSearch,onValueChanged:({value:y})=>{this.disableGlobalSearch=!y,x(this.updateGlobalSearchUrl,"post",{allowGlobalSearch:!!y}).then(()=>{this.onGlobalSearchSettingsChanged(y),P(`Global search ${y?"enabled":"disabled"}`,!0)})}}).appendTo(T),$("<span />").text("Allow global search").appendTo(T);let I=$("<a />").css({textDecoration:"underline",color:"blue"}).text("(?)").appendTo(T);return $("<div />").text(`For large datasets, particularly those with string values, it\u2019s advisable
42
42
  to disable the global search function and allow filtering by column only.`).dxPopover({target:I,showEvent:"mouseenter",hideEvent:"mouseleave",position:"top",width:500}).appendTo(T),T}};s.splice(g,1);let E=s.filter(T=>T.name==="exportButton")[0],h=s.indexOf(E);s.splice(h,1),this.isDataReadonly||s.push(p),s.push(m),s.push(l);let S=s.find(T=>T.name==="addRowButton");if(S){let T=null;S.widget="dxDropDownButton";let I=S.options;I.height=32,I.text="Add Field",I.hint="Add Field",I.splitButton=!0,I.keyExpr="key",I.displayExpr="text",I.dropDownOptions={width:210,onShowing:async()=>{let u=t.getDataSource()._items;T.option("items",[{key:1,text:"Add CreatedAt field",disabled:u.some(v=>v.Name===Ce[1].name)},{key:2,text:"Add CreatedBy field",disabled:u.some(v=>v.Name===Ce[2].name)},{key:3,text:"Add LastUpdateAt field",disabled:u.some(v=>v.Name===Ce[3].name)},{key:4,text:"Add LastUpdateBy field",disabled:u.some(v=>v.Name===Ce[4].name)}])}},I.onButtonClick=()=>t.addRow(),I.onItemClick=async y=>{this.systemFieldPredefinedData={Name:Ce[y.itemData.key].name,Type:Ce[y.itemData.key].type,DisplayType:Ce[y.itemData.key].displayType,IsSystemColumn:!0},t.addRow()},I.onInitialized=y=>{T=y.component}}if(this.reportSourceDetails){let T=$(`
43
43
  <div class="cdm-sorce-details">
44
44
  <div class="cdm-sorce-details__row">