-
Notifications
You must be signed in to change notification settings - Fork 1
/
h5.min.js
7 lines (7 loc) · 972 KB
/
h5.min.js
1
2
3
4
5
6
7
/**
* @version : - H5.NET
* @author : Object.NET, Inc. http://h5.net/
* @copyright : Copyright 2008-2021 Object.NET, Inc. http://object.net/
* @license : See license.txt and https://github.com/bridgedotnet/Bridge.NET/blob/master/LICENSE.
*/
(function(n){"use strict";function pi(){return new System.Threading.Tasks.TaskCompletionSource}function wi(n,t){return System.Array.min(n,t)}var d,at,f,h,vt,k,yt,t;typeof module!="undefined"&&module.exports&&(n=global);d={global:n,isNode:Object.prototype.toString.call(typeof process!="undefined"?process:0)==="[object process]",emptyFn:function(){},identity:function(n){return n},Deconstruct:function(n){for(var i=Array.prototype.slice.call(arguments,1),t=0;t<i.length;t++)i[t].v=t==7?n.Rest:n["Item"+(t+1)]},toString:function(n){var t,i;if(n==null)throw new System.ArgumentNullException;return(t=H5.$toStringGuard[H5.$toStringGuard.length-1],n.toString===Object.prototype.toString||t&&t===n)?H5.Reflection.getTypeFullName(n):(H5.$toStringGuard.push(n),i=n.toString(),H5.$toStringGuard.pop(),i)},geti:function(n,t,i){if(n[t]!==undefined)return t;if(i&&n[i]!=undefined)return i;var r=i||t,u=r.lastIndexOf("$");return/\$\d+$/g.test(r)&&(u=r.lastIndexOf("$",u-1)),r.substr(u+1)},box:function(n,t,i,r){return n&&n.$boxed?n:n==null?n:(n.$clone&&(n=n.$clone()),{$boxed:!0,fn:{toString:i,getHashCode:r},v:n,type:t,constructor:t,getHashCode:function(){return this.fn.getHashCode?this.fn.getHashCode(this.v):H5.getHashCode(this.v)},equals:function(n){var t,i;return this===n?!0:(t=this.equals,this.equals=null,i=H5.equals(this.v,n),this.equals=t,i)},valueOf:function(){return this.v},toString:function(){return this.fn.toString?this.fn.toString(this.v):this.v.toString()}})},unbox:function(n,t){var r,f,u,e,i;if(t&&H5.isFunction(t)&&(r=t,t=!1),n&&n.$boxed){if(f=n.v,u=n.type,r&&r.$nullable&&(r=r.$nullableType),r&&r.$kind==="enum"&&(r=System.Enum.getUnderlyingType(r)),u.$nullable&&(u=u.$nullableType),u.$kind==="enum"&&(u=System.Enum.getUnderlyingType(u)),r&&r!==u&&!H5.isObject(r))throw new System.InvalidCastException.$ctor1("Specified cast is not valid.");return!t&&f&&f.$clone&&(f=f.$clone()),f}if(H5.isArray(n))for(e=0;e<n.length;e++)i=n[e],i&&i.$boxed?(i=i.v,i.$clone&&(i=i.$clone())):!t&&i&&i.$clone&&(i=i.$clone()),n[e]=i;return n&&!t&&n.$clone&&(n=n.$clone()),n},virtualc:function(n){return H5.virtual(n,!0)},virtual:function(n,t){var i=H5.unroll(n),r;return i&&H5.isFunction(i)||(r=H5.Class.staticInitAllow,i=t?H5.define(n):H5.definei(n),H5.Class.staticInitAllow=!0,i.$staticInit&&i.$staticInit(),H5.Class.staticInitAllow=r),i},safe:function(n){try{return n()}catch(t){}return!1},literal:function(n,t){return t.$getType=function(){return n},t},isJSObject:function(n){return Object.prototype.toString.call(n)==="[object Object]"},isPlainObject:function(n){if(typeof n=="object"&&n!==null){if(typeof Object.getPrototypeOf=="function"){var t=Object.getPrototypeOf(n);return t===Object.prototype||t===null}return Object.prototype.toString.call(n)==="[object Object]"}return!1},toPlain:function(n){var i,t,r,u,f;if(!n||H5.isPlainObject(n)||typeof n!="object")return n;if(typeof n.toJSON=="function")return n.toJSON();if(H5.isArray(n)){for(i=[],t=0;t<n.length;t++)i.push(H5.toPlain(n[t]));return i}r={};for(f in n)u=n[f],H5.isFunction(u)||(r[f]=u);return r},ref:function(n,t){H5.isArray(t)&&(t=System.Array.toIndex(n,t));var i={};return Object.defineProperty(i,"v",{get:function(){return t==null?n:n[t]},set:function(i){t==null&&(i&&i.$clone?i.$clone(n):n=i);n[t]=i}}),i},ensureBaseProperty:function(n,t,i){var f=H5.getType(n),s=f.$descriptors||[],o,u,r,e;if(n.$propMap=n.$propMap||{},n.$propMap[t])return n;if((!f.$descriptors||f.$descriptors.length===0)&&i)r={},e="$"+i+"$"+t,r.get=function(){return n[t]},r.set=function(i){n[t]=i},H5.property(n,e,r,!1,f,!0);else for(o=0;o<s.length;o++)u=s[o],u.name===t&&(r={},e="$"+H5.getTypeAlias(u.cls)+"$"+t,u.get&&(r.get=u.get),u.set&&(r.set=u.set),H5.property(n,e,r,!1,f,!0));return n.$propMap[t]=!0,n},property:function(n,t,i,r,u,f){var e={enumerable:f?!1:!0,configurable:!0},o;return i&&i.get&&(e.get=i.get),i&&i.set&&(e.set=i.set),i&&(i.get||i.set)||(o=H5.getTypeAlias(u)+"$"+t,u.$init=u.$init||{},r&&(u.$init[o]=i),function(n,t,i,r){n.get=function(){var n=this.$init[i];return n===undefined?r:n};n.set=function(n){this.$init[i]=n}}(e,n,o,i)),Object.defineProperty(n,t,e),e},event:function(n,t,i,r){n[t]=i;var s=t.charAt(0)==="$",f=s?t.slice(1):t,e="add"+f,o="remove"+f,u=t.lastIndexOf("$"),h=u>0&&t.length-u-1>0&&!isNaN(parseInt(t.substr(u+1)));h&&(u=t.substring(0,u-1).lastIndexOf("$"));u>0&&u!==t.length-1&&(e=t.substring(0,u)+"add"+t.substr(u+1),o=t.substring(0,u)+"remove"+t.substr(u+1));n[e]=function(n,t,i){return i?function(i){t[n]=H5.fn.combine(t[n],i)}:function(t){this[n]=H5.fn.combine(this[n],t)}}(t,n,r);n[o]=function(n,t,i){return i?function(i){t[n]=H5.fn.remove(t[n],i)}:function(t){this[n]=H5.fn.remove(this[n],t)}}(t,n,r)},createInstance:function(n,t,i){var r,e,u,f,o;if(H5.isArray(t)&&(i=t,t=!1),n===System.Decimal)return System.Decimal.Zero;if(n===System.Int64)return System.Int64.Zero;if(n===System.UInt64)return System.UInt64.Zero;if(n===System.Double||n===System.Single||n===System.Byte||n===System.SByte||n===System.Int16||n===System.UInt16||n===System.Int32||n===System.UInt32||n===H5.Int)return 0;if(typeof n.createInstance=="function")return n.createInstance();else if(typeof n.getDefaultValue=="function")return n.getDefaultValue();else if(n===Boolean||n===System.Boolean)return!1;else if(n===System.DateTime)return System.DateTime.getDefaultValue();else if(n===Date)return new Date;else if(n===Number)return 0;else if(n===String||n===System.String)return"";else if(n&&n.$literal)return n.ctor();else if(i&&i.length>0)return H5.Reflection.applyConstructor(n,i);if(n.$kind==="interface")throw new System.MissingMethodException.$ctor1("Default constructor not found for type "+H5.getTypeName(n));if(r=H5.Reflection.getMembers(n,1,54),r.length>0){for(e=r.filter(function(n){return!n.isSynthetic&&!n.sm}),u=0;u<e.length;u++)if(f=e[u],o=(f.pi||[]).length===0,o){if(t||f.a===2)return H5.Reflection.invokeCI(f,[]);throw new System.MissingMethodException.$ctor1("Default constructor not found for type "+H5.getTypeName(n));}if(n.$$name&&!(r.length==1&&r[0].isSynthetic))throw new System.MissingMethodException.$ctor1("Default constructor not found for type "+H5.getTypeName(n));}return new n},clone:function(n){if(n==null)return n;if(H5.isArray(n))return System.Array.clone(n);if(H5.isString(n))return n;var t;return H5.isFunction(H5.getProperty(n,t="System$ICloneable$clone"))?n[t]():H5.is(n,System.ICloneable)?n.clone():H5.isFunction(n.$clone)?n.$clone():null},copy:function(n,t,i,r){typeof i=="string"&&(i=i.split(/[,;\s]+/));for(var u,f=0,e=i?i.length:0;f<e;f++)u=i[f],(r!==!0||n[u]==undefined)&&(n[u]=H5.is(t[u],System.ICloneable)?H5.clone(t[u]):t[u]);return n},get:function(n){return n&&n.$staticInit!==null&&n.$staticInit(),n},ns:function(n,t){var r=n.split("."),i=0;for(t||(t=H5.global),i=0;i<r.length;i++)typeof t[r[i]]=="undefined"&&(t[r[i]]={}),t=t[r[i]];return t},ready:function(n,t){var i=function(){t?n.apply(t):n()};if(typeof H5.global.jQuery!="undefined")H5.global.jQuery(i);else if(typeof H5.global.document=="undefined"||H5.global.document.readyState==="complete"||H5.global.document.readyState==="loaded"||H5.global.document.readyState==="interactive")i();else H5.on("DOMContentLoaded",H5.global.document,i)},on:function(n,t,i,r){var u=function(n){var t=i.apply(r||this,arguments);return t===!1&&(n.stopPropagation(),n.preventDefault()),t},f=function(){var n=i.call(r||t,H5.global.event);return n===!1&&(H5.global.event.returnValue=!1,H5.global.event.cancelBubble=!0),n};t.addEventListener?t.addEventListener(n,u,!1):t.attachEvent("on"+n,f)},addHash:function(n,t,i){if(isNaN(t)&&(t=17),isNaN(i)&&(i=23),H5.isArray(n)){for(var r=0;r<n.length;r++)t=t+((t*i|0)+(n[r]==null?0:H5.getHashCode(n[r])))|0;return t}return t+((t*i|0)+(n==null?0:H5.getHashCode(n)))|0},getHashCode:function(n,t,i){var o,s,u,r,f,c,e;if(n&&n.$boxed&&n.type.getHashCode)return n.type.getHashCode(H5.unbox(n,!0));if(n=H5.unbox(n,!0),H5.isEmpty(n,!0)){if(t)return 0;throw new System.InvalidOperationException.$ctor1("HashCode cannot be calculated for empty value");}if(n.getHashCode&&H5.isFunction(n.getHashCode)&&!n.__insideHashCode&&n.getHashCode.length===0)return n.__insideHashCode=!0,o=n.getHashCode(),delete n.__insideHashCode,o;if(H5.isBoolean(n))return n?1:0;if(H5.isDate(n))return s=n.ticks!==undefined?n.ticks:System.DateTime.getTicks(n),s.toNumber()&4294967295;if(n===Number.POSITIVE_INFINITY)return 2146435072;if(n===Number.NEGATIVE_INFINITY)return 4293918720;if(H5.isNumber(n)){if(Math.floor(n)===n)return n;n=n.toExponential()}if(H5.isString(n))if(Math.imul){for(u=0,r=0;u<n.length;u++)r=Math.imul(31,r)+n.charCodeAt(u)|0;return r}else{var r=0,h=n.length,u=0;if(h>0)while(u<h)r=(r<<5)-r+n.charCodeAt(u++)|0;return r}if(n.$$hashCode)return n.$$hashCode;if(i!==!1&&n.hasOwnProperty("Item1")&&H5.isPlainObject(n)&&(i=!0),i&&typeof n=="object"){f=0;for(e in n)n.hasOwnProperty(e)&&(c=H5.isEmpty(n[e],!0)?0:H5.getHashCode(n[e]),f=29*f+c);if(f!==0)return n.$$hashCode=f,f}return n.$$hashCode=Math.random()*4294967296|0,n.$$hashCode},getDefaultValue:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("type");else if(n.getDefaultValue&&n.getDefaultValue.length===0)return n.getDefaultValue();else if(H5.Reflection.isEnum(n))return System.Enum.parse(n,0);else if(n===Boolean||n===System.Boolean)return!1;else if(n===System.DateTime)return System.DateTime.getDefaultValue();else if(n===Date)return new Date;else if(n===Number)return 0;return null},$$aliasCache:[],getTypeAlias:function(n){var t,i,f,r,u,e;if(n.$$alias)return n.$$alias;if(t=n.$$name||typeof n=="function"?n:H5.getType(n),t.$$alias)return t.$$alias;if(i=H5.$$aliasCache[t],i)return i;if(t.$isArray)return f=H5.getTypeAlias(t.$elementType),i=f+"$Array"+(t.$rank>1?"$"+t.$rank:""),t.$$name?t.$$alias=i:H5.$$aliasCache[t]=i,i;if(r=n.$$name||H5.getTypeName(n),t.$typeArguments&&!t.$isGenericTypeDefinition)for(r=t.$genericTypeDefinition.$$name,u=0;u<t.$typeArguments.length;u++)e=t.$typeArguments[u],r+="$"+H5.getTypeAlias(e);return i=r.replace(/[\.\(\)\,\+]/g,"$"),t.$module&&(i=t.$module+"$"+i),t.$$name?t.$$alias=i:H5.$$aliasCache[t]=i,i},getTypeName:function(n){return H5.Reflection.getTypeFullName(n)},hasValue:function(n){return H5.unbox(n,!0)!=null},hasValue$1:function(){if(arguments.length===0)return!1;var n=0;for(n;n<arguments.length;n++)if(H5.unbox(arguments[n],!0)==null)return!1;return!0},isObject:function(n){return n===Object||n===System.Object},is:function(n,t,i,r){var f,u,e,o,s;if(n==null)return!!r;if(t===System.Object&&(t=Object),f=typeof t,f==="boolean")return t;if(n.$boxed){if(n.type.$kind==="enum"&&(n.type.prototype.$utype===t||t===System.Enum||t===System.IFormattable||t===System.IComparable))return!0;else if(!H5.Reflection.isInterface(t)&&!t.$nullable)return n.type===t||H5.isObject(t)||t===System.ValueType&&H5.Reflection.isValueType(n.type);if(i!==!0&&t.$is)return t.$is(H5.unbox(n,!0));if(H5.Reflection.isAssignableFrom(t,n.type))return!0;n=H5.unbox(n,!0)}if(u=n.constructor===Object&&n.$getType?n.$getType():H5.Reflection.convertType(n.constructor),t.constructor===Function&&n instanceof t||u===t||H5.isObject(t))return!0;if(e=u.$kind||u.$$inherits,o=t.$kind,e||o){if(s=t.$isInterface,s){if(e)return u.$isArrayEnumerator?System.Array.is(n,t):t.isAssignableFrom?t.isAssignableFrom(u):H5.Reflection.getInterfaces(u).indexOf(t)>=0;if(H5.isArray(n,u))return System.Array.is(n,t)}return i!==!0&&t.$is?t.$is(n):t.$literal&&H5.isPlainObject(n)?n.$getType?H5.Reflection.isAssignableFrom(t,n.$getType()):!0:!1}if(f==="string"&&(t=H5.unroll(t)),f==="function"&&H5.getType(n).prototype instanceof t)return!0;if(i!==!0){if(typeof t.$is=="function")return t.$is(n);if(typeof t.isAssignableFrom=="function")return t.isAssignableFrom(H5.getType(n))}return H5.isArray(n)?System.Array.is(n,t):f==="object"&&(u===t||n instanceof t)},as:function(n,t,i){return H5.is(n,t,!1,i)?n!=null&&n.$boxed&&t!==Object&&t!==System.Object?n.v:n:null},cast:function(n,t,i){if(n==null)return n;var r=H5.is(n,t,!1,i)?n:null;if(r===null)throw new System.InvalidCastException.$ctor1("Unable to cast type "+(n?H5.getTypeName(n):"'null'")+" to type "+H5.getTypeName(t));return n.$boxed&&t!==Object&&t!==System.Object?n.v:r},apply:function(n,t,i){for(var f=H5.getPropertyNames(t,!0),r,u=0;u<f.length;u++)r=f[u],typeof n[r]=="function"&&typeof t[r]!="function"?n[r](t[r]):n[r]=t[r];return i&&i.call(n,n),n},copyProperties:function(n,t){for(var u=H5.getPropertyNames(t,!1),r=0;r<u.length;r++){var i=u[r],e=t.hasOwnProperty(i),f=i.split("$").length;e&&(f===1||f===2&&i.match("$d+$"))&&(n[i]=t[i])}return n},merge:function(n,t,i,r){var u,f,p,w,o,y,h,a,e,c,l,s,v;if(n==null)return t;if(n instanceof System.Decimal&&typeof t=="number")return new System.Decimal(t);if(n instanceof System.Int64&&H5.isNumber(t))return new System.Int64(t);if(n instanceof System.UInt64&&H5.isNumber(t))return new System.UInt64(t);if(n instanceof Boolean||H5.isBoolean(n)||typeof n=="number"||n instanceof String||H5.isString(n)||n instanceof Function||H5.isFunction(n)||n instanceof Date||H5.isDate(n)||H5.getType(n).$number)return t;if(H5.isArray(t)&&H5.isFunction(n.add||n.push))for(w=H5.isArray(n)?n.push:n.add,e=0;e<t.length;e++)o=t[e],H5.isArray(o)||(o=[typeof r=="undefined"?o:H5.merge(r(),o)]),w.apply(n,o);else if(y=H5.getType(n),h=y&&y.$descriptors,t)for(u in t){if(f=t[u],a=null,h)for(e=h.length-1;e>=0;e--)if(h[e].name===u){a=h[e];break}if(a!=null)a.set?n[u]=H5.merge(n[u],f):H5.merge(n[u],f);else if(typeof n[u]=="function")u.match(/^\s*get[A-Z]/)?H5.merge(n[u](),f):n[u](f);else if(c="set"+u.charAt(0).toUpperCase()+u.slice(1),l="set"+u,typeof n[c]=="function"&&typeof f!="function")s="g"+c.slice(1),typeof n[s]=="function"?n[c](H5.merge(n[s](),f)):n[c](f);else if(typeof n[l]=="function"&&typeof f!="function")s="g"+l.slice(1),typeof n[s]=="function"?n[l](H5.merge(n[s](),f)):n[l](f);else if(f&&f.constructor===Object&&n[u])p=n[u],H5.merge(p,f);else{if(v=H5.isNumber(t),n[u]instanceof System.Decimal&&v)return new System.Decimal(t);if(n[u]instanceof System.Int64&&v)return new System.Int64(t);if(n[u]instanceof System.UInt64&&v)return new System.UInt64(t);n[u]=f}}else return i&&i.call(n,n),t;return i&&i.call(n,n),n},getEnumerator:function(n,t,i){if(typeof n=="string"&&(n=System.String.toCharArray(n)),arguments.length===2&&H5.isFunction(t)&&(i=t,t=null),t&&n&&n[t])return n[t].call(n);if(!i&&n&&n.GetEnumerator)return n.GetEnumerator();var r;if(i&&H5.isFunction(H5.getProperty(n,r="System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(i)+"$GetEnumerator"))||i&&H5.isFunction(H5.getProperty(n,r="System$Collections$Generic$IEnumerable$1$GetEnumerator"))||H5.isFunction(H5.getProperty(n,r="System$Collections$IEnumerable$GetEnumerator")))return n[r]();if(i&&n&&n.GetEnumerator)return n.GetEnumerator();if(Object.prototype.toString.call(n)==="[object Array]"||n&&H5.isDefined(n.length))return new H5.ArrayEnumerator(n,i);throw new System.InvalidOperationException.$ctor1("Cannot create Enumerator.");},getPropertyNames:function(n,t){var i=[];for(var r in n)(t||typeof n[r]!="function")&&i.push(r);return i},getProperty:function(n,t){return H5.isHtmlAttributeCollection(n)&&!this.isValidHtmlAttributeName(t)?undefined:n[t]},isValidHtmlAttributeName:function(n){if(!n||!n.length)return!1;var t=/^[a-zA-Z_][\w\-]*$/;return t.test(n)},isHtmlAttributeCollection:function(n){return typeof n!="undefined"&&Object.prototype.toString.call(n)==="[object NamedNodeMap]"},isDefined:function(n,t){return typeof n!="undefined"&&(t?n!==null:!0)},isEmpty:function(n,t){return typeof n=="undefined"||n===null||(t?!1:n==="")||(!t&&H5.isArray(n)?n.length===0:!1)},toArray:function(n){var t,r,u,i=[];if(H5.isArray(n))for(t=0,u=n.length;t<u;++t)i.push(n[t]);else for(t=H5.getEnumerator(n);t.moveNext();)r=t.Current,i.push(r);return i},toList:function(n,t){return new(System.Collections.Generic.List$1(t||System.Object).$ctor1)(n)},arrayTypes:[n.Array,n.Uint8Array,n.Int8Array,n.Int16Array,n.Uint16Array,n.Int32Array,n.Uint32Array,n.Float32Array,n.Float64Array,n.Uint8ClampedArray],isArray:function(n,t){var i=t||(n!=null?n.constructor:null);return i?H5.arrayTypes.indexOf(i)>=0||i.$isArray||Array.isArray(n):!1},isFunction:function(n){return typeof n=="function"},isDate:function(n){return n instanceof Date||Object.prototype.toString.call(n)==="[object Date]"},isNull:function(n){return n===null||n===undefined},isBoolean:function(n){return typeof n=="boolean"},isNumber:function(n){return typeof n=="number"&&isFinite(n)},isString:function(n){return typeof n=="string"},unroll:function(n,t){var i,u;if(H5.isArray(n)){for(i=0;i<n.length;i++)u=n[i],H5.isString(u)&&(n[i]=H5.unroll(u,t));return}var f=n.split("."),r=(t||H5.global)[f[0]],i=1;for(i;i<f.length;i++){if(!r)return null;r=r[f[i]]}return r},referenceEquals:function(n,t){return H5.hasValue(n)?n===t:!H5.hasValue(t)},rE:function(n,t){return H5.hasValue(n)?n===t:!H5.hasValue(t)},staticEquals:function(n,t){return H5.hasValue(n)?H5.hasValue(t)?H5.equals(n,t):!1:!H5.hasValue(t)},equals:function(n,t){var i,r,u;return n==null&&t==null?!0:(i=H5.$equalsGuard[H5.$equalsGuard.length-1],i&&i.a===n&&i.b===t)?n===t:(H5.$equalsGuard.push({a:n,b:t}),r=function(n,t){if(n&&n.$boxed&&n.type.equals&&n.type.equals.length===2)return n.type.equals(n,t);if(t&&t.$boxed&&t.type.equals&&t.type.equals.length===2)return t.type.equals(t,n);if(n&&H5.isFunction(n.equals)&&n.equals.length===1)return n.equals(t);if(t&&H5.isFunction(t.equals)&&t.equals.length===1)return t.equals(n);if(H5.isFunction(n)&&H5.isFunction(t))return H5.fn.equals.call(n,t);else if(H5.isDate(n)&&H5.isDate(t))return n.kind!==undefined&&n.ticks!==undefined&&t.kind!==undefined&&t.ticks!==undefined?n.ticks.equals(t.ticks):n.valueOf()===t.valueOf();else if(H5.isNull(n)&&H5.isNull(t))return!0;else if(H5.isNull(n)!==H5.isNull(t))return!1;var i=n===t;return!i&&typeof n=="object"&&typeof t=="object"&&n!==null&&t!==null&&n.$kind==="struct"&&t.$kind==="struct"&&n.$$name===t.$$name?H5.getHashCode(n)===H5.getHashCode(t)&&H5.objectEquals(n,t):!i&&n&&t&&n.hasOwnProperty("Item1")&&H5.isPlainObject(n)&&t.hasOwnProperty("Item1")&&H5.isPlainObject(t)?H5.objectEquals(n,t,!0):i},u=r(n,t),H5.$equalsGuard.pop(),u)},objectEquals:function(n,t,i){H5.$$leftChain=[];H5.$$rightChain=[];var r=H5.deepEquals(n,t,i);return delete H5.$$leftChain,delete H5.$$rightChain,r},deepEquals:function(n,t,i){if(typeof n=="object"&&typeof t=="object"){if(n===t)return!0;if(H5.$$leftChain.indexOf(n)>-1||H5.$$rightChain.indexOf(t)>-1)return!1;for(var r in t)if(t.hasOwnProperty(r)!==n.hasOwnProperty(r))return!1;else if(typeof t[r]!=typeof n[r])return!1;for(r in n){if(t.hasOwnProperty(r)!==n.hasOwnProperty(r))return!1;else if(typeof n[r]!=typeof t[r])return!1;if(n[r]===t[r])continue;else if(typeof n[r]!="object"||i){if(!H5.equals(n[r],t[r]))return!1}else{if(H5.$$leftChain.push(n),H5.$$rightChain.push(t),!H5.deepEquals(n[r],t[r]))return!1;H5.$$leftChain.pop();H5.$$rightChain.pop()}}return!0}else return H5.equals(n,t)},numberCompare:function(n,t){return n<t?-1:n>t?1:n==t?0:isNaN(n)?isNaN(t)?0:-1:1},compare:function(n,t,i,r){if(n&&n.$boxed&&(n=H5.unbox(n,!0)),t&&t.$boxed&&(t=H5.unbox(t,!0)),typeof n=="number"&&typeof t=="number")return H5.numberCompare(n,t);if(H5.isDefined(n,!0)){if(H5.isString(n))return System.String.compare(n,t);else if(H5.isNumber(n)||H5.isBoolean(n))return n<t?-1:n>t?1:0;else if(H5.isDate(n))return n.kind!==undefined&&n.ticks!==undefined?H5.compare(System.DateTime.getTicks(n),System.DateTime.getTicks(t)):H5.compare(n.valueOf(),t.valueOf())}else{if(i)return 0;throw new System.NullReferenceException;}var u;if(r&&H5.isFunction(H5.getProperty(n,u="System$IComparable$1$"+H5.getTypeAlias(r)+"$compareTo"))||r&&H5.isFunction(H5.getProperty(n,u="System$IComparable$1$compareTo"))||H5.isFunction(H5.getProperty(n,u="System$IComparable$compareTo")))return n[u](t);if(H5.isFunction(n.compareTo))return n.compareTo(t);if(r&&H5.isFunction(H5.getProperty(t,u="System$IComparable$1$"+H5.getTypeAlias(r)+"$compareTo"))||r&&H5.isFunction(H5.getProperty(t,u="System$IComparable$1$compareTo"))||H5.isFunction(H5.getProperty(t,u="System$IComparable$compareTo")))return-t[u](n);if(H5.isFunction(t.compareTo))return-t.compareTo(n);if(i)return 0;throw new System.Exception("Cannot compare items");},equalsT:function(n,t,i){if(n&&n.$boxed&&n.type.equalsT&&n.type.equalsT.length===2)return n.type.equalsT(n,t);if(t&&t.$boxed&&t.type.equalsT&&t.type.equalsT.length===2)return t.type.equalsT(t,n);if(H5.isDefined(n,!0)){if(H5.isNumber(n)||H5.isString(n)||H5.isBoolean(n))return n===t;else if(H5.isDate(n))return n.kind!==undefined&&n.ticks!==undefined?System.DateTime.getTicks(n).equals(System.DateTime.getTicks(t)):n.valueOf()===t.valueOf()}else throw new System.NullReferenceException;var r;return i&&n!=null&&H5.isFunction(H5.getProperty(n,r="System$IEquatable$1$"+H5.getTypeAlias(i)+"$equalsT"))?n[r](t):i&&t!=null&&H5.isFunction(H5.getProperty(t,r="System$IEquatable$1$"+H5.getTypeAlias(i)+"$equalsT"))?t[r](n):H5.isFunction(n)&&H5.isFunction(t)?H5.fn.equals.call(n,t):n.equalsT?n.equalsT(t):t.equalsT(n)},format:function(n,t,i){if(n&&n.$boxed)if(n.type.$kind==="enum")return System.Enum.format(n.type,n.v,t);else if(n.type===System.Char)return System.Char.format(H5.unbox(n,!0),t,i);else if(n.type.format)return n.type.format(H5.unbox(n,!0),t,i);if(H5.isNumber(n))return H5.Int.format(n,t,i);else if(H5.isDate(n))return System.DateTime.format(n,t,i);var r;return H5.isFunction(H5.getProperty(n,r="System$IFormattable$format"))?n[r](t,i):n.format(t,i)},getType:function(n,t){var r,i;if(n&&n.$boxed)return n.type;if(n==null)throw new System.NullReferenceException.$ctor1("instance is null");if(t)return r=H5.getType(n),H5.Reflection.isAssignableFrom(t,r)?r:t;if(typeof n=="number")return!isNaN(n)&&isFinite(n)&&Math.floor(n,0)===n?System.Int32:System.Double;if(n.$type)return n.$type;if(n.$getType)return n.$getType();i=null;try{i=n.constructor}catch(o){i=Object}if(i===Object){var f=n.toString(),u=/\[object (.{1,})\]/.exec(f),e=u&&u.length>1?u[1]:"Object";e!="Object"&&(i=n)}return H5.Reflection.convertType(i)},isLower:function(n){var t=String.fromCharCode(n);return t===t.toLowerCase()&&t!==t.toUpperCase()},isUpper:function(n){var t=String.fromCharCode(n);return t!==t.toLowerCase()&&t===t.toUpperCase()},coalesce:function(n,t){return H5.hasValue(n)?n:t},fn:{equals:function(n){if(this===n)return!0;if(n==null||this.constructor!==n.constructor)return!1;if(this.$invocationList&&n.$invocationList){if(this.$invocationList.length!==n.$invocationList.length)return!1;for(var t=0;t<this.$invocationList.length;t++)if(this.$invocationList[t]!==n.$invocationList[t])return!1;return!0}return this.equals&&this.equals===n.equals&&this.$method&&this.$method===n.$method&&this.$scope&&this.$scope===n.$scope},call:function(n,t){var i=Array.prototype.slice.call(arguments,2);return n=n||H5.global,n[t].apply(n,i)},makeFn:function(n,t){switch(t){case 0:return function(){return n.apply(this,arguments)};case 1:return function(t){return n.apply(this,arguments)};case 2:return function(t,i){return n.apply(this,arguments)};case 3:return function(t,i,r){return n.apply(this,arguments)};case 4:return function(t,i,r,u){return n.apply(this,arguments)};case 5:return function(t,i,r,u,f){return n.apply(this,arguments)};case 6:return function(t,i,r,u,f,e){return n.apply(this,arguments)};case 7:return function(t,i,r,u,f,e,o){return n.apply(this,arguments)};case 8:return function(t,i,r,u,f,e,o,s){return n.apply(this,arguments)};case 9:return function(t,i,r,u,f,e,o,s,h){return n.apply(this,arguments)};case 10:return function(t,i,r,u,f,e,o,s,h,c){return n.apply(this,arguments)};case 11:return function(t,i,r,u,f,e,o,s,h,c,l){return n.apply(this,arguments)};case 12:return function(t,i,r,u,f,e,o,s,h,c,l,a){return n.apply(this,arguments)};case 13:return function(t,i,r,u,f,e,o,s,h,c,l,a,v){return n.apply(this,arguments)};case 14:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y){return n.apply(this,arguments)};case 15:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){return n.apply(this,arguments)};case 16:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){return n.apply(this,arguments)};case 17:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){return n.apply(this,arguments)};case 18:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k){return n.apply(this,arguments)};case 19:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d){return n.apply(this,arguments)};default:return function(t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g){return n.apply(this,arguments)}}},cacheBind:function(n,t,i,r){return H5.fn.bind(n,t,i,r,!0)},bind:function(n,t,i,r,u){var e,f;if(t&&t.$method===t&&t.$scope===n)return t;if(n&&u&&n.$$bind)for(e=0;e<n.$$bind.length;e++)if(n.$$bind[e].$method===t)return n.$$bind[e];return f=arguments.length===2?H5.fn.makeFn(function(){H5.caller.unshift(this);var i=null;try{i=t.apply(n,arguments)}finally{H5.caller.shift(this)}return i},t.length):H5.fn.makeFn(function(){var u=i||arguments,f;r===!0?(u=Array.prototype.slice.call(arguments,0),u=u.concat(i)):typeof r=="number"&&(u=Array.prototype.slice.call(arguments,0),r===0?u.unshift.apply(u,i):r<u.length?u.splice.apply(u,[r,0].concat(i)):u.push.apply(u,i));H5.caller.unshift(this);f=null;try{f=t.apply(n,u)}finally{H5.caller.shift(this)}return f},t.length),n&&u&&(n.$$bind=n.$$bind||[],n.$$bind.push(f)),f.$method=t,f.$scope=n,f.equals=H5.fn.equals,f},bindScope:function(n,t){var i=H5.fn.makeFn(function(){var i=Array.prototype.slice.call(arguments,0),r;i.unshift.apply(i,[n]);H5.caller.unshift(this);r=null;try{r=t.apply(n,i)}finally{H5.caller.shift(this)}return r},t.length);return i.$method=t,i.$scope=n,i.equals=H5.fn.equals,i},$build:function(n){if(!n||n.length===0)return null;var t=function(){for(var i=null,r,t=0;t<n.length;t++)r=n[t],i=r.apply(null,arguments);return i};return t.$invocationList=n?Array.prototype.slice.call(n,0):[],n=t.$invocationList.slice(),t},combine:function(n,t){var i,r,u;return!n||!t?(i=n||t,i?H5.fn.$build([i]):i):(r=n.$invocationList?n.$invocationList:[n],u=t.$invocationList?t.$invocationList:[t],H5.fn.$build(r.concat(u)))},getInvocationList:function(n){if(n==null)throw new System.ArgumentNullException;return n.$invocationList||(n.$invocationList=[n]),n.$invocationList},remove:function(n,t){if(!n||!t)return n||null;for(var i=n.$invocationList?n.$invocationList.slice(0):[n],r=t.$invocationList?t.$invocationList:[t],e=[],o,f=-1,u=i.length-r.length;u>=0;u--)if(H5.fn.equalInvocationLists(i,r,u,r.length))return i.length-r.length==0?null:i.length-r.length==1?i[u!=0?0:i.length-1]:(i.splice(u,r.length),H5.fn.$build(i));return n},equalInvocationLists:function(n,t,i,r){for(var u=0;u<r;u=u+1|0)if(!H5.equals(n[System.Array.index(i+u|0,n)],t[System.Array.index(u,t)]))return!1;return!0}},sleep:function(n,t){if(H5.hasValue(t)&&(n=t.getTotalMilliseconds()),isNaN(n)||n<-1||n>2147483647)throw new System.ArgumentOutOfRangeException.$ctor4("timeout","Number must be either non-negative and less than or equal to Int32.MaxValue or -1");n==-1&&(n=2147483647);for(var i=(new Date).getTime();(new Date).getTime()-i<n;)if((new Date).getTime()-i>2147483647)break},getMetadata:function(n){return n.$getMetadata?n.$getMetadata():n.$metadata},loadModule:function(n,t){var f=n.amd,i=n.cjs,h=n.fn,s=new System.Threading.Tasks.TaskCompletionSource,e=H5.global[h||"require"],o,u,r;if(f&&f.length>0)e(f,function(){var r=Array.prototype.slice.call(arguments,0),n;if(i&&i.length>0)for(n=0;n<i.length;n++)r.push(e(i[n]));t.apply(H5.global,r);s.setResult()});else if(i&&i.length>0){for(r=new System.Threading.Tasks.Task,r.status=System.Threading.Tasks.TaskStatus.ranToCompletion,o=[],u=0;u<i.length;u++)o.push(e(i[u]));return t.apply(H5.global,o),r}else return r=new System.Threading.Tasks.Task,r.status=System.Threading.Tasks.TaskStatus.ranToCompletion,r;return s.task}};d.setImmediate=n.setImmediate?n.setImmediate.bind(n):function(){function r(t){if(t.data==i){n=n.next;var r=n.func;delete n.func;r()}}var n={},t=n,i=Math.random();return typeof window!="undefined"&&(window.addEventListener?window.addEventListener("message",r):window.attachEvent("onmessage",r)),function(n){t=t.next={func:n};typeof window!="undefined"&&window.postMessage(i,"*")}}();n.H5=d;n.H5.caller=[];n.H5.$equalsGuard=[];n.H5.$toStringGuard=[];n.console&&(n.H5.Console=n.console);n.System={};n.System.Diagnostics={};n.System.Diagnostics.Contracts={};n.System.Threading={};var i=function(n){return H5.global.navigator&&n.test(H5.global.navigator.userAgent.toLowerCase())},tt=H5.global.document&&H5.global.document.compatMode==="CSS1Compat",v=function(n,t){var i;return H5.global.navigator&&n&&(i=t.exec(navigator.userAgent.toLowerCase()))?parseFloat(i[1]):0},r=H5.global.document?H5.global.document.documentMode:null,p=i(/opera/),pt=p&&i(/version\/10\.5/),it=i(/\bchrome\b/),g=i(/webkit/),c=!it&&i(/safari/),wt=c&&i(/applewebkit\/4/),bt=c&&i(/version\/3/),kt=c&&i(/version\/4/),dt=c&&i(/version\/5\.0/),gt=c&&i(/version\/5/),u=!p&&(i(/msie/)||i(/trident/)),o=u&&(i(/msie 7/)&&r!==8&&r!==9&&r!==10||r===7),s=u&&(i(/msie 8/)&&r!==7&&r!==9&&r!==10||r===8),l=u&&(i(/msie 9/)&&r!==7&&r!==8&&r!==10||r===9),w=u&&(i(/msie 10/)&&r!==7&&r!==8&&r!==9||r===10),rt=u&&(i(/trident\/7\.0/)&&r!==7&&r!==8&&r!==9&&r!==10||r===11),e=u&&i(/msie 6/),y=!g&&!u&&i(/gecko/),b=y&&i(/rv:1\.9/),ni=y&&i(/rv:2\.0/),ti=y&&i(/rv:5\./),ii=y&&i(/rv:10\./),ri=b&&i(/rv:1\.9\.0/),ui=b&&i(/rv:1\.9\.1/),fi=b&&i(/rv:1\.9\.2/),ut=i(/windows|win32/),ft=i(/macintosh|mac os x/),et=i(/linux/),bi=null,ei=v(!0,/\bchrome\/(\d+\.\d+)/),a=v(!0,/\bfirefox\/(\d+\.\d+)/),oi=v(u,/msie (\d+\.\d+)/),si=v(p,/version\/(\d+\.\d+)/),hi=v(c,/version\/(\d+\.\d+)/),ci=v(g,/webkit\/(\d+\.\d+)/),li=H5.global.location?/^https/i.test(H5.global.location.protocol):!1,ot=H5.global.navigator&&/iPhone/i.test(H5.global.navigator.platform),st=H5.global.navigator&&/iPod/i.test(H5.global.navigator.platform),nt=H5.global.navigator&&/iPad/i.test(H5.global.navigator.userAgent),ai=H5.global.navigator&&/Blackberry/i.test(H5.global.navigator.userAgent),ht=H5.global.navigator&&/Android/i.test(H5.global.navigator.userAgent),ct=ft||ut||et&&!ht,lt=nt,vi=!ct&&!lt,yi={isStrict:tt,isIEQuirks:u&&!tt&&(e||o||s||l),isOpera:p,isOpera10_5:pt,isWebKit:g,isChrome:it,isSafari:c,isSafari3:bt,isSafari4:kt,isSafari5:gt,isSafari5_0:dt,isSafari2:wt,isIE:u,isIE6:e,isIE7:o,isIE7m:e||o,isIE7p:u&&!e,isIE8:s,isIE8m:e||o||s,isIE8p:u&&!(e||o),isIE9:l,isIE9m:e||o||s||l,isIE9p:u&&!(e||o||s),isIE10:w,isIE10m:e||o||s||l||w,isIE10p:u&&!(e||o||s||l),isIE11:rt,isIE11m:e||o||s||l||w||rt,isIE11p:u&&!(e||o||s||l||w),isGecko:y,isGecko3:b,isGecko4:ni,isGecko5:ti,isGecko10:ii,isFF3_0:ri,isFF3_5:ui,isFF3_6:fi,isFF4:4<=a&&a<5,isFF5:5<=a&&a<6,isFF10:10<=a&&a<11,isLinux:et,isWindows:ut,isMac:ft,chromeVersion:ei,firefoxVersion:a,ieVersion:oi,operaVersion:si,safariVersion:hi,webKitVersion:ci,isSecure:li,isiPhone:ot,isiPod:st,isiPad:nt,isBlackberry:ai,isAndroid:ht,isDesktop:ct,isTablet:lt,isPhone:vi,iOS:ot||nt||st,standalone:H5.global.navigator?!!H5.global.navigator.standalone:!1};H5.Browser=yi;at={_initialize:function(){this.$init||(this.$init={},this.$staticInit&&this.$staticInit(),this.$initMembers&&this.$initMembers())},initConfig:function(n,t,i,r,u,f){var v,e,l=r?u:u.ctor,s=l.$descriptors,w=l.$aliases,y,o,h,p,a,c;if(i.fields)for(e in i.fields)u[e]=i.fields[e];if(y=i.properties,y)for(e in y){if(o=y[e],o!=null&&H5.isPlainObject(o)&&(!o.get||!o.set)){for(a=0;a<s.length;a++)s[a].name===e&&(h=s[a]);h&&h.get&&!o.get&&(o.get=h.get);h&&h.set&&!o.set&&(o.set=h.set)}p=H5.property(r?u:f,e,o,r,l);p.name=e;p.cls=l;s.push(p)}if(i.events)for(e in i.events)H5.event(u,e,i.events[e],r);if(i.alias)for(c=0;c<i.alias.length;c++)(function(n,t,i,r){for(var l,c,e,o=null,h=s.length-1;h>=0;h--)if(s[h].name===t){o=s[h];break}for(l=Array.isArray(i)?i:[i],c=0;c<l.length;c++)i=l[c],o!=null?(Object.defineProperty(n,i,o),w.push({alias:i,descriptor:o})):(u.hasOwnProperty(t)||!f?(e=u[t],e===undefined&&f&&(e=f[t])):(e=f[t],e===undefined&&(e=u[t])),H5.isFunction(e)?(n[i]=e,w.push({fn:t,alias:i})):(o={get:function(){return this[t]},set:function(n){this[t]=n}},Object.defineProperty(n,i,o),w.push({alias:i,descriptor:o})))})(r?u:f,i.alias[c],i.alias[c+1],l),c++;i.init&&(v=i.init);(v||n&&!r&&t.$initMembers)&&(u.$initMembers=function(){n&&!r&&t.$initMembers&&t.$initMembers.call(this);v&&v.call(this)})},convertScheme:function(n){var t={},i=function(n,t){for(var u,i,r,o=["fields","methods","events","props","properties","alias","ctors"],e=Object.keys(n),f=0;f<e.length;f++)u=e[f],o.indexOf(u)===-1&&(t[u]=n[u]);n.fields&&H5.apply(t,n.fields);n.methods&&H5.apply(t,n.methods);i={};r=!1;n.props?(i.properties=n.props,r=!0):n.properties&&(i.properties=n.properties,r=!0);n.events&&(i.events=n.events,r=!0);n.alias&&(i.alias=n.alias,r=!0);n.ctors&&(n.ctors.init&&(i.init=n.ctors.init,r=!0,delete n.ctors.init),H5.apply(t,n.ctors));r&&(t.$config=i)};return n.main&&(t.$main=n.main,delete n.main),i(n,t),(n.statics||n.$statics)&&(t.$statics={},i(n.statics||n.$statics,t.$statics)),t},definei:function(n,t,i){(i===!0||!i)&&t?t.$kind="interface":i?i.$kind="interface":t={$kind:"interface"};var r=H5.define(n,t,i);return r.$kind="interface",r.$isInterface=!0,r},define:function(n,t,i,r){var v=!1,l,rt,u,et,g,vt,a,b,nt,tt,it,c,ot;if(i===!0?(v=!0,i=t,t=H5.global):i||(i=t,t=H5.global),H5.isFunction(i))return l=function(){var t,r,f,u;return(r=H5.Class.getCachedType(l,arguments),r)?r.type:(t=Array.prototype.slice.call(arguments),f=i.apply(null,t),u=H5.define(H5.Class.genericName(n,t),f,!0,{fn:l,args:t}),H5.Class.staticInitAllow||H5.Class.queueIsBlocked||H5.Class.$queue.push(u),H5.get(u))},l.$cache=[],H5.Class.generic(n,t,l,i);v||(H5.Class.staticInitAllow=!1);i=i||{};i.$kind=i.$kind||"class";rt=!1;i.$kind.match("^nested ")!==null&&(rt=!0,i.$kind=i.$kind.substr(7));i.$kind!=="enum"||i.inherits||(i.inherits=[System.IComparable,System.IFormattable]);var ut=["fields","events","props","ctors","methods"],st=H5.isFunction(i.main)?0:1,ht=function(n){if(n.config&&H5.isPlainObject(n.config)||n.$main&&H5.isFunction(n.$main)||n.hasOwnProperty("ctor")&&H5.isFunction(n.ctor))return st=1,!1;if(n.alias&&H5.isArray(n.alias)&&n.alias.length>0&&n.alias.length%2==0)return!0;for(var t=0;t<ut.length;t++)if(n[ut[t]]&&H5.isPlainObject(n[ut[t]]))return!0;return!1},w=ht(i);!w&&i.statics&&(w=ht(i.statics));w||(w=st==0);w&&(i=H5.Class.convertScheme(i));var f=i.$inherits||i.inherits,s=i.$statics||i.statics,ct=i.$entryPoint,y,e,lt=i.$scope||t||H5.global,k=H5.global.System&&H5.global.System.Object||Object,h,at,d,p,o,ft=!0;if(i.$kind==="enum"&&(f=[System.Enum]),i.$noRegister===!0&&(ft=!1,delete i.$noRegister),i.$inherits?delete i.$inherits:delete i.inherits,ct&&delete i.$entryPoint,H5.isFunction(s)?s=null:i.$statics?delete i.$statics:delete i.statics,a=i.hasOwnProperty("ctor")&&i.ctor,a?u=a:(u=i.$literal?function(n){return n=n||{},n.$getType=function(){return u},n}:function(){this.$initialize();u.$base&&(u.$$inherits&&u.$$inherits.length>0&&u.$$inherits[0].$staticInit&&u.$$inherits[0].$staticInit(),u.$base.ctor?u.$base.ctor.call(this):H5.isFunction(u.$base.constructor)&&u.$base.constructor.call(this))},i.ctor=u),i.$literal&&(s&&s.createInstance||(u.createInstance=function(){var n={};return n.$getType=function(){return u},n}),u.$literal=!0,delete i.$literal),!v&&ft&&(lt=H5.Class.set(lt,n,u)),r&&r.fn.$cache.push({type:u,args:r.args}),u.$$name=n,rt&&(et=u.$$name.lastIndexOf("."),u.$$name=u.$$name.substr(0,et)+"+"+u.$$name.substr(et+1)),u.$kind=i.$kind,i.$module&&(u.$module=i.$module),i.$metadata&&(u.$metadata=i.$metadata),r&&v){for(u.$genericTypeDefinition=r.fn,u.$typeArguments=r.args,u.$assembly=r.fn.$assembly||H5.$currentAssembly,g=H5.Reflection.getTypeFullName(r.fn),h=0;h<r.args.length;h++)g+=(h===0?"[":",")+"["+H5.Reflection.getTypeQName(r.args[h])+"]";g+="]";u.$$fullname=g}else u.$$fullname=u.$$name;f&&H5.isFunction(f)&&(f=f());H5.Class.createInheritors(u,f);vt=f?f[0].$kind==="interface":!0;vt&&(f=null);y=f?f[0].prototype:this.prototype;u.$base=y;f&&!f[0].$$initCtor?(a=f[0],b=function(){},b.prototype=a.prototype,b.prototype.constructor=a,b.prototype.$$fullname=H5.Reflection.getTypeFullName(a),e=new b):e=f?new f[0].$$initCtor:k.$$initCtor?new k.$$initCtor:new k;u.$$initCtor=function(){};u.$$initCtor.prototype=e;u.$$initCtor.prototype.constructor=u;u.$$initCtor.prototype.$$fullname=r&&v?u.$$fullname:u.$$name;s&&(nt=s.$config||s.config,nt&&!H5.isFunction(nt)&&(H5.Class.initConfig(f,y,nt,!0,u),s.$config?delete s.$config:delete s.config));tt=i.$config||i.config;tt&&!H5.isFunction(tt)?(H5.Class.initConfig(f,y,tt,!1,i,e),i.$config?delete i.$config:delete i.config):f&&y.$initMembers&&(i.$initMembers=function(){y.$initMembers.call(this)});i.$initialize=H5.Class._initialize;it=[];for(o in i)it.push(o);for(h=0;h<it.length;h++)o=it[h],at=i[o],d=o==="ctor",p=o,H5.isFunction(at)&&(d||o.match("^\\$ctor")!==null)&&(d=!0),c=i[o],d?(u[p]=c,u[p].prototype=e,u[p].prototype.constructor=u,e[p]=c):e[p]=c;if(e.$$name=n,e.toJSON||(e.toJSON=H5.Class.toJSON),s){for(o in s)c=s[o],o==="ctor"?u.$ctor=c:(i.$kind!=="enum"||H5.isFunction(c)||o.charAt(0)==="$"||(u.$names=u.$names||[],u.$names.push({name:o,value:c})),u[o]=c);i.$kind==="enum"&&u.$names&&(u.$names=u.$names.sort(function(n,t){return H5.isFunction(n.value.eq)?n.value.sub(t.value).sign():n.value-t.value}).map(function(n){return n.name}))}return f||(f=[k].concat(u.$interfaces)),H5.Class.setInheritors(u,f),l=function(){H5.Class.staticInitAllow&&!u.$isGenericTypeDefinition&&(u.$staticInit=null,u.$initMembers&&u.$initMembers(),u.$ctor&&u.$ctor())},(ct||H5.isFunction(e.$main))&&(e.$main&&(ot=e.$main.name||"Main",u[ot]||(u[ot]=e.$main)),H5.Class.$queueEntry.push(u)),u.$staticInit=l,!v&&ft&&H5.Class.registerType(n,u),H5.Reflection&&(u.$getMetadata=H5.Reflection.getMetadata),u.$kind==="enum"&&(u.prototype.$utype||(u.prototype.$utype=System.Int32),u.$is=function(n){var t=u.prototype.$utype;return t===String?typeof n=="string":t&&t.$is?t.$is(n):typeof n=="number"},u.getDefaultValue=function(){var n=u.prototype.$utype;return n===String||n===System.String?null:0}),u.$kind==="interface"&&(u.prototype.$variance&&(u.isAssignableFrom=H5.Class.varianceAssignable),u.$isInterface=!0),u},toCtorString:function(){return H5.Reflection.getTypeName(this)},createInheritors:function(n,t){var c=[],f=[],l=[],a=[],e,i,u;if(t)for(e=0;e<t.length;e++){var r=t[e],o=(r.$interfaces||[]).concat(r.$baseInterfaces||[]),s=r.$descriptors,h=r.$aliases;if(s&&s.length>0)for(i=0;i<s.length;i++)l.push(s[i]);if(h&&h.length>0)for(i=0;i<h.length;i++)a.push(h[i]);if(o.length>0)for(u=0;u<o.length;u++)f.indexOf(o[u])<0&&f.push(o[u]);r.$kind==="interface"&&c.push(r)}n.$descriptors=l;n.$aliases=a;n.$baseInterfaces=f;n.$interfaces=c;n.$allInterfaces=c.concat(f)},toJSON:function(){var e={},o=H5.getType(this),i=o.$descriptors||[],n,r,u,t,f;for(n in this){if(r=this.hasOwnProperty(n),u=null,!r)for(t=i.length-1;t>=0;t--)if(i[t].name===n){u=i[t];break}f=n.split("$").length;(r||u!=null)&&(f===1||f===2&&n.match("$d+$"))&&(e[n]=this[n])}return e},setInheritors:function(n,t){var i,r;for(n.$$inherits=t,i=0;i<t.length;i++)r=t[i],r.$$inheritors||(r.$$inheritors=[]),r.$$inheritors.push(n)},varianceAssignable:function(n){var r=function(n,t){var i;if(t.$genericTypeDefinition===n.$genericTypeDefinition&&t.$typeArguments.length===n.$typeArguments.length){for(i=0;i<n.$typeArguments.length;i++){var f=n.prototype.$variance[i],r=n.$typeArguments[i],u=t.$typeArguments[i];switch(f){case 1:if(!H5.Reflection.isAssignableFrom(r,u))return!1;break;case 2:if(!H5.Reflection.isAssignableFrom(u,r))return!1;break;default:if(u!==r)return!1}}return!0}return!1},i,t;if(n.$kind==="interface"&&r(this,n))return!0;for(i=H5.Reflection.getInterfaces(n),t=0;t<i.length;t++)if(i[t]===this||r(this,i[t]))return!0;return!1},registerType:function(n,t){H5.$currentAssembly&&(H5.$currentAssembly.$types[n]=t,t.$assembly=H5.$currentAssembly)},addExtend:function(n,t){var f,i,r,u;for(Array.prototype.push.apply(n.$$inherits,t),n.$interfaces=n.$interfaces||[],n.$baseInterfaces=n.$baseInterfaces||[],f=0;f<t.length;f++){if(i=t[f],i.$$inheritors||(i.$$inheritors=[]),i.$$inheritors.push(n),r=(i.$interfaces||[]).concat(i.$baseInterfaces||[]),r.length>0)for(u=0;u<r.length;u++)n.$baseInterfaces.indexOf(r[u])<0&&n.$baseInterfaces.push(r[u]);i.$kind==="interface"&&n.$interfaces.push(i)}n.$allInterfaces=n.$interfaces.concat(n.$baseInterfaces)},set:function(n,t,i,r){for(var u=t.split("."),o,h,e,s,f=0;f<u.length-1;f++)typeof n[u[f]]=="undefined"&&(n[u[f]]={}),n=n[u[f]];if(o=u[u.length-1],e=n[o],e){if(e.$$name===t)throw"Class '"+t+"' is already defined";for(h in e)s=e[h],typeof s=="function"&&s.$$name&&function(n,t,i){Object.defineProperty(n,t,{get:function(){return H5.Class.staticInitAllow&&(i.$staticInit&&i.$staticInit(),H5.Class.defineProperty(n,t,i)),i},set:function(n){i=n},enumerable:!0,configurable:!0})}(i,h,s)}return r!==!0?function(n,t,i){Object.defineProperty(n,t,{get:function(){return H5.Class.staticInitAllow&&(i.$staticInit&&i.$staticInit(),H5.Class.defineProperty(n,t,i)),i},set:function(n){i=n},enumerable:!0,configurable:!0})}(n,o,i):n[o]=i,n},defineProperty:function(n,t,i){Object.defineProperty(n,t,{value:i,enumerable:!0,configurable:!0})},genericName:function(n,t){for(var r,u=n,i=0;i<t.length;i++)r=t[i],u+="$"+(r.$$name||H5.getTypeName(r));return u},getCachedType:function(n,t){for(var e=n.$cache,o=e.length,i,f,r,u=0;u<o;u++)if(i=e[u],i.args.length===t.length){for(f=!0,r=0;r<i.args.length;r++)if(i.args[r]!==t[r]){f=!1;break}if(f)return i}return null},generic:function(n,t,i,r){return i.$$name=n,i.$kind="class",H5.Class.set(t,n,i,!0),H5.Class.registerType(n,i),i.$typeArgumentCount=r.length,i.$isGenericTypeDefinition=!0,i.$getMetadata=H5.Reflection.getMetadata,i.$staticInit=function(){var f,e,t,n,u,o;i.$typeArguments=H5.Reflection.createTypeParams(r);f=H5.Class.staticInitAllow;e=H5.Class.queueIsBlocked;H5.Class.staticInitAllow=!1;H5.Class.queueIsBlocked=!0;t=r.apply(null,i.$typeArguments);n=t.$inherits||t.inherits;H5.Class.staticInitAllow=f;H5.Class.queueIsBlocked=e;n&&H5.isFunction(n)&&(n=n());H5.Class.createInheritors(i,n);u=H5.global.System&&H5.global.System.Object||Object;n||(n=[u].concat(i.$interfaces));H5.Class.setInheritors(i,n);o=n?n[0].$$initCtor?new n[0].$$initCtor:new n[0]:new u;i.prototype=o;i.prototype.constructor=i;i.$kind=t.$kind||"class";t.$module&&(i.$module=t.$module)},H5.Class.$queue.push(i),i},init:function(n){var u,f,r,o,e,t,i;if(H5.Reflection&&(u=H5.Reflection.deferredMeta,f=u.length,f>0))for(H5.Reflection.deferredMeta=[],t=0;t<f;t++)r=u[t],H5.setMetadata(r.typeName,r.metadata,r.ns);if(n){o=H5.Class.staticInitAllow;H5.Class.staticInitAllow=!0;n();H5.Class.staticInitAllow=o;return}for(H5.Class.staticInitAllow=!0,e=H5.Class.$queue.concat(H5.Class.$queueEntry),H5.Class.$queue.length=0,H5.Class.$queueEntry.length=0,t=0;t<e.length;t++)i=e[t],i.$staticInit&&i.$staticInit(),i.prototype.$main&&(function(n,t){H5.ready(function(){var i=n[t]();i&&i.continueWith&&i.continueWith(function(){setTimeout(function(){i.getAwaitedResult()},0)})})}(i,i.prototype.$main.name||"Main"),i.prototype.$main=null)}};H5.Class=at;H5.Class.$queue=[];H5.Class.$queueEntry=[];H5.define=H5.Class.define;H5.definei=H5.Class.definei;H5.init=H5.Class.init;H5.TCS=pi;H5.STEP=wi;H5.assemblyVersion=function(n,t){System.Reflection.Assembly.versions[n||"H5.$Unknown"]=t};H5.assembly=function(n,t,i,r){var u,f,e;i||(i=t,t={});n=n||"H5.$Unknown";u=System.Reflection.Assembly.assemblies[n];u?H5.apply(u.res,t||{}):u=new System.Reflection.Assembly(n,t);f=H5.$currentAssembly;H5.$currentAssembly=u;i&&(e=H5.Class.staticInitAllow,H5.Class.staticInitAllow=!1,i.call(H5.global,u,H5.global),H5.Class.staticInitAllow=e);H5.init();r&&(H5.$currentAssembly=f)};H5.define("System.Reflection.Assembly",{statics:{assemblies:{},versions:{}},ctor:function(n,t){this.$initialize();this.name=n;this.res=t||{};this.$types={};this.$={};System.Reflection.Assembly.assemblies[n]=this},toString:function(){return this.name},getVersion:function(){return System.Reflection.Assembly.versions[this.name]||""},getManifestResourceNames:function(){return Object.keys(this.res)},getManifestResourceDataAsBase64:function(n,t){return arguments.length===1&&(t=n,n=null),n&&(t=H5.Reflection.getTypeNamespace(n)+"."+t),this.res[t]||null},getManifestResourceData:function(n,t){arguments.length===1&&(t=n,n=null);n&&(t=H5.Reflection.getTypeNamespace(n)+"."+t);var i=this.res[t];return i?System.Convert.fromBase64String(i):null},getCustomAttributes:function(n){return this.attr&&n&&!H5.isBoolean(n)?this.attr.filter(function(t){return H5.is(t,n)}):this.attr||[]}});H5.$currentAssembly=new System.Reflection.Assembly("mscorlib");H5.SystemAssembly=H5.$currentAssembly;H5.SystemAssembly.$types["System.Reflection.Assembly"]=System.Reflection.Assembly;System.Reflection.Assembly.$assembly=H5.SystemAssembly;f=H5.$currentAssembly;H5.define("System.Object",{});H5.define("System.Void",{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new System.Void}}},methods:{$clone:function(n){return this}}});H5.init(function(){H5.SystemAssembly.version="";H5.SystemAssembly.compiler="0.0.23539"});H5.define("H5.Utils.SystemAssemblyVersion");H5.Reflection={deferredMeta:[],setMetadata:function(n,t,i){if(H5.isString(n)){var r=n;if(n=H5.unroll(r),n==null){H5.Reflection.deferredMeta.push({typeName:r,metadata:t,ns:i});return}}i=H5.unroll(i);n.$getMetadata=H5.Reflection.getMetadata;n.$metadata=t},initMetaData:function(n,t){var u,i,r;if(t.m)for(u=0;u<t.m.length;u++)if(i=t.m[u],i.td=n,i.ad&&(i.ad.td=n),i.r&&(i.r.td=n),i.g&&(i.g.td=n),i.s&&(i.s.td=n),i.tprm&&H5.isArray(i.tprm))for(r=0;r<i.tprm.length;r++)i.tprm[r]=H5.Reflection.createTypeParam(i.tprm[r],n,i,r);n.$metadata=t;n.$initMetaData=!0},getMetadata:function(){var n,t;return!this.$metadata&&this.$genericTypeDefinition&&(this.$metadata=this.$genericTypeDefinition.$factoryMetadata||this.$genericTypeDefinition.$metadata),n=this.$metadata,typeof n=="function"&&(this.$isGenericTypeDefinition&&!this.$factoryMetadata&&(this.$factoryMetadata=this.$metadata),this.$typeArguments?n=this.$metadata.apply(null,this.$typeArguments):this.$isGenericTypeDefinition?(t=H5.Reflection.createTypeParams(this.$metadata),this.$typeArguments=t,n=this.$metadata.apply(null,t)):n=this.$metadata()),!this.$initMetaData&&n&&H5.Reflection.initMetaData(this,n),n},createTypeParams:function(n,t){for(var f=[],u=n.toString(),r=u.slice(u.indexOf("(")+1,u.indexOf(")")).match(/([^\s,]+)/g)||[],i=0;i<r.length;i++)f.push(H5.Reflection.createTypeParam(r[i],t,null,i));return f},createTypeParam:function(n,t,i,r){var u=function(){};return u.$$name=n,u.$isTypeParameter=!0,t&&(u.td=t),i&&(u.md=i),r!=null&&(u.gPrmPos=r),u},load:function(n){return System.Reflection.Assembly.assemblies[n]||require(n)},getGenericTypeDefinition:function(n){if(n.$isGenericTypeDefinition)return n;if(!n.$genericTypeDefinition)throw new System.InvalidOperationException.$ctor1("This operation is only valid on generic types.");return n.$genericTypeDefinition},getGenericParameterCount:function(n){return n.$typeArgumentCount||0},getGenericArguments:function(n){return n.$typeArguments||[]},getMethodGenericArguments:function(n){return n.tprm||[]},isGenericTypeDefinition:function(n){return n.$isGenericTypeDefinition||!1},isGenericType:function(n){return n.$genericTypeDefinition!=null||H5.Reflection.isGenericTypeDefinition(n)},convertType:function(n){return n===Boolean?System.Boolean:n===String?System.String:n===Object?System.Object:n===Date?System.DateTime:n},getBaseType:function(n){var t,i;if(H5.isObject(n)||H5.Reflection.isInterface(n)||n.prototype==null)return null;else if(Object.getPrototypeOf)return H5.Reflection.convertType(Object.getPrototypeOf(n.prototype).constructor);else{if(t=n.prototype,Object.prototype.hasOwnProperty.call(t,"constructor"))try{return i=t.constructor,delete t.constructor,H5.Reflection.convertType(t.constructor)}finally{t.constructor=i}return H5.Reflection.convertType(t.constructor)}},getTypeFullName:function(n){var t,u,r,f,i,e;if(n.$$fullname?t=n.$$fullname:n.$$name&&(t=n.$$name),t)return u=H5.Reflection.getTypeNamespace(n,t),u&&(r=t.indexOf("["),i=t.substring(u.length+1,r===-1?t.length:r),new RegExp(/[\.\$]/).test(i)&&(t=u+"."+i.replace(/\.|\$/g,function(n){return n==="."?"+":"`"})+(r===-1?"":t.substring(r)))),t;if(n.constructor===Object)return t=n.toString(),f=/\[object (.{1,})\]/.exec(t),i=f&&f.length>1?f[1]:"Object",i=="Object"?"System.Object":i;else t=n.constructor===Function?n.toString():n.constructor.toString();return(e=/function (.{1,})\(/.exec(t),e&&e.length>1)?e[1]:"System.Object"},_makeQName:function(n,t){return n+(t?", "+t.name:"")},getTypeQName:function(n){return H5.Reflection._makeQName(H5.Reflection.getTypeFullName(n),n.$assembly)},getTypeName:function(n){var t=H5.Reflection.getTypeFullName(n),i=t.indexOf("["),u=t.lastIndexOf("+",i>=0?i:t.length),r=u>-1?u:t.lastIndexOf(".",i>=0?i:t.length),f=r>0?i>=0?t.substring(r+1,i):t.substr(r+1):t;return n.$isArray?f+"[]":f},getTypeNamespace:function(n,t){var i=t||H5.Reflection.getTypeFullName(n),f=i.indexOf("["),e=i.lastIndexOf(".",f>=0?f:i.length),r=e>0?i.substr(0,e):"",u;return n.$assembly&&(u=H5.Reflection._getAssemblyType(n.$assembly,r),u&&(r=H5.Reflection.getTypeNamespace(u))),r},getTypeAssembly:function(n){return n.$isArray?H5.Reflection.getTypeAssembly(n.$elementType):System.Array.contains([Date,Number,Boolean,String,Function,Array],n)?H5.SystemAssembly:n.$assembly||H5.SystemAssembly},_extractArrayRank:function(n){var i=-1,t=/<(\d+)>$/g.exec(n);return t&&(n=n.substring(0,t.index),i=parseInt(t[1])),t=/\[(,*)\]$/g.exec(n),t&&(n=n.substring(0,t.index),i=t[1].length+1),{rank:i,name:n}},_getAssemblyType:function(n,t){var s=!1,r=-1,e,u,o,i,f;if(new RegExp(/[\+\`]/).test(t)&&(t=t.replace(/\+|\`/g,function(n){return n==="+"?".":"$"})),n||(n=H5.SystemAssembly,s=!0),e=H5.Reflection._extractArrayRank(t),r=e.rank,t=e.name,n.$types){if(u=n.$types[t]||null,u)return r>-1?System.Array.type(u,r):u;if(n.name==="mscorlib")n=H5.global;else return null}for(o=t.split("."),i=n,f=0;f<o.length;f++)if(i=i[o[f]],!i)return null;return typeof i!="function"||!s&&i.$assembly&&n.name!==i.$assembly.name?null:r>-1?System.Array.type(i,r):i},getAssemblyTypes:function(n){var t=[],i,r;if(n.$types)for(i in n.$types)n.$types.hasOwnProperty(i)&&t.push(n.$types[i]);else r=function(n,i){for(var u in n)n.hasOwnProperty(u)&&r(n[u],u);typeof n=="function"&&H5.isUpper(i.charCodeAt(0))&&t.push(n)},r(n,"");return t},createAssemblyInstance:function(n,t){var i=H5.Reflection.getType(t,n);return i?H5.createInstance(i):null},getInterfaces:function(n){var t;return n.$allInterfaces?n.$allInterfaces:n===Date?[System.IComparable$1(Date),System.IEquatable$1(Date),System.IComparable,System.IFormattable]:n===Number?[System.IComparable$1(H5.Int),System.IEquatable$1(H5.Int),System.IComparable,System.IFormattable]:n===Boolean?[System.IComparable$1(Boolean),System.IEquatable$1(Boolean),System.IComparable]:n===String?[System.IComparable$1(String),System.IEquatable$1(String),System.IComparable,System.ICloneable,System.Collections.IEnumerable,System.Collections.Generic.IEnumerable$1(System.Char)]:n===Array||n.$isArray||(t=System.Array._typedArrays[H5.getTypeName(n)])?(t=t||n.$elementType||System.Object,[System.Collections.IEnumerable,System.Collections.ICollection,System.ICloneable,System.Collections.IList,System.Collections.Generic.IEnumerable$1(t),System.Collections.Generic.ICollection$1(t),System.Collections.Generic.IList$1(t)]):[]},isInstanceOfType:function(n,t){return H5.is(n,t)},isAssignableFrom:function(n,t){if(n==null)throw new System.NullReferenceException;if(t==null)return!1;if(n===t||H5.isObject(n))return!0;if(H5.isFunction(n.isAssignableFrom))return n.isAssignableFrom(t);if(t===Array)return System.Array.is([],n);if(H5.Reflection.isInterface(n)&&System.Array.contains(H5.Reflection.getInterfaces(t),n))return!0;if(n.$elementType&&n.$isArray&&t.$elementType&&t.$isArray)return H5.Reflection.isValueType(n.$elementType)!==H5.Reflection.isValueType(t.$elementType)?!1:n.$rank===t.$rank&&H5.Reflection.isAssignableFrom(n.$elementType,t.$elementType);var r=t.$$inherits,i,u;if(r){for(i=0;i<r.length;i++)if(u=H5.Reflection.isAssignableFrom(n,r[i]),u)return!0}else return n.isPrototypeOf(t);return!1},isClass:function(n){return n.$kind==="class"||n.$kind==="nested class"||n===Array||n===Function||n===RegExp||n===String||n===Error||n===Object},isEnum:function(n){return n.$kind==="enum"},isFlags:function(n){return!!(n.prototype&&n.prototype.$flags)},isInterface:function(n){return n.$kind==="interface"||n.$kind==="nested interface"},isAbstract:function(n){return n===Function||n===System.Type?!0:(H5.Reflection.getMetaValue(n,"att",0)&128)!=0},_getType:function(n,t,i,r){var v=!i,o,c,l,a,s;v&&(n=n.replace(/\[(,*)\]/g,function(n,t){return"<"+(t.length+1)+">"}));o=function(){for(;;){var t=i.exec(n);if((!t||t[0]!="["||n[t.index+1]!=="]"&&n[t.index+1]!==",")&&(!t||t[0]!="]"||n[t.index-1]!=="["&&n[t.index-1]!==",")&&(!t||t[0]!=","||n[t.index+1]!=="]"&&n[t.index+1]!==","))return t}};i=i||/[[,\]]/g;var y=i.lastIndex,f=o(),e,h=[],u,p=!t;if(f){e=n.substring(y,f.index);switch(f[0]){case"[":if(n[f.index+1]!=="[")return null;for(;;){if(o(),u=H5.Reflection._getType(n,null,i),!u)return null;if(h.push(u),f=o(),f[0]==="]")break;else if(f[0]!==",")return null}if(c=/^\s*<(\d+)>/g.exec(n.substring(f.index+1)),c&&(e=e+"<"+parseInt(c[1])+">"),f=o(),f&&f[0]===","&&(o(),!(t=System.Reflection.Assembly.assemblies[(i.lastIndex>0?n.substring(f.index+1,i.lastIndex-1):n.substring(f.index+1)).trim()])))return null;break;case"]":break;case",":if(o(),!(t=System.Reflection.Assembly.assemblies[(i.lastIndex>0?n.substring(f.index+1,i.lastIndex-1):n.substring(f.index+1)).trim()]))return null;break}}else e=n.substring(y);if(v&&i.lastIndex)return null;if(e=e.trim(),l=H5.Reflection._extractArrayRank(e),a=l.rank,e=l.name,u=H5.Reflection._getAssemblyType(t,e),r)return u;if(!u&&p)for(s in System.Reflection.Assembly.assemblies)if(System.Reflection.Assembly.assemblies.hasOwnProperty(s)&&System.Reflection.Assembly.assemblies[s]!==t&&(u=H5.Reflection._getType(n,System.Reflection.Assembly.assemblies[s],null,!0),u))break;return u=h.length?u.apply(null,h):u,u&&u.$staticInit&&u.$staticInit(),a>-1&&(u=System.Array.type(u,a)),u},getType:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("typeName");return n?H5.Reflection._getType(n,t):null},isPrimitive:function(n){return n===System.Int64||n===System.UInt64||n===System.Double||n===System.Single||n===System.Byte||n===System.SByte||n===System.Int16||n===System.UInt16||n===System.Int32||n===System.UInt32||n===System.Boolean||n===Boolean||n===System.Char||n===Number?!0:!1},canAcceptNull:function(n){return n.$kind==="struct"||n.$kind==="enum"||n===System.Decimal||n===System.Int64||n===System.UInt64||n===System.Double||n===System.Single||n===System.Byte||n===System.SByte||n===System.Int16||n===System.UInt16||n===System.Int32||n===System.UInt32||n===H5.Int||n===System.Boolean||n===System.DateTime||n===Boolean||n===Date||n===Number?!1:!0},applyConstructor:function(n,t){var a,f,s,h,e,i,r,c,o,u,l;if(!t||t.length===0)return new n;if(n.$$initCtor&&n.$kind!=="anonymous"){if(a=H5.getMetadata(n),f=0,a){for(s=H5.Reflection.getMembers(n,1,28),e=0;e<s.length;e++)if(i=s[e],i.p&&i.p.length===t.length){for(h=!0,r=0;r<i.p.length;r++)if(c=i.p[r],!H5.is(t[r],c)||t[r]==null&&!H5.Reflection.canAcceptNull(c)){h=!1;break}h&&(n=n[i.sn],f++)}}else if(H5.isFunction(n.ctor)&&n.ctor.length===t.length)n=n.ctor;else for(o="$ctor",u=1;H5.isFunction(n[o+u]);)n[o+u].length===t.length&&(n=n[o+u],f++),u++;if(f>1)throw new System.Exception("The ambiguous constructor call");}return l=function(){n.apply(this,t)},l.prototype=n.prototype,new l},getAttributes:function(n,t,i){var f=[],r,o,u,e,s,c,h;if(i&&(c=H5.Reflection.getBaseType(n),c))for(u=H5.Reflection.getAttributes(c,t,!0),r=0;r<u.length;r++)o=H5.getType(u[r]),e=H5.getMetadata(o),e&&e.ni||f.push(u[r]);if(s=H5.getMetadata(n),s&&s.at)for(r=0;r<s.at.length;r++)if(u=s.at[r],t==null||H5.Reflection.isInstanceOfType(u,t)){if(o=H5.getType(u),e=H5.getMetadata(o),!e||!e.am)for(h=f.length-1;h>=0;h--)H5.Reflection.isInstanceOfType(f[h],o)&&f.splice(h,1);f.push(u)}return f},getMembers:function(n,t,i,r,u){var e=[],l,y,h,c,a,o,f;((i&72)==72||(i&6)==4)&&(l=H5.Reflection.getBaseType(n),l&&(e=H5.Reflection.getMembers(l,t&-2,i&(i&64?255:247)&(i&2?251:255),r,u)));var p=0,v=function(n){if(t&n.t&&(i&4&&!n.is||i&8&&n.is)&&(!r||((i&1)==1?n.n.toUpperCase()===r.toUpperCase():n.n===r))&&((i&16)==16&&n.a===2||(i&32)==32&&n.a!==2)){if(u){if((n.p||[]).length!==u.length)return;for(var f=0;f<u.length;f++)if(u[f]!==n.p[f])return}(n.ov||n.v)&&(e=e.filter(function(t){return!(t.n==n.n&&t.t==n.t)}));e.splice(p++,0,n)}},s=H5.getMetadata(n);if(s&&s.m)for(y=["g","s","ad","r"],f=0;f<s.m.length;f++)for(h=s.m[f],v(h),c=0;c<4;c++)a=y[c],h[a]&&v(h[a]);if(i&256){while(n){for(o=[],f=0;f<e.length;f++)e[f].td===n&&o.push(e[f]);if(o.length>1)throw new System.Reflection.AmbiguousMatchException.$ctor1("Ambiguous match");else if(o.length===1)return o[0];n=H5.Reflection.getBaseType(n)}return null}return e},createDelegate:function(n,t){var r=n.is||n.sm,u=t!=null&&!r,i=H5.Reflection.midel(n,t,null,u);return u?i:r?function(){var r=t!=null?[t]:[];return i.apply(n.td,r.concat(Array.prototype.slice.call(arguments,0)))}:function(n){return i.apply(n,Array.prototype.slice.call(arguments,1))}},midel:function(n,t,i,r){var u,f,e,o,s;if(r!==!1)if(n.is&&!!t)throw new System.ArgumentException.$ctor1("Cannot specify target for static method");else if(!n.is&&!t)throw new System.ArgumentException.$ctor1("Must specify target for instance method");if(n.fg)u=function(){return(n.is?n.td:this)[n.fg]};else if(n.fs)u=function(t){(n.is?n.td:this)[n.fs]=t};else{if(u=n.def||(n.is||n.sm?n.td[n.sn]:t?t[n.sn]:n.td.prototype[n.sn]),n.tpc){if(n.constructed&&(!i||i.length==0)&&(i=n.tprm),!i||i.length!==n.tpc)throw new System.ArgumentException.$ctor1("Wrong number of type arguments");f=u;u=function(){return f.apply(this,i.concat(Array.prototype.slice.call(arguments)))}}else if(i&&i.length)throw new System.ArgumentException.$ctor1("Cannot specify type arguments for non-generic method");n.exp&&(e=u,u=function(){return e.apply(this,Array.prototype.slice.call(arguments,0,arguments.length-1).concat(arguments[arguments.length-1]))});n.sm&&(o=u,u=function(){return o.apply(null,[this].concat(Array.prototype.slice.call(arguments)))})}return s=u,u=function(){var f=[],u=n.pi||[],r,t,i;for(!u.length&&n.p&&n.p.length&&(u=n.p.map(function(n){return{pt:n}})),t=0;t<arguments.length;t++)r=u[t]||u[u.length-1],i=arguments[t],f[t]=r&&r.pt===System.Object?i:H5.unbox(arguments[t]),i==null&&r&&H5.Reflection.isValueType(r.pt)&&(f[t]=H5.getDefaultValue(r.pt));return i=s.apply(this,f),i!=null&&n.box?n.box(i):i},r!==!1?H5.fn.bind(t,u):u},invokeCI:function(n,t){return n.exp&&(t=t.slice(0,t.length-1).concat(t[t.length-1])),n.def?n.def.apply(null,t):n.sm?n.td[n.sn].apply(null,t):n.td.$literal?(n.sn?n.td[n.sn]:n.td).apply(n.td,t):H5.Reflection.applyConstructor(n.sn?n.td[n.sn]:n.td,t)},fieldAccess:function(n,t){if(n.is&&!!t)throw new System.ArgumentException.$ctor1("Cannot specify target for static field");else if(!n.is&&!t)throw new System.ArgumentException.$ctor1("Must specify target for instance field");if(t=n.is?n.td:t,arguments.length===3){var i=arguments[2];i==null&&H5.Reflection.isValueType(n.rt)&&(i=H5.getDefaultValue(n.rt));t[n.sn]=i}else return n.box?n.box(t[n.sn]):t[n.sn]},getMetaValue:function(n,t,i){var r=n.$isTypeParameter?n:H5.getMetadata(n);return r?r[t]||i:i},isArray:function(n){return H5.arrayTypes.indexOf(n)>=0},isValueType:function(n){return!H5.Reflection.canAcceptNull(n)},getNestedTypes:function(n,t){var i=H5.Reflection.getMetaValue(n,"nested",[]),u,r;if(t){for(u=[],r=0;r<i.length;r++){var f=i[r],s=H5.Reflection.getMetaValue(f,"att",0),e=s&7,o=e===1||e===2;((t&16)==16&&o||(t&32)==32&&!o)&&u.push(f)}i=u}return i},getNestedType:function(n,t,i){for(var u=H5.Reflection.getNestedTypes(n,i),r=0;r<u.length;r++)if(H5.Reflection.getTypeName(u[r])===t)return u[r];return null},isGenericMethodDefinition:function(n){return H5.Reflection.isGenericMethod(n)&&!n.constructed},isGenericMethod:function(n){return!!n.tpc},containsGenericParameters:function(n){var i,t;if(n.$typeArguments)for(t=0;t<n.$typeArguments.length;t++)if(n.$typeArguments[t].$isTypeParameter)return!0;for(i=n.tprm||[],t=0;t<i.length;t++)if(i[t].$isTypeParameter)return!0;return!1},genericParameterPosition:function(n){if(!n.$isTypeParameter)throw new System.InvalidOperationException.$ctor1("The current type does not represent a type parameter.");return n.gPrmPos||0},makeGenericMethod:function(n,t){var i=H5.apply({},n);return i.tprm=t,i.p=t,i.gd=n,i.constructed=!0,i},getGenericMethodDefinition:function(n){if(!n.tpc)throw new System.InvalidOperationException.$ctor1("The current method is not a generic method. ");return n.gd||n}};H5.setMetadata=H5.Reflection.setMetadata;System.Reflection.ConstructorInfo={$is:function(n){return n!=null&&n.t===1}};System.Reflection.EventInfo={$is:function(n){return n!=null&&n.t===2}};System.Reflection.FieldInfo={$is:function(n){return n!=null&&n.t===4}};System.Reflection.MethodBase={$is:function(n){return n!=null&&(n.t===1||n.t===8)}};System.Reflection.MethodInfo={$is:function(n){return n!=null&&n.t===8}};System.Reflection.PropertyInfo={$is:function(n){return n!=null&&n.t===16}};System.AppDomain={getAssemblies:function(){return Object.keys(System.Reflection.Assembly.assemblies).map(function(n){return System.Reflection.Assembly.assemblies[n]})}};H5.define("System.IFormattable",{$kind:"interface",statics:{$is:function(n){return H5.isNumber(n)||H5.isDate(n)?!0:H5.is(n,System.IFormattable,!0)}}});H5.define("System.IComparable",{$kind:"interface",statics:{$is:function(n){return H5.isNumber(n)||H5.isDate(n)||H5.isBoolean(n)||H5.isString(n)?!0:H5.is(n,System.IComparable,!0)}}});H5.define("System.IFormatProvider",{$kind:"interface"});H5.define("System.ICloneable",{$kind:"interface"});H5.define("System.IComparable$1",function(n){return{$kind:"interface",statics:{$is:function(t){return H5.isNumber(t)&&n.$number&&n.$is(t)||H5.isDate(t)&&(n===Date||n===System.DateTime)||H5.isBoolean(t)&&(n===Boolean||n===System.Boolean)||H5.isString(t)&&(n===String||n===System.String)?!0:H5.is(t,System.IComparable$1(n),!0)},isAssignableFrom:function(t){return t===System.DateTime&&n===Date?!0:H5.Reflection.getInterfaces(t).indexOf(System.IComparable$1(n))>=0}}}});H5.define("System.IEquatable$1",function(n){return{$kind:"interface",statics:{$is:function(t){return H5.isNumber(t)&&n.$number&&n.$is(t)||H5.isDate(t)&&(n===Date||n===System.DateTime)||H5.isBoolean(t)&&(n===Boolean||n===System.Boolean)||H5.isString(t)&&(n===String||n===System.String)?!0:H5.is(t,System.IEquatable$1(n),!0)},isAssignableFrom:function(t){return t===System.DateTime&&n===Date?!0:H5.Reflection.getInterfaces(t).indexOf(System.IEquatable$1(n))>=0}}}});H5.define("H5.IPromise",{$kind:"interface"});H5.define("System.IDisposable",{$kind:"interface"});H5.define("System.IAsyncResult",{$kind:"interface"});H5.define("System.ValueType",{statics:{methods:{$is:function(n){return H5.Reflection.isValueType(H5.getType(n))}}}});h={nameEquals:function(n,t,i){return i?n.toLowerCase()===t.toLowerCase():n.charAt(0).toLowerCase()+n.slice(1)===t.charAt(0).toLowerCase()+t.slice(1)},checkEnumType:function(n){if(!n)throw new System.ArgumentNullException.$ctor1("enumType");if(n.prototype&&n.$kind!=="enum")throw new System.ArgumentException.$ctor1("","enumType");},getUnderlyingType:function(n){return System.Enum.checkEnumType(n),n.prototype.$utype||System.Int32},toName:function(n){return n},toObject:function(n,t){return(t=H5.unbox(t,!0),t==null)?null:h.parse(n,t.toString(),!1,!0)},parse:function(n,t,i,r){var s,e,c,u,p,l,o,f;if(System.Enum.checkEnumType(n),t!=null){if(n===Number||n===System.String||n.$number)return t;if(s={},System.Int32.tryParse(t,s))return H5.box(s.v,n,function(t){return System.Enum.toString(n,t)});if(e=System.Enum.getNames(n),c=n,n.prototype&&n.prototype.$flags){var a=t.split(","),v=0,y=!0;for(u=a.length-1;u>=0;u--){for(p=a[u].trim(),l=!1,o=0;o<e.length;o++)if(f=e[o],h.nameEquals(f,p,i)){v|=c[f];l=!0;break}if(!l){y=!1;break}}if(y)return H5.box(v,n,function(t){return System.Enum.toString(n,t)})}else for(u=0;u<e.length;u++)if(f=e[u],h.nameEquals(f,t,i))return H5.box(c[f],n,function(t){return System.Enum.toString(n,t)})}if(r!==!0)throw new System.ArgumentException.$ctor3("silent","Invalid Enumeration Value");return null},toStringFn:function(n){return function(t){return System.Enum.toString(n,t)}},toString:function(n,t,i){var e,u,s,r;if(arguments.length===0)return"System.Enum";if(t&&t.$boxed&&n===System.Enum&&(n=t.type),t=H5.unbox(t,!0),n===Number||n===System.String||n.$number)return t.toString();System.Enum.checkEnumType(n);var c=n,v=System.Enum.getNames(n),f=System.Int64.is64Bit(t);if((n.prototype&&n.prototype.$flags||i===!0)&&t!==0){for(var y=[],l=System.Enum.getValuesAndNames(n),o=l.length-1,a=t;o>=0;){if(r=l[o],s=f&&System.Int64.is64Bit(r.value),o==0&&(s?r.value.isZero():r.value==0))break;(s?t.and(r.value).eq(r.value):(t&r.value)==r.value)&&(s?t=t.sub(r.value):t-=r.value,y.unshift(r.name));o--}return(f?!t.isZero():t!==0)?a.toString():(f?a.isZero():a===0)?(r=l[0],r&&(System.Int64.is64Bit(r.value)?r.value.isZero():r.value==0))?r.name:"0":y.join(", ")}else{for(e=0;e<v.length;e++)if(u=v[e],f&&System.Int64.is64Bit(c[u])?c[u].eq(t):c[u]===t)return h.toName(u);return t.toString()}},getValuesAndNames:function(n){var t;System.Enum.checkEnumType(n);var r=[],i=System.Enum.getNames(n),u=n;for(t=0;t<i.length;t++)r.push({name:i[t],value:u[i[t]]});return r.sort(function(n,t){return System.Int64.is64Bit(n.value)?n.value.sub(t.value).sign():n.value-t.value})},getValues:function(n){var t;System.Enum.checkEnumType(n);var i=[],r=System.Enum.getNames(n),u=n;for(t=0;t<r.length;t++)i.push(u[r[t]]);return i.sort(function(n,t){return System.Int64.is64Bit(n)?n.sub(t).sign():n-t})},format:function(n,t,i){System.Enum.checkEnumType(n);var r;if(!H5.hasValue(t)&&(r="value")||!H5.hasValue(i)&&(r="format"))throw new System.ArgumentNullException.$ctor1(r);t=H5.unbox(t,!0);switch(i){case"G":case"g":return System.Enum.toString(n,t);case"x":case"X":return t.toString(16);case"d":case"D":return t.toString();case"f":case"F":return System.Enum.toString(n,t,!0);default:throw new System.FormatException;}},getNames:function(n){var r,i,t;if(System.Enum.checkEnumType(n),r=[],i=n,n.$names)return n.$names.slice(0);for(t in i)i.hasOwnProperty(t)&&t.indexOf("$")<0&&typeof i[t]!="function"&&r.push([h.toName(t),i[t]]);return r.sort(function(n,t){return System.Int64.is64Bit(n[1])?n[1].sub(t[1]).sign():n[1]-t[1]}).map(function(n){return n[0]})},getName:function(n,t){var u,f,e,i,r;if(t=H5.unbox(t,!0),t==null)throw new System.ArgumentNullException.$ctor1("value");if(u=System.Int64.is64Bit(t),!u&&!(typeof t=="number"&&Math.floor(t,0)===t))throw new System.ArgumentException.$ctor1("Argument must be integer","value");for(System.Enum.checkEnumType(n),f=System.Enum.getNames(n),e=n,i=0;i<f.length;i++)if(r=f[i],u?t.eq(e[r]):e[r]===t)return r;return null},hasFlag:function(n,t){t=H5.unbox(t,!0);var i=System.Int64.is64Bit(n);return t===0||(i?!n.and(t).isZero():!!(n&t))},isDefined:function(n,t){var i,r;t=H5.unbox(t,!0);System.Enum.checkEnumType(n);var u=n,f=System.Enum.getNames(n),e=H5.isString(t),o=System.Int64.is64Bit(t);for(i=0;i<f.length;i++)if(r=f[i],e?h.nameEquals(r,t,!1):o?t.eq(u[r]):u[r]===t)return!0;return!1},tryParse:function(n,t,i,r){return(i.v=H5.unbox(h.parse(n,t,r,!0),!0),i.v==null)?(i.v=0,!1):!0},equals:function(n,t,i){return t&&t.$boxed&&(n&&n.$boxed||i)&&t.type!==(n.type||i)?!1:System.Enum.equalsT(n,t)},equalsT:function(n,t){return H5.equals(H5.unbox(n,!0),H5.unbox(t,!0))}};H5.define("System.Enum",{inherits:[System.IComparable,System.IFormattable],statics:{methods:h}});vt={hasValue:H5.hasValue,getValue:function(n){if(n=H5.unbox(n,!0),!H5.hasValue(n))throw new System.InvalidOperationException.$ctor1("Nullable instance doesn't have a value.");return n},getValueOrDefault:function(n,t){return H5.hasValue(n)?n:t},add:function(n,t){return H5.hasValue$1(n,t)?n+t:null},band:function(n,t){return H5.hasValue$1(n,t)?n&t:null},bor:function(n,t){return H5.hasValue$1(n,t)?n|t:null},and:function(n,t){if(n===!0&&t===!0)return!0;else if(n===!1||t===!1)return!1;return null},or:function(n,t){if(n===!0||t===!0)return!0;else if(n===!1&&t===!1)return!1;return null},div:function(n,t){return H5.hasValue$1(n,t)?n/t:null},eq:function(n,t){return H5.hasValue(n)?n===t:!H5.hasValue(t)},equals:function(n,t,i){return H5.hasValue(n)?i?i(n,t):H5.equals(n,t):!H5.hasValue(t)},toString:function(n,t){return H5.hasValue(n)?t?t(n):n.toString():""},toStringFn:function(n){return function(t){return System.Nullable.toString(t,n)}},getHashCode:function(n,t){return H5.hasValue(n)?t?t(n):H5.getHashCode(n):0},getHashCodeFn:function(n){return function(t){return System.Nullable.getHashCode(t,n)}},xor:function(n,t){return H5.hasValue$1(n,t)?H5.isBoolean(n)&&H5.isBoolean(t)?n!=t:n^t:null},gt:function(n,t){return H5.hasValue$1(n,t)&&n>t},gte:function(n,t){return H5.hasValue$1(n,t)&&n>=t},neq:function(n,t){return H5.hasValue(n)?n!==t:H5.hasValue(t)},lt:function(n,t){return H5.hasValue$1(n,t)&&n<t},lte:function(n,t){return H5.hasValue$1(n,t)&&n<=t},mod:function(n,t){return H5.hasValue$1(n,t)?n%t:null},mul:function(n,t){return H5.hasValue$1(n,t)?n*t:null},imul:function(n,t){return H5.hasValue$1(n,t)?H5.Int.mul(n,t):null},sl:function(n,t){return H5.hasValue$1(n,t)?n<<t:null},sr:function(n,t){return H5.hasValue$1(n,t)?n>>t:null},srr:function(n,t){return H5.hasValue$1(n,t)?n>>>t:null},sub:function(n,t){return H5.hasValue$1(n,t)?n-t:null},bnot:function(n){return H5.hasValue(n)?~n:null},neg:function(n){return H5.hasValue(n)?-n:null},not:function(n){return H5.hasValue(n)?!n:null},pos:function(n){return H5.hasValue(n)?+n:null},lift:function(){for(var n=1;n<arguments.length;n++)if(!H5.hasValue(arguments[n]))return null;return arguments[0]==null?null:arguments[0].apply==undefined?arguments[0]:arguments[0].apply(null,Array.prototype.slice.call(arguments,1))},lift1:function(n,t){return H5.hasValue(t)?typeof n=="function"?n.apply(null,Array.prototype.slice.call(arguments,1)):t[n].apply(t,Array.prototype.slice.call(arguments,2)):null},lift2:function(n,t,i){return H5.hasValue$1(t,i)?typeof n=="function"?n.apply(null,Array.prototype.slice.call(arguments,1)):t[n].apply(t,Array.prototype.slice.call(arguments,2)):null},liftcmp:function(n,t,i){return H5.hasValue$1(t,i)?typeof n=="function"?n.apply(null,Array.prototype.slice.call(arguments,1)):t[n].apply(t,Array.prototype.slice.call(arguments,2)):!1},lifteq:function(n,t,i){var r=H5.hasValue(t),u=H5.hasValue(i);return!r&&!u||r&&u&&(typeof n=="function"?n.apply(null,Array.prototype.slice.call(arguments,1)):t[n].apply(t,Array.prototype.slice.call(arguments,2)))},liftne:function(n,t,i){var r=H5.hasValue(t),u=H5.hasValue(i);return r!==u||r&&(typeof n=="function"?n.apply(null,Array.prototype.slice.call(arguments,1)):t[n].apply(t,Array.prototype.slice.call(arguments,2)))},getUnderlyingType:function(n){if(!n)throw new System.ArgumentNullException.$ctor1("nullableType");if(H5.Reflection.isGenericType(n)&&!H5.Reflection.isGenericTypeDefinition(n)){var t=H5.Reflection.getGenericTypeDefinition(n);if(t===System.Nullable$1)return H5.Reflection.getGenericArguments(n)[0]}return null},compare:function(n,t){return System.Collections.Generic.Comparer$1.$default.compare(n,t)}};System.Nullable=vt;H5.define("System.Nullable$1",function(n){return{$kind:"struct",statics:{$nullable:!0,$nullableType:n,getDefaultValue:function(){return null},$is:function(t){return H5.is(t,n)}}}});H5.define("System.Char",{inherits:[System.IComparable,System.IFormattable],$kind:"struct",statics:{min:0,max:65535,$is:function(n){return typeof n=="number"&&Math.round(n,0)==n&&n>=System.Char.min&&n<=System.Char.max},getDefaultValue:function(){return 0},parse:function(n){if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("s");if(n.length!==1)throw new System.FormatException;return n.charCodeAt(0)},tryParse:function(n,t){var i=n&&n.length===1;return t.v=i?n.charCodeAt(0):0,i},format:function(n,t,i){return H5.Int.format(n,t,i)},charCodeAt:function(n,t){if(n==null)throw new System.ArgumentNullException;if(n.length!=1)throw new System.FormatException.$ctor1("String must be exactly one character long");return n.charCodeAt(t)},_isWhiteSpaceMatch:/[^\s\x09-\x0D\x85\xA0]/,isWhiteSpace:function(n){return!System.Char._isWhiteSpaceMatch.test(n)},_isDigitMatch:new RegExp(/[0-9\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]/),isDigit:function(n){return n<256?n>=48&&n<=57:System.Char._isDigitMatch.test(String.fromCharCode(n))},_isLetterMatch:new RegExp(/[A-Za-z\u0061-\u007A\u00B5\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0561-\u0587\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7FA\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A\u0041-\u005A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA\uFF21-\uFF3A\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA717-\uA71F\uA770\uA788\uA7F8\uA7F9\uA9CF\uAA70\uAADD\uAAF3\uAAF4\uFF70\uFF9E\uFF9F\u00AA\u00BA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/),isLetter:function(n){return n<256?n>=65&&n<=90||n>=97&&n<=122:System.Char._isLetterMatch.test(String.fromCharCode(n))},_isHighSurrogateMatch:new RegExp(/[\uD800-\uDBFF]/),isHighSurrogate:function(n){return System.Char._isHighSurrogateMatch.test(String.fromCharCode(n))},_isLowSurrogateMatch:new RegExp(/[\uDC00-\uDFFF]/),isLowSurrogate:function(n){return System.Char._isLowSurrogateMatch.test(String.fromCharCode(n))},_isSurrogateMatch:new RegExp(/[\uD800-\uDFFF]/),isSurrogate:function(n){return System.Char._isSurrogateMatch.test(String.fromCharCode(n))},_isNullMatch:new RegExp("\x00"),isNull:function(n){return System.Char._isNullMatch.test(String.fromCharCode(n))},_isSymbolMatch:new RegExp(/[\u20A0-\u20CF\u20D0-\u20FF\u2100-\u214F\u2150-\u218F\u2190-\u21FF\u2200-\u22FF\u2300-\u23FF\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF\u27C0-\u27EF\u27F0-\u27FF\u2800-\u28FF\u2900-\u297F\u2980-\u29FF\u2A00-\u2AFF\u2B00-\u2BFF]/),isSymbol:function(n){return n<256?[36,43,60,61,62,94,96,124,126,162,163,164,165,166,167,168,169,172,174,175,176,177,180,182,184,215,247].indexOf(n)!=-1:System.Char._isSymbolMatch.test(String.fromCharCode(n))},_isSeparatorMatch:new RegExp(/[\u2028\u2029\u0020\u00A0\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/),isSeparator:function(n){return n<256?n==32||n==160:System.Char._isSeparatorMatch.test(String.fromCharCode(n))},_isPunctuationMatch:new RegExp(/[\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65\u002D\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D\u0028\u005B\u007B\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3E\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62\u0029\u005D\u007D\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3F\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63\u00AB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20\u00BB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F\u0021-\u0023\u0025-\u0027\u002A\u002C\u002E\u002F\u003A\u003B\u003F\u0040\u005C\u00A1\u00A7\u00B6\u00B7\u00BF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166D\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65]/),isPunctuation:function(n){return n<256?[33,34,35,37,38,39,40,41,42,44,45,46,47,58,59,63,64,91,92,93,95,123,125,161,171,173,183,187,191].indexOf(n)!=-1:System.Char._isPunctuationMatch.test(String.fromCharCode(n))},_isNumberMatch:new RegExp(/[\u0030-\u0039\u00B2\u00B3\u00B9\u00BC-\u00BE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D66-\u0D75\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF\u00B2\u00B3\u00B9\u00BC-\u00BE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D70-\u0D75\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835]/),isNumber:function(n){return n<256?[48,49,50,51,52,53,54,55,56,57,178,179,185,188,189,190].indexOf(n)!=-1:System.Char._isNumberMatch.test(String.fromCharCode(n))},_isControlMatch:new RegExp(/[\u0000-\u001F\u007F\u0080-\u009F]/),isControl:function(n){return n<256?n>=0&&n<=31||n>=127&&n<=159:System.Char._isControlMatch.test(String.fromCharCode(n))},isLatin1:function(n){return n<=255},isAscii:function(n){return n<=127},isUpper:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("s");if(t>>>0>=n.length>>>0)throw new System.ArgumentOutOfRangeException.$ctor1("index");var i=n.charCodeAt(t);return System.Char.isLatin1(i)&&System.Char.isAscii(i)?i>=65&&i<=90:H5.isUpper(i)},equals:function(n,t){return H5.is(n,System.Char)&&H5.is(t,System.Char)?H5.unbox(n,!0)===H5.unbox(t,!0):!1},equalsT:function(n,t){return H5.unbox(n,!0)===H5.unbox(t,!0)},getHashCode:function(n){return n|n<<16}}});H5.Class.addExtend(System.Char,[System.IComparable$1(System.Char),System.IEquatable$1(System.Char)]);H5.define("H5.Ref$1",function(n){return{statics:{methods:{op_Implicit:function(n){return n.Value}}},fields:{getter:null,setter:null},props:{Value:{get:function(){return this.getter()},set:function(n){this.setter(n)}},v:{get:function(){return this.Value},set:function(n){this.Value=n}}},ctors:{ctor:function(n,t){this.$initialize();this.getter=n;this.setter=t}},methods:{toString:function(){return H5.toString(this.Value)},valueOf:function(){return this.Value}}}});H5.define("System.IConvertible",{$kind:"interface"});H5.define("System.HResults");H5.define("System.Exception",{config:{properties:{Message:{get:function(){return this.message}},InnerException:{get:function(){return this.innerException}},StackTrace:{get:function(){return this.errorStack.stack}},Data:{get:function(){return this.data}},HResult:{get:function(){return this._HResult},set:function(n){this._HResult=n}}}},ctor:function(n,t){this.$initialize();this.message=n?n:"Exception of type '"+H5.getTypeName(this)+"' was thrown.";this.innerException=t?t:null;this.errorStack=new Error(this.message);this.data=new(System.Collections.Generic.Dictionary$2(System.Object,System.Object))},getBaseException:function(){for(var n=this.innerException,t=this;n!=null;)t=n,n=n.innerException;return t},toString:function(){var n=H5.getTypeName(this);return n+=this.Message!=null?": "+this.Message+"\n":"\n",this.StackTrace!=null&&(n+=this.StackTrace+"\n"),n},statics:{create:function(n){if(H5.is(n,System.Exception))return n;var t;if(n instanceof TypeError)t=new System.NullReferenceException.$ctor1(n.message);else if(n instanceof RangeError)t=new System.ArgumentOutOfRangeException.$ctor1(n.message);else if(n instanceof Error)return new System.SystemException.$ctor1(n);else t=n&&n.error&&n.error.stack?new System.Exception(n.error.stack):new System.Exception(n?n.message?n.message:n.toString():null);return t.errorStack=n,t}}});H5.define("System.SystemException",{inherits:[System.Exception],ctors:{ctor:function(){this.$initialize();System.Exception.ctor.call(this,"System error.");this.HResult=-2146233087},$ctor1:function(n){this.$initialize();System.Exception.ctor.call(this,n);this.HResult=-2146233087},$ctor2:function(n,t){this.$initialize();System.Exception.ctor.call(this,n,t);this.HResult=-2146233087}}});H5.define("System.OutOfMemoryException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Insufficient memory to continue the execution of the program.");this.HResult=-2147024362},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147024362},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147024362}}});H5.define("System.ArrayTypeMismatchException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Attempted to access an element as a type incompatible with the array.");this.HResult=-2146233085},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233085},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233085}}});H5.define("System.Resources.MissingManifestResourceException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Unable to find manifest resource.");this.HResult=-2146233038},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233038},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233038}}});H5.define("System.Globalization.TextInfo",{inherits:[System.ICloneable],fields:{listSeparator:null},props:{ANSICodePage:0,CultureName:null,EBCDICCodePage:0,IsReadOnly:!1,IsRightToLeft:!1,LCID:0,ListSeparator:{get:function(){return this.listSeparator},set:function(n){this.VerifyWritable();this.listSeparator=n}},MacCodePage:0,OEMCodePage:0},alias:["clone","System$ICloneable$clone"],methods:{clone:function(){return H5.copy(new System.Globalization.TextInfo,this,System.Array.init(["ANSICodePage","CultureName","EBCDICCodePage","IsRightToLeft","LCID","listSeparator","MacCodePage","OEMCodePage","IsReadOnly"],System.String))},VerifyWritable:function(){if(this.IsReadOnly)throw new System.InvalidOperationException.$ctor1("Instance is read-only.");}}});H5.define("System.Globalization.BidiCategory",{$kind:"enum",statics:{fields:{LeftToRight:0,LeftToRightEmbedding:1,LeftToRightOverride:2,RightToLeft:3,RightToLeftArabic:4,RightToLeftEmbedding:5,RightToLeftOverride:6,PopDirectionalFormat:7,EuropeanNumber:8,EuropeanNumberSeparator:9,EuropeanNumberTerminator:10,ArabicNumber:11,CommonNumberSeparator:12,NonSpacingMark:13,BoundaryNeutral:14,ParagraphSeparator:15,SegmentSeparator:16,Whitespace:17,OtherNeutrals:18,LeftToRightIsolate:19,RightToLeftIsolate:20,FirstStrongIsolate:21,PopDirectionIsolate:22}}});H5.define("System.Globalization.SortVersion",{inherits:function(){return[System.IEquatable$1(System.Globalization.SortVersion)]},statics:{methods:{op_Equality:function(n,t){return n!=null?n.equalsT(t):t!=null?t.equalsT(n):!0},op_Inequality:function(n,t){return!System.Globalization.SortVersion.op_Equality(n,t)}}},fields:{m_NlsVersion:0,m_SortId:null},props:{FullVersion:{get:function(){return this.m_NlsVersion}},SortId:{get:function(){return this.m_SortId}}},alias:["equalsT","System$IEquatable$1$System$Globalization$SortVersion$equalsT"],ctors:{init:function(){this.m_SortId=new System.Guid},ctor:function(n,t){this.$initialize();this.m_SortId=t;this.m_NlsVersion=n},$ctor1:function(n,t,i){if(this.$initialize(),this.m_NlsVersion=n,System.Guid.op_Equality(i,System.Guid.Empty)){var r=t>>24&255,u=(t&16711680)>>16&255,f=(t&65280)>>8&255,e=t&255;i=new System.Guid.$ctor2(0,0,0,0,0,0,0,r,u,f,e)}this.m_SortId=i}},methods:{equals:function(n){var t=H5.as(n,System.Globalization.SortVersion);return System.Globalization.SortVersion.op_Inequality(t,null)?this.equalsT(t):!1},equalsT:function(n){return System.Globalization.SortVersion.op_Equality(n,null)?!1:this.m_NlsVersion===n.m_NlsVersion&&System.Guid.op_Equality(this.m_SortId,n.m_SortId)},getHashCode:function(){return H5.Int.mul(this.m_NlsVersion,7)|this.m_SortId.getHashCode()}}});H5.define("System.Globalization.UnicodeCategory",{$kind:"enum",statics:{fields:{UppercaseLetter:0,LowercaseLetter:1,TitlecaseLetter:2,ModifierLetter:3,OtherLetter:4,NonSpacingMark:5,SpacingCombiningMark:6,EnclosingMark:7,DecimalDigitNumber:8,LetterNumber:9,OtherNumber:10,SpaceSeparator:11,LineSeparator:12,ParagraphSeparator:13,Control:14,Format:15,Surrogate:16,PrivateUse:17,ConnectorPunctuation:18,DashPunctuation:19,OpenPunctuation:20,ClosePunctuation:21,InitialQuotePunctuation:22,FinalQuotePunctuation:23,OtherPunctuation:24,MathSymbol:25,CurrencySymbol:26,ModifierSymbol:27,OtherSymbol:28,OtherNotAssigned:29}}});H5.define("System.Globalization.DaylightTimeStruct",{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new System.Globalization.DaylightTimeStruct}}},fields:{Start:null,End:null,Delta:null},ctors:{init:function(){this.Start=System.DateTime.getDefaultValue();this.End=System.DateTime.getDefaultValue();this.Delta=new System.TimeSpan},$ctor1:function(n,t,i){this.$initialize();this.Start=n;this.End=t;this.Delta=i},ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return H5.addHash([7445027511,this.Start,this.End,this.Delta])},equals:function(n){return H5.is(n,System.Globalization.DaylightTimeStruct)?H5.equals(this.Start,n.Start)&&H5.equals(this.End,n.End)&&H5.equals(this.Delta,n.Delta):!1},$clone:function(n){var t=n||new System.Globalization.DaylightTimeStruct;return t.Start=this.Start,t.End=this.End,t.Delta=this.Delta,t}}});H5.define("System.Globalization.DaylightTime",{fields:{_start:null,_end:null,_delta:null},props:{Start:{get:function(){return this._start}},End:{get:function(){return this._end}},Delta:{get:function(){return this._delta}}},ctors:{init:function(){this._start=System.DateTime.getDefaultValue();this._end=System.DateTime.getDefaultValue();this._delta=new System.TimeSpan},ctor:function(){this.$initialize()},$ctor1:function(n,t,i){this.$initialize();this._start=n;this._end=t;this._delta=i}}});H5.define("System.Globalization.DateTimeFormatInfo",{inherits:[System.IFormatProvider,System.ICloneable],config:{alias:["getFormat","System$IFormatProvider$getFormat"]},statics:{$allStandardFormats:{d:"shortDatePattern",D:"longDatePattern",f:"longDatePattern shortTimePattern",F:"longDatePattern longTimePattern",g:"shortDatePattern shortTimePattern",G:"shortDatePattern longTimePattern",m:"monthDayPattern",M:"monthDayPattern",o:"roundtripFormat",O:"roundtripFormat",r:"rfc1123",R:"rfc1123",s:"sortableDateTimePattern",S:"sortableDateTimePattern1",t:"shortTimePattern",T:"longTimePattern",u:"universalSortableDateTimePattern",U:"longDatePattern longTimePattern",y:"yearMonthPattern",Y:"yearMonthPattern"},ctor:function(){this.invariantInfo=H5.merge(new System.Globalization.DateTimeFormatInfo,{abbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],abbreviatedMonthGenitiveNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],abbreviatedMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],amDesignator:"AM",dateSeparator:"/",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],firstDayOfWeek:0,fullDateTimePattern:"dddd, dd MMMM yyyy HH:mm:ss",longDatePattern:"dddd, dd MMMM yyyy",longTimePattern:"HH:mm:ss",monthDayPattern:"MMMM dd",monthGenitiveNames:["January","February","March","April","May","June","July","August","September","October","November","December",""],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December",""],pmDesignator:"PM",rfc1123:"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'",shortDatePattern:"MM/dd/yyyy",shortestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],shortTimePattern:"HH:mm",sortableDateTimePattern:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",sortableDateTimePattern1:"yyyy'-'MM'-'dd",timeSeparator:":",universalSortableDateTimePattern:"yyyy'-'MM'-'dd HH':'mm':'ss'Z'",yearMonthPattern:"yyyy MMMM",roundtripFormat:"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffzzz"})}},getFormat:function(n){switch(n){case System.Globalization.DateTimeFormatInfo:return this;default:return null}},getAbbreviatedDayName:function(n){if(n<0||n>6)throw new System.ArgumentOutOfRangeException$ctor1("dayofweek");return this.abbreviatedDayNames[n]},getAbbreviatedMonthName:function(n){if(n<1||n>13)throw new System.ArgumentOutOfRangeException.$ctor1("month");return this.abbreviatedMonthNames[n-1]},getAllDateTimePatterns:function(n,t){var i=System.Globalization.DateTimeFormatInfo.$allStandardFormats,r,e,f,u,o=[];if(n){if(!i[n]){if(t)return null;throw new System.ArgumentException.$ctor3("","format");}r={};r[n]=i[n]}else r=i;for(i in r){for(e=r[i].split(" "),f="",u=0;u<e.length;u++)f=(u===0?"":f+" ")+this[e[u]];o.push(f)}return o},getDayName:function(n){if(n<0||n>6)throw new System.ArgumentOutOfRangeException.$ctor1("dayofweek");return this.dayNames[n]},getMonthName:function(n){if(n<1||n>13)throw new System.ArgumentOutOfRangeException.$ctor1("month");return this.monthNames[n-1]},getShortestDayName:function(n){if(n<0||n>6)throw new System.ArgumentOutOfRangeException.$ctor1("dayOfWeek");return this.shortestDayNames[n]},clone:function(){return H5.copy(new System.Globalization.DateTimeFormatInfo,this,["abbreviatedDayNames","abbreviatedMonthGenitiveNames","abbreviatedMonthNames","amDesignator","dateSeparator","dayNames","firstDayOfWeek","fullDateTimePattern","longDatePattern","longTimePattern","monthDayPattern","monthGenitiveNames","monthNames","pmDesignator","rfc1123","shortDatePattern","shortestDayNames","shortTimePattern","sortableDateTimePattern","timeSeparator","universalSortableDateTimePattern","yearMonthPattern","roundtripFormat"])}});H5.define("System.Globalization.NumberFormatInfo",{inherits:[System.IFormatProvider,System.ICloneable],config:{alias:["getFormat","System$IFormatProvider$getFormat"]},statics:{ctor:function(){this.numberNegativePatterns=["(n)","-n","- n","n-","n -"];this.currencyNegativePatterns=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];this.currencyPositivePatterns=["$n","n$","$ n","n $"];this.percentNegativePatterns=["-n %","-n%","-%n","%-n","%n-","n-%","n%-","-% n","n %-","% n-","% -n","n- %"];this.percentPositivePatterns=["n %","n%","%n","% n"];this.invariantInfo=H5.merge(new System.Globalization.NumberFormatInfo,{nanSymbol:"NaN",negativeSign:"-",positiveSign:"+",negativeInfinitySymbol:"-Infinity",positiveInfinitySymbol:"Infinity",percentSymbol:"%",percentGroupSizes:[3],percentDecimalDigits:2,percentDecimalSeparator:".",percentGroupSeparator:",",percentPositivePattern:0,percentNegativePattern:0,currencySymbol:"\u00a4",currencyGroupSizes:[3],currencyDecimalDigits:2,currencyDecimalSeparator:".",currencyGroupSeparator:",",currencyNegativePattern:0,currencyPositivePattern:0,numberGroupSizes:[3],numberDecimalDigits:2,numberDecimalSeparator:".",numberGroupSeparator:",",numberNegativePattern:1})}},getFormat:function(n){switch(n){case System.Globalization.NumberFormatInfo:return this;default:return null}},clone:function(){return H5.copy(new System.Globalization.NumberFormatInfo,this,["nanSymbol","negativeSign","positiveSign","negativeInfinitySymbol","positiveInfinitySymbol","percentSymbol","percentGroupSizes","percentDecimalDigits","percentDecimalSeparator","percentGroupSeparator","percentPositivePattern","percentNegativePattern","currencySymbol","currencyGroupSizes","currencyDecimalDigits","currencyDecimalSeparator","currencyGroupSeparator","currencyNegativePattern","currencyPositivePattern","numberGroupSizes","numberDecimalDigits","numberDecimalSeparator","numberGroupSeparator","numberNegativePattern"])}});H5.define("System.Globalization.CultureInfo",{inherits:[System.IFormatProvider,System.ICloneable],config:{alias:["getFormat","System$IFormatProvider$getFormat"]},$entryPoint:!0,statics:{ctor:function(){this.cultures=this.cultures||{};this.invariantCulture=H5.merge(new System.Globalization.CultureInfo("iv",!0),{englishName:"Invariant Language (Invariant Country)",nativeName:"Invariant Language (Invariant Country)",numberFormat:System.Globalization.NumberFormatInfo.invariantInfo,dateTimeFormat:System.Globalization.DateTimeFormatInfo.invariantInfo,TextInfo:H5.merge(new System.Globalization.TextInfo,{ANSICodePage:1252,CultureName:"",EBCDICCodePage:37,listSeparator:",",IsRightToLeft:!1,LCID:127,MacCodePage:1e4,OEMCodePage:437,IsReadOnly:!0})});this.setCurrentCulture(System.Globalization.CultureInfo.invariantCulture)},getCurrentCulture:function(){return this.currentCulture},setCurrentCulture:function(n){this.currentCulture=n;System.Globalization.DateTimeFormatInfo.currentInfo=n.dateTimeFormat;System.Globalization.NumberFormatInfo.currentInfo=n.numberFormat},getCultureInfo:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("name");else if(n==="")return System.Globalization.CultureInfo.invariantCulture;var t=this.cultures[n];if(t==null)throw new System.Globalization.CultureNotFoundException.$ctor5("name",n);return t},getCultures:function(){for(var t=H5.getPropertyNames(this.cultures),i=[],n=0;n<t.length;n++)i.push(this.cultures[t[n]]);return i}},ctor:function(n,t){if(this.$initialize(),this.name=n,System.Globalization.CultureInfo.cultures||(System.Globalization.CultureInfo.cultures={}),n==null)throw new System.ArgumentNullException.$ctor1("name");var i;if(i=n===""?System.Globalization.CultureInfo.invariantCulture:System.Globalization.CultureInfo.cultures[n],i==null){if(!t)throw new System.Globalization.CultureNotFoundException.$ctor5("name",n);System.Globalization.CultureInfo.cultures[n]=this}else H5.copy(this,i,["englishName","nativeName","numberFormat","dateTimeFormat","TextInfo"]),this.TextInfo.IsReadOnly=!1},getFormat:function(n){switch(n){case System.Globalization.NumberFormatInfo:return this.numberFormat;case System.Globalization.DateTimeFormatInfo:return this.dateTimeFormat;default:return null}},clone:function(){return new System.Globalization.CultureInfo(this.name)}});H5.define("System.Environment",{statics:{fields:{Variables:null},props:{Location:{get:function(){var n=H5.global;return n&&n.location?n.location:null}},CommandLine:{get:function(){return System.Environment.GetCommandLineArgs().join(" ")}},CurrentDirectory:{get:function(){var n=System.Environment.Location;return n?n.pathname:""},set:function(n){var t=System.Environment.Location;t&&(t.pathname=n)}},ExitCode:0,Is64BitOperatingSystem:{get:function(){var n=H5.global?H5.global.navigator:null;return n&&(!H5.referenceEquals(n.userAgent.indexOf("WOW64"),-1)||!H5.referenceEquals(n.userAgent.indexOf("Win64"),-1))?!0:!1}},ProcessorCount:{get:function(){var n=H5.global?H5.global.navigator:null;return n&&n.hardwareConcurrency?n.hardwareConcurrency:1}},StackTrace:{get:function(){var t=new Error,n=t.stack;return!System.String.isNullOrEmpty(n)&&System.String.indexOf(n,"at")>=0?n.substr(System.String.indexOf(n,"at")):""}},Version:{get:function(){var t=H5.SystemAssembly.compiler,n={};return System.Version.tryParse(t,n)?n.v:new System.Version.ctor}}},ctors:{init:function(){this.ExitCode=0},ctor:function(){System.Environment.Variables=new(System.Collections.Generic.Dictionary$2(System.String,System.String).ctor);System.Environment.PatchDictionary(System.Environment.Variables)}},methods:{GetResourceString:function(n){return n},GetResourceString$1:function(n,t){t===void 0&&(t=[]);var i=System.Environment.GetResourceString(n);return System.String.formatProvider.apply(System.String,[System.Globalization.CultureInfo.getCurrentCulture(),i].concat(t))},PatchDictionary:function(n){return n.noKeyCheck=!0,n},Exit:function(n){System.Environment.ExitCode=n},ExpandEnvironmentVariables:function(n){var t,i;if(n==null)throw new System.ArgumentNullException.$ctor1(n);t=H5.getEnumerator(System.Environment.Variables);try{while(t.moveNext())i=t.Current,n=System.String.replaceAll(n,"%"+(i.key||"")+"%",i.value)}finally{H5.is(t,System.IDisposable)&&t.System$IDisposable$Dispose()}return n},FailFast:function(n){throw new System.Exception(n);},FailFast$1:function(n,t){throw new System.Exception(n,t);},GetCommandLineArgs:function(){var e=System.Environment.Location,i,o,r,u,n,f,t;if(e){if(i=new(System.Collections.Generic.List$1(System.String).ctor),o=e.pathname,System.String.isNullOrEmpty(o)||i.add(o),r=e.search,!System.String.isNullOrEmpty(r)&&r.length>1)for(u=System.String.split(r.substr(1),[38].map(function(n){return String.fromCharCode(n)})),n=0;n<u.length;n=n+1|0)for(f=System.String.split(u[System.Array.index(n,u)],[61].map(function(n){return String.fromCharCode(n)})),t=0;t<f.length;t=t+1|0)i.add(f[System.Array.index(t,f)]);return i.ToArray()}return System.Array.init(0,null,System.String)},GetEnvironmentVariable:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("variable");var t={};return System.Environment.Variables.tryGetValue(n.toLowerCase(),t)?t.v:null},GetEnvironmentVariable$1:function(n,t){return System.Environment.GetEnvironmentVariable(n)},GetEnvironmentVariables:function(){return System.Environment.PatchDictionary(new(System.Collections.Generic.Dictionary$2(System.String,System.String).$ctor1)(System.Environment.Variables))},GetEnvironmentVariables$1:function(n){return System.Environment.GetEnvironmentVariables()},GetLogicalDrives:function(){return System.Array.init(0,null,System.String)},SetEnvironmentVariable:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("variable");if(System.String.isNullOrEmpty(n)||System.String.startsWith(n,String.fromCharCode(0))||System.String.contains(n,"=")||n.length>32767)throw new System.ArgumentException.$ctor1("Incorrect variable (cannot be empty, contain zero character nor equal sign, be longer than 32767).");n=n.toLowerCase();System.String.isNullOrEmpty(t)?System.Environment.Variables.containsKey(n)&&System.Environment.Variables.remove(n):System.Environment.Variables.setItem(n,t)},SetEnvironmentVariable$1:function(n,t,i){System.Environment.SetEnvironmentVariable(n,t)}}}});H5.define("System.StringSplitOptions",{$kind:"enum",statics:{fields:{None:0,RemoveEmptyEntries:1}},$flags:!0});H5.define("System.TypeCode",{$kind:"enum",statics:{fields:{Empty:0,Object:1,DBNull:2,Boolean:3,Char:4,SByte:5,Byte:6,Int16:7,UInt16:8,Int32:9,UInt32:10,Int64:11,UInt64:12,Single:13,Double:14,Decimal:15,DateTime:16,String:18}}});H5.define("System.TypeCodeValues",{statics:{fields:{Empty:null,Object:null,DBNull:null,Boolean:null,Char:null,SByte:null,Byte:null,Int16:null,UInt16:null,Int32:null,UInt32:null,Int64:null,UInt64:null,Single:null,Double:null,Decimal:null,DateTime:null,String:null},ctors:{init:function(){this.Empty="0";this.Object="1";this.DBNull="2";this.Boolean="3";this.Char="4";this.SByte="5";this.Byte="6";this.Int16="7";this.UInt16="8";this.Int32="9";this.UInt32="10";this.Int64="11";this.UInt64="12";this.Single="13";this.Double="14";this.Decimal="15";this.DateTime="16";this.String="18"}}}});H5.define("System.Type",{statics:{$is:function(n){return n&&n.constructor===Function},getTypeCode:function(n){return n==null?System.TypeCode.Empty:n===System.Double?System.TypeCode.Double:n===System.Single?System.TypeCode.Single:n===System.Decimal?System.TypeCode.Decimal:n===System.Byte?System.TypeCode.Byte:n===System.SByte?System.TypeCode.SByte:n===System.UInt16?System.TypeCode.UInt16:n===System.Int16?System.TypeCode.Int16:n===System.UInt32?System.TypeCode.UInt32:n===System.Int32?System.TypeCode.Int32:n===System.UInt64?System.TypeCode.UInt64:n===System.Int64?System.TypeCode.Int64:n===System.Boolean?System.TypeCode.Boolean:n===System.Char?System.TypeCode.Char:n===System.DateTime?System.TypeCode.DateTime:n===System.String?System.TypeCode.String:System.TypeCode.Object}}});H5.Math={divRem:function(n,t,i){var r=n%t;return i.v=r,(n-r)/t},round:function(n,t,i){var u=Math.pow(10,t||0),r,f;return(n*=u,r=n>0|-(n<0),n%1==.5*r)?(f=Math.floor(n),(f+(i===4?r>0:f%2*r))/u):Math.round(n)/u},log10:Math.log10||function(n){return Math.log(n)/Math.LN10},logWithBase:function(n,t){return isNaN(n)?n:isNaN(t)?t:t===1?NaN:n!==1&&(t===0||t===Number.POSITIVE_INFINITY)?NaN:H5.Math.log10(n)/H5.Math.log10(t)},log:function(n){return n===0?Number.NEGATIVE_INFINITY:n<0||isNaN(n)?NaN:n===Number.POSITIVE_INFINITY?Number.POSITIVE_INFINITY:n===Number.NEGATIVE_INFINITY?NaN:Math.log(n)},sinh:Math.sinh||function(n){return(Math.exp(n)-Math.exp(-n))/2},cosh:Math.cosh||function(n){return(Math.exp(n)+Math.exp(-n))/2},tanh:Math.tanh||function(n){if(n===Infinity)return 1;else if(n===-Infinity)return-1;else{var t=Math.exp(2*n);return(t-1)/(t+1)}},IEEERemainder:function(n,t){var i=n%t,r,u,f;return isNaN(i)?Number.NaN:i===0&&n<0?-0:(r=i-Math.abs(t)*H5.Int.sign(n),Math.abs(r)===Math.abs(i))?(u=n/t,f=H5.Math.round(u,0,6),Math.abs(f)>Math.abs(u)?r:i):Math.abs(r)<Math.abs(i)?r:i}};H5.define("System.Boolean",{inherits:[System.IComparable],statics:{trueString:"True",falseString:"False",$is:function(n){return typeof n=="boolean"},getDefaultValue:function(){return!1},createInstance:function(){return!1},toString:function(n){return n?System.Boolean.trueString:System.Boolean.falseString},parse:function(n){if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("value");var t={v:!1};if(!System.Boolean.tryParse(n,t))throw new System.FormatException.$ctor1("Bad format for Boolean value");return t.v},tryParse:function(n,t){if(t.v=!1,!H5.hasValue(n))return!1;if(System.String.equals(System.Boolean.trueString,n,5))return t.v=!0,!0;if(System.String.equals(System.Boolean.falseString,n,5))return t.v=!1,!0;for(var i=0,r=n.length-1;i<n.length;){if(!System.Char.isWhiteSpace(n[i])&&!System.Char.isNull(n.charCodeAt(i)))break;i++}while(r>=i){if(!System.Char.isWhiteSpace(n[r])&&!System.Char.isNull(n.charCodeAt(r)))break;r--}return(n=n.substr(i,r-i+1),System.String.equals(System.Boolean.trueString,n,5))?(t.v=!0,!0):System.String.equals(System.Boolean.falseString,n,5)?(t.v=!1,!0):!1}}});System.Boolean.$kind="";H5.Class.addExtend(System.Boolean,[System.IComparable$1(System.Boolean),System.IEquatable$1(System.Boolean)]);H5.define("H5.Int",{inherits:[System.IComparable,System.IFormattable],statics:{$number:!0,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||Math.pow(2,53)-1,MIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER||-(Math.pow(2,53)-1),$is:function(n){return typeof n=="number"&&isFinite(n)&&Math.floor(n,0)===n},getDefaultValue:function(){return 0},format:function(n,t,i,r,u){var o=(i||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo),it=o.numberDecimalSeparator,ft=o.numberGroupSeparator,e=n instanceof System.Decimal,s=n instanceof System.Int64||n instanceof System.UInt64,rt=e||s?n.isZero()?!1:n.isNegative():n<0,v,f,p,k,tt,l,d,g,nt,y;if(!s&&(e?!n.isFinite():!isFinite(n)))return Number.NEGATIVE_INFINITY===n||e&&rt?o.negativeInfinitySymbol:isNaN(n)?o.nanSymbol:o.positiveInfinitySymbol;if(t||(t="G"),v=t.match(/^([a-zA-Z])(\d*)$/),v){k=v[1].toUpperCase();f=parseInt(v[2],10);switch(k){case"D":return this.defaultFormat(n,isNaN(f)?1:f,0,0,o,!0);case"F":case"N":return isNaN(f)&&(f=o.numberDecimalDigits),this.defaultFormat(n,1,f,f,o,k==="F");case"G":case"E":for(var c=0,h=e||s?s&&n.eq(System.Int64.MinValue)?System.Int64(n.value.toUnsigned()):n.abs():Math.abs(n),w=v[1],ut=3,a,b;e||s?h.gte(10):h>=10;)e||s?h=h.div(10):h/=10,c++;while(e||s?h.ne(0)&&h.lt(1):h!==0&&h<1)e||s?h=h.mul(10):h*=10,c--;if(k==="G"){if(tt=isNaN(f),tt&&(f=e?29:s?n instanceof System.Int64?19:20:r&&r.precision?r.precision:15),c>-5&&c<f||e&&tt)return a=0,b=f-(c>0?c+1:1),this.defaultFormat(n,1,e?Math.min(27,Math.max(a,n.$precision)):a,b,o,!0);w=w==="G"?"E":"e";ut=2;a=0;b=(f||15)-1}else a=b=isNaN(f)?6:f;return c>=0?w+=o.positiveSign:(w+=o.negativeSign,c=-c),rt&&(e||s?h=h.mul(-1):h*=-1),this.defaultFormat(h,1,e?Math.min(27,Math.max(a,n.$precision)):a,b,o)+w+this.defaultFormat(c,ut,0,0,o,!0);case"P":return isNaN(f)&&(f=o.percentDecimalDigits),this.defaultFormat(n*100,1,f,f,o,!1,"percent");case"X":for(e?l=n.round().value.toHex().substr(2):s?(d=u?u(n):n,l=d.toString(16)):(d=u?u(Math.round(n)):Math.round(n)>>>0,l=d.toString(16)),v[1]==="X"&&(l=l.toUpperCase()),f-=l.length;f-->0;)l="0"+l;return l;case"C":return isNaN(f)&&(f=o.currencyDecimalDigits),this.defaultFormat(n,1,f,f,o,!1,"currency");case"R":return g=e||s?n.toString():""+n,it!=="."&&(g=g.replace(".",it)),g.replace("e","E")}}if(t.indexOf(",.")!==-1||System.String.endsWith(t,",")){for(nt=0,y=t.indexOf(",."),y===-1&&(y=t.length-1);y>-1&&t.charAt(y)===",";)nt++,y--;e||s?n=n.div(Math.pow(1e3,nt)):n/=Math.pow(1e3,nt)}return t.indexOf("%")!==-1&&(e||s?n=n.mul(100):n*=100),t.indexOf("\u2030")!==-1&&(e||s?n=n.mul(1e3):n*=1e3),p=t.split(";"),(e||s?n.lt(0):n<0)&&p.length>1?(e||s?n=n.mul(-1):n*=-1,t=p[1]):t=p[(e||s?n.ne(0):!n)&&p.length>2?2:0],this.customFormat(n,t,o,!t.match(/^[^\.]*[0#],[0#]/))},defaultFormat:function(n,t,i,r,u,f,e){e=e||"number";var h=(u||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo),o,p,w,ut,v,y,b=h[e+"GroupSizes"],s,k,d,l,a,g,nt,c="",tt=n instanceof System.Decimal,it=n instanceof System.Int64||n instanceof System.UInt64,ft=tt||it?n.isZero()?!1:n.isNegative():n<0,rt=!1;if(ut=Math.pow(10,r),o=tt?n.abs().toDecimalPlaces(r).toFixed():it?n.eq(System.Int64.MinValue)?n.value.toUnsigned().toString():n.abs().toString():""+ +Math.abs(n).toFixed(r),rt=o.split("").every(function(n){return n==="0"||n==="."}),p=o.indexOf("."),p>0&&(s=h[e+"DecimalSeparator"]+o.substr(p+1),o=o.substr(0,p)),o.length<t&&(o=Array(t-o.length+1).join("0")+o),s?(s.length-1<i&&(s+=Array(i-s.length+2).join("0")),r===0?s=null:s.length-1>r&&(s=s.substr(0,r+1))):i>0&&(s=h[e+"DecimalSeparator"]+Array(i+1).join("0")),v=0,y=b[v],o.length<y)c=o,s&&(c+=s);else{for(k=o.length,d=!1,nt=f?"":h[e+"GroupSeparator"];!d;){if(a=y,l=k-a,l<0&&(y+=l,a+=l,l=0,d=!0),!a)break;g=o.substr(l,a);c=c.length?g+nt+c:g;k-=a;v<b.length-1&&(v++,y=b[v])}s&&(c+=s)}if(ft&&!rt)return w=System.Globalization.NumberFormatInfo[e+"NegativePatterns"][h[e+"NegativePattern"]],w.replace("-",h.negativeSign).replace("%",h.percentSymbol).replace("$",h.currencySymbol).replace("n",c);else if(System.Globalization.NumberFormatInfo[e+"PositivePatterns"])return w=System.Globalization.NumberFormatInfo[e+"PositivePatterns"][h[e+"PositivePattern"]],w.replace("%",h.percentSymbol).replace("$",h.currencySymbol).replace("n",c);return c},customFormat:function(n,t,i,r){var p=0,s=-1,h=-1,w=0,b=-1,a=0,nt=1,u,f,o,v,c,k,tt=!1,it=!1,y,l,e="",d=!1,rt=!1,g=!1,ut=n instanceof System.Decimal,ft=n instanceof System.Int64||n instanceof System.UInt64,et=ut||ft?n.isZero()?!1:n.isNegative():n<0;for(y="number",t.indexOf("%")!==-1?y="percent":t.indexOf("$")!==-1&&(y="currency"),f=0;f<t.length;f++)if(u=t.charAt(f),u==="'"||u==='"'){if(f=t.indexOf(u,f+1),f<0)break}else u==="\\"?f++:((u==="0"||u==="#")&&(w+=a,u==="0"&&(a?b=w:s<0&&(s=p)),p+=!a),a=a||u===".");for(s=s<0?1:p-s,et&&(tt=!0),c=Math.pow(10,w),n=ut?System.Decimal.round(n.abs().mul(c),4).div(c).toString():ft?(n.eq(System.Int64.MinValue)?System.Int64(n.value.toUnsigned()):n.abs()).mul(c).div(c).toString():""+Math.round(Math.abs(n)*c)/c,it=n.split("").every(function(n){return n==="0"||n==="."}),k=n.indexOf("."),h=k<0?n.length:k,f=h-p,l={groupIndex:Math.max(h,s),sep:r?"":i[y+"GroupSeparator"]},h===1&&n.charAt(0)==="0"&&(d=!0),o=0;o<t.length;o++)if(u=t.charAt(o),u==="'"||u==='"'){if(v=t.indexOf(u,o+1),e+=t.substring(o+1,v<0?t.length:v),v<0)break;o=v}else u==="\\"?(e+=t.charAt(o+1),o++):u==="#"||u==="0"?(g=!0,!rt&&d&&u==="#"?f++:(l.buffer=e,f<h?(f>=0?(nt&&this.addGroup(n.substr(0,f),l),this.addGroup(n.charAt(f),l)):f>=h-s&&this.addGroup("0",l),nt=0):(b-->0||f<n.length)&&this.addGroup(f>=n.length?"0":n.charAt(f),l),e=l.buffer,f++)):u==="."?(g||d||(e+=n.substr(0,h),g=!0),(n.length>++f||b>0)&&(rt=!0,e+=i[y+"DecimalSeparator"])):u!==","&&(e+=u);return tt&&!it&&(e="-"+e),e},addGroup:function(n,t){for(var i=t.buffer,f=t.sep,r=t.groupIndex,u=0,e=n.length;u<e;u++)i+=n.charAt(u),f&&r>1&&r--%3==1&&(i+=f);t.buffer=i;t.groupIndex=r},parseFloat:function(n,t){var i={};return H5.Int.tryParseFloat(n,t,i,!1),i.v},tryParseFloat:function(n,t,i,r){var a,v,o,u,y;if(i.v=0,r==null&&(r=!0),n==null){if(r)return!1;throw new System.ArgumentNullException.$ctor1("s");}n=n.trim();var f=(t||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo),s=f.numberDecimalSeparator,e=f.numberGroupSeparator,h="Input string was not in a correct format.",c=n.indexOf(s),l=e?n.indexOf(e):-1;if(c>-1&&(c<l||l>-1&&c<n.indexOf(e,c)||n.indexOf(s,c+1)>-1)){if(r)return!1;throw new System.FormatException.$ctor1(h);}if(s!=="."&&e!=="."&&n.indexOf(".")>-1){if(r)return!1;throw new System.FormatException.$ctor1(h);}if(l>-1){for(a="",u=0;u<n.length;u++)n[u]!==e&&(a+=n[u]);n=a}if(n===f.negativeInfinitySymbol)return i.v=Number.NEGATIVE_INFINITY,!0;else if(n===f.positiveInfinitySymbol)return i.v=Number.POSITIVE_INFINITY,!0;else if(n===f.nanSymbol)return i.v=Number.NaN,!0;for(v=0,o=!1,u=0;u<n.length;u++)if(System.Char.isNumber(n[u].charCodeAt(0))||n[u]==="."||n[u]===","||n[u]===f.positiveSign&&(u===0||o)||n[u]===f.negativeSign&&(u===0||o)||n[u]===s||n[u]===e)o=!1;else if(n[u].toLowerCase()==="e"){if(o=!0,v++,v>1){if(r)return!1;throw new System.FormatException.$ctor1(h);}}else{if(o=!1,r)return!1;throw new System.FormatException.$ctor1(h);}if(y=parseFloat(n.replace(s,".")),isNaN(y)){if(r)return!1;throw new System.FormatException.$ctor1(h);}return i.v=y,!0},parseInt:function(n,t,i,r){if(r=r||10,n==null)throw new System.ArgumentNullException.$ctor1("str");if(n=n.trim(),r<=10&&!/^[+-]?[0-9]+$/.test(n)||r==16&&!/^[+-]?[0-9A-F]+$/gi.test(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");var u=parseInt(n,r);if(isNaN(u))throw new System.FormatException.$ctor1("Input string was not in a correct format.");if(u<t||u>i)throw new System.OverflowException;return u},tryParseInt:function(n,t,i,r,u){return(t.v=0,u=u||10,n!=null&&n.trim==="".trim&&(n=n.trim()),u<=10&&!/^[+-]?[0-9]+$/.test(n)||u==16&&!/^[+-]?[0-9A-F]+$/gi.test(n))?!1:(t.v=parseInt(n,u),t.v<i||t.v>r)?(t.v=0,!1):!0},isInfinite:function(n){return n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY},trunc:function(n){return H5.isNumber(n)?n>0?Math.floor(n):Math.ceil(n):H5.Int.isInfinite(n)?n:null},div:function(n,t){if(n==null||t==null)return null;if(t===0)throw new System.DivideByZeroException;return this.trunc(n/t)},mod:function(n,t){if(n==null||t==null)return null;if(t===0)throw new System.DivideByZeroException;return n%t},check:function(n,t){if(System.Int64.is64Bit(n))return System.Int64.check(n,t);else if(n instanceof System.Decimal)return System.Decimal.toInt(n,t);if(H5.isNumber(n))if(System.Int64.is64BitType(t)){if(t===System.UInt64&&n<0)throw new System.OverflowException;return t===System.Int64?System.Int64(n):System.UInt64(n)}else if(!t.$is(n))throw new System.OverflowException;return H5.Int.isInfinite(n)||isNaN(n)?System.Int64.is64BitType(t)?t.MinValue:t.min:n},sxb:function(n){return H5.isNumber(n)?n|(n&128?4294967040:0):H5.Int.isInfinite(n)||isNaN(n)?System.SByte.min:null},sxs:function(n){return H5.isNumber(n)?n|(n&32768?4294901760:0):H5.Int.isInfinite(n)||isNaN(n)?System.Int16.min:null},clip8:function(n){return H5.isNumber(n)?H5.Int.sxb(n&255):H5.Int.isInfinite(n)||isNaN(n)?System.SByte.min:null},clipu8:function(n){return H5.isNumber(n)?n&255:H5.Int.isInfinite(n)||isNaN(n)?System.Byte.min:null},clip16:function(n){return H5.isNumber(n)?H5.Int.sxs(n&65535):H5.Int.isInfinite(n)||isNaN(n)?System.Int16.min:null},clipu16:function(n){return H5.isNumber(n)?n&65535:H5.Int.isInfinite(n)||isNaN(n)?System.UInt16.min:null},clip32:function(n){return H5.isNumber(n)?n|0:H5.Int.isInfinite(n)||isNaN(n)?System.Int32.min:null},clipu32:function(n){return H5.isNumber(n)?n>>>0:H5.Int.isInfinite(n)||isNaN(n)?System.UInt32.min:null},clip64:function(n){return H5.isNumber(n)?System.Int64(H5.Int.trunc(n)):H5.Int.isInfinite(n)||isNaN(n)?System.Int64.MinValue:null},clipu64:function(n){return H5.isNumber(n)?System.UInt64(H5.Int.trunc(n)):H5.Int.isInfinite(n)||isNaN(n)?System.UInt64.MinValue:null},sign:function(n){return n===Number.POSITIVE_INFINITY?1:n===Number.NEGATIVE_INFINITY?-1:H5.isNumber(n)?n===0?0:n<0?-1:1:null},$mul:Math.imul||function(n,t){var u=n>>>16&65535,i=n&65535,f=t>>>16&65535,r=t&65535;return i*r+(u*r+i*f<<16>>>0)|0},mul:function(n,t,i){return n==null||t==null?null:(i&&H5.Int.check(n*t,System.Int32),H5.Int.$mul(n,t))},umul:function(n,t,i){return n==null||t==null?null:(i&&H5.Int.check(n*t,System.UInt32),H5.Int.$mul(n,t)>>>0)}}});H5.Int.$kind="";H5.Class.addExtend(H5.Int,[System.IComparable$1(H5.Int),System.IEquatable$1(H5.Int)]),function(){var n=function(n,t,i,r,u){var f=H5.define(n,{inherits:[System.IComparable,System.IFormattable],statics:{$number:!0,toUnsign:u,min:t,max:i,precision:r,$is:function(n){return typeof n=="number"&&Math.floor(n,0)===n&&n>=t&&n<=i},getDefaultValue:function(){return 0},parse:function(n,r){return H5.Int.parseInt(n,t,i,r)},tryParse:function(n,r,u){return H5.Int.tryParseInt(n,r,t,i,u)},format:function(n,t,i){return H5.Int.format(n,t,i,f,u)},equals:function(n,t){return H5.is(n,f)&&H5.is(t,f)?H5.unbox(n,!0)===H5.unbox(t,!0):!1},equalsT:function(n,t){return H5.unbox(n,!0)===H5.unbox(t,!0)}}});f.$kind="";H5.Class.addExtend(f,[System.IComparable$1(f),System.IEquatable$1(f)])};n("System.Byte",0,255,3);n("System.SByte",-128,127,3,H5.Int.clipu8);n("System.Int16",-32768,32767,5,H5.Int.clipu16);n("System.UInt16",0,65535,5);n("System.Int32",-2147483648,2147483647,10,H5.Int.clipu32);n("System.UInt32",0,4294967295,10)}();H5.define("System.Double",{inherits:[System.IComparable,System.IFormattable],statics:{min:-Number.MAX_VALUE,max:Number.MAX_VALUE,precision:15,$number:!0,$is:function(n){return typeof n=="number"},getDefaultValue:function(){return 0},parse:function(n,t){return H5.Int.parseFloat(n,t)},tryParse:function(n,t,i){return H5.Int.tryParseFloat(n,t,i)},format:function(n,t,i){return H5.Int.format(n,t||"G",i,System.Double)},equals:function(n,t){return H5.is(n,System.Double)&&H5.is(t,System.Double)?(n=H5.unbox(n,!0),t=H5.unbox(t,!0),isNaN(n)&&isNaN(t))?!0:n===t:!1},equalsT:function(n,t){return H5.unbox(n,!0)===H5.unbox(t,!0)},getHashCode:function(n){var t=H5.unbox(n,!0);return t===0?0:t===Number.POSITIVE_INFINITY?2146435072:t===Number.NEGATIVE_INFINITY?4293918720:H5.getHashCode(t.toExponential())}}});System.Double.$kind="";H5.Class.addExtend(System.Double,[System.IComparable$1(System.Double),System.IEquatable$1(System.Double)]);H5.define("System.Single",{inherits:[System.IComparable,System.IFormattable],statics:{min:-34028234663852886e22,max:34028234663852886e22,precision:7,$number:!0,$is:System.Double.$is,getDefaultValue:System.Double.getDefaultValue,parse:System.Double.parse,tryParse:System.Double.tryParse,format:function(n,t,i){return H5.Int.format(n,t||"G",i,System.Single)},equals:function(n,t){return H5.is(n,System.Single)&&H5.is(t,System.Single)?(n=H5.unbox(n,!0),t=H5.unbox(t,!0),isNaN(n)&&isNaN(t))?!0:n===t:!1},equalsT:function(n,t){return H5.unbox(n,!0)===H5.unbox(t,!0)},getHashCode:System.Double.getHashCode}});System.Single.$kind="";H5.Class.addExtend(System.Single,[System.IComparable$1(System.Single),System.IEquatable$1(System.Single)]),function(n){function i(n,t,i){this.low=n|0;this.high=t|0;this.unsigned=!!i}function u(n){return!0===(n&&n.__isLong__)}function h(n,i){var r,u;if(i){if(n>>>=0,(u=0<=n&&256>n)&&(r=p[n]))return r;r=t(n,0>(n|0)?-1:0,!0);u&&(p[n]=r)}else{if(n|=0,(u=-128<=n&&128>n)&&(r=y[n]))return r;r=t(n,0>n?-1:0,!1);u&&(y[n]=r)}return r}function f(n,i){if(isNaN(n)||!isFinite(n))return i?s:e;if(i){if(0>n)return s;if(n>=d)return k}else{if(n<=-g)return r;if(n+1>=g)return b}return 0>n?f(-n,i).neg():t(n%4294967296|0,n/4294967296|0,i)}function t(n,t,r){return new i(n,t,r)}function v(n,t,i){var s,r,u,o,h;if(0===n.length)throw Error("empty string");if("NaN"===n||"Infinity"===n||"+Infinity"===n||"-Infinity"===n)return e;if("number"==typeof t?(i=t,t=!1):t=!!t,i=i||10,2>i||36<i)throw RangeError("radix");if(0<(s=n.indexOf("-")))throw Error("interior hyphen");if(0===s)return v(n.substring(1),t,i).neg();for(s=f(l(i,8)),r=e,u=0;u<n.length;u+=8)o=Math.min(8,n.length-u),h=parseInt(n.substring(u,u+o),i),8>o?(o=f(l(i,o)),r=r.mul(o).add(f(h))):(r=r.mul(s),r=r.add(f(h)));return r.unsigned=t,r}function o(n){return n instanceof i?n:"number"==typeof n?f(n):"string"==typeof n?v(n):t(n.low,n.high,n.unsigned)}var y,p,l,s,c,w,a,b,k,r;n.H5.$Long=i;i.__isLong__;Object.defineProperty(i.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});i.isLong=u;y={};p={};i.fromInt=h;i.fromNumber=f;i.fromBits=t;l=Math.pow;i.fromString=v;i.fromValue=o;var d=4294967296*4294967296,g=d/2,nt=h(16777216),e=h(0);i.ZERO=e;s=h(0,!0);i.UZERO=s;c=h(1);i.ONE=c;w=h(1,!0);i.UONE=w;a=h(-1);i.NEG_ONE=a;b=t(-1,2147483647,!1);i.MAX_VALUE=b;k=t(-1,-1,!0);i.MAX_UNSIGNED_VALUE=k;r=t(0,-2147483648,!1);i.MIN_VALUE=r;n=i.prototype;n.toInt=function(){return this.unsigned?this.low>>>0:this.low};n.toNumber=function(){return this.unsigned?4294967296*(this.high>>>0)+(this.low>>>0):4294967296*this.high+(this.low>>>0)};n.toString=function(n){if(n=n||10,2>n||36<n)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(r)){var t=f(n),u=this.div(t),t=u.mul(t).sub(this);return u.toString(n)+t.toInt().toString(n)}return("undefined"==typeof n||10===n?"-":"")+this.neg().toString(n)}for(var u=f(l(n,6),this.unsigned),t=this,e="";;){var o=t.div(u),i=(t.sub(o.mul(u)).toInt()>>>0).toString(n),t=o;if(t.isZero())return i+e;for(;6>i.length;)i="0"+i;e=""+i+e}};n.getHighBits=function(){return this.high};n.getHighBitsUnsigned=function(){return this.high>>>0};n.getLowBits=function(){return this.low};n.getLowBitsUnsigned=function(){return this.low>>>0};n.getNumBitsAbs=function(){if(this.isNegative())return this.eq(r)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,n=31;0<n&&0==(t&1<<n);n--);return 0!=this.high?n+33:n+1};n.isZero=function(){return 0===this.high&&0===this.low};n.isNegative=function(){return!this.unsigned&&0>this.high};n.isPositive=function(){return this.unsigned||0<=this.high};n.isOdd=function(){return 1==(this.low&1)};n.isEven=function(){return 0==(this.low&1)};n.equals=function(n){return u(n)||(n=o(n)),this.unsigned!==n.unsigned&&1==this.high>>>31&&1==n.high>>>31?!1:this.high===n.high&&this.low===n.low};n.eq=n.equals;n.notEquals=function(n){return!this.eq(n)};n.neq=n.notEquals;n.lessThan=function(n){return 0>this.comp(n)};n.lt=n.lessThan;n.lessThanOrEqual=function(n){return 0>=this.comp(n)};n.lte=n.lessThanOrEqual;n.greaterThan=function(n){return 0<this.comp(n)};n.gt=n.greaterThan;n.greaterThanOrEqual=function(n){return 0<=this.comp(n)};n.gte=n.greaterThanOrEqual;n.compare=function(n){if(u(n)||(n=o(n)),this.eq(n))return 0;var t=this.isNegative(),i=n.isNegative();return t&&!i?-1:!t&&i?1:this.unsigned?n.high>>>0>this.high>>>0||n.high===this.high&&n.low>>>0>this.low>>>0?-1:1:this.sub(n).isNegative()?-1:1};n.comp=n.compare;n.negate=function(){return!this.unsigned&&this.eq(r)?r:this.not().add(c)};n.neg=n.negate;n.add=function(n){u(n)||(n=o(n));var e=this.high>>>16,i=this.high&65535,r=this.low>>>16,s=n.high>>>16,h=n.high&65535,c=n.low>>>16,f;return f=0+((this.low&65535)+(n.low&65535)),n=0+(f>>>16),n+=r+c,r=0+(n>>>16),r+=i+h,i=0+(r>>>16),i=i+(e+s)&65535,t((n&65535)<<16|f&65535,i<<16|r&65535,this.unsigned)};n.subtract=function(n){return u(n)||(n=o(n)),this.add(n.neg())};n.sub=n.subtract;n.multiply=function(n){var h,i,s,v;if(this.isZero()||(u(n)||(n=o(n)),n.isZero()))return e;if(this.eq(r))return n.isOdd()?r:e;if(n.eq(r))return this.isOdd()?r:e;if(this.isNegative())return n.isNegative()?this.neg().mul(n.neg()):this.neg().mul(n).neg();if(n.isNegative())return this.mul(n.neg()).neg();if(this.lt(nt)&&n.lt(nt))return f(this.toNumber()*n.toNumber(),this.unsigned);var w=this.high>>>16,y=this.high&65535,l=this.low>>>16,c=this.low&65535,b=n.high>>>16,p=n.high&65535,a=n.low>>>16;return n=n.low&65535,v=0+c*n,s=0+(v>>>16),s+=l*n,i=0+(s>>>16),s=(s&65535)+c*a,i+=s>>>16,s&=65535,i+=y*n,h=0+(i>>>16),i=(i&65535)+l*a,h+=i>>>16,i&=65535,i+=c*p,h+=i>>>16,i&=65535,h=h+(w*n+y*a+l*p+c*b)&65535,t(s<<16|v&65535,h<<16|i,this.unsigned)};n.mul=n.multiply;n.divide=function(n){var t,i,v;if(u(n)||(n=o(n)),n.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?s:e;if(this.unsigned)n.unsigned||(n=n.toUnsigned());else{if(this.eq(r))return n.eq(c)||n.eq(a)?r:n.eq(r)?c:(t=this.shr(1).div(n).shl(1),t.eq(e))?n.isNegative()?c:a:(i=this.sub(n.mul(t)),t.add(i.div(n)));if(n.eq(r))return this.unsigned?s:e;if(this.isNegative())return n.isNegative()?this.neg().div(n.neg()):this.neg().div(n).neg();if(n.isNegative())return this.div(n.neg()).neg()}if(this.unsigned){if(n.gt(this))return s;if(n.gt(this.shru(1)))return w;v=s}else v=e;for(i=this;i.gte(n);){t=Math.max(1,Math.floor(i.toNumber()/n.toNumber()));for(var p=Math.ceil(Math.log(t)/Math.LN2),p=48>=p?1:l(2,p-48),h=f(t),y=h.mul(n);y.isNegative()||y.gt(i);)t-=p,h=f(t,this.unsigned),y=h.mul(n);h.isZero()&&(h=c);v=v.add(h);i=i.sub(y)}return v};n.div=n.divide;n.modulo=function(n){return u(n)||(n=o(n)),this.sub(this.div(n).mul(n))};n.mod=n.modulo;n.not=function(){return t(~this.low,~this.high,this.unsigned)};n.and=function(n){return u(n)||(n=o(n)),t(this.low&n.low,this.high&n.high,this.unsigned)};n.or=function(n){return u(n)||(n=o(n)),t(this.low|n.low,this.high|n.high,this.unsigned)};n.xor=function(n){return u(n)||(n=o(n)),t(this.low^n.low,this.high^n.high,this.unsigned)};n.shiftLeft=function(n){return u(n)&&(n=n.toInt()),0==(n&=63)?this:32>n?t(this.low<<n,this.high<<n|this.low>>>32-n,this.unsigned):t(0,this.low<<n-32,this.unsigned)};n.shl=n.shiftLeft;n.shiftRight=function(n){return u(n)&&(n=n.toInt()),0==(n&=63)?this:32>n?t(this.low>>>n|this.high<<32-n,this.high>>n,this.unsigned):t(this.high>>n-32,0<=this.high?0:-1,this.unsigned)};n.shr=n.shiftRight;n.shiftRightUnsigned=function(n){if(u(n)&&(n=n.toInt()),n&=63,0===n)return this;var i=this.high;return 32>n?t(this.low>>>n|i<<32-n,i>>>n,this.unsigned):32===n?t(i,0,this.unsigned):t(i>>>n-32,0,this.unsigned)};n.shru=n.shiftRightUnsigned;n.toSigned=function(){return this.unsigned?t(this.low,this.high,!1):this};n.toUnsigned=function(){return this.unsigned?this:t(this.low,this.high,!0)}}(H5.global);System.Int64=function(n){if(this.constructor!==System.Int64)return new System.Int64(n);H5.hasValue(n)||(n=0);this.T=System.Int64;this.unsigned=!1;this.value=System.Int64.getValue(n)};System.Int64.$number=!0;System.Int64.TWO_PWR_16_DBL=65536;System.Int64.TWO_PWR_32_DBL=System.Int64.TWO_PWR_16_DBL*System.Int64.TWO_PWR_16_DBL;System.Int64.TWO_PWR_64_DBL=System.Int64.TWO_PWR_32_DBL*System.Int64.TWO_PWR_32_DBL;System.Int64.TWO_PWR_63_DBL=System.Int64.TWO_PWR_64_DBL/2;System.Int64.$$name="System.Int64";System.Int64.prototype.$$name="System.Int64";System.Int64.$kind="struct";System.Int64.prototype.$kind="struct";System.Int64.$$inherits=[];H5.Class.addExtend(System.Int64,[System.IComparable,System.IFormattable,System.IComparable$1(System.Int64),System.IEquatable$1(System.Int64)]);System.Int64.$is=function(n){return n instanceof System.Int64};System.Int64.is64Bit=function(n){return n instanceof System.Int64||n instanceof System.UInt64};System.Int64.is64BitType=function(n){return n===System.Int64||n===System.UInt64};System.Int64.getDefaultValue=function(){return System.Int64.Zero};System.Int64.getValue=function(n){return H5.hasValue(n)?n instanceof H5.$Long?n:n instanceof System.Int64?n.value:n instanceof System.UInt64?n.value.toSigned():H5.isArray(n)?new H5.$Long(n[0],n[1]):H5.isString(n)?H5.$Long.fromString(n):H5.isNumber(n)?n+1>=System.Int64.TWO_PWR_63_DBL?new System.UInt64(n).value.toSigned():H5.$Long.fromNumber(n):n instanceof System.Decimal?H5.$Long.fromString(n.toString()):H5.$Long.fromValue(n):null};System.Int64.create=function(n){return H5.hasValue(n)?n instanceof System.Int64?n:new System.Int64(n):null};System.Int64.lift=function(n){return H5.hasValue(n)?System.Int64.create(n):null};System.Int64.toNumber=function(n){return n?n.toNumber():null};System.Int64.prototype.toNumberDivided=function(n){var t=this.div(n),i=this.mod(n),r=i.toNumber()/n;return t.toNumber()+r};System.Int64.prototype.toJSON=function(){return this.gt(H5.Int.MAX_SAFE_INTEGER)||this.lt(H5.Int.MIN_SAFE_INTEGER)?this.toString():this.toNumber()};System.Int64.prototype.toString=function(n,t){return!n&&!t?this.value.toString():H5.isNumber(n)&&!t?this.value.toString(n):H5.Int.format(this,n,t,System.Int64,System.Int64.clipu64)};System.Int64.prototype.format=function(n,t){return H5.Int.format(this,n,t,System.Int64,System.Int64.clipu64)};System.Int64.prototype.isNegative=function(){return this.value.isNegative()};System.Int64.prototype.abs=function(){if(this.T===System.Int64&&this.eq(System.Int64.MinValue))throw new System.OverflowException;return new this.T(this.value.isNegative()?this.value.neg():this.value)};System.Int64.prototype.compareTo=function(n){return this.value.compare(this.T.getValue(n))};System.Int64.prototype.add=function(n,t){var i=this.T.getValue(n),r=new this.T(this.value.add(i));if(t){var u=this.value.isNegative(),f=i.isNegative(),e=r.value.isNegative();if(u&&f&&!e||!u&&!f&&e||this.T===System.UInt64&&r.lt(System.UInt64.max(this,i)))throw new System.OverflowException;}return r};System.Int64.prototype.sub=function(n,t){var i=this.T.getValue(n),r=new this.T(this.value.sub(i));if(t){var u=this.value.isNegative(),f=i.isNegative(),e=r.value.isNegative();if(u&&!f&&!e||!u&&f&&e||this.T===System.UInt64&&this.value.lt(i))throw new System.OverflowException;}return r};System.Int64.prototype.isZero=function(){return this.value.isZero()};System.Int64.prototype.mul=function(n,t){var i=this.T.getValue(n),r=new this.T(this.value.mul(i)),u;if(t){var f=this.sign(),e=i.isZero()?0:i.isNegative()?-1:1,o=r.sign();if(this.T===System.Int64){if(this.eq(System.Int64.MinValue)||this.eq(System.Int64.MaxValue)){if(i.neq(1)&&i.neq(0))throw new System.OverflowException;return r}if(i.eq(H5.$Long.MIN_VALUE)||i.eq(H5.$Long.MAX_VALUE)){if(this.neq(1)&&this.neq(0))throw new System.OverflowException;return r}if(f===-1&&e===-1&&o!==1||f===1&&e===1&&o!==1||f===-1&&e===1&&o!==-1||f===1&&e===-1&&o!==-1)throw new System.OverflowException;if(u=r.abs(),u.lt(this.abs())||u.lt(System.Int64(i).abs()))throw new System.OverflowException;}else{if(this.eq(System.UInt64.MaxValue)){if(i.neq(1)&&i.neq(0))throw new System.OverflowException;return r}if(i.eq(H5.$Long.MAX_UNSIGNED_VALUE)){if(this.neq(1)&&this.neq(0))throw new System.OverflowException;return r}if(u=r.abs(),u.lt(this.abs())||u.lt(System.Int64(i).abs()))throw new System.OverflowException;}}return r};System.Int64.prototype.div=function(n){return new this.T(this.value.div(this.T.getValue(n)))};System.Int64.prototype.mod=function(n){return new this.T(this.value.mod(this.T.getValue(n)))};System.Int64.prototype.neg=function(n){if(n&&this.T===System.Int64&&this.eq(System.Int64.MinValue))throw new System.OverflowException;return new this.T(this.value.neg())};System.Int64.prototype.inc=function(n){return this.add(1,n)};System.Int64.prototype.dec=function(n){return this.sub(1,n)};System.Int64.prototype.sign=function(){return this.value.isZero()?0:this.value.isNegative()?-1:1};System.Int64.prototype.clone=function(){return new this.T(this)};System.Int64.prototype.ne=function(n){return this.value.neq(this.T.getValue(n))};System.Int64.prototype.neq=function(n){return this.value.neq(this.T.getValue(n))};System.Int64.prototype.eq=function(n){return this.value.eq(this.T.getValue(n))};System.Int64.prototype.lt=function(n){return this.value.lt(this.T.getValue(n))};System.Int64.prototype.lte=function(n){return this.value.lte(this.T.getValue(n))};System.Int64.prototype.gt=function(n){return this.value.gt(this.T.getValue(n))};System.Int64.prototype.gte=function(n){return this.value.gte(this.T.getValue(n))};System.Int64.prototype.equals=function(n){return this.value.eq(this.T.getValue(n))};System.Int64.prototype.equalsT=function(n){return this.equals(n)};System.Int64.prototype.getHashCode=function(){var n=this.sign()*397+this.value.high|0;return n*397+this.value.low|0};System.Int64.prototype.toNumber=function(){return this.value.toNumber()};System.Int64.parse=function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("str");if(!/^[+-]?[0-9]+$/.test(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");var t=new System.Int64(n);if(System.String.trimStartZeros(n)!==t.toString())throw new System.OverflowException;return t};System.Int64.tryParse=function(n,t){try{return n==null||!/^[+-]?[0-9]+$/.test(n)?(t.v=System.Int64(H5.$Long.ZERO),!1):(t.v=new System.Int64(n),System.String.trimStartZeros(n)!==t.v.toString())?(t.v=System.Int64(H5.$Long.ZERO),!1):!0}catch(i){return t.v=System.Int64(H5.$Long.ZERO),!1}};System.Int64.divRem=function(n,t,i){n=System.Int64(n);t=System.Int64(t);var r=n.mod(t);return i.v=r,n.sub(r).div(t)};System.Int64.min=function(){for(var t=[],i,n=0,r=arguments.length;n<r;n++)t.push(System.Int64.getValue(arguments[n]));for(n=0,i=t[0];++n<t.length;)t[n].lt(i)&&(i=t[n]);return new System.Int64(i)};System.Int64.max=function(){for(var t=[],i,n=0,r=arguments.length;n<r;n++)t.push(System.Int64.getValue(arguments[n]));for(n=0,i=t[0];++n<t.length;)t[n].gt(i)&&(i=t[n]);return new System.Int64(i)};System.Int64.prototype.and=function(n){return new this.T(this.value.and(this.T.getValue(n)))};System.Int64.prototype.not=function(){return new this.T(this.value.not())};System.Int64.prototype.or=function(n){return new this.T(this.value.or(this.T.getValue(n)))};System.Int64.prototype.shl=function(n){return new this.T(this.value.shl(n))};System.Int64.prototype.shr=function(n){return new this.T(this.value.shr(n))};System.Int64.prototype.shru=function(n){return new this.T(this.value.shru(n))};System.Int64.prototype.xor=function(n){return new this.T(this.value.xor(this.T.getValue(n)))};System.Int64.check=function(n,t){if(H5.Int.isInfinite(n))return t===System.Int64||t===System.UInt64?t.MinValue:t.min;if(!n)return null;var i,r;if(t===System.Int64){if(n instanceof System.Int64)return n;if(i=n.value.toString(),r=new System.Int64(i),i!==r.value.toString())throw new System.OverflowException;return r}if(t===System.UInt64){if(n instanceof System.UInt64)return n;if(n.value.isNegative())throw new System.OverflowException;if(i=n.value.toString(),r=new System.UInt64(i),i!==r.value.toString())throw new System.OverflowException;return r}return H5.Int.check(n.toNumber(),t)};System.Int64.clip8=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?H5.Int.sxb(n.value.low&255):H5.Int.isInfinite(n)?System.SByte.min:null};System.Int64.clipu8=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?n.value.low&255:H5.Int.isInfinite(n)?System.Byte.min:null};System.Int64.clip16=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?H5.Int.sxs(n.value.low&65535):H5.Int.isInfinite(n)?System.Int16.min:null};System.Int64.clipu16=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?n.value.low&65535:H5.Int.isInfinite(n)?System.UInt16.min:null};System.Int64.clip32=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?n.value.low|0:H5.Int.isInfinite(n)?System.Int32.min:null};System.Int64.clipu32=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?n.value.low>>>0:H5.Int.isInfinite(n)?System.UInt32.min:null};System.Int64.clip64=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.UInt64(n),n?new System.Int64(n.value.toSigned()):H5.Int.isInfinite(n)?System.Int64.MinValue:null};System.Int64.clipu64=function(n){return n=n==null||System.Int64.is64Bit(n)?n:new System.Int64(n),n?new System.UInt64(n.value.toUnsigned()):H5.Int.isInfinite(n)?System.UInt64.MinValue:null};System.Int64.Zero=System.Int64(H5.$Long.ZERO);System.Int64.MinValue=System.Int64(H5.$Long.MIN_VALUE);System.Int64.MaxValue=System.Int64(H5.$Long.MAX_VALUE);System.Int64.precision=19;System.UInt64=function(n){if(this.constructor!==System.UInt64)return new System.UInt64(n);H5.hasValue(n)||(n=0);this.T=System.UInt64;this.unsigned=!0;this.value=System.UInt64.getValue(n,!0)};System.UInt64.$number=!0;System.UInt64.$$name="System.UInt64";System.UInt64.prototype.$$name="System.UInt64";System.UInt64.$kind="struct";System.UInt64.prototype.$kind="struct";System.UInt64.$$inherits=[];H5.Class.addExtend(System.UInt64,[System.IComparable,System.IFormattable,System.IComparable$1(System.UInt64),System.IEquatable$1(System.UInt64)]);System.UInt64.$is=function(n){return n instanceof System.UInt64};System.UInt64.getDefaultValue=function(){return System.UInt64.Zero};System.UInt64.getValue=function(n){return H5.hasValue(n)?n instanceof H5.$Long?n:n instanceof System.UInt64?n.value:n instanceof System.Int64?n.value.toUnsigned():H5.isArray(n)?new H5.$Long(n[0],n[1],!0):H5.isString(n)?H5.$Long.fromString(n,!0):H5.isNumber(n)?n<0?new System.Int64(n).value.toUnsigned():H5.$Long.fromNumber(n,!0):n instanceof System.Decimal?H5.$Long.fromString(n.toString(),!0):H5.$Long.fromValue(n):null};System.UInt64.create=function(n){return H5.hasValue(n)?n instanceof System.UInt64?n:new System.UInt64(n):null};System.UInt64.lift=function(n){return H5.hasValue(n)?System.UInt64.create(n):null};System.UInt64.prototype.toString=System.Int64.prototype.toString;System.UInt64.prototype.format=System.Int64.prototype.format;System.UInt64.prototype.isNegative=System.Int64.prototype.isNegative;System.UInt64.prototype.abs=System.Int64.prototype.abs;System.UInt64.prototype.compareTo=System.Int64.prototype.compareTo;System.UInt64.prototype.add=System.Int64.prototype.add;System.UInt64.prototype.sub=System.Int64.prototype.sub;System.UInt64.prototype.isZero=System.Int64.prototype.isZero;System.UInt64.prototype.mul=System.Int64.prototype.mul;System.UInt64.prototype.div=System.Int64.prototype.div;System.UInt64.prototype.toNumberDivided=System.Int64.prototype.toNumberDivided;System.UInt64.prototype.mod=System.Int64.prototype.mod;System.UInt64.prototype.neg=System.Int64.prototype.neg;System.UInt64.prototype.inc=System.Int64.prototype.inc;System.UInt64.prototype.dec=System.Int64.prototype.dec;System.UInt64.prototype.sign=System.Int64.prototype.sign;System.UInt64.prototype.clone=System.Int64.prototype.clone;System.UInt64.prototype.ne=System.Int64.prototype.ne;System.UInt64.prototype.neq=System.Int64.prototype.neq;System.UInt64.prototype.eq=System.Int64.prototype.eq;System.UInt64.prototype.lt=System.Int64.prototype.lt;System.UInt64.prototype.lte=System.Int64.prototype.lte;System.UInt64.prototype.gt=System.Int64.prototype.gt;System.UInt64.prototype.gte=System.Int64.prototype.gte;System.UInt64.prototype.equals=System.Int64.prototype.equals;System.UInt64.prototype.equalsT=System.Int64.prototype.equalsT;System.UInt64.prototype.getHashCode=System.Int64.prototype.getHashCode;System.UInt64.prototype.toNumber=System.Int64.prototype.toNumber;System.UInt64.parse=function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("str");if(!/^[+-]?[0-9]+$/.test(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");var t=new System.UInt64(n);if(t.value.isNegative())throw new System.OverflowException;if(System.String.trimStartZeros(n)!==t.toString())throw new System.OverflowException;return t};System.UInt64.tryParse=function(n,t){try{return n==null||!/^[+-]?[0-9]+$/.test(n)?(t.v=System.UInt64(H5.$Long.UZERO),!1):(t.v=new System.UInt64(n),t.v.isNegative())?(t.v=System.UInt64(H5.$Long.UZERO),!1):System.String.trimStartZeros(n)!==t.v.toString()?(t.v=System.UInt64(H5.$Long.UZERO),!1):!0}catch(i){return t.v=System.UInt64(H5.$Long.UZERO),!1}};System.UInt64.min=function(){for(var t=[],i,n=0,r=arguments.length;n<r;n++)t.push(System.UInt64.getValue(arguments[n]));for(n=0,i=t[0];++n<t.length;)t[n].lt(i)&&(i=t[n]);return new System.UInt64(i)};System.UInt64.max=function(){for(var t=[],i,n=0,r=arguments.length;n<r;n++)t.push(System.UInt64.getValue(arguments[n]));for(n=0,i=t[0];++n<t.length;)t[n].gt(i)&&(i=t[n]);return new System.UInt64(i)};System.UInt64.divRem=function(n,t,i){n=System.UInt64(n);t=System.UInt64(t);var r=n.mod(t);return i.v=r,n.sub(r).div(t)};System.UInt64.prototype.toJSON=function(){return this.gt(H5.Int.MAX_SAFE_INTEGER)?this.toString():this.toNumber()};System.UInt64.prototype.and=System.Int64.prototype.and;System.UInt64.prototype.not=System.Int64.prototype.not;System.UInt64.prototype.or=System.Int64.prototype.or;System.UInt64.prototype.shl=System.Int64.prototype.shl;System.UInt64.prototype.shr=System.Int64.prototype.shr;System.UInt64.prototype.shru=System.Int64.prototype.shru;System.UInt64.prototype.xor=System.Int64.prototype.xor;System.UInt64.Zero=System.UInt64(H5.$Long.UZERO);System.UInt64.MinValue=System.UInt64.Zero;System.UInt64.MaxValue=System.UInt64(H5.$Long.MAX_UNSIGNED_VALUE);System.UInt64.precision=20;!function(n){function e(n){var u,i,f,o=n.length-1,e="",t=n[0];if(o>0){for(e+=t,u=1;o>u;u++)f=n[u]+"",i=r-f.length,i&&(e+=p(i)),e+=f;t=n[u];f=t+"";i=r-f.length;i&&(e+=p(i))}else if(0===t)return"0";for(;t%10==0;)t/=10;return e+t}function h(n,t,i){if(n!==~~n||t>n||n>i)throw Error(k+n);}function nt(n,t,i,u){for(var o,h,f,e=n[0];e>=10;e/=10)--t;return--t<0?(t+=r,o=0):(o=Math.ceil((t+1)/r),t%=r),e=s(10,r-t),f=n[o]%e|0,null==u?3>t?(0==t?f=f/100|0:1==t&&(f=f/10|0),h=4>i&&99999==f||i>3&&49999==f||5e4==f||0==f):h=(4>i&&f+1==e||i>3&&f+1==e/2)&&(n[o+1]/e/100|0)==s(10,t-2)-1||(f==e/2||0==f)&&0==(n[o+1]/e/100|0):4>t?(0==t?f=f/1e3|0:1==t?f=f/100|0:2==t&&(f=f/10|0),h=(u||4>i)&&9999==f||!u&&i>3&&4999==f):h=((u||4>i)&&f+1==e||!u&&i>3&&f+1==e/2)&&(n[o+1]/e/1e3|0)==s(10,t-3)-1,h}function tt(n,t,i){for(var u,f,r=[0],e=0,o=n.length;o>e;){for(f=r.length;f--;)r[f]*=t;for(r[0]+=ht.indexOf(n.charAt(e++)),u=0;u<r.length;u++)r[u]>i-1&&(void 0===r[u+1]&&(r[u+1]=0),r[u+1]+=r[u]/i|0,r[u]%=i)}return r.reverse()}function ri(n,t){var i,u,f=t.d.length,e,r;for(32>f?(i=Math.ceil(f/3),u=Math.pow(4,-i).toString()):(i=16,u="2.3283064365386962890625e-10"),n.precision+=i,t=d(n,1,t.times(u),new n(1)),e=i;e--;)r=t.times(t),t=r.times(r).minus(r).times(8).plus(1);return n.precision-=i,t}function i(n,t,i,f){var v,c,o,h,p,w,y,e,l,b=n.constructor;n:if(null!=t){if(e=n.d,!e)return n;for(v=1,h=e[0];h>=10;h/=10)v++;if(c=t-v,0>c)c+=r,o=t,y=e[l=0],p=y/s(10,v-o-1)%10|0;else if(l=Math.ceil((c+1)/r),h=e.length,l>=h){if(!f)break n;for(;h++<=l;)e.push(0);y=p=0;v=1;c%=r;o=c-r+1}else{for(y=h=e[l],v=1;h>=10;h/=10)v++;c%=r;o=c-r+v;p=0>o?0:y/s(10,v-o-1)%10|0}if(f=f||0>t||void 0!==e[l+1]||(0>o?y:y%s(10,v-o-1)),w=4>i?(p||f)&&(0==i||i==(n.s<0?3:2)):p>5||5==p&&(4==i||f||6==i&&(c>0?o>0?y/s(10,v-o):0:e[l-1])%10&1||i==(n.s<0?8:7)),1>t||!e[0])return e.length=0,w?(t-=n.e+1,e[0]=s(10,(r-t%r)%r),n.e=-t||0):e[0]=n.e=0,n;if(0==c?(e.length=l,h=1,l--):(e.length=l+1,h=s(10,r-c),e[l]=o>0?(y/s(10,v-o)%s(10,o)|0)*h:0),w)for(;;){if(0==l){for(c=1,o=e[0];o>=10;o/=10)c++;for(o=e[0]+=h,h=1;o>=10;o/=10)h++;c!=h&&(n.e++,e[0]==a&&(e[0]=1));break}if(e[l]+=h,e[l]!=a)break;e[l--]=0;h=1}for(c=e.length;0===e[--c];)e.pop()}return u&&(n.e>b.maxE?(n.d=null,n.e=NaN):n.e<b.minE&&(n.e=0,n.d=[0])),n}function v(n,t,i){if(!n.isFinite())return pt(n);var u,o=n.e,r=e(n.d),f=r.length;return t?(i&&(u=i-f)>0?r=r.charAt(0)+"."+r.slice(1)+p(u):f>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(n.e<0?"e":"e+")+n.e):0>o?(r="0."+p(-o-1)+r,i&&(u=i-f)>0&&(r+=p(u))):o>=f?(r+=p(o+1-f),i&&(u=i-o-1)>0&&(r=r+"."+p(u))):((u=o+1)<f&&(r=r.slice(0,u)+"."+r.slice(u)),i&&(u=i-f)>0&&(o+1===f&&(r+="."),r+=p(u))),r}function it(n,t){for(var i=1,u=n[0];u>=10;u/=10)i++;return i+t*r-1}function rt(n,t,r){if(t>eu)throw u=!0,r&&(n.precision=r),Error(ti);return i(new n(ut),t,1,!0)}function l(n,t,r){if(t>ct)throw Error(ti);return i(new n(ft),t,r,!0)}function lt(n){var t=n.length-1,i=t*r+1;if(t=n[t]){for(;t%10==0;t/=10)i--;for(t=n[0];t>=10;t/=10)i++}return i}function p(n){for(var t="";n--;)t+="0";return t}function at(n,t,i,f){var s,e=new n(1),h=Math.ceil(f/r+4);for(u=!1;;){if(i%2&&(e=e.times(t),kt(e.d,h)&&(s=!0)),i=o(i/2),0===i){i=e.d.length-1;s&&0===e.d[i]&&++e.d[i];break}t=t.times(t);kt(t.d,h)}return u=!0,e}function vt(n){return 1&n.d[n.d.length-1]}function yt(n,t,i){for(var r,u=new n(t[0]),f=0;++f<t.length;){if(r=new n(t[f]),!r.s){u=r;break}u[i](r)&&(u=r)}return u}function ot(n,t){var l,v,b,a,o,c,r,y=0,k=0,p=0,h=n.constructor,d=h.rounding,w=h.precision;if(!n.d||!n.d[0]||n.e>17)return new h(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:NaN);for(null==t?(u=!1,r=w):r=t,c=new h(.03125);n.e>-2;)n=n.times(c),p+=5;for(v=Math.log(s(2,p))/Math.LN10*2+5|0,r+=v,l=a=o=new h(1),h.precision=r;;){if(a=i(a.times(n),r,1),l=l.times(++k),c=o.plus(f(a,l,r,1)),e(c.d).slice(0,r)===e(o.d).slice(0,r)){for(b=p;b--;)o=i(o.times(o),r,1);if(null!=t)return h.precision=w,o;if(!(3>y&&nt(o.d,r-v,d,y)))return i(o,h.precision=w,d,u=!0);h.precision=r+=10;l=a=c=new h(1);k=0;y++}o=c}}function w(n,t){var c,l,k,y,b,ut,h,p,o,g,tt,ft=1,d=10,r=n,a=r.d,s=r.constructor,it=s.rounding,v=s.precision;if(r.s<0||!a||!a[0]||!r.e&&1==a[0]&&1==a.length)return new s(a&&!a[0]?-1/0:1!=r.s?NaN:a?0:r);if(null==t?(u=!1,o=v):o=t,s.precision=o+=d,c=e(a),l=c.charAt(0),!(Math.abs(y=r.e)<15e14))return p=rt(s,o+2,v).times(y+""),r=w(new s(l+"."+c.slice(1)),o-d).plus(p),s.precision=v,null==t?i(r,v,it,u=!0):r;for(;7>l&&1!=l||1==l&&c.charAt(1)>3;)r=r.times(n),c=e(r.d),l=c.charAt(0),ft++;for(y=r.e,l>1?(r=new s("0."+c),y++):r=new s(l+"."+c.slice(1)),g=r,h=b=r=f(r.minus(1),r.plus(1),o,1),tt=i(r.times(r),o,1),k=3;;){if(b=i(b.times(tt),o,1),p=h.plus(f(b,new s(k),o,1)),e(p.d).slice(0,o)===e(h.d).slice(0,o)){if(h=h.times(2),0!==y&&(h=h.plus(rt(s,o+2,v).times(y+""))),h=f(h,new s(ft),o,1),null!=t)return s.precision=v,h;if(!nt(h.d,o-d,it,ut))return i(h,s.precision=v,it,u=!0);s.precision=o+=d;p=b=r=f(g.minus(1),g.plus(1),o,1);tt=i(r.times(r),o,1);k=ut=1}h=p;k+=2}}function pt(n){return String(n.s*n.s/0)}function wt(n,t){var f,i,e;for((f=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(0>f&&(f=i),f+=+t.slice(i+1),t=t.substring(0,i)):0>f&&(f=t.length),i=0;48===t.charCodeAt(i);i++);for(e=t.length;48===t.charCodeAt(e-1);--e);if(t=t.slice(i,e)){if(e-=i,n.e=f=f-i-1,n.d=[],i=(f+1)%r,0>f&&(i+=r),e>i){for(i&&n.d.push(+t.slice(0,i)),e-=r;e>i;)n.d.push(+t.slice(i,i+=r));t=t.slice(i);i=r-t.length}else i-=e;for(;i--;)t+="0";n.d.push(+t);u&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function ui(n,t){var e,s,y,i,h,l,o,r,v;if("Infinity"===t||"NaN"===t)return+t||(n.s=NaN),n.e=NaN,n.d=null,n;if(iu.test(t))e=16,t=t.toLowerCase();else if(tu.test(t))e=2;else{if(!ru.test(t))throw Error(k+t);e=8}for(i=t.search(/p/i),i>0?(o=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),i=t.indexOf("."),h=i>=0,s=n.constructor,h&&(t=t.replace(".",""),l=t.length,i=l-i,y=at(s,new s(e),i,2*i)),r=tt(t,e,a),v=r.length-1,i=v;0===r[i];--i)r.pop();return 0>i?new s(0*n.s):(n.e=it(r,v),n.d=r,u=!1,h&&(n=f(n,y,4*l)),o&&(n=n.times(Math.abs(o)<54?Math.pow(2,o):c.pow(2,o))),u=!0,n)}function fi(n,t){var i,u=t.d.length;if(3>u)return d(n,2,t,t);i=1.4*Math.sqrt(u);i=i>16?16:0|i;t=t.times(Math.pow(5,-i));t=d(n,2,t,t);for(var r,f=new n(5),e=new n(16),o=new n(20);i--;)r=t.times(t),t=t.times(f.plus(r.times(e.times(r).minus(o))));return t}function d(n,t,i,e,o){var h,s,c,l,y=1,a=n.precision,v=Math.ceil(a/r);for(u=!1,l=i.times(i),c=new n(e);;){if(s=f(c.times(l),new n(t++*t++),a,1),c=o?e.plus(s):e.minus(s),e=f(s.times(l),new n(t++*t++),a,1),s=c.plus(e),void 0!==s.d[v]){for(h=v;s.d[h]===c.d[h]&&h--;);if(-1==h)break}h=c;c=e;e=s;s=h;y++}return u=!0,s.d.length=v+1,s}function bt(n,t){var r,i=t.s<0,u=l(n,n.precision,1),f=u.times(.5);if(t=t.abs(),t.lte(f))return y=i?4:1,t;if(r=t.divToInt(u),r.isZero())y=i?3:2;else{if(t=t.minus(r.times(u)),t.lte(f))return y=vt(r)?i?2:3:i?4:1,t;y=vt(r)?i?1:4:i?3:2}return t.minus(u).abs()}function st(n,t,i,r){var l,c,o,k,s,a,u,e,y,p=n.constructor,w=void 0!==i;if(w?(h(i,1,b),void 0===r?r=p.rounding:h(r,0,8)):(i=p.precision,r=p.rounding),n.isFinite()){for(u=v(n),o=u.indexOf("."),w?(l=2,16==t?i=4*i-3:8==t&&(i=3*i-2)):l=t,o>=0&&(u=u.replace(".",""),y=new p(1),y.e=u.length-o,y.d=tt(v(y),10,l),y.e=y.d.length),e=tt(u,10,l),c=s=e.length;0==e[--s];)e.pop();if(e[0]){if(0>o?c--:(n=new p(n),n.d=e,n.e=c,n=f(n,y,i,r,0,l),e=n.d,c=n.e,a=gt),o=e[i],k=l/2,a=a||void 0!==e[i+1],a=4>r?(void 0!==o||a)&&(0===r||r===(n.s<0?3:2)):o>k||o===k&&(4===r||a||6===r&&1&e[i-1]||r===(n.s<0?8:7)),e.length=i,a)for(;++e[--i]>l-1;)e[i]=0,i||(++c,e.unshift(1));for(s=e.length;!e[s-1];--s);for(o=0,u="";s>o;o++)u+=ht.charAt(e[o]);if(w){if(s>1)if(16==t||8==t){for(o=16==t?4:3,--s;s%o;s++)u+="0";for(e=tt(u,l,t),s=e.length;!e[s-1];--s);for(o=1,u="1.";s>o;o++)u+=ht.charAt(e[o])}else u=u.charAt(0)+"."+u.slice(1);u=u+(0>c?"p":"p+")+c}else if(0>c){for(;++c;)u="0"+u;u="0."+u}else if(++c>s)for(c-=s;c--;)u+="0";else s>c&&(u=u.slice(0,c)+"."+u.slice(c))}else u=w?"0p+0":"0";u=(16==t?"0x":2==t?"0b":8==t?"0o":"")+u}else u=pt(n);return n.s<0?"-"+u:u}function kt(n,t){if(n.length>t)return(n.length=t,!0)}function ei(n){return new this(n).abs()}function oi(n){return new this(n).acos()}function si(n){return new this(n).acosh()}function hi(n,t){return new this(n).plus(t)}function ci(n){return new this(n).asin()}function li(n){return new this(n).asinh()}function ai(n){return new this(n).atan()}function vi(n){return new this(n).atanh()}function yi(n,t){n=new this(n);t=new this(t);var i,u=this.precision,e=this.rounding,r=u+4;return n.s&&t.s?n.d||t.d?!t.d||n.isZero()?(i=t.s<0?l(this,u,e):new this(0),i.s=n.s):!n.d||t.isZero()?(i=l(this,r,1).times(.5),i.s=n.s):t.s<0?(this.precision=r,this.rounding=1,i=this.atan(f(n,t,r,1)),t=l(this,r,1),this.precision=u,this.rounding=e,i=n.s<0?i.minus(t):i.plus(t)):i=this.atan(f(n,t,r,1)):(i=l(this,r,1).times(t.s>0?.25:.75),i.s=n.s):i=new this(NaN),i}function pi(n){return new this(n).cbrt()}function wi(n){return i(n=new this(n),n.e+1,2)}function bi(n){if(!n||"object"!=typeof n)throw Error(et+"Object expected");for(var i,t,u=["precision",1,b,"rounding",0,8,"toExpNeg",-g,0,"toExpPos",0,g,"maxE",0,g,"minE",-g,0,"modulo",0,9],r=0;r<u.length;r+=3)if(void 0!==(t=n[i=u[r]])){if(!(o(t)===t&&t>=u[r+1]&&t<=u[r+2]))throw Error(k+i+": "+t);this[i]=t}if(void 0!==(t=n[i="crypto"])){if(t!==!0&&t!==!1&&0!==t&&1!==t)throw Error(k+i+": "+t);if(t){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(ii);this[i]=!0}else this[i]=!1}return this}function ki(n){return new this(n).cos()}function di(n){return new this(n).cosh()}function dt(n){function i(n){var r,u,f,t=this;if(!(t instanceof i))return new i(n);if(t.constructor=i,n instanceof i)return t.s=n.s,t.e=n.e,void(t.d=(n=n.d)?n.slice():n);if(f=typeof n,"number"===f){if(0===n)return t.s=0>1/n?-1:1,t.e=0,void(t.d=[0]);if(0>n?(n=-n,t.s=-1):t.s=1,n===~~n&&1e7>n){for(r=0,u=n;u>=10;u/=10)r++;return t.e=r,void(t.d=[n])}return 0*n!=0?(n||(t.s=NaN),t.e=NaN,void(t.d=null)):wt(t,n.toString())}if("string"!==f)throw Error(k+n);return 45===n.charCodeAt(0)?(n=n.slice(1),t.s=-1):t.s=1,uu.test(n)?wt(t,n):ui(t,n)}var r,u,f;if(i.prototype=t,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=bi,i.clone=dt,i.abs=ei,i.acos=oi,i.acosh=si,i.add=hi,i.asin=ci,i.asinh=li,i.atan=ai,i.atanh=vi,i.atan2=yi,i.cbrt=pi,i.ceil=wi,i.cos=ki,i.cosh=di,i.div=gi,i.exp=nr,i.floor=tr,i.hypot=ir,i.ln=rr,i.log=ur,i.log10=er,i.log2=fr,i.max=or,i.min=sr,i.mod=hr,i.mul=cr,i.pow=lr,i.random=ar,i.round=vr,i.sign=yr,i.sin=pr,i.sinh=wr,i.sqrt=br,i.sub=kr,i.tan=dr,i.tanh=gr,i.trunc=nu,void 0===n&&(n={}),n)for(f=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],r=0;r<f.length;)n.hasOwnProperty(u=f[r++])||(n[u]=this[u]);return i.config(n),i}function gi(n,t){return new this(n).div(t)}function nr(n){return new this(n).exp()}function tr(n){return i(n=new this(n),n.e+1,3)}function ir(){var i,n,t=new this(0);for(u=!1,i=0;i<arguments.length;)if(n=new this(arguments[i++]),n.d)t.d&&(t=t.plus(n.times(n)));else{if(n.s)return u=!0,new this(1/0);t=n}return u=!0,t.sqrt()}function rr(n){return new this(n).ln()}function ur(n,t){return new this(n).log(t)}function fr(n){return new this(n).log(2)}function er(n){return new this(n).log(10)}function or(){return yt(this,arguments,"lt")}function sr(){return yt(this,arguments,"gt")}function hr(n,t){return new this(n).mod(t)}function cr(n,t){return new this(n).mul(t)}function lr(n,t){return new this(n).pow(t)}function ar(n){var e,o,i,u,t=0,c=new this(1),f=[];if(void 0===n?n=this.precision:h(n,1,b),i=Math.ceil(n/r),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(i));i>t;)u=e[t],u>=429e7?e[t]=crypto.getRandomValues(new Uint32Array(1))[0]:f[t++]=u%1e7;else{if(!crypto.randomBytes)throw Error(ii);for(e=crypto.randomBytes(i*=4);i>t;)u=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+((127&e[t+3])<<24),u>=214e7?crypto.randomBytes(4).copy(e,t):(f.push(u%1e7),t+=4);t=i/4}else for(;i>t;)f[t++]=1e7*Math.random()|0;for(i=f[--t],n%=r,i&&n&&(u=s(10,r-n),f[t]=(i/u|0)*u);0===f[t];t--)f.pop();if(0>t)o=0,f=[0];else{for(o=-1;0===f[0];o-=r)f.shift();for(i=1,u=f[0];u>=10;u/=10)i++;r>i&&(o-=r-i)}return c.e=o,c.d=f,c}function vr(n){return i(n=new this(n),n.e+1,this.rounding)}function yr(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function pr(n){return new this(n).sin()}function wr(n){return new this(n).sinh()}function br(n){return new this(n).sqrt()}function kr(n,t){return new this(n).sub(t)}function dr(n){return new this(n).tan()}function gr(n){return new this(n).tanh()}function nu(n){return i(n=new this(n),n.e+1,1)}var gt,ni,y,g=9e15,b=1e9,ht="0123456789abcdef",ut="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",ft="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",c={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-g,maxE:g,crypto:!1},u=!0,et="[DecimalError] ",k=et+"Invalid argument: ",ti=et+"Precision limit exceeded",ii=et+"crypto unavailable",o=Math.floor,s=Math.pow,tu=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,iu=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ru=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,uu=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,a=1e7,r=7,fu=9007199254740991,eu=ut.length-1,ct=ft.length-1,t={},f;t.absoluteValue=t.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),i(n)};t.ceil=function(){return i(new this.constructor(this),this.e+1,2)};t.comparedTo=t.cmp=function(n){var r,h,f,e,o=this,i=o.d,u=(n=new o.constructor(n)).d,t=o.s,s=n.s;if(!i||!u)return t&&s?t!==s?t:i===u?0:!i^0>t?1:-1:NaN;if(!i[0]||!u[0])return i[0]?t:u[0]?-s:0;if(t!==s)return t;if(o.e!==n.e)return o.e>n.e^0>t?1:-1;for(f=i.length,e=u.length,r=0,h=e>f?f:e;h>r;++r)if(i[r]!==u[r])return i[r]>u[r]^0>t?1:-1;return f===e?0:f>e^0>t?1:-1};t.cosine=t.cos=function(){var u,f,t=this,n=t.constructor;return t.d?t.d[0]?(u=n.precision,f=n.rounding,n.precision=u+Math.max(t.e,t.sd())+r,n.rounding=1,t=ri(n,bt(n,t)),n.precision=u,n.rounding=f,i(2==y||3==y?t.neg():t,u,f,!0)):new n(1):new n(NaN)};t.cubeRoot=t.cbrt=function(){var r,w,n,s,v,c,l,h,y,p,t=this,a=t.constructor;if(!t.isFinite()||t.isZero())return new a(t);for(u=!1,c=t.s*Math.pow(t.s*t,1/3),c&&Math.abs(c)!=1/0?s=new a(c.toString()):(n=e(t.d),r=t.e,(c=(r-n.length+1)%3)&&(n+=1==c||-2==c?"0":"00"),c=Math.pow(n,1/3),r=o((r+1)/3)-(r%3==(0>r?-1:2)),c==1/0?n="5e"+r:(n=c.toExponential(),n=n.slice(0,n.indexOf("e")+1)+r),s=new a(n),s.s=t.s),l=(r=a.precision)+3;;)if(h=s,y=h.times(h).times(h),p=y.plus(t),s=f(p.plus(t).times(h),p.plus(y),l+2,1),e(h.d).slice(0,l)===(n=e(s.d)).slice(0,l)){if(n=n.slice(l-3,l+1),"9999"!=n&&(v||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(i(s,r+1,1),w=!s.times(s).times(s).eq(t));break}if(!v&&(i(h,r+1,0),h.times(h).times(h).eq(t))){s=h;break}l+=4;v=1}return u=!0,i(s,r,a.rounding,w)};t.decimalPlaces=t.dp=function(){var n,i=this.d,t=NaN;if(i){if(n=i.length-1,t=(n-o(this.e/r))*r,n=i[n])for(;n%10==0;n/=10)t--;0>t&&(t=0)}return t};t.dividedBy=t.div=function(n){return f(this,new this.constructor(n))};t.dividedToIntegerBy=t.divToInt=function(n){var r=this,t=r.constructor;return i(f(r,new t(n),0,1,1),t.precision,t.rounding)};t.equals=t.eq=function(n){return 0===this.cmp(n)};t.floor=function(){return i(new this.constructor(this),this.e+1,3)};t.greaterThan=t.gt=function(n){return this.cmp(n)>0};t.greaterThanOrEqualTo=t.gte=function(n){var t=this.cmp(n);return 1==t||0===t};t.hyperbolicCosine=t.cosh=function(){var r,u,f,h,e,n=this,t=n.constructor,c=new t(1),o,l,s;if(!n.isFinite())return new t(n.s?1/0:NaN);if(n.isZero())return c;for(f=t.precision,h=t.rounding,t.precision=f+Math.max(n.e,n.sd())+4,t.rounding=1,e=n.d.length,32>e?(r=Math.ceil(e/3),u=Math.pow(4,-r).toString()):(r=16,u="2.3283064365386962890625e-10"),n=d(t,1,n.times(u),new t(1),!0),l=r,s=new t(8);l--;)o=n.times(n),n=c.minus(o.times(s.minus(o.times(s))));return i(n,t.precision=f,t.rounding=h,!0)};t.hyperbolicSine=t.sinh=function(){var r,u,f,e,n=this,t=n.constructor;if(!n.isFinite()||n.isZero())return new t(n);if(u=t.precision,f=t.rounding,t.precision=u+Math.max(n.e,n.sd())+4,t.rounding=1,e=n.d.length,3>e)n=d(t,2,n,n,!0);else{r=1.4*Math.sqrt(e);r=r>16?16:0|r;n=n.times(Math.pow(5,-r));n=d(t,2,n,n,!0);for(var o,s=new t(5),h=new t(16),c=new t(20);r--;)o=n.times(n),n=n.times(s.plus(o.times(h.times(o).plus(c))))}return t.precision=u,t.rounding=f,i(n,u,f,!0)};t.hyperbolicTangent=t.tanh=function(){var i,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(i=n.precision,r=n.rounding,n.precision=i+7,n.rounding=1,f(t.sinh(),t.cosh(),n.precision=i,n.rounding=r)):new n(t.s)};t.inverseCosine=t.acos=function(){var u,t=this,n=t.constructor,f=t.abs().cmp(1),i=n.precision,r=n.rounding;return-1!==f?0===f?t.isNeg()?l(n,i,r):new n(0):new n(NaN):t.isZero()?l(n,i+4,r).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),u=l(n,i+4,r).times(.5),n.precision=i,n.rounding=r,u.minus(t))};t.inverseHyperbolicCosine=t.acosh=function(){var i,r,n=this,t=n.constructor;return n.lte(1)?new t(n.eq(1)?0:NaN):n.isFinite()?(i=t.precision,r=t.rounding,t.precision=i+Math.max(Math.abs(n.e),n.sd())+4,t.rounding=1,u=!1,n=n.times(n).minus(1).sqrt().plus(n),u=!0,t.precision=i,t.rounding=r,n.ln()):new t(n)};t.inverseHyperbolicSine=t.asinh=function(){var i,r,n=this,t=n.constructor;return!n.isFinite()||n.isZero()?new t(n):(i=t.precision,r=t.rounding,t.precision=i+2*Math.max(Math.abs(n.e),n.sd())+6,t.rounding=1,u=!1,n=n.times(n).plus(1).sqrt().plus(n),u=!0,t.precision=i,t.rounding=r,n.ln())};t.inverseHyperbolicTangent=t.atanh=function(){var r,u,o,e,n=this,t=n.constructor;return n.isFinite()?n.e>=0?new t(n.abs().eq(1)?n.s/0:n.isZero()?n:NaN):(r=t.precision,u=t.rounding,e=n.sd(),Math.max(e,r)<2*-n.e-1?i(new t(n),r,u,!0):(t.precision=o=e-n.e,n=f(n.plus(1),new t(1).minus(n),o+r,1),t.precision=r+4,t.rounding=1,n=n.ln(),t.precision=r,t.rounding=u,n.times(.5))):new t(NaN)};t.inverseSine=t.asin=function(){var r,u,i,f,n=this,t=n.constructor;return n.isZero()?new t(n):(u=n.abs().cmp(1),i=t.precision,f=t.rounding,-1!==u?0===u?(r=l(t,i+4,f).times(.5),r.s=n.s,r):new t(NaN):(t.precision=i+6,t.rounding=1,n=n.div(new t(1).minus(n.times(n)).sqrt().plus(1)).atan(),t.precision=i,t.rounding=f,n.times(2)))};t.inverseTangent=t.atan=function(){var e,c,h,a,o,v,t,y,p,n=this,f=n.constructor,s=f.precision,w=f.rounding;if(n.isFinite()){if(n.isZero())return new f(n);if(n.abs().eq(1)&&ct>=s+4)return t=l(f,s+4,w).times(.25),t.s=n.s,t}else{if(!n.s)return new f(NaN);if(ct>=s+4)return t=l(f,s+4,w).times(.5),t.s=n.s,t}for(f.precision=y=s+10,f.rounding=1,h=Math.min(28,y/r+2|0),e=h;e;--e)n=n.div(n.times(n).plus(1).sqrt().plus(1));for(u=!1,c=Math.ceil(y/r),a=1,p=n.times(n),t=new f(n),o=n;-1!==e;)if(o=o.times(p),v=t.minus(o.div(a+=2)),o=o.times(p),t=v.plus(o.div(a+=2)),void 0!==t.d[c])for(e=c;t.d[e]===v.d[e]&&e--;);return h&&(t=t.times(2<<h-1)),u=!0,i(t,f.precision=s,f.rounding=w,!0)};t.isFinite=function(){return!!this.d};t.isInteger=t.isInt=function(){return!!this.d&&o(this.e/r)>this.d.length-2};t.isNaN=function(){return!this.s};t.isNegative=t.isNeg=function(){return this.s<0};t.isPositive=t.isPos=function(){return this.s>0};t.isZero=function(){return!!this.d&&0===this.d[0]};t.lessThan=t.lt=function(n){return this.cmp(n)<0};t.lessThanOrEqualTo=t.lte=function(n){return this.cmp(n)<1};t.logarithm=t.log=function(n){var l,t,a,o,p,v,r,s,c=this,h=c.constructor,y=h.precision,b=h.rounding,k=5;if(null==n)n=new h(10),l=!0;else{if(n=new h(n),t=n.d,n.s<0||!t||!t[0]||n.eq(1))return new h(NaN);l=n.eq(10)}if(t=c.d,c.s<0||!t||!t[0]||c.eq(1))return new h(t&&!t[0]?-1/0:1!=c.s?NaN:t?0:1/0);if(l)if(t.length>1)p=!0;else{for(o=t[0];o%10==0;)o/=10;p=1!==o}if(u=!1,r=y+k,v=w(c,r),a=l?rt(h,r+10):w(n,r),s=f(v,a,r,1),nt(s.d,o=y,b))do if(r+=10,v=w(c,r),a=l?rt(h,r+10):w(n,r),s=f(v,a,r,1),!p){+e(s.d).slice(o+1,o+15)+1==1e14&&(s=i(s,y+1,0));break}while(nt(s.d,o+=10,b));return u=!0,i(s,y,b)};t.minus=t.sub=function(n){var l,p,f,w,c,s,k,b,t,d,y,e,h=this,v=h.constructor;if(n=new v(n),!h.d||!n.d)return h.s&&n.s?h.d?n.s=-n.s:n=new v(n.d||h.s!==n.s?h:NaN):n=new v(NaN),n;if(h.s!=n.s)return n.s=-n.s,h.plus(n);if(t=h.d,e=n.d,k=v.precision,b=v.rounding,!t[0]||!e[0]){if(e[0])n.s=-n.s;else{if(!t[0])return new v(3===b?-0:0);n=new v(h)}return u?i(n,k,b):n}if(p=o(n.e/r),d=o(h.e/r),t=t.slice(),c=d-p){for(y=0>c,y?(l=t,c=-c,s=e.length):(l=e,p=d,s=t.length),f=Math.max(Math.ceil(k/r),s)+2,c>f&&(c=f,l.length=1),l.reverse(),f=c;f--;)l.push(0);l.reverse()}else{for(f=t.length,s=e.length,y=s>f,y&&(s=f),f=0;s>f;f++)if(t[f]!=e[f]){y=t[f]<e[f];break}c=0}for(y&&(l=t,t=e,e=l,n.s=-n.s),s=t.length,f=e.length-s;f>0;--f)t[s++]=0;for(f=e.length;f>c;){if(t[--f]<e[f]){for(w=f;w&&0===t[--w];)t[w]=a-1;--t[w];t[f]+=a}t[f]-=e[f]}for(;0===t[--s];)t.pop();for(;0===t[0];t.shift())--p;return t[0]?(n.d=t,n.e=it(t,p),u?i(n,k,b):n):new v(3===b?-0:0)};t.modulo=t.mod=function(n){var e,t=this,r=t.constructor;return n=new r(n),!t.d||!n.s||n.d&&!n.d[0]?new r(NaN):!n.d||t.d&&!t.d[0]?i(new r(t),r.precision,r.rounding):(u=!1,9==r.modulo?(e=f(t,n.abs(),0,3,1),e.s*=n.s):e=f(t,n,0,r.modulo,1),e=e.times(n),u=!0,t.minus(e))};t.naturalExponential=t.exp=function(){return ot(this)};t.naturalLogarithm=t.ln=function(){return w(this)};t.negated=t.neg=function(){var n=new this.constructor(this);return n.s=-n.s,i(n)};t.plus=t.add=function(n){var y,c,p,f,l,e,w,b,t,h,s=this,v=s.constructor;if(n=new v(n),!s.d||!n.d)return s.s&&n.s?s.d||(n=new v(n.d||s.s===n.s?s:NaN)):n=new v(NaN),n;if(s.s!=n.s)return n.s=-n.s,s.minus(n);if(t=s.d,h=n.d,w=v.precision,b=v.rounding,!t[0]||!h[0])return h[0]||(n=new v(s)),u?i(n,w,b):n;if(l=o(s.e/r),p=o(n.e/r),t=t.slice(),f=l-p){for(0>f?(c=t,f=-f,e=h.length):(c=h,p=l,e=t.length),l=Math.ceil(w/r),e=l>e?l+1:e+1,f>e&&(f=e,c.length=1),c.reverse();f--;)c.push(0);c.reverse()}for(e=t.length,f=h.length,0>e-f&&(f=e,c=h,h=t,t=c),y=0;f;)y=(t[--f]=t[f]+h[f]+y)/a|0,t[f]%=a;for(y&&(t.unshift(y),++p),e=t.length;0==t[--e];)t.pop();return n.d=t,n.e=it(t,p),u?i(n,w,b):n};t.precision=t.sd=function(n){var t,i=this;if(void 0!==n&&n!==!!n&&1!==n&&0!==n)throw Error(k+n);return i.d?(t=lt(i.d),n&&i.e+1>t&&(t=i.e+1)):t=NaN,t};t.round=function(){var n=this,t=n.constructor;return i(new t(n),n.e+1,t.rounding)};t.sine=t.sin=function(){var u,f,n=this,t=n.constructor;return n.isFinite()?n.isZero()?new t(n):(u=t.precision,f=t.rounding,t.precision=u+Math.max(n.e,n.sd())+r,t.rounding=1,n=fi(t,bt(t,n)),t.precision=u,t.rounding=f,i(y>2?n.neg():n,u,f,!0)):new t(NaN)};t.squareRoot=t.sqrt=function(){var p,n,l,r,y,c,h=this,a=h.d,t=h.e,s=h.s,v=h.constructor;if(1!==s||!a||!a[0])return new v(!s||0>s&&(!a||a[0])?NaN:a?h:1/0);for(u=!1,s=Math.sqrt(+h),0==s||s==1/0?(n=e(a),(n.length+t)%2==0&&(n+="0"),s=Math.sqrt(n),t=o((t+1)/2)-(0>t||t%2),s==1/0?n="1e"+t:(n=s.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new v(n)):r=new v(s.toString()),l=(t=v.precision)+3;;)if(c=r,r=c.plus(f(h,c,l+2,1)).times(.5),e(c.d).slice(0,l)===(n=e(r.d)).slice(0,l)){if(n=n.slice(l-3,l+1),"9999"!=n&&(y||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(i(r,t+1,1),p=!r.times(r).eq(h));break}if(!y&&(i(c,t+1,0),c.times(c).eq(h))){r=c;break}l+=4;y=1}return u=!0,i(r,t,v.rounding,p)};t.tangent=t.tan=function(){var r,u,n=this,t=n.constructor;return n.isFinite()?n.isZero()?new t(n):(r=t.precision,u=t.rounding,t.precision=r+10,t.rounding=1,n=n.sin(),n.s=1,n=f(n,new t(1).minus(n.times(n)).sqrt(),r+10,0),t.precision=r,t.rounding=u,i(2==y||4==y?n.neg():n,r,u,!0)):new t(NaN)};t.times=t.mul=function(n){var v,b,f,h,t,y,k,c,l,p=this,w=p.constructor,e=p.d,s=(n=new w(n)).d;if(n.s*=p.s,!(e&&e[0]&&s&&s[0]))return new w(!n.s||e&&!e[0]&&!s||s&&!s[0]&&!e?NaN:e&&s?0*n.s:n.s/0);for(b=o(p.e/r)+o(n.e/r),c=e.length,l=s.length,l>c&&(t=e,e=s,s=t,y=c,c=l,l=y),t=[],y=c+l,f=y;f--;)t.push(0);for(f=l;--f>=0;){for(v=0,h=c+f;h>f;)k=t[h]+s[f]*e[h-f-1]+v,t[h--]=k%a|0,v=k/a|0;t[h]=(t[h]+v)%a|0}for(;!t[--y];)t.pop();for(v?++b:t.shift(),f=t.length;!t[--f];)t.pop();return n.d=t,n.e=it(t,b),u?i(n,w.precision,w.rounding):n};t.toBinary=function(n,t){return st(this,2,n,t)};t.toDecimalPlaces=t.toDP=function(n,t){var r=this,u=r.constructor;return r=new u(r),void 0===n?r:(h(n,0,b),void 0===t?t=u.rounding:h(t,0,8),i(r,n+r.e+1,t))};t.toExponential=function(n,t){var u,r=this,f=r.constructor;return void 0===n?u=v(r,!0):(h(n,0,b),void 0===t?t=f.rounding:h(t,0,8),r=i(new f(r),n+1,t),u=v(r,!0,n+1)),r.isNeg()&&!r.isZero()?"-"+u:u};t.toFixed=function(n,t){var u,f,r=this,e=r.constructor;return void 0===n?u=v(r):(h(n,0,b),void 0===t?t=e.rounding:h(t,0,8),f=i(new e(r),n+r.e+1,t),u=v(f,!1,n+f.e+1)),r.isNeg()&&!r.isZero()?"-"+u:u};t.toFraction=function(n){var h,a,c,t,y,w,i,v,o,g,b,nt,p=this,d=p.d,l=p.constructor;if(!d)return new l(p);if(o=a=new l(1),c=v=new l(0),h=new l(c),y=h.e=lt(d)-p.e-1,w=y%r,h.d[0]=s(10,0>w?r+w:w),null==n)n=y>0?h:o;else{if(i=new l(n),!i.isInt()||i.lt(o))throw Error(k+i);n=i.gt(h)?y>0?h:o:i}for(u=!1,i=new l(e(d)),g=l.precision,l.precision=y=d.length*r*2;b=f(i,h,0,1,1),t=a.plus(b.times(c)),1!=t.cmp(n);)a=c,c=t,t=o,o=v.plus(b.times(t)),v=t,t=h,h=i.minus(b.times(t)),i=t;return t=f(n.minus(a),c,0,1,1),v=v.plus(t.times(o)),a=a.plus(t.times(c)),v.s=o.s=p.s,nt=f(o,c,y,1).minus(p).abs().cmp(f(v,a,y,1).minus(p).abs())<1?[o,c]:[v,a],l.precision=g,u=!0,nt};t.toHexadecimal=t.toHex=function(n,t){return st(this,16,n,t)};t.toNearest=function(n,t){var r=this,e=r.constructor;if(r=new e(r),null==n){if(!r.d)return r;n=new e(1);t=e.rounding}else{if(n=new e(n),void 0!==t&&h(t,0,8),!r.d)return n.s?r:n;if(!n.d)return n.s&&(n.s=r.s),n}return n.d[0]?(u=!1,4>t&&(t=[4,5,7,8][t]),r=f(r,n,0,t,1).times(n),u=!0,i(r)):(n.s=r.s,r=n),r};t.toNumber=function(){return+this};t.toOctal=function(n,t){return st(this,8,n,t)};t.toPower=t.pow=function(n){var l,a,h,c,v,y,b,t=this,f=t.constructor,p=+(n=new f(n));if(!(t.d&&n.d&&t.d[0]&&n.d[0]))return new f(s(+t,p));if(t=new f(t),t.eq(1))return t;if(h=f.precision,v=f.rounding,n.eq(1))return i(t,h,v);if(l=o(n.e/r),a=n.d.length-1,b=l>=a,y=t.s,b){if((a=0>p?-p:p)<=fu)return c=at(f,t,a,h),n.s<0?new f(1).div(c):i(c,h,v)}else if(0>y)return new f(NaN);return y=0>y&&1&n.d[Math.max(l,a)]?-1:1,a=s(+t,p),l=0!=a&&isFinite(a)?new f(a+"").e:o(p*(Math.log("0."+e(t.d))/Math.LN10+t.e+1)),l>f.maxE+1||l<f.minE-1?new f(l>0?y/0:0):(u=!1,f.rounding=t.s=1,a=Math.min(12,(l+"").length),c=ot(n.times(w(t,h+a)),h),c=i(c,h+5,1),nt(c.d,h,v)&&(l=h+10,c=i(ot(n.times(w(t,l+a)),l),l+5,1),+e(c.d).slice(h+1,h+15)+1==1e14&&(c=i(c,h+1,0))),c.s=y,u=!0,f.rounding=v,i(c,h,v))};t.toPrecision=function(n,t){var f,r=this,u=r.constructor;return void 0===n?f=v(r,r.e<=u.toExpNeg||r.e>=u.toExpPos):(h(n,1,b),void 0===t?t=u.rounding:h(t,0,8),r=i(new u(r),n,t),f=v(r,n<=r.e||r.e<=u.toExpNeg,n)),r.isNeg()&&!r.isZero()?"-"+f:f};t.toSignificantDigits=t.toSD=function(n,t){var u=this,r=u.constructor;return void 0===n?(n=r.precision,t=r.rounding):(h(n,1,b),void 0===t?t=r.rounding:h(t,0,8)),i(new r(u),n,t)};t.toString=function(){var n=this,t=n.constructor,i=v(n,n.e<=t.toExpNeg||n.e>=t.toExpPos);return n.isNeg()&&!n.isZero()?"-"+i:i};t.truncated=t.trunc=function(){return i(new this.constructor(this),this.e+1,1)};t.valueOf=t.toJSON=function(){var n=this,t=n.constructor,i=v(n,n.e<=t.toExpNeg||n.e>=t.toExpPos);return n.isNeg()?"-"+i:i};f=function(){function n(n,t,i){var u,r=0,f=n.length;for(n=n.slice();f--;)u=n[f]*t+r,n[f]=u%i|0,r=u/i|0;return r&&n.unshift(r),n}function t(n,t,i,r){var u,f;if(i!=r)f=i>r?1:-1;else for(u=f=0;i>u;u++)if(n[u]!=t[u]){f=n[u]>t[u]?1:-1;break}return f}function u(n,t,i,r){for(var u=0;i--;)n[i]-=u,u=n[i]<t[i]?1:0,n[i]=u*r+n[i]-t[i];for(;!n[0]&&n.length>1;)n.shift()}return function(f,e,s,h,c,l){var g,et,w,y,it,ot,nt,ft,rt,ut,p,b,ht,tt,vt,ct,st,yt,d,lt,at=f.constructor,pt=f.s==e.s?1:-1,k=f.d,v=e.d;if(!(k&&k[0]&&v&&v[0]))return new at(f.s&&e.s&&(k?!v||k[0]!=v[0]:v)?k&&0==k[0]||!v?0*pt:pt/0:NaN);for(l?(it=1,et=f.e-e.e):(l=a,it=r,et=o(f.e/it)-o(e.e/it)),d=v.length,st=k.length,rt=new at(pt),ut=rt.d=[],w=0;v[w]==(k[w]||0);w++);if(v[w]>(k[w]||0)&&et--,null==s?(tt=s=at.precision,h=at.rounding):tt=c?s+(f.e-e.e)+1:s,0>tt)ut.push(1),ot=!0;else{if(tt=tt/it+2|0,w=0,1==d){for(y=0,v=v[0],tt++;(st>w||y)&&tt--;w++)vt=y*l+(k[w]||0),ut[w]=vt/v|0,y=vt%v|0;ot=y||st>w}else{for(y=l/(v[0]+1)|0,y>1&&(v=n(v,y,l),k=n(k,y,l),d=v.length,st=k.length),ct=d,p=k.slice(0,d),b=p.length;d>b;)p[b++]=0;lt=v.slice();lt.unshift(0);yt=v[0];v[1]>=l/2&&++yt;do y=0,g=t(v,p,d,b),0>g?(ht=p[0],d!=b&&(ht=ht*l+(p[1]||0)),y=ht/yt|0,y>1?(y>=l&&(y=l-1),nt=n(v,y,l),ft=nt.length,b=p.length,g=t(nt,p,ft,b),1==g&&(y--,u(nt,ft>d?lt:v,ft,l))):(0==y&&(g=y=1),nt=v.slice()),ft=nt.length,b>ft&&nt.unshift(0),u(p,nt,b,l),-1==g&&(b=p.length,g=t(v,p,d,b),1>g&&(y++,u(p,b>d?lt:v,b,l))),b=p.length):0===g&&(y++,p=[0]),ut[w++]=y,g&&p[0]?p[b++]=k[ct]||0:(p=[k[ct]],b=1);while((ct++<st||void 0!==p[0])&&tt--);ot=void 0!==p[0]}ut[0]||ut.shift()}if(1==it)rt.e=et,gt=ot;else{for(w=1,y=ut[0];y>=10;y/=10)w++;rt.e=w+et*it-1;i(rt,c?s+rt.e+1:s,h,ot)}return rt}}();c=dt(c);ut=new c(ut);ft=new c(ft);H5.$Decimal=c;"function"==typeof define&&define.amd?define("decimal.js",function(){return c}):"undefined"!=typeof module&&module.exports?module.exports=c["default"]=c.Decimal=c:(n||(n="undefined"!=typeof self&&self&&self.self==self?self:Function("return this")()),ni=n.Decimal,c.noConflict=function(){return n.Decimal=ni,c})}(H5.global);System.Decimal=function(n,t,i){var r,e,u;if(this.constructor!==System.Decimal)return new System.Decimal(n,t,i);if(n==null&&(n=0),H5.isNumber(t)?(this.$precision=t,t=undefined):this.$precision=0,typeof n=="string"){if(t=t||System.Globalization.CultureInfo.getCurrentCulture(),r=t&&t.getFormat(System.Globalization.NumberFormatInfo),r&&r.numberDecimalSeparator!=="."&&(n=n.replace(r.numberDecimalSeparator,".")),!/^\s*[+-]?(\d+|\d+\.|\d*\.\d+)((e|E)[+-]?\d+)?\s*$/.test(n)&&!/^\s*(\d+|\d+\.|\d*\.\d+)((e|E)[+-]?\d+)?[+-]\s*$/.test(n))throw new System.FormatException;n=n.replace(/\s/g,"");/[+-]$/.test(n)?(u=n.length-1,n=n.indexOf("-",u)===u?n.replace(/(.*)(-)$/,"$2$1"):n.substr(0,u)):n.lastIndexOf("+",0)===0&&(n=n.substr(1));!this.$precision&&(e=n.indexOf("."))>=0&&(this.$precision=n.length-e-1)}if(isNaN(n)||System.Decimal.MaxValue&&typeof n=="number"&&(System.Decimal.MinValue.gt(n)||System.Decimal.MaxValue.lt(n)))throw new System.OverflowException;if(i&&i.precision&&typeof n=="number"&&Number.isFinite(n)){var o=H5.Int.trunc(n),s=(o+"").length,f=i.precision-s;f<0&&(f=0);n=n.toFixed(f)}n instanceof System.Decimal&&(this.$precision=n.$precision);this.value=System.Decimal.getValue(n)};System.Decimal.$number=!0;System.Decimal.$$name="System.Decimal";System.Decimal.prototype.$$name="System.Decimal";System.Decimal.$kind="struct";System.Decimal.prototype.$kind="struct";System.Decimal.$$inherits=[];H5.Class.addExtend(System.Decimal,[System.IComparable,System.IFormattable,System.IComparable$1(System.Decimal),System.IEquatable$1(System.Decimal)]);System.Decimal.$is=function(n){return n instanceof System.Decimal};System.Decimal.getDefaultValue=function(){return new System.Decimal(0)};System.Decimal.getValue=function(n){return H5.hasValue(n)?n instanceof System.Decimal?n.value:n instanceof System.Int64||n instanceof System.UInt64?new H5.$Decimal(n.toString()):new H5.$Decimal(n):this.getDefaultValue()};System.Decimal.create=function(n){return H5.hasValue(n)?n instanceof System.Decimal?n:new System.Decimal(n):null};System.Decimal.lift=function(n){return n==null?null:System.Decimal.create(n)};System.Decimal.prototype.toString=function(n,t){return H5.Int.format(this,n||"G",t)};System.Decimal.prototype.toFloat=function(){return this.value.toNumber()};System.Decimal.prototype.toJSON=function(){return this.value.toNumber()};System.Decimal.prototype.format=function(n,t){return H5.Int.format(this,n,t)};System.Decimal.prototype.decimalPlaces=function(){return this.value.decimalPlaces()};System.Decimal.prototype.dividedToIntegerBy=function(n){var n=new System.Decimal(this.value.dividedToIntegerBy(System.Decimal.getValue(n)),this.$precision);return n.$precision=Math.max(n.value.decimalPlaces(),this.$precision),n};System.Decimal.prototype.exponential=function(){return new System.Decimal(this.value.exponential(),this.$precision)};System.Decimal.prototype.abs=function(){return new System.Decimal(this.value.abs(),this.$precision)};System.Decimal.prototype.floor=function(){return new System.Decimal(this.value.floor())};System.Decimal.prototype.ceil=function(){return new System.Decimal(this.value.ceil())};System.Decimal.prototype.trunc=function(){return new System.Decimal(this.value.trunc())};System.Decimal.round=function(n,t){var i,r;return n=System.Decimal.create(n),i=H5.$Decimal.rounding,H5.$Decimal.rounding=t,r=new System.Decimal(n.value.round()),H5.$Decimal.rounding=i,r};System.Decimal.toDecimalPlaces=function(n,t,i){n=System.Decimal.create(n);return new System.Decimal(n.value.toDecimalPlaces(t,i))};System.Decimal.prototype.compareTo=function(n){return this.value.comparedTo(System.Decimal.getValue(n))};System.Decimal.prototype.add=function(n){var t=new System.Decimal(this.value.plus(System.Decimal.getValue(n)));return t.$precision=Math.max(t.value.decimalPlaces(),Math.max(n.$precision||0,this.$precision)),t};System.Decimal.prototype.sub=function(n){var t=new System.Decimal(this.value.minus(System.Decimal.getValue(n)));return t.$precision=Math.max(t.value.decimalPlaces(),Math.max(n.$precision||0,this.$precision)),t};System.Decimal.prototype.isZero=function(){return this.value.isZero};System.Decimal.prototype.mul=function(n){var t=new System.Decimal(this.value.times(System.Decimal.getValue(n)));return t.$precision=Math.max(t.value.decimalPlaces(),Math.max(n.$precision||0,this.$precision)),t};System.Decimal.prototype.div=function(n){var t=new System.Decimal(this.value.dividedBy(System.Decimal.getValue(n)));return t.$precision=Math.max(t.value.decimalPlaces(),Math.max(n.$precision||0,this.$precision)),t};System.Decimal.prototype.mod=function(n){var t=new System.Decimal(this.value.modulo(System.Decimal.getValue(n)));return t.$precision=Math.max(t.value.decimalPlaces(),Math.max(n.$precision||0,this.$precision)),t};System.Decimal.prototype.neg=function(){return new System.Decimal(this.value.negated(),this.$precision)};System.Decimal.prototype.inc=function(){return new System.Decimal(this.value.plus(System.Decimal.getValue(1)),this.$precision)};System.Decimal.prototype.dec=function(){return new System.Decimal(this.value.minus(System.Decimal.getValue(1)),this.$precision)};System.Decimal.prototype.sign=function(){return this.value.isZero()?0:this.value.isNegative()?-1:1};System.Decimal.prototype.clone=function(){return new System.Decimal(this,this.$precision)};System.Decimal.prototype.ne=function(n){return!!this.compareTo(n)};System.Decimal.prototype.lt=function(n){return this.compareTo(n)<0};System.Decimal.prototype.lte=function(n){return this.compareTo(n)<=0};System.Decimal.prototype.gt=function(n){return this.compareTo(n)>0};System.Decimal.prototype.gte=function(n){return this.compareTo(n)>=0};System.Decimal.prototype.equals=function(n){return n instanceof System.Decimal||typeof n=="number"?!this.compareTo(n):!1};System.Decimal.prototype.equalsT=function(n){return!this.compareTo(n)};System.Decimal.prototype.getHashCode=function(){for(var n=this.sign()*397+this.value.e|0,t=0;t<this.value.d.length;t++)n=n*397+this.value.d[t]|0;return n};System.Decimal.toInt=function(n,t){var i,r,u;if(!n)return null;if(t){if(t===System.Int64){if(i=n.value.trunc().toString(),r=new System.Int64(i),i!==r.value.toString())throw new System.OverflowException;return r}if(t===System.UInt64){if(n.value.isNegative())throw new System.OverflowException;if(i=n.value.trunc().toString(),r=new System.UInt64(i),i!==r.value.toString())throw new System.OverflowException;return r}return H5.Int.check(H5.Int.trunc(n.value.toNumber()),t)}if(u=H5.Int.trunc(System.Decimal.getValue(n).toNumber()),!H5.Int.$is(u))throw new System.OverflowException;return u};System.Decimal.tryParse=function(n,t,i){try{return i.v=new System.Decimal(n,t),!0}catch(r){return i.v=new System.Decimal(0),!1}};System.Decimal.toFloat=function(n){return n?System.Decimal.getValue(n).toNumber():null};System.Decimal.setConfig=function(n){H5.$Decimal.config(n)};System.Decimal.min=function(){for(var t=[],i,r,n=0,u=arguments.length;n<u;n++)t.push(System.Decimal.getValue(arguments[n]));for(i=H5.$Decimal.min.apply(H5.$Decimal,t),n=0;n<arguments.length;n++)i.eq(t[n])&&(r=arguments[n].$precision);return new System.Decimal(i,r)};System.Decimal.max=function(){for(var t=[],i,r,n=0,u=arguments.length;n<u;n++)t.push(System.Decimal.getValue(arguments[n]));for(i=H5.$Decimal.max.apply(H5.$Decimal,t),n=0;n<arguments.length;n++)i.eq(t[n])&&(r=arguments[n].$precision);return new System.Decimal(i,r)};System.Decimal.random=function(n){return new System.Decimal(H5.$Decimal.random(n))};System.Decimal.exp=function(n){return new System.Decimal(System.Decimal.getValue(n).exp())};System.Decimal.exp=function(n){return new System.Decimal(System.Decimal.getValue(n).exp())};System.Decimal.ln=function(n){return new System.Decimal(System.Decimal.getValue(n).ln())};System.Decimal.log=function(n,t){return new System.Decimal(System.Decimal.getValue(n).log(t))};System.Decimal.pow=function(n,t){return new System.Decimal(System.Decimal.getValue(n).pow(t))};System.Decimal.sqrt=function(n){return new System.Decimal(System.Decimal.getValue(n).sqrt())};System.Decimal.prototype.isFinite=function(){return this.value.isFinite()};System.Decimal.prototype.isInteger=function(){return this.value.isInteger()};System.Decimal.prototype.isNaN=function(){return this.value.isNaN()};System.Decimal.prototype.isNegative=function(){return this.value.isNegative()};System.Decimal.prototype.isZero=function(){return this.value.isZero()};System.Decimal.prototype.log=function(n){var t=new System.Decimal(this.value.log(n));return t.$precision=Math.max(t.value.decimalPlaces(),this.$precision),t};System.Decimal.prototype.ln=function(){var n=new System.Decimal(this.value.ln());return n.$precision=Math.max(n.value.decimalPlaces(),this.$precision),n};System.Decimal.prototype.precision=function(){return this.value.precision()};System.Decimal.prototype.round=function(){var t=H5.$Decimal.rounding,n;return H5.$Decimal.rounding=6,n=new System.Decimal(this.value.round()),H5.$Decimal.rounding=t,n};System.Decimal.prototype.sqrt=function(){var n=new System.Decimal(this.value.sqrt());return n.$precision=Math.max(n.value.decimalPlaces(),this.$precision),n};System.Decimal.prototype.toDecimalPlaces=function(n,t){return new System.Decimal(this.value.toDecimalPlaces(n,t))};System.Decimal.prototype.toExponential=function(n,t){return this.value.toExponential(n,t)};System.Decimal.prototype.toFixed=function(n,t){return this.value.toFixed(n,t)};System.Decimal.prototype.pow=function(n){var t=new System.Decimal(this.value.pow(n));return t.$precision=Math.max(t.value.decimalPlaces(),this.$precision),t};System.Decimal.prototype.toPrecision=function(n,t){return this.value.toPrecision(n,t)};System.Decimal.prototype.toSignificantDigits=function(n,t){var i=new System.Decimal(this.value.toSignificantDigits(n,t));return i.$precision=Math.max(i.value.decimalPlaces(),this.$precision),i};System.Decimal.prototype.valueOf=function(){return this.value.valueOf()};System.Decimal.prototype._toFormat=function(n,t,i){var o=this.value;if(!o.isFinite())return o.toString();var u,l=o.isNeg(),a=i.groupSeparator,f=+i.groupSize,e=+i.secondaryGroupSize,v=o.toFixed(n,t).split("."),r=v[0],c=v[1],s=l?r.slice(1):r,h=s.length;if(e&&(h-=(u=f,f=e,e=u)),f>0&&h>0){for(u=h%f||f,r=s.substr(0,u);u<h;u+=f)r+=a+s.substr(u,f);e>0&&(r+=a+s.slice(u));l&&(r="-"+r)}return c?r+i.decimalSeparator+((e=+i.fractionGroupSize)?c.replace(new RegExp("\\d{"+e+"}\\B","g"),"$&"+i.fractionGroupSeparator):c):r};System.Decimal.prototype.toFormat=function(n,t,i){var r={decimalSeparator:".",groupSeparator:",",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:"\u00a0",fractionGroupSize:0},f,u;return i&&!i.getFormat?(r=H5.merge(r,i),f=this._toFormat(n,t,r)):(i=i||System.Globalization.CultureInfo.getCurrentCulture(),u=i&&i.getFormat(System.Globalization.NumberFormatInfo),u&&(r.decimalSeparator=u.numberDecimalSeparator,r.groupSeparator=u.numberGroupSeparator,r.groupSize=u.numberGroupSizes[0]),f=this._toFormat(n,t,r)),f};System.Decimal.prototype.getBytes=function(){var r=this.value.s,u=this.value.e,i=this.value.d,t=System.Array.init(23,0,System.Byte),n;if(t[0]=r&255,t[1]=u,i&&i.length>0)for(t[2]=i.length*4,n=0;n<i.length;n++)t[n*4+3]=i[n]&255,t[n*4+4]=i[n]>>8&255,t[n*4+5]=i[n]>>16&255,t[n*4+6]=i[n]>>24&255;else t[2]=0;return t};System.Decimal.fromBytes=function(n){var i=new System.Decimal(0),f=H5.Int.sxb(n[0]&255),e=n[1],r=n[2],u=[],t;if(i.value.s=f,i.value.e=e,r>0)for(t=3;t<r+3;)u.push(n[t]|n[t+1]<<8|n[t+2]<<16|n[t+3]<<24),t=t+4;return i.value.d=u,i};H5.$Decimal.config({precision:29});System.Decimal.Zero=System.Decimal(0);System.Decimal.One=System.Decimal(1);System.Decimal.MinusOne=System.Decimal(-1);System.Decimal.MinValue=System.Decimal("-79228162514264337593543950335");System.Decimal.MaxValue=System.Decimal("79228162514264337593543950335");System.Decimal.precision=29;H5.define("System.DateTime",{inherits:function(){return[System.IComparable,System.IComparable$1(System.DateTime),System.IEquatable$1(System.DateTime),System.IFormattable]},$kind:"struct",fields:{kind:0},methods:{$clone:function(n){return this}},statics:{$minTicks:null,$maxTicks:null,$minOffset:null,$maxOffset:null,$default:null,$min:null,$max:null,TicksPerDay:System.Int64(864e9),DaysTo1970:719162,YearDaysByMonth:[0,31,59,90,120,151,181,212,243,273,304,334],getMinTicks:function(){return this.$minTicks===null&&(this.$minTicks=System.Int64(0)),this.$minTicks},getMaxTicks:function(){return this.$maxTicks===null&&(this.$maxTicks=System.Int64("3652059").mul(this.TicksPerDay).sub(1)),this.$maxTicks},$getMinOffset:function(){return this.$minOffset===null&&(this.$minOffset=System.Int64(621355968e9)),this.$minOffset},$getMaxOffset:function(){return this.$maxOffset===null&&(this.$maxOffset=this.getMaxTicks().sub(this.$getMinOffset())),this.$maxOffset},$is:function(n){return H5.isDate(n)},getDefaultValue:function(){return this.$default===null&&(this.$default=this.getMinValue()),this.$default},getMinValue:function(){if(this.$min===null){var n=new Date(1,0,1,0,0,0,0);n.setFullYear(1);n.setSeconds(0);n.kind=0;n.ticks=this.getMinTicks();this.$min=n}return this.$min},getMaxValue:function(){if(this.$max===null){var n=new Date(9999,11,31,23,59,59,999);n.kind=0;n.ticks=this.getMaxTicks();this.$max=n}return this.$max},$getTzOffset:function(n){return System.Int64(n.getTimezoneOffset()).mul(6e8)},toLocalTime:function(n,t){var u=n.kind!==undefined?n.kind:0,r=this.getTicks(n),i;if(u===2)return i=new Date(n.getTime()),i.kind=2,i.ticks=r,i;if(i=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds())),i.kind=2,i.ticks=r,i.ticks.gt(this.getMaxTicks())||i.ticks.lt(0))if(t&&t===!0)throw new System.ArgumentException.$ctor1("Specified argument was out of the range of valid values.");else i=this.create$2(r.add(this.$getTzOffset(i)),2);return i},toUniversalTime:function(n){var r=n.kind!==undefined?n.kind:0,i=this.getTicks(n),t;return r===1?(t=new Date(n.getTime()),t.kind=1,t.ticks=i,t):(t=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),n.getUTCMilliseconds())),t.kind=1,t.ticks=i,(t.ticks.gt(this.getMaxTicks())||t.ticks.lt(0))&&(t=this.create$2(i.add(this.$getTzOffset(t)),1)),t)},getTicks:function(n){if(n.ticks)return n.ticks;var t=n.kind!==undefined?n.kind:0;return n.ticks=t===1?System.Int64(n.getTime()).mul(1e4).add(this.$getMinOffset()):System.Int64(n.getTime()).mul(1e4).add(this.$getMinOffset()).sub(this.$getTzOffset(n)),n.ticks},create:function(n,t,i,r,u,f,e,o){n=n!==undefined?n:(new Date).getFullYear();t=t!==undefined?t:(new Date).getMonth()+1;i=i!==undefined?i:1;r=r!==undefined?r:0;u=u!==undefined?u:0;f=f!==undefined?f:0;e=e!==undefined?e:0;o=o!==undefined?o:0;var s;return o===1?(s=new Date(Date.UTC(n,t-1,i,r,u,f,e)),s.setUTCFullYear(n)):(s=new Date(n,t-1,i,r,u,f,e),s.setFullYear(n)),s.kind=o,s.ticks=this.getTicks(s),s},create$2:function(n,t){n=System.Int64.is64Bit(n)?n:System.Int64(n);var i;return n.lt(this.TicksPerDay)?(i=new Date(0),i.setMilliseconds(i.getMilliseconds()+this.$getTzOffset(i).div(1e4).toNumber()),i.setFullYear(1)):(i=new Date(n.sub(this.$getMinOffset()).div(1e4).toNumber()),t!==1&&i.setTime(i.getTime()+i.getTimezoneOffset()*6e4)),i.kind=t!==undefined?t:0,i.ticks=n,i},getToday:function(){var n=this.getNow();return n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),n},getNow:function(){var n=new Date;return n.kind=2,n},getUtcNow:function(){var n=new Date;return n.kind=1,n},getTimeOfDay:function(n){var t=this.getDate(n);return new System.TimeSpan((n-t)*1e4)},getKind:function(n){return n.kind=n.kind!==undefined?n.kind:0,n.kind},specifyKind:function(n,t){var i=new Date(n.getTime());return i.kind=t,i.ticks=n.ticks!==undefined?n.ticks:this.getTicks(i),i},$FileTimeOffset:System.Int64("584388").mul(System.Int64(864e9)),FromFileTime:function(n){return this.toLocalTime(this.FromFileTimeUtc(n))},FromFileTimeUtc:function(n){return n=System.Int64.is64Bit(n)?n:System.Int64(n),this.create$2(n.add(this.$FileTimeOffset),1)},ToFileTime:function(n){return this.ToFileTimeUtc(this.toUniversalTime(n))},ToFileTimeUtc:function(n){return this.getKind(n)!==0?this.getTicks(this.toUniversalTime(n)):this.getTicks(n)},isUseGenitiveForm:function(n,t,i,r){for(var f=0,u=t-1;u>=0&&n[u]!==r;u--);if(u>=0){while(--u>=0&&n[u]===r)f++;if(f<=1)return!0}for(u=t+i;u<n.length&&n[u]!==r;u++);if(u<n.length){for(f=0;++u<n.length&&n[u]===r;)f++;if(f<=1)return!0}return!1},format:function(n,t,i){var v=this,e=n.kind||0,u=e===1||["u","r","R"].indexOf(t)>-1,r=(i||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.DateTimeFormatInfo),o=u?n.getUTCFullYear():n.getFullYear(),f=u?n.getUTCMonth():n.getMonth(),s=u?n.getUTCDate():n.getDate(),y=u?n.getUTCDay():n.getDay(),h=u?n.getUTCHours():n.getHours(),p=u?n.getUTCMinutes():n.getMinutes(),w=u?n.getUTCSeconds():n.getSeconds(),b=u?n.getUTCMilliseconds():n.getMilliseconds(),c=n.getTimezoneOffset(),l,a;return t=t||"G",t.length===1?(l=r.getAllDateTimePatterns(t,!0),t=l?l[0]:t):t.length===2&&t.charAt(0)==="%"&&(t=t.charAt(1)),a=!1,t=t.replace(/(\\.|'[^']*'|"[^"]*"|d{1,4}|M{1,4}|yyyy|yy|y|HH?|hh?|mm?|ss?|tt?|u|f{1,7}|F{1,7}|K|z{1,3}|\:|\/)/g,function(n,i,u){var l=n,g,k,d;switch(n){case"dddd":l=r.dayNames[y];break;case"ddd":l=r.abbreviatedDayNames[y];break;case"dd":l=s<10?"0"+s:s;break;case"d":l=s;break;case"MMMM":l=v.isUseGenitiveForm(t,u,4,"d")?r.monthGenitiveNames[f]:r.monthNames[f];break;case"MMM":l=v.isUseGenitiveForm(t,u,3,"d")?r.abbreviatedMonthGenitiveNames[f]:r.abbreviatedMonthNames[f];break;case"MM":l=f+1<10?"0"+(f+1):f+1;break;case"M":l=f+1;break;case"yyyy":l=("0000"+o).substring(o.toString().length);break;case"yy":l=(o%100).toString();l.length===1&&(l="0"+l);break;case"y":l=o%100;break;case"h":case"hh":l=h%12;l?n==="hh"&&l.length===1&&(l="0"+l):l="12";break;case"HH":l=h.toString();l.length===1&&(l="0"+l);break;case"H":l=h;break;case"mm":l=p.toString();l.length===1&&(l="0"+l);break;case"m":l=p;break;case"ss":l=w.toString();l.length===1&&(l="0"+l);break;case"s":l=w;break;case"t":case"tt":l=h<12?r.amDesignator:r.pmDesignator;n==="t"&&(l=l.charAt(0));break;case"F":case"FF":case"FFF":case"FFFF":case"FFFFF":case"FFFFFF":case"FFFFFFF":for(l=b.toString(),l.length<3&&(l=Array(4-l.length).join("0")+l),l=l.substr(0,n.length),g="0",k=l.length-1;k>=0&&l.charAt(k)===g;k--);l=l.substring(0,k+1);a=l.length==0;break;case"f":case"ff":case"fff":case"ffff":case"fffff":case"ffffff":case"fffffff":l=b.toString();l.length<3&&(l=Array(4-l.length).join("0")+l);d=n==="u"?7:n.length;l.length<d&&(l=l+Array(8-l.length).join("0"));l=l.substr(0,d);break;case"z":l=c/60;l=(l>=0?"-":"+")+Math.floor(Math.abs(l));break;case"K":case"zz":case"zzz":e===0?l="":e===1?l="Z":(l=c/60,l=(l>0?"-":"+")+System.String.alignString(Math.floor(Math.abs(l)).toString(),2,"0",2),(n==="zzz"||n==="K")&&(l+=r.timeSeparator+System.String.alignString(Math.floor(Math.abs(c%60)).toString(),2,"0",2)));break;case":":l=r.timeSeparator;break;case"/":l=r.dateSeparator;break;default:l=n.substr(1,n.length-1-(n.charAt(0)!=="\\"));break}return l}),a&&(System.String.endsWith(t,".")?t=t.substring(0,t.length-1):System.String.endsWith(t,".Z")?t=t.substring(0,t.length-2)+"Z":e===2&&t.match(/\.([+-])/g)!==null&&(t=t.replace(/\.([+-])/g,"$1"))),t},parse:function(n,t,i,r){var u=this.parseExact(n,null,t,i,!0);if(u!==null)return u;if(u=Date.parse(n),isNaN(u)){if(!r)throw new System.FormatException.$ctor1("String does not contain a valid string representation of a date and time.");}else return new Date(u)},parseExact:function(n,t,i,r,u){var ht,at,bt,v;if(t||(t=["G","g","F","f","D","d","R","r","s","S","U","u","O","o","Y","y","M","m","T","t"]),H5.isArray(t)){for(ht=0,ht;ht<t.length;ht++)if(v=this.parseExact(n,t[ht],i,r,!0),v!=null)return v;if(u)return null;throw new System.FormatException.$ctor1("String does not contain a valid string representation of a date and time.");}else t=t.replace("'Z'","Z");var vt=new Date,y=(i||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.DateTimeFormatInfo),ct=y.amDesignator,lt=y.pmDesignator,e=0,b=0,k=0,nt,f,l=vt.getFullYear(),a=vt.getMonth()+1,d=vt.getDate(),c=0,rt=0,ut=0,h=0,tt="",w=0,yt=0,ft,et,ot,st,s,o=!1,p=!1,pt,wt,it=0,kt=!1,g=0;if(n==null)throw new System.ArgumentNullException.$ctor1("str");for(t=t||"G",t.length===1?(wt=y.getAllDateTimePatterns(t,!0),t=wt?wt[0]:t):t.length===2&&t.charAt(0)==="%"&&(t=t.charAt(1));b<t.length;){if(nt=t.charAt(b),f="",p==="\\")f+=nt,b++;else for(at=t.charAt(b+1),nt==="."&&n.charAt(e)!==nt&&(at==="F"||at==="f")&&(b++,nt=at);t.charAt(b)===nt&&b<t.length;)f+=nt,b++;if(pt=!0,!p)if(f==="yyyy"||f==="yy"||f==="y"){if(f==="yyyy"?l=this.subparseInt(n,e,4,4):f==="yy"?l=this.subparseInt(n,e,2,2):f==="y"&&(l=this.subparseInt(n,e,2,4)),l==null){o=!0;break}e+=l.length;l.length===2&&(l=~~l,l=(l>30?1900:2e3)+l)}else if(f==="MMM"||f==="MMMM"){for(a=0,st=f==="MMM"?this.isUseGenitiveForm(t,b,3,"d")?y.abbreviatedMonthGenitiveNames:y.abbreviatedMonthNames:this.isUseGenitiveForm(t,b,4,"d")?y.monthGenitiveNames:y.monthNames,k=0;k<st.length;k++)if(s=st[k],n.substring(e,e+s.length).toLowerCase()===s.toLowerCase()){a=k%12+1;e+=s.length;break}if(a<1||a>12){o=!0;break}}else if(f==="MM"||f==="M"){if(a=this.subparseInt(n,e,f.length,2),a==null||a<1||a>12){o=!0;break}e+=a.length}else if(f==="dddd"||f==="ddd"){for(st=f==="ddd"?y.abbreviatedDayNames:y.dayNames,k=0;k<st.length;k++)if(s=st[k],n.substring(e,e+s.length).toLowerCase()===s.toLowerCase()){e+=s.length;break}}else if(f==="dd"||f==="d"){if(d=this.subparseInt(n,e,f.length,2),d==null||d<1||d>31){o=!0;break}e+=d.length}else if(f==="hh"||f==="h"){if(c=this.subparseInt(n,e,f.length,2),c==null||c<1||c>12){o=!0;break}e+=c.length}else if(f==="HH"||f==="H"){if(c=this.subparseInt(n,e,f.length,2),c==null||c<0||c>23){o=!0;break}e+=c.length}else if(f==="mm"||f==="m"){if(rt=this.subparseInt(n,e,f.length,2),rt==null||rt<0||rt>59)return null;e+=rt.length}else if(f==="ss"||f==="s"){if(ut=this.subparseInt(n,e,f.length,2),ut==null||ut<0||ut>59){o=!0;break}e+=ut.length}else if(f==="u"){if(h=this.subparseInt(n,e,1,7),h==null){o=!0;break}e+=h.length;h.length>3&&(h=h.substring(0,3))}else if(f.match(/f{1,7}/)!==null){if(h=this.subparseInt(n,e,f.length,7),h==null){o=!0;break}e+=h.length;h.length>3&&(h=h.substring(0,3))}else if(f.match(/F{1,7}/)!==null)h=this.subparseInt(n,e,0,7),h!==null&&(e+=h.length,h.length>3&&(h=h.substring(0,3)));else if(f==="t"){if(n.substring(e,e+1).toLowerCase()===ct.charAt(0).toLowerCase())tt=ct;else if(n.substring(e,e+1).toLowerCase()===lt.charAt(0).toLowerCase())tt=lt;else{o=!0;break}e+=1}else if(f==="tt"){if(n.substring(e,e+2).toLowerCase()===ct.toLowerCase())tt=ct;else if(n.substring(e,e+2).toLowerCase()===lt.toLowerCase())tt=lt;else{o=!0;break}e+=2}else if(f==="z"||f==="zz"){if(et=n.charAt(e),et==="-")ot=!0;else if(et==="+")ot=!1;else{o=!0;break}if(e++,w=this.subparseInt(n,e,1,2),w==null||w>14){o=!0;break}e+=w.length;g=w*36e5;ot&&(g=-g)}else if(f==="Z"){bt=n.substring(e,e+1);bt==="Z"||bt==="z"?(it=1,e+=1):o=!0;break}else if(f==="zzz"||f==="K"){if(n.substring(e,e+1)==="Z"){it=2;kt=!0;e+=1;break}if(s=n.substring(e,e+6),s===""){it=0;break}if(e+=s.length,s.length!==6&&s.length!==5){o=!0;break}if(et=s.charAt(0),et==="-")ot=!0;else if(et==="+")ot=!1;else{o=!0;break}if(ft=1,w=this.subparseInt(s,ft,1,s.length===6?2:1),w==null||w>14){o=!0;break}if(ft+=w.length,s.charAt(ft)!==y.timeSeparator){o=!0;break}if(ft++,yt=this.subparseInt(s,ft,1,2),yt==null||w>59){o=!0;break}g=w*36e5+yt*6e4;ot&&(g=-g);it=2}else pt=!1;if(p||!pt){if(s=n.substring(e,e+f.length),(p||s!==":"||f!==y.timeSeparator&&f!==":")&&(!p&&(f===":"&&s!==y.timeSeparator||f==="/"&&s!==y.dateSeparator)||s!==f&&f!=="'"&&f!=='"'&&f!=="\\")){o=!0;break}if(p==="\\"&&(p=!1),f!=="'"&&f!=='"'&&f!=="\\")e+=f.length;else if(p===!1)p=f;else{if(p!==f){o=!0;break}p=!1}}}if(p&&(o=!0),o||(e!==n.length?o=!0:a===2?l%4==0&&l%100!=0||l%400==0?d>29&&(o=!0):d>28&&(o=!0):(a===4||a===6||a===9||a===11)&&d>30&&(o=!0)),o){if(u)return null;throw new System.FormatException.$ctor1("String does not contain a valid string representation of a date and time.");}return tt&&(c<12&&tt===lt?c=+c+12:c>11&&tt===ct&&(c-=12)),v=this.create(l,a,d,c,rt,ut,h,it),it===2&&(kt===!0?v=new Date(v.getTime()-v.getTimezoneOffset()*6e4):g!==0&&(v=new Date(v.getTime()-v.getTimezoneOffset()*6e4),v=this.addMilliseconds(v,-g)),v.kind=it),v},subparseInt:function(n,t,i,r){for(var f,u=r;u>=i;u--){if(f=n.substring(t,t+u),f.length<i)return null;if(/^\d+$/.test(f))return f}return null},tryParse:function(n,t,i,r){return(i.v=this.parse(n,t,r,!0),i.v==null)?(i.v=this.getMinValue(),!1):!0},tryParseExact:function(n,t,i,r,u){return(r.v=this.parseExact(n,t,i,u,!0),r.v==null)?(r.v=this.getMinValue(),!1):!0},isDaylightSavingTime:function(n){if(n.kind!==undefined&&n.kind===1)return!1;var t=new Date(n.getTime());return t.setMonth(0),t.setDate(1),t.getTimezoneOffset()!==n.getTimezoneOffset()},dateAddSubTimeSpan:function(n,t,i){var u=t.getTicks().mul(i),r=new Date(n.getTime()+u.div(1e4).toNumber());return r.kind=n.kind,r.ticks=this.getTicks(r),r},subdt:function(n,t){return this.dateAddSubTimeSpan(n,t,-1)},adddt:function(n,t){return this.dateAddSubTimeSpan(n,t,1)},subdd:function(n,t){var r=0,u=this.getTicks(n),f=this.getTicks(t),e=u.toNumber(),o=f.toNumber(),i=u.sub(f);return(e===0&&o!==0||o===0&&e!==0)&&(r=Math.round((i.toNumberDivided(6e8)-Math.round(i.toNumberDivided(9e9))*15)*6e8)),new System.TimeSpan(i.sub(r))},addYears:function(n,t){return this.addMonths(n,t*12)},addMonths:function(n,t){var i=new Date(n.getTime()),r=n.getDate();return i.setDate(1),i.setMonth(i.getMonth()+t),i.setDate(Math.min(r,this.getDaysInMonth(i.getFullYear(),i.getMonth()+1))),i.kind=n.kind!==undefined?n.kind:0,i.ticks=this.getTicks(i),i},addDays:function(n,t){var r=n.kind!==undefined?n.kind:0,i=new Date(n.getTime());return r===1?(i.setUTCDate(i.getUTCDate()+Math.floor(t)*1),t%1!=0&&i.setUTCMilliseconds(i.getUTCMilliseconds()+Math.round(t%1*864e5))):(i.setDate(i.getDate()+Math.floor(t)*1),t%1!=0&&i.setMilliseconds(i.getMilliseconds()+Math.round(t%1*864e5))),i.kind=r,i.ticks=this.getTicks(i),i},addHours:function(n,t){return this.addMilliseconds(n,t*36e5)},addMinutes:function(n,t){return this.addMilliseconds(n,t*6e4)},addSeconds:function(n,t){return this.addMilliseconds(n,t*1e3)},addMilliseconds:function(n,t){var i=new Date(n.getTime());return i.setMilliseconds(i.getMilliseconds()+t),i.kind=n.kind!==undefined?n.kind:0,i.ticks=this.getTicks(i),i},addTicks:function(n,t){t=System.Int64.is64Bit(t)?t:System.Int64(t);var i=new Date(n.getTime()),r=this.getTicks(n).add(t);return i.setMilliseconds(i.getMilliseconds()+t.div(1e4).toNumber()),i.ticks=r,i.kind=n.kind!==undefined?n.kind:0,i},add:function(n,t){return this.addTicks(n,t.getTicks())},subtract:function(n,t){return this.addTicks(n,t.getTicks().mul(-1))},getIsLeapYear:function(n){return(n&3)!=0?!1:n%100!=0||n%400==0},getDaysInMonth:function(n,t){return[31,this.getIsLeapYear(n)?29:28,31,30,31,30,31,31,30,31,30,31][t-1]},getDayOfYear:function(n){var t=this.getDate(n),i=t.getMonth(),u=t.getDate(),r=this.YearDaysByMonth[i]+u;return i>1&&this.getIsLeapYear(t.getFullYear())&&r++,r},getDate:function(n){var i=n.kind!==undefined?n.kind:0,t=new Date(n.getTime());return i===1?(t.setUTCHours(0),t.setUTCMinutes(0),t.setUTCSeconds(0),t.setUTCMilliseconds(0)):(t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0)),t.ticks=this.getTicks(t),t.kind=i,t},getDayOfWeek:function(n){return n.getDay()},getYear:function(n){var t=n.kind!==undefined?n.kind:0,i=this.getTicks(n);return i.lt(this.TicksPerDay)?1:t===1?n.getUTCFullYear():n.getFullYear()},getMonth:function(n){var t=n.kind!==undefined?n.kind:0,i=this.getTicks(n);return i.lt(this.TicksPerDay)?1:t===1?n.getUTCMonth()+1:n.getMonth()+1},getDay:function(n){var t=n.kind!==undefined?n.kind:0,i=this.getTicks(n);return i.lt(this.TicksPerDay)?1:t===1?n.getUTCDate():n.getDate()},getHour:function(n){var t=n.kind!==undefined?n.kind:0;return t===1?n.getUTCHours():n.getHours()},getMinute:function(n){var t=n.kind!==undefined?n.kind:0;return t===1?n.getUTCMinutes():n.getMinutes()},getSecond:function(n){return n.getSeconds()},getMillisecond:function(n){return n.getMilliseconds()},gt:function(n,t){return n!=null&&t!=null?this.getTicks(n).gt(this.getTicks(t)):!1},gte:function(n,t){return n!=null&&t!=null?this.getTicks(n).gte(this.getTicks(t)):!1},lt:function(n,t){return n!=null&&t!=null?this.getTicks(n).lt(this.getTicks(t)):!1},lte:function(n,t){return n!=null&&t!=null?this.getTicks(n).lte(this.getTicks(t)):!1}}});H5.define("System.TimeSpan",{inherits:[System.IComparable],config:{alias:["compareTo",["System$IComparable$compareTo","System$IComparable$1$compareTo","System$IComparable$1System$TimeSpan$compareTo"]]},$kind:"struct",statics:{fromDays:function(n){return new System.TimeSpan(n*864e9)},fromHours:function(n){return new System.TimeSpan(n*36e9)},fromMilliseconds:function(n){return new System.TimeSpan(n*1e4)},fromMinutes:function(n){return new System.TimeSpan(n*6e8)},fromSeconds:function(n){return new System.TimeSpan(n*1e7)},fromTicks:function(n){return new System.TimeSpan(n)},ctor:function(){this.zero=new System.TimeSpan(System.Int64.Zero);this.maxValue=new System.TimeSpan(System.Int64.MaxValue);this.minValue=new System.TimeSpan(System.Int64.MinValue)},getDefaultValue:function(){return new System.TimeSpan(System.Int64.Zero)},neg:function(n){return H5.hasValue(n)?new System.TimeSpan(n.ticks.neg()):null},sub:function(n,t){return H5.hasValue$1(n,t)?new System.TimeSpan(n.ticks.sub(t.ticks)):null},eq:function(n,t){return n===null&&t===null?!0:H5.hasValue$1(n,t)?n.ticks.eq(t.ticks):!1},neq:function(n,t){return n===null&&t===null?!1:H5.hasValue$1(n,t)?n.ticks.ne(t.ticks):!0},plus:function(n){return H5.hasValue(n)?new System.TimeSpan(n.ticks):null},add:function(n,t){return H5.hasValue$1(n,t)?new System.TimeSpan(n.ticks.add(t.ticks)):null},gt:function(n,t){return H5.hasValue$1(n,t)?n.ticks.gt(t.ticks):!1},gte:function(n,t){return H5.hasValue$1(n,t)?n.ticks.gte(t.ticks):!1},lt:function(n,t){return H5.hasValue$1(n,t)?n.ticks.lt(t.ticks):!1},lte:function(n,t){return H5.hasValue$1(n,t)?n.ticks.lte(t.ticks):!1},timeSpanWithDays:/^(\-)?(\d+)[\.|:](\d+):(\d+):(\d+)(\.\d+)?/,timeSpanNoDays:/^(\-)?(\d+):(\d+):(\d+)(\.\d+)?/,parse:function(n){function r(n){return n?parseFloat("0"+n)*1e3:0}var t,u,i;return(t=n.match(System.TimeSpan.timeSpanWithDays))?(i=new System.TimeSpan(t[2],t[3],t[4],t[5],r(t[6])),t[1]?new System.TimeSpan(i.ticks.neg()):i):(t=n.match(System.TimeSpan.timeSpanNoDays))?(i=new System.TimeSpan(0,t[2],t[3],t[4],r(t[5])),t[1]?new System.TimeSpan(i.ticks.neg()):i):null},tryParse:function(n,t,i){return(i.v=this.parse(n),i.v==null)?(i.v=this.minValue,!1):!0}},ctor:function(){this.$initialize();this.ticks=System.Int64.Zero;arguments.length===1?this.ticks=arguments[0]instanceof System.Int64?arguments[0]:new System.Int64(arguments[0]):arguments.length===3?this.ticks=new System.Int64(arguments[0]).mul(60).add(arguments[1]).mul(60).add(arguments[2]).mul(1e7):arguments.length===4?this.ticks=new System.Int64(arguments[0]).mul(24).add(arguments[1]).mul(60).add(arguments[2]).mul(60).add(arguments[3]).mul(1e7):arguments.length===5&&(this.ticks=new System.Int64(arguments[0]).mul(24).add(arguments[1]).mul(60).add(arguments[2]).mul(60).add(arguments[3]).mul(1e3).add(arguments[4]).mul(1e4))},TimeToTicks:function(n,t,i){var r=System.Int64(n).mul("3600").add(System.Int64(t).mul("60")).add(System.Int64(i));return r.mul("10000000")},getTicks:function(){return this.ticks},getDays:function(){return this.ticks.div(864e9).toNumber()},getHours:function(){return this.ticks.div(36e9).mod(24).toNumber()},getMilliseconds:function(){return this.ticks.div(1e4).mod(1e3).toNumber()},getMinutes:function(){return this.ticks.div(6e8).mod(60).toNumber()},getSeconds:function(){return this.ticks.div(1e7).mod(60).toNumber()},getTotalDays:function(){return this.ticks.toNumberDivided(864e9)},getTotalHours:function(){return this.ticks.toNumberDivided(36e9)},getTotalMilliseconds:function(){return this.ticks.toNumberDivided(1e4)},getTotalMinutes:function(){return this.ticks.toNumberDivided(6e8)},getTotalSeconds:function(){return this.ticks.toNumberDivided(1e7)},get12HourHour:function(){return this.getHours()>12?this.getHours()-12:this.getHours()===0?12:this.getHours()},add:function(n){return new System.TimeSpan(this.ticks.add(n.ticks))},subtract:function(n){return new System.TimeSpan(this.ticks.sub(n.ticks))},duration:function(){return new System.TimeSpan(this.ticks.abs())},negate:function(){return new System.TimeSpan(this.ticks.neg())},compareTo:function(n){return this.ticks.compareTo(n.ticks)},equals:function(n){return H5.is(n,System.TimeSpan)?n.ticks.eq(this.ticks):!1},equalsT:function(n){return n.ticks.eq(this.ticks)},format:function(n,t){return this.toString(n,t)},getHashCode:function(){return this.ticks.getHashCode()},toString:function(n,t){var i=this.ticks,f="",r=this,e=(t||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.DateTimeFormatInfo),u=function(n,t,i,r){return System.String.alignString(Math.abs(n|0).toString(),t||2,"0",i||2,r||!1)},o=i<0;return n?n.replace(/(\\.|'[^']*'|"[^"]*"|dd?|HH?|hh?|mm?|ss?|tt?|f{1,7}|\:|\/)/g,function(n,t,i){var f=n;switch(n){case"d":return r.getDays();case"dd":return u(r.getDays());case"H":return r.getHours();case"HH":return u(r.getHours());case"h":return r.get12HourHour();case"hh":return u(r.get12HourHour());case"m":return r.getMinutes();case"mm":return u(r.getMinutes());case"s":return r.getSeconds();case"ss":return u(r.getSeconds());case"t":return(r.getHours()<12?e.amDesignator:e.pmDesignator).substring(0,1);case"tt":return r.getHours()<12?e.amDesignator:e.pmDesignator;case"f":case"ff":case"fff":case"ffff":case"fffff":case"ffffff":case"fffffff":return u(r.getMilliseconds(),n.length,1,!0);default:return n.substr(1,n.length-1-(n.charAt(0)!=="\\"))}}):(i.abs().gte(864e9)&&(f+=u(i.toNumberDivided(864e9),1)+".",i=i.mod(864e9)),f+=u(i.toNumberDivided(36e9))+":",i=i.mod(36e9),f+=u(i.toNumberDivided(6e8)|0)+":",i=i.mod(6e8),f+=u(i.toNumberDivided(1e7)),i=i.mod(1e7),i.gt(0)&&(f+="."+u(i.toNumber(),7)),(o?"-":"")+f)}});H5.Class.addExtend(System.TimeSpan,[System.IComparable$1(System.TimeSpan),System.IEquatable$1(System.TimeSpan)]);H5.define("System.Text.StringBuilder",{ctor:function(){this.$initialize();this.buffer=[];this.capacity=16;arguments.length===1?this.append(arguments[0]):arguments.length===2?(this.append(arguments[0]),this.setCapacity(arguments[1])):arguments.length>=3&&(this.append(arguments[0],arguments[1],arguments[2]),arguments.length===4&&this.setCapacity(arguments[3]))},getLength:function(){if(this.buffer.length<2)return this.buffer[0]?this.buffer[0].length:0;var n=this.getString();return n.length},setLength:function(n){var i,t;if(n===0)this.clear();else if(n<0)throw new System.ArgumentOutOfRangeException.$ctor4("value","Length cannot be less than zero");else{if(i=this.getLength(),n===i)return;t=n-i;t>0?this.append("\0",t):this.remove(i+t,-t)}},getCapacity:function(){var n=this.getLength();return this.capacity>n?this.capacity:n},setCapacity:function(n){var t=this.getLength();n>t&&(this.capacity=n)},toString:function(){var n=this.getString(),t,i;return arguments.length===2?(t=arguments[0],i=arguments[1],this.checkLimits(n,t,i),n.substr(t,i)):n},append:function(n){var i,t;if(n==null)return this;if(arguments.length===2){if(t=arguments[1],t===0)return this;else if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","cannot be less than zero");n=Array(t+1).join(n).toString()}else if(arguments.length===3){if(i=arguments[1],t=arguments[2],t===0)return this;this.checkLimits(n,i,t);n=n.substr(i,t)}return this.buffer[this.buffer.length]=n,this.clearString(),this},appendFormat:function(n){return this.append(System.String.format.apply(System.String,arguments))},clear:function(){return this.buffer=[],this.clearString(),this},appendLine:function(){return arguments.length===1&&this.append(arguments[0]),this.append("\r\n")},equals:function(n){return n==null?!1:n===this?!0:this.toString()===n.toString()},remove:function(n,t){var i=this.getString();return(this.checkLimits(i,n,t),i.length===t&&n===0)?this.clear():(t>0&&(this.buffer=[],this.buffer[0]=i.substring(0,n),this.buffer[1]=i.substring(n+t,i.length),this.clearString()),this)},insert:function(n,t){var r,i;if(t==null)return this;if(arguments.length===3){if(r=arguments[2],r===0)return this;else if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","cannot be less than zero");t=Array(r+1).join(t).toString()}return i=this.getString(),this.buffer=[],n<1?(this.buffer[0]=t,this.buffer[1]=i):n>=i.length?(this.buffer[0]=i,this.buffer[1]=t):(this.buffer[0]=i.substring(0,n),this.buffer[1]=t,this.buffer[2]=i.substring(n,i.length)),this.clearString(),this},replace:function(n,t){var f=new RegExp(n,"g"),i=this.buffer.join("");if(this.buffer=[],arguments.length===4){var r=arguments[2],u=arguments[3],e=i.substr(r,u);this.checkLimits(i,r,u);this.buffer[0]=i.substring(0,r);this.buffer[1]=e.replace(f,t);this.buffer[2]=i.substring(r+u,i.length)}else this.buffer[0]=i.replace(f,t);return this.clearString(),this},checkLimits:function(n,t,i){if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","must be non-negative");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","startIndex cannot be less than zero");if(i>n.length-t)throw new System.ArgumentOutOfRangeException.$ctor4("Index and length must refer to a location within the string");},clearString:function(){this.$str=null},getString:function(){return this.$str||(this.$str=this.buffer.join(""),this.buffer=[],this.buffer[0]=this.$str),this.$str},getChar:function(n){var t=this.getString();if(n<0||n>=t.length)throw new System.IndexOutOfRangeException;return t.charCodeAt(n)},setChar:function(n,t){var i=this.getString();if(n<0||n>=i.length)throw new System.ArgumentOutOfRangeException;t=String.fromCharCode(t);this.buffer=[];this.buffer[0]=i.substring(0,n);this.buffer[1]=t;this.buffer[2]=i.substring(n+1,i.length);this.clearString()}}),function(){var n=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],t=RegExp("["+n.join("\\")+"]","g"),i=function(n){return n.replace(t,"\\$&")};H5.regexpEscape=i}();H5.define("System.Diagnostics.Debug.DebugAssertException",{inherits:[System.Exception],$kind:"nested class",ctors:{ctor:function(n,t,i){this.$initialize();System.Exception.ctor.call(this,(n||"")+"\n"+(t||"")+"\n"+(i||""))}}});H5.define("System.Diagnostics.Debug",{statics:{fields:{s_lock:null,s_indentLevel:0,s_indentSize:0,s_needIndent:!1,s_indentString:null,s_ShowAssertDialog:null,s_WriteCore:null,s_shouldWriteToStdErr:!1},props:{AutoFlush:{get:function(){return!0},set:function(n){}},IndentLevel:{get:function(){return System.Diagnostics.Debug.s_indentLevel},set:function(n){System.Diagnostics.Debug.s_indentLevel=n<0?0:n}},IndentSize:{get:function(){return System.Diagnostics.Debug.s_indentSize},set:function(n){System.Diagnostics.Debug.s_indentSize=n<0?0:n}}},ctors:{init:function(){this.s_lock={};this.s_indentSize=4;this.s_ShowAssertDialog=System.Diagnostics.Debug.ShowAssertDialog;this.s_WriteCore=System.Diagnostics.Debug.WriteCore;this.s_shouldWriteToStdErr=H5.referenceEquals(System.Environment.GetEnvironmentVariable("COMPlus_DebugWriteToStdErr"),"1")}},methods:{Close:function(){},Flush:function(){},Indent:function(){System.Diagnostics.Debug.IndentLevel=System.Diagnostics.Debug.IndentLevel+1|0},Unindent:function(){System.Diagnostics.Debug.IndentLevel=System.Diagnostics.Debug.IndentLevel-1|0},Print:function(n){System.Diagnostics.Debug.Write$2(n)},Print$1:function(n,t){t===void 0&&(t=[]);System.Diagnostics.Debug.Write$2(System.String.formatProvider.apply(System.String,[null,n].concat(t)))},Assert:function(n){System.Diagnostics.Debug.Assert$2(n,"","")},Assert$1:function(n,t){System.Diagnostics.Debug.Assert$2(n,t,"")},Assert$2:function(n,t,i){if(!n){var r;try{throw System.NotImplemented.ByDesign;}catch(u){u=System.Exception.create(u);r=""}System.Diagnostics.Debug.WriteLine$2(System.Diagnostics.Debug.FormatAssert(r,t,i));System.Diagnostics.Debug.s_ShowAssertDialog(r,t,i)}},Assert$3:function(n,t,i,r){r===void 0&&(r=[]);System.Diagnostics.Debug.Assert$2(n,t,System.String.format.apply(System.String,[i].concat(r)))},Fail:function(n){System.Diagnostics.Debug.Assert$2(!1,n,"")},Fail$1:function(n,t){System.Diagnostics.Debug.Assert$2(!1,n,t)},FormatAssert:function(n,t,i){var r=(System.Diagnostics.Debug.GetIndentString()||"")+"\n";return"---- DEBUG ASSERTION FAILED ----"+(r||"")+"---- Assert Short Message ----"+(r||"")+(t||"")+(r||"")+"---- Assert Long Message ----"+(r||"")+(i||"")+(r||"")+(n||"")},WriteLine$2:function(n){System.Diagnostics.Debug.Write$2((n||"")+"\n")},WriteLine:function(n){System.Diagnostics.Debug.WriteLine$2(n!=null?H5.toString(n):null)},WriteLine$1:function(n,t){System.Diagnostics.Debug.WriteLine$4(n!=null?H5.toString(n):null,t)},WriteLine$3:function(n,t){t===void 0&&(t=[]);System.Diagnostics.Debug.WriteLine$2(System.String.formatProvider.apply(System.String,[null,n].concat(t)))},WriteLine$4:function(n,t){t==null?System.Diagnostics.Debug.WriteLine$2(n):System.Diagnostics.Debug.WriteLine$2((t||"")+":"+(n||""))},Write$2:function(n){if(System.Diagnostics.Debug.s_lock,n==null){System.Diagnostics.Debug.s_WriteCore("");return}System.Diagnostics.Debug.s_needIndent&&(n=(System.Diagnostics.Debug.GetIndentString()||"")+(n||""),System.Diagnostics.Debug.s_needIndent=!1);System.Diagnostics.Debug.s_WriteCore(n);System.String.endsWith(n,"\n")&&(System.Diagnostics.Debug.s_needIndent=!0)},Write:function(n){System.Diagnostics.Debug.Write$2(n!=null?H5.toString(n):null)},Write$3:function(n,t){t==null?System.Diagnostics.Debug.Write$2(n):System.Diagnostics.Debug.Write$2((t||"")+":"+(n||""))},Write$1:function(n,t){System.Diagnostics.Debug.Write$3(n!=null?H5.toString(n):null,t)},WriteIf$2:function(n,t){n&&System.Diagnostics.Debug.Write$2(t)},WriteIf:function(n,t){n&&System.Diagnostics.Debug.Write(t)},WriteIf$3:function(n,t,i){n&&System.Diagnostics.Debug.Write$3(t,i)},WriteIf$1:function(n,t,i){n&&System.Diagnostics.Debug.Write$1(t,i)},WriteLineIf:function(n,t){n&&System.Diagnostics.Debug.WriteLine(t)},WriteLineIf$1:function(n,t,i){n&&System.Diagnostics.Debug.WriteLine$1(t,i)},WriteLineIf$2:function(n,t){n&&System.Diagnostics.Debug.WriteLine$2(t)},WriteLineIf$3:function(n,t,i){n&&System.Diagnostics.Debug.WriteLine$4(t,i)},GetIndentString:function(){var n,t=H5.Int.mul(System.Diagnostics.Debug.IndentSize,System.Diagnostics.Debug.IndentLevel);return System.Nullable.eq(System.Diagnostics.Debug.s_indentString!=null?System.Diagnostics.Debug.s_indentString.length:null,t)?System.Diagnostics.Debug.s_indentString:(n=System.String.fromCharCount(32,t),System.Diagnostics.Debug.s_indentString=n,n)},ShowAssertDialog:function(n,t,i){if(!System.Diagnostics.Debugger.IsAttached){var r=new System.Diagnostics.Debug.DebugAssertException(t,i,n);System.Environment.FailFast$1(r.Message,r)}},WriteCore:function(n){System.Diagnostics.Debug.WriteToDebugger(n);System.Diagnostics.Debug.s_shouldWriteToStdErr&&System.Diagnostics.Debug.WriteToStderr(n)},WriteToDebugger:function(n){System.Diagnostics.Debugger.IsLogging()?System.Diagnostics.Debugger.Log(0,null,n):System.Console.WriteLine(n)},WriteToStderr:function(n){System.Console.WriteLine(n)}}}});H5.define("System.Diagnostics.Debugger",{statics:{fields:{DefaultCategory:null},props:{IsAttached:{get:function(){return!0}}},methods:{IsLogging:function(){return!0},Launch:function(){return!0},Log:function(n,t,i){},NotifyOfCrossThreadDependency:function(){}}}});H5.define("System.Diagnostics.Stopwatch",{ctor:function(){this.$initialize();this.reset()},start:function(){this.isRunning||(this._startTime=System.Diagnostics.Stopwatch.getTimestamp(),this.isRunning=!0)},stop:function(){if(this.isRunning){var n=System.Diagnostics.Stopwatch.getTimestamp(),t=n.sub(this._startTime);this._elapsed=this._elapsed.add(t);this.isRunning=!1}},reset:function(){this._startTime=System.Int64.Zero;this._elapsed=System.Int64.Zero;this.isRunning=!1},restart:function(){this.isRunning=!1;this._elapsed=System.Int64.Zero;this._startTime=System.Diagnostics.Stopwatch.getTimestamp();this.start()},ticks:function(){var n=this._elapsed,t,i;return this.isRunning&&(t=System.Diagnostics.Stopwatch.getTimestamp(),i=t.sub(this._startTime),n=n.add(i)),n},milliseconds:function(){return this.ticks().mul(1e3).div(System.Diagnostics.Stopwatch.frequency)},timeSpan:function(){return new System.TimeSpan(this.milliseconds().mul(1e4))},statics:{startNew:function(){var n=new System.Diagnostics.Stopwatch;return n.start(),n}}});typeof window!="undefined"&&window.performance&&window.performance.now?(System.Diagnostics.Stopwatch.frequency=new System.Int64(1e6),System.Diagnostics.Stopwatch.isHighResolution=!0,System.Diagnostics.Stopwatch.getTimestamp=function(){return new System.Int64(Math.round(window.performance.now()*1e3))}):typeof process!="undefined"&&process.hrtime?(System.Diagnostics.Stopwatch.frequency=new System.Int64(1e9),System.Diagnostics.Stopwatch.isHighResolution=!0,System.Diagnostics.Stopwatch.getTimestamp=function(){var n=process.hrtime();return new System.Int64(n[0]).mul(1e9).add(n[1])}):(System.Diagnostics.Stopwatch.frequency=new System.Int64(1e3),System.Diagnostics.Stopwatch.isHighResolution=!1,System.Diagnostics.Stopwatch.getTimestamp=function(){return new System.Int64((new Date).valueOf())});System.Diagnostics.Contracts.Contract={reportFailure:function(n,t,i,r,u){var f=i.toString(),e,o;if(f=f.substring(f.indexOf("return")+7),f=f.substr(0,f.lastIndexOf(";")),e=f?"Contract '"+f+"' failed":"Contract failed",o=t?e+": "+t:e,u)throw new u(f,t);else throw new System.Diagnostics.Contracts.ContractException(n,o,t,f,r);},assert:function(n,t,i,r){i.call(t)||System.Diagnostics.Contracts.Contract.reportFailure(n,r,i,null)},requires:function(n,t,i,r){i.call(t)||System.Diagnostics.Contracts.Contract.reportFailure(0,r,i,null,n)},forAll:function(n,t,i){if(!i)throw new System.ArgumentNullException.$ctor1("predicate");for(;n<t;n++)if(!i(n))return!1;return!0},forAll$1:function(n,t){if(!n)throw new System.ArgumentNullException.$ctor1("collection");if(!t)throw new System.ArgumentNullException.$ctor1("predicate");var i=H5.getEnumerator(n);try{while(i.moveNext())if(!t(i.Current))return!1;return!0}finally{i.Dispose()}},exists:function(n,t,i){if(!i)throw new System.ArgumentNullException.$ctor1("predicate");for(;n<t;n++)if(i(n))return!0;return!1},exists$1:function(n,t){if(!n)throw new System.ArgumentNullException.$ctor1("collection");if(!t)throw new System.ArgumentNullException.$ctor1("predicate");var i=H5.getEnumerator(n);try{while(i.moveNext())if(t(i.Current))return!0;return!1}finally{i.Dispose()}}};H5.define("System.Diagnostics.Contracts.ContractFailureKind",{$kind:"enum",$statics:{precondition:0,postcondition:1,postconditionOnException:2,invarian:3,assert:4,assume:5}});H5.define("System.Diagnostics.Contracts.ContractException",{inherits:[System.Exception],config:{properties:{Kind:{get:function(){return this._kind}},Failure:{get:function(){return this._failureMessage}},UserMessage:{get:function(){return this._userMessage}},Condition:{get:function(){return this._condition}}}},ctor:function(n,t,i,r,u){this.$initialize();System.Exception.ctor.call(this,t,u);this._kind=n;this._failureMessage=t||null;this._userMessage=i||null;this._condition=r||null}});k={toIndex:function(n,t){if(t.length!==(n.$s?n.$s.length:1))throw new System.ArgumentException.$ctor1("Invalid number of indices");if(t[0]<0||t[0]>=(n.$s?n.$s[0]:n.length))throw new System.IndexOutOfRangeException.$ctor1("Index 0 out of range");var r=t[0],i;if(n.$s)for(i=1;i<n.$s.length;i++){if(t[i]<0||t[i]>=n.$s[i])throw new System.IndexOutOfRangeException.$ctor1("Index "+i+" out of range");r=r*n.$s[i]+t[i]}return r},index:function(n,t){if(n<0||n>=t.length)throw new System.IndexOutOfRangeException;return n},$get:function(n){var t=this[System.Array.toIndex(this,n)];return typeof t!="undefined"?t:this.$v},get:function(n){var t,i,r;if(arguments.length<2)throw new System.ArgumentNullException.$ctor1("indices");for(t=Array.prototype.slice.call(arguments,1),i=0;i<t.length;i++)if(!H5.hasValue(t[i]))throw new System.ArgumentNullException.$ctor1("indices");return r=n[System.Array.toIndex(n,t)],typeof r!="undefined"?r:n.$v},$set:function(n,t){this[System.Array.toIndex(this,n)]=t},set:function(n,t){var i=Array.prototype.slice.call(arguments,2);n[System.Array.toIndex(n,i)]=t},getLength:function(n,t){if(t<0||t>=(n.$s?n.$s.length:1))throw new System.IndexOutOfRangeException;return n.$s?n.$s[t]:n.length},getRank:function(n){return n.$type?n.$type.$rank:n.$s?n.$s.length:1},getLower:function(n,t){return System.Array.getLength(n,t),0},create:function(n,t,i,r){var u,h,f,c,e,s,l,a,v,o,y;if(r===null)throw new System.ArgumentNullException.$ctor1("length");if(u=[],h=arguments.length>3?1:0,u.$v=n,u.$s=[],u.get=System.Array.$get,u.set=System.Array.$set,r&&H5.isArray(r))for(f=0;f<r.length;f++){if(e=r[f],isNaN(e)||e<0)throw new System.ArgumentOutOfRangeException.$ctor1("length");h*=e;u.$s[f]=e}else for(f=3;f<arguments.length;f++){if(e=arguments[f],isNaN(e)||e<0)throw new System.ArgumentOutOfRangeException.$ctor1("length");h*=e;u.$s[f-3]=e}for(u.length=h,v=H5.isFunction(n),v&&(o=n(),o&&(o.$kind||typeof o=="object")||(v=!1,n=o)),y=0;y<h;y++)u[y]=v?n():n;if(t)for(f=0;f<u.length;f++){for(l=[],a=f,c=u.$s.length-1;c>=0;c--)s=a%u.$s[c],l.unshift(s),a=H5.Int.div(a-s,u.$s[c]);for(o=t,s=0;s<l.length;s++)o=o[l[s]];u[f]=o}return System.Array.init(u,i,u.$s.length),u},init:function(n,t,i,r){var s,h,o,f,u,e;if(n==null)throw new System.ArgumentNullException.$ctor1("length");if(H5.isArray(n))return s=t,h=i||1,System.Array.type(s,h,n),n;if(isNaN(n)||n<0)throw new System.ArgumentOutOfRangeException.$ctor1("length");for(o=new Array(n),f=r!==!0&&H5.isFunction(t),f&&(u=t(),u&&(u.$kind||typeof u=="object")||(f=!1,t=u)),e=0;e<n;e++)o[e]=f?t():t;return System.Array.init(o,i,1)},toEnumerable:function(n){return new H5.ArrayEnumerable(n)},toEnumerator:function(n,t){return new H5.ArrayEnumerator(n,t)},_typedArrays:{Float32Array:System.Single,Float64Array:System.Double,Int8Array:System.SByte,Int16Array:System.Int16,Int32Array:System.Int32,Uint8Array:System.Byte,Uint8ClampedArray:System.Byte,Uint16Array:System.UInt16,Uint32Array:System.UInt32},is:function(n,t){var i,r;if(n instanceof H5.ArrayEnumerator)return n.constructor===t||n instanceof t||t===H5.ArrayEnumerator||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.IEnumerator")||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.Generic.IEnumerator")?!0:!1;if(!H5.isArray(n))return!1;if(t.$elementType&&t.$isArray){if(i=H5.getType(n).$elementType,i)return H5.Reflection.isValueType(i)!==H5.Reflection.isValueType(t.$elementType)?!1:System.Array.getRank(n)===t.$rank&&H5.Reflection.isAssignableFrom(t.$elementType,i);t=Array}return n.constructor===t||n instanceof t?!0:t===System.Collections.IEnumerable||t===System.Collections.ICollection||t===System.ICloneable||t===System.Collections.IList||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.Generic.IEnumerable$1")||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.Generic.ICollection$1")||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.Generic.IList$1")||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.Generic.IReadOnlyCollection$1")||t.$$name&&System.String.startsWith(t.$$name,"System.Collections.Generic.IReadOnlyList$1")?!0:(r=!!System.Array._typedArrays[String.prototype.slice.call(Object.prototype.toString.call(n),8,-1)],r&&!!System.Array._typedArrays[t.name])?n instanceof t:r},clone:function(n){var t;return t=n.length===1?[n[0]]:n.slice(0),t.$type=n.$type,t.$v=n.$v,t.$s=n.$s,t.get=System.Array.$get,t.set=System.Array.$set,t},getCount:function(n,t){var r,i;if(H5.isArray(n))return n.length;else if(t&&H5.isFunction(n[r="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$getCount"]))return n[r]();else if(H5.isFunction(n[r="System$Collections$ICollection$getCount"]))return n[r]();else if(t&&(i=n["System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$Count"])!==undefined)return i;else if((i=n.System$Collections$ICollection$Count)!==undefined)return i;else if((i=n.Count)!==undefined)return i;else if(H5.isFunction(n.getCount))return n.getCount();return 0},getIsReadOnly:function(n,t){var r,i;if(H5.isArray(n))return t?!0:!1;else if(t&&H5.isFunction(n[r="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$getIsReadOnly"]))return n[r]();else if(t&&(i=n["System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$IsReadOnly"])!==undefined)return i;else if(H5.isFunction(n[r="System$Collections$IList$getIsReadOnly"]))return n[r]();else if((i=n.System$Collections$IList$IsReadOnly)!==undefined)return i;else if((i=n.IsReadOnly)!==undefined)return i;else if(H5.isFunction(n.getIsReadOnly))return n.getIsReadOnly();return!1},checkReadOnly:function(n,t,i){if(H5.isArray(n)){if(t)throw new System.NotSupportedException.$ctor1(i||"Collection was of a fixed size.");}else if(System.Array.getIsReadOnly(n,t))throw new System.NotSupportedException.$ctor1(i||"Collection is read-only.");},add:function(n,t,i){var r;if(System.Array.checkReadOnly(n,i),i&&(t=System.Array.checkNewElementType(t,i)),i&&H5.isFunction(n[r="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(i)+"$add"]))return n[r](t);else if(H5.isFunction(n[r="System$Collections$IList$add"]))return n[r](t);else if(H5.isFunction(n.add))return n.add(t);return-1},checkNewElementType:function(n,t){var i=H5.unbox(n,!0),r;if(H5.isNumber(i)){if(t===System.Decimal)return new System.Decimal(i);if(t===System.Int64)return new System.Int64(i);if(t===System.UInt64)return new System.UInt64(i)}if(r=H5.is(n,t),!r){if(n==null&&H5.getDefaultValue(t)==null)return null;throw new System.ArgumentException.$ctor1("The value "+i+"is not of type "+H5.getTypeName(t)+" and cannot be used in this generic collection.");}return i},clear:function(n,t){var i;System.Array.checkReadOnly(n,t,"Collection is read-only.");H5.isArray(n)?System.Array.fill(n,t?t.getDefaultValue||H5.getDefaultValue(t):null,0,n.length):t&&H5.isFunction(n[i="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$clear"])?n[i]():H5.isFunction(n[i="System$Collections$IList$clear"])?n[i]():H5.isFunction(n.clear)&&n.clear()},fill:function(n,t,i,r){var f,u;if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("dst");if(i<0||r<0||i+r>n.length)throw new System.IndexOutOfRangeException;for(f=H5.isFunction(t),f&&(u=t(),u&&(u.$kind||typeof u=="object")||(f=!1,t=u));--r>=0;)n[i+r]=f?t():t},copy:function(n,t,i,r,u){if(!i)throw new System.ArgumentNullException.$ctor3("dest","Value cannot be null");if(!n)throw new System.ArgumentNullException.$ctor3("src","Value cannot be null");if(t<0||r<0||u<0)throw new System.ArgumentOutOfRangeException.$ctor1("bound","Number was less than the array's lower bound in the first dimension");if(u>n.length-t||u>i.length-r)throw new System.ArgumentException.$ctor1("Destination array was not long enough. Check destIndex and length, and the array's lower bounds");if(t<r&&n===i)while(--u>=0)i[r+u]=n[t+u];else for(var f=0;f<u;f++)i[r+f]=n[t+f]},copyTo:function(n,t,i,r){var u;if(H5.isArray(n))System.Array.copy(n,0,t,i,n?n.length:0);else if(H5.isFunction(n.copyTo))n.copyTo(t,i);else if(r&&H5.isFunction(n[u="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(r)+"$copyTo"]))n[u](t,i);else if(H5.isFunction(n[u="System$Collections$ICollection$copyTo"]))n[u](t,i);else throw new System.NotImplementedException.$ctor1("copyTo");},indexOf:function(n,t,i,r,u){var e,f,o,s;if(H5.isArray(n)){for(i=i||0,r=H5.isNumber(r)?r:n.length,s=i+r,f=i;f<s;f++)if(o=n[f],o===t||System.Collections.Generic.EqualityComparer$1.$default.equals2(o,t))return f}else if(u&&H5.isFunction(n[e="System$Collections$Generic$IList$1$"+H5.getTypeAlias(u)+"$indexOf"]))return n[e](t);else if(H5.isFunction(n[e="System$Collections$IList$indexOf"]))return n[e](t);else if(H5.isFunction(n.indexOf))return n.indexOf(t);return-1},contains:function(n,t,i){var r;if(H5.isArray(n))return System.Array.indexOf(n,t)>-1;else if(i&&H5.isFunction(n[r="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(i)+"$contains"]))return n[r](t);else if(H5.isFunction(n[r="System$Collections$IList$contains"]))return n[r](t);else if(H5.isFunction(n.contains))return n.contains(t);return!1},remove:function(n,t,i){var r,u;if(System.Array.checkReadOnly(n,i),H5.isArray(n)){if(u=System.Array.indexOf(n,t),u>-1)return n.splice(u,1),!0}else if(i&&H5.isFunction(n[r="System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(i)+"$remove"]))return n[r](t);else if(H5.isFunction(n[r="System$Collections$IList$remove"]))return n[r](t);else if(H5.isFunction(n.remove))return n.remove(t);return!1},insert:function(n,t,i,r){var u;System.Array.checkReadOnly(n,r);r&&(i=System.Array.checkNewElementType(i,r));r&&H5.isFunction(n[u="System$Collections$Generic$IList$1$"+H5.getTypeAlias(r)+"$insert"])?n[u](t,i):H5.isFunction(n[u="System$Collections$IList$insert"])?n[u](t,i):H5.isFunction(n.insert)&&n.insert(t,i)},removeAt:function(n,t,i){var r;System.Array.checkReadOnly(n,i);H5.isArray(n)?n.splice(t,1):i&&H5.isFunction(n[r="System$Collections$Generic$IList$1$"+H5.getTypeAlias(i)+"$removeAt"])?n[r](t):H5.isFunction(n[r="System$Collections$IList$removeAt"])?n[r](t):H5.isFunction(n.removeAt)&&n.removeAt(t)},getItem:function(n,t,i){var u,r;if(H5.isArray(n))return(r=n[t],i)?r:n.$type&&(H5.isNumber(r)||H5.isBoolean(r)||H5.isDate(r))?H5.box(r,n.$type.$elementType):r;else if(i&&H5.isFunction(n[u="System$Collections$Generic$IList$1$"+H5.getTypeAlias(i)+"$getItem"]))return n[u](t);else H5.isFunction(n.get)?r=n.get(t):H5.isFunction(n.getItem)?r=n.getItem(t):H5.isFunction(n[u="System$Collections$IList$$getItem"])?r=n[u](t):H5.isFunction(n.get_Item)&&(r=n.get_Item(t));return i&&H5.getDefaultValue(i)!=null?H5.box(r,i):r},setItem:function(n,t,i,r){var u;if(H5.isArray(n))n.$type&&(i=System.Array.checkElementType(i,n.$type.$elementType)),n[t]=i;else if(r&&(i=System.Array.checkElementType(i,r)),H5.isFunction(n.set))n.set(t,i);else if(H5.isFunction(n.setItem))n.setItem(t,i);else if(r&&H5.isFunction(n[u="System$Collections$Generic$IList$1$"+H5.getTypeAlias(r)+"$setItem"]))return n[u](t,i);else if(r&&H5.isFunction(n[u="System$Collections$IList$setItem"]))return n[u](t,i);else H5.isFunction(n.set_Item)&&n.set_Item(t,i)},checkElementType:function(n,t){var i=H5.unbox(n,!0),r;if(H5.isNumber(i)){if(t===System.Decimal)return new System.Decimal(i);if(t===System.Int64)return new System.Int64(i);if(t===System.UInt64)return new System.UInt64(i)}if(r=H5.is(n,t),!r){if(n==null)return H5.getDefaultValue(t);throw new System.ArgumentException.$ctor1("Cannot widen from source type to target type either because the source type is a not a primitive type or the conversion cannot be accomplished.");}return i},resize:function(n,t,i,r){var f,e;if(t<0)throw new System.ArgumentOutOfRangeException.$ctor3("newSize",t,"newSize cannot be less than 0.");var s=0,o=H5.isFunction(i),u=n.v;for(o&&(f=i(),f&&(f.$kind||typeof f=="object")||(o=!1,i=f)),u?(s=u.length,u.length=t):u=System.Array.init(new Array(t),r),e=s;e<t;e++)u[e]=o?i():i;u.$s=[u.length];n.v=u},reverse:function(n,t,i){var r,u,f;if(!k)throw new System.ArgumentNullException.$ctor1("arr");if(t||t===0||(t=0,i=n.length),t<0||i<0)throw new System.ArgumentOutOfRangeException.$ctor4(t<0?"index":"length","Non-negative number required.");if(k.length-t<i)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");if(System.Array.getRank(n)!==1)throw new System.Exception("Only single dimension arrays are supported here.");for(r=t,u=t+i-1;r<u;)f=n[r],n[r]=n[u],n[u]=f,r++,u--},binarySearch:function(n,t,i,r,u){var o,f,s,e,h;if(!n)throw new System.ArgumentNullException.$ctor1("array");if(o=0,t<o||i<0)throw new System.ArgumentOutOfRangeException.$ctor4(t<o?"index":"length","Non-negative number required.");if(n.length-(t-o)<i)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");if(System.Array.getRank(n)!==1)throw new System.RankException.$ctor1("Only single dimensional arrays are supported for the requested action.");for(u||(u=System.Collections.Generic.Comparer$1.$default),f=t,s=t+i-1;f<=s;){e=f+(s-f>>1);try{h=System.Collections.Generic.Comparer$1.get(u)(n[e],r)}catch(c){throw new System.InvalidOperationException.$ctor2("Failed to compare two elements in the array.",c);}if(h===0)return e;h<0?f=e+1:s=e-1}return~f},sortDict:function(n,t,i,r,u){var f,h,o,c,s,e;for(u||(u=System.Collections.Generic.Comparer$1.$default),f=[],h=H5.fn.bind(u,System.Collections.Generic.Comparer$1.get(u)),r==null&&(r=n.length),o=0;o<n.length;o++)f.push({key:n[o],value:t[o]});if(i===0&&r===f.length)f.sort(function(n,t){return h(n.key,t.key)});else for(c=f.slice(i,i+r),c.sort(function(n,t){return h(n.key,t.key)}),s=i;s<i+r;s++)f[s]=c[s-i];for(e=0;e<f.length;e++)n[e]=f[e].key,t[e]=f[e].value},sort:function(n,t,i,r){var f,u;if(!n)throw new System.ArgumentNullException.$ctor1("array");if(arguments.length===2&&typeof t=="function"){n.sort(t);return}if(arguments.length===2&&typeof t=="object"&&(r=t,t=null),H5.isNumber(t)||(t=0),H5.isNumber(i)||(i=n.length),r||(r=System.Collections.Generic.Comparer$1.$default),t===0&&i===n.length)n.sort(H5.fn.bind(r,System.Collections.Generic.Comparer$1.get(r)));else for(f=n.slice(t,t+i),f.sort(H5.fn.bind(r,System.Collections.Generic.Comparer$1.get(r))),u=t;u<t+i;u++)n[u]=f[u-t]},min:function(n,t){for(var r=n[0],u=n.length,i=0;i<u;i++)!(n[i]<r||r<t)||n[i]<t||(r=n[i]);return r},max:function(n,t){for(var r=n[0],u=n.length,i=0;i<u;i++)!(n[i]>r||r>t)||n[i]>t||(r=n[i]);return r},addRange:function(n,t){if(H5.isArray(t))n.push.apply(n,t);else{var i=H5.getEnumerator(t);try{while(i.moveNext())n.push(i.Current)}finally{H5.is(i,System.IDisposable)&&i.Dispose()}}},convertAll:function(n,t){if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(!H5.hasValue(t))throw new System.ArgumentNullException.$ctor1("converter");return n.map(t)},find:function(n,t,i){if(!H5.hasValue(t))throw new System.ArgumentNullException.$ctor1("array");if(!H5.hasValue(i))throw new System.ArgumentNullException.$ctor1("match");for(var r=0;r<t.length;r++)if(i(t[r]))return t[r];return H5.getDefaultValue(n)},findAll:function(n,t){var r,i;if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(!H5.hasValue(t))throw new System.ArgumentNullException.$ctor1("match");for(r=[],i=0;i<n.length;i++)t(n[i])&&r.push(n[i]);return r},findIndex:function(n,t,i,r){var f,u;if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(arguments.length===2?(r=t,t=0,i=n.length):arguments.length===3&&(r=i,i=n.length-t),t<0||t>n.length)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(i<0||t>n.length-i)throw new System.ArgumentOutOfRangeException.$ctor1("count");if(!H5.hasValue(r))throw new System.ArgumentNullException.$ctor1("match");for(f=t+i,u=t;u<f;u++)if(r(n[u]))return u;return-1},findLast:function(n,t,i){if(!H5.hasValue(t))throw new System.ArgumentNullException.$ctor1("array");if(!H5.hasValue(i))throw new System.ArgumentNullException.$ctor1("match");for(var r=t.length-1;r>=0;r--)if(i(t[r]))return t[r];return H5.getDefaultValue(n)},findLastIndex:function(n,t,i,r){var f,u;if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(arguments.length===2?(r=t,t=n.length-1,i=n.length):arguments.length===3&&(r=i,i=t+1),!H5.hasValue(r))throw new System.ArgumentNullException.$ctor1("match");if(n.length===0){if(t!==-1)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");}else if(t<0||t>=n.length)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(i<0||t-i+1<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");for(f=t-i,u=t;u>f;u--)if(r(n[u]))return u;return-1},forEach:function(n,t){if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(!H5.hasValue(t))throw new System.ArgumentNullException.$ctor1("action");for(var i=0;i<n.length;i++)t(n[i],i,n)},indexOfT:function(n,t,i,r){if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(arguments.length===2?(i=0,r=n.length):arguments.length===3&&(r=n.length-i),i<0||i>=n.length&&n.length>0)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","out of range");if(r<0||r>n.length-i)throw new System.ArgumentOutOfRangeException.$ctor4("count","out of range");return System.Array.indexOf(n,t,i,r)},isFixedSize:function(n){if(H5.isArray(n))return!0;else if(n.System$Collections$IList$isFixedSize!=null)return n.System$Collections$IList$isFixedSize;else if(n.System$Collections$IList$IsFixedSize!=null)return n.System$Collections$IList$IsFixedSize;else if(n.isFixedSize!=null)return n.isFixedSize;else if(n.IsFixedSize!=null)return n.IsFixedSize;return!0},isSynchronized:function(n){return!1},lastIndexOfT:function(n,t,i,r){var e,u,f;if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(arguments.length===2?(i=n.length-1,r=n.length):arguments.length===3&&(r=n.length===0?0:i+1),i<0||i>=n.length&&n.length>0)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","out of range");if(r<0||i-r+1<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","out of range");for(e=i-r+1,u=i;u>=e;u--)if(f=n[u],f===t||System.Collections.Generic.EqualityComparer$1.$default.equals2(f,t))return u;return-1},syncRoot:function(n){return n},trueForAll:function(n,t){if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("array");if(!H5.hasValue(t))throw new System.ArgumentNullException.$ctor1("match");for(var i=0;i<n.length;i++)if(!t(n[i]))return!1;return!0},type:function(n,t,i){var r,u,e,f,o;for(t=t||1,r=System.Array.$cache[t],r||(r=[],System.Array.$cache[t]=r),f=0;f<r.length;f++)if(r[f].$elementType===n){u=r[f];break}return u||(e=H5.getTypeName(n)+"["+System.String.fromCharCount(",".charCodeAt(0),t-1)+"]",o=H5.Class.staticInitAllow,u=H5.define(e,{$inherits:[System.Array,System.Collections.ICollection,System.ICloneable,System.Collections.Generic.IList$1(n),System.Collections.Generic.IReadOnlyCollection$1(n)],$noRegister:!0,statics:{$elementType:n,$rank:t,$isArray:!0,$is:function(n){return System.Array.is(n,this)},getDefaultValue:function(){return null},createInstance:function(){var n,t,i;if(this.$rank===1)n=[];else{for(t=[H5.getDefaultValue(this.$elementType),null,this.$elementType],i=0;i<this.$rank;i++)t.push(0);n=System.Array.create.apply(System.Array,t)}return n.$type=this,n}}}),r.push(u),H5.Class.staticInitAllow=!0,u.$staticInit&&u.$staticInit(),H5.Class.staticInitAllow=o),i&&(i.$type=u),i||u},getLongLength:function(n){return System.Int64(n.length)}};H5.define("System.Array",{statics:k});System.Array.$cache={};H5.define("System.ArraySegment",{$kind:"struct",statics:{getDefaultValue:function(){return new System.ArraySegment}},ctor:function(n,t,i){if(this.$initialize(),arguments.length===0){this.array=null;this.offset=0;this.count=0;return}if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(this.array=n,H5.isNumber(t)){if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("offset");this.offset=t}else this.offset=0;if(H5.isNumber(i)){if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");this.count=i}else this.count=n.length;if(n.length-this.offset<this.count)throw new ArgumentException;},getArray:function(){return this.array},getCount:function(){return this.count},getOffset:function(){return this.offset},getHashCode:function(){return H5.addHash([5322976039,this.array,this.count,this.offset])},equals:function(n){return H5.is(n,System.ArraySegment)?H5.equals(this.array,n.array)&&H5.equals(this.count,n.count)&&H5.equals(this.offset,n.offset):!1},$clone:function(n){return this}});H5.define("System.Collections.IEnumerable",{$kind:"interface"});H5.define("System.Collections.ICollection",{inherits:[System.Collections.IEnumerable],$kind:"interface"});H5.define("System.Collections.IList",{inherits:[System.Collections.ICollection],$kind:"interface"});H5.define("System.Collections.IDictionary",{inherits:[System.Collections.ICollection],$kind:"interface"});H5.define("System.Collections.Generic.IEnumerable$1",function(n){return{inherits:[System.Collections.IEnumerable],$kind:"interface",$variance:[1]}});H5.define("System.Collections.Generic.ICollection$1",function(n){return{inherits:[System.Collections.Generic.IEnumerable$1(n)],$kind:"interface"}});H5.define("System.Collections.Generic.IEqualityComparer$1",function(n){return{$kind:"interface",$variance:[2]}});H5.define("System.Collections.Generic.IDictionary$2",function(n,t){return{inherits:[System.Collections.Generic.ICollection$1(System.Collections.Generic.KeyValuePair$2(n,t))],$kind:"interface"}});H5.define("System.Collections.Generic.IList$1",function(n){return{inherits:[System.Collections.Generic.ICollection$1(n)],$kind:"interface"}});H5.define("System.Collections.Generic.ISet$1",function(n){return{inherits:[System.Collections.Generic.ICollection$1(n)],$kind:"interface"}});H5.define("System.Collections.Generic.IReadOnlyCollection$1",function(n){return{inherits:[System.Collections.Generic.IEnumerable$1(n)],$kind:"interface"}});H5.define("System.Collections.Generic.IReadOnlyList$1",function(n){return{inherits:[System.Collections.Generic.IReadOnlyCollection$1(n)],$kind:"interface",$variance:[1]}});H5.define("System.Collections.Generic.IReadOnlyDictionary$2",function(n,t){return{inherits:[System.Collections.Generic.IReadOnlyCollection$1(System.Collections.Generic.KeyValuePair$2(n,t))],$kind:"interface"}});H5.define("System.String",{inherits:[System.IComparable,System.ICloneable,System.Collections.IEnumerable,System.Collections.Generic.IEnumerable$1(System.Char)],statics:{$is:function(n){return typeof n=="string"},charCodeAt:function(n,t){t=t||0;var i=n.charCodeAt(t),u,r;if(55296<=i&&i<=56319){if(u=i,r=n.charCodeAt(t+1),isNaN(r))throw new System.Exception("High surrogate not followed by low surrogate");return(u-55296)*1024+(r-56320)+65536}return 56320<=i&&i<=57343?!1:i},fromCharCode:function(n){return n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(n&1023))):String.fromCharCode(n)},fromCharArray:function(n,t,i){var u,r,f;if(n==null)throw new System.ArgumentNullException.$ctor1("chars");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("length");if(n.length-t<i)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");for(u="",t=t||0,i=H5.isNumber(i)?i:n.length,t+i>n.length&&(i=n.length-t),r=0;r<i;r++)f=n[r+t]|0,u+=String.fromCharCode(f);return u},lastIndexOf:function(n,t,i,r){var u=n.lastIndexOf(t,i);return u<i-r+1?-1:u},lastIndexOfAny:function(n,t,i,r){var e=n.length,f,u;if(!e)return-1;for(t=String.fromCharCode.apply(null,t),i=i||e-1,r=r||e,f=i-r+1,f<0&&(f=0),u=i;u>=f;u--)if(t.indexOf(n.charAt(u))>=0)return u;return-1},isNullOrWhiteSpace:function(n){return n?System.Char.isWhiteSpace(n):!0},isNullOrEmpty:function(n){return!n},fromCharCount:function(n,t){if(t>=0)return String(Array(t+1).join(String.fromCharCode(n)));else throw new System.ArgumentOutOfRangeException.$ctor4("count","cannot be less than zero");},format:function(n,t){return System.String._format(System.Globalization.CultureInfo.getCurrentCulture(),n,Array.isArray(t)&&arguments.length==2?t:Array.prototype.slice.call(arguments,1))},formatProvider:function(n,t,i){return System.String._format(n,t,Array.isArray(i)&&arguments.length==3?i:Array.prototype.slice.call(arguments,2))},_format:function(n,t,i){var u;if(t==null)throw new System.ArgumentNullException.$ctor1("format");u=function(n){return n.split("").reverse().join("")};t=u(u(t.replace(/\{\{/g,function(n){return String.fromCharCode(1,1)})).replace(/\}\}/g,function(n){return String.fromCharCode(2,2)}));var f=this,e=/(\{+)((\d+|[a-zA-Z_$]\w+(?:\.[a-zA-Z_$]\w+|\[\d+\])*)(?:\,(-?\d*))?(?:\:([^\}]*))?)(\}+)|(\{+)|(\}+)/g,r=this.decodeBraceSequence;return t=t.replace(e,function(t,u,e,o,s,h,c,l,a){return l?r(l):a?r(a):u.length%2==0||c.length%2==0?r(u)+e+r(c):r(u,!0)+f.handleElement(n,o,s,h,i)+r(c,!0)}),t.replace(/(\x01\x01)|(\x02\x02)/g,function(n){return n==String.fromCharCode(1,1)?"{":n==String.fromCharCode(2,2)?"}":void 0})},handleElement:function(n,t,i,r,u){var f;if(t=parseInt(t,10),t>u.length-1)throw new System.FormatException.$ctor1("Input string was not in a correct format.");return f=u[t],f==null&&(f=""),r&&f.$boxed&&f.type.$kind==="enum"?f=System.Enum.format(f.type,f.v,r):r&&f.$boxed&&f.type.format?f=f.type.format(H5.unbox(f,!0),r,n):r&&H5.is(f,System.IFormattable)&&(f=H5.format(H5.unbox(f,!0),r,n)),f=H5.isNumber(f)?H5.Int.format(f,r,n):H5.isDate(f)?System.DateTime.format(f,r,n):""+H5.toString(f),i&&(i=parseInt(i,10),H5.isNumber(i)||(i=null)),System.String.alignString(H5.toString(f),i)},decodeBraceSequence:function(n,t){return n.substr(0,(n.length+(t?0:1))/2)},alignString:function(n,t,i,r,u){if(n==null||!t)return n;if(i||(i=" "),H5.isNumber(i)&&(i=String.fromCharCode(i)),r||(r=t<0?1:2),t=Math.abs(t),u&&n.length>t&&(n=n.substring(0,t)),t+1>=n.length)switch(r){case 2:n=Array(t+1-n.length).join(i)+n;break;case 3:var f=t-n.length,e=Math.ceil(f/2),o=f-e;n=Array(o+1).join(i)+n+Array(e+1).join(i);break;case 1:default:n=n+Array(t+1-n.length).join(i);break}return n},startsWith:function(n,t){return t.length?t.length>n.length?!1:System.String.equals(n.slice(0,t.length),t,arguments[2]):!0},endsWith:function(n,t){return t.length?t.length>n.length?!1:System.String.equals(n.slice(n.length-t.length,n.length),t,arguments[2]):!0},contains:function(n,t){if(t==null)throw new System.ArgumentNullException;return n==null?!1:n.indexOf(t)>-1},indexOfAny:function(n,t){var r,i,u;if(t==null)throw new System.ArgumentNullException;if(n==null||n==="")return-1;if(r=arguments.length>2?arguments[2]:0,r<0)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","startIndex cannot be less than zero");if(i=n.length-r,arguments.length>3&&arguments[3]!=null&&(i=arguments[3]),i<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","must be non-negative");if(i>n.length-r)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index and length must refer to a location within the string");for(i=r+i,t=String.fromCharCode.apply(null,t),u=r;u<i;u++)if(t.indexOf(n.charAt(u))>=0)return u;return-1},indexOf:function(n,t){var i,r,f,u;if(t==null)throw new System.ArgumentNullException;if(n==null||n==="")return-1;if(i=arguments.length>2?arguments[2]:0,i<0||i>n.length)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","startIndex cannot be less than zero and must refer to a location within the string");if(t==="")return arguments.length>2?i:0;if(r=n.length-i,arguments.length>3&&arguments[3]!=null&&(r=arguments[3]),r<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","must be non-negative");if(r>n.length-i)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index and length must refer to a location within the string");return(f=n.substr(i,r),u=arguments.length===5&&arguments[4]%2!=0?f.toLocaleUpperCase().indexOf(t.toLocaleUpperCase()):f.indexOf(t),u>-1)?arguments.length===5?System.String.compare(t,f.substr(u,t.length),arguments[4])===0?u+i:-1:u+i:-1},equals:function(){return System.String.compare.apply(this,arguments)===0},swapCase:function(n){return n.replace(/\w/g,function(n){return n===n.toLowerCase()?n.toUpperCase():n.toLowerCase()})},compare:function(n,t){if(n==null)return t==null?0:-1;if(t==null)return 1;if(arguments.length>=3)if(H5.isBoolean(arguments[2])){if(arguments[2]&&(n=n.toLocaleUpperCase(),t=t.toLocaleUpperCase()),arguments.length===4)return n.localeCompare(t,arguments[3].name)}else switch(arguments[2]){case 1:return n.localeCompare(t,System.Globalization.CultureInfo.getCurrentCulture().name,{sensitivity:"accent"});case 2:return n.localeCompare(t,System.Globalization.CultureInfo.invariantCulture.name);case 3:return n.localeCompare(t,System.Globalization.CultureInfo.invariantCulture.name,{sensitivity:"accent"});case 4:return n===t?0:n>t?1:-1;case 5:return n.toUpperCase()===t.toUpperCase()?0:n.toUpperCase()>t.toUpperCase()?1:-1;case 0:default:break}return n.localeCompare(t)},toCharArray:function(n,t,i){var u,r;if(t<0||t>n.length||t>n.length-i)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","startIndex cannot be less than zero and must refer to a location within the string");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","must be non-negative");for(H5.hasValue(t)||(t=0),H5.hasValue(i)||(i=n.length),u=[],r=t;r<t+i;r++)u.push(n.charCodeAt(r));return u},escape:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},replaceAll:function(n,t,i){var r=new RegExp(System.String.escape(t),"g");return n.replace(r,i)},insert:function(n,t,i){return n>0?t.substring(0,n)+i+t.substring(n,t.length):i+t},remove:function(n,t,i){if(n==null)throw new System.NullReferenceException;if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","StartIndex cannot be less than zero");if(i!=null){if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","Count cannot be less than zero");if(i>n.length-t)throw new System.ArgumentOutOfRangeException.$ctor4("count","Index and count must refer to a location within the string");}else if(t>=n.length)throw new System.ArgumentOutOfRangeException.$ctor4("startIndex","startIndex must be less than length of string");return i==null||t+i>n.length?n.substr(0,t):n.substr(0,t)+n.substr(t+i)},split:function(n,t,i,r){for(var o=!H5.hasValue(t)||t.length===0?new RegExp("\\s","g"):new RegExp(t.map(System.String.escape).join("|"),"g"),f=[],e,u=0;;u=o.lastIndex)if(e=o.exec(n)){if(r!==1||e.index>u)if(f.length===i-1)return f.push(n.substr(u)),f;else f.push(n.substring(u,e.index))}else return(r!==1||u!==n.length)&&f.push(n.substr(u)),f},trimEnd:function(n,t){return n.replace(t?new RegExp("["+System.String.escape(String.fromCharCode.apply(null,t))+"]+$"):/\s*$/,"")},trimStart:function(n,t){return n.replace(t?new RegExp("^["+System.String.escape(String.fromCharCode.apply(null,t))+"]+"):/^\s*/,"")},trim:function(n,t){return System.String.trimStart(System.String.trimEnd(n,t),t)},trimStartZeros:function(n){return n.replace(new RegExp("^[ 0+]+(?=.)"),"")},concat:function(n){for(var i=arguments.length==1&&Array.isArray(n)?n:[].slice.call(arguments),r="",t=0;t<i.length;t++)r+=i[t]==null?"":H5.toString(i[t]);return r},copyTo:function(n,t,i,r,u){if(i==null)throw new System.ArgumentNullException.$ctor1("destination");if(n==null)throw new System.ArgumentNullException.$ctor1("str");if(u<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("sourceIndex");if(u>n.length-t)throw new System.ArgumentOutOfRangeException.$ctor1("sourceIndex");if(r>i.length-u||r<0)throw new System.ArgumentOutOfRangeException.$ctor1("destinationIndex");if(u>0)for(var f=0;f<u;f++)i[r+f]=n.charCodeAt(t+f)}}});H5.Class.addExtend(System.String,[System.IComparable$1(System.String),System.IEquatable$1(System.String)]);H5.define("System.Collections.Generic.KeyValuePair$2",function(n,t){return{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.KeyValuePair$2(n,t))}}},fields:{key$1:H5.getDefaultValue(n),value$1:H5.getDefaultValue(t)},props:{key:{get:function(){return this.key$1}},value:{get:function(){return this.value$1}}},ctors:{$ctor1:function(n,t){this.$initialize();this.key$1=n;this.value$1=t},ctor:function(){this.$initialize()}},methods:{toString:function(){var n=System.Text.StringBuilderCache.Acquire();return n.append(String.fromCharCode(91)),this.key!=null&&n.append(H5.toString(this.key)),n.append(", "),this.value!=null&&n.append(H5.toString(this.value)),n.append(String.fromCharCode(93)),System.Text.StringBuilderCache.GetStringAndRelease(n)},Deconstruct:function(n,t){n.v=this.key;t.v=this.value},getHashCode:function(){return H5.addHash([5072499452,this.key$1,this.value$1])},equals:function(i){return H5.is(i,System.Collections.Generic.KeyValuePair$2(n,t))?H5.equals(this.key$1,i.key$1)&&H5.equals(this.value$1,i.value$1):!1},$clone:function(n){return this}}}});H5.define("System.Collections.IEnumerator",{$kind:"interface"});H5.define("System.Collections.IComparer",{$kind:"interface"});H5.define("System.Collections.IDictionaryEnumerator",{inherits:[System.Collections.IEnumerator],$kind:"interface"});H5.define("System.Collections.IEqualityComparer",{$kind:"interface"});H5.define("System.Collections.IStructuralComparable",{$kind:"interface"});H5.define("System.Collections.IStructuralEquatable",{$kind:"interface"});H5.definei("System.Collections.Generic.IEnumerator$1",function(n){return{inherits:[System.IDisposable,System.Collections.IEnumerator],$kind:"interface",$variance:[1]}});H5.definei("System.Collections.Generic.IComparer$1",function(n){return{$kind:"interface",$variance:[2]}});H5.define("System.Collections.KeyValuePairs",{fields:{key:null,value:null},props:{Key:{get:function(){return this.key}},Value:{get:function(){return this.value}}},ctors:{ctor:function(n,t){this.$initialize();this.value=t;this.key=n}}});H5.define("System.Collections.SortedList",{inherits:[System.Collections.IDictionary,System.ICloneable],statics:{fields:{emptyArray:null},ctors:{init:function(){this.emptyArray=System.Array.init(0,null,System.Object)}},methods:{Synchronized:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("list");return new System.Collections.SortedList.SyncSortedList(n)}}},fields:{keys:null,values:null,_size:0,version:0,comparer:null,keyList:null,valueList:null},props:{Capacity:{get:function(){return this.keys.length},set:function(n){if(n<this.Count)throw new System.ArgumentOutOfRangeException.$ctor1("value");if(n!==this.keys.length)if(n>0){var t=System.Array.init(n,null,System.Object),i=System.Array.init(n,null,System.Object);this._size>0&&(System.Array.copy(this.keys,0,t,0,this._size),System.Array.copy(this.values,0,i,0,this._size));this.keys=t;this.values=i}else this.keys=System.Collections.SortedList.emptyArray,this.values=System.Collections.SortedList.emptyArray}},Count:{get:function(){return this._size}},Keys:{get:function(){return this.GetKeyList()}},Values:{get:function(){return this.GetValueList()}},IsReadOnly:{get:function(){return!1}},IsFixedSize:{get:function(){return!1}},IsSynchronized:{get:function(){return!1}},SyncRoot:{get:function(){return null}}},alias:["add","System$Collections$IDictionary$add","Count","System$Collections$ICollection$Count","Keys","System$Collections$IDictionary$Keys","Values","System$Collections$IDictionary$Values","IsReadOnly","System$Collections$IDictionary$IsReadOnly","IsFixedSize","System$Collections$IDictionary$IsFixedSize","IsSynchronized","System$Collections$ICollection$IsSynchronized","SyncRoot","System$Collections$ICollection$SyncRoot","clear","System$Collections$IDictionary$clear","clone","System$ICloneable$clone","contains","System$Collections$IDictionary$contains","copyTo","System$Collections$ICollection$copyTo","GetEnumerator","System$Collections$IDictionary$GetEnumerator","getItem","System$Collections$IDictionary$getItem","setItem","System$Collections$IDictionary$setItem","remove","System$Collections$IDictionary$remove"],ctors:{ctor:function(){this.$initialize();this.Init()},$ctor5:function(n){if(this.$initialize(),n<0)throw new System.ArgumentOutOfRangeException.$ctor1("initialCapacity");this.keys=System.Array.init(n,null,System.Object);this.values=System.Array.init(n,null,System.Object);this.comparer=new(System.Collections.Generic.Comparer$1(Object))(System.Collections.Generic.Comparer$1.$default.fn)},$ctor1:function(n){System.Collections.SortedList.ctor.call(this);n!=null&&(this.comparer=n)},$ctor2:function(n,t){System.Collections.SortedList.$ctor1.call(this,n);this.Capacity=t},$ctor3:function(n){System.Collections.SortedList.$ctor4.call(this,n,null)},$ctor4:function(n,t){if(System.Collections.SortedList.$ctor2.call(this,t,n!=null?System.Array.getCount(n):0),n==null)throw new System.ArgumentNullException.$ctor1("d");System.Array.copyTo(n.System$Collections$IDictionary$Keys,this.keys,0);System.Array.copyTo(n.System$Collections$IDictionary$Values,this.values,0);System.Array.sortDict(this.keys,this.values,0,null,t);this._size=System.Array.getCount(n)}},methods:{getItem:function(n){var t=this.IndexOfKey(n);return t>=0?this.values[System.Array.index(t,this.values)]:null},setItem:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("key");var i=System.Array.binarySearch(this.keys,0,this._size,n,this.comparer);if(i>=0){this.values[System.Array.index(i,this.values)]=t;this.version=this.version+1|0;return}this.Insert(~i,n,t)},Init:function(){this.keys=System.Collections.SortedList.emptyArray;this.values=System.Collections.SortedList.emptyArray;this._size=0;this.comparer=new(System.Collections.Generic.Comparer$1(Object))(System.Collections.Generic.Comparer$1.$default.fn)},add:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("key");var i=System.Array.binarySearch(this.keys,0,this._size,n,this.comparer);if(i>=0)throw new System.ArgumentException.ctor;this.Insert(~i,n,t)},clear:function(){this.version=this.version+1|0;System.Array.fill(this.keys,null,0,this._size);System.Array.fill(this.values,null,0,this._size);this._size=0},clone:function(){var n=new System.Collections.SortedList.$ctor5(this._size);return System.Array.copy(this.keys,0,n.keys,0,this._size),System.Array.copy(this.values,0,n.values,0,this._size),n._size=this._size,n.version=this.version,n.comparer=this.comparer,n},contains:function(n){return this.IndexOfKey(n)>=0},ContainsKey:function(n){return this.IndexOfKey(n)>=0},ContainsValue:function(n){return this.IndexOfValue(n)>=0},copyTo:function(n,t){var i,r;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(n)!==1)throw new System.ArgumentException.ctor;if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("arrayIndex");if((n.length-t|0)<this.Count)throw new System.ArgumentException.ctor;for(i=0;i<this.Count;i=i+1|0)r=new System.Collections.DictionaryEntry.$ctor1(this.keys[System.Array.index(i,this.keys)],this.values[System.Array.index(i,this.values)]),System.Array.set(n,r.$clone(),i+t|0)},ToKeyValuePairsArray:function(){for(var t=System.Array.init(this.Count,null,System.Collections.KeyValuePairs),n=0;n<this.Count;n=n+1|0)t[System.Array.index(n,t)]=new System.Collections.KeyValuePairs(this.keys[System.Array.index(n,this.keys)],this.values[System.Array.index(n,this.values)]);return t},EnsureCapacity:function(n){var t=this.keys.length===0?16:H5.Int.mul(this.keys.length,2);t>>>0>2146435071&&(t=2146435071);t<n&&(t=n);this.Capacity=t},GetByIndex:function(n){if(n<0||n>=this.Count)throw new System.ArgumentOutOfRangeException.$ctor1("index");return this.values[System.Array.index(n,this.values)]},System$Collections$IEnumerable$GetEnumerator:function(){return new System.Collections.SortedList.SortedListEnumerator(this,0,this._size,System.Collections.SortedList.SortedListEnumerator.DictEntry)},GetEnumerator:function(){return new System.Collections.SortedList.SortedListEnumerator(this,0,this._size,System.Collections.SortedList.SortedListEnumerator.DictEntry)},GetKey:function(n){if(n<0||n>=this.Count)throw new System.ArgumentOutOfRangeException.$ctor1("index");return this.keys[System.Array.index(n,this.keys)]},GetKeyList:function(){return this.keyList==null&&(this.keyList=new System.Collections.SortedList.KeyList(this)),this.keyList},GetValueList:function(){return this.valueList==null&&(this.valueList=new System.Collections.SortedList.ValueList(this)),this.valueList},IndexOfKey:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("key");var t=System.Array.binarySearch(this.keys,0,this._size,n,this.comparer);return t>=0?t:-1},IndexOfValue:function(n){return System.Array.indexOfT(this.values,n,0,this._size)},Insert:function(n,t,i){this._size===this.keys.length&&this.EnsureCapacity(this._size+1|0);n<this._size&&(System.Array.copy(this.keys,n,this.keys,n+1|0,this._size-n|0),System.Array.copy(this.values,n,this.values,n+1|0,this._size-n|0));this.keys[System.Array.index(n,this.keys)]=t;this.values[System.Array.index(n,this.values)]=i;this._size=this._size+1|0;this.version=this.version+1|0},RemoveAt:function(n){if(n<0||n>=this.Count)throw new System.ArgumentOutOfRangeException.$ctor1("index");this._size=this._size-1|0;n<this._size&&(System.Array.copy(this.keys,n+1|0,this.keys,n,this._size-n|0),System.Array.copy(this.values,n+1|0,this.values,n,this._size-n|0));this.keys[System.Array.index(this._size,this.keys)]=null;this.values[System.Array.index(this._size,this.values)]=null;this.version=this.version+1|0},remove:function(n){var t=this.IndexOfKey(n);t>=0&&this.RemoveAt(t)},SetByIndex:function(n,t){if(n<0||n>=this.Count)throw new System.ArgumentOutOfRangeException.$ctor1("index");this.values[System.Array.index(n,this.values)]=t;this.version=this.version+1|0},TrimToSize:function(){this.Capacity=this._size}}});H5.define("System.Collections.SortedList.KeyList",{inherits:[System.Collections.IList],$kind:"nested class",fields:{sortedList:null},props:{Count:{get:function(){return this.sortedList._size}},IsReadOnly:{get:function(){return!0}},IsFixedSize:{get:function(){return!0}},IsSynchronized:{get:function(){return this.sortedList.IsSynchronized}},SyncRoot:{get:function(){return this.sortedList.SyncRoot}}},alias:["Count","System$Collections$ICollection$Count","IsReadOnly","System$Collections$IList$IsReadOnly","IsFixedSize","System$Collections$IList$IsFixedSize","IsSynchronized","System$Collections$ICollection$IsSynchronized","SyncRoot","System$Collections$ICollection$SyncRoot","add","System$Collections$IList$add","clear","System$Collections$IList$clear","contains","System$Collections$IList$contains","copyTo","System$Collections$ICollection$copyTo","insert","System$Collections$IList$insert","getItem","System$Collections$IList$getItem","setItem","System$Collections$IList$setItem","GetEnumerator","System$Collections$IEnumerable$GetEnumerator","indexOf","System$Collections$IList$indexOf","remove","System$Collections$IList$remove","removeAt","System$Collections$IList$removeAt"],ctors:{ctor:function(n){this.$initialize();this.sortedList=n}},methods:{getItem:function(n){return this.sortedList.GetKey(n)},setItem:function(n,t){throw new System.NotSupportedException.ctor;},add:function(n){throw new System.NotSupportedException.ctor;},clear:function(){throw new System.NotSupportedException.ctor;},contains:function(n){return this.sortedList.contains(n)},copyTo:function(n,t){if(n!=null&&System.Array.getRank(n)!==1)throw new System.ArgumentException.ctor;System.Array.copy(this.sortedList.keys,0,n,t,this.sortedList.Count)},insert:function(n,t){throw new System.NotSupportedException.ctor;},GetEnumerator:function(){return new System.Collections.SortedList.SortedListEnumerator(this.sortedList,0,this.sortedList.Count,System.Collections.SortedList.SortedListEnumerator.Keys)},indexOf:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("key");var t=System.Array.binarySearch(this.sortedList.keys,0,this.sortedList.Count,n,this.sortedList.comparer);return t>=0?t:-1},remove:function(n){throw new System.NotSupportedException.ctor;},removeAt:function(n){throw new System.NotSupportedException.ctor;}}});H5.define("System.Collections.SortedList.SortedListDebugView",{$kind:"nested class",fields:{sortedList:null},props:{Items:{get:function(){return this.sortedList.ToKeyValuePairsArray()}}},ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("sortedList");this.sortedList=n}}});H5.define("System.Collections.SortedList.SortedListEnumerator",{inherits:[System.Collections.IDictionaryEnumerator,System.ICloneable],$kind:"nested class",statics:{fields:{Keys:0,Values:0,DictEntry:0},ctors:{init:function(){this.Keys=1;this.Values=2;this.DictEntry=3}}},fields:{sortedList:null,key:null,value:null,index:0,startIndex:0,endIndex:0,version:0,current:!1,getObjectRetType:0},props:{Key:{get:function(){if(this.version!==this.sortedList.version)throw new System.InvalidOperationException.ctor;if(this.current===!1)throw new System.InvalidOperationException.ctor;return this.key}},Entry:{get:function(){if(this.version!==this.sortedList.version)throw new System.InvalidOperationException.ctor;if(this.current===!1)throw new System.InvalidOperationException.ctor;return new System.Collections.DictionaryEntry.$ctor1(this.key,this.value)}},Current:{get:function(){if(this.current===!1)throw new System.InvalidOperationException.ctor;return this.getObjectRetType===System.Collections.SortedList.SortedListEnumerator.Keys?this.key:this.getObjectRetType===System.Collections.SortedList.SortedListEnumerator.Values?this.value:new System.Collections.DictionaryEntry.$ctor1(this.key,this.value).$clone()}},Value:{get:function(){if(this.version!==this.sortedList.version)throw new System.InvalidOperationException.ctor;if(this.current===!1)throw new System.InvalidOperationException.ctor;return this.value}}},alias:["clone","System$ICloneable$clone","Key","System$Collections$IDictionaryEnumerator$Key","moveNext","System$Collections$IEnumerator$moveNext","Entry","System$Collections$IDictionaryEnumerator$Entry","Current","System$Collections$IEnumerator$Current","Value","System$Collections$IDictionaryEnumerator$Value","reset","System$Collections$IEnumerator$reset"],ctors:{ctor:function(n,t,i,r){this.$initialize();this.sortedList=n;this.index=t;this.startIndex=t;this.endIndex=t+i|0;this.version=n.version;this.getObjectRetType=r;this.current=!1}},methods:{clone:function(){return H5.clone(this)},moveNext:function(){var n,t;if(this.version!==this.sortedList.version)throw new System.InvalidOperationException.ctor;return this.index<this.endIndex?(this.key=(n=this.sortedList.keys)[System.Array.index(this.index,n)],this.value=(t=this.sortedList.values)[System.Array.index(this.index,t)],this.index=this.index+1|0,this.current=!0,!0):(this.key=null,this.value=null,this.current=!1,!1)},reset:function(){if(this.version!==this.sortedList.version)throw new System.InvalidOperationException.ctor;this.index=this.startIndex;this.current=!1;this.key=null;this.value=null}}});H5.define("System.Collections.SortedList.SyncSortedList",{inherits:[System.Collections.SortedList],$kind:"nested class",fields:{_list:null,_root:null},props:{Count:{get:function(){return this._root,this._list.Count}},SyncRoot:{get:function(){return this._root}},IsReadOnly:{get:function(){return this._list.IsReadOnly}},IsFixedSize:{get:function(){return this._list.IsFixedSize}},IsSynchronized:{get:function(){return!0}},Capacity:{get:function(){return this._root,this._list.Capacity}}},alias:["Count","System$Collections$ICollection$Count","SyncRoot","System$Collections$ICollection$SyncRoot","IsReadOnly","System$Collections$IDictionary$IsReadOnly","IsFixedSize","System$Collections$IDictionary$IsFixedSize","IsSynchronized","System$Collections$ICollection$IsSynchronized","getItem","System$Collections$IDictionary$getItem","setItem","System$Collections$IDictionary$setItem","add","System$Collections$IDictionary$add","clear","System$Collections$IDictionary$clear","clone","System$ICloneable$clone","contains","System$Collections$IDictionary$contains","copyTo","System$Collections$ICollection$copyTo","GetEnumerator","System$Collections$IDictionary$GetEnumerator","GetEnumerator","System$Collections$IEnumerable$GetEnumerator","remove","System$Collections$IDictionary$remove"],ctors:{ctor:function(n){this.$initialize();System.Collections.SortedList.ctor.call(this);this._list=n;this._root=n.SyncRoot}},methods:{getItem:function(n){return this._root,this._list.getItem(n)},setItem:function(n,t){this._root;this._list.setItem(n,t)},add:function(n,t){this._root;this._list.add(n,t)},clear:function(){this._root;this._list.clear()},clone:function(){return this._root,this._list.clone()},contains:function(n){return this._root,this._list.contains(n)},ContainsKey:function(n){return this._root,this._list.ContainsKey(n)},ContainsValue:function(n){return this._root,this._list.ContainsValue(n)},copyTo:function(n,t){this._root;this._list.copyTo(n,t)},GetByIndex:function(n){return this._root,this._list.GetByIndex(n)},GetEnumerator:function(){return this._root,this._list.GetEnumerator()},GetKey:function(n){return this._root,this._list.GetKey(n)},GetKeyList:function(){return this._root,this._list.GetKeyList()},GetValueList:function(){return this._root,this._list.GetValueList()},IndexOfKey:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("key");return this._list.IndexOfKey(n)},IndexOfValue:function(n){return this._root,this._list.IndexOfValue(n)},RemoveAt:function(n){this._root;this._list.RemoveAt(n)},remove:function(n){this._root;this._list.remove(n)},SetByIndex:function(n,t){this._root;this._list.SetByIndex(n,t)},ToKeyValuePairsArray:function(){return this._list.ToKeyValuePairsArray()},TrimToSize:function(){this._root;this._list.TrimToSize()}}});H5.define("System.Collections.SortedList.ValueList",{inherits:[System.Collections.IList],$kind:"nested class",fields:{sortedList:null},props:{Count:{get:function(){return this.sortedList._size}},IsReadOnly:{get:function(){return!0}},IsFixedSize:{get:function(){return!0}},IsSynchronized:{get:function(){return this.sortedList.IsSynchronized}},SyncRoot:{get:function(){return this.sortedList.SyncRoot}}},alias:["Count","System$Collections$ICollection$Count","IsReadOnly","System$Collections$IList$IsReadOnly","IsFixedSize","System$Collections$IList$IsFixedSize","IsSynchronized","System$Collections$ICollection$IsSynchronized","SyncRoot","System$Collections$ICollection$SyncRoot","add","System$Collections$IList$add","clear","System$Collections$IList$clear","contains","System$Collections$IList$contains","copyTo","System$Collections$ICollection$copyTo","insert","System$Collections$IList$insert","getItem","System$Collections$IList$getItem","setItem","System$Collections$IList$setItem","GetEnumerator","System$Collections$IEnumerable$GetEnumerator","indexOf","System$Collections$IList$indexOf","remove","System$Collections$IList$remove","removeAt","System$Collections$IList$removeAt"],ctors:{ctor:function(n){this.$initialize();this.sortedList=n}},methods:{getItem:function(n){return this.sortedList.GetByIndex(n)},setItem:function(n,t){throw new System.NotSupportedException.ctor;},add:function(n){throw new System.NotSupportedException.ctor;},clear:function(){throw new System.NotSupportedException.ctor;},contains:function(n){return this.sortedList.ContainsValue(n)},copyTo:function(n,t){if(n!=null&&System.Array.getRank(n)!==1)throw new System.ArgumentException.ctor;System.Array.copy(this.sortedList.values,0,n,t,this.sortedList.Count)},insert:function(n,t){throw new System.NotSupportedException.ctor;},GetEnumerator:function(){return new System.Collections.SortedList.SortedListEnumerator(this.sortedList,0,this.sortedList.Count,System.Collections.SortedList.SortedListEnumerator.Values)},indexOf:function(n){return System.Array.indexOfT(this.sortedList.values,n,0,this.sortedList.Count)},remove:function(n){throw new System.NotSupportedException.ctor;},removeAt:function(n){throw new System.NotSupportedException.ctor;}}});H5.define("System.Collections.Generic.SortedList$2",function(n,t){return{inherits:[System.Collections.Generic.IDictionary$2(n,t),System.Collections.IDictionary,System.Collections.Generic.IReadOnlyDictionary$2(n,t)],statics:{fields:{_defaultCapacity:0,MaxArrayLength:0,emptyKeys:null,emptyValues:null},ctors:{init:function(){this._defaultCapacity=4;this.MaxArrayLength=2146435071;this.emptyKeys=System.Array.init(0,function(){return H5.getDefaultValue(n)},n);this.emptyValues=System.Array.init(0,function(){return H5.getDefaultValue(t)},t)}},methods:{IsCompatibleKey:function(t){return t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key),H5.is(t,n)}}},fields:{keys:null,values:null,_size:0,version:0,comparer:null,keyList:null,valueList:null},props:{Capacity:{get:function(){return this.keys.length},set:function(i){if(i!==this.keys.length)if(i<this._size&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.value,System.ExceptionResource.ArgumentOutOfRange_SmallCapacity),i>0){var r=System.Array.init(i,function(){return H5.getDefaultValue(n)},n),u=System.Array.init(i,function(){return H5.getDefaultValue(t)},t);this._size>0&&(System.Array.copy(this.keys,0,r,0,this._size),System.Array.copy(this.values,0,u,0,this._size));this.keys=r;this.values=u}else this.keys=System.Collections.Generic.SortedList$2(n,t).emptyKeys,this.values=System.Collections.Generic.SortedList$2(n,t).emptyValues}},Comparer:{get:function(){return this.comparer}},Count:{get:function(){return this._size}},Keys:{get:function(){return this.GetKeyListHelper()}},System$Collections$Generic$IDictionary$2$Keys:{get:function(){return this.GetKeyListHelper()}},System$Collections$IDictionary$Keys:{get:function(){return this.GetKeyListHelper()}},System$Collections$Generic$IReadOnlyDictionary$2$Keys:{get:function(){return this.GetKeyListHelper()}},Values:{get:function(){return this.GetValueListHelper()}},System$Collections$Generic$IDictionary$2$Values:{get:function(){return this.GetValueListHelper()}},System$Collections$IDictionary$Values:{get:function(){return this.GetValueListHelper()}},System$Collections$Generic$IReadOnlyDictionary$2$Values:{get:function(){return this.GetValueListHelper()}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!1}},System$Collections$IDictionary$IsReadOnly:{get:function(){return!1}},System$Collections$IDictionary$IsFixedSize:{get:function(){return!1}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}}},alias:["add","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$contains","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$contains","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$remove","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove","Count",["System$Collections$Generic$IReadOnlyCollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IDictionary$2$Keys","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys","System$Collections$Generic$IReadOnlyDictionary$2$Keys","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys","System$Collections$Generic$IDictionary$2$Values","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values","System$Collections$Generic$IReadOnlyDictionary$2$Values","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$IsReadOnly","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$IsReadOnly","clear","System$Collections$IDictionary$clear","clear","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$clear","containsKey","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey","containsKey","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$copyTo","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$copyTo","System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$GetEnumerator","System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$GetEnumerator","getItem","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem","setItem","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$setItem","getItem","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem","setItem","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$setItem","getItem$1","System$Collections$IDictionary$getItem","setItem$1","System$Collections$IDictionary$setItem","tryGetValue","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue","tryGetValue","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue","remove","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove"],ctors:{ctor:function(){this.$initialize();this.keys=System.Collections.Generic.SortedList$2(n,t).emptyKeys;this.values=System.Collections.Generic.SortedList$2(n,t).emptyValues;this._size=0;this.comparer=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn)},$ctor4:function(i){this.$initialize();i<0&&System.ThrowHelper.ThrowArgumentOutOfRangeException$1(System.ExceptionArgument.capacity);this.keys=System.Array.init(i,function(){return H5.getDefaultValue(n)},n);this.values=System.Array.init(i,function(){return H5.getDefaultValue(t)},t);this.comparer=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn)},$ctor1:function(i){System.Collections.Generic.SortedList$2(n,t).ctor.call(this);i!=null&&(this.comparer=i)},$ctor5:function(i,r){System.Collections.Generic.SortedList$2(n,t).$ctor1.call(this,r);this.Capacity=i},$ctor2:function(i){System.Collections.Generic.SortedList$2(n,t).$ctor3.call(this,i,null)},$ctor3:function(i,r){System.Collections.Generic.SortedList$2(n,t).$ctor5.call(this,i!=null?System.Array.getCount(i,System.Collections.Generic.KeyValuePair$2(n,t)):0,r);i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.dictionary);System.Array.copyTo(i["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys"],this.keys,0,n);System.Array.copyTo(i["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values"],this.values,0,t);System.Array.sortDict(this.keys,this.values,0,null,this.comparer);this._size=System.Array.getCount(i,System.Collections.Generic.KeyValuePair$2(n,t))}},methods:{getItem:function(n){var t=this.IndexOfKey(n);if(t>=0)return this.values[System.Array.index(t,this.values)];throw new System.Collections.Generic.KeyNotFoundException.ctor;},setItem:function(n,t){n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);var i=System.Array.binarySearch(this.keys,0,this._size,n,this.comparer);if(i>=0){this.values[System.Array.index(i,this.values)]=t;this.version=this.version+1|0;return}this.Insert(~i,n,t)},getItem$1:function(i){if(System.Collections.Generic.SortedList$2(n,t).IsCompatibleKey(i)){var r=this.IndexOfKey(H5.cast(H5.unbox(i,n),n));if(r>=0)return this.values[System.Array.index(r,this.values)]}return null},setItem$1:function(i,r){System.Collections.Generic.SortedList$2(n,t).IsCompatibleKey(i)||System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(t,r,System.ExceptionArgument.value);try{var e=H5.cast(H5.unbox(i,n),n);try{this.setItem(e,H5.cast(H5.unbox(r,t),t))}catch(u){if(u=System.Exception.create(u),H5.is(u,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,r,t);else throw u;}}catch(f){if(f=System.Exception.create(f),H5.is(f,System.InvalidCastException))System.ThrowHelper.ThrowWrongKeyTypeArgumentException(System.Object,i,n);else throw f;}},add:function(n,t){n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);var i=System.Array.binarySearch(this.keys,0,this._size,n,this.comparer);i>=0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_AddingDuplicate);this.Insert(~i,n,t)},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$add:function(n){this.add(n.key,n.value)},System$Collections$IDictionary$add:function(i,r){i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(t,r,System.ExceptionArgument.value);try{var e=H5.cast(H5.unbox(i,n),n);try{this.add(e,H5.cast(H5.unbox(r,t),t))}catch(u){if(u=System.Exception.create(u),H5.is(u,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,r,t);else throw u;}}catch(f){if(f=System.Exception.create(f),H5.is(f,System.InvalidCastException))System.ThrowHelper.ThrowWrongKeyTypeArgumentException(System.Object,i,n);else throw f;}},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$contains:function(n){var i=this.IndexOfKey(n.key);return i>=0&&System.Collections.Generic.EqualityComparer$1(t).def.equals2(this.values[System.Array.index(i,this.values)],n.value)?!0:!1},System$Collections$IDictionary$contains:function(i){return System.Collections.Generic.SortedList$2(n,t).IsCompatibleKey(i)?this.containsKey(H5.cast(H5.unbox(i,n),n)):!1},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$remove:function(n){var i=this.IndexOfKey(n.key);return i>=0&&System.Collections.Generic.EqualityComparer$1(t).def.equals2(this.values[System.Array.index(i,this.values)],n.value)?(this.RemoveAt(i),!0):!1},remove:function(n){var t=this.IndexOfKey(n);return t>=0&&this.RemoveAt(t),t>=0},System$Collections$IDictionary$remove:function(i){System.Collections.Generic.SortedList$2(n,t).IsCompatibleKey(i)&&this.remove(H5.cast(H5.unbox(i,n),n))},GetKeyListHelper:function(){return this.keyList==null&&(this.keyList=new(System.Collections.Generic.SortedList$2.KeyList(n,t))(this)),this.keyList},GetValueListHelper:function(){return this.valueList==null&&(this.valueList=new(System.Collections.Generic.SortedList$2.ValueList(n,t))(this)),this.valueList},clear:function(){this.version=this.version+1|0;System.Array.fill(this.keys,function(){return H5.getDefaultValue(n)},0,this._size);System.Array.fill(this.values,function(){return H5.getDefaultValue(t)},0,this._size);this._size=0},containsKey:function(n){return this.IndexOfKey(n)>=0},ContainsValue:function(n){return this.IndexOfValue(n)>=0},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$copyTo:function(i,r){var u,f;for(i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),(r<0||r>i.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.arrayIndex,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(i.length-r|0)<this.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),u=0;u<this.Count;u=u+1|0)f=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(this.keys[System.Array.index(u,this.keys)],this.values[System.Array.index(u,this.values)]),i[System.Array.index(r+u|0,i)]=f},System$Collections$ICollection$copyTo:function(i,r){var s,u,e,f;if(i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),System.Array.getRank(i)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported),System.Array.getLower(i,0)!==0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_NonZeroLowerBound),(r<0||r>i.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.arrayIndex,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(i.length-r|0)<this.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),(s=H5.as(i,System.Array.type(System.Collections.Generic.KeyValuePair$2(n,t))))!=null)for(u=0;u<this.Count;u=u+1|0)s[System.Array.index(u+r|0,s)]=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(this.keys[System.Array.index(u,this.keys)],this.values[System.Array.index(u,this.values)]);else{e=H5.as(i,System.Array.type(System.Object));e==null&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);try{for(f=0;f<this.Count;f=f+1|0)e[System.Array.index(f+r|0,e)]=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(this.keys[System.Array.index(f,this.keys)],this.values[System.Array.index(f,this.values)])}catch(o){if(o=System.Exception.create(o),H5.is(o,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw o;}}},EnsureCapacity:function(i){var r=this.keys.length===0?System.Collections.Generic.SortedList$2(n,t)._defaultCapacity:H5.Int.mul(this.keys.length,2);r>>>0>System.Collections.Generic.SortedList$2(n,t).MaxArrayLength&&(r=System.Collections.Generic.SortedList$2(n,t).MaxArrayLength);r<i&&(r=i);this.Capacity=r},GetByIndex:function(n){return(n<0||n>=this._size)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_Index),this.values[System.Array.index(n,this.values)]},GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.SortedList$2.Enumerator(n,t).KeyValuePair).$clone()},System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.SortedList$2.Enumerator(n,t).KeyValuePair).$clone()},System$Collections$IDictionary$GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.SortedList$2.Enumerator(n,t).DictEntry).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.SortedList$2.Enumerator(n,t).KeyValuePair).$clone()},GetKey:function(n){return(n<0||n>=this._size)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_Index),this.keys[System.Array.index(n,this.keys)]},IndexOfKey:function(n){n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);var t=System.Array.binarySearch(this.keys,0,this._size,n,this.comparer);return t>=0?t:-1},IndexOfValue:function(n){return System.Array.indexOfT(this.values,n,0,this._size)},Insert:function(n,t,i){this._size===this.keys.length&&this.EnsureCapacity(this._size+1|0);n<this._size&&(System.Array.copy(this.keys,n,this.keys,n+1|0,this._size-n|0),System.Array.copy(this.values,n,this.values,n+1|0,this._size-n|0));this.keys[System.Array.index(n,this.keys)]=t;this.values[System.Array.index(n,this.values)]=i;this._size=this._size+1|0;this.version=this.version+1|0},tryGetValue:function(n,i){var r=this.IndexOfKey(n);return r>=0?(i.v=this.values[System.Array.index(r,this.values)],!0):(i.v=H5.getDefaultValue(t),!1)},RemoveAt:function(i){(i<0||i>=this._size)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_Index);this._size=this._size-1|0;i<this._size&&(System.Array.copy(this.keys,i+1|0,this.keys,i,this._size-i|0),System.Array.copy(this.values,i+1|0,this.values,i,this._size-i|0));this.keys[System.Array.index(this._size,this.keys)]=H5.getDefaultValue(n);this.values[System.Array.index(this._size,this.values)]=H5.getDefaultValue(t);this.version=this.version+1|0},TrimExcess:function(){var n=H5.Int.clip32(this.keys.length*.9);this._size<n&&(this.Capacity=this._size)}}}});H5.define("System.Collections.Generic.SortedList$2.Enumerator",function(n,t){return{inherits:[System.Collections.Generic.IEnumerator$1(System.Collections.Generic.KeyValuePair$2(n,t)),System.Collections.IDictionaryEnumerator],$kind:"nested struct",statics:{fields:{KeyValuePair:0,DictEntry:0},ctors:{init:function(){this.KeyValuePair=1;this.DictEntry=2}},methods:{getDefaultValue:function(){return new(System.Collections.Generic.SortedList$2.Enumerator(n,t))}}},fields:{_sortedList:null,key:H5.getDefaultValue(n),value:H5.getDefaultValue(t),index:0,version:0,getEnumeratorRetType:0},props:{System$Collections$IDictionaryEnumerator$Key:{get:function(){return(this.index===0||this.index===(this._sortedList.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.key}},System$Collections$IDictionaryEnumerator$Entry:{get:function(){return(this.index===0||this.index===(this._sortedList.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),new System.Collections.DictionaryEntry.$ctor1(this.key,this.value)}},Current:{get:function(){return new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(this.key,this.value)}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this._sortedList.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.getEnumeratorRetType===System.Collections.Generic.SortedList$2.Enumerator(n,t).DictEntry?new System.Collections.DictionaryEntry.$ctor1(this.key,this.value).$clone():new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(this.key,this.value)}},System$Collections$IDictionaryEnumerator$Value:{get:function(){return(this.index===0||this.index===(this._sortedList.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.value}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(i,r){this.$initialize();this._sortedList=i;this.index=0;this.version=this._sortedList.version;this.getEnumeratorRetType=r;this.key=H5.getDefaultValue(n);this.value=H5.getDefaultValue(t)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){this.index=0;this.key=H5.getDefaultValue(n);this.value=H5.getDefaultValue(t)},moveNext:function(){var i,r;return(this.version!==this._sortedList.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion),this.index>>>0<this._sortedList.Count>>>0)?(this.key=(i=this._sortedList.keys)[System.Array.index(this.index,i)],this.value=(r=this._sortedList.values)[System.Array.index(this.index,r)],this.index=this.index+1|0,!0):(this.index=this._sortedList.Count+1|0,this.key=H5.getDefaultValue(n),this.value=H5.getDefaultValue(t),!1)},System$Collections$IEnumerator$reset:function(){this.version!==this._sortedList.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index=0;this.key=H5.getDefaultValue(n);this.value=H5.getDefaultValue(t)},getHashCode:function(){return H5.addHash([3788985113,this._sortedList,this.key,this.value,this.index,this.version,this.getEnumeratorRetType])},equals:function(i){return H5.is(i,System.Collections.Generic.SortedList$2.Enumerator(n,t))?H5.equals(this._sortedList,i._sortedList)&&H5.equals(this.key,i.key)&&H5.equals(this.value,i.value)&&H5.equals(this.index,i.index)&&H5.equals(this.version,i.version)&&H5.equals(this.getEnumeratorRetType,i.getEnumeratorRetType):!1},$clone:function(i){var r=i||new(System.Collections.Generic.SortedList$2.Enumerator(n,t));return r._sortedList=this._sortedList,r.key=this.key,r.value=this.value,r.index=this.index,r.version=this.version,r.getEnumeratorRetType=this.getEnumeratorRetType,r}}}});H5.define("System.Collections.Generic.SortedList$2.KeyList",function(n,t){return{inherits:[System.Collections.Generic.IList$1(n),System.Collections.ICollection],$kind:"nested class",fields:{_dict:null},props:{Count:{get:function(){return this._dict._size}},IsReadOnly:{get:function(){return!0}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return H5.cast(this._dict,System.Collections.ICollection).System$Collections$ICollection$SyncRoot}}},alias:["Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","insert","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$insert","getItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$getItem","setItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$setItem","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"],"indexOf","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$indexOf","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","removeAt","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$removeAt"],ctors:{ctor:function(n){this.$initialize();this._dict=n}},methods:{getItem:function(n){return this._dict.GetKey(n)},setItem:function(n,t){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_KeyCollectionSet)},add:function(n){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},clear:function(){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},contains:function(n){return this._dict.containsKey(n)},copyTo:function(n,t){System.Array.copy(this._dict.keys,0,n,t,this._dict.Count)},System$Collections$ICollection$copyTo:function(n,t){n!=null&&System.Array.getRank(n)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported);try{System.Array.copy(this._dict.keys,0,n,t,this._dict.Count)}catch(i){if(i=System.Exception.create(i),H5.is(i,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw i;}},insert:function(n,t){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.SortedListKeyEnumerator(n,t))(this._dict)},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.SortedListKeyEnumerator(n,t))(this._dict)},indexOf:function(n){n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);var t=System.Array.binarySearch(this._dict.keys,0,this._dict.Count,n,this._dict.comparer);return t>=0?t:-1},remove:function(n){return System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite),!1},removeAt:function(n){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)}}}});H5.define("System.Collections.Generic.SortedList$2.SortedListKeyEnumerator",function(n,t){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested class",fields:{_sortedList:null,index:0,version:0,currentKey:H5.getDefaultValue(n)},props:{Current:{get:function(){return this.currentKey}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this._sortedList.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.currentKey}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{ctor:function(n){this.$initialize();this._sortedList=n;this.version=n.version}},methods:{Dispose:function(){this.index=0;this.currentKey=H5.getDefaultValue(n)},moveNext:function(){var t;return(this.version!==this._sortedList.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion),this.index>>>0<this._sortedList.Count>>>0)?(this.currentKey=(t=this._sortedList.keys)[System.Array.index(this.index,t)],this.index=this.index+1|0,!0):(this.index=this._sortedList.Count+1|0,this.currentKey=H5.getDefaultValue(n),!1)},System$Collections$IEnumerator$reset:function(){this.version!==this._sortedList.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index=0;this.currentKey=H5.getDefaultValue(n)}}}});H5.define("System.Collections.Generic.SortedList$2.SortedListValueEnumerator",function(n,t){return{inherits:[System.Collections.Generic.IEnumerator$1(t),System.Collections.IEnumerator],$kind:"nested class",fields:{_sortedList:null,index:0,version:0,currentValue:H5.getDefaultValue(t)},props:{Current:{get:function(){return this.currentValue}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this._sortedList.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.currentValue}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{ctor:function(n){this.$initialize();this._sortedList=n;this.version=n.version}},methods:{Dispose:function(){this.index=0;this.currentValue=H5.getDefaultValue(t)},moveNext:function(){var n;return(this.version!==this._sortedList.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion),this.index>>>0<this._sortedList.Count>>>0)?(this.currentValue=(n=this._sortedList.values)[System.Array.index(this.index,n)],this.index=this.index+1|0,!0):(this.index=this._sortedList.Count+1|0,this.currentValue=H5.getDefaultValue(t),!1)},System$Collections$IEnumerator$reset:function(){this.version!==this._sortedList.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index=0;this.currentValue=H5.getDefaultValue(t)}}}});H5.define("System.Collections.Generic.SortedList$2.ValueList",function(n,t){return{inherits:[System.Collections.Generic.IList$1(t),System.Collections.ICollection],$kind:"nested class",fields:{_dict:null},props:{Count:{get:function(){return this._dict._size}},IsReadOnly:{get:function(){return!0}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return H5.cast(this._dict,System.Collections.ICollection).System$Collections$ICollection$SyncRoot}}},alias:["Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$Count","IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$IsReadOnly","add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$add","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$clear","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$copyTo","insert","System$Collections$Generic$IList$1$"+H5.getTypeAlias(t)+"$insert","getItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(t)+"$getItem","setItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(t)+"$setItem","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(t)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"],"indexOf","System$Collections$Generic$IList$1$"+H5.getTypeAlias(t)+"$indexOf","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$remove","removeAt","System$Collections$Generic$IList$1$"+H5.getTypeAlias(t)+"$removeAt"],ctors:{ctor:function(n){this.$initialize();this._dict=n}},methods:{getItem:function(n){return this._dict.GetByIndex(n)},setItem:function(n,t){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},add:function(n){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},clear:function(){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},contains:function(n){return this._dict.ContainsValue(n)},copyTo:function(n,t){System.Array.copy(this._dict.values,0,n,t,this._dict.Count)},System$Collections$ICollection$copyTo:function(n,t){n!=null&&System.Array.getRank(n)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported);try{System.Array.copy(this._dict.values,0,n,t,this._dict.Count)}catch(i){if(i=System.Exception.create(i),H5.is(i,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw i;}},insert:function(n,t){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)},GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.SortedListValueEnumerator(n,t))(this._dict)},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.SortedList$2.SortedListValueEnumerator(n,t))(this._dict)},indexOf:function(n){return System.Array.indexOfT(this._dict.values,n,0,this._dict.Count)},remove:function(n){return System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite),!1},removeAt:function(n){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_SortedListNestedWrite)}}}});H5.define("System.Collections.Generic.SortedSet$1",function(n){return{inherits:[System.Collections.Generic.ISet$1(n),System.Collections.Generic.ICollection$1(n),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(n)],statics:{fields:{ComparerName:null,CountName:null,ItemsName:null,VersionName:null,TreeName:null,NodeValueName:null,EnumStartName:null,ReverseName:null,EnumVersionName:null,minName:null,maxName:null,lBoundActiveName:null,uBoundActiveName:null,StackAllocThreshold:0},ctors:{init:function(){this.ComparerName="Comparer";this.CountName="Count";this.ItemsName="Items";this.VersionName="Version";this.TreeName="Tree";this.NodeValueName="Item";this.EnumStartName="EnumStarted";this.ReverseName="Reverse";this.EnumVersionName="EnumVersion";this.minName="Min";this.maxName="Max";this.lBoundActiveName="lBoundActive";this.uBoundActiveName="uBoundActive";this.StackAllocThreshold=100}},methods:{GetSibling:function(n,t){return H5.referenceEquals(t.Left,n)?t.Right:t.Left},Is2Node:function(t){return System.Collections.Generic.SortedSet$1(n).IsBlack(t)&&System.Collections.Generic.SortedSet$1(n).IsNullOrBlack(t.Left)&&System.Collections.Generic.SortedSet$1(n).IsNullOrBlack(t.Right)},Is4Node:function(t){return System.Collections.Generic.SortedSet$1(n).IsRed(t.Left)&&System.Collections.Generic.SortedSet$1(n).IsRed(t.Right)},IsBlack:function(n){return n!=null&&!n.IsRed},IsNullOrBlack:function(n){return n==null||!n.IsRed},IsRed:function(n){return n!=null&&n.IsRed},Merge2Nodes:function(n,t,i){n.IsRed=!1;t.IsRed=!0;i.IsRed=!0},RotateLeft:function(n){var t=n.Right;return n.Right=t.Left,t.Left=n,t},RotateLeftRight:function(n){var i=n.Left,t=i.Right;return n.Left=t.Right,t.Right=n,i.Right=t.Left,t.Left=i,t},RotateRight:function(n){var t=n.Left;return n.Left=t.Right,t.Right=n,t},RotateRightLeft:function(n){var i=n.Right,t=i.Left;return n.Right=t.Left,t.Left=n,i.Left=t.Right,t.Right=i,t},RotationNeeded:function(t,i,r){return System.Collections.Generic.SortedSet$1(n).IsRed(r.Left)?H5.referenceEquals(t.Left,i)?System.Collections.Generic.TreeRotation.RightLeftRotation:System.Collections.Generic.TreeRotation.RightRotation:H5.referenceEquals(t.Left,i)?System.Collections.Generic.TreeRotation.LeftRotation:System.Collections.Generic.TreeRotation.LeftRightRotation},CreateSetComparer:function(){return new(System.Collections.Generic.SortedSetEqualityComparer$1(n).ctor)},CreateSetComparer$1:function(t){return new(System.Collections.Generic.SortedSetEqualityComparer$1(n).$ctor3)(t)},SortedSetEquals:function(t,i,r){var u,f,e,o,s;if(t==null)return i==null;else if(i==null)return!1;if(System.Collections.Generic.SortedSet$1(n).AreComparersEqual(t,i))return t.Count!==i.Count?!1:t.setEquals(i);else{e=!1;u=H5.getEnumerator(t);try{while(u.moveNext()){o=u.Current;e=!1;f=H5.getEnumerator(i);try{while(f.moveNext())if(s=f.Current,r[H5.geti(r,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](o,s)===0){e=!0;break}}finally{H5.is(f,System.IDisposable)&&f.System$IDisposable$Dispose()}if(!e)return!1}}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}return!0}},AreComparersEqual:function(n,t){return H5.equals(n.Comparer,t.Comparer)},Split4Node:function(n){n.IsRed=!0;n.Left.IsRed=!1;n.Right.IsRed=!1},ConstructRootFromSortedArray:function(t,i,r,u){var o=(r-i|0)+1|0,f,e;return o===0?null:(f=null,o===1?(f=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(i,t)],!1),u!=null&&(f.Left=u)):o===2?(f=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(i,t)],!1),f.Right=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(r,t)],!1),f.Right.IsRed=!0,u!=null&&(f.Left=u)):o===3?(f=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(i+1|0,t)],!1),f.Left=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(i,t)],!1),f.Right=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(r,t)],!1),u!=null&&(f.Left.Left=u)):(e=H5.Int.div(i+r|0,2)|0,f=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(e,t)],!1),f.Left=System.Collections.Generic.SortedSet$1(n).ConstructRootFromSortedArray(t,i,e-1|0,u),f.Right=o%2==0?System.Collections.Generic.SortedSet$1(n).ConstructRootFromSortedArray(t,e+2|0,r,new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t[System.Array.index(e+1|0,t)],!0)):System.Collections.Generic.SortedSet$1(n).ConstructRootFromSortedArray(t,e+1|0,r,null)),f)},log2:function(n){for(var t=0;n>0;)t=t+1|0,n=n>>1;return t}}},fields:{root:null,comparer:null,count:0,version:0},props:{Count:{get:function(){return this.VersionCheck(),this.count}},Comparer:{get:function(){return this.comparer}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!1}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}},Min:{get:function(){var t=H5.getDefaultValue(n);return this.InOrderTreeWalk(function(n){return t=n.Item,!1}),t}},Max:{get:function(){var t=H5.getDefaultValue(n);return this.InOrderTreeWalk$1(function(n){return t=n.Item,!1},!0),t}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","add","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$add","System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","unionWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$unionWith","intersectWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$intersectWith","exceptWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$exceptWith","symmetricExceptWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$symmetricExceptWith","isSubsetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isSubsetOf","isProperSubsetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isProperSubsetOf","isSupersetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isSupersetOf","isProperSupersetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isProperSupersetOf","setEquals","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$setEquals","overlaps","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$overlaps"],ctors:{ctor:function(){this.$initialize();this.comparer=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn)},$ctor1:function(t){this.$initialize();this.comparer=t==null?new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn):t},$ctor2:function(t){System.Collections.Generic.SortedSet$1(n).$ctor3.call(this,t,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))},$ctor3:function(t,i){var a,o,u,h,f,e;if(System.Collections.Generic.SortedSet$1(n).$ctor1.call(this,i),t==null)throw new System.ArgumentNullException.$ctor1("collection");if(a=H5.as(t,System.Collections.Generic.SortedSet$1.TreeSubSet(n)),(o=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&a==null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,o)){if(o.Count===0){this.count=0;this.version=0;this.root=null;return}var c=new(System.Collections.Generic.Stack$1(System.Collections.Generic.SortedSet$1.Node(n)).$ctor2)(H5.Int.mul(2,System.Collections.Generic.SortedSet$1(n).log2(o.Count))+2|0),l=new(System.Collections.Generic.Stack$1(System.Collections.Generic.SortedSet$1.Node(n)).$ctor2)(H5.Int.mul(2,System.Collections.Generic.SortedSet$1(n).log2(o.Count))+2|0),r=o.root,s=r!=null?new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(r.Item,r.IsRed):null;for(this.root=s;r!=null;)c.Push(r),l.Push(s),s.Left=r.Left!=null?new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(r.Left.Item,r.Left.IsRed):null,r=r.Left,s=s.Left;while(c.Count!==0)for(r=c.Pop(),s=l.Pop(),u=r.Right,h=null,u!=null&&(h=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(u.Item,u.IsRed)),s.Right=h;u!=null;)c.Push(u),l.Push(h),h.Left=u.Left!=null?new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(u.Left.Item,u.Left.IsRed):null,u=u.Left,h=h.Left;this.count=o.count;this.version=0}else{for(f=new(System.Collections.Generic.List$1(n).$ctor1)(t),f.Sort$1(this.comparer),e=1;e<f.Count;e=e+1|0)this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](f.getItem(e),f.getItem(e-1|0))===0&&(f.removeAt(e),e=e-1|0);this.root=System.Collections.Generic.SortedSet$1(n).ConstructRootFromSortedArray(f.ToArray(),0,f.Count-1|0,null);this.count=f.Count;this.version=0}}},methods:{AddAllElements:function(t){var i,r;i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.contains(r)||this.add(r)}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}},RemoveAllElements:function(t){var i,u=this.Min,f=this.Max,r;i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](r,u)<0||this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](r,f)>0||!this.contains(r)||this.remove(r)}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}},ContainsAllElements:function(t){var i,r;i=H5.getEnumerator(t,n);try{while(i.moveNext())if(r=i.Current,!this.contains(r))return!1}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}return!0},InOrderTreeWalk:function(n){return this.InOrderTreeWalk$1(n,!1)},InOrderTreeWalk$1:function(t,i){var f,r,u;if(this.root==null)return!0;for(f=new(System.Collections.Generic.Stack$1(System.Collections.Generic.SortedSet$1.Node(n)).$ctor2)(H5.Int.mul(2,System.Collections.Generic.SortedSet$1(n).log2(this.Count+1|0))),r=this.root;r!=null;)f.Push(r),r=i?r.Right:r.Left;while(f.Count!==0){if(r=f.Pop(),!t(r))return!1;for(u=i?r.Left:r.Right;u!=null;)f.Push(u),u=i?u.Right:u.Left}return!0},BreadthFirstTreeWalk:function(t){var i,r;if(this.root==null)return!0;for(i=new(System.Collections.Generic.List$1(System.Collections.Generic.SortedSet$1.Node(n)).ctor),i.add(this.root);i.Count!==0;){if(r=i.getItem(0),i.removeAt(0),!t(r))return!1;r.Left!=null&&i.add(r.Left);r.Right!=null&&i.add(r.Right)}return!0},VersionCheck:function(){},IsWithinRange:function(n){return!0},add:function(n){return this.AddIfNotPresent(n)},System$Collections$Generic$ICollection$1$add:function(n){this.AddIfNotPresent(n)},AddIfNotPresent:function(t){var u,e;if(this.root==null)return this.root=new(System.Collections.Generic.SortedSet$1.Node(n).$ctor1)(t,!1),this.count=1,this.version=this.version+1|0,!0;var i=this.root,r={v:null},f=null,o=null;for(this.version=this.version+1|0,u=0;i!=null;){if(u=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,i.Item),u===0)return this.root.IsRed=!1,!1;System.Collections.Generic.SortedSet$1(n).Is4Node(i)&&(System.Collections.Generic.SortedSet$1(n).Split4Node(i),System.Collections.Generic.SortedSet$1(n).IsRed(r.v)&&this.InsertionBalance(i,r,f,o));o=f;f=r.v;r.v=i;i=u<0?i.Left:i.Right}return e=new(System.Collections.Generic.SortedSet$1.Node(n).ctor)(t),u>0?r.v.Right=e:r.v.Left=e,r.v.IsRed&&this.InsertionBalance(e,r,f,o),this.root.IsRed=!1,this.count=this.count+1|0,!0},remove:function(n){return this.DoRemove(n)},DoRemove:function(t){var u,l,f,c;if(this.root==null)return!1;this.version=this.version+1|0;for(var r=this.root,i=null,e=null,o=null,s=null,h=!1;r!=null;){if(System.Collections.Generic.SortedSet$1(n).Is2Node(r))if(i==null)r.IsRed=!0;else if(u=System.Collections.Generic.SortedSet$1(n).GetSibling(r,i),u.IsRed&&(H5.referenceEquals(i.Right,u)?System.Collections.Generic.SortedSet$1(n).RotateLeft(i):System.Collections.Generic.SortedSet$1(n).RotateRight(i),i.IsRed=!0,u.IsRed=!1,this.ReplaceChildOfNodeOrRoot(e,i,u),e=u,H5.referenceEquals(i,o)&&(s=u),u=H5.referenceEquals(i.Left,r)?i.Right:i.Left),System.Collections.Generic.SortedSet$1(n).Is2Node(u))System.Collections.Generic.SortedSet$1(n).Merge2Nodes(i,r,u);else{l=System.Collections.Generic.SortedSet$1(n).RotationNeeded(i,r,u);f=null;switch(l){case System.Collections.Generic.TreeRotation.RightRotation:u.Left.IsRed=!1;f=System.Collections.Generic.SortedSet$1(n).RotateRight(i);break;case System.Collections.Generic.TreeRotation.LeftRotation:u.Right.IsRed=!1;f=System.Collections.Generic.SortedSet$1(n).RotateLeft(i);break;case System.Collections.Generic.TreeRotation.RightLeftRotation:f=System.Collections.Generic.SortedSet$1(n).RotateRightLeft(i);break;case System.Collections.Generic.TreeRotation.LeftRightRotation:f=System.Collections.Generic.SortedSet$1(n).RotateLeftRight(i);break}f.IsRed=i.IsRed;i.IsRed=!1;r.IsRed=!0;this.ReplaceChildOfNodeOrRoot(e,i,f);H5.referenceEquals(i,o)&&(s=f);e=f}c=h?-1:this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,r.Item);c===0&&(h=!0,o=r,s=i);e=i;i=r;r=c<0?r.Left:r.Right}return o!=null&&(this.ReplaceNode(o,s,i,e),this.count=this.count-1|0),this.root!=null&&(this.root.IsRed=!1),h},clear:function(){this.root=null;this.count=0;this.version=this.version+1|0},contains:function(n){return this.FindNode(n)!=null},CopyTo:function(n){this.CopyTo$1(n,0,this.Count)},copyTo:function(n,t){this.CopyTo$1(n,t,this.Count)},CopyTo$1:function(n,t,i){if(n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),t<0&&System.ThrowHelper.ThrowArgumentOutOfRangeException$1(System.ExceptionArgument.index),i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if(t>n.length||i>(n.length-t|0))throw new System.ArgumentException.ctor;i=i+t|0;this.InOrderTreeWalk(function(r){return t>=i?!1:(n[System.Array.index(H5.identity(t,t=t+1|0),n)]=r.Item,!0)})},System$Collections$ICollection$copyTo:function(t,i){var f,r;if(t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),System.Array.getRank(t)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported),System.Array.getLower(t,0)!==0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_NonZeroLowerBound),i<0&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.arrayIndex,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(t.length-i|0)<this.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),(f=H5.as(t,System.Array.type(n)))!=null)this.copyTo(f,i);else{r=H5.as(t,System.Array.type(System.Object));r==null&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);try{this.InOrderTreeWalk(function(n){return r[System.Array.index(H5.identity(i,i=i+1|0),r)]=n.Item,!0})}catch(u){if(u=System.Exception.create(u),H5.is(u,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw u;}}},GetEnumerator:function(){return new(System.Collections.Generic.SortedSet$1.Enumerator(n).$ctor1)(this)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.SortedSet$1.Enumerator(n).$ctor1)(this).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.SortedSet$1.Enumerator(n).$ctor1)(this).$clone()},InsertionBalance:function(t,i,r,u){var o=H5.referenceEquals(r.Right,i.v),e=H5.referenceEquals(i.v.Right,t),f;o===e?f=e?System.Collections.Generic.SortedSet$1(n).RotateLeft(r):System.Collections.Generic.SortedSet$1(n).RotateRight(r):(f=e?System.Collections.Generic.SortedSet$1(n).RotateLeftRight(r):System.Collections.Generic.SortedSet$1(n).RotateRightLeft(r),i.v=u);r.IsRed=!0;f.IsRed=!1;this.ReplaceChildOfNodeOrRoot(u,r,f)},ReplaceChildOfNodeOrRoot:function(n,t,i){n!=null?H5.referenceEquals(n.Left,t)?n.Left=i:n.Right=i:this.root=i},ReplaceNode:function(n,t,i,r){H5.referenceEquals(i,n)?i=n.Left:(i.Right!=null&&(i.Right.IsRed=!1),H5.referenceEquals(r,n)||(r.Left=i.Right,i.Right=n.Right),i.Left=n.Left);i!=null&&(i.IsRed=n.IsRed);this.ReplaceChildOfNodeOrRoot(t,n,i)},FindNode:function(t){for(var i=this.root,r;i!=null;)if(r=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,i.Item),r===0)return i;else i=r<0?i.Left:i.Right;return null},InternalIndexOf:function(t){for(var i=this.root,r=0,u;i!=null;)if(u=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,i.Item),u===0)return r;else i=u<0?i.Left:i.Right,r=u<0?H5.Int.mul(2,r)+1|0:H5.Int.mul(2,r)+2|0;return-1},FindRange:function(n,t){return this.FindRange$1(n,t,!0,!0)},FindRange$1:function(t,i,r,u){for(var f=this.root;f!=null;)if(r&&this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,f.Item)>0)f=f.Right;else if(u&&this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](i,f.Item)<0)f=f.Left;else return f;return null},UpdateVersion:function(){this.version=this.version+1|0},ToArray:function(){var t=System.Array.init(this.Count,function(){return H5.getDefaultValue(n)},n);return this.CopyTo(t),t},unionWith:function(t){var v,u,s,c,l,a;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(u=H5.as(t,System.Collections.Generic.SortedSet$1(n)),s=H5.as(this,System.Collections.Generic.SortedSet$1.TreeSubSet(n)),s!=null&&this.VersionCheck(),u!=null&&s==null&&this.count===0){c=new(System.Collections.Generic.SortedSet$1(n).$ctor3)(u,this.comparer);this.root=c.root;this.count=c.count;this.version=this.version+1|0;return}if(u!=null&&s==null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,u)&&u.Count>(H5.Int.div(this.Count,2)|0)){for(var r=System.Array.init(u.Count+this.Count|0,function(){return H5.getDefaultValue(n)},n),i=0,e=this.GetEnumerator(),f=u.GetEnumerator(),o=!e.moveNext(),h=!f.moveNext();!o&&!h;)l=(v=this.Comparer)[H5.geti(v,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](e.Current,f.Current),l<0?(r[System.Array.index(H5.identity(i,i=i+1|0),r)]=e.Current,o=!e.moveNext()):l===0?(r[System.Array.index(H5.identity(i,i=i+1|0),r)]=f.Current,o=!e.moveNext(),h=!f.moveNext()):(r[System.Array.index(H5.identity(i,i=i+1|0),r)]=f.Current,h=!f.moveNext());if(!o||!h){a=o?f:e;do r[System.Array.index(H5.identity(i,i=i+1|0),r)]=a.Current;while(a.moveNext())}this.root=null;this.root=System.Collections.Generic.SortedSet$1(n).ConstructRootFromSortedArray(r,0,i-1|0,null);this.count=i;this.version=this.version+1|0}else this.AddAllElements(t)},intersectWith:function(t){var l,a,f,e,c;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this.Count!==0)if(f=H5.as(this,System.Collections.Generic.SortedSet$1.TreeSubSet(n)),f!=null&&this.VersionCheck(),(e=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&f==null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,e)){for(var o=System.Array.init(this.Count,function(){return H5.getDefaultValue(n)},n),r=0,u=this.GetEnumerator(),i=e.GetEnumerator(),s=!u.moveNext(),h=!i.moveNext(),v=this.Max,y=this.Min;!s&&!h&&(l=this.Comparer)[H5.geti(l,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](i.Current,v)<=0;)c=(a=this.Comparer)[H5.geti(a,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](u.Current,i.Current),c<0?s=!u.moveNext():c===0?(o[System.Array.index(H5.identity(r,r=r+1|0),o)]=i.Current,s=!u.moveNext(),h=!i.moveNext()):h=!i.moveNext();this.root=null;this.root=System.Collections.Generic.SortedSet$1(n).ConstructRootFromSortedArray(o,0,r-1|0,null);this.count=r;this.version=this.version+1|0}else this.IntersectWithEnumerable(t)},IntersectWithEnumerable:function(t){var i,u=new(System.Collections.Generic.List$1(n).$ctor2)(this.Count),r;i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.contains(r)&&(u.add(r),this.remove(r))}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}this.clear();this.AddAllElements(u)},exceptWith:function(t){var i,r,f,e,u;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this.count!==0){if(H5.referenceEquals(t,this)){this.clear();return}if((r=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,r)){if(!(this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](r.Max,this.Min)<0||this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](r.Min,this.Max)>0)){f=this.Min;e=this.Max;i=H5.getEnumerator(t,n);try{while(i.moveNext())if(u=i.Current,!(this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](u,f)<0)){if(this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](u,e)>0)break;this.remove(u)}}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}}}else this.RemoveAllElements(t)}},symmetricExceptWith:function(t){var i,r,u;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this.Count===0){this.unionWith(t);return}if(H5.referenceEquals(t,this)){this.clear();return}(i=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,i)?this.SymmetricExceptWithSameEC$1(i):(r=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&H5.equals(this.comparer,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))&&H5.equals(r.Comparer,System.Collections.Generic.EqualityComparer$1(n).def)?this.SymmetricExceptWithSameEC$1(r):(u=new(System.Collections.Generic.List$1(n).$ctor1)(t).ToArray(),System.Array.sort(u,this.Comparer),this.SymmetricExceptWithSameEC(u))},SymmetricExceptWithSameEC$1:function(t){var i,r;i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.contains(r)?this.remove(r):this.add(r)}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}},SymmetricExceptWithSameEC:function(t){var r,i;if(t.length!==0)for(r=t[System.Array.index(0,t)],i=0;i<t.length;i=i+1|0){while(i<t.length&&i!==0&&this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t[System.Array.index(i,t)],r)===0)i=i+1|0;if(i>=t.length)break;this.contains(t[System.Array.index(i,t)])?this.remove(t[System.Array.index(i,t)]):this.add(t[System.Array.index(i,t)]);r=t[System.Array.index(i,t)]}},isSubsetOf:function(t){var i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");return this.Count===0?!0:(i=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,i)?this.Count>i.Count?!1:this.IsSubsetOfSortedSetWithSameEC(i):(r=this.CheckUniqueAndUnfoundElements(t,!1),r.uniqueCount===this.Count&&r.unfoundCount>=0)},IsSubsetOfSortedSetWithSameEC:function(n){var t,r=n.GetViewBetween(this.Min,this.Max),i;t=H5.getEnumerator(this);try{while(t.moveNext())if(i=t.Current,!r.contains(i))return!1}finally{H5.is(t,System.IDisposable)&&t.System$IDisposable$Dispose()}return!0},isProperSubsetOf:function(t){var r,i,u;if(t==null)throw new System.ArgumentNullException.$ctor1("other");return H5.as(t,System.Collections.ICollection)!=null&&this.Count===0?System.Array.getCount(H5.as(t,System.Collections.ICollection))>0:(r=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&H5.equals(this.comparer,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))&&H5.equals(r.Comparer,System.Collections.Generic.EqualityComparer$1(n).def)?r.isProperSupersetOf(this):(i=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,i)?this.Count>=i.Count?!1:this.IsSubsetOfSortedSetWithSameEC(i):(u=this.CheckUniqueAndUnfoundElements(t,!1),u.uniqueCount===this.Count&&u.unfoundCount>0)},isSupersetOf:function(t){var r,u,i,f,e;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(H5.as(t,System.Collections.ICollection)!=null&&System.Array.getCount(H5.as(t,System.Collections.ICollection))===0)return!0;if((u=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&H5.equals(this.comparer,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))&&H5.equals(u.Comparer,System.Collections.Generic.EqualityComparer$1(n).def))return u.isSubsetOf(this);if((i=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,i)){if(this.Count<i.Count)return!1;f=this.GetViewBetween(i.Min,i.Max);r=H5.getEnumerator(i);try{while(r.moveNext())if(e=r.Current,!f.contains(e))return!1}finally{H5.is(r,System.IDisposable)&&r.System$IDisposable$Dispose()}return!0}return this.ContainsAllElements(t)},isProperSupersetOf:function(t){var r,u,i,e,o,f;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this.Count===0)return!1;if(H5.as(t,System.Collections.ICollection)!=null&&System.Array.getCount(H5.as(t,System.Collections.ICollection))===0)return!0;if((u=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&H5.equals(this.comparer,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))&&H5.equals(u.Comparer,System.Collections.Generic.EqualityComparer$1(n).def))return u.isProperSubsetOf(this);if((i=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(i,this)){if(i.Count>=this.Count)return!1;e=this.GetViewBetween(i.Min,i.Max);r=H5.getEnumerator(i);try{while(r.moveNext())if(o=r.Current,!e.contains(o))return!1}finally{H5.is(r,System.IDisposable)&&r.System$IDisposable$Dispose()}return!0}return f=this.CheckUniqueAndUnfoundElements(t,!0),f.uniqueCount<this.Count&&f.unfoundCount===0},setEquals:function(t){var h,u,f,s;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if((u=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&H5.equals(this.comparer,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))&&H5.equals(u.Comparer,System.Collections.Generic.EqualityComparer$1(n).def))return u.setEquals(this);if((f=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,f)){for(var i=this.GetEnumerator().$clone(),r=f.GetEnumerator().$clone(),e=!i.System$Collections$IEnumerator$moveNext(),o=!r.System$Collections$IEnumerator$moveNext();!e&&!o;){if((h=this.Comparer)[H5.geti(h,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](i[H5.geti(i,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")],r[H5.geti(r,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")])!==0)return!1;e=!i.System$Collections$IEnumerator$moveNext();o=!r.System$Collections$IEnumerator$moveNext()}return e&&o}return s=this.CheckUniqueAndUnfoundElements(t,!0),s.uniqueCount===this.Count&&s.unfoundCount===0},overlaps:function(t){var i,r,u,f;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this.Count===0||H5.as(t,System.Collections.Generic.ICollection$1(n))!=null&&System.Array.getCount(H5.as(t,System.Collections.Generic.ICollection$1(n)),n)===0||(r=H5.as(t,System.Collections.Generic.SortedSet$1(n)))!=null&&System.Collections.Generic.SortedSet$1(n).AreComparersEqual(this,r)&&(this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.Min,r.Max)>0||this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.Max,r.Min)<0))return!1;if((u=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&H5.equals(this.comparer,new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn))&&H5.equals(u.Comparer,System.Collections.Generic.EqualityComparer$1(n).def))return u.overlaps(this);i=H5.getEnumerator(t,n);try{while(i.moveNext())if(f=i.Current,this.contains(f))return!0}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}return!1},CheckUniqueAndUnfoundElements:function(t,i){var u,f,r=new(System.Collections.Generic.SortedSet$1.ElementCount(n)),e,v,o,s,a,h;if(this.Count===0){e=0;u=H5.getEnumerator(t,n);try{while(u.moveNext()){v=u.Current;e=e+1|0;break}}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}return r.uniqueCount=0,r.unfoundCount=e,r.$clone()}var y=this.Count,l=System.Collections.Generic.BitHelper.ToIntArrayLength(y),c,p=System.Array.init(l,0,System.Int32);c=new System.Collections.Generic.BitHelper(p,l);o=0;s=0;f=H5.getEnumerator(t,n);try{while(f.moveNext())if(a=f.Current,h=this.InternalIndexOf(a),h>=0)c.IsMarked(h)||(c.MarkBit(h),s=s+1|0);else if(o=o+1|0,i)break}finally{H5.is(f,System.IDisposable)&&f.System$IDisposable$Dispose()}return r.uniqueCount=s,r.unfoundCount=o,r.$clone()},RemoveWhere:function(t){var r,u,i;if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("match");for(r=new(System.Collections.Generic.List$1(n).$ctor2)(this.Count),this.BreadthFirstTreeWalk(function(n){return t(n.Item)&&r.add(n.Item),!0}),u=0,i=r.Count-1|0;i>=0;i=i-1|0)this.remove(r.getItem(i))&&(u=u+1|0);return u},Reverse:function(){return new(H5.GeneratorEnumerable$1(n))(H5.fn.bind(this,function(){var t=0,f,e,i,r,u=new(H5.GeneratorEnumerator$1(n))(H5.fn.bind(this,function(){try{for(;;)switch(t){case 0:i=new(System.Collections.Generic.SortedSet$1.Enumerator(n).$ctor2)(this,!0);t=1;continue;case 1:if(i.moveNext()){t=2;continue}t=4;continue;case 2:return u.current=i.Current,t=3,!0;case 3:t=1;continue;case 4:default:return!1}}catch(f){r=System.Exception.create(f);throw r;}}));return u}))},GetViewBetween:function(t,i){var r;if((r=this.Comparer)[H5.geti(r,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,i)>0)throw new System.ArgumentException.$ctor1("lowerBound is greater than upperBound");return new(System.Collections.Generic.SortedSet$1.TreeSubSet(n).$ctor1)(this,t,i,!0,!0)},TryGetValue:function(t,i){var r=this.FindNode(t);return r!=null?(i.v=r.Item,!0):(i.v=H5.getDefaultValue(n),!1)}}}});H5.define("System.Collections.Generic.SortedSetEqualityComparer$1",function(n){return{inherits:[System.Collections.Generic.IEqualityComparer$1(System.Collections.Generic.SortedSet$1(n))],fields:{comparer:null,e_comparer:null},alias:["equals2",["System$Collections$Generic$IEqualityComparer$1$System$Collections$Generic$SortedSet$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2"],"getHashCode2",["System$Collections$Generic$IEqualityComparer$1$System$Collections$Generic$SortedSet$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2"]],ctors:{ctor:function(){System.Collections.Generic.SortedSetEqualityComparer$1(n).$ctor2.call(this,null,null)},$ctor1:function(t){System.Collections.Generic.SortedSetEqualityComparer$1(n).$ctor2.call(this,t,null)},$ctor3:function(t){System.Collections.Generic.SortedSetEqualityComparer$1(n).$ctor2.call(this,null,t)},$ctor2:function(t,i){this.$initialize();this.comparer=t==null?new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn):t;this.e_comparer=i==null?System.Collections.Generic.EqualityComparer$1(n).def:i}},methods:{equals2:function(t,i){return System.Collections.Generic.SortedSet$1(n).SortedSetEquals(t,i,this.comparer)},equals:function(t){var i;return((i=H5.as(t,System.Collections.Generic.SortedSetEqualityComparer$1(n)))!=null)?H5.referenceEquals(this.comparer,i.comparer):!1},getHashCode2:function(t){var i,r=0,u;if(t!=null){i=H5.getEnumerator(t);try{while(i.moveNext())u=i.Current,r=r^this.e_comparer[H5.geti(this.e_comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2")](u)&2147483647}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}}return r},getHashCode:function(){return H5.getHashCode(this.comparer)^H5.getHashCode(this.e_comparer)}}}});H5.define("System.Collections.Generic.SortedSet$1.ElementCount",function(n){return{$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.SortedSet$1.ElementCount(n))}}},fields:{uniqueCount:0,unfoundCount:0},ctors:{ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return H5.addHash([4920463385,this.uniqueCount,this.unfoundCount])},equals:function(t){return H5.is(t,System.Collections.Generic.SortedSet$1.ElementCount(n))?H5.equals(this.uniqueCount,t.uniqueCount)&&H5.equals(this.unfoundCount,t.unfoundCount):!1},$clone:function(t){var i=t||new(System.Collections.Generic.SortedSet$1.ElementCount(n));return i.uniqueCount=this.uniqueCount,i.unfoundCount=this.unfoundCount,i}}}});H5.define("System.Collections.Generic.SortedSet$1.Enumerator",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested struct",statics:{fields:{dummyNode:null},ctors:{init:function(){this.dummyNode=new(System.Collections.Generic.SortedSet$1.Node(n).ctor)(H5.getDefaultValue(n))}},methods:{getDefaultValue:function(){return new(System.Collections.Generic.SortedSet$1.Enumerator(n))}}},fields:{tree:null,version:0,stack:null,current:null,reverse:!1},props:{Current:{get:function(){return this.current!=null?this.current.Item:H5.getDefaultValue(n)}},System$Collections$IEnumerator$Current:{get:function(){return this.current==null&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.current.Item}},NotStartedOrEnded:{get:function(){return this.current==null}}},alias:["moveNext","System$Collections$IEnumerator$moveNext","Dispose","System$IDisposable$Dispose","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(t){this.$initialize();this.tree=t;this.tree.VersionCheck();this.version=this.tree.version;this.stack=new(System.Collections.Generic.Stack$1(System.Collections.Generic.SortedSet$1.Node(n)).$ctor2)(H5.Int.mul(2,System.Collections.Generic.SortedSet$1(n).log2(t.Count+1|0)));this.current=null;this.reverse=!1;this.Intialize()},$ctor2:function(t,i){this.$initialize();this.tree=t;this.tree.VersionCheck();this.version=this.tree.version;this.stack=new(System.Collections.Generic.Stack$1(System.Collections.Generic.SortedSet$1.Node(n)).$ctor2)(H5.Int.mul(2,System.Collections.Generic.SortedSet$1(n).log2(t.Count+1|0)));this.current=null;this.reverse=i;this.Intialize()},ctor:function(){this.$initialize()}},methods:{Intialize:function(){this.current=null;for(var n=this.tree.root,t=null,i=null;n!=null;)t=this.reverse?n.Right:n.Left,i=this.reverse?n.Left:n.Right,this.tree.IsWithinRange(n.Item)?(this.stack.Push(n),n=t):n=t!=null&&this.tree.IsWithinRange(t.Item)?t:i},moveNext:function(){if(this.tree.VersionCheck(),this.version!==this.tree.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion),this.stack.Count===0)return this.current=null,!1;this.current=this.stack.Pop();for(var n=this.reverse?this.current.Left:this.current.Right,i=null,t=null;n!=null;)i=this.reverse?n.Right:n.Left,t=this.reverse?n.Left:n.Right,this.tree.IsWithinRange(n.Item)?(this.stack.Push(n),n=i):n=t!=null&&this.tree.IsWithinRange(t.Item)?t:i;return!0},Dispose:function(){},Reset:function(){this.version!==this.tree.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.stack.Clear();this.Intialize()},System$Collections$IEnumerator$reset:function(){this.Reset()},getHashCode:function(){return H5.addHash([3788985113,this.tree,this.version,this.stack,this.current,this.reverse])},equals:function(t){return H5.is(t,System.Collections.Generic.SortedSet$1.Enumerator(n))?H5.equals(this.tree,t.tree)&&H5.equals(this.version,t.version)&&H5.equals(this.stack,t.stack)&&H5.equals(this.current,t.current)&&H5.equals(this.reverse,t.reverse):!1},$clone:function(t){var i=t||new(System.Collections.Generic.SortedSet$1.Enumerator(n));return i.tree=this.tree,i.version=this.version,i.stack=this.stack,i.current=this.current,i.reverse=this.reverse,i}}}});H5.define("System.Collections.Generic.SortedSet$1.Node",function(n){return{$kind:"nested class",fields:{IsRed:!1,Item:H5.getDefaultValue(n),Left:null,Right:null},ctors:{ctor:function(n){this.$initialize();this.Item=n;this.IsRed=!0},$ctor1:function(n,t){this.$initialize();this.Item=n;this.IsRed=t}}}});H5.define("System.Collections.Generic.SortedSet$1.TreeSubSet",function(n){return{inherits:[System.Collections.Generic.SortedSet$1(n)],$kind:"nested class",fields:{underlying:null,min:H5.getDefaultValue(n),max:H5.getDefaultValue(n),lBoundActive:!1,uBoundActive:!1},alias:["contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear"],ctors:{$ctor1:function(t,i,r,u,f){this.$initialize();System.Collections.Generic.SortedSet$1(n).$ctor1.call(this,t.Comparer);this.underlying=t;this.min=i;this.max=r;this.lBoundActive=u;this.uBoundActive=f;this.root=this.underlying.FindRange$1(this.min,this.max,this.lBoundActive,this.uBoundActive);this.count=0;this.version=-1;this.VersionCheckImpl()},ctor:function(){this.$initialize();System.Collections.Generic.SortedSet$1(n).ctor.call(this);this.comparer=null}},methods:{AddIfNotPresent:function(n){this.IsWithinRange(n)||System.ThrowHelper.ThrowArgumentOutOfRangeException$1(System.ExceptionArgument.collection);var t=this.underlying.AddIfNotPresent(n);return this.VersionCheck(),t},contains:function(t){return this.VersionCheck(),System.Collections.Generic.SortedSet$1(n).prototype.contains.call(this,t)},DoRemove:function(n){if(!this.IsWithinRange(n))return!1;var t=this.underlying.remove(n);return this.VersionCheck(),t},clear:function(){if(this.count!==0){var t=new(System.Collections.Generic.List$1(n).ctor);for(this.BreadthFirstTreeWalk(function(n){return t.add(n.Item),!0});t.Count!==0;)this.underlying.remove(t.getItem(t.Count-1|0)),t.removeAt(t.Count-1|0);this.root=null;this.count=0;this.version=this.underlying.version}},IsWithinRange:function(t){var r,u,i=this.lBoundActive?(r=this.Comparer)[H5.geti(r,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.min,t):-1;return i>0?!1:(i=this.uBoundActive?(u=this.Comparer)[H5.geti(u,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.max,t):1,i<0)?!1:!0},InOrderTreeWalk$1:function(t,i){var e,o,f,r,u;if(this.VersionCheck(),this.root==null)return!0;for(f=new(System.Collections.Generic.Stack$1(System.Collections.Generic.SortedSet$1.Node(n)).$ctor2)(H5.Int.mul(2,System.Collections.Generic.SortedSet$1(n).log2(this.count+1|0))),r=this.root;r!=null;)this.IsWithinRange(r.Item)?(f.Push(r),r=i?r.Right:r.Left):r=this.lBoundActive&&(e=this.Comparer)[H5.geti(e,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.min,r.Item)>0?r.Right:r.Left;while(f.Count!==0){if(r=f.Pop(),!t(r))return!1;for(u=i?r.Left:r.Right;u!=null;)this.IsWithinRange(u.Item)?(f.Push(u),u=i?u.Right:u.Left):u=this.lBoundActive&&(o=this.Comparer)[H5.geti(o,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.min,u.Item)>0?u.Right:u.Left}return!0},BreadthFirstTreeWalk:function(t){var u,f,r,i;if(this.VersionCheck(),this.root==null)return!0;for(r=new(System.Collections.Generic.List$1(System.Collections.Generic.SortedSet$1.Node(n)).ctor),r.add(this.root);r.Count!==0;){if(i=r.getItem(0),r.removeAt(0),this.IsWithinRange(i.Item)&&!t(i))return!1;i.Left!=null&&(!this.lBoundActive||(u=this.Comparer)[H5.geti(u,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.min,i.Item)<0)&&r.add(i.Left);i.Right!=null&&(!this.uBoundActive||(f=this.Comparer)[H5.geti(f,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.max,i.Item)>0)&&r.add(i.Right)}return!0},FindNode:function(t){return this.IsWithinRange(t)?(this.VersionCheck(),System.Collections.Generic.SortedSet$1(n).prototype.FindNode.call(this,t)):null},InternalIndexOf:function(t){var i,u,r=-1,f;i=H5.getEnumerator(this);try{while(i.moveNext())if(f=i.Current,r=r+1|0,(u=this.Comparer)[H5.geti(u,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](t,f)===0)return r}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}return-1},VersionCheck:function(){this.VersionCheckImpl()},VersionCheckImpl:function(){this.version!==this.underlying.version&&(this.root=this.underlying.FindRange$1(this.min,this.max,this.lBoundActive,this.uBoundActive),this.version=this.underlying.version,this.count=0,this.InOrderTreeWalk(H5.fn.bind(this,f.$.System.Collections.Generic.SortedSet$1.TreeSubSet.f1)))},GetViewBetween:function(t,i){var r,u;if(this.lBoundActive&&(r=this.Comparer)[H5.geti(r,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.min,t)>0)throw new System.ArgumentOutOfRangeException.$ctor1("lowerValue");if(this.uBoundActive&&(u=this.Comparer)[H5.geti(u,"System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare","System$Collections$Generic$IComparer$1$compare")](this.max,i)<0)throw new System.ArgumentOutOfRangeException.$ctor1("upperValue");return H5.cast(this.underlying.GetViewBetween(t,i),System.Collections.Generic.SortedSet$1.TreeSubSet(n))},IntersectWithEnumerable:function(t){var i,u=new(System.Collections.Generic.List$1(n).$ctor2)(this.Count),r;i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.contains(r)&&(u.add(r),this.remove(r))}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}this.clear();this.AddAllElements(u)}}}});H5.ns("System.Collections.Generic.SortedSet$1.TreeSubSet",f.$);H5.apply(f.$.System.Collections.Generic.SortedSet$1.TreeSubSet,{f1:function(n){return this.count=this.count+1|0,!0}});H5.define("System.Collections.Generic.LinkedList$1",function(n){return{inherits:[System.Collections.Generic.ICollection$1(n),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(n)],statics:{fields:{VersionName:null,CountName:null,ValuesName:null},ctors:{init:function(){this.VersionName="Version";this.CountName="Count";this.ValuesName="Data"}}},fields:{head:null,count:0,version:0},props:{Count:{get:function(){return this.count}},First:{get:function(){return this.head}},Last:{get:function(){return this.head==null?null:this.head.prev}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!1}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove"],ctors:{ctor:function(){this.$initialize()},$ctor1:function(t){var i,r;if(this.$initialize(),t==null)throw new System.ArgumentNullException.$ctor1("collection");i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.AddLast(r)}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}}},methods:{System$Collections$Generic$ICollection$1$add:function(n){this.AddLast(n)},AddAfter:function(t,i){this.ValidateNode(t);var r=new(System.Collections.Generic.LinkedListNode$1(n).$ctor1)(t.list,i);return this.InternalInsertNodeBefore(t.next,r),r},AddAfter$1:function(n,t){this.ValidateNode(n);this.ValidateNewNode(t);this.InternalInsertNodeBefore(n.next,t);t.list=this},AddBefore:function(t,i){this.ValidateNode(t);var r=new(System.Collections.Generic.LinkedListNode$1(n).$ctor1)(t.list,i);return this.InternalInsertNodeBefore(t,r),H5.referenceEquals(t,this.head)&&(this.head=r),r},AddBefore$1:function(n,t){this.ValidateNode(n);this.ValidateNewNode(t);this.InternalInsertNodeBefore(n,t);t.list=this;H5.referenceEquals(n,this.head)&&(this.head=t)},AddFirst:function(t){var i=new(System.Collections.Generic.LinkedListNode$1(n).$ctor1)(this,t);return this.head==null?this.InternalInsertNodeToEmptyList(i):(this.InternalInsertNodeBefore(this.head,i),this.head=i),i},AddFirst$1:function(n){this.ValidateNewNode(n);this.head==null?this.InternalInsertNodeToEmptyList(n):(this.InternalInsertNodeBefore(this.head,n),this.head=n);n.list=this},AddLast:function(t){var i=new(System.Collections.Generic.LinkedListNode$1(n).$ctor1)(this,t);return this.head==null?this.InternalInsertNodeToEmptyList(i):this.InternalInsertNodeBefore(this.head,i),i},AddLast$1:function(n){this.ValidateNewNode(n);this.head==null?this.InternalInsertNodeToEmptyList(n):this.InternalInsertNodeBefore(this.head,n);n.list=this},clear:function(){for(var n=this.head,t;n!=null;)t=n,n=n.Next,t.Invalidate();this.head=null;this.count=0;this.version=this.version+1|0},contains:function(n){return this.Find(n)!=null},copyTo:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(t<0||t>n.length)throw new System.ArgumentOutOfRangeException.$ctor1("index");if((n.length-t|0)<this.Count)throw new System.ArgumentException.ctor;var i=this.head;if(i!=null)do n[System.Array.index(H5.identity(t,t=t+1|0),n)]=i.item,i=i.next;while(!H5.referenceEquals(i,this.head))},System$Collections$ICollection$copyTo:function(t,i){var s,f,e,o,r;if(t==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(t)!==1)throw new System.ArgumentException.ctor;if(System.Array.getLower(t,0)!==0)throw new System.ArgumentException.ctor;if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if((t.length-i|0)<this.Count)throw new System.ArgumentException.ctor;if((s=H5.as(t,System.Array.type(n)))!=null)this.copyTo(s,i);else{if(f=H5.getType(t).$elementType||null,e=n,!(H5.Reflection.isAssignableFrom(f,e)||H5.Reflection.isAssignableFrom(e,f)))throw new System.ArgumentException.ctor;if(!((o=H5.as(t,System.Array.type(System.Object)))!=null))throw new System.ArgumentException.ctor;r=this.head;try{if(r!=null)do o[System.Array.index(H5.identity(i,i=i+1|0),o)]=r.item,r=r.next;while(!H5.referenceEquals(r,this.head))}catch(u){if(u=System.Exception.create(u),H5.is(u,System.ArrayTypeMismatchException))throw new System.ArgumentException.ctor;else throw u;}}},Find:function(t){var i=this.head,r=System.Collections.Generic.EqualityComparer$1(n).def;if(i!=null)if(t!=null){do{if(r.equals2(i.item,t))return i;i=i.next}while(!H5.referenceEquals(i,this.head))}else do{if(i.item==null)return i;i=i.next}while(!H5.referenceEquals(i,this.head));return null},FindLast:function(t){if(this.head==null)return null;var r=this.head.prev,i=r,u=System.Collections.Generic.EqualityComparer$1(n).def;if(i!=null)if(t!=null){do{if(u.equals2(i.item,t))return i;i=i.prev}while(!H5.referenceEquals(i,r))}else do{if(i.item==null)return i;i=i.prev}while(!H5.referenceEquals(i,r));return null},GetEnumerator:function(){return new(System.Collections.Generic.LinkedList$1.Enumerator(n).$ctor1)(this)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return this.GetEnumerator().$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return this.GetEnumerator().$clone()},remove:function(n){var t=this.Find(n);return t!=null?(this.InternalRemoveNode(t),!0):!1},Remove:function(n){this.ValidateNode(n);this.InternalRemoveNode(n)},RemoveFirst:function(){if(this.head==null)throw new System.InvalidOperationException.ctor;this.InternalRemoveNode(this.head)},RemoveLast:function(){if(this.head==null)throw new System.InvalidOperationException.ctor;this.InternalRemoveNode(this.head.prev)},InternalInsertNodeBefore:function(n,t){t.next=n;t.prev=n.prev;n.prev.next=t;n.prev=t;this.version=this.version+1|0;this.count=this.count+1|0},InternalInsertNodeToEmptyList:function(n){n.next=n;n.prev=n;this.head=n;this.version=this.version+1|0;this.count=this.count+1|0},InternalRemoveNode:function(n){H5.referenceEquals(n.next,n)?this.head=null:(n.next.prev=n.prev,n.prev.next=n.next,H5.referenceEquals(this.head,n)&&(this.head=n.next));n.Invalidate();this.count=this.count-1|0;this.version=this.version+1|0},ValidateNewNode:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("node");if(n.list!=null)throw new System.InvalidOperationException.ctor;},ValidateNode:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("node");if(!H5.referenceEquals(n.list,this))throw new System.InvalidOperationException.ctor;}}}});H5.define("System.Collections.Generic.LinkedListNode$1",function(n){return{fields:{list:null,next:null,prev:null,item:H5.getDefaultValue(n)},props:{List:{get:function(){return this.list}},Next:{get:function(){return this.next==null||H5.referenceEquals(this.next,this.list.head)?null:this.next}},Previous:{get:function(){return this.prev==null||H5.referenceEquals(this,this.list.head)?null:this.prev}},Value:{get:function(){return this.item},set:function(n){this.item=n}}},ctors:{ctor:function(n){this.$initialize();this.item=n},$ctor1:function(n,t){this.$initialize();this.list=n;this.item=t}},methods:{Invalidate:function(){this.list=null;this.next=null;this.prev=null}}}});H5.define("System.Collections.Generic.LinkedList$1.Enumerator",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested struct",statics:{fields:{LinkedListName:null,CurrentValueName:null,VersionName:null,IndexName:null},ctors:{init:function(){this.LinkedListName="LinkedList";this.CurrentValueName="Current";this.VersionName="Version";this.IndexName="Index"}},methods:{getDefaultValue:function(){return new(System.Collections.Generic.LinkedList$1.Enumerator(n))}}},fields:{list:null,node:null,version:0,current:H5.getDefaultValue(n),index:0},props:{Current:{get:function(){return this.current}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this.list.Count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.current}}},alias:["Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"],"moveNext","System$Collections$IEnumerator$moveNext","Dispose","System$IDisposable$Dispose"],ctors:{$ctor1:function(t){this.$initialize();this.list=t;this.version=t.version;this.node=t.head;this.current=H5.getDefaultValue(n);this.index=0},ctor:function(){this.$initialize()}},methods:{moveNext:function(){if(this.version!==this.list.version)throw new System.InvalidOperationException.ctor;return this.node==null?(this.index=this.list.Count+1|0,!1):(this.index=this.index+1|0,this.current=this.node.item,this.node=this.node.next,H5.referenceEquals(this.node,this.list.head)&&(this.node=null),!0)},System$Collections$IEnumerator$reset:function(){if(this.version!==this.list.version)throw new System.InvalidOperationException.ctor;this.current=H5.getDefaultValue(n);this.node=this.list.head;this.index=0},Dispose:function(){},getHashCode:function(){return H5.addHash([3788985113,this.list,this.node,this.version,this.current,this.index])},equals:function(t){return H5.is(t,System.Collections.Generic.LinkedList$1.Enumerator(n))?H5.equals(this.list,t.list)&&H5.equals(this.node,t.node)&&H5.equals(this.version,t.version)&&H5.equals(this.current,t.current)&&H5.equals(this.index,t.index):!1},$clone:function(t){var i=t||new(System.Collections.Generic.LinkedList$1.Enumerator(n));return i.list=this.list,i.node=this.node,i.version=this.version,i.current=this.current,i.index=this.index,i}}}});H5.define("System.Collections.Generic.TreeRotation",{$kind:"enum",statics:{fields:{LeftRotation:1,RightRotation:2,RightLeftRotation:3,LeftRightRotation:4}}});H5.define("System.Collections.Generic.Dictionary$2",function(n,t){return{inherits:[System.Collections.Generic.IDictionary$2(n,t),System.Collections.IDictionary,System.Collections.Generic.IReadOnlyDictionary$2(n,t)],statics:{fields:{VersionName:null,HashSizeName:null,KeyValuePairsName:null,ComparerName:null},ctors:{init:function(){this.VersionName="Version";this.HashSizeName="HashSize";this.KeyValuePairsName="KeyValuePairs";this.ComparerName="Comparer"}},methods:{IsCompatibleKey:function(t){return t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key),H5.is(t,n)}}},fields:{buckets:null,simpleBuckets:null,entries:null,count:0,version:0,freeList:0,freeCount:0,comparer:null,keys:null,values:null,isSimpleKey:!1},props:{Comparer:{get:function(){return this.comparer}},Count:{get:function(){return this.count-this.freeCount|0}},Keys:{get:function(){return this.keys==null&&(this.keys=new(System.Collections.Generic.Dictionary$2.KeyCollection(n,t))(this)),this.keys}},System$Collections$Generic$IDictionary$2$Keys:{get:function(){return this.keys==null&&(this.keys=new(System.Collections.Generic.Dictionary$2.KeyCollection(n,t))(this)),this.keys}},System$Collections$Generic$IReadOnlyDictionary$2$Keys:{get:function(){return this.keys==null&&(this.keys=new(System.Collections.Generic.Dictionary$2.KeyCollection(n,t))(this)),this.keys}},Values:{get:function(){return this.values==null&&(this.values=new(System.Collections.Generic.Dictionary$2.ValueCollection(n,t))(this)),this.values}},System$Collections$Generic$IDictionary$2$Values:{get:function(){return this.values==null&&(this.values=new(System.Collections.Generic.Dictionary$2.ValueCollection(n,t))(this)),this.values}},System$Collections$Generic$IReadOnlyDictionary$2$Values:{get:function(){return this.values==null&&(this.values=new(System.Collections.Generic.Dictionary$2.ValueCollection(n,t))(this)),this.values}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!1}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}},System$Collections$IDictionary$IsFixedSize:{get:function(){return!1}},System$Collections$IDictionary$IsReadOnly:{get:function(){return!1}},System$Collections$IDictionary$Keys:{get:function(){return H5.cast(this.Keys,System.Collections.ICollection)}},System$Collections$IDictionary$Values:{get:function(){return H5.cast(this.Values,System.Collections.ICollection)}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IDictionary$2$Keys","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys","System$Collections$Generic$IReadOnlyDictionary$2$Keys","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys","System$Collections$Generic$IDictionary$2$Values","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values","System$Collections$Generic$IReadOnlyDictionary$2$Values","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values","getItem","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem","setItem","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$setItem","getItem","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem","setItem","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$setItem","add","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$contains","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$contains","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$remove","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove","clear","System$Collections$IDictionary$clear","clear","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$clear","containsKey","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey","containsKey","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey","System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$GetEnumerator","System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$GetEnumerator","remove","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove","tryGetValue","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue","tryGetValue","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$IsReadOnly","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$IsReadOnly","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$copyTo","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$copyTo"],ctors:{ctor:function(){System.Collections.Generic.Dictionary$2(n,t).$ctor5.call(this,0,null)},$ctor4:function(i){System.Collections.Generic.Dictionary$2(n,t).$ctor5.call(this,i,null)},$ctor3:function(i){System.Collections.Generic.Dictionary$2(n,t).$ctor5.call(this,0,i)},$ctor5:function(t,i){this.$initialize();t<0&&System.ThrowHelper.ThrowArgumentOutOfRangeException$1(System.ExceptionArgument.capacity);t>0&&this.Initialize(t);this.comparer=i||System.Collections.Generic.EqualityComparer$1(n).def;this.isSimpleKey=(H5.referenceEquals(n,System.String)||n.$number===!0&&!H5.referenceEquals(n,System.Int64)&&!H5.referenceEquals(n,System.UInt64)||H5.referenceEquals(n,System.Char))&&H5.referenceEquals(this.comparer,System.Collections.Generic.EqualityComparer$1(n).def)},$ctor1:function(i){System.Collections.Generic.Dictionary$2(n,t).$ctor2.call(this,i,null)},$ctor2:function(i,r){var u,f;System.Collections.Generic.Dictionary$2(n,t).$ctor5.call(this,i!=null?System.Array.getCount(i,System.Collections.Generic.KeyValuePair$2(n,t)):0,r);i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.dictionary);u=H5.getEnumerator(i,System.Collections.Generic.KeyValuePair$2(n,t));try{while(u.moveNext())f=u.Current,this.add(f.key,f.value)}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}}},methods:{getItem:function(n){var t=this.FindEntry(n);if(t>=0)return this.entries[System.Array.index(t,this.entries)].value;throw new System.Collections.Generic.KeyNotFoundException.ctor;},setItem:function(n,t){this.Insert(n,t,!1)},System$Collections$IDictionary$getItem:function(i){if(System.Collections.Generic.Dictionary$2(n,t).IsCompatibleKey(i)){var r=this.FindEntry(H5.cast(H5.unbox(i,n),n));if(r>=0)return this.entries[System.Array.index(r,this.entries)].value}return null},System$Collections$IDictionary$setItem:function(i,r){i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(t,r,System.ExceptionArgument.value);try{var e=H5.cast(H5.unbox(i,n),n);try{this.setItem(e,H5.cast(H5.unbox(r,t),t))}catch(u){if(u=System.Exception.create(u),H5.is(u,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,r,t);else throw u;}}catch(f){if(f=System.Exception.create(f),H5.is(f,System.InvalidCastException))System.ThrowHelper.ThrowWrongKeyTypeArgumentException(System.Object,i,n);else throw f;}},add:function(n,t){this.Insert(n,t,!0)},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$add:function(n){this.add(n.key,n.value)},System$Collections$IDictionary$add:function(i,r){i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key);System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(t,r,System.ExceptionArgument.value);try{var e=H5.cast(H5.unbox(i,n),n);try{this.add(e,H5.cast(H5.unbox(r,t),t))}catch(u){if(u=System.Exception.create(u),H5.is(u,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,r,t);else throw u;}}catch(f){if(f=System.Exception.create(f),H5.is(f,System.InvalidCastException))System.ThrowHelper.ThrowWrongKeyTypeArgumentException(System.Object,i,n);else throw f;}},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$contains:function(n){var i=this.FindEntry(n.key);return i>=0&&System.Collections.Generic.EqualityComparer$1(t).def.equals2(this.entries[System.Array.index(i,this.entries)].value,n.value)?!0:!1},System$Collections$IDictionary$contains:function(i){return System.Collections.Generic.Dictionary$2(n,t).IsCompatibleKey(i)?this.containsKey(H5.cast(H5.unbox(i,n),n)):!1},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$remove:function(n){var i=this.FindEntry(n.key);return i>=0&&System.Collections.Generic.EqualityComparer$1(t).def.equals2(this.entries[System.Array.index(i,this.entries)].value,n.value)?(this.remove(n.key),!0):!1},remove:function(i){var u,r;if(i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key),this.isSimpleKey){if(this.simpleBuckets!=null&&this.simpleBuckets.hasOwnProperty(i))return u=this.simpleBuckets[i],delete this.simpleBuckets[i],this.entries[System.Array.index(u,this.entries)].hashCode=-1,this.entries[System.Array.index(u,this.entries)].next=this.freeList,this.entries[System.Array.index(u,this.entries)].key=H5.getDefaultValue(n),this.entries[System.Array.index(u,this.entries)].value=H5.getDefaultValue(t),this.freeList=u,this.freeCount=this.freeCount+1|0,this.version=this.version+1|0,!0}else if(this.buckets!=null){var e=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2")](i)&2147483647,o=e%this.buckets.length,f=-1;for(r=this.buckets[System.Array.index(o,this.buckets)];r>=0;f=r,r=this.entries[System.Array.index(r,this.entries)].next)if(this.entries[System.Array.index(r,this.entries)].hashCode===e&&this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this.entries[System.Array.index(r,this.entries)].key,i))return f<0?this.buckets[System.Array.index(o,this.buckets)]=this.entries[System.Array.index(r,this.entries)].next:this.entries[System.Array.index(f,this.entries)].next=this.entries[System.Array.index(r,this.entries)].next,this.entries[System.Array.index(r,this.entries)].hashCode=-1,this.entries[System.Array.index(r,this.entries)].next=this.freeList,this.entries[System.Array.index(r,this.entries)].key=H5.getDefaultValue(n),this.entries[System.Array.index(r,this.entries)].value=H5.getDefaultValue(t),this.freeList=r,this.freeCount=this.freeCount+1|0,this.version=this.version+1|0,!0}return!1},System$Collections$IDictionary$remove:function(i){System.Collections.Generic.Dictionary$2(n,t).IsCompatibleKey(i)&&this.remove(H5.cast(H5.unbox(i,n),n))},clear:function(){if(this.count>0){for(var i=0;i<this.buckets.length;i=i+1|0)this.buckets[System.Array.index(i,this.buckets)]=-1;this.isSimpleKey&&(this.simpleBuckets={});System.Array.fill(this.entries,function(){return H5.getDefaultValue(System.Collections.Generic.Dictionary$2.Entry(n,t))},0,this.count);this.freeList=-1;this.count=0;this.freeCount=0;this.version=this.version+1|0}},containsKey:function(n){return this.FindEntry(n)>=0},ContainsValue:function(n){var i,u,r;if(n==null){for(i=0;i<this.count;i=i+1|0)if(this.entries[System.Array.index(i,this.entries)].hashCode>=0&&this.entries[System.Array.index(i,this.entries)].value==null)return!0}else for(u=System.Collections.Generic.EqualityComparer$1(t).def,r=0;r<this.count;r=r+1|0)if(this.entries[System.Array.index(r,this.entries)].hashCode>=0&&u.equals2(this.entries[System.Array.index(r,this.entries)].value,n))return!0;return!1},CopyTo:function(i,r){var e,u,f;for(i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),(r<0||r>i.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(i.length-r|0)<this.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),e=this.count,u=this.entries,f=0;f<e;f=f+1|0)u[System.Array.index(f,u)].hashCode>=0&&(i[System.Array.index(H5.identity(r,r=r+1|0),i)]=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(u[System.Array.index(f,u)].key,u[System.Array.index(f,u)].value))},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$copyTo:function(n,t){this.CopyTo(n,t)},System$Collections$ICollection$copyTo:function(i,r){var l,c,u,f,s,a,e,o;if(i==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),System.Array.getRank(i)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported),System.Array.getLower(i,0)!==0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_NonZeroLowerBound),(r<0||r>i.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(i.length-r|0)<this.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),(l=H5.as(i,System.Array.type(System.Collections.Generic.KeyValuePair$2(n,t))))!=null)this.CopyTo(l,r);else if(H5.is(i,System.Array.type(System.Collections.DictionaryEntry)))for(c=H5.as(i,System.Array.type(System.Collections.DictionaryEntry)),u=this.entries,f=0;f<this.count;f=f+1|0)u[System.Array.index(f,u)].hashCode>=0&&(c[System.Array.index(H5.identity(r,r=r+1|0),c)]=new System.Collections.DictionaryEntry.$ctor1(u[System.Array.index(f,u)].key,u[System.Array.index(f,u)].value));else{s=H5.as(i,System.Array.type(System.Object));s==null&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);try{for(a=this.count,e=this.entries,o=0;o<a;o=o+1|0)e[System.Array.index(o,e)].hashCode>=0&&(s[System.Array.index(H5.identity(r,r=r+1|0),s)]=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(e[System.Array.index(o,e)].key,e[System.Array.index(o,e)].value))}catch(h){if(h=System.Exception.create(h),H5.is(h,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw h;}}},GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.Dictionary$2.Enumerator(n,t).KeyValuePair)},System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.Dictionary$2.Enumerator(n,t).KeyValuePair).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.Dictionary$2.Enumerator(n,t).KeyValuePair).$clone()},System$Collections$IDictionary$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.Enumerator(n,t).$ctor1)(this,System.Collections.Generic.Dictionary$2.Enumerator(n,t).DictEntry).$clone()},FindEntry:function(t){var r,i;if(t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key),this.isSimpleKey){if(this.simpleBuckets!=null&&this.simpleBuckets.hasOwnProperty(t))return this.simpleBuckets[t]}else if(this.buckets!=null)for(r=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2")](t)&2147483647,i=this.buckets[System.Array.index(r%this.buckets.length,this.buckets)];i>=0;i=this.entries[System.Array.index(i,this.entries)].next)if(this.entries[System.Array.index(i,this.entries)].hashCode===r&&this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this.entries[System.Array.index(i,this.entries)].key,t))return i;return-1},Initialize:function(i){var u=System.Collections.HashHelpers.GetPrime(i),r;for(this.buckets=System.Array.init(u,0,System.Int32),r=0;r<this.buckets.length;r=r+1|0)this.buckets[System.Array.index(r,this.buckets)]=-1;this.entries=System.Array.init(u,function(){return new(System.Collections.Generic.Dictionary$2.Entry(n,t))},System.Collections.Generic.Dictionary$2.Entry(n,t));this.freeList=-1;this.simpleBuckets={}},Insert:function(t,i,r){var u,o,s,e,f;if(t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.key),this.buckets==null&&this.Initialize(0),this.isSimpleKey){if(this.simpleBuckets.hasOwnProperty(t)){r&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_AddingDuplicate);this.entries[System.Array.index(this.simpleBuckets[t],this.entries)].value=i;this.version=this.version+1|0;return}this.freeCount>0?(u=this.freeList,this.freeList=this.entries[System.Array.index(u,this.entries)].next,this.freeCount=this.freeCount-1|0):(this.count===this.entries.length&&this.Resize(),u=this.count,this.count=this.count+1|0);this.entries[System.Array.index(u,this.entries)].hashCode=1;this.entries[System.Array.index(u,this.entries)].next=-1;this.entries[System.Array.index(u,this.entries)].key=t;this.entries[System.Array.index(u,this.entries)].value=i;this.simpleBuckets[t]=u;this.version=this.version+1|0;return}for(o=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2")](t)&2147483647,s=o%this.buckets.length,e=this.buckets[System.Array.index(s,this.buckets)];e>=0;e=this.entries[System.Array.index(e,this.entries)].next)if(this.entries[System.Array.index(e,this.entries)].hashCode===o&&this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this.entries[System.Array.index(e,this.entries)].key,t)){r&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_AddingDuplicate);this.entries[System.Array.index(e,this.entries)].value=i;this.version=this.version+1|0;return}this.freeCount>0?(f=this.freeList,this.freeList=this.entries[System.Array.index(f,this.entries)].next,this.freeCount=this.freeCount-1|0):(this.count===this.entries.length&&(this.Resize(),s=o%this.buckets.length),f=this.count,this.count=this.count+1|0);this.entries[System.Array.index(f,this.entries)].hashCode=o;this.entries[System.Array.index(f,this.entries)].next=this.buckets[System.Array.index(s,this.buckets)];this.entries[System.Array.index(f,this.entries)].key=t;this.entries[System.Array.index(f,this.entries)].value=i;this.buckets[System.Array.index(s,this.buckets)]=f;this.version=this.version+1|0},Resize:function(){this.Resize$1(System.Collections.HashHelpers.ExpandPrime(this.count),!1)},Resize$1:function(i,r){for(var u,o,f,h,e=System.Array.init(i,0,System.Int32),s=0;s<e.length;s=s+1|0)e[System.Array.index(s,e)]=-1;if(this.isSimpleKey&&(this.simpleBuckets={}),u=System.Array.init(i,function(){return new(System.Collections.Generic.Dictionary$2.Entry(n,t))},System.Collections.Generic.Dictionary$2.Entry(n,t)),System.Array.copy(this.entries,0,u,0,this.count),r)for(o=0;o<this.count;o=o+1|0)u[System.Array.index(o,u)].hashCode!==-1&&(u[System.Array.index(o,u)].hashCode=this.comparer[H5.geti(this.comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2")](u[System.Array.index(o,u)].key)&2147483647);for(f=0;f<this.count;f=f+1|0)u[System.Array.index(f,u)].hashCode>=0&&(this.isSimpleKey?(u[System.Array.index(f,u)].next=-1,this.simpleBuckets[u[System.Array.index(f,u)].key]=f):(h=u[System.Array.index(f,u)].hashCode%i,u[System.Array.index(f,u)].next=e[System.Array.index(h,e)],e[System.Array.index(h,e)]=f));this.buckets=e;this.entries=u},tryGetValue:function(n,i){var r=this.FindEntry(n);return r>=0?(i.v=this.entries[System.Array.index(r,this.entries)].value,!0):(i.v=H5.getDefaultValue(t),!1)},GetValueOrDefault:function(n){var i=this.FindEntry(n);return i>=0?this.entries[System.Array.index(i,this.entries)].value:H5.getDefaultValue(t)}}}});H5.define("System.Collections.Generic.Dictionary$2.Entry",function(n,t){return{$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.Dictionary$2.Entry(n,t))}}},fields:{hashCode:0,next:0,key:H5.getDefaultValue(n),value:H5.getDefaultValue(t)},ctors:{ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return H5.addHash([1920233150,this.hashCode,this.next,this.key,this.value])},equals:function(i){return H5.is(i,System.Collections.Generic.Dictionary$2.Entry(n,t))?H5.equals(this.hashCode,i.hashCode)&&H5.equals(this.next,i.next)&&H5.equals(this.key,i.key)&&H5.equals(this.value,i.value):!1},$clone:function(i){var r=i||new(System.Collections.Generic.Dictionary$2.Entry(n,t));return r.hashCode=this.hashCode,r.next=this.next,r.key=this.key,r.value=this.value,r}}}});H5.define("System.Collections.Generic.Dictionary$2.Enumerator",function(n,t){return{inherits:[System.Collections.Generic.IEnumerator$1(System.Collections.Generic.KeyValuePair$2(n,t)),System.Collections.IDictionaryEnumerator],$kind:"nested struct",statics:{fields:{DictEntry:0,KeyValuePair:0},ctors:{init:function(){this.DictEntry=1;this.KeyValuePair=2}},methods:{getDefaultValue:function(){return new(System.Collections.Generic.Dictionary$2.Enumerator(n,t))}}},fields:{dictionary:null,version:0,index:0,current:null,getEnumeratorRetType:0},props:{Current:{get:function(){return this.current}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this.dictionary.count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.getEnumeratorRetType===System.Collections.Generic.Dictionary$2.Enumerator(n,t).DictEntry?new System.Collections.DictionaryEntry.$ctor1(this.current.key,this.current.value).$clone():new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(this.current.key,this.current.value)}},System$Collections$IDictionaryEnumerator$Entry:{get:function(){return(this.index===0||this.index===(this.dictionary.count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),new System.Collections.DictionaryEntry.$ctor1(this.current.key,this.current.value)}},System$Collections$IDictionaryEnumerator$Key:{get:function(){return(this.index===0||this.index===(this.dictionary.count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.current.key}},System$Collections$IDictionaryEnumerator$Value:{get:function(){return(this.index===0||this.index===(this.dictionary.count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.current.value}}},alias:["moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"],"Dispose","System$IDisposable$Dispose"],ctors:{init:function(){this.current=new(System.Collections.Generic.KeyValuePair$2(n,t))},$ctor1:function(i,r){this.$initialize();this.dictionary=i;this.version=i.version;this.index=0;this.getEnumeratorRetType=r;this.current=new(System.Collections.Generic.KeyValuePair$2(n,t).ctor)},ctor:function(){this.$initialize()}},methods:{moveNext:function(){var i,r,u;for(this.version!==this.dictionary.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index>>>0<this.dictionary.count>>>0;){if((i=this.dictionary.entries)[System.Array.index(this.index,i)].hashCode>=0)return this.current=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)((r=this.dictionary.entries)[System.Array.index(this.index,r)].key,(u=this.dictionary.entries)[System.Array.index(this.index,u)].value),this.index=this.index+1|0,!0;this.index=this.index+1|0}return this.index=this.dictionary.count+1|0,this.current=new(System.Collections.Generic.KeyValuePair$2(n,t).ctor),!1},Dispose:function(){},System$Collections$IEnumerator$reset:function(){this.version!==this.dictionary.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index=0;this.current=new(System.Collections.Generic.KeyValuePair$2(n,t).ctor)},getHashCode:function(){return H5.addHash([3788985113,this.dictionary,this.version,this.index,this.current,this.getEnumeratorRetType])},equals:function(i){return H5.is(i,System.Collections.Generic.Dictionary$2.Enumerator(n,t))?H5.equals(this.dictionary,i.dictionary)&&H5.equals(this.version,i.version)&&H5.equals(this.index,i.index)&&H5.equals(this.current,i.current)&&H5.equals(this.getEnumeratorRetType,i.getEnumeratorRetType):!1},$clone:function(i){var r=i||new(System.Collections.Generic.Dictionary$2.Enumerator(n,t));return r.dictionary=this.dictionary,r.version=this.version,r.index=this.index,r.current=this.current,r.getEnumeratorRetType=this.getEnumeratorRetType,r}}}});H5.define("System.Collections.Generic.Dictionary$2.KeyCollection",function(n,t){return{inherits:[System.Collections.Generic.ICollection$1(n),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(n)],$kind:"nested class",fields:{dictionary:null},props:{Count:{get:function(){return this.dictionary.Count}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!0}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return H5.cast(this.dictionary,System.Collections.ICollection).System$Collections$ICollection$SyncRoot}}},alias:["copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","System$Collections$Generic$ICollection$1$clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","System$Collections$Generic$ICollection$1$contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","System$Collections$Generic$ICollection$1$remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator"],ctors:{ctor:function(n){this.$initialize();n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.dictionary);this.dictionary=n}},methods:{GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator(n,t).$ctor1)(this.dictionary)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator(n,t).$ctor1)(this.dictionary).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator(n,t).$ctor1)(this.dictionary).$clone()},copyTo:function(n,t){var u,r,i;for(n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),(t<0||t>n.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(n.length-t|0)<this.dictionary.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),u=this.dictionary.count,r=this.dictionary.entries,i=0;i<u;i=i+1|0)r[System.Array.index(i,r)].hashCode>=0&&(n[System.Array.index(H5.identity(t,t=t+1|0),n)]=r[System.Array.index(i,r)].key)},System$Collections$ICollection$copyTo:function(t,i){var o,f,s,u,r;if(t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),System.Array.getRank(t)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported),System.Array.getLower(t,0)!==0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_NonZeroLowerBound),(i<0||i>t.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(t.length-i|0)<this.dictionary.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),(o=H5.as(t,System.Array.type(n)))!=null)this.copyTo(o,i);else{f=H5.as(t,System.Array.type(System.Object));f==null&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);s=this.dictionary.count;u=this.dictionary.entries;try{for(r=0;r<s;r=r+1|0)u[System.Array.index(r,u)].hashCode>=0&&(f[System.Array.index(H5.identity(i,i=i+1|0),f)]=u[System.Array.index(r,u)].key)}catch(e){if(e=System.Exception.create(e),H5.is(e,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw e;}}},System$Collections$Generic$ICollection$1$add:function(n){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_KeyCollectionSet)},System$Collections$Generic$ICollection$1$clear:function(){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_KeyCollectionSet)},System$Collections$Generic$ICollection$1$contains:function(n){return this.dictionary.containsKey(n)},System$Collections$Generic$ICollection$1$remove:function(n){return System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_KeyCollectionSet),!1}}}});H5.define("System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator",function(n,t){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator(n,t))}}},fields:{dictionary:null,index:0,version:0,currentKey:H5.getDefaultValue(n)},props:{Current:{get:function(){return this.currentKey}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this.dictionary.count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.currentKey}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(t){this.$initialize();this.dictionary=t;this.version=t.version;this.index=0;this.currentKey=H5.getDefaultValue(n)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){},moveNext:function(){var t,i;for(this.version!==this.dictionary.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index>>>0<this.dictionary.count>>>0;){if((t=this.dictionary.entries)[System.Array.index(this.index,t)].hashCode>=0)return this.currentKey=(i=this.dictionary.entries)[System.Array.index(this.index,i)].key,this.index=this.index+1|0,!0;this.index=this.index+1|0}return this.index=this.dictionary.count+1|0,this.currentKey=H5.getDefaultValue(n),!1},System$Collections$IEnumerator$reset:function(){this.version!==this.dictionary.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index=0;this.currentKey=H5.getDefaultValue(n)},getHashCode:function(){return H5.addHash([3788985113,this.dictionary,this.index,this.version,this.currentKey])},equals:function(i){return H5.is(i,System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator(n,t))?H5.equals(this.dictionary,i.dictionary)&&H5.equals(this.index,i.index)&&H5.equals(this.version,i.version)&&H5.equals(this.currentKey,i.currentKey):!1},$clone:function(i){var r=i||new(System.Collections.Generic.Dictionary$2.KeyCollection.Enumerator(n,t));return r.dictionary=this.dictionary,r.index=this.index,r.version=this.version,r.currentKey=this.currentKey,r}}}});H5.define("System.Collections.Generic.Dictionary$2.ValueCollection",function(n,t){return{inherits:[System.Collections.Generic.ICollection$1(t),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(t)],$kind:"nested class",fields:{dictionary:null},props:{Count:{get:function(){return this.dictionary.Count}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!0}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return H5.cast(this.dictionary,System.Collections.ICollection).System$Collections$ICollection$SyncRoot}}},alias:["copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$copyTo","Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$IsReadOnly","System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$remove","System$Collections$Generic$ICollection$1$clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$clear","System$Collections$Generic$ICollection$1$contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$contains","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(t)+"$GetEnumerator"],ctors:{ctor:function(n){this.$initialize();n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.dictionary);this.dictionary=n}},methods:{GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator(n,t).$ctor1)(this.dictionary)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator(n,t).$ctor1)(this.dictionary).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator(n,t).$ctor1)(this.dictionary).$clone()},copyTo:function(n,t){var u,r,i;for(n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),(t<0||t>n.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(n.length-t|0)<this.dictionary.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),u=this.dictionary.count,r=this.dictionary.entries,i=0;i<u;i=i+1|0)r[System.Array.index(i,r)].hashCode>=0&&(n[System.Array.index(H5.identity(t,t=t+1|0),n)]=r[System.Array.index(i,r)].value)},System$Collections$ICollection$copyTo:function(n,i){var o,f,s,u,r;if(n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),System.Array.getRank(n)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported),System.Array.getLower(n,0)!==0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_NonZeroLowerBound),(i<0||i>n.length)&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum),(n.length-i|0)<this.dictionary.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),(o=H5.as(n,System.Array.type(t)))!=null)this.copyTo(o,i);else{f=H5.as(n,System.Array.type(System.Object));f==null&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);s=this.dictionary.count;u=this.dictionary.entries;try{for(r=0;r<s;r=r+1|0)u[System.Array.index(r,u)].hashCode>=0&&(f[System.Array.index(H5.identity(i,i=i+1|0),f)]=u[System.Array.index(r,u)].value)}catch(e){if(e=System.Exception.create(e),H5.is(e,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Argument_InvalidArrayType);else throw e;}}},System$Collections$Generic$ICollection$1$add:function(n){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ValueCollectionSet)},System$Collections$Generic$ICollection$1$remove:function(n){return System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ValueCollectionSet),!1},System$Collections$Generic$ICollection$1$clear:function(){System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ValueCollectionSet)},System$Collections$Generic$ICollection$1$contains:function(n){return this.dictionary.ContainsValue(n)}}}});H5.define("System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator",function(n,t){return{inherits:[System.Collections.Generic.IEnumerator$1(t),System.Collections.IEnumerator],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator(n,t))}}},fields:{dictionary:null,index:0,version:0,currentValue:H5.getDefaultValue(t)},props:{Current:{get:function(){return this.currentValue}},System$Collections$IEnumerator$Current:{get:function(){return(this.index===0||this.index===(this.dictionary.count+1|0))&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen),this.currentValue}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(n){this.$initialize();this.dictionary=n;this.version=n.version;this.index=0;this.currentValue=H5.getDefaultValue(t)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){},moveNext:function(){var n,i;for(this.version!==this.dictionary.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index>>>0<this.dictionary.count>>>0;){if((n=this.dictionary.entries)[System.Array.index(this.index,n)].hashCode>=0)return this.currentValue=(i=this.dictionary.entries)[System.Array.index(this.index,i)].value,this.index=this.index+1|0,!0;this.index=this.index+1|0}return this.index=this.dictionary.count+1|0,this.currentValue=H5.getDefaultValue(t),!1},System$Collections$IEnumerator$reset:function(){this.version!==this.dictionary.version&&System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);this.index=0;this.currentValue=H5.getDefaultValue(t)},getHashCode:function(){return H5.addHash([3788985113,this.dictionary,this.index,this.version,this.currentValue])},equals:function(i){return H5.is(i,System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator(n,t))?H5.equals(this.dictionary,i.dictionary)&&H5.equals(this.index,i.index)&&H5.equals(this.version,i.version)&&H5.equals(this.currentValue,i.currentValue):!1},$clone:function(i){var r=i||new(System.Collections.Generic.Dictionary$2.ValueCollection.Enumerator(n,t));return r.dictionary=this.dictionary,r.index=this.index,r.version=this.version,r.currentValue=this.currentValue,r}}}});H5.define("System.Collections.ObjectModel.ReadOnlyDictionary$2",function(n,t){return{inherits:[System.Collections.Generic.IDictionary$2(n,t),System.Collections.IDictionary,System.Collections.Generic.IReadOnlyDictionary$2(n,t)],statics:{fields:{NotSupported_ReadOnlyCollection:null},ctors:{init:function(){this.NotSupported_ReadOnlyCollection="Collection is read-only."}},methods:{IsCompatibleKey:function(t){if(t==null)throw new System.ArgumentNullException.$ctor1("key");return H5.is(t,n)}}},fields:{m_dictionary:null,_keys:null,_values:null},props:{Dictionary:{get:function(){return this.m_dictionary}},Keys:{get:function(){return this._keys==null&&(this._keys=new(System.Collections.ObjectModel.ReadOnlyDictionary$2.KeyCollection(n,t))(this.m_dictionary["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys"])),this._keys}},Values:{get:function(){return this._values==null&&(this._values=new(System.Collections.ObjectModel.ReadOnlyDictionary$2.ValueCollection(n,t))(this.m_dictionary["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values"])),this._values}},System$Collections$Generic$IDictionary$2$Keys:{get:function(){return this.Keys}},System$Collections$Generic$IDictionary$2$Values:{get:function(){return this.Values}},Count:{get:function(){return System.Array.getCount(this.m_dictionary,System.Collections.Generic.KeyValuePair$2(n,t))}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!0}},System$Collections$IDictionary$IsFixedSize:{get:function(){return!0}},System$Collections$IDictionary$IsReadOnly:{get:function(){return!0}},System$Collections$IDictionary$Keys:{get:function(){return this.Keys}},System$Collections$IDictionary$Values:{get:function(){return this.Values}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}},System$Collections$Generic$IReadOnlyDictionary$2$Keys:{get:function(){return this.Keys}},System$Collections$Generic$IReadOnlyDictionary$2$Values:{get:function(){return this.Values}}},alias:["containsKey","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey","containsKey","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey","System$Collections$Generic$IDictionary$2$Keys","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys","tryGetValue","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue","tryGetValue","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue","System$Collections$Generic$IDictionary$2$Values","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values","getItem","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem","System$Collections$Generic$IDictionary$2$add","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$IDictionary$2$remove","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove","System$Collections$Generic$IDictionary$2$getItem","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem","System$Collections$Generic$IDictionary$2$setItem","System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$setItem","Count",["System$Collections$Generic$IReadOnlyCollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$contains","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$contains","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$copyTo","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$copyTo","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$IsReadOnly","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$IsReadOnly","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$clear","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$clear","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$remove","System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove","GetEnumerator",["System$Collections$Generic$IEnumerable$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"],"System$Collections$Generic$IReadOnlyDictionary$2$Keys","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Keys","System$Collections$Generic$IReadOnlyDictionary$2$Values","System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Values"],ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("dictionary");this.m_dictionary=n}},methods:{getItem:function(i){return this.m_dictionary["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem"](i)},System$Collections$Generic$IDictionary$2$getItem:function(i){return this.m_dictionary["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$getItem"](i)},System$Collections$Generic$IDictionary$2$setItem:function(i,r){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$IDictionary$getItem:function(i){return System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).IsCompatibleKey(i)?this.getItem(H5.cast(H5.unbox(i,n),n)):null},System$Collections$IDictionary$setItem:function(i,r){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},containsKey:function(i){return this.m_dictionary["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey"](i)},tryGetValue:function(i,r){return this.m_dictionary["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue"](i,r)},System$Collections$Generic$IDictionary$2$add:function(i,r){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$add:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$IDictionary$add:function(i,r){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$IDictionary$2$remove:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$remove:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$IDictionary$remove:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$contains:function(i){return System.Array.contains(this.m_dictionary,i,System.Collections.Generic.KeyValuePair$2(n,t))},System$Collections$IDictionary$contains:function(i){return System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).IsCompatibleKey(i)&&this.containsKey(H5.cast(H5.unbox(i,n),n))},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$copyTo:function(i,r){System.Array.copyTo(this.m_dictionary,i,r,System.Collections.Generic.KeyValuePair$2(n,t))},System$Collections$ICollection$copyTo:function(i,r){var u,f,l,o,s,h,c;if(i==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(i)!==1)throw new System.ArgumentException.$ctor1("Only single dimensional arrays are supported for the requested action.");if(System.Array.getLower(i,0)!==0)throw new System.ArgumentException.$ctor1("The lower bound of target array must be zero.");if(r<0||r>i.length)throw new System.ArgumentOutOfRangeException.$ctor4("index","Non-negative number required.");if((i.length-r|0)<this.Count)throw new System.ArgumentException.$ctor1("Destination array is not long enough to copy all the items in the collection. Check array index and length.");if((l=H5.as(i,System.Array.type(System.Collections.Generic.KeyValuePair$2(n,t))))!=null)System.Array.copyTo(this.m_dictionary,l,r,System.Collections.Generic.KeyValuePair$2(n,t));else if((o=H5.as(i,System.Array.type(System.Collections.DictionaryEntry)))!=null){u=H5.getEnumerator(this.m_dictionary,System.Collections.Generic.KeyValuePair$2(n,t));try{while(u.moveNext())s=u.Current,o[System.Array.index(H5.identity(r,r=r+1|0),o)]=new System.Collections.DictionaryEntry.$ctor1(s.key,s.value)}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}}else{if(!((h=H5.as(i,System.Array.type(System.Object)))!=null))throw new System.ArgumentException.$ctor1("Target array type is not compatible with the type of items in the collection.");try{f=H5.getEnumerator(this.m_dictionary,System.Collections.Generic.KeyValuePair$2(n,t));try{while(f.moveNext())c=f.Current,h[System.Array.index(H5.identity(r,r=r+1|0),h)]=new(System.Collections.Generic.KeyValuePair$2(n,t).$ctor1)(c.key,c.value)}finally{H5.is(f,System.IDisposable)&&f.System$IDisposable$Dispose()}}catch(e){if(e=System.Exception.create(e),H5.is(e,System.ArrayTypeMismatchException))throw new System.ArgumentException.$ctor1("Target array type is not compatible with the type of items in the collection.");else throw e;}}},System$Collections$Generic$ICollection$1$System$Collections$Generic$KeyValuePair$2$clear:function(){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$IDictionary$clear:function(){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},GetEnumerator:function(){return H5.getEnumerator(this.m_dictionary,System.Collections.Generic.KeyValuePair$2(n,t))},System$Collections$IEnumerable$GetEnumerator:function(){return H5.getEnumerator(H5.cast(this.m_dictionary,System.Collections.IEnumerable))},System$Collections$IDictionary$GetEnumerator:function(){var i;return(i=H5.as(this.m_dictionary,System.Collections.IDictionary))!=null?i.System$Collections$IDictionary$GetEnumerator():new(System.Collections.ObjectModel.ReadOnlyDictionary$2.DictionaryEnumerator(n,t).$ctor1)(this.m_dictionary).$clone()}}}});H5.define("System.Collections.ObjectModel.ReadOnlyDictionary$2.DictionaryEnumerator",function(n,t){return{inherits:[System.Collections.IDictionaryEnumerator],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.ObjectModel.ReadOnlyDictionary$2.DictionaryEnumerator(n,t))}}},fields:{_dictionary:null,_enumerator:null},props:{Entry:{get:function(){return new System.Collections.DictionaryEntry.$ctor1(this._enumerator[H5.geti(this._enumerator,"System$Collections$Generic$IEnumerator$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")].key,this._enumerator[H5.geti(this._enumerator,"System$Collections$Generic$IEnumerator$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")].value)}},Key:{get:function(){return this._enumerator[H5.geti(this._enumerator,"System$Collections$Generic$IEnumerator$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")].key}},Value:{get:function(){return this._enumerator[H5.geti(this._enumerator,"System$Collections$Generic$IEnumerator$1$System$Collections$Generic$KeyValuePair$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")].value}},Current:{get:function(){return this.Entry.$clone()}}},alias:["Entry","System$Collections$IDictionaryEnumerator$Entry","Key","System$Collections$IDictionaryEnumerator$Key","Value","System$Collections$IDictionaryEnumerator$Value","Current","System$Collections$IEnumerator$Current","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset"],ctors:{$ctor1:function(i){this.$initialize();this._dictionary=i;this._enumerator=H5.getEnumerator(this._dictionary,System.Collections.Generic.KeyValuePair$2(n,t))},ctor:function(){this.$initialize()}},methods:{moveNext:function(){return this._enumerator.System$Collections$IEnumerator$moveNext()},reset:function(){this._enumerator.System$Collections$IEnumerator$reset()},getHashCode:function(){return H5.addHash([9276503029,this._dictionary,this._enumerator])},equals:function(i){return H5.is(i,System.Collections.ObjectModel.ReadOnlyDictionary$2.DictionaryEnumerator(n,t))?H5.equals(this._dictionary,i._dictionary)&&H5.equals(this._enumerator,i._enumerator):!1},$clone:function(i){var r=i||new(System.Collections.ObjectModel.ReadOnlyDictionary$2.DictionaryEnumerator(n,t));return r._dictionary=this._dictionary,r._enumerator=this._enumerator,r}}}});H5.define("System.Collections.ObjectModel.ReadOnlyDictionary$2.KeyCollection",function(n,t){return{inherits:[System.Collections.Generic.ICollection$1(n),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(n)],$kind:"nested class",fields:{_collection:null},props:{Count:{get:function(){return System.Array.getCount(this._collection,n)}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!0}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}}},alias:["System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","System$Collections$Generic$ICollection$1$clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","System$Collections$Generic$ICollection$1$contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","System$Collections$Generic$ICollection$1$remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"]],ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("collection");this._collection=n}},methods:{System$Collections$Generic$ICollection$1$add:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$clear:function(){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$contains:function(t){return System.Array.contains(this._collection,t,n)},copyTo:function(t,i){System.Array.copyTo(this._collection,t,i,n)},System$Collections$ICollection$copyTo:function(t,i){System.Collections.ObjectModel.ReadOnlyDictionaryHelpers.CopyToNonGenericICollectionHelper(n,this._collection,t,i)},System$Collections$Generic$ICollection$1$remove:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},GetEnumerator:function(){return H5.getEnumerator(this._collection,n)},System$Collections$IEnumerable$GetEnumerator:function(){return H5.getEnumerator(H5.cast(this._collection,System.Collections.IEnumerable))}}}});H5.define("System.Collections.ObjectModel.ReadOnlyDictionary$2.ValueCollection",function(n,t){return{inherits:[System.Collections.Generic.ICollection$1(t),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(t)],$kind:"nested class",fields:{_collection:null},props:{Count:{get:function(){return System.Array.getCount(this._collection,t)}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!0}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return null}}},alias:["System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$add","System$Collections$Generic$ICollection$1$clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$clear","System$Collections$Generic$ICollection$1$contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$copyTo","Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$IsReadOnly","System$Collections$Generic$ICollection$1$remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(t)+"$remove","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(t)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"]],ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("collection");this._collection=n}},methods:{System$Collections$Generic$ICollection$1$add:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$clear:function(){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},System$Collections$Generic$ICollection$1$contains:function(n){return System.Array.contains(this._collection,n,t)},copyTo:function(n,i){System.Array.copyTo(this._collection,n,i,t)},System$Collections$ICollection$copyTo:function(n,i){System.Collections.ObjectModel.ReadOnlyDictionaryHelpers.CopyToNonGenericICollectionHelper(t,this._collection,n,i)},System$Collections$Generic$ICollection$1$remove:function(i){throw new System.NotSupportedException.$ctor1(System.Collections.ObjectModel.ReadOnlyDictionary$2(n,t).NotSupported_ReadOnlyCollection);},GetEnumerator:function(){return H5.getEnumerator(this._collection,t)},System$Collections$IEnumerable$GetEnumerator:function(){return H5.getEnumerator(H5.cast(this._collection,System.Collections.IEnumerable))}}}});H5.define("System.Collections.ObjectModel.ReadOnlyDictionaryHelpers",{statics:{methods:{CopyToNonGenericICollectionHelper:function(n,t,i,r){var u,o,s,e,h;if(i==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(i)!==1)throw new System.ArgumentException.$ctor1("Only single dimensional arrays are supported for the requested action.");if(System.Array.getLower(i,0)!==0)throw new System.ArgumentException.$ctor1("The lower bound of target array must be zero.");if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("index","Index is less than zero.");if((i.length-r|0)<System.Array.getCount(t,n))throw new System.ArgumentException.$ctor1("Destination array is not long enough to copy all the items in the collection. Check array index and length.");if((o=H5.as(t,System.Collections.ICollection))!=null){System.Array.copyTo(o,i,r);return}if((s=H5.as(i,System.Array.type(n)))!=null)System.Array.copyTo(t,s,r,n);else{if(!((e=H5.as(i,System.Array.type(System.Object)))!=null))throw new System.ArgumentException.$ctor1("Target array type is not compatible with the type of items in the collection.");try{u=H5.getEnumerator(t,n);try{while(u.moveNext())h=u.Current,e[System.Array.index(H5.identity(r,r=r+1|0),e)]=h}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}}catch(f){if(f=System.Exception.create(f),H5.is(f,System.ArrayTypeMismatchException))throw new System.ArgumentException.$ctor1("Target array type is not compatible with the type of items in the collection.");else throw f;}}}}}});H5.define("System.Collections.Generic.CollectionExtensions",{statics:{methods:{GetValueOrDefault:function(n,t,i,r){return System.Collections.Generic.CollectionExtensions.GetValueOrDefault$1(n,t,i,r,H5.getDefaultValue(t))},GetValueOrDefault$1:function(n,t,i,r,u){if(i==null)throw new System.ArgumentNullException.$ctor1("dictionary");var f={};return i["System$Collections$Generic$IReadOnlyDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue"](r,f)?f.v:u},TryAdd:function(n,t,i,r,u){if(i==null)throw new System.ArgumentNullException.$ctor1("dictionary");return i["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$containsKey"](r)?!1:(i["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$add"](r,u),!0)},Remove:function(n,t,i,r,u){if(i==null)throw new System.ArgumentNullException.$ctor1("dictionary");return i["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$tryGetValue"](r,u)?(i["System$Collections$Generic$IDictionary$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$remove"](r),!0):(u.v=H5.getDefaultValue(t),!1)}}}});H5.define("System.StringComparer",{inherits:[System.Collections.Generic.IComparer$1(System.String),System.Collections.Generic.IEqualityComparer$1(System.String)],statics:{fields:{_ordinal:null,_ordinalIgnoreCase:null},props:{Ordinal:{get:function(){return System.StringComparer._ordinal}},OrdinalIgnoreCase:{get:function(){return System.StringComparer._ordinalIgnoreCase}}},ctors:{init:function(){this._ordinal=new System.OrdinalComparer(!1);this._ordinalIgnoreCase=new System.OrdinalComparer(!0)}}},methods:{Compare:function(n,t){var i,r,u;if(H5.referenceEquals(n,t))return 0;if(n==null)return-1;if(t==null)return 1;if((i=H5.as(n,System.String))!=null&&(r=H5.as(t,System.String))!=null)return this.compare(i,r);if((u=H5.as(n,System.IComparable))!=null)return H5.compare(u,t);throw new System.ArgumentException.$ctor1("At least one object must implement IComparable.");},Equals:function(n,t){var i,r;return H5.referenceEquals(n,t)?!0:n==null||t==null?!1:(i=H5.as(n,System.String))!=null&&(r=H5.as(t,System.String))!=null?this.equals2(i,r):H5.equals(n,t)},GetHashCode:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("obj");var t;return(t=H5.as(n,System.String))!=null?this.getHashCode2(t):H5.getHashCode(n)}}});H5.define("System.OrdinalComparer",{inherits:[System.StringComparer],fields:{_ignoreCase:!1},alias:["compare",["System$Collections$Generic$IComparer$1$System$String$compare","System$Collections$Generic$IComparer$1$compare"],"equals2",["System$Collections$Generic$IEqualityComparer$1$System$String$equals2","System$Collections$Generic$IEqualityComparer$1$equals2"],"getHashCode2",["System$Collections$Generic$IEqualityComparer$1$System$String$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2"]],ctors:{ctor:function(n){this.$initialize();System.StringComparer.ctor.call(this);this._ignoreCase=n}},methods:{compare:function(n,t){return H5.referenceEquals(n,t)?0:n==null?-1:t==null?1:this._ignoreCase?System.String.compare(n,t,5):System.String.compare(n,t,!1)},equals2:function(n,t){return H5.referenceEquals(n,t)?!0:n==null||t==null?!1:this._ignoreCase?n.length!==t.length?!1:System.String.compare(n,t,5)===0:System.String.equals(n,t)},equals:function(n){var t;return((t=H5.as(n,System.OrdinalComparer))!=null)?this._ignoreCase===t._ignoreCase:!1},getHashCode2:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("obj");return this._ignoreCase&&n!=null?H5.getHashCode(n.toLowerCase()):H5.getHashCode(n)},getHashCode:function(){var t="OrdinalComparer",n=H5.getHashCode(t);return this._ignoreCase?~n:n}}});H5.define("H5.CustomEnumerator",{inherits:[System.Collections.IEnumerator,System.IDisposable],config:{properties:{Current:{get:function(){return this.getCurrent()}},Current$1:{get:function(){return this.getCurrent()}}},alias:["getCurrent","System$Collections$IEnumerator$getCurrent","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset","Dispose","System$IDisposable$Dispose","Current","System$Collections$IEnumerator$Current"]},ctor:function(n,t,i,r,u,f){this.$initialize();this.$moveNext=n;this.$getCurrent=t;this.$Dispose=r;this.$reset=i;this.scope=u;f&&(this["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(f)+"$getCurrent$1"]=this.getCurrent,this.System$Collections$Generic$IEnumerator$1$getCurrent$1=this.getCurrent,Object.defineProperty(this,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(f)+"$Current$1",{get:this.getCurrent,enumerable:!0}),Object.defineProperty(this,"System$Collections$Generic$IEnumerator$1$Current$1",{get:this.getCurrent,enumerable:!0}))},moveNext:function(){try{return this.$moveNext.call(this.scope)}catch(n){this.Dispose.call(this.scope);throw n;}},getCurrent:function(){return this.$getCurrent.call(this.scope)},getCurrent$1:function(){return this.$getCurrent.call(this.scope)},reset:function(){this.$reset&&this.$reset.call(this.scope)},Dispose:function(){this.$Dispose&&this.$Dispose.call(this.scope)}});H5.define("H5.ArrayEnumerator",{inherits:[System.Collections.IEnumerator,System.IDisposable],statics:{$isArrayEnumerator:!0},config:{properties:{Current:{get:function(){return this.getCurrent()}},Current$1:{get:function(){return this.getCurrent()}}},alias:["getCurrent","System$Collections$IEnumerator$getCurrent","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset","Dispose","System$IDisposable$Dispose","Current","System$Collections$IEnumerator$Current"]},ctor:function(n,t){this.$initialize();this.array=n;this.reset();t&&(this["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(t)+"$getCurrent$1"]=this.getCurrent,this.System$Collections$Generic$IEnumerator$1$getCurrent$1=this.getCurrent,Object.defineProperty(this,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(t)+"$Current$1",{get:this.getCurrent,enumerable:!0}),Object.defineProperty(this,"System$Collections$Generic$IEnumerator$1$Current$1",{get:this.getCurrent,enumerable:!0}))},moveNext:function(){return this.index++,this.index<this.array.length},getCurrent:function(){return this.array[this.index]},getCurrent$1:function(){return this.array[this.index]},reset:function(){this.index=-1},Dispose:H5.emptyFn});H5.define("H5.ArrayEnumerable",{inherits:[System.Collections.IEnumerable],config:{alias:["GetEnumerator","System$Collections$IEnumerable$GetEnumerator"]},ctor:function(n){this.$initialize();this.array=n},GetEnumerator:function(){return new H5.ArrayEnumerator(this.array)}});H5.define("System.Collections.Generic.EqualityComparer$1",function(n){return{inherits:[System.Collections.Generic.IEqualityComparer$1(n)],statics:{config:{init:function(){this.def=new(System.Collections.Generic.EqualityComparer$1(n))}}},config:{alias:["equals2",["System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2"],"getHashCode2",["System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2"]]},equals2:function(n,t){if(H5.isDefined(n,!0)){if(H5.isDefined(t,!0)){var i=n&&n.$$name;if(H5.isFunction(n)&&H5.isFunction(t))return H5.fn.equals.call(n,t);else if(!i||n&&n.$boxed||t&&t.$boxed)return H5.equals(n,t);else if(H5.isFunction(n.equalsT))return H5.equalsT(n,t);else if(H5.isFunction(n.equals))return H5.equals(n,t);return n===t}}else return!H5.isDefined(t,!0);return!1},getHashCode2:function(n){return H5.isDefined(n,!0)?H5.getHashCode(n):0}}});System.Collections.Generic.EqualityComparer$1.$default=new(System.Collections.Generic.EqualityComparer$1(System.Object));H5.define("System.Collections.Generic.Comparer$1",function(n){return{inherits:[System.Collections.Generic.IComparer$1(n)],ctor:function(t){this.$initialize();this.fn=t;this.compare=t;this["System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(n)+"$compare"]=t;this.System$Collections$Generic$IComparer$1$compare=t}}});System.Collections.Generic.Comparer$1.$default=new(System.Collections.Generic.Comparer$1(System.Object))(function(n,t){if(H5.hasValue(n)){if(!H5.hasValue(t))return 1}else return H5.hasValue(t)?-1:0;return H5.compare(n,t)});System.Collections.Generic.Comparer$1.get=function(n,t){var i;return t&&(i=n["System$Collections$Generic$IComparer$1$"+H5.getTypeAlias(t)+"$compare"])?i.bind(n):(i=n.System$Collections$Generic$IComparer$1$compare)?i.bind(n):n.compare.bind(n)};System.Collections.Generic.Dictionary$2.getTypeParameters=function(n){var i,r,t;if(System.String.startsWith(n.$$name,"System.Collections.Generic.IDictionary"))i=n;else for(r=H5.Reflection.getInterfaces(n),t=0;t<r.length;t++)if(System.String.startsWith(r[t].$$name,"System.Collections.Generic.IDictionary")){i=r[t];break}var u=i?H5.Reflection.getGenericArguments(i):null,f=u?u[0]:null,e=u?u[1]:null;return[f,e]};H5.define("System.Collections.Generic.List$1",function(n){return{inherits:[System.Collections.Generic.IList$1(n),System.Collections.IList,System.Collections.Generic.IReadOnlyList$1(n)],statics:{fields:{_defaultCapacity:0,_emptyArray:null},ctors:{init:function(){this._defaultCapacity=4;this._emptyArray=System.Array.init(0,function(){return H5.getDefaultValue(n)},n)}},methods:{IsCompatibleObject:function(t){return H5.is(t,n)||t==null&&H5.getDefaultValue(n)==null}}},fields:{_items:null,_size:0,_version:0},props:{Capacity:{get:function(){return this._items.length},set:function(t){if(t<this._size)throw new System.ArgumentOutOfRangeException.$ctor1("value");if(t!==this._items.length)if(t>0){var i=System.Array.init(t,function(){return H5.getDefaultValue(n)},n);this._size>0&&System.Array.copy(this._items,0,i,0,this._size);this._items=i}else this._items=System.Collections.Generic.List$1(n)._emptyArray}},Count:{get:function(){return this._size}},System$Collections$IList$IsFixedSize:{get:function(){return!1}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!1}},System$Collections$IList$IsReadOnly:{get:function(){return!1}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return this}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","getItem",["System$Collections$Generic$IReadOnlyList$1$"+H5.getTypeAlias(n)+"$getItem","System$Collections$Generic$IReadOnlyList$1$getItem"],"setItem",["System$Collections$Generic$IReadOnlyList$1$"+H5.getTypeAlias(n)+"$setItem","System$Collections$Generic$IReadOnlyList$1$setItem"],"getItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$getItem","setItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$setItem","add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","clear","System$Collections$IList$clear","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","indexOf","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$indexOf","insert","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$insert","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","removeAt","System$Collections$IList$removeAt","removeAt","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$removeAt"],ctors:{ctor:function(){this.$initialize();this._items=System.Collections.Generic.List$1(n)._emptyArray},$ctor2:function(t){if(this.$initialize(),t<0)throw new System.ArgumentOutOfRangeException.$ctor1("capacity");this._items=t===0?System.Collections.Generic.List$1(n)._emptyArray:System.Array.init(t,function(){return H5.getDefaultValue(n)},n)},$ctor1:function(t){var u,r,i;if(this.$initialize(),t==null)throw new System.ArgumentNullException.$ctor1("collection");if((u=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null)r=System.Array.getCount(u,n),r===0?this._items=System.Collections.Generic.List$1(n)._emptyArray:(this._items=System.Array.init(r,function(){return H5.getDefaultValue(n)},n),System.Array.copyTo(u,this._items,0,n),this._size=r);else{this._size=0;this._items=System.Collections.Generic.List$1(n)._emptyArray;i=H5.getEnumerator(t,n);try{while(i.System$Collections$IEnumerator$moveNext())this.add(i[H5.geti(i,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")])}finally{H5.hasValue(i)&&i.System$IDisposable$Dispose()}}}},methods:{getItem:function(n){if(n>>>0>=this._size>>>0)throw new System.ArgumentOutOfRangeException.ctor;return this._items[System.Array.index(n,this._items)]},setItem:function(n,t){if(n>>>0>=this._size>>>0)throw new System.ArgumentOutOfRangeException.ctor;this._items[System.Array.index(n,this._items)]=t;this._version=this._version+1|0},System$Collections$IList$getItem:function(n){return this.getItem(n)},System$Collections$IList$setItem:function(t,i){if(i==null&&!(H5.getDefaultValue(n)==null))throw new System.ArgumentNullException.$ctor1("value");try{this.setItem(t,H5.cast(H5.unbox(i,n),n))}catch(r){if(r=System.Exception.create(r),H5.is(r,System.InvalidCastException))throw new System.ArgumentException.$ctor1("value");else throw r;}},add:function(n){this._size===this._items.length&&this.EnsureCapacity(this._size+1|0);this._items[System.Array.index(H5.identity(this._size,this._size=this._size+1|0),this._items)]=n;this._version=this._version+1|0},System$Collections$IList$add:function(t){if(t==null&&!(H5.getDefaultValue(n)==null))throw new System.ArgumentNullException.$ctor1("item");try{this.add(H5.cast(H5.unbox(t,n),n))}catch(i){if(i=System.Exception.create(i),H5.is(i,System.InvalidCastException))throw new System.ArgumentException.$ctor1("item");else throw i;}return this.Count-1|0},AddRange:function(n){this.InsertRange(this._size,n)},AsReadOnly:function(){return new(System.Collections.ObjectModel.ReadOnlyCollection$1(n))(this)},BinarySearch$2:function(n,t,i,r){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((this._size-n|0)<t)throw new System.ArgumentException.ctor;return System.Array.binarySearch(this._items,n,t,i,r)},BinarySearch:function(n){return this.BinarySearch$2(0,this.Count,n,null)},BinarySearch$1:function(n,t){return this.BinarySearch$2(0,this.Count,n,t)},clear:function(){this._size>0&&(System.Array.fill(this._items,function(){return H5.getDefaultValue(n)},0,this._size),this._size=0);this._version=this._version+1|0},contains:function(t){var i,u,r;if(t==null){for(i=0;i<this._size;i=i+1|0)if(this._items[System.Array.index(i,this._items)]==null)return!0;return!1}else{for(u=System.Collections.Generic.EqualityComparer$1(n).def,r=0;r<this._size;r=r+1|0)if(u.equals2(this._items[System.Array.index(r,this._items)],t))return!0;return!1}},System$Collections$IList$contains:function(t){return System.Collections.Generic.List$1(n).IsCompatibleObject(t)?this.contains(H5.cast(H5.unbox(t,n),n)):!1},ConvertAll:function(n,t){var r,i;if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("converter");for(r=new(System.Collections.Generic.List$1(n).$ctor2)(this._size),i=0;i<this._size;i=i+1|0)r._items[System.Array.index(i,r._items)]=t(this._items[System.Array.index(i,this._items)]);return r._size=this._size,r},CopyTo:function(n){this.copyTo(n,0)},System$Collections$ICollection$copyTo:function(n,t){if(n!=null&&System.Array.getRank(n)!==1)throw new System.ArgumentException.$ctor1("array");System.Array.copy(this._items,0,n,t,this._size)},CopyTo$1:function(n,t,i,r){if((this._size-n|0)<r)throw new System.ArgumentException.ctor;System.Array.copy(this._items,n,t,i,r)},copyTo:function(n,t){System.Array.copy(this._items,0,n,t,this._size)},EnsureCapacity:function(t){if(this._items.length<t){var i=this._items.length===0?System.Collections.Generic.List$1(n)._defaultCapacity:H5.Int.mul(this._items.length,2);i>>>0>2146435071&&(i=2146435071);i<t&&(i=t);this.Capacity=i}},Exists:function(n){return this.FindIndex$2(n)!==-1},Find:function(t){if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("match");for(var i=0;i<this._size;i=i+1|0)if(t(this._items[System.Array.index(i,this._items)]))return this._items[System.Array.index(i,this._items)];return H5.getDefaultValue(n)},FindAll:function(t){var r,i;if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("match");for(r=new(System.Collections.Generic.List$1(n).ctor),i=0;i<this._size;i=i+1|0)t(this._items[System.Array.index(i,this._items)])&&r.add(this._items[System.Array.index(i,this._items)]);return r},FindIndex$2:function(n){return this.FindIndex(0,this._size,n)},FindIndex$1:function(n,t){return this.FindIndex(n,this._size-n|0,t)},FindIndex:function(n,t,i){var u,r;if(n>>>0>this._size>>>0)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(t<0||n>(this._size-t|0))throw new System.ArgumentOutOfRangeException.$ctor1("count");if(H5.staticEquals(i,null))throw new System.ArgumentNullException.$ctor1("match");for(u=n+t|0,r=n;r<u;r=r+1|0)if(i(this._items[System.Array.index(r,this._items)]))return r;return-1},FindLast:function(t){if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("match");for(var i=this._size-1|0;i>=0;i=i-1|0)if(t(this._items[System.Array.index(i,this._items)]))return this._items[System.Array.index(i,this._items)];return H5.getDefaultValue(n)},FindLastIndex$2:function(n){return this.FindLastIndex(this._size-1|0,this._size,n)},FindLastIndex$1:function(n,t){return this.FindLastIndex(n,n+1|0,t)},FindLastIndex:function(n,t,i){var u,r;if(H5.staticEquals(i,null))throw new System.ArgumentNullException.$ctor1("match");if(this._size===0){if(n!==-1)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");}else if(n>>>0>=this._size>>>0)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(t<0||((n-t|0)+1|0)<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");for(u=n-t|0,r=n;r>u;r=r-1|0)if(i(this._items[System.Array.index(r,this._items)]))return r;return-1},ForEach:function(n){var i,t;if(H5.staticEquals(n,null))throw new System.ArgumentNullException.$ctor1("match");for(i=this._version,t=0;t<this._size;t=t+1|0){if(i!==this._version)break;n(this._items[System.Array.index(t,this._items)])}if(i!==this._version)throw new System.InvalidOperationException.ctor;},GetEnumerator:function(){return new(System.Collections.Generic.List$1.Enumerator(n).$ctor1)(this)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.List$1.Enumerator(n).$ctor1)(this).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.List$1.Enumerator(n).$ctor1)(this).$clone()},GetRange:function(t,i){if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((this._size-t|0)<i)throw new System.ArgumentException.ctor;var r=new(System.Collections.Generic.List$1(n).$ctor2)(i);return System.Array.copy(this._items,t,r._items,0,i),r._size=i,r},indexOf:function(n){return System.Array.indexOfT(this._items,n,0,this._size)},System$Collections$IList$indexOf:function(t){return System.Collections.Generic.List$1(n).IsCompatibleObject(t)?this.indexOf(H5.cast(H5.unbox(t,n),n)):-1},IndexOf:function(n,t){if(t>this._size)throw new System.ArgumentOutOfRangeException.$ctor1("index");return System.Array.indexOfT(this._items,n,t,this._size-t|0)},IndexOf$1:function(n,t,i){if(t>this._size)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0||t>(this._size-i|0))throw new System.ArgumentOutOfRangeException.$ctor1("count");return System.Array.indexOfT(this._items,n,t,i)},insert:function(n,t){if(n>>>0>this._size>>>0)throw new System.ArgumentOutOfRangeException.$ctor1("index");this._size===this._items.length&&this.EnsureCapacity(this._size+1|0);n<this._size&&System.Array.copy(this._items,n,this._items,n+1|0,this._size-n|0);this._items[System.Array.index(n,this._items)]=t;this._size=this._size+1|0;this._version=this._version+1|0},System$Collections$IList$insert:function(t,i){if(i==null&&!(H5.getDefaultValue(n)==null))throw new System.ArgumentNullException.$ctor1("item");try{this.insert(t,H5.cast(H5.unbox(i,n),n))}catch(r){if(r=System.Exception.create(r),H5.is(r,System.InvalidCastException))throw new System.ArgumentException.$ctor1("item");else throw r;}},InsertRange:function(t,i){var f,r,e,u;if(i==null)throw new System.ArgumentNullException.$ctor1("collection");if(t>>>0>this._size>>>0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if((f=H5.as(i,System.Collections.Generic.ICollection$1(n)))!=null)r=System.Array.getCount(f,n),r>0&&(this.EnsureCapacity(this._size+r|0),t<this._size&&System.Array.copy(this._items,t,this._items,t+r|0,this._size-t|0),H5.referenceEquals(this,f)?(System.Array.copy(this._items,0,this._items,t,t),System.Array.copy(this._items,t+r|0,this._items,H5.Int.mul(t,2),this._size-t|0)):(e=System.Array.init(r,function(){return H5.getDefaultValue(n)},n),System.Array.copyTo(f,e,0,n),System.Array.copy(e,0,this._items,t,e.length)),this._size=this._size+r|0);else{u=H5.getEnumerator(i,n);try{while(u.System$Collections$IEnumerator$moveNext())this.insert(H5.identity(t,t=t+1|0),u[H5.geti(u,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")])}finally{H5.hasValue(u)&&u.System$IDisposable$Dispose()}}this._version=this._version+1|0},LastIndexOf:function(n){return this._size===0?-1:this.LastIndexOf$2(n,this._size-1|0,this._size)},LastIndexOf$1:function(n,t){if(t>=this._size)throw new System.ArgumentOutOfRangeException.$ctor1("index");return this.LastIndexOf$2(n,t,t+1|0)},LastIndexOf$2:function(n,t,i){if(this.Count!==0&&t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(this.Count!==0&&i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if(this._size===0)return-1;if(t>=this._size)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i>(t+1|0))throw new System.ArgumentOutOfRangeException.$ctor1("count");return System.Array.lastIndexOfT(this._items,n,t,i)},remove:function(n){var t=this.indexOf(n);return t>=0?(this.removeAt(t),!0):!1},System$Collections$IList$remove:function(t){System.Collections.Generic.List$1(n).IsCompatibleObject(t)&&this.remove(H5.cast(H5.unbox(t,n),n))},RemoveAll:function(t){var i,r,u;if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("match");for(i=0;i<this._size&&!t(this._items[System.Array.index(i,this._items)]);)i=i+1|0;if(i>=this._size)return 0;for(r=i+1|0;r<this._size;){while(r<this._size&&t(this._items[System.Array.index(r,this._items)]))r=r+1|0;r<this._size&&(this._items[System.Array.index(H5.identity(i,i=i+1|0),this._items)]=this._items[System.Array.index(H5.identity(r,r=r+1|0),this._items)])}return System.Array.fill(this._items,function(){return H5.getDefaultValue(n)},i,this._size-i|0),u=this._size-i|0,this._size=i,this._version=this._version+1|0,u},removeAt:function(t){if(t>>>0>=this._size>>>0)throw new System.ArgumentOutOfRangeException.ctor;this._size=this._size-1|0;t<this._size&&System.Array.copy(this._items,t+1|0,this._items,t,this._size-t|0);this._items[System.Array.index(this._size,this._items)]=H5.getDefaultValue(n);this._version=this._version+1|0},RemoveRange:function(t,i){if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((this._size-t|0)<i)throw new System.ArgumentException.ctor;if(i>0){var r=this._size;this._size=this._size-i|0;t<this._size&&System.Array.copy(this._items,t+i|0,this._items,t,this._size-t|0);System.Array.fill(this._items,function(){return H5.getDefaultValue(n)},this._size,i);this._version=this._version+1|0}},Reverse:function(){this.Reverse$1(0,this.Count)},Reverse$1:function(n,t){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((this._size-n|0)<t)throw new System.ArgumentException.ctor;System.Array.reverse(this._items,n,t);this._version=this._version+1|0},Sort:function(){this.Sort$3(0,this.Count,null)},Sort$1:function(n){this.Sort$3(0,this.Count,n)},Sort$3:function(n,t,i){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((this._size-n|0)<t)throw new System.ArgumentException.ctor;System.Array.sort(this._items,n,t,i);this._version=this._version+1|0},Sort$2:function(t){if(H5.staticEquals(t,null))throw new System.ArgumentNullException.$ctor1("comparison");if(this._size>0)if(this._items.length===this._size)System.Array.sort(this._items,t);else{var i=System.Array.init(this._size,function(){return H5.getDefaultValue(n)},n);System.Array.copy(this._items,0,i,0,this._size);System.Array.sort(i,t);System.Array.copy(i,0,this._items,0,this._size)}},ToArray:function(){var t=System.Array.init(this._size,function(){return H5.getDefaultValue(n)},n);return System.Array.copy(this._items,0,t,0,this._size),t},TrimExcess:function(){var n=H5.Int.clip32(this._items.length*.9);this._size<n&&(this.Capacity=this._size)},TrueForAll:function(n){if(H5.staticEquals(n,null))throw new System.ArgumentNullException.$ctor1("match");for(var t=0;t<this._size;t=t+1|0)if(!n(this._items[System.Array.index(t,this._items)]))return!1;return!0},toJSON:function(){var t=System.Array.init(this._size,function(){return H5.getDefaultValue(n)},n);return this._size>0&&System.Array.copy(this._items,0,t,0,this._size),t}}}});H5.define("System.Collections.Generic.KeyNotFoundException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"The given key was not present in the dictionary.");this.HResult=-2146232969},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146232969},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146232969}}});System.Collections.Generic.List$1.getElementType=function(n){var i,r,t;if(System.String.startsWith(n.$$name,"System.Collections.Generic.IList"))i=n;else for(r=H5.Reflection.getInterfaces(n),t=0;t<r.length;t++)if(System.String.startsWith(r[t].$$name,"System.Collections.Generic.IList")){i=r[t];break}return i?H5.Reflection.getGenericArguments(i)[0]:null};H5.define("System.CharEnumerator",{inherits:[System.Collections.IEnumerator,System.Collections.Generic.IEnumerator$1(System.Char),System.IDisposable,System.ICloneable],fields:{_str:null,_index:0,_currentElement:0},props:{System$Collections$IEnumerator$Current:{get:function(){return H5.box(this.Current,System.Char,String.fromCharCode,System.Char.getHashCode)}},Current:{get:function(){if(this._index===-1)throw new System.InvalidOperationException.$ctor1("Enumeration has not started. Call MoveNext.");if(this._index>=this._str.length)throw new System.InvalidOperationException.$ctor1("Enumeration already finished.");return this._currentElement}}},alias:["clone","System$ICloneable$clone","moveNext","System$Collections$IEnumerator$moveNext","Dispose","System$IDisposable$Dispose","Current",["System$Collections$Generic$IEnumerator$1$System$Char$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"],"reset","System$Collections$IEnumerator$reset"],ctors:{ctor:function(n){this.$initialize();this._str=n;this._index=-1}},methods:{clone:function(){return H5.clone(this)},moveNext:function(){if(this._index<(this._str.length-1|0))return this._index=this._index+1|0,this._currentElement=this._str.charCodeAt(this._index),!0;else this._index=this._str.length;return!1},Dispose:function(){this._str!=null&&(this._index=this._str.length);this._str=null},reset:function(){this._currentElement=0;this._index=-1}}});H5.define("System.Threading.Tasks.Task",{inherits:[System.IDisposable,System.IAsyncResult],config:{alias:["dispose","System$IDisposable$Dispose","AsyncState","System$IAsyncResult$AsyncState","CompletedSynchronously","System$IAsyncResult$CompletedSynchronously","IsCompleted","System$IAsyncResult$IsCompleted"],properties:{IsCompleted:{get:function(){return this.isCompleted()}}}},ctor:function(n,t){this.$initialize();this.action=n;this.state=t;this.AsyncState=t;this.CompletedSynchronously=!1;this.exception=null;this.status=System.Threading.Tasks.TaskStatus.created;this.callbacks=[];this.result=null},statics:{queue:[],runQueue:function(){var t=System.Threading.Tasks.Task.queue.slice(0),n;for(System.Threading.Tasks.Task.queue=[],n=0;n<t.length;n++)t[n]()},schedule:function(n){System.Threading.Tasks.Task.queue.push(n);H5.setImmediate(System.Threading.Tasks.Task.runQueue)},delay:function(n,t){var u=new System.Threading.Tasks.TaskCompletionSource,i,r=!1,f,e;return H5.is(t,System.Threading.CancellationToken)&&(i=t,t=undefined),i&&(i.cancelWasRequested=function(){r||(r=!0,clearTimeout(e),u.setCanceled())}),f=n,H5.is(n,System.TimeSpan)&&(f=n.getTotalMilliseconds()),e=setTimeout(function(){r||(r=!0,u.setResult(t))},f),i&&i.getIsCancellationRequested()&&H5.setImmediate(i.cancelWasRequested),u.task},fromResult:function(n,t){var i=new(System.Threading.Tasks.Task$1(t||System.Object));return i.status=System.Threading.Tasks.TaskStatus.ranToCompletion,i.result=n,i},run:function(n){var t=new System.Threading.Tasks.TaskCompletionSource;return System.Threading.Tasks.Task.schedule(function(){try{var i=n();H5.is(i,System.Threading.Tasks.Task)?i.continueWith(function(){i.isFaulted()||i.isCanceled()?t.setException(i.exception.innerExceptions.Count>0?i.exception.innerExceptions.getItem(0):i.exception):t.setResult(i.getAwaitedResult())}):t.setResult(i)}catch(r){t.setException(System.Exception.create(r))}}),t.task},whenAll:function(n){var t=new System.Threading.Tasks.TaskCompletionSource,r,f,e=!1,u=[],i;if(H5.is(n,System.Collections.IEnumerable)?n=H5.toArray(n):H5.isArray(n)||(n=Array.prototype.slice.call(arguments,0)),n.length===0)return t.setResult([]),t.task;for(f=n.length,r=new Array(n.length),i=0;i<n.length;i++)(function(i){n[i].continueWith(function(n){switch(n.status){case System.Threading.Tasks.TaskStatus.ranToCompletion:r[i]=n.getResult();break;case System.Threading.Tasks.TaskStatus.canceled:e=!0;break;case System.Threading.Tasks.TaskStatus.faulted:System.Array.addRange(u,n.exception.innerExceptions);break;default:throw new System.InvalidOperationException.$ctor1("Invalid task status: "+n.status);}--f==0&&(u.length>0?t.setException(u):e?t.setCanceled():t.setResult(r))})})(i);return t.task},whenAny:function(n){if(H5.is(n,System.Collections.IEnumerable)?n=H5.toArray(n):H5.isArray(n)||(n=Array.prototype.slice.call(arguments,0)),!n.length)throw new System.ArgumentException.$ctor1("At least one task is required");for(var i=new System.Threading.Tasks.TaskCompletionSource,t=0;t<n.length;t++)n[t].continueWith(function(n){switch(n.status){case System.Threading.Tasks.TaskStatus.ranToCompletion:i.trySetResult(n);break;case System.Threading.Tasks.TaskStatus.canceled:case System.Threading.Tasks.TaskStatus.faulted:i.trySetException(n.exception.innerExceptions);break;default:throw new System.InvalidOperationException.$ctor1("Invalid task status: "+n.status);}});return i.task},fromCallback:function(n,t){var i=new System.Threading.Tasks.TaskCompletionSource,r=Array.prototype.slice.call(arguments,2),u;return u=function(n){i.setResult(n)},r.push(u),n[t].apply(n,r),i.task},fromCallbackResult:function(n,t,i){var r=new System.Threading.Tasks.TaskCompletionSource,u=Array.prototype.slice.call(arguments,3),f;return f=function(n){r.setResult(n)},i(u,f),n[t].apply(n,u),r.task},fromCallbackOptions:function(n,t,i){var u=new System.Threading.Tasks.TaskCompletionSource,r=Array.prototype.slice.call(arguments,3),f;return f=function(n){u.setResult(n)},r[0]=r[0]||{},r[0][i]=f,n[t].apply(n,r),u.task},fromPromise:function(n,t,i,r){var u=new System.Threading.Tasks.TaskCompletionSource;return n.then||(n=n.promise()),typeof t=="number"?t=function(n){return function(){return arguments[n>=0?n:arguments.length+n]}}(t):typeof t!="function"&&(t=function(){return Array.prototype.slice.call(arguments,0)}),n.then(function(){u.setResult(t?t.apply(null,arguments):Array.prototype.slice.call(arguments,0))},function(){u.setException(i?i.apply(null,arguments):new H5.PromiseException(Array.prototype.slice.call(arguments,0)))},r),u.task}},getException:function(){return this.isCanceled()?null:this.exception},waitt:function(n,t){var f=n,r=new System.Threading.Tasks.TaskCompletionSource,i=!1,u;return t&&(t.cancelWasRequested=function(){i||(i=!0,clearTimeout(u),r.setException(new System.OperationCanceledException.$ctor1(t)))}),H5.is(n,System.TimeSpan)&&(f=n.getTotalMilliseconds()),u=setTimeout(function(){i=!0;r.setResult(!1)},f),this.continueWith(function(){clearTimeout(u);i||(i=!0,r.setResult(!0))}),r.task},wait:function(n){var r=this,t=new System.Threading.Tasks.TaskCompletionSource,i=!1;return n&&(n.cancelWasRequested=function(){i||(i=!0,t.setException(new System.OperationCanceledException.$ctor1(n)))}),this.continueWith(function(){i||(i=!0,r.isFaulted()||r.isCanceled()?t.setException(r.exception):t.setResult())}),t.task},c:function(n){this.isCompleted()?(System.Threading.Tasks.Task.queue.push(n),System.Threading.Tasks.Task.runQueue()):this.callbacks.push(n)},"continue":function(n){this.isCompleted()?(System.Threading.Tasks.Task.queue.push(n),System.Threading.Tasks.Task.runQueue()):this.callbacks.push(n)},continueWith:function(n,t){var i=new System.Threading.Tasks.TaskCompletionSource,r=this,u=t?function(){i.setResult(n(r))}:function(){try{i.setResult(n(r))}catch(t){i.setException(System.Exception.create(t))}};return this.isCompleted()?(System.Threading.Tasks.Task.queue.push(u),System.Threading.Tasks.Task.runQueue()):this.callbacks.push(u),i.task},start:function(){if(this.status!==System.Threading.Tasks.TaskStatus.created)throw new System.InvalidOperationException.$ctor1("Task was already started.");var n=this;this.status=System.Threading.Tasks.TaskStatus.running;System.Threading.Tasks.Task.schedule(function(){try{var t=n.action(n.state);delete n.action;delete n.state;n.complete(t)}catch(i){n.fail(new System.AggregateException(null,[System.Exception.create(i)]))}})},runCallbacks:function(){for(var n=this,t=0;t<n.callbacks.length;t++)n.callbacks[t](n);delete n.callbacks},complete:function(n){return this.isCompleted()?!1:(this.result=n,this.status=System.Threading.Tasks.TaskStatus.ranToCompletion,this.runCallbacks(),!0)},fail:function(n){return this.isCompleted()?!1:(this.exception=n,this.status=this.exception.hasTaskCanceledException&&this.exception.hasTaskCanceledException()?System.Threading.Tasks.TaskStatus.canceled:System.Threading.Tasks.TaskStatus.faulted,this.runCallbacks(),!0)},cancel:function(n){return this.isCompleted()?!1:(this.exception=n||new System.AggregateException(null,[new System.Threading.Tasks.TaskCanceledException.$ctor3(this)]),this.status=System.Threading.Tasks.TaskStatus.canceled,this.runCallbacks(),!0)},isCanceled:function(){return this.status===System.Threading.Tasks.TaskStatus.canceled},isCompleted:function(){return this.status===System.Threading.Tasks.TaskStatus.ranToCompletion||this.status===System.Threading.Tasks.TaskStatus.canceled||this.status===System.Threading.Tasks.TaskStatus.faulted},isC:function(){return this.status===System.Threading.Tasks.TaskStatus.ranToCompletion||this.status===System.Threading.Tasks.TaskStatus.canceled||this.status===System.Threading.Tasks.TaskStatus.faulted},isFaulted:function(){return this.status===System.Threading.Tasks.TaskStatus.faulted},_getResult:function(n){switch(this.status){case System.Threading.Tasks.TaskStatus.ranToCompletion:return this.result;case System.Threading.Tasks.TaskStatus.canceled:if(this.exception&&this.exception.innerExceptions)throw n?this.exception.innerExceptions.Count>0?this.exception.innerExceptions.getItem(0):null:this.exception;var t=new System.Threading.Tasks.TaskCanceledException.$ctor3(this);throw n?t:new System.AggregateException(null,[t]);case System.Threading.Tasks.TaskStatus.faulted:throw n?this.exception.innerExceptions.Count>0?this.exception.innerExceptions.getItem(0):null:this.exception;default:throw new System.InvalidOperationException.$ctor1("Task is not yet completed.");}},getResult:function(){return this._getResult(!1)},dispose:function(){},getAwaiter:function(){return this},getAwaitedResult:function(){return this._getResult(!0)},gAR:function(){return this._getResult(!0)}});H5.define("System.Threading.Tasks.Task$1",function(n){return{inherits:[System.Threading.Tasks.Task],ctor:function(n,t){this.$initialize();System.Threading.Tasks.Task.ctor.call(this,n,t)}}});H5.define("System.Threading.Tasks.TaskStatus",{$kind:"enum",$statics:{created:0,waitingForActivation:1,waitingToRun:2,running:3,waitingForChildrenToComplete:4,ranToCompletion:5,canceled:6,faulted:7}});H5.define("System.Threading.Tasks.TaskCompletionSource",{ctor:function(n){this.$initialize();this.task=new System.Threading.Tasks.Task(null,n);this.task.status=System.Threading.Tasks.TaskStatus.running},setCanceled:function(){if(!this.task.cancel())throw new System.InvalidOperationException.$ctor1("Task was already completed.");},sR:function(n){if(!this.task.complete(n))throw new System.InvalidOperationException.$ctor1("Task was already completed.");},setResult:function(n){if(!this.task.complete(n))throw new System.InvalidOperationException.$ctor1("Task was already completed.");},setException:function(n){if(!this.trySetException(n))throw new System.InvalidOperationException.$ctor1("Task was already completed.");},sE:function(n){if(!this.trySetException(n))throw new System.InvalidOperationException.$ctor1("Task was already completed.");},trySetCanceled:function(){return this.task.cancel()},trySetResult:function(n){return this.task.complete(n)},trySetException:function(n){return(H5.is(n,System.Exception)&&(n=[n]),n=new System.AggregateException(null,n),n.hasTaskCanceledException())?this.task.cancel(n):this.task.fail(n)}});H5.define("System.Threading.CancellationTokenSource",{inherits:[System.IDisposable],config:{alias:["dispose","System$IDisposable$Dispose"]},ctor:function(n){this.$initialize();this.timeout=typeof n=="number"&&n>=0?setTimeout(H5.fn.bind(this,this.cancel),n,-1):null;this.isCancellationRequested=!1;this.token=new System.Threading.CancellationToken(this);this.handlers=[]},cancel:function(n){var i,r,t;if(!this.isCancellationRequested){for(this.isCancellationRequested=!0,i=[],r=this.handlers,this.clean(),this.token.cancelWasRequested(),t=0;t<r.length;t++)try{r[t].f(r[t].s)}catch(u){if(n&&n!==-1)throw u;i.push(u)}if(i.length>0&&n!==-1)throw new System.AggregateException(null,i);}},cancelAfter:function(n){this.isCancellationRequested||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(H5.fn.bind(this,this.cancel),n,-1))},register:function(n,t){if(this.isCancellationRequested)return n(t),new System.Threading.CancellationTokenRegistration;else{var i={f:n,s:t};return this.handlers.push(i),new System.Threading.CancellationTokenRegistration(this,i)}},deregister:function(n){var t=this.handlers.indexOf(n);t>=0&&this.handlers.splice(t,1)},dispose:function(){this.clean()},clean:function(){if(this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.handlers=[],this.links){for(var n=0;n<this.links.length;n++)this.links[n].dispose();this.links=null}},statics:{createLinked:function(){var n=new System.Threading.CancellationTokenSource,i,t;for(n.links=[],i=H5.fn.bind(n,n.cancel),t=0;t<arguments.length;t++)n.links.push(arguments[t].register(i));return n}}});H5.define("System.Threading.CancellationToken",{$kind:"struct",ctor:function(n){this.$initialize();H5.is(n,System.Threading.CancellationTokenSource)||(n=n?System.Threading.CancellationToken.sourceTrue:System.Threading.CancellationToken.sourceFalse);this.source=n},cancelWasRequested:function(){},getCanBeCanceled:function(){return!this.source.uncancellable},getIsCancellationRequested:function(){return this.source.isCancellationRequested},throwIfCancellationRequested:function(){if(this.source.isCancellationRequested)throw new System.OperationCanceledException.$ctor1(this);},register:function(n,t){return this.source.register(n,t)},getHashCode:function(){return H5.getHashCode(this.source)},equals:function(n){return n.source===this.source},equalsT:function(n){return n.source===this.source},statics:{sourceTrue:{isCancellationRequested:!0,register:function(n,t){return n(t),new System.Threading.CancellationTokenRegistration}},sourceFalse:{uncancellable:!0,isCancellationRequested:!1,register:function(){return new System.Threading.CancellationTokenRegistration}},getDefaultValue:function(){return new System.Threading.CancellationToken}}});System.Threading.CancellationToken.none=new System.Threading.CancellationToken;H5.define("System.Threading.CancellationTokenRegistration",{inherits:function(){return[System.IDisposable,System.IEquatable$1(System.Threading.CancellationTokenRegistration)]},$kind:"struct",config:{alias:["dispose","System$IDisposable$Dispose"]},ctor:function(n,t){this.$initialize();this.cts=n;this.o=t},dispose:function(){this.cts&&(this.cts.deregister(this.o),this.cts=this.o=null)},equalsT:function(n){return this===n},equals:function(n){return this===n},statics:{getDefaultValue:function(){return new System.Threading.CancellationTokenRegistration}}});yt={isNull:function(n){return!H5.isDefined(n,!0)},isEmpty:function(n){return n==null||n.length===0||H5.is(n,System.Collections.ICollection)?n.getCount()===0:!1},isNotEmptyOrWhitespace:function(n){return H5.isDefined(n,!0)&&!/^$|\s+/.test(n)},isNotNull:function(n){return H5.isDefined(n,!0)},isNotEmpty:function(n){return!H5.Validation.isEmpty(n)},email:function(n){var t=/^(")?(?:[^\."])(?:(?:[\.])?(?:[\w\-!#$%&'*+/=?^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/;return t.test(n)},url:function(n){var t=/(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:\.\d{1,3}){3})(?!(?:\.\d{1,3}){2})(?!\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/;return t.test(n)},alpha:function(n){var t=/^[a-zA-Z_]+$/;return t.test(n)},alphaNum:function(n){var t=/^[a-zA-Z_]+$/;return t.test(n)},creditCard:function(n,t){var r,u,i,f,e=!1;if(t==="Visa")r=/^4\d{3}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/;else if(t==="MasterCard")r=/^5[1-5]\d{2}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/;else if(t==="Discover")r=/^6011[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/;else if(t==="AmericanExpress")r=/^3[4,7]\d{13}$/;else if(t==="DinersClub")r=/^(3[0,6,8]\d{12})|(5[45]\d{14})$/;else{if(!n||n.length<13||n.length>19)return!1;r=/[^0-9 \-]+/;e=!0}if(!r.test(n))return!1;for(n=n.split(e?"-":/[- ]/).join(""),u=0,i=2-n.length%2;i<=n.length;i+=2)u+=parseInt(n.charAt(i-1));for(i=n.length%2+1;i<n.length;i+=2)f=parseInt(n.charAt(i-1))*2,u+=f<10?f:f-9;return u%10==0}};H5.Validation=yt;H5.define("System.Attribute",{statics:{getCustomAttributes:function(n,t,i){var u,s,e;if(n==null)throw new System.ArgumentNullException.$ctor1("element");if(t==null)throw new System.ArgumentNullException.$ctor1("attributeType");if(u=n.at||[],n.ov===!0){for(var f=H5.Reflection.getBaseType(n.td),o=[],r=null;f!=null&&r==null;)r=H5.Reflection.getMembers(f,31,28,n.n),r.length==0?(s=H5.Reflection.getBaseType(f),s!=f&&(f=s),r=null):r=r[0];for(r!=null&&(o=System.Attribute.getCustomAttributes(r,t)),e=0;e<o.length;e++){var h=o[e],l=H5.getType(h),c=H5.getMetadata(l);(c&&c.am||!u.some(function(n){return H5.is(n,t)}))&&u.push(h)}}return t?u.filter(function(n){return H5.is(n,t)}):u},getCustomAttributes$1:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("element");if(t==null)throw new System.ArgumentNullException.$ctor1("attributeType");return n.getCustomAttributes(t||i)},isDefined:function(n,t,i){var r=System.Attribute.getCustomAttributes(n,t,i);return r.length>0}}});H5.define("System.SerializableAttribute",{inherits:[System.Attribute],ctors:{ctor:function(){this.$initialize();System.Attribute.ctor.call(this)}}});H5.define("System.ComponentModel.INotifyPropertyChanged",{$kind:"interface"});H5.define("System.ComponentModel.PropertyChangedEventArgs",{ctor:function(n,t,i){this.$initialize();this.propertyName=n;this.newValue=t;this.oldValue=i}});t={};t.convert={typeCodes:{Empty:0,Object:1,DBNull:2,Boolean:3,Char:4,SByte:5,Byte:6,Int16:7,UInt16:8,Int32:9,UInt32:10,Int64:11,UInt64:12,Single:13,Double:14,Decimal:15,DateTime:16,String:18},convertTypes:[null,System.Object,null,System.Boolean,System.Char,System.SByte,System.Byte,System.Int16,System.UInt16,System.Int32,System.UInt32,System.Int64,System.UInt64,System.Single,System.Double,System.Decimal,System.DateTime,System.Object,System.String],toBoolean:function(n,i){var r,u;n=H5.unbox(n,!0);switch(typeof n){case"boolean":return n;case"number":return n!==0;case"string":if(r=n.toLowerCase().trim(),r==="true")return!0;else if(r==="false")return!1;else throw new System.FormatException.$ctor1("String was not recognized as a valid Boolean.");case"object":if(n==null)return!1;if(n instanceof System.Decimal)return!n.isZero();if(System.Int64.is64Bit(n))return n.ne(0);break}return u=t.internal.suggestTypeCode(n),t.internal.throwInvalidCastEx(u,t.convert.typeCodes.Boolean),t.convert.convertToType(t.convert.typeCodes.Boolean,n,i||null)},toChar:function(n,i,r){var u=t.convert.typeCodes,o=H5.is(n,System.Char),f,e;if(n=H5.unbox(n,!0),n instanceof System.Decimal&&(n=n.toFloat()),(n instanceof System.Int64||n instanceof System.UInt64)&&(n=n.toNumber()),f=typeof n,r=r||t.internal.suggestTypeCode(n),r===u.String&&n==null&&(f="string"),r!==u.Object||o)switch(f){case"boolean":t.internal.throwInvalidCastEx(u.Boolean,u.Char);case"number":return e=t.internal.isFloatingType(r),(e||n%1!=0)&&t.internal.throwInvalidCastEx(r,u.Char),t.internal.validateNumberRange(n,u.Char,!0),n;case"string":if(n==null)throw new System.ArgumentNullException.$ctor1("value");if(n.length!==1)throw new System.FormatException.$ctor1("String must be exactly one character long.");return n.charCodeAt(0)}if(r===u.Object||f==="object"){if(n==null)return 0;H5.isDate(n)&&t.internal.throwInvalidCastEx(u.DateTime,u.Char)}return t.internal.throwInvalidCastEx(r,t.convert.typeCodes.Char),t.convert.convertToType(u.Char,n,i||null)},toSByte:function(n,i,r){return t.internal.toNumber(n,i||null,t.convert.typeCodes.SByte,r||null)},toByte:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.Byte)},toInt16:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.Int16)},toUInt16:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.UInt16)},toInt32:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.Int32)},toUInt32:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.UInt32)},toInt64:function(n,i){var r=t.internal.toNumber(n,i||null,t.convert.typeCodes.Int64);return new System.Int64(r)},toUInt64:function(n,i){var r=t.internal.toNumber(n,i||null,t.convert.typeCodes.UInt64);return new System.UInt64(r)},toSingle:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.Single)},toDouble:function(n,i){return t.internal.toNumber(n,i||null,t.convert.typeCodes.Double)},toDecimal:function(n,i){return n instanceof System.Decimal?n:new System.Decimal(t.internal.toNumber(n,i||null,t.convert.typeCodes.Decimal))},toDateTime:function(n,i){var r=t.convert.typeCodes,u,f;n=H5.unbox(n,!0);switch(typeof n){case"boolean":t.internal.throwInvalidCastEx(r.Boolean,r.DateTime);case"number":u=t.internal.suggestTypeCode(n);t.internal.throwInvalidCastEx(u,r.DateTime);case"string":return System.DateTime.parse(n,i||null);case"object":if(n==null)return t.internal.getMinValue(r.DateTime);if(H5.isDate(n))return n;n instanceof System.Decimal&&t.internal.throwInvalidCastEx(r.Decimal,r.DateTime);n instanceof System.Int64&&t.internal.throwInvalidCastEx(r.Int64,r.DateTime);n instanceof System.UInt64&&t.internal.throwInvalidCastEx(r.UInt64,r.DateTime);break}return f=t.internal.suggestTypeCode(n),t.internal.throwInvalidCastEx(f,t.convert.typeCodes.DateTime),t.convert.convertToType(r.DateTime,n,i||null)},toString:function(n,i,r){var u,f;if(n&&n.$boxed)return n.toString();u=t.convert.typeCodes;f=typeof n;switch(f){case"boolean":return n?"True":"False";case"number":return(r||null)===u.Char?String.fromCharCode(n):isNaN(n)?"NaN":(n%1!=0&&(n=parseFloat(n.toPrecision(15))),n.toString());case"string":return n;case"object":return n==null?"":n.toString!==Object.prototype.toString?n.toString():H5.isDate(n)?System.DateTime.format(n,null,i||null):n instanceof System.Decimal?n.isInteger()?n.toFixed(0,4):n.toPrecision(n.precision()):System.Int64.is64Bit(n)?n.toString():n.format?n.format(null,i||null):H5.getTypeName(n)}return t.convert.convertToType(t.convert.typeCodes.String,n,i||null)},toNumberInBase:function(n,i,r){var h,o,v,c,b,y,p,u,k,s,e,d;if(i!==2&&i!==8&&i!==10&&i!==16)throw new System.ArgumentException.$ctor1("Invalid Base.");if(h=t.convert.typeCodes,n==null)return r===h.Int64?System.Int64.Zero:r===h.UInt64?System.UInt64.Zero:0;if(n.length===0)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index was out of range. Must be non-negative and less than the size of the collection.");n=n.toLowerCase();var l=t.internal.getMinValue(r),a=t.internal.getMaxValue(r),w=!1,f=0;if(n[f]==="-"){if(i!==10)throw new System.ArgumentException.$ctor1("String cannot contain a minus sign if the base is not 10.");if(l>=0)throw new System.OverflowException.$ctor1("The string was being parsed as an unsigned number and could not have a negative sign.");w=!0;++f}else n[f]==="+"&&++f;if(i===16&&n.length>=2&&n[f]==="0"&&n[f+1]==="x"&&(f+=2),i===2)o=t.internal.charsToCodes("01");else if(i===8)o=t.internal.charsToCodes("01234567");else if(i===10)o=t.internal.charsToCodes("0123456789");else if(i===16)o=t.internal.charsToCodes("0123456789abcdef");else throw new System.ArgumentException.$ctor1("Invalid Base.");for(v={},c=0;c<o.length;c++)b=o[c],v[b]=c;if(y=o[0],p=o[o.length-1],r===h.Int64||r===h.UInt64){for(e=f;e<n.length;e++)if(s=n[e].charCodeAt(0),!(s>=y&&s<=p))if(e===f)throw new System.FormatException.$ctor1("Could not find any recognizable digits.");else throw new System.FormatException.$ctor1("Additional non-parsable characters are at the end of the string.");if(d=r===h.Int64,u=d?new System.Int64(H5.$Long.fromString(n,!1,i)):new System.UInt64(H5.$Long.fromString(n,!0,i)),u.toString(i)!==System.String.trimStartZeros(n))throw new System.OverflowException.$ctor1("Value was either too large or too small.");return u}else{for(u=0,k=a-l+1,e=f;e<n.length;e++)if(s=n[e].charCodeAt(0),s>=y&&s<=p){if(u*=i,u+=v[s],u>t.internal.typeRanges.Int64_MaxValue)throw new System.OverflowException.$ctor1("Value was either too large or too small.");}else if(e===f)throw new System.FormatException.$ctor1("Could not find any recognizable digits.");else throw new System.FormatException.$ctor1("Additional non-parsable characters are at the end of the string.");if(w&&(u*=-1),u>a&&i!==10&&l<0&&(u=u-k),u<l||u>a)throw new System.OverflowException.$ctor1("Value was either too large or too small.");return u}},toStringInBase:function(n,i,r){var w=t.convert.typeCodes,v,e,h,y,p,o,u,f,c;if(n=H5.unbox(n,!0),i!==2&&i!==8&&i!==10&&i!==16)throw new System.ArgumentException.$ctor1("Invalid Base.");var l=t.internal.getMinValue(r),a=t.internal.getMaxValue(r),s=System.Int64.is64Bit(n);if(s){if(n.lt(l)||n.gt(a))throw new System.OverflowException.$ctor1("Value was either too large or too small for an unsigned byte.");}else if(n<l||n>a)throw new System.OverflowException.$ctor1("Value was either too large or too small for an unsigned byte.");if(v=!1,s)return i===10?n.toString():n.value.toUnsigned().toString(i);else n<0&&(i===10?(v=!0,n*=-1):n=a+1-l+n);if(i===2)e="01";else if(i===8)e="01234567";else if(i===10)e="0123456789";else if(i===16)e="0123456789abcdef";else throw new System.ArgumentException.$ctor1("Invalid Base.");for(h={},y=e.split(""),o=0;o<y.length;o++)p=y[o],h[o]=p;if(u="",n===0||s&&n.eq(0))u="0";else if(s)while(n.gt(0))f=n.mod(i),n=n.sub(f).div(i),c=h[f.toNumber()],u+=c;else while(n>0)f=n%i,n=(n-f)/i,c=h[f],u+=c;return v&&(u+="-"),u.split("").reverse().join("")},toBase64String:function(n,i,r,u){var f;if(n==null)throw new System.ArgumentNullException.$ctor1("inArray");if(i=i||0,r=r!=null?r:n.length,u=u||0,r<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index was out of range. Must be non-negative and less than the size of the collection.");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("offset","Value must be positive.");if(u<0||u>1)throw new System.ArgumentException.$ctor1("Illegal enum value.");if(f=n.length,i>f-r)throw new System.ArgumentOutOfRangeException.$ctor4("offset","Offset and length must refer to a position in the string.");if(f===0)return"";var o=u===1,s=t.internal.toBase64_CalculateAndValidateOutputLength(r,o),e=[];return e.length=s,t.internal.convertToBase64Array(e,n,i,r,o),e.join("")},toBase64CharArray:function(n,i,r,u,f,e){var o,s,c;if(n==null)throw new System.ArgumentNullException.$ctor1("inArray");if(u==null)throw new System.ArgumentNullException.$ctor1("outArray");if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index was out of range. Must be non-negative and less than the size of the collection.");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("offsetIn","Value must be positive.");if(f<0)throw new System.ArgumentOutOfRangeException.$ctor4("offsetOut","Value must be positive.");if(e=e||0,e<0||e>1)throw new System.ArgumentException.$ctor1("Illegal enum value.");if(o=n.length,i>o-r)throw new System.ArgumentOutOfRangeException.$ctor4("offsetIn","Offset and length must refer to a position in the string.");if(o===0)return 0;var h=e===1,l=u.length,a=t.internal.toBase64_CalculateAndValidateOutputLength(r,h);if(f>l-a)throw new System.ArgumentOutOfRangeException.$ctor4("offsetOut","Either offset did not refer to a position in the string, or there is an insufficient length of destination character array.");return s=[],c=t.internal.convertToBase64Array(s,n,i,r,h),t.internal.charsToCodes(s,u,f),c},fromBase64String:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("s");var i=n.split("");return t.internal.fromBase64CharPtr(i,0,i.length)},fromBase64CharArray:function(n,i,r){if(n==null)throw new System.ArgumentNullException.$ctor1("inArray");if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index was out of range. Must be non-negative and less than the size of the collection.");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("offset","Value must be positive.");if(i>n.length-r)throw new System.ArgumentOutOfRangeException.$ctor4("offset","Offset and length must refer to a position in the string.");var u=t.internal.codesToChars(n);return t.internal.fromBase64CharPtr(u,i,r)},getTypeCode:function(n){return n==null?System.TypeCode.Object:n===System.Double?System.TypeCode.Double:n===System.Single?System.TypeCode.Single:n===System.Decimal?System.TypeCode.Decimal:n===System.Byte?System.TypeCode.Byte:n===System.SByte?System.TypeCode.SByte:n===System.UInt16?System.TypeCode.UInt16:n===System.Int16?System.TypeCode.Int16:n===System.UInt32?System.TypeCode.UInt32:n===System.Int32?System.TypeCode.Int32:n===System.UInt64?System.TypeCode.UInt64:n===System.Int64?System.TypeCode.Int64:n===System.Boolean?System.TypeCode.Boolean:n===System.Char?System.TypeCode.Char:n===System.DateTime?System.TypeCode.DateTime:n===System.String?System.TypeCode.String:System.TypeCode.Object},changeConversionType:function(n,i,r){if(i==null)throw new System.ArgumentNullException.$ctor1("conversionType");if(n==null){if(H5.Reflection.isValueType(i))throw new System.InvalidCastException.$ctor1("Null object cannot be converted to a value type.");return null}var f=t.convert.getTypeCode(H5.getType(n)),u=H5.as(n,System.IConvertible);if(u==null&&f==System.TypeCode.Object){if(H5.referenceEquals(H5.getType(n),i))return n;throw new System.InvalidCastException.$ctor1("Cannot convert to IConvertible");}if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Boolean,t.convert.convertTypes)]))return u==null?t.convert.toBoolean(n,r):u.System$IConvertible$ToBoolean(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Char,t.convert.convertTypes)]))return u==null?t.convert.toChar(n,r,f):u.System$IConvertible$ToChar(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.SByte,t.convert.convertTypes)]))return u==null?t.convert.toSByte(n,r,f):u.System$IConvertible$ToSByte(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Byte,t.convert.convertTypes)]))return u==null?t.convert.toByte(n,r):u.System$IConvertible$ToByte(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Int16,t.convert.convertTypes)]))return u==null?t.convert.toInt16(n,r):u.System$IConvertible$ToInt16(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.UInt16,t.convert.convertTypes)]))return u==null?t.convert.toUInt16(n,r):u.System$IConvertible$ToUInt16(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Int32,t.convert.convertTypes)]))return u==null?t.convert.toInt32(n,r):u.System$IConvertible$ToInt32(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.UInt32,t.convert.convertTypes)]))return u==null?t.convert.toUInt32(n,r):u.System$IConvertible$ToUInt32(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Int64,t.convert.convertTypes)]))return u==null?t.convert.toInt64(n,r):u.System$IConvertible$ToInt64(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.UInt64,t.convert.convertTypes)]))return u==null?t.convert.toUInt64(n,r):u.System$IConvertible$ToUInt64(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Single,t.convert.convertTypes)]))return u==null?t.convert.toSingle(n,r):u.System$IConvertible$ToSingle(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Double,t.convert.convertTypes)]))return u==null?t.convert.toDouble(n,r):u.System$IConvertible$ToDouble(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Decimal,t.convert.convertTypes)]))return u==null?t.convert.toDecimal(n,r):u.System$IConvertible$ToDecimal(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.DateTime,t.convert.convertTypes)]))return u==null?t.convert.toDateTime(n,r):u.System$IConvertible$ToDateTime(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.String,t.convert.convertTypes)]))return u==null?t.convert.toString(n,r,f):u.System$IConvertible$ToString(r);if(H5.referenceEquals(i,t.convert.convertTypes[System.Array.index(System.TypeCode.Object,t.convert.convertTypes)]))return n;if(u==null)throw new System.InvalidCastException.$ctor1("Cannot convert to IConvertible");return u.System$IConvertible$ToType(i,r)},changeType:function(n,i,r){if(H5.isFunction(i))return t.convert.changeConversionType(n,i,r);if(n==null&&(i===System.TypeCode.Empty||i===System.TypeCode.String||i===System.TypeCode.Object))return null;var f=t.convert.getTypeCode(H5.getType(n)),u=H5.as(n,System.IConvertible);if(u==null&&f==System.TypeCode.Object)throw new System.InvalidCastException.$ctor1("Cannot convert to IConvertible");switch(i){case System.TypeCode.Boolean:return u==null?t.convert.toBoolean(n,r):u.System$IConvertible$ToBoolean(provider);case System.TypeCode.Char:return u==null?t.convert.toChar(n,r,f):u.System$IConvertible$ToChar(provider);case System.TypeCode.SByte:return u==null?t.convert.toSByte(n,r,f):u.System$IConvertible$ToSByte(provider);case System.TypeCode.Byte:return u==null?t.convert.toByte(n,r,f):u.System$IConvertible$ToByte(provider);case System.TypeCode.Int16:return u==null?t.convert.toInt16(n,r):u.System$IConvertible$ToInt16(provider);case System.TypeCode.UInt16:return u==null?t.convert.toUInt16(n,r):u.System$IConvertible$ToUInt16(provider);case System.TypeCode.Int32:return u==null?t.convert.toInt32(n,r):u.System$IConvertible$ToInt32(provider);case System.TypeCode.UInt32:return u==null?t.convert.toUInt32(n,r):u.System$IConvertible$ToUInt32(provider);case System.TypeCode.Int64:return u==null?t.convert.toInt64(n,r):u.System$IConvertible$ToInt64(provider);case System.TypeCode.UInt64:return u==null?t.convert.toUInt64(n,r):u.System$IConvertible$ToUInt64(provider);case System.TypeCode.Single:return u==null?t.convert.toSingle(n,r):u.System$IConvertible$ToSingle(provider);case System.TypeCode.Double:return u==null?t.convert.toDouble(n,r):u.System$IConvertible$ToDouble(provider);case System.TypeCode.Decimal:return u==null?t.convert.toDecimal(n,r):u.System$IConvertible$ToDecimal(provider);case System.TypeCode.DateTime:return u==null?t.convert.toDateTime(n,r):u.System$IConvertible$ToDateTime(provider);case System.TypeCode.String:return u==null?t.convert.toString(n,r,f):u.System$IConvertible$ToString(provider);case System.TypeCode.Object:return n;case System.TypeCode.DBNull:throw new System.InvalidCastException.$ctor1("Cannot convert DBNull values");case System.TypeCode.Empty:throw new System.InvalidCastException.$ctor1("Cannot convert Empty values");default:throw new System.ArgumentException.$ctor1("Unknown type code");}}};t.internal={base64Table:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/","="],typeRanges:{Char_MinValue:0,Char_MaxValue:65535,Byte_MinValue:0,Byte_MaxValue:255,SByte_MinValue:-128,SByte_MaxValue:127,Int16_MinValue:-32768,Int16_MaxValue:32767,UInt16_MinValue:0,UInt16_MaxValue:65535,Int32_MinValue:-2147483648,Int32_MaxValue:2147483647,UInt32_MinValue:0,UInt32_MaxValue:4294967295,Int64_MinValue:System.Int64.MinValue,Int64_MaxValue:System.Int64.MaxValue,UInt64_MinValue:System.UInt64.MinValue,UInt64_MaxValue:System.UInt64.MaxValue,Single_MinValue:-340282347e30,Single_MaxValue:340282347e30,Double_MinValue:-17976931348623157e292,Double_MaxValue:17976931348623157e292,Decimal_MinValue:System.Decimal.MinValue,Decimal_MaxValue:System.Decimal.MaxValue},base64LineBreakPosition:76,getTypeCodeName:function(n){var r=t.convert.typeCodes,u,i,e,f;if(t.internal.typeCodeNames==null){u={};for(i in r)r.hasOwnProperty(i)&&(e=r[i],u[e]=i);t.internal.typeCodeNames=u}if(f=t.internal.typeCodeNames[n],f==null)throw System.ArgumentOutOfRangeException("typeCode","The specified typeCode is undefined.");return f},suggestTypeCode:function(n){var i=t.convert.typeCodes,r=typeof n;switch(r){case"boolean":return i.Boolean;case"number":return n%1!=0?i.Double:i.Int32;case"string":return i.String;case"object":if(H5.isDate(n))return i.DateTime;if(n!=null)return i.Object;break}return null},getMinValue:function(n){var i=t.convert.typeCodes;switch(n){case i.Char:return t.internal.typeRanges.Char_MinValue;case i.SByte:return t.internal.typeRanges.SByte_MinValue;case i.Byte:return t.internal.typeRanges.Byte_MinValue;case i.Int16:return t.internal.typeRanges.Int16_MinValue;case i.UInt16:return t.internal.typeRanges.UInt16_MinValue;case i.Int32:return t.internal.typeRanges.Int32_MinValue;case i.UInt32:return t.internal.typeRanges.UInt32_MinValue;case i.Int64:return t.internal.typeRanges.Int64_MinValue;case i.UInt64:return t.internal.typeRanges.UInt64_MinValue;case i.Single:return t.internal.typeRanges.Single_MinValue;case i.Double:return t.internal.typeRanges.Double_MinValue;case i.Decimal:return t.internal.typeRanges.Decimal_MinValue;case i.DateTime:return System.DateTime.getMinValue();default:return null}},getMaxValue:function(n){var i=t.convert.typeCodes;switch(n){case i.Char:return t.internal.typeRanges.Char_MaxValue;case i.SByte:return t.internal.typeRanges.SByte_MaxValue;case i.Byte:return t.internal.typeRanges.Byte_MaxValue;case i.Int16:return t.internal.typeRanges.Int16_MaxValue;case i.UInt16:return t.internal.typeRanges.UInt16_MaxValue;case i.Int32:return t.internal.typeRanges.Int32_MaxValue;case i.UInt32:return t.internal.typeRanges.UInt32_MaxValue;case i.Int64:return t.internal.typeRanges.Int64_MaxValue;case i.UInt64:return t.internal.typeRanges.UInt64_MaxValue;case i.Single:return t.internal.typeRanges.Single_MaxValue;case i.Double:return t.internal.typeRanges.Double_MaxValue;case i.Decimal:return t.internal.typeRanges.Decimal_MaxValue;case i.DateTime:return System.DateTime.getMaxValue();default:throw new System.ArgumentOutOfRangeException.$ctor4("typeCode","The specified typeCode is undefined.");}},isFloatingType:function(n){var i=t.convert.typeCodes;return n===i.Single||n===i.Double||n===i.Decimal},toNumber:function(n,i,r,u){var c,l,a,s,h;n=H5.unbox(n,!0);var f=t.convert.typeCodes,e=typeof n,o=t.internal.isFloatingType(r);u===f.String&&(e="string");(System.Int64.is64Bit(n)||n instanceof System.Decimal)&&(e="number");switch(e){case"boolean":return n?1:0;case"number":return r===f.Decimal?(t.internal.validateNumberRange(n,r,!0),new System.Decimal(n,i)):r===f.Int64?(t.internal.validateNumberRange(n,r,!0),new System.Int64(n)):r===f.UInt64?(t.internal.validateNumberRange(n,r,!0),new System.UInt64(n)):(System.Int64.is64Bit(n)?n=n.toNumber():n instanceof System.Decimal&&(n=n.toFloat()),o||n%1==0||(n=t.internal.roundToInt(n,r)),o&&(c=t.internal.getMinValue(r),l=t.internal.getMaxValue(r),n>l?n=Infinity:n<c&&(n=-Infinity)),t.internal.validateNumberRange(n,r,!1),n);case"string":if(n==null){if(i!=null)throw new System.ArgumentNullException.$ctor3("String","Value cannot be null.");return 0}if(o)if(a=(i||System.Globalization.CultureInfo.getCurrentCulture()).getFormat(System.Globalization.NumberFormatInfo),s=a.numberDecimalSeparator,r===f.Decimal){if(!new RegExp("^[+-]?(\\d+|\\d+.|\\d*\\"+s+"\\d+)$").test(n)&&!/^[+-]?[0-9]+$/.test(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");n=new System.Decimal(n,i)}else{if(!new RegExp("^[-+]?[0-9]*\\"+s+"?[0-9]+([eE][-+]?[0-9]+)?$").test(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");n=H5.Int.parseFloat(n,i)}else{if(!/^[+-]?[0-9]+$/.test(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");h=n;r===f.Int64?(n=new System.Int64(n),System.String.trimStartZeros(h)!==n.toString()&&this.throwOverflow(t.internal.getTypeCodeName(r))):r===f.UInt64?(n=new System.UInt64(n),System.String.trimStartZeros(h)!==n.toString()&&this.throwOverflow(t.internal.getTypeCodeName(r))):n=parseInt(n,10)}if(isNaN(n))throw new System.FormatException.$ctor1("Input string was not in a correct format.");return t.internal.validateNumberRange(n,r,!0),n;case"object":if(n==null)return 0;H5.isDate(n)&&t.internal.throwInvalidCastEx(t.convert.typeCodes.DateTime,r);break}return u=u||t.internal.suggestTypeCode(n),t.internal.throwInvalidCastEx(u,r),t.convert.convertToType(r,n,i)},validateNumberRange:function(n,i,r){var u=t.convert.typeCodes,e=t.internal.getMinValue(i),o=t.internal.getMaxValue(i),f=t.internal.getTypeCodeName(i);(i!==u.Single&&i!==u.Double||r||n!==Infinity&&n!==-Infinity)&&(i===u.Decimal||i===u.Int64||i===u.UInt64?i===u.Decimal?(System.Int64.is64Bit(n)||(e.gt(n)||o.lt(n))&&this.throwOverflow(f),n=new System.Decimal(n)):i===u.Int64?(n instanceof System.UInt64?n.gt(System.Int64.MaxValue)&&this.throwOverflow(f):n instanceof System.Decimal?(n.gt(new System.Decimal(o))||n.lt(new System.Decimal(e)))&&this.throwOverflow(f):n instanceof System.Int64||(e.toNumber()>n||o.toNumber()<n)&&this.throwOverflow(f),n=new System.Int64(n)):i===u.UInt64&&(n instanceof System.Int64?n.isNegative()&&this.throwOverflow(f):n instanceof System.Decimal?(n.gt(new System.Decimal(o))||n.lt(new System.Decimal(e)))&&this.throwOverflow(f):n instanceof System.UInt64||(e.toNumber()>n||o.toNumber()<n)&&this.throwOverflow(f),n=new System.UInt64(n)):(n<e||n>o)&&this.throwOverflow(f))},throwOverflow:function(n){throw new System.OverflowException.$ctor1("Value was either too large or too small for '"+n+"'.");},roundToInt:function(n,i){var r,f;if(n%1==0)return n;r=n>=0?Math.floor(n):-1*Math.floor(-n);var u=n-r,e=t.internal.getMinValue(i),o=t.internal.getMaxValue(i);if(n>=0){if(n<o+.5)return(u>.5||u===.5&&(r&1)!=0)&&++r,r}else if(n>=e-.5)return(u<-.5||u===-.5&&(r&1)!=0)&&--r,r;f=t.internal.getTypeCodeName(i);throw new System.OverflowException.$ctor1("Value was either too large or too small for an '"+f+"'.");},toBase64_CalculateAndValidateOutputLength:function(n,i){var f=t.internal.base64LineBreakPosition,r=~~(n/3)*4,u;if(r+=n%3!=0?4:0,r===0)return 0;if(i&&(u=~~(r/f),r%f==0&&--u,r+=u*2),r>2147483647)throw new System.OutOfMemoryException;return r},convertToBase64Array:function(n,i,r,u,f){for(var s=t.internal.base64Table,a=t.internal.base64LineBreakPosition,c=u%3,l=r+(u-c),h=0,e=0,o=r;o<l;o+=3)f&&(h===a&&(n[e++]="\r",n[e++]="\n",h=0),h+=4),n[e]=s[(i[o]&252)>>2],n[e+1]=s[(i[o]&3)<<4|(i[o+1]&240)>>4],n[e+2]=s[(i[o+1]&15)<<2|(i[o+2]&192)>>6],n[e+3]=s[i[o+2]&63],e+=4;o=l;f&&c!==0&&h===t.internal.base64LineBreakPosition&&(n[e++]="\r",n[e++]="\n");switch(c){case 2:n[e]=s[(i[o]&252)>>2];n[e+1]=s[(i[o]&3)<<4|(i[o+1]&240)>>4];n[e+2]=s[(i[o+1]&15)<<2];n[e+3]=s[64];e+=4;break;case 1:n[e]=s[(i[o]&252)>>2];n[e+1]=s[(i[o]&3)<<4];n[e+2]=s[64];n[e+3]=s[64];e+=4;break}return e},fromBase64CharPtr:function(n,i,r){var u,f,e;if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("inputLength","Index was out of range. Must be non-negative and less than the size of the collection.");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("offset","Value must be positive.");while(r>0){if(u=n[i+r-1],u!==" "&&u!=="\n"&&u!=="\r"&&u!=="\t")break;r--}if(f=t.internal.fromBase64_ComputeResultLength(n,i,r),0>f)throw new System.InvalidOperationException.$ctor1("Contract voilation: 0 <= resultLength.");return e=[],e.length=f,t.internal.fromBase64_Decode(n,i,r,e,0,f),e},fromBase64_Decode:function(n,t,i,r,u,f){for(var k=u,a="A".charCodeAt(0),v="a".charCodeAt(0),y="0".charCodeAt(0),p="=".charCodeAt(0),d="+".charCodeAt(0),g="/".charCodeAt(0),nt=" ".charCodeAt(0),tt="\t".charCodeAt(0),it="\n".charCodeAt(0),rt="\r".charCodeAt(0),w="Z".charCodeAt(0)-"A".charCodeAt(0),ut="9".charCodeAt(0)-"0".charCodeAt(0),h=t+i,l=u+f,o,e=255,b=!1,c=!1,s;;){if(t>=h){b=!0;break}if(o=n[t].charCodeAt(0),t++,o-a>>>0<=w)o-=a;else if(o-v>>>0<=w)o-=v-26;else if(o-y>>>0<=ut)o-=y-52;else switch(o){case d:o=62;break;case g:o=63;break;case rt:case it:case nt:case tt:continue;case p:c=!0;break;default:throw new System.FormatException.$ctor1("The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.");}if(c)break;if(e=e<<6|o,(e&2147483648)!=0){if(l-u<3)return-1;r[u]=255&e>>16;r[u+1]=255&e>>8;r[u+2]=255&e;u+=3;e=255}}if(!b&&!c)throw new System.InvalidOperationException.$ctor1("Contract violation: should never get here.");if(c){if(o!==p)throw new System.InvalidOperationException.$ctor1("Contract violation: currCode == intEq.");if(t===h){if(e<<=6,(e&2147483648)==0)throw new System.FormatException.$ctor1("Invalid length for a Base-64 char array or string.");if(l-u<2)return-1;r[u]=255&e>>16;r[u+1]=255&e>>8;u+=2;e=255}else{while(t<h-1){if(s=n[t],s!==" "&&s!=="\n"&&s!=="\r"&&s!=="\t")break;t++}if(t===h-1&&n[t]==="="){if(e<<=12,(e&2147483648)==0)throw new System.FormatException.$ctor1("Invalid length for a Base-64 char array or string.");if(l-u<1)return-1;r[u]=255&e>>16;u++;e=255}else throw new System.FormatException.$ctor1("The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.");}}if(e!==255)throw new System.FormatException.$ctor1("Invalid length for a Base-64 char array or string.");return u-k},fromBase64_ComputeResultLength:function(n,t,i){var e="=",o=" ",f;if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("inputLength","Index was out of range. Must be non-negative and less than the size of the collection.");for(var s=t+i,u=i,r=0;t<s;)f=n[t],t++,f<=o?u--:f===e&&(u--,r++);if(0>u)throw new System.InvalidOperationException.$ctor1("Contract violation: 0 <= usefulInputLength.");if(0>r)throw new System.InvalidOperationException.$ctor1("Contract violation: 0 <= padding.");if(r!==0)if(r===1)r=2;else if(r===2)r=1;else throw new System.FormatException.$ctor1("The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.");return~~(u/4)*3+r},charsToCodes:function(n,t,i){if(n==null)return null;i=i||0;t==null&&(t=[],t.length=n.length);for(var r=0;r<n.length;r++)t[r+i]=n[r].charCodeAt(0);return t},codesToChars:function(n,t){var i,r;if(n==null)return null;for(t=t||[],i=0;i<n.length;i++)r=n[i],t[i]=String.fromCharCode(r);return t},throwInvalidCastEx:function(n,i){var r=t.internal.getTypeCodeName(n),u=t.internal.getTypeCodeName(i);throw new System.InvalidCastException.$ctor1("Invalid cast from '"+r+"' to '"+u+"'.");}};System.Convert=t.convert;H5.define("System.Net.WebSockets.ClientWebSocket",{inherits:[System.IDisposable],ctor:function(){this.$initialize();this.messageBuffer=[];this.state="none";this.options=new System.Net.WebSockets.ClientWebSocketOptions;this.disposed=!1;this.closeStatus=null;this.closeStatusDescription=null},getCloseStatus:function(){return this.closeStatus},getState:function(){return this.state},getCloseStatusDescription:function(){return this.closeStatusDescription},getSubProtocol:function(){return this.socket?this.socket.protocol:null},onCloseHandler:function(n){var t,i=!1;return n.code==1e3?(t="Status code: "+n.code+". Normal closure, meaning that the purpose for which the connection was established has been fulfilled.",i=!0):t=n.code==1001?"Status code: "+n.code+'. An endpoint is "going away", such as a server going down or a browser having navigated away from a page.':n.code==1002?"Status code: "+n.code+". An endpoint is terminating the connection due to a protocol error":n.code==1003?"Status code: "+n.code+". An endpoint is terminating the connection because it has received a type of data it cannot accept (e.g., an endpoint that understands only text data MAY send this if it receives a binary message).":n.code==1004?"Status code: "+n.code+". Reserved. The specific meaning might be defined in the future.":n.code==1005?"Status code: "+n.code+". No status code was actually present.":n.code==1006?"Status code: "+n.code+". The connection was closed abnormally, e.g., without sending or receiving a Close control frame":n.code==1007?"Status code: "+n.code+". An endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 [http://tools.ietf.org/html/rfc3629] data within a text message).":n.code==1008?"Status code: "+n.code+'. An endpoint is terminating the connection because it has received a message that "violates its policy". This reason is given either if there is no other sutible reason, or if there is a need to hide specific details about the policy.':n.code==1009?"Status code: "+n.code+". An endpoint is terminating the connection because it has received a message that is too big for it to process.":n.code==1010?"Status code: "+n.code+". An endpoint (client) is terminating the connection because it has expected the server to negotiate one or more extension, but the server didn't return them in the response message of the WebSocket handshake. <br /> Specifically, the extensions that are needed are: "+n.reason:n.code==1011?"Status code: "+n.code+". A server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.":n.code==1015?"Status code: "+n.code+". The connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified).":"Unknown reason",{code:n.code,reason:t}},connectAsync:function(n,t){if(this.state!=="none")throw new System.InvalidOperationException.$ctor1("Socket is not in initial state");this.options.setToReadOnly();this.state="connecting";var r=new System.Threading.Tasks.TaskCompletionSource,i=this;try{this.socket=new WebSocket(n.getAbsoluteUri(),this.options.requestedSubProtocols);this.socket.onerror=function(n){setTimeout(function(){i.closeInfo&&!i.closeInfo.success&&(n.message=i.closeInfo.reason);r.setException(System.Exception.create(n))},10)};this.socket.binaryType="arraybuffer";this.socket.onopen=function(){i.state="open";r.setResult(null)};this.socket.onmessage=function(n){var u=n.data,r={},t,f;if(r.bytes=[],typeof u=="string"){for(t=0;t<u.length;++t)r.bytes.push(u.charCodeAt(t));r.messageType="text";i.messageBuffer.push(r);return}if(u instanceof ArrayBuffer){for(f=new Uint8Array(u),t=0;t<f.length;t++)r.bytes.push(f[t]);r.messageType="binary";i.messageBuffer.push(r);return}throw new System.ArgumentException.$ctor1("Invalid message type.");};this.socket.onclose=function(n){i.state="closed";i.closeStatus=n.code;i.closeStatusDescription=n.reason;i.closeInfo=i.onCloseHandler(n)}}catch(u){r.setException(System.Exception.create(u))}return r.task},sendAsync:function(n,t,i,r){var f,u;this.throwIfNotConnected();f=new System.Threading.Tasks.TaskCompletionSource;try{if(t==="close")this.socket.close();else{var s=n.getArray(),o=n.getCount(),h=n.getOffset(),e=new Uint8Array(o);for(u=0;u<o;u++)e[u]=s[u+h];t==="text"&&(e=String.fromCharCode.apply(null,e));this.socket.send(e)}f.setResult(null)}catch(c){f.setException(System.Exception.create(c))}return f.task},receiveAsync:function(n,t){this.throwIfNotConnected();var u,i=new System.Threading.Tasks.TaskCompletionSource,r=this,f=H5.fn.bind(this,function(){var e,o,s,c,h;try{if(t.getIsCancellationRequested()){i.setException(new System.Threading.Tasks.TaskCanceledException("Receive has been cancelled.",i.task));return}if(r.messageBuffer.length===0){u=System.Threading.Tasks.Task.delay(0);u.continueWith(f);return}for(e=r.messageBuffer[0],o=n.getArray(),e.bytes.length<=o.length?(r.messageBuffer.shift(),s=e.bytes,c=!0):(s=e.bytes.slice(0,o.length),e.bytes=e.bytes.slice(o.length,e.bytes.length),c=!1),h=0;h<s.length;h++)o[h]=s[h];i.setResult(new System.Net.WebSockets.WebSocketReceiveResult(s.length,e.messageType,c))}catch(l){i.setException(System.Exception.create(l))}},arguments);return f(),i.task},closeAsync:function(n,t,i){if(this.throwIfNotConnected(),this.state!=="open")throw new System.InvalidOperationException.$ctor1("Socket is not in connected state");var r=new System.Threading.Tasks.TaskCompletionSource,e=this,u,f=function(){if(e.state==="closed"){r.setResult(null);return}if(i.getIsCancellationRequested()){r.setException(new System.Threading.Tasks.TaskCanceledException("Closing has been cancelled.",r.task));return}u=System.Threading.Tasks.Task.delay(0);u.continueWith(f)};try{this.state="closesent";this.socket.close(n,t)}catch(o){r.setException(System.Exception.create(o))}return f(),r.task},closeOutputAsync:function(n,t,i){if(this.throwIfNotConnected(),this.state!=="open")throw new System.InvalidOperationException.$ctor1("Socket is not in connected state");var r=new System.Threading.Tasks.TaskCompletionSource;try{this.state="closesent";this.socket.close(n,t);r.setResult(null)}catch(u){r.setException(System.Exception.create(u))}return r.task},abort:function(){this.Dispose()},Dispose:function(){this.disposed||(this.disposed=!0,this.messageBuffer=[],state==="open"&&(this.state="closesent",this.socket.close()))},throwIfNotConnected:function(){if(this.disposed)throw new System.InvalidOperationException.$ctor1("Socket is disposed.");if(this.socket.readyState!==1)throw new System.InvalidOperationException.$ctor1("Socket is not connected.");}});H5.define("System.Net.WebSockets.ClientWebSocketOptions",{ctor:function(){this.$initialize();this.isReadOnly=!1;this.requestedSubProtocols=[]},setToReadOnly:function(){if(this.isReadOnly)throw new System.InvalidOperationException.$ctor1("Options are already readonly.");this.isReadOnly=!0},addSubProtocol:function(n){if(this.isReadOnly)throw new System.InvalidOperationException.$ctor1("Socket already started.");if(this.requestedSubProtocols.indexOf(n)>-1)throw new System.ArgumentException.$ctor1("Socket cannot have duplicate sub-protocols.","subProtocol");this.requestedSubProtocols.push(n)}});H5.define("System.Net.WebSockets.WebSocketReceiveResult",{ctor:function(n,t,i,r,u){this.$initialize();this.count=n;this.messageType=t;this.endOfMessage=i;this.closeStatus=r;this.closeStatusDescription=u},getCount:function(){return this.count},getMessageType:function(){return this.messageType},getEndOfMessage:function(){return this.endOfMessage},getCloseStatus:function(){return this.closeStatus},getCloseStatusDescription:function(){return this.closeStatusDescription}});H5.assembly("System",{},function(n,t){H5.define("System.Uri",{statics:{methods:{equals:function(n,t){return n==t?!0:n==null||t==null?!1:t.equals(n)},notEquals:function(n,t){return!System.Uri.equals(n,t)}}},ctor:function(n){this.$initialize();this.absoluteUri=n},getAbsoluteUri:function(){return this.absoluteUri},toJSON:function(){return this.absoluteUri},toString:function(){return this.absoluteUri},equals:function(n){return n==null||!H5.is(n,System.Uri)?!1:this.absoluteUri===n.absoluteUri}})},!0);H5.define("H5.GeneratorEnumerable",{inherits:[System.Collections.IEnumerable],config:{alias:["GetEnumerator","System$Collections$IEnumerable$GetEnumerator"]},ctor:function(n){this.$initialize();this.GetEnumerator=n;this.System$Collections$IEnumerable$GetEnumerator=n}});H5.define("H5.GeneratorEnumerable$1",function(n){return{inherits:[System.Collections.Generic.IEnumerable$1(n)],config:{alias:["GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"]]},ctor:function(t){this.$initialize();this.GetEnumerator=t;this["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator"]=t;this.System$Collections$Generic$IEnumerable$1$GetEnumerator=t}}});H5.define("H5.GeneratorEnumerator",{inherits:[System.Collections.IEnumerator],current:null,config:{properties:{Current:{get:function(){return this.getCurrent()}}},alias:["getCurrent","System$Collections$IEnumerator$getCurrent","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset","Current","System$Collections$IEnumerator$Current"]},ctor:function(n){this.$initialize();this.moveNext=n;this.System$Collections$IEnumerator$moveNext=n},getCurrent:function(){return this.current},getCurrent$1:function(){return this.current},reset:function(){throw new System.NotSupportedException;}});H5.define("H5.GeneratorEnumerator$1",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.IDisposable],current:null,config:{properties:{Current:{get:function(){return this.getCurrent()}},Current$1:{get:function(){return this.getCurrent()}}},alias:["getCurrent",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$getCurrent$1","System$Collections$Generic$IEnumerator$1$getCurrent$1"],"Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"],"Current","System$Collections$IEnumerator$Current","Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset"]},ctor:function(n,t){this.$initialize();this.moveNext=n;this.System$Collections$IEnumerator$moveNext=n;this.final=t},getCurrent:function(){return this.current},getCurrent$1:function(){return this.current},System$Collections$IEnumerator$getCurrent:function(){return this.current},Dispose:function(){this.final&&this.final()},reset:function(){throw new System.NotSupportedException;}}}),function(n,t){var f={Identity:function(n){return n},True:function(){return!0},Blank:function(){}},o={Boolean:"boolean",Number:"number",String:"string",Object:"object",Undefined:typeof t,Function:typeof function(){}},w={"":f.Identity},r={createLambda:function(n){var t,l,i,a,u,e,r,s,h,v,c;if(n==null)return f.Identity;if(typeof n===o.String){if(t=w[n],t!=null)return t;if(n.indexOf("=>")===-1){for(l=new RegExp("[$]+","g"),i=0;(a=l.exec(n))!=null;)u=a[0].length,u>i&&(i=u);for(e=[],r=1;r<=i;r++){for(s="",h=0;h<r;h++)s+="$";e.push(s)}return v=Array.prototype.join.call(e,","),t=new Function(v,"return "+n),w[n]=t,t}else return c=n.match(/^[(\s]*([^()]*?)[)\s]*=>(.*)/),t=new Function(c[1],"return "+c[2]),w[n]=t,t}return n},isIEnumerable:function(n){if(typeof Enumerator!==o.Undefined)try{return new Enumerator(n),!0}catch(t){}return!1},defineProperty:Object.defineProperties!=null?function(n,t,i){Object.defineProperty(n,t,{enumerable:!1,configurable:!0,writable:!0,value:i})}:function(n,t,i){n[t]=i},compare:function(n,t){return n===t?0:n>t?1:-1},Dispose:function(n){n!=null&&n.Dispose()}},a={Before:0,Running:1,After:2},u=function(n,t,i){var u=new b,r=a.Before;this.getCurrent=u.getCurrent;this.reset=function(){throw new Error("Reset is not supported");};this.moveNext=function(){try{switch(r){case a.Before:r=a.Running;n();case a.Running:return t.apply(u)?!0:(this.Dispose(),!1);case a.After:return!1}}catch(i){this.Dispose();throw i;}};this.Dispose=function(){if(r==a.Running)try{i()}finally{r=a.After}};this.System$IDisposable$Dispose=this.Dispose;this.getCurrent$1=this.getCurrent;this.System$Collections$IEnumerator$getCurrent=this.getCurrent;this.System$Collections$IEnumerator$moveNext=this.moveNext;this.System$Collections$IEnumerator$reset=this.reset;Object.defineProperties(this,{Current$1:{get:this.getCurrent,enumerable:!0},Current:{get:this.getCurrent,enumerable:!0},System$Collections$IEnumerator$Current:{get:this.getCurrent,enumerable:!0}})},b,i,k,d,s,v,p,e,c,l,y,h;u.$$inherits=[];H5.Class.addExtend(u,[System.IDisposable,System.Collections.IEnumerator]);b=function(){var n=null;this.getCurrent=function(){return n};this.yieldReturn=function(t){return n=t,!0};this.yieldBreak=function(){return!1}};i=function(n){this.GetEnumerator=n};i.$$inherits=[];H5.Class.addExtend(i,[System.Collections.IEnumerable]);i.Utils={};i.Utils.createLambda=function(n){return r.createLambda(n)};i.Utils.createEnumerable=function(n){return new i(n)};i.Utils.createEnumerator=function(n,t,i){return new u(n,t,i)};i.Utils.extendTo=function(n){var u=n.prototype,o,t,f;n===Array?(o=e.prototype,r.defineProperty(u,"getSource",function(){return this})):(o=i.prototype,r.defineProperty(u,"GetEnumerator",function(){return i.from(this).GetEnumerator()}));for(t in o)(f=o[t],u[t]!=f)&&(u[t]==null||(t=t+"ByLinq",u[t]!=f))&&f instanceof Function&&r.defineProperty(u,t,f)};i.choice=function(){var n=arguments;return new i(function(){return new u(function(){n=n[0]instanceof Array?n[0]:n[0].GetEnumerator!=null?n[0].ToArray():n},function(){return this.yieldReturn(n[Math.floor(Math.random()*n.length)])},f.Blank)})};i.cycle=function(){var n=arguments;return new i(function(){var t=0;return new u(function(){n=n[0]instanceof Array?n[0]:n[0].GetEnumerator!=null?n[0].ToArray():n},function(){return t>=n.length&&(t=0),this.yieldReturn(n[t++])},f.Blank)})};k=new i(function(){return new u(f.Blank,function(){return!1},f.Blank)});i.empty=function(){return k};i.from=function(n,t){if(n==null)return null;if(n instanceof i)return n;if(typeof n==o.Number||typeof n==o.Boolean)return i.repeat(n,1);if(typeof n==o.String)return new i(function(){var t=0;return new u(f.Blank,function(){return t<n.length?this.yieldReturn(n.charCodeAt(t++)):!1},f.Blank)});var s=H5.as(n,System.Collections.IEnumerable);if(s)return new i(function(){var n;return new u(function(){n=H5.getEnumerator(s,t)},function(){var t=n.moveNext();return t?this.yieldReturn(n.Current):!1},function(){var t=H5.as(n,System.IDisposable);t&&t.Dispose()})});if(typeof n!=o.Function){if(typeof n.length==o.Number)return new e(n);if(!(n instanceof Object)&&r.isIEnumerable(n))return new i(function(){var i=!0,t;return new u(function(){t=new Enumerator(n)},function(){return i?i=!1:t.moveNext(),t.atEnd()?!1:this.yieldReturn(t.item())},f.Blank)});if(typeof Windows===o.Object&&typeof n.first===o.Function)return new i(function(){var i=!0,t;return new u(function(){t=n.first()},function(){return i?i=!1:t.moveNext(),t.hasCurrent?this.yieldReturn(t.current):this.yieldBreak()},f.Blank)})}return new i(function(){var t=[],i=0;return new u(function(){var i,r;for(i in n)r=n[i],r instanceof Function||!Object.prototype.hasOwnProperty.call(n,i)||t.push({key:i,value:r})},function(){return i<t.length?this.yieldReturn(t[i++]):!1},f.Blank)})};i.make=function(n){return i.repeat(n,1)};i.matches=function(n,t,r){return r==null&&(r=""),t instanceof RegExp&&(r+=t.ignoreCase?"i":"",r+=t.multiline?"m":"",t=t.source),r.indexOf("g")===-1&&(r+="g"),new i(function(){var i;return new u(function(){i=new RegExp(t,r)},function(){var t=i.exec(n);return t?this.yieldReturn(t):!1},f.Blank)})};i.range=function(n,t,r){return r==null&&(r=1),new i(function(){var i,e=0;return new u(function(){i=n-r},function(){return e++<t?this.yieldReturn(i+=r):this.yieldBreak()},f.Blank)})};i.rangeDown=function(n,t,r){return r==null&&(r=1),new i(function(){var i,e=0;return new u(function(){i=n+r},function(){return e++<t?this.yieldReturn(i-=r):this.yieldBreak()},f.Blank)})};i.rangeTo=function(n,t,r){return r==null&&(r=1),n<t?new i(function(){var i;return new u(function(){i=n-r},function(){var n=i+=r;return n<=t?this.yieldReturn(n):this.yieldBreak()},f.Blank)}):new i(function(){var i;return new u(function(){i=n+r},function(){var n=i-=r;return n>=t?this.yieldReturn(n):this.yieldBreak()},f.Blank)})};i.repeat=function(n,t){return t!=null?i.repeat(n).take(t):new i(function(){return new u(f.Blank,function(){return this.yieldReturn(n)},f.Blank)})};i.repeatWithFinalize=function(n,t){return n=r.createLambda(n),t=r.createLambda(t),new i(function(){var i;return new u(function(){i=n()},function(){return this.yieldReturn(i)},function(){i!=null&&(t(i),i=null)})})};i.generate=function(n,t){return t!=null?i.generate(n).take(t):(n=r.createLambda(n),new i(function(){return new u(f.Blank,function(){return this.yieldReturn(n())},f.Blank)}))};i.toInfinity=function(n,t){return n==null&&(n=0),t==null&&(t=1),new i(function(){var i;return new u(function(){i=n-t},function(){return this.yieldReturn(i+=t)},f.Blank)})};i.toNegativeInfinity=function(n,t){return n==null&&(n=0),t==null&&(t=1),new i(function(){var i;return new u(function(){i=n+t},function(){return this.yieldReturn(i-=t)},f.Blank)})};i.unfold=function(n,t){return t=r.createLambda(t),new i(function(){var r=!0,i;return new u(f.Blank,function(){return r?(r=!1,i=n,this.yieldReturn(i)):(i=t(i),this.yieldReturn(i))},f.Blank)})};i.defer=function(n){return new i(function(){var t;return new u(function(){t=i.from(n()).GetEnumerator()},function(){return t.moveNext()?this.yieldReturn(t.Current):this.yieldBreak()},function(){r.Dispose(t)})})};i.prototype.traverseBreadthFirst=function(n,t){var f=this;return n=r.createLambda(n),t=r.createLambda(t),new i(function(){var e,s=0,o=[];return new u(function(){e=f.GetEnumerator()},function(){for(;;){if(e.moveNext())return o.push(e.Current),this.yieldReturn(t(e.Current,s));var u=i.from(o).selectMany(function(t){return n(t)});if(u.any())s++,o=[],r.Dispose(e),e=u.GetEnumerator();else return!1}},function(){r.Dispose(e)})})};i.prototype.traverseDepthFirst=function(n,t){var f=this;return n=r.createLambda(n),t=r.createLambda(t),new i(function(){var o=[],e;return new u(function(){e=f.GetEnumerator()},function(){for(;;){if(e.moveNext()){var u=t(e.Current,o.length);return o.push(e),e=i.from(n(e.Current)).GetEnumerator(),this.yieldReturn(u)}if(o.length<=0)return!1;r.Dispose(e);e=o.pop()}},function(){try{r.Dispose(e)}finally{i.from(o).forEach(function(n){n.Dispose()})}})})};i.prototype.flatten=function(){var n=this;return new i(function(){var e,t=null;return new u(function(){e=n.GetEnumerator()},function(){for(;;){if(t!=null)if(t.moveNext())return this.yieldReturn(t.Current);else t=null;if(e.moveNext())if(e.Current instanceof Array){r.Dispose(t);t=i.from(e.Current).selectMany(f.Identity).flatten().GetEnumerator();continue}else return this.yieldReturn(e.Current);return!1}},function(){try{r.Dispose(e)}finally{r.Dispose(t)}})})};i.prototype.pairwise=function(n){var t=this;return n=r.createLambda(n),new i(function(){var i;return new u(function(){i=t.GetEnumerator();i.moveNext()},function(){var t=i.Current;return i.moveNext()?this.yieldReturn(n(t,i.Current)):!1},function(){r.Dispose(i)})})};i.prototype.scan=function(n,t){var f,e;return t==null?(t=r.createLambda(n),f=!1):(t=r.createLambda(t),f=!0),e=this,new i(function(){var i,o,s=!0;return new u(function(){i=e.GetEnumerator()},function(){if(s)if(s=!1,f)return this.yieldReturn(o=n);else if(i.moveNext())return this.yieldReturn(o=i.Current);return i.moveNext()?this.yieldReturn(o=t(o,i.Current)):!1},function(){r.Dispose(i)})})};i.prototype.select=function(n){if(n=r.createLambda(n),n.length<=1)return new l(this,null,n);else{var t=this;return new i(function(){var i,f=0;return new u(function(){i=t.GetEnumerator()},function(){return i.moveNext()?this.yieldReturn(n(i.Current,f++)):!1},function(){r.Dispose(i)})})}};i.prototype.selectMany=function(n,f){var e=this;return n=r.createLambda(n),f==null&&(f=function(n,t){return t}),f=r.createLambda(f),new i(function(){var s,o=t,h=0;return new u(function(){s=e.GetEnumerator()},function(){if(o===t&&!s.moveNext())return!1;do{if(o==null){var u=n(s.Current,h++);o=i.from(u).GetEnumerator()}if(o.moveNext())return this.yieldReturn(f(s.Current,o.Current));r.Dispose(o);o=null}while(s.moveNext());return!1},function(){try{r.Dispose(s)}finally{r.Dispose(o)}})})};i.prototype.where=function(n){if(n=r.createLambda(n),n.length<=1)return new c(this,n);else{var t=this;return new i(function(){var i,f=0;return new u(function(){i=t.GetEnumerator()},function(){while(i.moveNext())if(n(i.Current,f++))return this.yieldReturn(i.Current);return!1},function(){r.Dispose(i)})})}};i.prototype.choose=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i,f=0;return new u(function(){i=t.GetEnumerator()},function(){while(i.moveNext()){var t=n(i.Current,f++);if(t!=null)return this.yieldReturn(t)}return this.yieldBreak()},function(){r.Dispose(i)})})};i.prototype.ofType=function(n){var t=this;return new i(function(){var i;return new u(function(){i=H5.getEnumerator(t)},function(){while(i.moveNext()){var t=H5.as(i.Current,n);if(H5.hasValue(t))return this.yieldReturn(t)}return!1},function(){r.Dispose(i)})})};i.prototype.zip=function(){var e=arguments,t=r.createLambda(arguments[arguments.length-1]),f=this,n;if(arguments.length==2){if(n=arguments[0],n==null)throw new System.ArgumentNullException;return new i(function(){var e,o,s=0;return new u(function(){e=f.GetEnumerator();o=i.from(n).GetEnumerator()},function(){return e.moveNext()&&o.moveNext()?this.yieldReturn(t(e.Current,o.Current,s++)):!1},function(){try{r.Dispose(e)}finally{r.Dispose(o)}})})}else return new i(function(){var n,o=0;return new u(function(){var t=i.make(f).concat(i.from(e).takeExceptLast().select(i.from)).select(function(n){return n.GetEnumerator()}).ToArray();n=i.from(t)},function(){if(n.all(function(n){return n.moveNext()})){var i=n.select(function(n){return n.Current}).ToArray();return i.push(o++),this.yieldReturn(t.apply(null,i))}else return this.yieldBreak()},function(){i.from(n).forEach(r.Dispose)})})};i.prototype.merge=function(){var n=arguments,t=this;return new i(function(){var f,e=-1;return new u(function(){f=i.make(t).concat(i.from(n).select(i.from)).select(function(n){return n.GetEnumerator()}).ToArray()},function(){while(f.length>0){e=e>=f.length-1?0:e+1;var n=f[e];if(n.moveNext())return this.yieldReturn(n.Current);else n.Dispose(),f.splice(e--,1)}return this.yieldBreak()},function(){i.from(f).forEach(r.Dispose)})})};i.prototype.join=function(n,e,o,s,h){if(e=r.createLambda(e),o=r.createLambda(o),s=r.createLambda(s),n==null)throw new System.ArgumentNullException;var c=this;return new i(function(){var l,v,a=null,y=0;return new u(function(){l=c.GetEnumerator();v=i.from(n).toLookup(o,f.Identity,h)},function(){for(var n,i;;){if(a!=null){if(n=a[y++],n!==t)return this.yieldReturn(s(l.Current,n));n=null;y=0}if(l.moveNext())i=e(l.Current),a=v.get(i).ToArray();else return!1}},function(){r.Dispose(l)})})};i.prototype.groupJoin=function(n,t,e,o,s){t=r.createLambda(t);e=r.createLambda(e);o=r.createLambda(o);var h=this;if(n==null)throw new System.ArgumentNullException;return new i(function(){var c=h.GetEnumerator(),l=null;return new u(function(){c=h.GetEnumerator();l=i.from(n).toLookup(e,f.Identity,s)},function(){if(c.moveNext()){var n=l.get(t(c.Current));return this.yieldReturn(o(c.Current,n))}return!1},function(){r.Dispose(c)})})};i.prototype.all=function(n){n=r.createLambda(n);var t=!0;return this.forEach(function(i){if(!n(i))return t=!1,!1}),t};i.prototype.any=function(n){n=r.createLambda(n);var t=this.GetEnumerator();try{if(arguments.length==0)return t.moveNext();while(t.moveNext())if(n(t.Current))return!0;return!1}finally{r.Dispose(t)}};i.prototype.isEmpty=function(){return!this.any()};i.prototype.concat=function(){var t=this,n,f;if(arguments.length==1){if(n=arguments[0],n==null)throw new System.ArgumentNullException;return new i(function(){var e,f;return new u(function(){e=t.GetEnumerator()},function(){if(f==null){if(e.moveNext())return this.yieldReturn(e.Current);f=i.from(n).GetEnumerator()}return f.moveNext()?this.yieldReturn(f.Current):!1},function(){try{r.Dispose(e)}finally{r.Dispose(f)}})})}else return f=arguments,new i(function(){var n;return new u(function(){n=i.make(t).concat(i.from(f).select(i.from)).select(function(n){return n.GetEnumerator()}).ToArray()},function(){while(n.length>0){var t=n[0];if(t.moveNext())return this.yieldReturn(t.Current);else t.Dispose(),n.splice(0,1)}return this.yieldBreak()},function(){i.from(n).forEach(r.Dispose)})})};i.prototype.insert=function(n,t){var f=this;return new i(function(){var o,e,s=0,h=!1;return new u(function(){o=f.GetEnumerator();e=i.from(t).GetEnumerator()},function(){return s==n&&e.moveNext()?(h=!0,this.yieldReturn(e.Current)):o.moveNext()?(s++,this.yieldReturn(o.Current)):!h&&e.moveNext()?this.yieldReturn(e.Current):!1},function(){try{r.Dispose(o)}finally{r.Dispose(e)}})})};i.prototype.alternate=function(n){var t=this;return new i(function(){var f,e,s,o;return new u(function(){s=n instanceof Array||n.GetEnumerator!=null?i.from(i.from(n).ToArray()):i.make(n);e=t.GetEnumerator();e.moveNext()&&(f=e.Current)},function(){for(;;){if(o!=null)if(o.moveNext())return this.yieldReturn(o.Current);else o=null;if(f==null&&e.moveNext()){f=e.Current;o=s.GetEnumerator();continue}else if(f!=null){var n=f;return f=null,this.yieldReturn(n)}return this.yieldBreak()}},function(){try{r.Dispose(e)}finally{r.Dispose(o)}})})};i.prototype.contains=function(n,t){t=t||System.Collections.Generic.EqualityComparer$1.$default;var i=this.GetEnumerator();try{while(i.moveNext())if(t.equals2(i.Current,n))return!0;return!1}finally{r.Dispose(i)}};i.prototype.defaultIfEmpty=function(n){var f=this;return n===t&&(n=null),new i(function(){var t,i=!0;return new u(function(){t=f.GetEnumerator()},function(){if(t.moveNext())return i=!1,this.yieldReturn(t.Current);else if(i)return i=!1,this.yieldReturn(n);return!1},function(){r.Dispose(t)})})};i.prototype.distinct=function(n){return this.except(i.empty(),n)};i.prototype.distinctUntilChanged=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i,f,e;return new u(function(){i=t.GetEnumerator()},function(){while(i.moveNext()){var t=n(i.Current);if(e)return e=!1,f=t,this.yieldReturn(i.Current);if(f!==t)return f=t,this.yieldReturn(i.Current)}return this.yieldBreak()},function(){r.Dispose(i)})})};i.prototype.except=function(n,t){var f=this;if(n==null)throw new System.ArgumentNullException;return new i(function(){var o,e,s=!1;return new u(function(){o=f.GetEnumerator();e=new(System.Collections.Generic.Dictionary$2(System.Object,System.Object).$ctor3)(t);i.from(n).forEach(function(n){n==null?s=!0:e.containsKey(n)||e.add(n)})},function(){while(o.moveNext()){var n=o.Current;if(n==null){if(!s)return s=!0,this.yieldReturn(n)}else if(!e.containsKey(n))return e.add(n),this.yieldReturn(n)}return!1},function(){r.Dispose(o)})})};i.prototype.intersect=function(n,t){var f=this;if(n==null)throw new System.ArgumentNullException;return new i(function(){var e,o,s,h=!1,c=!1;return new u(function(){e=f.GetEnumerator();o=new(System.Collections.Generic.Dictionary$2(System.Object,System.Object).$ctor3)(t);i.from(n).forEach(function(n){n==null?h=!0:o.containsKey(n)||o.add(n)});s=new(System.Collections.Generic.Dictionary$2(System.Object,System.Object).$ctor3)(t)},function(){while(e.moveNext()){var n=e.Current;if(n==null){if(!c&&h)return c=!0,this.yieldReturn(n)}else if(!s.containsKey(n)&&o.containsKey(n))return s.add(n),this.yieldReturn(n)}return!1},function(){r.Dispose(e)})})};i.prototype.sequenceEqual=function(n,t){var f,u;if(t=t||System.Collections.Generic.EqualityComparer$1.$default,n==null)throw new System.ArgumentNullException;f=this.GetEnumerator();try{u=i.from(n).GetEnumerator();try{while(f.moveNext())if(!u.moveNext()||!t.equals2(f.Current,u.Current))return!1;return u.moveNext()?!1:!0}finally{r.Dispose(u)}}finally{r.Dispose(f)}};i.prototype.union=function(n,f){var e=this;if(n==null)throw new System.ArgumentNullException;return new i(function(){var h,o,s,c=!1;return new u(function(){h=e.GetEnumerator();s=new(System.Collections.Generic.Dictionary$2(System.Object,System.Object).$ctor3)(f)},function(){var r;if(o===t){while(h.moveNext())if(r=h.Current,r==null){if(!c)return c=!0,this.yieldReturn(r)}else if(!s.containsKey(r))return s.add(r),this.yieldReturn(r);o=i.from(n).GetEnumerator()}while(o.moveNext())if(r=o.Current,r==null){if(!c)return c=!0,this.yieldReturn(r)}else if(!s.containsKey(r))return s.add(r),this.yieldReturn(r);return!1},function(){try{r.Dispose(h)}finally{r.Dispose(o)}})})};i.prototype.orderBy=function(n,t){return new s(this,n,t,!1)};i.prototype.orderByDescending=function(n,t){return new s(this,n,t,!0)};i.prototype.reverse=function(){var n=this;return new i(function(){var t,i;return new u(function(){t=n.ToArray();i=t.length},function(){return i>0?this.yieldReturn(t[--i]):!1},f.Blank)})};i.prototype.shuffle=function(){var n=this;return new i(function(){var t;return new u(function(){t=n.ToArray()},function(){if(t.length>0){var n=Math.floor(Math.random()*t.length);return this.yieldReturn(t.splice(n,1)[0])}return!1},f.Blank)})};i.prototype.weightedSample=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i,r=0;return new u(function(){i=t.choose(function(t){var i=n(t);return i<=0?null:(r+=i,{value:t,bound:r})}).ToArray()},function(){var t;if(i.length>0){for(var f=Math.floor(Math.random()*r)+1,u=-1,n=i.length;n-u>1;)t=Math.floor((u+n)/2),i[t].bound>=f?n=t:u=t;return this.yieldReturn(i[n].value)}return this.yieldBreak()},f.Blank)})};i.prototype.groupBy=function(n,t,f,e){var o=this;return n=r.createLambda(n),t=r.createLambda(t),f!=null&&(f=r.createLambda(f)),new i(function(){var i;return new u(function(){i=o.toLookup(n,t,e).toEnumerable().GetEnumerator()},function(){while(i.moveNext())return f==null?this.yieldReturn(i.Current):this.yieldReturn(f(i.Current.key(),i.Current));return!1},function(){r.Dispose(i)})})};i.prototype.partitionBy=function(n,t,f,e){var s=this,o;return n=r.createLambda(n),t=r.createLambda(t),e=e||System.Collections.Generic.EqualityComparer$1.$default,f==null?(o=!1,f=function(n,t){return new h(n,t)}):(o=!0,f=r.createLambda(f)),new i(function(){var h,l,c=[];return new u(function(){h=s.GetEnumerator();h.moveNext()&&(l=n(h.Current),c.push(t(h.Current)))},function(){for(var r,u;(r=h.moveNext())==!0;)if(e.equals2(l,n(h.Current)))c.push(t(h.Current));else break;return c.length>0?(u=o?f(l,i.from(c)):f(l,c),r?(l=n(h.Current),c=[t(h.Current)]):c=[],this.yieldReturn(u)):!1},function(){r.Dispose(h)})})};i.prototype.buffer=function(n){var t=this;return new i(function(){var i;return new u(function(){i=t.GetEnumerator()},function(){for(var t=[],r=0;i.moveNext();)if(t.push(i.Current),++r>=n)return this.yieldReturn(t);return t.length>0?this.yieldReturn(t):!1},function(){r.Dispose(i)})})};i.prototype.aggregate=function(n,t,i){return i=r.createLambda(i),i(this.scan(n,t,i).last())};i.prototype.average=function(n,t){!n||t||H5.isFunction(n)||(t=n,n=null);n=r.createLambda(n);var i=t||0,u=0;if(this.forEach(function(t){t=n(t);t instanceof System.Decimal||System.Int64.is64Bit(t)?i=t.add(i):i instanceof System.Decimal||System.Int64.is64Bit(i)?i=i.add(t):i+=t;++u}),u===0)throw new System.InvalidOperationException.$ctor1("Sequence contains no elements");return i instanceof System.Decimal||System.Int64.is64Bit(i)?i.div(u):i/u};i.prototype.nullableAverage=function(n,t){return this.any(H5.isNull)?null:this.average(n,t)};i.prototype.count=function(n){n=n==null?f.True:r.createLambda(n);var t=0;return this.forEach(function(i,r){n(i,r)&&++t}),t};i.prototype.max=function(n){return n==null&&(n=f.Identity),this.select(n).aggregate(function(n,t){return H5.compare(n,t,!0)===1?n:t})};i.prototype.nullableMax=function(n){return this.any(H5.isNull)?null:this.max(n)};i.prototype.min=function(n){return n==null&&(n=f.Identity),this.select(n).aggregate(function(n,t){return H5.compare(n,t,!0)===-1?n:t})};i.prototype.nullableMin=function(n){return this.any(H5.isNull)?null:this.min(n)};i.prototype.maxBy=function(n){return n=r.createLambda(n),this.aggregate(function(t,i){return H5.compare(n(t),n(i),!0)===1?t:i})};i.prototype.minBy=function(n){return n=r.createLambda(n),this.aggregate(function(t,i){return H5.compare(n(t),n(i),!0)===-1?t:i})};i.prototype.sum=function(n,t){!n||t||H5.isFunction(n)||(t=n,n=null);n==null&&(n=f.Identity);var i=this.select(n).aggregate(0,function(n,t){return n instanceof System.Decimal||System.Int64.is64Bit(n)?n.add(t):t instanceof System.Decimal||System.Int64.is64Bit(t)?t.add(n):n+t});return i===0&&t?t:i};i.prototype.nullableSum=function(n,t){return this.any(H5.isNull)?null:this.sum(n,t)};i.prototype.elementAt=function(n){var t,i=!1;if(this.forEach(function(r,u){if(u==n)return t=r,i=!0,!1}),!i)throw new Error("index is less than 0 or greater than or equal to the number of elements in source.");return t};i.prototype.elementAtOrDefault=function(n,i){i===t&&(i=null);var r,u=!1;return this.forEach(function(t,i){if(i==n)return r=t,u=!0,!1}),u?r:i};i.prototype.first=function(n){if(n!=null)return this.where(n).first();var t,i=!1;if(this.forEach(function(n){return t=n,i=!0,!1}),!i)throw new Error("first:No element satisfies the condition.");return t};i.prototype.firstOrDefault=function(n,i){if(i===t&&(i=null),n!=null)return this.where(n).firstOrDefault(null,i);var r,u=!1;return this.forEach(function(n){return r=n,u=!0,!1}),u?r:i};i.prototype.last=function(n){if(n!=null)return this.where(n).last();var t,i=!1;if(this.forEach(function(n){i=!0;t=n}),!i)throw new Error("last:No element satisfies the condition.");return t};i.prototype.lastOrDefault=function(n,i){if(i===t&&(i=null),n!=null)return this.where(n).lastOrDefault(null,i);var r,u=!1;return this.forEach(function(n){u=!0;r=n}),u?r:i};i.prototype.single=function(n){if(n!=null)return this.where(n).single();var i,t=!1;if(this.forEach(function(n){if(t)throw new Error("single:sequence contains more than one element.");else t=!0,i=n}),!t)throw new Error("single:No element satisfies the condition.");return i};i.prototype.singleOrDefault=function(n,i){if(i===t&&(i=null),n!=null)return this.where(n).singleOrDefault(null,i);var u,r=!1;return this.forEach(function(n){if(r)throw new Error("single:sequence contains more than one element.");else r=!0,u=n}),r?u:i};i.prototype.skip=function(n){var t=this;return new i(function(){var i,f=0;return new u(function(){for(i=t.GetEnumerator();f++<n&&i.moveNext(););},function(){return i.moveNext()?this.yieldReturn(i.Current):!1},function(){r.Dispose(i)})})};i.prototype.skipWhile=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i,e=0,f=!1;return new u(function(){i=t.GetEnumerator()},function(){while(!f)if(i.moveNext()){if(!n(i.Current,e++))return f=!0,this.yieldReturn(i.Current);continue}else return!1;return i.moveNext()?this.yieldReturn(i.Current):!1},function(){r.Dispose(i)})})};i.prototype.take=function(n){var t=this;return new i(function(){var i,f=0;return new u(function(){i=t.GetEnumerator()},function(){return f++<n&&i.moveNext()?this.yieldReturn(i.Current):!1},function(){r.Dispose(i)})})};i.prototype.takeWhile=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i,f=0;return new u(function(){i=t.GetEnumerator()},function(){return i.moveNext()&&n(i.Current,f++)?this.yieldReturn(i.Current):!1},function(){r.Dispose(i)})})};i.prototype.takeExceptLast=function(n){n==null&&(n=1);var t=this;return new i(function(){if(n<=0)return t.GetEnumerator();var i,f=[];return new u(function(){i=t.GetEnumerator()},function(){while(i.moveNext()){if(f.length==n)return f.push(i.Current),this.yieldReturn(f.shift());f.push(i.Current)}return!1},function(){r.Dispose(i)})})};i.prototype.takeFromLast=function(n){if(n<=0||n==null)return i.empty();var t=this;return new i(function(){var o,f,e=[];return new u(function(){o=t.GetEnumerator()},function(){if(f==null){while(o.moveNext())e.length==n&&e.shift(),e.push(o.Current);f=i.from(e).GetEnumerator()}return f.moveNext()?this.yieldReturn(f.Current):!1},function(){r.Dispose(f)})})};i.prototype.indexOf=function(n,t){var i=null;return typeof n===o.Function?this.forEach(function(t,r){if(n(t,r))return i=r,!1}):(t=t||System.Collections.Generic.EqualityComparer$1.$default,this.forEach(function(r,u){if(t.equals2(r,n))return i=u,!1})),i!==null?i:-1};i.prototype.lastIndexOf=function(n,t){var i=-1;return typeof n===o.Function?this.forEach(function(t,r){n(t,r)&&(i=r)}):(t=t||System.Collections.Generic.EqualityComparer$1.$default,this.forEach(function(r,u){t.equals2(r,n)&&(i=u)})),i};i.prototype.asEnumerable=function(){return i.from(this)};i.prototype.ToArray=function(n){var t=System.Array.init([],n||System.Object);return this.forEach(function(n){t.push(n)}),t};i.prototype.toList=function(n){var t=[];return this.forEach(function(n){t.push(n)}),new(System.Collections.Generic.List$1(n||System.Object).$ctor1)(t)};i.prototype.toLookup=function(n,t,i){n=r.createLambda(n);t=r.createLambda(t);var f=new(System.Collections.Generic.Dictionary$2(System.Object,System.Object).$ctor3)(i),e=[],u;return this.forEach(function(i){var r=n(i),o=t(i),s={v:null};r==null?(u||(u=[],e.push(r)),u.push(o)):f.tryGetValue(r,s)?s.v.push(o):(e.push(r),f.add(r,[o]))}),new y(f,e,u)};i.prototype.toObject=function(n,t){n=r.createLambda(n);t=r.createLambda(t);var i={};return this.forEach(function(r){i[n(r)]=t(r)}),i};i.prototype.toDictionary=function(n,t,i,u,f){n=r.createLambda(n);t=r.createLambda(t);var e=new(System.Collections.Generic.Dictionary$2(i,u).$ctor3)(f);return this.forEach(function(i){e.add(n(i),t(i))}),e};i.prototype.toJSONString=function(n,t){if(typeof JSON===o.Undefined||JSON.stringify==null)throw new Error("toJSONString can't find JSON.stringify. This works native JSON support Browser or include json2.js");return JSON.stringify(this.ToArray(),n,t)};i.prototype.toJoinedString=function(n,t){return n==null&&(n=""),t==null&&(t=f.Identity),this.select(t).ToArray().join(n)};i.prototype.doAction=function(n){var t=this;return n=r.createLambda(n),new i(function(){var i,f=0;return new u(function(){i=t.GetEnumerator()},function(){return i.moveNext()?(n(i.Current,f++),this.yieldReturn(i.Current)):!1},function(){r.Dispose(i)})})};i.prototype.forEach=function(n){n=r.createLambda(n);var i=0,t=this.GetEnumerator();try{while(t.moveNext())if(n(t.Current,i++)===!1)break}finally{r.Dispose(t)}};i.prototype.write=function(n,t){n==null&&(n="");t=r.createLambda(t);var i=!0;this.forEach(function(r){i?i=!1:document.write(n);document.write(t(r))})};i.prototype.writeLine=function(n){n=r.createLambda(n);this.forEach(function(t){document.writeln(n(t)+"<br />")})};i.prototype.force=function(){var n=this.GetEnumerator();try{while(n.moveNext());}finally{r.Dispose(n)}};i.prototype.letBind=function(n){n=r.createLambda(n);var t=this;return new i(function(){var f;return new u(function(){f=i.from(n(t)).GetEnumerator()},function(){return f.moveNext()?this.yieldReturn(f.Current):!1},function(){r.Dispose(f)})})};i.prototype.share=function(){var i=this,n,t=!1;return new p(function(){return new u(function(){n==null&&(n=i.GetEnumerator())},function(){if(t)throw new Error("enumerator is disposed");return n.moveNext()?this.yieldReturn(n.Current):!1},f.Blank)},function(){t=!0;r.Dispose(n)})};i.prototype.memoize=function(){var e=this,n,t,i=!1;return new p(function(){var r=-1;return new u(function(){t==null&&(t=e.GetEnumerator(),n=[])},function(){if(i)throw new Error("enumerator is disposed");return(r++,n.length<=r)?t.moveNext()?this.yieldReturn(n[r]=t.Current):!1:this.yieldReturn(n[r])},f.Blank)},function(){i=!0;r.Dispose(t);n=null})};i.prototype.catchError=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i;return new u(function(){i=t.GetEnumerator()},function(){try{return i.moveNext()?this.yieldReturn(i.Current):!1}catch(t){return n(t),!1}},function(){r.Dispose(i)})})};i.prototype.finallyAction=function(n){n=r.createLambda(n);var t=this;return new i(function(){var i;return new u(function(){i=t.GetEnumerator()},function(){return i.moveNext()?this.yieldReturn(i.Current):!1},function(){try{r.Dispose(i)}finally{n()}})})};i.prototype.log=function(n){return n=r.createLambda(n),this.doAction(function(t){typeof console!==o.Undefined&&console.log(n(t))})};i.prototype.trace=function(n,t){return n==null&&(n="Trace"),t=r.createLambda(t),this.doAction(function(i){typeof console!==o.Undefined&&console.log(n,t(i))})};d={compare:function(n,t){if(H5.hasValue(n)){if(!H5.hasValue(t))return 1}else return H5.hasValue(t)?-1:0;if(typeof n=="string"&&typeof t=="string"){var i=System.String.compare(n,t,!0);if(i!==0)return i}return H5.compare(n,t)}};s=function(n,t,i,u,f){this.source=n;this.keySelector=r.createLambda(t);this.comparer=i||d;this.descending=u;this.parent=f};s.prototype=new i;s.prototype.constructor=s;H5.definei("System.Linq.IOrderedEnumerable$1");s.$$inherits=[];H5.Class.addExtend(s,[System.Collections.IEnumerable,System.Linq.IOrderedEnumerable$1]);s.prototype.createOrderedEnumerable=function(n,t,i){return new s(this.source,n,t,i,this)};s.prototype.thenBy=function(n,t){return this.createOrderedEnumerable(n,t,!1)};s.prototype.thenByDescending=function(n,t){return this.createOrderedEnumerable(n,t,!0)};s.prototype.GetEnumerator=function(){var i=this,t,n,r=0;return new u(function(){t=[];n=[];i.source.forEach(function(i,r){t.push(i);n.push(r)});var r=v.create(i,null);r.GenerateKeys(t);n.sort(function(n,t){return r.compare(n,t)})},function(){return r<n.length?this.yieldReturn(t[n[r++]]):!1},f.Blank)};v=function(n,t,i,r){this.keySelector=n;this.comparer=t;this.descending=i;this.child=r;this.keys=null};v.create=function(n,t){var i=new v(n.keySelector,n.comparer,n.descending,t);return n.parent!=null?v.create(n.parent,i):i};v.prototype.GenerateKeys=function(n){for(var i=n.length,u=this.keySelector,r=new Array(i),t=0;t<i;t++)r[t]=u(n[t]);this.keys=r;this.child!=null&&this.child.GenerateKeys(n)};v.prototype.compare=function(n,t){var i=this.comparer.compare(this.keys[n],this.keys[t]);return i==0?this.child!=null?this.child.compare(n,t):r.compare(n,t):this.descending?-i:i};p=function(n,t){this.Dispose=t;i.call(this,n)};p.prototype=new i;e=function(n){this.getSource=function(){return n}};e.prototype=new i;e.prototype.any=function(n){return n==null?this.getSource().length>0:i.prototype.any.apply(this,arguments)};e.prototype.count=function(n){return n==null?this.getSource().length:i.prototype.count.apply(this,arguments)};e.prototype.elementAt=function(n){var t=this.getSource();return 0<=n&&n<t.length?t[n]:i.prototype.elementAt.apply(this,arguments)};e.prototype.elementAtOrDefault=function(n,i){i===t&&(i=null);var r=this.getSource();return 0<=n&&n<r.length?r[n]:i};e.prototype.first=function(n){var t=this.getSource();return n==null&&t.length>0?t[0]:i.prototype.first.apply(this,arguments)};e.prototype.firstOrDefault=function(n,r){if(r===t&&(r=null),n!=null)return i.prototype.firstOrDefault.apply(this,arguments);var u=this.getSource();return u.length>0?u[0]:r};e.prototype.last=function(n){var t=this.getSource();return n==null&&t.length>0?t[t.length-1]:i.prototype.last.apply(this,arguments)};e.prototype.lastOrDefault=function(n,r){if(r===t&&(r=null),n!=null)return i.prototype.lastOrDefault.apply(this,arguments);var u=this.getSource();return u.length>0?u[u.length-1]:r};e.prototype.skip=function(n){var t=this.getSource();return new i(function(){var i;return new u(function(){i=n<0?0:n},function(){return i<t.length?this.yieldReturn(t[i++]):!1},f.Blank)})};e.prototype.takeExceptLast=function(n){return n==null&&(n=1),this.take(this.getSource().length-n)};e.prototype.takeFromLast=function(n){return this.skip(this.getSource().length-n)};e.prototype.reverse=function(){var n=this.getSource();return new i(function(){var t;return new u(function(){t=n.length},function(){return t>0?this.yieldReturn(n[--t]):!1},f.Blank)})};e.prototype.sequenceEqual=function(n,t){return(n instanceof e||n instanceof Array)&&t==null&&i.from(n).count()!=this.count()?!1:i.prototype.sequenceEqual.apply(this,arguments)};e.prototype.toJoinedString=function(n,t){var r=this.getSource();return t!=null||!(r instanceof Array)?i.prototype.toJoinedString.apply(this,arguments):(n==null&&(n=""),r.join(n))};e.prototype.GetEnumerator=function(){return new H5.ArrayEnumerator(this.getSource())};c=function(n,t){this.prevSource=n;this.prevPredicate=t};c.prototype=new i;c.prototype.where=function(n){if(n=r.createLambda(n),n.length<=1){var t=this.prevPredicate,u=function(i){return t(i)&&n(i)};return new c(this.prevSource,u)}else return i.prototype.where.call(this,n)};c.prototype.select=function(n){return n=r.createLambda(n),n.length<=1?new l(this.prevSource,this.prevPredicate,n):i.prototype.select.call(this,n)};c.prototype.GetEnumerator=function(){var t=this.prevPredicate,i=this.prevSource,n;return new u(function(){n=i.GetEnumerator()},function(){while(n.moveNext())if(t(n.Current))return this.yieldReturn(n.Current);return!1},function(){r.Dispose(n)})};l=function(n,t,i){this.prevSource=n;this.prevPredicate=t;this.prevSelector=i};l.prototype=new i;l.prototype.where=function(n){return n=r.createLambda(n),n.length<=1?new c(this,n):i.prototype.where.call(this,n)};l.prototype.select=function(n){if(n=r.createLambda(n),n.length<=1){var t=this.prevSelector,u=function(i){return n(t(i))};return new l(this.prevSource,this.prevPredicate,u)}else return i.prototype.select.call(this,n)};l.prototype.GetEnumerator=function(){var t=this.prevPredicate,i=this.prevSelector,f=this.prevSource,n;return new u(function(){n=f.GetEnumerator()},function(){while(n.moveNext())if(t==null||t(n.Current))return this.yieldReturn(i(n.Current));return!1},function(){r.Dispose(n)})};y=function(n,t,r){this.count=function(){return n.Count};this.get=function(t){if(t==null)return i.from(r?r:[]);var u={v:null},f=n.tryGetValue(t,u);return i.from(f?u.v:[])};this.contains=function(t){return t==null?!!r:n.containsKey(t)};this.toEnumerable=function(){return i.from(t).select(function(t){return t==null?new h(t,r):new h(t,n.getItem(t))})};this.GetEnumerator=function(){return this.toEnumerable().GetEnumerator()}};H5.definei("System.Linq.ILookup$2");y.$$inherits=[];H5.Class.addExtend(y,[System.Collections.IEnumerable,System.Linq.ILookup$2]);h=function(n,t){this.key=function(){return n};e.call(this,t)};h.prototype=new e;H5.definei("System.Linq.IGrouping$2");h.prototype.constructor=h;h.$$inherits=[];H5.Class.addExtend(h,[System.Collections.IEnumerable,System.Linq.IGrouping$2]);H5.Linq={};H5.Linq.Enumerable=i;System.Linq=System.Linq||{};System.Linq.Enumerable=i;System.Linq.Grouping$2=h;System.Linq.Lookup$2=y;System.Linq.OrderedEnumerable$1=s}(H5.global);H5.define("System.Runtime.Serialization.CollectionDataContractAttribute",{inherits:[System.Attribute],fields:{_name:null,_ns:null,_itemName:null,_keyName:null,_valueName:null,_isReference:!1,_isNameSetExplicitly:!1,_isNamespaceSetExplicitly:!1,_isReferenceSetExplicitly:!1,_isItemNameSetExplicitly:!1,_isKeyNameSetExplicitly:!1,_isValueNameSetExplicitly:!1},props:{Namespace:{get:function(){return this._ns},set:function(n){this._ns=n;this._isNamespaceSetExplicitly=!0}},IsNamespaceSetExplicitly:{get:function(){return this._isNamespaceSetExplicitly}},Name:{get:function(){return this._name},set:function(n){this._name=n;this._isNameSetExplicitly=!0}},IsNameSetExplicitly:{get:function(){return this._isNameSetExplicitly}},ItemName:{get:function(){return this._itemName},set:function(n){this._itemName=n;this._isItemNameSetExplicitly=!0}},IsItemNameSetExplicitly:{get:function(){return this._isItemNameSetExplicitly}},KeyName:{get:function(){return this._keyName},set:function(n){this._keyName=n;this._isKeyNameSetExplicitly=!0}},IsReference:{get:function(){return this._isReference},set:function(n){this._isReference=n;this._isReferenceSetExplicitly=!0}},IsReferenceSetExplicitly:{get:function(){return this._isReferenceSetExplicitly}},IsKeyNameSetExplicitly:{get:function(){return this._isKeyNameSetExplicitly}},ValueName:{get:function(){return this._valueName},set:function(n){this._valueName=n;this._isValueNameSetExplicitly=!0}},IsValueNameSetExplicitly:{get:function(){return this._isValueNameSetExplicitly}}},ctors:{ctor:function(){this.$initialize();System.Attribute.ctor.call(this)}}});H5.define("System.Runtime.Serialization.ContractNamespaceAttribute",{inherits:[System.Attribute],fields:{_clrNamespace:null,_contractNamespace:null},props:{ClrNamespace:{get:function(){return this._clrNamespace},set:function(n){this._clrNamespace=n}},ContractNamespace:{get:function(){return this._contractNamespace}}},ctors:{ctor:function(n){this.$initialize();System.Attribute.ctor.call(this);this._contractNamespace=n}}});H5.define("System.Runtime.Serialization.DataContractAttribute",{inherits:[System.Attribute],fields:{_name:null,_ns:null,_isNameSetExplicitly:!1,_isNamespaceSetExplicitly:!1,_isReference:!1,_isReferenceSetExplicitly:!1},props:{IsReference:{get:function(){return this._isReference},set:function(n){this._isReference=n;this._isReferenceSetExplicitly=!0}},IsReferenceSetExplicitly:{get:function(){return this._isReferenceSetExplicitly}},Namespace:{get:function(){return this._ns},set:function(n){this._ns=n;this._isNamespaceSetExplicitly=!0}},IsNamespaceSetExplicitly:{get:function(){return this._isNamespaceSetExplicitly}},Name:{get:function(){return this._name},set:function(n){this._name=n;this._isNameSetExplicitly=!0}},IsNameSetExplicitly:{get:function(){return this._isNameSetExplicitly}}},ctors:{ctor:function(){this.$initialize();System.Attribute.ctor.call(this)}}});H5.define("System.Runtime.Serialization.DataMemberAttribute",{inherits:[System.Attribute],fields:{_name:null,_isNameSetExplicitly:!1,_order:0,_isRequired:!1,_emitDefaultValue:!1},props:{Name:{get:function(){return this._name},set:function(n){this._name=n;this._isNameSetExplicitly=!0}},IsNameSetExplicitly:{get:function(){return this._isNameSetExplicitly}},Order:{get:function(){return this._order},set:function(n){if(n<0)throw new System.Runtime.Serialization.InvalidDataContractException.$ctor1("Property 'Order' in DataMemberAttribute attribute cannot be a negative number.");this._order=n}},IsRequired:{get:function(){return this._isRequired},set:function(n){this._isRequired=n}},EmitDefaultValue:{get:function(){return this._emitDefaultValue},set:function(n){this._emitDefaultValue=n}}},ctors:{init:function(){this._order=-1;this._emitDefaultValue=!0},ctor:function(){this.$initialize();System.Attribute.ctor.call(this)}}});H5.define("System.Runtime.Serialization.EnumMemberAttribute",{inherits:[System.Attribute],fields:{_value:null,_isValueSetExplicitly:!1},props:{Value:{get:function(){return this._value},set:function(n){this._value=n;this._isValueSetExplicitly=!0}},IsValueSetExplicitly:{get:function(){return this._isValueSetExplicitly}}},ctors:{ctor:function(){this.$initialize();System.Attribute.ctor.call(this)}}});H5.define("System.Runtime.Serialization.IDeserializationCallback",{$kind:"interface"});H5.define("System.Runtime.Serialization.IFormatterConverter",{$kind:"interface"});H5.define("System.Runtime.Serialization.IgnoreDataMemberAttribute",{inherits:[System.Attribute],ctors:{ctor:function(){this.$initialize();System.Attribute.ctor.call(this)}}});H5.define("System.Runtime.Serialization.InvalidDataContractException",{inherits:[System.Exception],ctors:{ctor:function(){this.$initialize();System.Exception.ctor.call(this)},$ctor1:function(n){this.$initialize();System.Exception.ctor.call(this,n)},$ctor2:function(n,t){this.$initialize();System.Exception.ctor.call(this,n,t)}}});H5.define("System.Runtime.Serialization.IObjectReference",{$kind:"interface"});H5.define("System.Runtime.Serialization.ISafeSerializationData",{$kind:"interface"});H5.define("System.Runtime.Serialization.ISerializable",{$kind:"interface"});H5.define("System.Runtime.Serialization.ISerializationSurrogateProvider",{$kind:"interface"});H5.define("System.Runtime.Serialization.KnownTypeAttribute",{inherits:[System.Attribute],fields:{_methodName:null,_type:null},props:{MethodName:{get:function(){return this._methodName}},Type:{get:function(){return this._type}}},ctors:{ctor:function(){this.$initialize();System.Attribute.ctor.call(this)},$ctor2:function(n){this.$initialize();System.Attribute.ctor.call(this);this._type=n},$ctor1:function(n){this.$initialize();System.Attribute.ctor.call(this);this._methodName=n}}});H5.define("System.Runtime.Serialization.SerializationEntry",{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new System.Runtime.Serialization.SerializationEntry}}},fields:{_name:null,_value:null,_type:null},props:{Value:{get:function(){return this._value}},Name:{get:function(){return this._name}},ObjectType:{get:function(){return this._type}}},ctors:{$ctor1:function(n,t,i){this.$initialize();this._name=n;this._value=t;this._type=i},ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return H5.addHash([7645431029,this._name,this._value,this._type])},equals:function(n){return H5.is(n,System.Runtime.Serialization.SerializationEntry)?H5.equals(this._name,n._name)&&H5.equals(this._value,n._value)&&H5.equals(this._type,n._type):!1},$clone:function(n){var t=n||new System.Runtime.Serialization.SerializationEntry;return t._name=this._name,t._value=this._value,t._type=this._type,t}}});H5.define("System.Runtime.Serialization.SerializationException",{inherits:[System.SystemException],statics:{fields:{s_nullMessage:null},ctors:{init:function(){this.s_nullMessage="Serialization error."}}},ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,System.Runtime.Serialization.SerializationException.s_nullMessage);this.HResult=-2146233076},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233076},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233076}}});H5.define("System.Runtime.Serialization.SerializationInfoEnumerator",{inherits:[System.Collections.IEnumerator],fields:{_members:null,_data:null,_types:null,_numItems:0,_currItem:0,_current:!1},props:{System$Collections$IEnumerator$Current:{get:function(){return this.Current.$clone()}},Current:{get:function(){if(this._current===!1)throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return new System.Runtime.Serialization.SerializationEntry.$ctor1(this._members[System.Array.index(this._currItem,this._members)],this._data[System.Array.index(this._currItem,this._data)],this._types[System.Array.index(this._currItem,this._types)])}},Name:{get:function(){if(this._current===!1)throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this._members[System.Array.index(this._currItem,this._members)]}},Value:{get:function(){if(this._current===!1)throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this._data[System.Array.index(this._currItem,this._data)]}},ObjectType:{get:function(){if(this._current===!1)throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this._types[System.Array.index(this._currItem,this._types)]}}},alias:["moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset"],ctors:{ctor:function(n,t,i,r){this.$initialize();this._members=n;this._data=t;this._types=i;this._numItems=r-1|0;this._currItem=-1;this._current=!1}},methods:{moveNext:function(){return this._currItem<this._numItems?(this._currItem=this._currItem+1|0,this._current=!0):this._current=!1,this._current},reset:function(){this._currItem=-1;this._current=!1}}});H5.define("System.Runtime.Serialization.StreamingContext",{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new System.Runtime.Serialization.StreamingContext}}},fields:{_additionalContext:null,_state:0},props:{State:{get:function(){return this._state}},Context:{get:function(){return this._additionalContext}}},ctors:{$ctor1:function(n){System.Runtime.Serialization.StreamingContext.$ctor2.call(this,n,null)},$ctor2:function(n,t){this.$initialize();this._state=n;this._additionalContext=t},ctor:function(){this.$initialize()}},methods:{equals:function(n){if(!H5.is(n,System.Runtime.Serialization.StreamingContext))return!1;var t=System.Nullable.getValue(H5.cast(H5.unbox(n,System.Runtime.Serialization.StreamingContext),System.Runtime.Serialization.StreamingContext));return H5.referenceEquals(t._additionalContext,this._additionalContext)&&t._state===this._state},getHashCode:function(){return this._state},$clone:function(n){var t=n||new System.Runtime.Serialization.StreamingContext;return t._additionalContext=this._additionalContext,t._state=this._state,t}}});H5.define("System.Runtime.Serialization.StreamingContextStates",{$kind:"enum",statics:{fields:{CrossProcess:1,CrossMachine:2,File:4,Persistence:8,Remoting:16,Other:32,Clone:64,CrossAppDomain:128,All:255}},$flags:!0});H5.define("System.Runtime.Serialization.OnSerializingAttribute",{inherits:[System.Attribute]});H5.define("System.Runtime.Serialization.OnSerializedAttribute",{inherits:[System.Attribute]});H5.define("System.Runtime.Serialization.OnDeserializingAttribute",{inherits:[System.Attribute]});H5.define("System.Runtime.Serialization.OnDeserializedAttribute",{inherits:[System.Attribute]});H5.define("System.Security.SecurityException",{inherits:[System.SystemException],statics:{fields:{DemandedName:null,GrantedSetName:null,RefusedSetName:null,DeniedName:null,PermitOnlyName:null,UrlName:null},ctors:{init:function(){this.DemandedName="Demanded";this.GrantedSetName="GrantedSet";this.RefusedSetName="RefusedSet";this.DeniedName="Denied";this.PermitOnlyName="PermitOnly";this.UrlName="Url"}}},props:{Demanded:null,DenySetInstance:null,GrantedSet:null,Method:null,PermissionState:null,PermissionType:null,PermitOnlySetInstance:null,RefusedSet:null,Url:null},ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Security error.");this.HResult=-2146233078},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233078},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233078},$ctor3:function(n,t){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233078;this.PermissionType=t},$ctor4:function(n,t,i){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233078;this.PermissionType=t;this.PermissionState=i}},methods:{toString:function(){return H5.toString(this)}}});H5.define("System.UnauthorizedAccessException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Attempted to perform an unauthorized operation.");this.HResult=-2147024891},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147024891},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147024891}}});H5.define("System.UnhandledExceptionEventArgs",{fields:{_exception:null,_isTerminating:!1},props:{ExceptionObject:{get:function(){return this._exception}},IsTerminating:{get:function(){return this._isTerminating}}},ctors:{ctor:function(n,t){this.$initialize();System.Object.call(this);this._exception=n;this._isTerminating=t}}});H5.define("System.Text.RegularExpressions.Regex",{statics:{_cacheSize:15,_defaultMatchTimeout:System.TimeSpan.fromMilliseconds(-1),getCacheSize:function(){return System.Text.RegularExpressions.Regex._cacheSize},setCacheSize:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("value");System.Text.RegularExpressions.Regex._cacheSize=n},escape:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("str");return System.Text.RegularExpressions.RegexParser.escape(n)},unescape:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("str");return System.Text.RegularExpressions.RegexParser.unescape(n)},isMatch:function(n,t,i,r){var u=System.Text.RegularExpressions,f;return H5.isDefined(i)||(i=u.RegexOptions.None),H5.isDefined(r)||(r=u.Regex._defaultMatchTimeout),f=new System.Text.RegularExpressions.Regex.ctor(t,i,r,!0),f.isMatch(n)},match:function(n,t,i,r){var u=System.Text.RegularExpressions,f;return H5.isDefined(i)||(i=u.RegexOptions.None),H5.isDefined(r)||(r=u.Regex._defaultMatchTimeout),f=new System.Text.RegularExpressions.Regex.ctor(t,i,r,!0),f.match(n)},matches:function(n,t,i,r){var u=System.Text.RegularExpressions,f;return H5.isDefined(i)||(i=u.RegexOptions.None),H5.isDefined(r)||(r=u.Regex._defaultMatchTimeout),f=new System.Text.RegularExpressions.Regex.ctor(t,i,r,!0),f.matches(n)},replace:function(n,t,i,r,u){var f=System.Text.RegularExpressions,e;return H5.isDefined(r)||(r=f.RegexOptions.None),H5.isDefined(u)||(u=f.Regex._defaultMatchTimeout),e=new System.Text.RegularExpressions.Regex.ctor(t,r,u,!0),e.replace(n,i)},split:function(n,t,i,r){var u=System.Text.RegularExpressions,f;return H5.isDefined(i)||(i=u.RegexOptions.None),H5.isDefined(r)||(r=u.Regex._defaultMatchTimeout),f=new System.Text.RegularExpressions.Regex.ctor(t,i,r,!0),f.split(n)}},_pattern:"",_matchTimeout:System.TimeSpan.fromMilliseconds(-1),_runner:null,_caps:null,_capsize:0,_capnames:null,_capslist:null,config:{init:function(){this._options=System.Text.RegularExpressions.RegexOptions.None}},ctor:function(n,t,i,r){var u,f,e;if(this.$initialize(),H5.isDefined(t)||(t=System.Text.RegularExpressions.RegexOptions.None),H5.isDefined(i)||(i=System.TimeSpan.fromMilliseconds(-1)),H5.isDefined(r)||(r=!1),u=System.Text.RegularExpressions,n==null)throw new System.ArgumentNullException.$ctor1("pattern");if(t<u.RegexOptions.None||t>>10!=0)throw new System.ArgumentOutOfRangeException.$ctor1("options");if((t&u.RegexOptions.ECMAScript)!=0&&(t&~(u.RegexOptions.ECMAScript|u.RegexOptions.IgnoreCase|u.RegexOptions.Multiline|u.RegexOptions.CultureInvariant))!=0)throw new System.ArgumentOutOfRangeException.$ctor1("options");if(f=System.Text.RegularExpressions.RegexOptions.IgnoreCase|System.Text.RegularExpressions.RegexOptions.Multiline|System.Text.RegularExpressions.RegexOptions.Singleline|System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace|System.Text.RegularExpressions.RegexOptions.ExplicitCapture,(t|f)!==f)throw new System.NotSupportedException.$ctor1("Specified Regex options are not supported.");this._validateMatchTimeout(i);this._pattern=n;this._options=t;this._matchTimeout=i;this._runner=new u.RegexRunner(this);e=this._runner.parsePattern();this._capnames=e.sparseSettings.sparseSlotNameMap;this._capslist=e.sparseSettings.sparseSlotNameMap.keys;this._capsize=this._capslist.length},getMatchTimeout:function(){return this._matchTimeout},getOptions:function(){return this._options},getRightToLeft:function(){return(this._options&System.Text.RegularExpressions.RegexOptions.RightToLeft)!=0},isMatch:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("input");H5.isDefined(t)||(t=this.getRightToLeft()?n.length:0);var i=this._runner.run(!0,-1,n,0,n.length,t);return i==null},match:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("input");var r=n.length,u=0;return arguments.length===3?(u=t,r=i,t=this.getRightToLeft()?u+r:u):H5.isDefined(t)||(t=this.getRightToLeft()?r:0),this._runner.run(!1,-1,n,u,r,t)},matches:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("input");return H5.isDefined(t)||(t=this.getRightToLeft()?n.length:0),new System.Text.RegularExpressions.MatchCollection(this,n,0,n.length,t)},getGroupNames:function(){if(this._capslist==null){for(var i=System.Globalization.CultureInfo.invariantCulture,t=[],r=this._capsize,n=0;n<r;n++)t[n]=System.Convert.toString(n,i,System.Convert.typeCodes.Int32);return t}else return this._capslist.slice()},getGroupNumbers:function(){var t=this._caps,n,i,u,r;if(t==null)for(n=[],u=this._capsize,r=0;r<u;r++)n.push(r);else{n=[];for(i in t)t.hasOwnProperty(i)&&(n[t[i]]=i)}return n},groupNameFromNumber:function(n){var i,t;return this._capslist==null?n>=0&&n<this._capsize?(i=System.Globalization.CultureInfo.invariantCulture,System.Convert.toString(n,i,System.Convert.typeCodes.Int32)):"":this._caps!=null?(t=this._caps[n],t==null)?"":parseInt(t):n>=0&&n<this._capslist.length?this._capslist[n]:""},groupNumberFromName:function(n){var u,t,i,r;if(n==null)throw new System.ArgumentNullException.$ctor1("name");if(this._capnames!=null)return(u=this._capnames[n],u==null)?-1:parseInt(u);for(t=0,r=0;r<n.Length;r++){if(i=n[r],i>"9"||i<"0")return-1;t*=10;t+=i-"0"}return t>=0&&t<this._capsize?t:-1},replace:function(n,t,i,r){if(n==null)throw new System.ArgumentNullException.$ctor1("input");if(H5.isDefined(i)||(i=-1),H5.isDefined(r)||(r=this.getRightToLeft()?n.length:0),t==null)throw new System.ArgumentNullException.$ctor1("evaluator");if(H5.isFunction(t))return System.Text.RegularExpressions.RegexReplacement.replace(t,this,n,i,r);var u=System.Text.RegularExpressions.RegexParser.parseReplacement(t,this._caps,this._capsize,this._capnames,this._options);return u.replace(this,n,i,r)},split:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("input");return H5.isDefined(t)||(t=0),H5.isDefined(i)||(i=this.getRightToLeft()?n.length:0),System.Text.RegularExpressions.RegexReplacement.split(this,n,t,i)},_validateMatchTimeout:function(n){var t=n.getTotalMilliseconds();if(-1!==t&&(!(t>0)||!(t<=2147483646)))throw new System.ArgumentOutOfRangeException.$ctor1("matchTimeout");}});H5.define("System.Text.RegularExpressions.Capture",{_text:"",_index:0,_length:0,ctor:function(n,t,i){this.$initialize();this._text=n;this._index=t;this._length=i},getIndex:function(){return this._index},getLength:function(){return this._length},getValue:function(){return this._text.substr(this._index,this._length)},toString:function(){return this.getValue()},_getOriginalString:function(){return this._text},_getLeftSubstring:function(){return this._text.slice(0,_index)},_getRightSubstring:function(){return this._text.slice(this._index+this._length,this._text.length)}});H5.define("System.Text.RegularExpressions.CaptureCollection",{inherits:function(){return[System.Collections.ICollection]},config:{properties:{Count:{get:function(){return this._capcount}}},alias:["GetEnumerator","System$Collections$IEnumerable$GetEnumerator","getCount","System$Collections$ICollection$getCount","Count","System$Collections$ICollection$Count","copyTo","System$Collections$ICollection$copyTo"]},_group:null,_capcount:0,_captures:null,ctor:function(n){this.$initialize();this._group=n;this._capcount=n._capcount},getSyncRoot:function(){return this._group},getIsSynchronized:function(){return!1},getIsReadOnly:function(){return!0},getCount:function(){return this._capcount},get:function(n){if(n===this._capcount-1&&n>=0)return this._group;if(n>=this._capcount||n<0)throw new System.ArgumentOutOfRangeException.$ctor1("i");return this._ensureCapturesInited(),this._captures[n]},copyTo:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(n.length<t+this._capcount)throw new System.IndexOutOfRangeException;for(var u,r=t,i=0;i<this._capcount;r++,i++)u=this.get(i),System.Array.set(n,u,[r])},GetEnumerator:function(){return new System.Text.RegularExpressions.CaptureEnumerator(this)},_ensureCapturesInited:function(){var t,n,i,r;if(this._captures==null){for(t=[],t.length=this._capcount,n=0;n<this._capcount-1;n++)i=this._group._caps[n*2],r=this._group._caps[n*2+1],t[n]=new System.Text.RegularExpressions.Capture(this._group._text,i,r);this._capcount>0&&(t[this._capcount-1]=this._group);this._captures=t}}});H5.define("System.Text.RegularExpressions.CaptureEnumerator",{inherits:function(){return[System.Collections.IEnumerator]},config:{properties:{Current:{get:function(){return this.getCurrent()}}},alias:["getCurrent","System$Collections$IEnumerator$getCurrent","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset","Current","System$Collections$IEnumerator$Current"]},_captureColl:null,_curindex:0,ctor:function(n){this.$initialize();this._curindex=-1;this._captureColl=n},moveNext:function(){var n=this._captureColl.getCount();return this._curindex>=n?!1:(this._curindex++,this._curindex<n)},getCurrent:function(){return this.getCapture()},getCapture:function(){if(this._curindex<0||this._curindex>=this._captureColl.getCount())throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this._captureColl.get(this._curindex)},reset:function(){this._curindex=-1}});H5.define("System.Text.RegularExpressions.Group",{inherits:function(){return[System.Text.RegularExpressions.Capture]},statics:{config:{init:function(){var n=new System.Text.RegularExpressions.Group("",[],0);this.getEmpty=function(){return n}}},synchronized:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("group");var t=n.getCaptures();return t.getCount()>0&&t.get(0),n}},_caps:null,_capcount:0,_capColl:null,ctor:function(n,t,i){this.$initialize();var r=System.Text.RegularExpressions,u=i===0?0:t[(i-1)*2],f=i===0?0:t[i*2-1];r.Capture.ctor.call(this,n,u,f);this._caps=t;this._capcount=i},getSuccess:function(){return this._capcount!==0},getCaptures:function(){return this._capColl==null&&(this._capColl=new System.Text.RegularExpressions.CaptureCollection(this)),this._capColl}});H5.define("System.Text.RegularExpressions.GroupCollection",{inherits:function(){return[System.Collections.ICollection]},config:{properties:{Count:{get:function(){return this._match._matchcount.length}}},alias:["GetEnumerator","System$Collections$IEnumerable$GetEnumerator","getCount","System$Collections$ICollection$getCount","Count","System$Collections$ICollection$Count","copyTo","System$Collections$ICollection$copyTo"]},_match:null,_captureMap:null,_groups:null,ctor:function(n,t){this.$initialize();this._match=n;this._captureMap=t},getSyncRoot:function(){return this._match},getIsSynchronized:function(){return!1},getIsReadOnly:function(){return!0},getCount:function(){return this._match._matchcount.length},get:function(n){return this._getGroup(n)},getByName:function(n){if(this._match._regex==null)return System.Text.RegularExpressions.Group.getEmpty();var t=this._match._regex.groupNumberFromName(n);return this._getGroup(t)},copyTo:function(n,t){var r,f,u,i;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(r=this.getCount(),n.length<t+r)throw new System.IndexOutOfRangeException;for(u=t,i=0;i<r;u++,i++)f=this._getGroup(i),System.Array.set(n,f,[u])},GetEnumerator:function(){return new System.Text.RegularExpressions.GroupEnumerator(this)},_getGroup:function(n){var t,i;return this._captureMap!=null?(i=this._captureMap[n],t=i==null?System.Text.RegularExpressions.Group.getEmpty():this._getGroupImpl(i)):t=n>=this._match._matchcount.length||n<0?System.Text.RegularExpressions.Group.getEmpty():this._getGroupImpl(n),t},_getGroupImpl:function(n){return n===0?this._match:(this._ensureGroupsInited(),this._groups[n])},_ensureGroupsInited:function(){var n,i,r,u,t;if(this._groups==null){for(n=[],n.length=this._match._matchcount.length,n.length>0&&(n[0]=this._match),t=0;t<n.length-1;t++)i=this._match._text,r=this._match._matches[t+1],u=this._match._matchcount[t+1],n[t+1]=new System.Text.RegularExpressions.Group(i,r,u);this._groups=n}}});H5.define("System.Text.RegularExpressions.GroupEnumerator",{inherits:function(){return[System.Collections.IEnumerator]},config:{properties:{Current:{get:function(){return this.getCurrent()}}},alias:["getCurrent","System$Collections$IEnumerator$getCurrent","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset","Current","System$Collections$IEnumerator$Current"]},_groupColl:null,_curindex:0,ctor:function(n){this.$initialize();this._curindex=-1;this._groupColl=n},moveNext:function(){var n=this._groupColl.getCount();return this._curindex>=n?!1:(this._curindex++,this._curindex<n)},getCurrent:function(){return this.getCapture()},getCapture:function(){if(this._curindex<0||this._curindex>=this._groupColl.getCount())throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this._groupColl.get(this._curindex)},reset:function(){this._curindex=-1}});H5.define("System.Text.RegularExpressions.Match",{inherits:function(){return[System.Text.RegularExpressions.Group]},statics:{config:{init:function(){var n=new System.Text.RegularExpressions.Match(null,1,"",0,0,0);this.getEmpty=function(){return n}}},synchronized:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("match");for(var i=n.getGroups(),u=i.getCount(),r,t=0;t<u;t++)r=i.get(t),System.Text.RegularExpressions.Group.synchronized(r);return n}},_regex:null,_matchcount:null,_matches:null,_textbeg:0,_textend:0,_textstart:0,_groupColl:null,_textpos:0,ctor:function(n,t,i,r,u,f){var s,o,e;for(this.$initialize(),s=System.Text.RegularExpressions,o=[0,0],s.Group.ctor.call(this,i,o,0),this._regex=n,this._matchcount=[],this._matchcount.length=t,e=0;e<t;e++)this._matchcount[e]=0;this._matches=[];this._matches.length=t;this._matches[0]=o;this._textbeg=r;this._textend=r+u;this._textstart=f},getGroups:function(){return this._groupColl==null&&(this._groupColl=new System.Text.RegularExpressions.GroupCollection(this,null)),this._groupColl},nextMatch:function(){return this._regex==null?this:this._regex._runner.run(!1,this._length,this._text,this._textbeg,this._textend-this._textbeg,this._textpos)},result:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("replacement");if(this._regex==null)throw new System.NotSupportedException.$ctor1("Result cannot be called on a failed Match.");var t=System.Text.RegularExpressions.RegexParser.parseReplacement(n,this._regex._caps,this._regex._capsize,this._regex._capnames,this._regex._options);return t.replacement(this)},_isMatched:function(n){return n<this._matchcount.length&&this._matchcount[n]>0&&this._matches[n][this._matchcount[n]*2-1]!==-2},_addMatch:function(n,t,i){var r,e,f,u;if(this._matches[n]==null&&(this._matches[n]=new Array(2)),r=this._matchcount[n],r*2+2>this._matches[n].length){for(e=this._matches[n],f=new Array(r*8),u=0;u<r*2;u++)f[u]=e[u];this._matches[n]=f}this._matches[n][r*2]=t;this._matches[n][r*2+1]=i;this._matchcount[n]=r+1},_tidy:function(n){var t=this._matches[0];this._index=t[0];this._length=t[1];this._textpos=n;this._capcount=this._matchcount[0]},_groupToStringImpl:function(n){var t=this._matchcount[n];if(t===0)return"";var i=this._matches[n],r=i[(t-1)*2],u=i[t*2-1];return this._text.slice(r,r+u)},_lastGroupToStringImpl:function(){return this._groupToStringImpl(this._matchcount.length-1)}});H5.define("System.Text.RegularExpressions.MatchSparse",{inherits:function(){return[System.Text.RegularExpressions.Match]},_caps:null,ctor:function(n,t,i,r,u,f,e){this.$initialize();var o=System.Text.RegularExpressions;o.Match.ctor.call(this,n,i,r,u,f,e);this._caps=t},getGroups:function(){return this._groupColl==null&&(this._groupColl=new System.Text.RegularExpressions.GroupCollection(this,this._caps)),this._groupColl}});H5.define("System.Text.RegularExpressions.MatchCollection",{inherits:function(){return[System.Collections.ICollection]},config:{properties:{Count:{get:function(){return this.getCount()}}},alias:["GetEnumerator","System$Collections$IEnumerable$GetEnumerator","getCount","System$Collections$ICollection$getCount","Count","System$Collections$ICollection$Count","copyTo","System$Collections$ICollection$copyTo"]},_regex:null,_input:null,_beginning:0,_length:0,_startat:0,_prevlen:0,_matches:null,_done:!1,ctor:function(n,t,i,r,u){if(this.$initialize(),u<0||u>t.Length)throw new System.ArgumentOutOfRangeException.$ctor1("startat");this._regex=n;this._input=t;this._beginning=i;this._length=r;this._startat=u;this._prevlen=-1;this._matches=[]},getCount:function(){return this._done||this._getMatch(2147483647),this._matches.length},getSyncRoot:function(){return this},getIsSynchronized:function(){return!1},getIsReadOnly:function(){return!0},get:function(n){var t=this._getMatch(n);if(t==null)throw new System.ArgumentOutOfRangeException.$ctor1("i");return t},copyTo:function(n,t){var r,f,u,i;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(r=this.getCount(),n.length<t+r)throw new System.IndexOutOfRangeException;for(u=t,i=0;i<r;u++,i++)f=this._getMatch(i),System.Array.set(n,f,[u])},GetEnumerator:function(){return new System.Text.RegularExpressions.MatchEnumerator(this)},_getMatch:function(n){if(n<0)return null;if(this._matches.length>n)return this._matches[n];if(this._done)return null;var t;do{if(t=this._regex._runner.run(!1,this._prevLen,this._input,this._beginning,this._length,this._startat),!t.getSuccess())return this._done=!0,null;this._matches.push(t);this._prevLen=t._length;this._startat=t._textpos}while(this._matches.length<=n);return t}});H5.define("System.Text.RegularExpressions.MatchEnumerator",{inherits:function(){return[System.Collections.IEnumerator]},config:{properties:{Current:{get:function(){return this.getCurrent()}}},alias:["getCurrent","System$Collections$IEnumerator$getCurrent","moveNext","System$Collections$IEnumerator$moveNext","reset","System$Collections$IEnumerator$reset","Current","System$Collections$IEnumerator$Current"]},_matchcoll:null,_match:null,_curindex:0,_done:!1,ctor:function(n){this.$initialize();this._matchcoll=n},moveNext:function(){return this._done?!1:(this._match=this._matchcoll._getMatch(this._curindex),this._curindex++,this._match==null)?(this._done=!0,!1):!0},getCurrent:function(){if(this._match==null)throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this._match},reset:function(){this._curindex=0;this._done=!1;this._match=null}});H5.define("System.Text.RegularExpressions.RegexOptions",{statics:{None:0,IgnoreCase:1,Multiline:2,ExplicitCapture:4,Compiled:8,Singleline:16,IgnorePatternWhitespace:32,RightToLeft:64,ECMAScript:256,CultureInvariant:512},$kind:"enum",$flags:!0});H5.define("System.Text.RegularExpressions.RegexRunner",{statics:{},_runregex:null,_netEngine:null,_runtext:"",_runtextpos:0,_runtextbeg:0,_runtextend:0,_runtextstart:0,_quick:!1,_prevlen:0,ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("regex");this._runregex=n;var i=n.getOptions(),t=System.Text.RegularExpressions.RegexOptions,r=(i&t.IgnoreCase)===t.IgnoreCase,u=(i&t.Multiline)===t.Multiline,f=(i&t.Singleline)===t.Singleline,e=(i&t.IgnorePatternWhitespace)===t.IgnorePatternWhitespace,o=(i&t.ExplicitCapture)===t.ExplicitCapture,s=n._matchTimeout.getTotalMilliseconds();this._netEngine=new System.Text.RegularExpressions.RegexEngine(n._pattern,r,u,f,e,o,s)},run:function(n,t,i,r,u,f){var e,o,s,h;if(f<0||f>i.Length)throw new System.ArgumentOutOfRangeException.$ctor4("start","Start index cannot be less than 0 or greater than input length.");if(u<0||u>i.Length)throw new ArgumentOutOfRangeException("length","Length cannot be less than 0 or exceed input length.");if(this._runtext=i,this._runtextbeg=r,this._runtextend=r+u,this._runtextstart=f,this._quick=n,this._prevlen=t,this._runregex.getRightToLeft()?(e=this._runtextbeg,o=-1):(e=this._runtextend,o=1),this._prevlen===0){if(this._runtextstart===e)return System.Text.RegularExpressions.Match.getEmpty();this._runtextstart+=o}return s=this._netEngine.match(this._runtext,this._runtextstart),h=this._convertNetEngineResults(s),h},parsePattern:function(){return this._netEngine.parsePattern()},_convertNetEngineResults:function(n){var f,i,t,e,o,r,u,s;if(n.success&&this._quick)return null;if(!n.success)return System.Text.RegularExpressions.Match.getEmpty();for(f=this.parsePattern(),i=f.sparseSettings.isSparse?new System.Text.RegularExpressions.MatchSparse(this._runregex,f.sparseSettings.sparseSlotMap,n.groups.length,this._runtext,0,this._runtext.length,this._runtextstart):new System.Text.RegularExpressions.Match(this._runregex,n.groups.length,this._runtext,0,this._runtext.length,this._runtextstart),r=0;r<n.groups.length;r++)for(t=n.groups[r],o=0,t.descriptor!=null&&(o=this._runregex.groupNumberFromName(t.descriptor.name)),u=0;u<t.captures.length;u++)e=t.captures[u],i._addMatch(o,e.capIndex,e.capLength);return s=n.capIndex+n.capLength,i._tidy(s),i}});H5.define("System.Text.RegularExpressions.RegexParser",{statics:{_Q:5,_S:4,_Z:3,_X:2,_E:1,_category:[0,0,0,0,0,0,0,0,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,3,4,0,0,0,4,4,5,5,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,0,0,0],escape:function(n){for(var r,i,u,t=0;t<n.length;t++)if(System.Text.RegularExpressions.RegexParser._isMetachar(n[t])){r="";i=n[t];r+=n.slice(0,t);do{r+="\\";switch(i){case"\n":i="n";break;case"\r":i="r";break;case"\t":i="t";break;case"\f":i="f";break}for(r+=i,t++,u=t;t<n.length;){if(i=n[t],System.Text.RegularExpressions.RegexParser._isMetachar(i))break;t++}r+=n.slice(u,t)}while(t<n.length);return r}return n},unescape:function(n){for(var f=System.Globalization.CultureInfo.invariantCulture,i,u,r,t=0;t<n.length;t++)if(n[t]==="\\"){i="";r=new System.Text.RegularExpressions.RegexParser(f);r._setPattern(n);i+=n.slice(0,t);do{for(t++,r._textto(t),t<n.length&&(i+=r._scanCharEscape()),t=r._textpos(),u=t;t<n.length&&n[t]!=="\\";)t++;i+=n.slice(u,t)}while(t<n.length);return i}return n},parseReplacement:function(n,t,i,r,u){var o=System.Globalization.CultureInfo.getCurrentCulture(),f=new System.Text.RegularExpressions.RegexParser(o),e;return f._options=u,f._noteCaptures(t,i,r),f._setPattern(n),e=f._scanReplacement(),new System.Text.RegularExpressions.RegexReplacement(n,e,t)},_isMetachar:function(n){var t=n.charCodeAt(0);return t<="|".charCodeAt(0)&&System.Text.RegularExpressions.RegexParser._category[t]>=System.Text.RegularExpressions.RegexParser._E}},_caps:null,_capsize:0,_capnames:null,_pattern:"",_currentPos:0,_concatenation:null,_culture:null,config:{init:function(){this._options=System.Text.RegularExpressions.RegexOptions.None}},ctor:function(n){this.$initialize();this._culture=n;this._caps={}},_noteCaptures:function(n,t,i){this._caps=n;this._capsize=t;this._capnames=i},_setPattern:function(n){n==null&&(n="");this._pattern=n||"";this._currentPos=0},_scanReplacement:function(){this._concatenation=new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Concatenate,this._options);for(var n,t,i;;){if(n=this._charsRight(),n===0)break;for(t=this._textpos();n>0&&this._rightChar()!=="$";)this._moveRight(),n--;this._addConcatenate(t,this._textpos()-t);n>0&&this._moveRightGetChar()==="$"&&(i=this._scanDollar(),this._concatenation.addChild(i))}return this._concatenation},_addConcatenate:function(n,t){var i,r,u;t!==0&&(t>1?(r=this._pattern.slice(n,n+t),i=new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Multi,this._options,r)):(u=this._pattern[n],i=new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One,this._options,u)),this._concatenation.addChild(i))},_useOptionE:function(){return(this._options&System.Text.RegularExpressions.RegexOptions.ECMAScript)!=0},_makeException:function(n){return new System.ArgumentException("Incorrect pattern. "+n)},_scanDollar:function(){var o=214748364,c=7,n,f,i,e,h;if(this._charsRight()===0)return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One,this._options,"$");var t=this._rightChar(),r,s=this._textpos(),u=s;if(t==="{"&&this._charsRight()>1?(r=!0,this._moveRight(),t=this._rightChar()):r=!1,t>="0"&&t<="9"){if(!r&&this._useOptionE()){for(n=-1,i=t-"0",this._moveRight(),this._isCaptureSlot(i)&&(n=i,u=this._textpos());this._charsRight()>0&&(t=this._rightChar())>="0"&&t<="9";){if(f=t-"0",i>o||i===o&&f>c)throw this._makeException("Capture group is out of range.");i=i*10+f;this._moveRight();this._isCaptureSlot(i)&&(n=i,u=this._textpos())}if(this._textto(u),n>=0)return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref,this._options,n)}else if(n=this._scanDecimal(),(!r||this._charsRight()>0&&this._moveRightGetChar()==="}")&&this._isCaptureSlot(n))return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref,this._options,n)}else if(r&&this._isWordChar(t)){if(e=this._scanCapname(),this._charsRight()>0&&this._moveRightGetChar()==="}"&&this._isCaptureName(e))return h=this._captureSlotFromName(e),new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref,this._options,h)}else if(!r){n=1;switch(t){case"$":return this._moveRight(),new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One,this._options,"$");case"&":n=0;break;case"`":n=System.Text.RegularExpressions.RegexReplacement.LeftPortion;break;case"'":n=System.Text.RegularExpressions.RegexReplacement.RightPortion;break;case"+":n=System.Text.RegularExpressions.RegexReplacement.LastGroup;break;case"_":n=System.Text.RegularExpressions.RegexReplacement.WholeString;break}if(n!==1)return this._moveRight(),new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Ref,this._options,n)}return this._textto(s),new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.One,this._options,"$")},_scanDecimal:function(){for(var r=214748364,u=7,n=0,t,i;this._charsRight()>0;){if(t=this._rightChar(),t<"0"||t>"9")break;if(i=t-"0",this._moveRight(),n>r||n===r&&i>u)throw this._makeException("Capture group is out of range.");n*=10;n+=i}return n},_scanOctal:function(){var i,n,t;for(t=3,t>this._charsRight()&&(t=this._charsRight()),n=0;t>0&&(i=this._rightChar()-"0")<=7;t-=1)if(this._moveRight(),n*=8,n+=i,this._useOptionE()&&n>=32)break;return n&=255,String.fromCharCode(n)},_scanHex:function(n){var t,i;if(t=0,this._charsRight()>=n)for(;n>0&&(i=this._hexDigit(this._moveRightGetChar()))>=0;n-=1)t*=16,t+=i;if(n>0)throw this._makeException("Insufficient hexadecimal digits.");return t},_hexDigit:function(n){var t,i=n.charCodeAt(0);return(t=i-"0".charCodeAt(0))<=9?t:(t=i-"a".charCodeAt(0))<=5?t+10:(t=i-"A".charCodeAt(0))<=5?t+10:-1},_scanControl:function(){if(this._charsRight()<=0)throw this._makeException("Missing control character.");var t=this._moveRightGetChar(),n=t.charCodeAt(0);if(n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)&&(n=n-("a".charCodeAt(0)-"A".charCodeAt(0))),(n=n-"@".charCodeAt(0))<" ".charCodeAt(0))return String.fromCharCode(n);throw this._makeException("Unrecognized control character.");},_scanCapname:function(){for(var n=this._textpos();this._charsRight()>0;)if(!this._isWordChar(this._moveRightGetChar())){this._moveLeft();break}return _pattern.slice(n,this._textpos())},_scanCharEscape:function(){var n=this._moveRightGetChar(),t;if(n>="0"&&n<="7")return this._moveLeft(),this._scanOctal();switch(n){case"x":return this._scanHex(2);case"u":return this._scanHex(4);case"a":return"\x07";case"b":return"\b";case"e":return"\x1b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\x0b";case"c":return this._scanControl();default:if(t=n==="8"||n==="9"||n==="_",t||!this._useOptionE()&&this._isWordChar(n))throw this._makeException("Unrecognized escape sequence \\"+n+".");return n}},_captureSlotFromName:function(n){return this._capnames[n]},_isCaptureSlot:function(n){return this._caps!=null?this._caps[n]!=null:n>=0&&n<this._capsize},_isCaptureName:function(n){return this._capnames==null?!1:_capnames[n]!=null},_isWordChar:function(n){return System.Char.isLetter(n.charCodeAt(0))},_charsRight:function(){return this._pattern.length-this._currentPos},_rightChar:function(){return this._pattern[this._currentPos]},_moveRightGetChar:function(){return this._pattern[this._currentPos++]},_moveRight:function(){this._currentPos++},_textpos:function(){return this._currentPos},_textto:function(n){this._currentPos=n},_moveLeft:function(){this._currentPos--}});H5.define("System.Text.RegularExpressions.RegexNode",{statics:{One:9,Multi:12,Ref:13,Empty:23,Concatenate:25},_type:0,_str:null,_children:null,_next:null,_m:0,config:{init:function(){this._options=System.Text.RegularExpressions.RegexOptions.None}},ctor:function(n,t,i){this.$initialize();this._type=n;this._options=t;n===System.Text.RegularExpressions.RegexNode.Ref?this._m=i:this._str=i||null},addChild:function(n){this._children==null&&(this._children=[]);var t=n._reduce();this._children.push(t);t._next=this},childCount:function(){return this._children==null?0:this._children.length},child:function(n){return this._children[n]},_reduce:function(){var n;switch(this._type){case System.Text.RegularExpressions.RegexNode.Concatenate:n=this._reduceConcatenation();break;default:n=this;break}return n},_reduceConcatenation:function(){var e=!1,o=0,u,n,i,r,t,f;if(this._children==null)return new System.Text.RegularExpressions.RegexNode(System.Text.RegularExpressions.RegexNode.Empty,this._options);for(r=0,t=0;r<this._children.length;r++,t++)if(n=this._children[r],t<r&&(this._children[t]=n),n._type===System.Text.RegularExpressions.RegexNode.Concatenate&&n._isRightToLeft()){for(f=0;f<n._children.length;f++)n._children[f]._next=this;this._children.splice.apply(this._children,[r+1,0].concat(n._children));t--}else if(n._type===System.Text.RegularExpressions.RegexNode.Multi||n._type===System.Text.RegularExpressions.RegexNode.One){if(u=n._options&(System.Text.RegularExpressions.RegexOptions.RightToLeft|System.Text.RegularExpressions.RegexOptions.IgnoreCase),!e||o!==u){e=!0;o=u;continue}i=this._children[--t];i._type===System.Text.RegularExpressions.RegexNode.One&&(i._type=System.Text.RegularExpressions.RegexNode.Multi,i._str=i._str);(u&System.Text.RegularExpressions.RegexOptions.RightToLeft)==0?i._str+=n._str:i._str=n._str+i._str}else n._type===System.Text.RegularExpressions.RegexNode.Empty?t--:e=!1;return t<r&&this._children.splice(t,r-t),this._stripEnation(System.Text.RegularExpressions.RegexNode.Empty)},_stripEnation:function(n){switch(this.childCount()){case 0:return new t.RegexNode(n,this._options);case 1:return this.child(0);default:return this}},_isRightToLeft:function(){return(this._options&System.Text.RegularExpressions.RegexOptions.RightToLeft)>0?!0:!1}});H5.define("System.Text.RegularExpressions.RegexReplacement",{statics:{replace:function(n,t,i,r,u){var f,o,e,s,h,c,l;if(n==null)throw new System.ArgumentNullException.$ctor1("evaluator");if(r<-1)throw new System.ArgumentOutOfRangeException.$ctor4("count","Count cannot be less than -1.");if(u<0||u>i.length)throw new System.ArgumentOutOfRangeException.$ctor4("startat","Start index cannot be less than 0 or greater than input length.");if(r===0)return i;if(f=t.match(i,u),f.getSuccess()){if(o="",t.getRightToLeft()){c=[];e=i.length;do{if(s=f.getIndex(),h=f.getLength(),s+h!==e&&c.push(i.slice(s+h,e)),e=s,c.push(n(f)),--r==0)break;f=f.nextMatch()}while(f.getSuccess());for(o=new StringBuilder,e>0&&(o+=o.slice(0,e)),l=c.length-1;l>=0;l--)o+=c[l]}else{e=0;do{if(s=f.getIndex(),h=f.getLength(),s!==e&&(o+=i.slice(e,s)),e=s+h,o+=n(f),--r==0)break;f=f.nextMatch()}while(f.getSuccess());e<i.length&&(o+=i.slice(e,i.length))}return o}else return i},split:function(n,t,i,r){var f,u,e,o,s,c,h,l;if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","Count can't be less than 0.");if(r<0||r>t.length)throw new System.ArgumentOutOfRangeException.$ctor4("startat","Start index cannot be less than 0 or greater than input length.");if(f=[],i===1)return f.push(t),f;if(--i,u=n.match(t,r),u.getSuccess())if(n.getRightToLeft()){for(o=t.length;;){for(s=u.getIndex(),c=u.getLength(),h=u.getGroups(),l=h.getCount(),f.push(t.slice(s+c,o)),o=s,e=1;e<l;e++)u._isMatched(e)&&f.push(h.get(e).toString());if(--i,i===0)break;if(u=u.nextMatch(),!u.getSuccess())break}f.push(t.slice(0,o));f.reverse()}else{for(o=0;;){for(s=u.getIndex(),c=u.getLength(),h=u.getGroups(),l=h.getCount(),f.push(t.slice(o,s)),o=s+c,e=1;e<l;e++)u._isMatched(e)&&f.push(h.get(e).toString());if(--i,i===0)break;if(u=u.nextMatch(),!u.getSuccess())break}f.push(t.slice(o,t.length))}else f.push(t);return f},Specials:4,LeftPortion:-1,RightPortion:-2,LastGroup:-3,WholeString:-4},_rep:"",_strings:[],_rules:[],ctor:function(n,t,i){if(this.$initialize(),this._rep=n,t._type!==System.Text.RegularExpressions.RegexNode.Concatenate)throw new System.ArgumentException.$ctor1("Replacement error.");for(var r="",u=[],e=[],f,o,s=0;s<t.childCount();s++){o=t.child(s);switch(o._type){case System.Text.RegularExpressions.RegexNode.Multi:case System.Text.RegularExpressions.RegexNode.One:r+=o._str;break;case System.Text.RegularExpressions.RegexNode.Ref:r.length>0&&(e.push(u.length),u.push(r),r="");f=o._m;i!=null&&f>=0&&(f=i[f]);e.push(-System.Text.RegularExpressions.RegexReplacement.Specials-1-f);break;default:throw new System.ArgumentException.$ctor1("Replacement error.");}}r.length>0&&(e.push(u.length),u.push(r));this._strings=u;this._rules=e},getPattern:function(){return _rep},replacement:function(n){return this._replacementImpl("",n)},replace:function(n,t,i,r){var u,e,f,o,s,h,c;if(i<-1)throw new System.ArgumentOutOfRangeException.$ctor4("count","Count cannot be less than -1.");if(r<0||r>t.length)throw new System.ArgumentOutOfRangeException.$ctor4("startat","Start index cannot be less than 0 or greater than input length.");if(i===0)return t;if(u=n.match(t,r),u.getSuccess()){if(e="",n.getRightToLeft()){h=[];f=t.length;do{if(o=u.getIndex(),s=u.getLength(),o+s!==f&&h.push(t.slice(o+s,f)),f=o,this._replacementImplRTL(h,u),--i==0)break;u=u.nextMatch()}while(u.getSuccess());for(f>0&&(e+=e.slice(0,f)),c=h.length-1;c>=0;c--)e+=h[c]}else{f=0;do{if(o=u.getIndex(),s=u.getLength(),o!==f&&(e+=t.slice(f,o)),f=o+s,e=this._replacementImpl(e,u),--i==0)break;u=u.nextMatch()}while(u.getSuccess());f<t.length&&(e+=t.slice(f,t.length))}return e}else return t},_replacementImpl:function(n,t){for(var u=System.Text.RegularExpressions.RegexReplacement.Specials,i,r=0;r<this._rules.length;r++)if(i=this._rules[r],i>=0)n+=this._strings[i];else if(i<-u)n+=t._groupToStringImpl(-u-1-i);else switch(-u-1-i){case System.Text.RegularExpressions.RegexReplacement.LeftPortion:n+=t._getLeftSubstring();break;case System.Text.RegularExpressions.RegexReplacement.RightPortion:n+=t._getRightSubstring();break;case System.Text.RegularExpressions.RegexReplacement.LastGroup:n+=t._lastGroupToStringImpl();break;case System.Text.RegularExpressions.RegexReplacement.WholeString:n+=t._getOriginalString();break}return n},_replacementImplRTL:function(n,t){for(var u=System.Text.RegularExpressions.RegexReplacement.Specials,i,r=_rules.length-1;r>=0;r--)if(i=this._rules[r],i>=0)n.push(this._strings[i]);else if(i<-u)n.push(t._groupToStringImpl(-u-1-i));else switch(-u-1-i){case System.Text.RegularExpressions.RegexReplacement.LeftPortion:n.push(t._getLeftSubstring());break;case System.Text.RegularExpressions.RegexReplacement.RightPortion:n.push(t._getRightSubstring());break;case System.Text.RegularExpressions.RegexReplacement.LastGroup:n.push(t._lastGroupToStringImpl());break;case System.Text.RegularExpressions.RegexReplacement.WholeString:n.push(t._getOriginalString());break}}});H5.define("System.Text.RegularExpressions.RegexEngine",{_pattern:"",_patternInfo:null,_text:"",_textStart:0,_timeoutMs:-1,_timeoutTime:-1,_settings:null,_branchType:{base:0,offset:1,lazy:2,greedy:3,or:4},_branchResultKind:{ok:1,endPass:2,nextPass:3,nextBranch:4},ctor:function(n,t,i,r,u,f,e){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("pattern");this._pattern=n;this._timeoutMs=e;this._settings={ignoreCase:t,multiline:i,singleline:r,ignoreWhitespace:u,explicitCapture:f}},match:function(n,t){var i;if(n==null)throw new System.ArgumentNullException.$ctor1("text");if(t!=null&&(t<0||t>n.length))throw new System.ArgumentOutOfRangeException.$ctor4("textStart","Start index cannot be less than 0 or greater than input length.");return(this._text=n,this._textStart=t,this._timeoutTime=this._timeoutMs>0?(new Date).getTime()+System.Convert.toInt32(this._timeoutMs+.5):-1,i=this.parsePattern(),i.shouldFail)?this._getEmptyMatch():(this._checkTimeout(),this._scanAndTransformResult(t,i.tokens,!1,null))},parsePattern:function(){if(this._patternInfo==null){var n=System.Text.RegularExpressions.RegexEngineParser,t=n.parsePattern(this._pattern,this._cloneSettings(this._settings));this._patternInfo=t}return this._patternInfo},_scanAndTransformResult:function(n,t,i,r){var u=this._scan(n,this._text.length,t,i,r);return this._collectScanResults(u,n)},_scan:function(n,t,i,r,u){var c=this._branchResultKind,f=[],e,h,o;if(f.grCaptureCache={},e=null,h=null,i.length===0)return o=new System.Text.RegularExpressions.RegexEngineState,o.capIndex=n,o.txtIndex=n,o.capLength=0,o;var l=r?this._branchType.base:this._branchType.offset,a=this._patternInfo.isContiguous?n:t,s=new System.Text.RegularExpressions.RegexEngineBranch(l,n,n,a);for(s.pushPass(0,i,this._cloneSettings(this._settings)),s.started=!0,s.state.txtIndex=n,f.push(s);f.length;){if(e=f[f.length-1],h=this._scanBranch(t,f,e),h===c.ok&&(u==null||e.state.capLength===u))return e.state;this._advanceToNextBranch(f,e);this._checkTimeout()}return null},_scanBranch:function(n,t,i){var r=this._branchResultKind,u,f;if(i.mustFail)return i.mustFail=!1,r.nextBranch;while(i.hasPass()){if(u=i.peekPass(),u.tokens==null||u.tokens.length===0)f=r.endPass;else{if(this._addAlternationBranches(t,i,u)===r.nextBranch)return r.nextBranch;f=this._scanPass(n,t,i,u)}switch(f){case r.nextBranch:return f;case r.nextPass:continue;case r.endPass:case r.ok:i.popPass();break;default:throw new System.InvalidOperationException.$ctor1("Unexpected branch result.");}}return r.ok},_scanPass:function(n,t,i,r){for(var f=this._branchResultKind,s=r.tokens.length,o,u,e;r.index<s;){if(o=r.tokens[r.index],u=r.probe,u==null){if(this._addBranchBeforeProbing(t,i,r,o))return f.nextBranch}else{if(u.value<u.min||u.forced){if(e=this._scanToken(n,t,i,r,o),e!==f.ok)return e;u.value+=1;u.forced=!1;continue}if(this._addBranchAfterProbing(t,i,r,u),u.forced)continue;r.probe=null;r.index++;continue}e=this._scanToken(n,t,i,r,o);switch(e){case f.nextBranch:case f.nextPass:case f.endPass:return e;case f.ok:r.index++;break;default:throw new System.InvalidOperationException.$ctor1("Unexpected branch-pass result.");}}return f.ok},_addAlternationBranches:function(n,t,i){var h=System.Text.RegularExpressions.RegexEngineParser.tokenTypes,c=this._branchType,l=i.tokens.length,o=this._branchResultKind,u,f,e,s,r;if(!i.alternationHandled&&!i.tokens.noAlternation){for(u=[-1],r=0;r<l;r++)s=i.tokens[r],s.type===h.alternation&&u.push(r);if(u.length>1){for(r=0;r<u.length;r++)f=new System.Text.RegularExpressions.RegexEngineBranch(c.or,r,0,u.length,t.state),f.isNotFailing=!0,e=f.peekPass(),e.alternationHandled=!0,e.index=u[r]+1,n.splice(n.length-r,0,f);return n[n.length-u.length].isNotFailing=!1,t.mustFail=!0,i.alternationHandled=!0,o.nextBranch}else i.tokens.noAlternation=!0}return o.ok},_addBranchBeforeProbing:function(n,t,i,r){var u=this._tryGetTokenProbe(r),f,e;return u==null?!1:(i.probe=u,f=u.isLazy?this._branchType.lazy:this._branchType.greedy,e=new System.Text.RegularExpressions.RegexEngineBranch(f,u.value,u.min,u.max,t.state),n.push(e),!0)},_addBranchAfterProbing:function(n,t,i,r){var f,e,u;r.isLazy?r.value+1<=r.max&&(f=t.clone(),e=f.peekPass().probe,f.value+=1,e.forced=!0,n.splice(n.length-1,0,f),t.isNotFailing=!0):r.value+1<=r.max&&(u=t.clone(),u.started=!0,u.peekPass().probe=null,u.peekPass().index++,n.splice(n.length-1,0,u),r.forced=!0,t.value+=1,t.isNotFailing=!0)},_tryGetTokenProbe:function(n){var t=n.qtoken,u,i,r;if(t==null)return null;if(u=System.Text.RegularExpressions.RegexEngineParser.tokenTypes,t.type===u.quantifier)switch(t.value){case"*":case"*?":i=0;r=2147483647;break;case"+":case"+?":i=1;r=2147483647;break;case"?":case"??":i=0;r=1;break;default:throw new System.InvalidOperationException.$ctor1("Unexpected quantifier value.");}else if(t.type===u.quantifierN)i=t.data.n,r=t.data.n;else if(t.type===u.quantifierNM)i=t.data.n,r=t.data.m!=null?t.data.m:2147483647;else return null;return new System.Text.RegularExpressions.RegexEngineProbe(i,r,0,t.data.isLazy)},_advanceToNextBranch:function(n,t){if(n.length!==0){var i=n[n.length-1];if(!i.started){i.started=!0;return}if(t!==i)throw new System.InvalidOperationException.$ctor1("Current branch is supposed to be the last one.");if(n.length===1&&t.type===this._branchType.offset)t.value++,t.state.txtIndex=t.value,t.mustFail=!1,t.state.capIndex=null,t.state.capLength=0,t.state.groups.length=0,t.state.passes.length=1,t.state.passes[0].clearState(this._cloneSettings(this._settings)),t.value>t.max&&n.pop();else if(n.pop(),!t.isNotFailing){i=n[n.length-1];this._advanceToNextBranch(n,i);return}}},_collectScanResults:function(n,t){var o=this._patternInfo.groups,a=this._text,l={},s,f,h={},r,e,i,u,c=this._getEmptyMatch();if(n!=null){for(s=n.groups,this._fillMatch(c,n.capIndex,n.capLength,t),u=0;u<s.length;u++)(f=s[u],r=o[f.rawIndex-1],r.constructs.skipCapture)||(e={capIndex:f.capIndex,capLength:f.capLength,value:a.slice(f.capIndex,f.capIndex+f.capLength)},i=h[r.name],i==null?(i={capIndex:0,capLength:0,value:"",success:!1,captures:[e]},h[r.name]=i):i.captures.push(e));for(u=0;u<o.length;u++)(r=o[u],r.constructs.skipCapture)||l[r.name]!==!0&&(i=h[r.name],i==null?i={capIndex:0,capLength:0,value:"",success:!1,captures:[]}:i.captures.length>0&&(e=i.captures[i.captures.length-1],i.capIndex=e.capIndex,i.capLength=e.capLength,i.value=e.value,i.success=!0),l[r.name]=!0,i.descriptor=r,c.groups.push(i))}return c},_scanToken:function(n,t,i,r,u){var f=System.Text.RegularExpressions.RegexEngineParser.tokenTypes,e=this._branchResultKind;switch(u.type){case f.group:case f.groupImnsx:case f.alternationGroup:return this._scanGroupToken(n,t,i,r,u);case f.groupImnsxMisc:return this._scanGroupImnsxToken(u.group.constructs,r.settings);case f.charGroup:return this._scanCharGroupToken(t,i,r,u,!1);case f.charNegativeGroup:return this._scanCharNegativeGroupToken(t,i,r,u,!1);case f.escChar:case f.escCharOctal:case f.escCharHex:case f.escCharUnicode:case f.escCharCtrl:return this._scanLiteral(n,t,i,r,u.data.ch);case f.escCharOther:case f.escCharClass:return this._scanEscapeToken(t,i,r,u);case f.escCharClassCategory:throw new System.NotSupportedException.$ctor1("Unicode Category constructions are not supported.");case f.escCharClassBlock:throw new System.NotSupportedException.$ctor1("Unicode Named block constructions are not supported.");case f.escCharClassDot:return this._scanDotToken(n,t,i,r);case f.escBackrefNumber:return this._scanBackrefNumberToken(n,t,i,r,u);case f.escBackrefName:return this._scanBackrefNameToken(n,t,i,r,u);case f.anchor:case f.escAnchor:return this._scanAnchorToken(n,t,i,r,u);case f.groupConstruct:case f.groupConstructName:case f.groupConstructImnsx:case f.groupConstructImnsxMisc:return e.ok;case f.alternationGroupCondition:case f.alternationGroupRefNameCondition:case f.alternationGroupRefNumberCondition:return this._scanAlternationConditionToken(n,t,i,r,u);case f.alternation:return e.endPass;case f.commentInline:case f.commentXMode:return e.ok;default:return this._scanLiteral(n,t,i,r,u.value)}},_scanGroupToken:function(n,t,i,r,u){var h=System.Text.RegularExpressions.RegexEngineParser.tokenTypes,c=this._branchResultKind,o=i.state.txtIndex,l,f;if(r.onHold){if(u.type===h.group){var a=u.group.rawIndex,s=r.onHoldTextIndex,v=o-s,e=t.grCaptureCache[a];if(e==null&&(e={},t.grCaptureCache[a]=e),l=s.toString()+"_"+v.toString(),e[l]==null)e[l]=!0;else return c.nextBranch;u.group.constructs.emptyCapture||(u.group.isBalancing?i.state.logCaptureGroupBalancing(u.group,s):i.state.logCaptureGroup(u.group,s,v))}return r.onHold=!1,r.onHoldTextIndex=-1,c.ok}if(u.type===h.group||u.type===h.groupImnsx)if(f=u.group.constructs,this._scanGroupImnsxToken(f,r.settings),f.isPositiveLookahead||f.isNegativeLookahead||f.isPositiveLookbehind||f.isNegativeLookbehind)return this._scanLook(i,o,n,u);else if(f.isNonbacktracking)return this._scanNonBacktracking(i,o,n,u);return r.onHoldTextIndex=o,r.onHold=!0,i.pushPass(0,u.children,this._cloneSettings(r.settings)),c.nextPass},_scanGroupImnsxToken:function(n,t){var i=this._branchResultKind;return n.isIgnoreCase!=null&&(t.ignoreCase=n.isIgnoreCase),n.isMultiline!=null&&(t.multiline=n.isMultiline),n.isSingleLine!=null&&(t.singleline=n.isSingleLine),n.isIgnoreWhitespace!=null&&(t.ignoreWhitespace=n.isIgnoreWhitespace),n.isExplicitCapture!=null&&(t.explicitCapture=n.isExplicitCapture),i.ok},_scanAlternationConditionToken:function(n,t,i,r,u){var o=System.Text.RegularExpressions.RegexEngineParser.tokenTypes,f=this._branchResultKind,c=u.children,l=i.state.txtIndex,e=f.nextBranch,s,h;return u.type===o.alternationGroupRefNameCondition||u.type===o.alternationGroupRefNumberCondition?(s=i.state.resolveBackref(u.data.packedSlotId),e=s!=null?f.ok:f.nextBranch):(h=this._scan(l,n,c,!0,null),this._combineScanResults(i,h)&&(e=f.ok)),e===f.nextBranch&&r.tokens.noAlternation&&(e=f.endPass),e},_scanLook:function(n,t,i,r){var u=r.group.constructs,e=this._branchResultKind,f=r.children,o,s,h=u.isPositiveLookahead||u.isNegativeLookahead,c=u.isPositiveLookbehind||u.isNegativeLookbehind;return h||c?(f=f.slice(1,f.length),o=u.isPositiveLookahead||u.isPositiveLookbehind,s=h?this._scanLookAhead(n,t,i,f):this._scanLookBehind(n,t,i,f),o===s?e.ok:e.nextBranch):null},_scanLookAhead:function(n,t,i,r){var u=this._scan(t,i,r,!0,null);return this._combineScanResults(n,u)},_scanLookBehind:function(n,t,i,r){for(var u=t,f,e;u>=0;){if(f=t-u,e=this._scan(u,i,r,!0,f),this._combineScanResults(n,e))return!0;--u}return!1},_scanNonBacktracking:function(n,t,i,r){var e=this._branchResultKind,u=r.children,f;return(u=u.slice(1,u.length),f=this._scan(t,i,u,!0,null),!f)?e.nextBranch:(n.state.logCapture(f.capLength),e.ok)},_scanLiteral:function(n,t,i,r,u){var e=this._branchResultKind,o=i.state.txtIndex,f;if(o+u.length>n)return e.nextBranch;if(r.settings.ignoreCase){for(f=0;f<u.length;f++)if(this._text[o+f].toLowerCase()!==u[f].toLowerCase())return e.nextBranch}else for(f=0;f<u.length;f++)if(this._text[o+f]!==u[f])return e.nextBranch;return i.state.logCapture(u.length),e.ok},_scanWithJsRegex:function(n,t,i,r,u){var o=this._branchResultKind,h=t.state.txtIndex,e=this._text[h],s,f;return(e==null&&(e=""),s=i.settings.ignoreCase?"i":"",f=r.rgx,f==null&&(u==null&&(u=r.value),f=new RegExp(u,s),r.rgx=f),f.test(e))?(t.state.logCapture(e.length),o.ok):o.nextBranch},_scanWithJsRegex2:function(n,t){var r=this._branchResultKind,i=this._text[n],u;return(i==null&&(i=""),u=new RegExp(t,""),u.test(i))?r.ok:r.nextBranch},_scanCharGroupToken:function(n,t,i,r,u){var l=System.Text.RegularExpressions.RegexEngineParser.tokenTypes,f=this._branchResultKind,w=t.state.txtIndex,e=this._text[w],s,a,h,o,v,c,y,p;if(e==null)return f.nextBranch;if(h=e.charCodeAt(0),o=r.data.ranges,r.data.substractToken!=null){if(r.data.substractToken.type===l.charGroup)y=this._scanCharGroupToken(n,t,i,r.data.substractToken,!0);else if(r.data.substractToken.type===l.charNegativeGroup)y=this._scanCharNegativeGroupToken(n,t,i,r.data.substractToken,!0);else throw new System.InvalidOperationException.$ctor1("Unexpected substuct group token.");if(y===f.ok)return r.type===l.charGroup?f.nextBranch:f.ok}if(o.charClassToken!=null&&(p=this._scanWithJsRegex(n,t,i,o.charClassToken),p===f.ok))return f.ok;for(a=0;a<2;a++){for(s=0;s<o.length;s++){if(v=o[s],v.n>h)break;if(h<=v.m)return u||t.state.logCapture(1),f.ok}c==null&&i.settings.ignoreCase&&(c=e.toUpperCase(),e=e===c?e.toLowerCase():c,h=e.charCodeAt(0))}return f.nextBranch},_scanCharNegativeGroupToken:function(n,t,i,r,u){var f=this._branchResultKind,o=t.state.txtIndex,s=this._text[o],e;return s==null?f.nextBranch:(e=this._scanCharGroupToken(n,t,i,r,!0),e===f.ok)?f.nextBranch:(u||t.state.logCapture(1),f.ok)},_scanEscapeToken:function(n,t,i,r){return this._scanWithJsRegex(n,t,i,r)},_scanDotToken:function(n,t,i,r){var u=this._branchResultKind,f=i.state.txtIndex;if(r.settings.singleline){if(f<n)return i.state.logCapture(1),u.ok}else if(f<n&&this._text[f]!=="\n")return i.state.logCapture(1),u.ok;return u.nextBranch},_scanBackrefNumberToken:function(n,t,i,r,u){var o=this._branchResultKind,f=i.state.resolveBackref(u.data.slotId),e;return f==null?o.nextBranch:(e=this._text.slice(f.capIndex,f.capIndex+f.capLength),this._scanLiteral(n,t,i,r,e))},_scanBackrefNameToken:function(n,t,i,r,u){var o=this._branchResultKind,f=i.state.resolveBackref(u.data.slotId),e;return f==null?o.nextBranch:(e=this._text.slice(f.capIndex,f.capIndex+f.capLength),this._scanLiteral(n,t,i,r,e))},_scanAnchorToken:function(n,t,i,r,u){var e=this._branchResultKind,f=i.state.txtIndex,o,s;if(u.value==="\\b"||u.value==="\\B"){if(o=f>0&&this._scanWithJsRegex2(f-1,"\\w")===e.ok,s=this._scanWithJsRegex2(f,"\\w")===e.ok,o===s==(u.value==="\\B"))return e.ok}else if(u.value==="^"){if(f===0||r.settings.multiline&&this._text[f-1]==="\n")return e.ok}else if(u.value==="$"){if(f===n||r.settings.multiline&&this._text[f]==="\n")return e.ok}else if(u.value==="\\A"){if(f===0)return e.ok}else if(u.value==="\\z"){if(f===n)return e.ok}else if(u.value==="\\Z"){if(f===n||f===n-1&&this._text[f]==="\n")return e.ok}else if(u.value==="\\G")return e.ok;return e.nextBranch},_cloneSettings:function(n){return{ignoreCase:n.ignoreCase,multiline:n.multiline,singleline:n.singleline,ignoreWhitespace:n.ignoreWhitespace,explicitCapture:n.explicitCapture}},_combineScanResults:function(n,t){if(t!=null){for(var u=n.state.groups,r=t.groups,f=r.length,i=0;i<f;++i)u.push(r[i]);return!0}return!1},_getEmptyMatch:function(){return{capIndex:0,capLength:0,success:!1,value:"",groups:[],captures:[]}},_fillMatch:function(n,t,i,r){t==null&&(t=r);n.capIndex=t;n.capLength=i;n.success=!0;n.value=this._text.slice(t,t+i);n.groups.push({capIndex:t,capLength:i,value:n.value,success:!0,captures:[{capIndex:t,capLength:i,value:n.value}]});n.captures.push(n.groups[0].captures[0])},_checkTimeout:function(){if(!(this._timeoutTime<0)){var n=(new Date).getTime();if(n>=this._timeoutTime)throw new System.RegexMatchTimeoutException(this._text,this._pattern,System.TimeSpan.fromMilliseconds(this._timeoutMs));}}});H5.define("System.Text.RegularExpressions.RegexEngineBranch",{type:0,value:0,min:0,max:0,isStarted:!1,isNotFailing:!1,state:null,ctor:function(n,t,i,r,u){this.$initialize();this.type=n;this.value=t;this.min=i;this.max=r;this.state=u!=null?u.clone():new System.Text.RegularExpressions.RegexEngineState},pushPass:function(n,t,i){var r=new System.Text.RegularExpressions.RegexEnginePass(n,t,i);this.state.passes.push(r)},peekPass:function(){return this.state.passes[this.state.passes.length-1]},popPass:function(){return this.state.passes.pop()},hasPass:function(){return this.state.passes.length>0},clone:function(){var n=new System.Text.RegularExpressions.RegexEngineBranch(this.type,this.value,this.min,this.max,this.state);return n.isNotFailing=this.isNotFailing,n}});H5.define("System.Text.RegularExpressions.RegexEngineState",{txtIndex:0,capIndex:null,capLength:0,passes:null,groups:null,ctor:function(){this.$initialize();this.passes=[];this.groups=[]},logCapture:function(n){this.capIndex==null&&(this.capIndex=this.txtIndex);this.txtIndex+=n;this.capLength+=n},logCaptureGroup:function(n,t,i){this.groups.push({rawIndex:n.rawIndex,slotId:n.packedSlotId,capIndex:t,capLength:i})},logCaptureGroupBalancing:function(n,t){for(var s=n.balancingSlotId,r=this.groups,i=r.length-1,u,f,e,o;i>=0;){if(r[i].slotId===s){u=r[i];f=i;break}--i}return u!=null&&f!=null?(r.splice(f,1),n.constructs.name1!=null&&(e=u.capIndex+u.capLength,o=t-e,this.logCaptureGroup(n,e,o)),!0):!1},resolveBackref:function(n){for(var i=this.groups,t=i.length-1;t>=0;){if(i[t].slotId===n)return i[t];--t}return null},clone:function(){var t=new System.Text.RegularExpressions.RegexEngineState,e,u;t.txtIndex=this.txtIndex;t.capIndex=this.capIndex;t.capLength=this.capLength;for(var o=t.passes,f=this.passes,r=f.length,i,n=0;n<r;n++)i=f[n].clone(),o.push(i);for(e=t.groups,u=this.groups,r=u.length,n=0;n<r;n++)i=u[n],e.push(i);return t}});H5.define("System.Text.RegularExpressions.RegexEnginePass",{index:0,tokens:null,probe:null,onHold:!1,onHoldTextIndex:-1,alternationHandled:!1,settings:null,ctor:function(n,t,i){this.$initialize();this.index=n;this.tokens=t;this.settings=i},clearState:function(n){this.index=0;this.probe=null;this.onHold=!1;this.onHoldTextIndex=-1;this.alternationHandled=!1;this.settings=n},clone:function(){var n=new System.Text.RegularExpressions.RegexEnginePass(this.index,this.tokens,this.settings);return n.onHold=this.onHold,n.onHoldTextIndex=this.onHoldTextIndex,n.alternationHandled=this.alternationHandled,n.probe=this.probe!=null?this.probe.clone():null,n}});H5.define("System.Text.RegularExpressions.RegexEngineProbe",{min:0,max:0,value:0,isLazy:!1,forced:!1,ctor:function(n,t,i,r){this.$initialize();this.min=n;this.max=t;this.value=i;this.isLazy=r;this.forced=!1},clone:function(){var n=new System.Text.RegularExpressions.RegexEngineProbe(this.min,this.max,this.value,this.isLazy);return n.forced=this.forced,n}});H5.define("System.Text.RegularExpressions.RegexEngineParser",{statics:{_hexSymbols:"0123456789abcdefABCDEF",_octSymbols:"01234567",_decSymbols:"0123456789",_escapedChars:"abtrvfnexcu",_escapedCharClasses:"pPwWsSdD",_escapedAnchors:"AZzGbB",_escapedSpecialSymbols:" .,$^{}[]()|*+-=?\\|/\"':;~!@#%&",_whiteSpaceChars:" \r\n\t\v\f\u00A0\uFEFF",_unicodeCategories:["Lu","Ll","Lt","Lm","Lo","L","Mn","Mc","Me","M","Nd","Nl","No","N","Pc","Pd","Ps","Pe","Pi","Pf","Po","P","Sm","Sc","Sk","So","S","Zs","Zl","Zp","Z","Cc","Cf","Cs","Co","Cn","C"],_namedCharBlocks:["IsBasicLatin","IsLatin-1Supplement","IsLatinExtended-A","IsLatinExtended-B","IsIPAExtensions","IsSpacingModifierLetters","IsCombiningDiacriticalMarks","IsGreek","IsGreekandCoptic","IsCyrillic","IsCyrillicSupplement","IsArmenian","IsHebrew","IsArabic","IsSyriac","IsThaana","IsDevanagari","IsBengali","IsGurmukhi","IsGujarati","IsOriya","IsTamil","IsTelugu","IsKannada","IsMalayalam","IsSinhala","IsThai","IsLao","IsTibetan","IsMyanmar","IsGeorgian","IsHangulJamo","IsEthiopic","IsCherokee","IsUnifiedCanadianAboriginalSyllabics","IsOgham","IsRunic","IsTagalog","IsHanunoo","IsBuhid","IsTagbanwa","IsKhmer","IsMongolian","IsLimbu","IsTaiLe","IsKhmerSymbols","IsPhoneticExtensions","IsLatinExtendedAdditional","IsGreekExtended","IsGeneralPunctuation","IsSuperscriptsandSubscripts","IsCurrencySymbols","IsCombiningDiacriticalMarksforSymbols","IsCombiningMarksforSymbols","IsLetterlikeSymbols","IsNumberForms","IsArrows","IsMathematicalOperators","IsMiscellaneousTechnical","IsControlPictures","IsOpticalCharacterRecognition","IsEnclosedAlphanumerics","IsBoxDrawing","IsBlockElements","IsGeometricShapes","IsMiscellaneousSymbols","IsDingbats","IsMiscellaneousMathematicalSymbols-A","IsSupplementalArrows-A","IsBraillePatterns","IsSupplementalArrows-B","IsMiscellaneousMathematicalSymbols-B","IsSupplementalMathematicalOperators","IsMiscellaneousSymbolsandArrows","IsCJKRadicalsSupplement","IsKangxiRadicals","IsIdeographicDescriptionCharacters","IsCJKSymbolsandPunctuation","IsHiragana","IsKatakana","IsBopomofo","IsHangulCompatibilityJamo","IsKanbun","IsBopomofoExtended","IsKatakanaPhoneticExtensions","IsEnclosedCJKLettersandMonths","IsCJKCompatibility","IsCJKUnifiedIdeographsExtensionA","IsYijingHexagramSymbols","IsCJKUnifiedIdeographs","IsYiSyllables","IsYiRadicals","IsHangulSyllables","IsHighSurrogates","IsHighPrivateUseSurrogates","IsLowSurrogates","IsPrivateUse or IsPrivateUseArea","IsCJKCompatibilityIdeographs","IsAlphabeticPresentationForms","IsArabicPresentationForms-A","IsVariationSelectors","IsCombiningHalfMarks","IsCJKCompatibilityForms","IsSmallFormVariants","IsArabicPresentationForms-B","IsHalfwidthandFullwidthForms","IsSpecials"],_controlChars:["@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_"],tokenTypes:{literal:0,escChar:110,escCharOctal:111,escCharHex:112,escCharCtrl:113,escCharUnicode:114,escCharOther:115,escCharClass:120,escCharClassCategory:121,escCharClassBlock:122,escCharClassDot:123,escAnchor:130,escBackrefNumber:140,escBackrefName:141,charGroup:200,charNegativeGroup:201,charInterval:202,anchor:300,group:400,groupImnsx:401,groupImnsxMisc:402,groupConstruct:403,groupConstructName:404,groupConstructImnsx:405,groupConstructImnsxMisc:406,quantifier:500,quantifierN:501,quantifierNM:502,alternation:600,alternationGroup:601,alternationGroupCondition:602,alternationGroupRefNumberCondition:603,alternationGroupRefNameCondition:604,commentInline:700,commentXMode:701},parsePattern:function(n,t){var i=System.Text.RegularExpressions.RegexEngineParser,r=i._parsePatternImpl(n,t,0,n.length),f=[],u;return i._fillGroupDescriptors(r,f),u=i._getGroupSparseInfo(f),i._fillBalancingGroupInfo(f,u),i._preTransformBackrefTokens(n,r,u),i._transformRawTokens(t,r,u,[],[],0),i._updateGroupDescriptors(r),{groups:f,sparseSettings:u,isContiguous:t.isContiguous||!1,shouldFail:t.shouldFail||!1,tokens:r}},_transformRawTokens:function(n,t,i,r,u,f){for(var l=System.Text.RegularExpressions.RegexEngineParser,s=l.tokenTypes,a,e,c,h,p,b,v,y,w,o=0;o<t.length;o++){if(e=t[o],o<t.length-1){w=t[o+1];switch(w.type){case s.quantifier:case s.quantifierN:case s.quantifierNM:e.qtoken=w;t.splice(o+1,1);--o}}if(e.type===s.escBackrefNumber){if(p=e.data.number,h=i.getPackedSlotIdBySlotNumber(p),h==null)throw new System.ArgumentException.$ctor1("Reference to undefined group number "+p.toString()+".");if(r.indexOf(h)<0){n.shouldFail=!0;continue}e.data.slotId=h}else if(e.type===s.escBackrefName){if(c=e.data.name,h=i.getPackedSlotIdBySlotName(c),h==null){if(b=l._matchChars(c,0,c.length,l._decSymbols),b.matchLength===c.length){c="\\"+c;l._updatePatternToken(e,s.escBackrefNumber,e.index,c.length,c);--o;continue}throw new System.ArgumentException.$ctor1("Reference to undefined group name '"+c+"'.");}if(r.indexOf(h)<0){n.shouldFail=!0;continue}e.data.slotId=h}else if(e.type===s.anchor||e.type===s.escAnchor){if(e.value==="\\G"){f===0&&o===0?n.isContiguous=!0:n.shouldFail=!0;t.splice(o,1);--o;continue}}else if(e.type===s.commentInline||e.type===s.commentXMode){t.splice(o,1);--o;continue}else if(e.type===s.literal){if(o>0&&!e.qtoken&&(a=t[o-1],a.type===s.literal&&!a.qtoken)){a.value+=e.value;a.length+=e.length;t.splice(o,1);--o;continue}}else if(e.type===s.alternationGroupCondition&&e.data!=null)if(e.data.number!=null){if(h=i.getPackedSlotIdBySlotNumber(e.data.number),h==null)throw new System.ArgumentException.$ctor1("Reference to undefined group number "+c+".");e.data.packedSlotId=h;l._updatePatternToken(e,s.alternationGroupRefNumberCondition,e.index,e.length,e.value)}else h=i.getPackedSlotIdBySlotName(e.data.name),h!=null?(e.data.packedSlotId=h,l._updatePatternToken(e,s.alternationGroupRefNameCondition,e.index,e.length,e.value)):delete e.data;e.children&&e.children.length&&(v=e.type===s.group?[e.group.rawIndex]:[],v=v.concat(u),y=e.localSettings||n,l._transformRawTokens(y,e.children,i,r,v,f+1),n.shouldFail=n.shouldFail||y.shouldFail,n.isContiguous=n.isContiguous||y.isContiguous);e.type===s.group&&r.push(e.group.packedSlotId)}},_fillGroupDescriptors:function(n,t){var f=System.Text.RegularExpressions.RegexEngineParser,i,r,u;for(f._fillGroupStructure(t,n,null),u=1,r=0;r<t.length;r++)i=t[r],i.constructs.name1!=null?(i.name=i.constructs.name1,i.hasName=!0):(i.hasName=!1,i.name=u.toString(),++u)},_fillGroupStructure:function(n,t,i){for(var s=System.Text.RegularExpressions.RegexEngineParser,e=s.tokenTypes,f,r,u,c,h,o=0;o<t.length;o++)r=t[o],h=r.children&&r.children.length,(r.type===e.group||r.type===e.groupImnsx||r.type===e.groupImnsxMisc)&&(f={rawIndex:n.length+1,number:-1,parentGroup:null,innerGroups:[],name:null,hasName:!1,constructs:null,quantifier:null,exprIndex:-1,exprLength:0,expr:null,exprFull:null},r.group=f,r.type===e.group&&(n.push(f),i!=null&&(r.group.parentGroup=i,i.innerGroups.push(f))),c=h?r.children[0]:null,f.constructs=s._fillGroupConstructs(c),u=f.constructs,r.isNonCapturingExplicit&&(delete r.isNonCapturingExplicit,u.isNonCapturingExplicit=!0),r.isEmptyCapturing&&(delete r.isEmptyCapturing,u.emptyCapture=!0),u.skipCapture=u.isNonCapturing||u.isNonCapturingExplicit||u.isNonbacktracking||u.isPositiveLookahead||u.isNegativeLookahead||u.isPositiveLookbehind||u.isNegativeLookbehind||u.name1==null&&u.name2!=null),h&&s._fillGroupStructure(n,r.children,r.group)},_getGroupSparseInfo:function(n){var h=System.Text.RegularExpressions.RegexEngineParser,f={},l=[],c={},r,a,t,s,i,u,v,o={0:0},e,p,y;for(o.lastSlot=0,e={"0":0},e.keys=["0"],u=0;u<n.length;u++)(i=n[u],i.constructs.skipCapture)||(i.constructs.isNumberName1?(t=parseInt(i.constructs.name1),l.push(t),f[t]?f[t].push(i):f[t]=[i]):(s=i.constructs.name1,c[s]?c[s].push(i):c[s]=[i]));for(p=function(n,t){return n-t},l.sort(p),y=!1,v=0;v<2;v++){for(u=0;u<n.length;u++)(i=n[u],i.constructs.skipCapture)||i.constructs.emptyCapture===!0===y&&(t=e.keys.length,i.hasName||(a=[i],r=f[t],r!=null&&(a=a.concat(r),f[t]=null),h._addSparseSlotForSameNamedGroups(a,t,o,e)));y=!0}for(u=0;u<n.length;u++)if((i=n[u],!i.constructs.skipCapture)&&i.hasName&&!i.constructs.isNumberName1){for(t=e.keys.length,r=f[t];r!=null;)h._addSparseSlotForSameNamedGroups(r,t,o,e),f[t]=null,t=e.keys.length,r=f[t];if(!i.constructs.isNumberName1)for(t=e.keys.length,r=f[t];r!=null;)h._addSparseSlotForSameNamedGroups(r,t,o,e),f[t]=null,t=e.keys.length,r=f[t];s=i.constructs.name1;r=c[s];r!=null&&(h._addSparseSlotForSameNamedGroups(r,t,o,e),c[s]=null)}for(u=0;u<l.length;u++)t=l[u],r=f[t],r!=null&&(h._addSparseSlotForSameNamedGroups(r,t,o,e),f[t]=null);return{isSparse:o.isSparse||!1,sparseSlotMap:o,sparseSlotNameMap:e,getPackedSlotIdBySlotNumber:function(n){return this.sparseSlotMap[n]},getPackedSlotIdBySlotName:function(n){return this.sparseSlotNameMap[n]}}},_addSparseSlot:function(n,t,i,r){var u=r.keys.length;n.packedSlotId=u;i[t]=u;r[n.name]=u;r.keys.push(n.name);!i.isSparse&&t-i.lastSlot>1&&(i.isSparse=!0);i.lastSlot=t},_addSparseSlotForSameNamedGroups:function(n,t,i,r){var o=System.Text.RegularExpressions.RegexEngineParser,u,f,e;if(o._addSparseSlot(n[0],t,i,r),f=n[0].sparseSlotId,e=n[0].packedSlotId,n.length>1)for(u=1;u<n.length;u++)n[u].sparseSlotId=f,n[u].packedSlotId=e},_fillGroupConstructs:function(n){var o=System.Text.RegularExpressions.RegexEngineParser,f=o.tokenTypes,t={name1:null,name2:null,isNumberName1:!1,isNumberName2:!1,isNonCapturing:!1,isNonCapturingExplicit:!1,isIgnoreCase:null,isMultiline:null,isExplicitCapture:null,isSingleLine:null,isIgnoreWhitespace:null,isPositiveLookahead:!1,isNegativeLookahead:!1,isPositiveLookbehind:!1,isNegativeLookbehind:!1,isNonbacktracking:!1},s,i,h,c;if(n==null)return t;if(n.type===f.groupConstruct)switch(n.value){case"?:":t.isNonCapturing=!0;break;case"?=":t.isPositiveLookahead=!0;break;case"?!":t.isNegativeLookahead=!0;break;case"?>":t.isNonbacktracking=!0;break;case"?<=":t.isPositiveLookbehind=!0;break;case"?<!":t.isNegativeLookbehind=!0;break;default:throw new System.ArgumentException.$ctor1("Unrecognized grouping construct.");}else if(n.type===f.groupConstructName){if(s=n.value.slice(2,n.length-1),i=s.split("-"),i.length===0||i.length>2)throw new System.ArgumentException.$ctor1("Invalid group name.");i[0].length&&(t.name1=i[0],h=o._validateGroupName(i[0]),t.isNumberName1=h.isNumberName);i.length===2&&(t.name2=i[1],c=o._validateGroupName(i[1]),t.isNumberName2=c.isNumberName)}else if(n.type===f.groupConstructImnsx||n.type===f.groupConstructImnsxMisc)for(var l=n.type===f.groupConstructImnsx?1:0,a=n.length-1-l,u=!0,r,e=1;e<=a;e++)r=n.value[e],r==="-"?u=!1:r==="i"?t.isIgnoreCase=u:r==="m"?t.isMultiline=u:r==="n"?t.isExplicitCapture=u:r==="s"?t.isSingleLine=u:r==="x"&&(t.isIgnoreWhitespace=u);return t},_validateGroupName:function(n){var t,i,r;if(!n||!n.length)throw new System.ArgumentException.$ctor1("Invalid group name: Group names must begin with a word character.");if(t=n[0]>="0"&&n[0]<="9",t&&(i=System.Text.RegularExpressions.RegexEngineParser,r=i._matchChars(n,0,n.length,i._decSymbols),r.matchLength!==n.length))throw new System.ArgumentException.$ctor1("Invalid group name: Group names must begin with a word character.");return{isNumberName:t}},_fillBalancingGroupInfo:function(n,t){for(var i,r=0;r<n.length;r++)if(i=n[r],i.constructs.name2!=null&&(i.isBalancing=!0,i.balancingSlotId=t.getPackedSlotIdBySlotName(i.constructs.name2),i.balancingSlotId==null))throw new System.ArgumentException.$ctor1("Reference to undefined group name '"+i.constructs.name2+"'.");},_preTransformBackrefTokens:function(n,t,i){for(var u=System.Text.RegularExpressions.RegexEngineParser,s=u.tokenTypes,f,e,h,c,r,o=0;o<t.length;o++){if(r=t[o],r.type===s.escBackrefNumber){if(f=r.data.number,f>=1&&i.getPackedSlotIdBySlotNumber(f)!=null)continue;if(f<=9)throw new System.ArgumentException.$ctor1("Reference to undefined group number "+f.toString()+".");if(e=u._parseOctalCharToken(r.value,0,r.length),e==null)throw new System.ArgumentException.$ctor1("Unrecognized escape sequence "+r.value.slice(0,2)+".");h=r.length-e.length;u._modifyPatternToken(r,n,s.escCharOctal,null,e.length);r.data=e.data;h>0&&(c=u._createPatternToken(n,s.literal,r.index+r.length,h),t.splice(o+1,0,c))}r.children&&r.children.length&&u._preTransformBackrefTokens(n,r.children,i)}},_updateGroupDescriptors:function(n,t){for(var o=System.Text.RegularExpressions.RegexEngineParser,e=o.tokenTypes,r,i,f,h,c,s=t||0,u=0;u<n.length;u++)i=n[u],i.index=s,i.children&&(c=i.childrenPostfix.length,o._updateGroupDescriptors(i.children,s+c),h=o._constructPattern(i.children),i.value=i.childrenPrefix+h+i.childrenPostfix,i.length=i.value.length),i.type===e.group&&i.group&&(r=i.group,r.exprIndex=i.index,r.exprLength=i.length,u+1<n.length&&(f=n[u+1],(f.type===e.quantifier||f.type===e.quantifierN||f.type===e.quantifierNM)&&(r.quantifier=f.value)),r.expr=i.value,r.exprFull=r.expr+(r.quantifier!=null?r.quantifier:"")),s+=i.length},_constructPattern:function(n){for(var i="",r,t=0;t<n.length;t++)r=n[t],i+=r.value;return i},_parsePatternImpl:function(n,t,i,r){if(n==null)throw new System.ArgumentNullException.$ctor1("pattern");if(i<0||i>n.length)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(r<i||r>n.length)throw new System.ArgumentOutOfRangeException.$ctor1("endIndex");for(var f=System.Text.RegularExpressions.RegexEngineParser,h=f.tokenTypes,s=[],o,e,u=i;u<r;){if(e=n[u],t.ignoreWhitespace&&f._whiteSpaceChars.indexOf(e)>=0){++u;continue}o=e==="."?f._parseDotToken(n,u,r):e==="\\"?f._parseEscapeToken(n,u,r):e==="["?f._parseCharRangeToken(n,u,r):e==="^"||e==="$"?f._parseAnchorToken(n,u):e==="("?f._parseGroupToken(n,t,u,r):e==="|"?f._parseAlternationToken(n,u):e==="#"&&t.ignoreWhitespace?f._parseXModeCommentToken(n,u,r):f._parseQuantifierToken(n,u,r);o==null&&(o=f._createPatternToken(n,h.literal,u,1));o!=null&&(s.push(o),u+=o.length)}return s},_parseEscapeToken:function(n,t,i){var u=System.Text.RegularExpressions.RegexEngineParser,o=u.tokenTypes,f=n[t],h,c,l,s,y,e,a,r,v;if(f!=="\\")return null;if(t+1>=i)throw new System.ArgumentException.$ctor1("Illegal \\ at end of pattern.");if(f=n[t+1],f>="1"&&f<="9")return h=u._matchChars(n,t+1,i,u._decSymbols,3),c=u._createPatternToken(n,o.escBackrefNumber,t,1+h.matchLength),c.data={number:parseInt(h.match,10)},c;if(u._escapedAnchors.indexOf(f)>=0)return u._createPatternToken(n,o.escAnchor,t,2);if(l=u._parseEscapedChar(n,t,i),l!=null)return l;if(f==="k"){if(t+2<i&&(s=n[t+2],(s==="'"||s==="<")&&(y=s==="<"?">":"'",e=u._matchUntil(n,t+3,i,y),e.unmatchLength===1&&e.matchLength>0)))return a=u._createPatternToken(n,o.escBackrefName,t,3+e.matchLength+1),a.data={name:e.match},a;throw new System.ArgumentException.$ctor1("Malformed \\k<...> named back reference.");}if(r=f.charCodeAt(0),r>=0&&r<48||r>57&&r<65||r>90&&r<95||r===96||r>122&&r<128)return v=u._createPatternToken(n,o.escChar,t,2),v.data={n:r,ch:f},v;throw new System.ArgumentException.$ctor1("Unrecognized escape sequence \\"+f+".");},_parseOctalCharToken:function(n,t,i){var r=System.Text.RegularExpressions.RegexEngineParser,s=r.tokenTypes,u=n[t];if(u==="\\"&&t+1<i&&(u=n[t+1],u>="0"&&u<="7")){var f=r._matchChars(n,t+1,i,r._octSymbols,3),e=parseInt(f.match,8),o=r._createPatternToken(n,s.escCharOctal,t,1+f.matchLength);return o.data={n:e,ch:String.fromCharCode(e)},o}return null},_parseEscapedChar:function(n,t,i){var r=System.Text.RegularExpressions.RegexEngineParser,o=r.tokenTypes,f,u=n[t],a,v,h,c,y,p,e,s,l;if(u!=="\\"||t+1>=i)return null;if(u=n[t+1],r._escapedChars.indexOf(u)>=0){if(u==="x"){if(a=r._matchChars(n,t+2,i,r._hexSymbols,2),a.matchLength!==2)throw new System.ArgumentException.$ctor1("Insufficient hexadecimal digits.");return v=parseInt(a.match,16),f=r._createPatternToken(n,o.escCharHex,t,4),f.data={n:v,ch:String.fromCharCode(v)},f}else if(u==="c"){if(t+2>=i)throw new System.ArgumentException.$ctor1("Missing control character.");if(h=n[t+2],h=h.toUpperCase(),c=this._controlChars.indexOf(h),c>=0)return f=r._createPatternToken(n,o.escCharCtrl,t,3),f.data={n:c,ch:String.fromCharCode(c)},f;throw new System.ArgumentException.$ctor1("Unrecognized control character.");}else if(u==="u"){if(y=r._matchChars(n,t+2,i,r._hexSymbols,4),y.matchLength!==4)throw new System.ArgumentException.$ctor1("Insufficient hexadecimal digits.");return p=parseInt(y.match,16),f=r._createPatternToken(n,o.escCharUnicode,t,6),f.data={n:p,ch:String.fromCharCode(p)},f}f=r._createPatternToken(n,o.escChar,t,2);switch(u){case"a":e=7;break;case"b":e=8;break;case"t":e=9;break;case"r":e=13;break;case"v":e=11;break;case"f":e=12;break;case"n":e=10;break;case"e":e=27;break;default:throw new System.ArgumentException.$ctor1("Unexpected escaped char: '"+u+"'.");}return f.data={n:e,ch:String.fromCharCode(e)},f}if(u>="0"&&u<="7")return r._parseOctalCharToken(n,t,i);if(r._escapedCharClasses.indexOf(u)>=0){if(u==="p"||u==="P"){if(s=r._matchUntil(n,t+2,i,"}"),s.matchLength<2||s.match[0]!=="{"||s.unmatchLength!==1)throw new System.ArgumentException.$ctor1("Incomplete p{X} character escape.");if(l=s.match.slice(1),r._unicodeCategories.indexOf(l)>=0)return r._createPatternToken(n,o.escCharClassCategory,t,2+s.matchLength+1);if(r._namedCharBlocks.indexOf(l)>=0)return r._createPatternToken(n,o.escCharClassBlock,t,2+s.matchLength+1);throw new System.ArgumentException.$ctor1("Unknown property '"+l+"'.");}return r._createPatternToken(n,o.escCharClass,t,2)}return r._escapedSpecialSymbols.indexOf(u)>=0?(f=r._createPatternToken(n,o.escCharOther,t,2),f.data={n:u.charCodeAt(0),ch:u},f):null},_parseCharRangeToken:function(n,t,i){var e=System.Text.RegularExpressions.RegexEngineParser,a=e.tokenTypes,u=[],v,o,f,y=!1,p=!1,w=!1,s=n[t],r,h,c,b,l,k;if(s!=="[")return null;for(r=t+1,h=-1,r<i&&n[r]==="^"&&(y=!0,r++),b=r;r<i;){if(s=n[r],p=w,s==="-"&&r+1<i&&n[r+1]==="[")o=e._parseCharRangeToken(n,r+1,i),o.childrenPrefix="-"+o.childrenPrefix,o.length++,f=o,c=o.length,w=!0;else if(s==="\\"){if(f=e._parseEscapedChar(n,r,i),f==null)throw new System.ArgumentException.$ctor1("Unrecognized escape sequence \\"+s+".");c=f.length}else if(s==="]"&&r>b){h=r;break}else f=e._createPatternToken(n,a.literal,r,1),c=1;if(p)throw new System.ArgumentException.$ctor1("A subtraction must be the last element in a character class.");u.length>1&&(v=e._parseCharIntervalToken(n,u[u.length-2],u[u.length-1],f),v!=null&&(u.pop(),u.pop(),f=v));f!=null&&(u.push(f),r+=c)}if(h<0||u.length<1)throw new System.ArgumentException.$ctor1("Unterminated [] set.");return l=y?e._createPatternToken(n,a.charNegativeGroup,t,1+h-t,u,"[^","]"):e._createPatternToken(n,a.charGroup,t,1+h-t,u,"[","]"),k=e._tidyCharRange(u),l.data={ranges:k},o!=null&&(l.data.substractToken=o),l},_parseCharIntervalToken:function(n,t,i,r){var h=System.Text.RegularExpressions.RegexEngineParser,u=h.tokenTypes,f,o,e,s;if(i.type!==u.literal||i.value!=="-"||t.type!==u.literal&&t.type!==u.escChar&&t.type!==u.escCharOctal&&t.type!==u.escCharHex&&t.type!==u.escCharCtrl&&t.type!==u.escCharUnicode&&t.type!==u.escCharOther||r.type!==u.literal&&r.type!==u.escChar&&r.type!==u.escCharOctal&&r.type!==u.escCharHex&&r.type!==u.escCharCtrl&&r.type!==u.escCharUnicode&&r.type!==u.escCharOther)return null;if(t.type===u.literal?(f=t.value.charCodeAt(0),o=t.value):(f=t.data.n,o=t.data.ch),r.type===u.literal?(e=r.value.charCodeAt(0),s=r.value):(e=r.data.n,s=r.data.ch),f>e)throw new System.NotSupportedException.$ctor1("[x-y] range in reverse order.");var l=t.index,a=t.length+i.length+r.length,c=h._createPatternToken(n,u.charInterval,l,a,[t,i,r],"","");return c.data={startN:f,startCh:o,endN:e,endCh:s},c},_tidyCharRange:function(n){for(var l=System.Text.RegularExpressions.RegexEngineParser,i=l.tokenTypes,f,e,o,t,r=[],a=[],s,h,c,v,u=0;u<n.length;u++){if(t=n[u],t.type===i.literal)e=t.value.charCodeAt(0),o=e;else if(t.type===i.charInterval)e=t.data.startN,o=t.data.endN;else if(t.type===i.literal||t.type===i.escChar||t.type===i.escCharOctal||t.type===i.escCharHex||t.type===i.escCharCtrl||t.type===i.escCharUnicode||t.type===i.escCharOther)e=t.data.n,o=e;else if(t.type===i.charGroup||t.type===i.charNegativeGroup)continue;else{a.push(t);continue}if(r.length===0){r.push({n:e,m:o});continue}for(f=0;f<r.length;f++)if(r[f].n>e)break;r.splice(f,0,{n:e,m:o})}for(u=0;u<r.length;u++){for(s=r[u],c=0,f=u+1;f<r.length;f++){if(h=r[f],h.n>1+s.m)break;c++;h.m>s.m&&(s.m=h.m)}c>0&&r.splice(u+1,c)}return a.length>0&&(v="["+l._constructPattern(a)+"]",r.charClassToken=l._createPatternToken(v,i.charGroup,0,v.length,n,"[","]")),r},_parseDotToken:function(n,t){var i=System.Text.RegularExpressions.RegexEngineParser,r=i.tokenTypes,u=n[t];return u!=="."?null:i._createPatternToken(n,r.escCharClassDot,t,1)},_parseAnchorToken:function(n,t){var i=System.Text.RegularExpressions.RegexEngineParser,u=i.tokenTypes,r=n[t];return r!=="^"&&r!=="$"?null:i._createPatternToken(n,u.anchor,t,1)},_updateSettingsFromConstructs:function(n,t){t.isIgnoreWhitespace!=null&&(n.ignoreWhitespace=t.isIgnoreWhitespace);t.isExplicitCapture!=null&&(n.explicitCapture=t.isExplicitCapture)},_parseGroupToken:function(n,t,i,r){var s=System.Text.RegularExpressions.RegexEngineParser,u=s.tokenTypes,a={ignoreWhitespace:t.ignoreWhitespace,explicitCapture:t.explicitCapture},e=n[i],h,c,l,ft,et,p,w,ot,b,nt;if(e!=="(")return null;var k=1,y=!1,d=i+1,o=-1,g=!1,tt=!1,it=!1,rt=!1,ut=!1,v=null,f=s._parseGroupConstructToken(n,a,i+1,r);for(f!=null&&(v=this._fillGroupConstructs(f),d+=f.length,f.type===u.commentInline?g=!0:f.type===u.alternationGroupCondition?tt=!0:f.type===u.groupConstructImnsx?(this._updateSettingsFromConstructs(a,v),rt=!0):f.type===u.groupConstructImnsxMisc&&(this._updateSettingsFromConstructs(t,v),it=!0)),a.explicitCapture&&(v==null||v.name1==null)&&(ut=!0),h=d;h<r;){if(e=n[h],e==="\\")h++;else if(e==="[")y=!0;else if(e==="]"&&y)y=!1;else if(!y)if(e!=="("||g){if(e===")"&&(--k,k===0)){o=h;break}}else++k;++h}if(c=null,g){if(o<0)throw new System.ArgumentException.$ctor1("Unterminated (?#...) comment.");c=s._createPatternToken(n,u.commentInline,i,1+o-i)}else{if(o<0)throw new System.ArgumentException.$ctor1("Not enough )'s.");if(l=s._parsePatternImpl(n,a,d,o),f!=null&&l.splice(0,0,f),tt){for(ft=l.length,w=0,p=0;p<ft;p++)if(et=l[p],et.type===u.alternation&&(++w,w>1))throw new System.ArgumentException.$ctor1("Too many | in (?()|).");if(w===0)throw new System.NotSupportedException.$ctor1("Alternation group without | is not supported.");ot=s._createPatternToken(n,u.alternationGroup,i,1+o-i,l,"(",")");c=ot}else b=u.group,it?b=u.groupImnsxMisc:rt&&(b=u.groupImnsx),nt=s._createPatternToken(n,b,i,1+o-i,l,"(",")"),nt.localSettings=a,c=nt}return ut&&(c.isNonCapturingExplicit=!0),c},_parseGroupConstructToken:function(n,t,i,r){var f=System.Text.RegularExpressions.RegexEngineParser,o=f.tokenTypes,u=n[i],h,c,s,l,e,a,v;if(u!=="?"||i+1>=r)return null;if(u=n[i+1],u===":"||u==="="||u==="!"||u===">")return f._createPatternToken(n,o.groupConstruct,i,2);if(u==="#")return f._createPatternToken(n,o.commentInline,i,2);if(u==="(")return f._parseAlternationGroupConditionToken(n,t,i,r);if(u==="<"&&i+2<r&&(h=n[i+2],h==="="||h==="!"))return f._createPatternToken(n,o.groupConstruct,i,3);if(u==="<"||u==="'"){if(c=u==="<"?">":u,s=f._matchUntil(n,i+2,r,c),s.unmatchLength!==1||s.matchLength===0)throw new System.ArgumentException.$ctor1("Unrecognized grouping construct.");if(l=s.match.slice(0,1),"`~@#$%^&*()+{}[]|\\/|'\";:,.?".indexOf(l)>=0)throw new System.ArgumentException.$ctor1("Invalid group name: Group names must begin with a word character.");return f._createPatternToken(n,o.groupConstructName,i,2+s.matchLength+1)}if(e=f._matchChars(n,i+1,r,"imnsx-"),e.matchLength>0&&(e.unmatchCh===":"||e.unmatchCh===")"))return a=e.unmatchCh===":"?o.groupConstructImnsx:o.groupConstructImnsxMisc,v=e.unmatchCh===":"?1:0,f._createPatternToken(n,a,i,1+e.matchLength+v);throw new System.ArgumentException.$ctor1("Unrecognized grouping construct.");},_parseQuantifierToken:function(n,t,i){var f=System.Text.RegularExpressions.RegexEngineParser,s=f.tokenTypes,r=null,e=n[t],u,o,h,c;if(e==="*"||e==="+"||e==="?")r=f._createPatternToken(n,s.quantifier,t,1),r.data={val:e};else if(e==="{"&&(u=f._matchChars(n,t+1,i,f._decSymbols),u.matchLength!==0))if(u.unmatchCh==="}")r=f._createPatternToken(n,s.quantifierN,t,1+u.matchLength+1),r.data={n:parseInt(u.match,10)};else if(u.unmatchCh===","&&(o=f._matchChars(n,u.unmatchIndex+1,i,f._decSymbols),o.unmatchCh==="}"&&(r=f._createPatternToken(n,s.quantifierNM,t,1+u.matchLength+1+o.matchLength+1),r.data={n:parseInt(u.match,10),m:null},o.matchLength!==0&&(r.data.m=parseInt(o.match,10),r.data.n>r.data.m))))throw new System.ArgumentException.$ctor1("Illegal {x,y} with x > y.");return r!=null&&(h=t+r.length,h<i&&(c=n[h],c==="?"&&(this._modifyPatternToken(r,n,r.type,r.index,r.length+1),r.data.isLazy=!0))),r},_parseAlternationToken:function(n,t){var i=System.Text.RegularExpressions.RegexEngineParser,r=i.tokenTypes,u=n[t];return u!=="|"?null:i._createPatternToken(n,r.alternation,t,1)},_parseAlternationGroupConditionToken:function(n,t,i,r){var s=System.Text.RegularExpressions.RegexEngineParser,u=s.tokenTypes,h,l,c=null,w=n[i],f,e,o,v,y,p,a;if(w!=="?"||i+1>=r||n[i+1]!=="("||(f=s._parseGroupToken(n,t,i+1,r),f==null))return null;if(f.type===u.commentInline)throw new System.ArgumentException.$ctor1("Alternation conditions cannot be comments.");if(e=f.children,e&&e.length){if(h=e[0],h.type===u.groupConstructName)throw new System.ArgumentException.$ctor1("Alternation conditions do not capture and cannot be named.");if((h.type===u.groupConstruct||h.type===u.groupConstructImnsx)&&(l=s._findFirstGroupWithoutConstructs(e),l!=null&&(l.isEmptyCapturing=!0)),h.type===u.literal)if(o=f.value.slice(1,f.value.length-1),v=o[0]>="0"&&o[0]<="9",v){if(y=s._matchChars(o,0,o.length,s._decSymbols),y.matchLength!==o.length)throw new System.ArgumentException.$ctor1("Malformed Alternation group number: "+o+".");p=parseInt(o,10);c={number:p}}else c={name:o}}return e.length&&(e[0].type===u.groupConstruct||e[0].type===u.groupConstructImnsx)||(h=s._createPatternToken("?:",u.groupConstruct,0,2),e.splice(0,0,h)),a=s._createPatternToken(n,u.alternationGroupCondition,f.index-1,1+f.length,[f],"?",""),c!=null&&(a.data=c),a},_findFirstGroupWithoutConstructs:function(n){for(var f=System.Text.RegularExpressions.RegexEngineParser,u=f.tokenTypes,i=null,t,r=0;r<n.length;++r)if(t=n[r],t.type===u.group&&t.children&&t.children.length){if(t.children[0].type!==u.groupConstruct&&t.children[0].type!==u.groupConstructImnsx){i=t;break}if(t.children&&t.children.length&&(i=f._findFirstGroupWithoutConstructs(t.children),i!=null))break}return i},_parseXModeCommentToken:function(n,t,i){var f=System.Text.RegularExpressions.RegexEngineParser,e=f.tokenTypes,u=n[t],r;if(u!=="#")return null;for(r=t+1;r<i;)if(u=n[r],++r,u==="\n")break;return f._createPatternToken(n,e.commentXMode,t,r-t)},_createLiteralToken:function(n){var t=System.Text.RegularExpressions.RegexEngineParser;return t._createPatternToken(n,t.tokenTypes.literal,0,n.length)},_createPositiveLookaheadToken:function(n,t){var r=System.Text.RegularExpressions.RegexEngineParser,i="(?="+n+")";return r._parseGroupToken(i,t,0,i.length)},_createPatternToken:function(n,t,i,r,u,f,e){var o={type:t,index:i,length:r,value:n.slice(i,i+r)};return u!=null&&u.length>0&&(o.children=u,o.childrenPrefix=f,o.childrenPostfix=e),o},_modifyPatternToken:function(n,t,i,r,u){i!=null&&(n.type=i);(r!=null||u!=null)&&(r!=null&&(n.index=r),u!=null&&(n.length=u),n.value=t.slice(n.index,n.index+n.length))},_updatePatternToken:function(n,t,i,r,u){n.type=t;n.index=i;n.length=r;n.value=u},_matchChars:function(n,t,i,r,u){var f={match:"",matchIndex:-1,matchLength:0,unmatchCh:"",unmatchIndex:-1,unmatchLength:0},e=t,o;for(u!=null&&u>=0&&(i=t+u);e<i;){if(o=n[e],r.indexOf(o)<0){f.unmatchCh=o;f.unmatchIndex=e;f.unmatchLength=1;break}e++}return e>t&&(f.match=n.slice(t,e),f.matchIndex=t,f.matchLength=e-t),f},_matchUntil:function(n,t,i,r,u){var f={match:"",matchIndex:-1,matchLength:0,unmatchCh:"",unmatchIndex:-1,unmatchLength:0},e=t,o;for(u!=null&&u>=0&&(i=t+u);e<i;){if(o=n[e],r.indexOf(o)>=0){f.unmatchCh=o;f.unmatchIndex=e;f.unmatchLength=1;break}e++}return e>t&&(f.match=n.slice(t,e),f.matchIndex=t,f.matchLength=e-t),f}}});H5.define("System.BitConverter",{statics:{fields:{isLittleEndian:!1,arg_ArrayPlusOffTooSmall:null},ctors:{init:function(){this.isLittleEndian=System.BitConverter.getIsLittleEndian();this.arg_ArrayPlusOffTooSmall="Destination array is not long enough to copy all the items in the collection. Check array index and length."}},methods:{getBytes:function(n){return n?System.Array.init([1],System.Byte):System.Array.init([0],System.Byte)},getBytes$1:function(n){return System.BitConverter.getBytes$3(H5.Int.sxs(n&65535))},getBytes$3:function(n){var t=System.BitConverter.view(2);return t.setInt16(0,n),System.BitConverter.getViewBytes(t)},getBytes$4:function(n){var t=System.BitConverter.view(4);return t.setInt32(0,n),System.BitConverter.getViewBytes(t)},getBytes$5:function(n){var t=System.BitConverter.getView(n);return System.BitConverter.getViewBytes(t)},getBytes$7:function(n){var t=System.BitConverter.view(2);return t.setUint16(0,n),System.BitConverter.getViewBytes(t)},getBytes$8:function(n){var t=System.BitConverter.view(4);return t.setUint32(0,n),System.BitConverter.getViewBytes(t)},getBytes$9:function(n){var t=System.BitConverter.getView(System.Int64.clip64(n));return System.BitConverter.getViewBytes(t)},getBytes$6:function(n){var t=System.BitConverter.view(4);return t.setFloat32(0,n),System.BitConverter.getViewBytes(t)},getBytes$2:function(n){if(isNaN(n))return System.BitConverter.isLittleEndian?System.Array.init([0,0,0,0,0,0,248,255],System.Byte):System.Array.init([255,248,0,0,0,0,0,0],System.Byte);var t=System.BitConverter.view(8);return t.setFloat64(0,n),System.BitConverter.getViewBytes(t)},toChar:function(n,t){return System.BitConverter.toInt16(n,t)&65535},toInt16:function(n,t){System.BitConverter.checkArguments(n,t,2);var i=System.BitConverter.view(2);return System.BitConverter.setViewBytes(i,n,-1,t),i.getInt16(0)},toInt32:function(n,t){System.BitConverter.checkArguments(n,t,4);var i=System.BitConverter.view(4);return System.BitConverter.setViewBytes(i,n,-1,t),i.getInt32(0)},toInt64:function(n,t){System.BitConverter.checkArguments(n,t,8);var i=System.BitConverter.toInt32(n,t),r=System.BitConverter.toInt32(n,t+4|0);return System.BitConverter.isLittleEndian?System.Int64([i,r]):System.Int64([r,i])},toUInt16:function(n,t){return System.BitConverter.toInt16(n,t)&65535},toUInt32:function(n,t){return System.BitConverter.toInt32(n,t)>>>0},toUInt64:function(n,t){var i=System.BitConverter.toInt64(n,t);return System.UInt64([i.value.low,i.value.high])},toSingle:function(n,t){System.BitConverter.checkArguments(n,t,4);var i=System.BitConverter.view(4);return System.BitConverter.setViewBytes(i,n,-1,t),i.getFloat32(0)},toDouble:function(n,t){System.BitConverter.checkArguments(n,t,8);var i=System.BitConverter.view(8);return System.BitConverter.setViewBytes(i,n,-1,t),i.getFloat64(0)},toString$2:function(n,t,i){var e;if(n==null)throw new System.ArgumentNullException.$ctor1("value");if(t<0||t>=n.length&&t>0)throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("length");if(t>(n.length-i|0))throw new System.ArgumentException.$ctor1(System.BitConverter.arg_ArrayPlusOffTooSmall);if(i===0)return"";if(i>715827882)throw new System.ArgumentOutOfRangeException.$ctor4("length",H5.toString(715827882));for(var o=H5.Int.mul(i,3),r=System.Array.init(o,0,System.Char),u=0,f=t,u=0;u<o;u=u+3|0)e=n[System.Array.index(H5.identity(f,f=f+1|0),n)],r[System.Array.index(u,r)]=System.BitConverter.getHexValue(H5.Int.div(e,16)|0),r[System.Array.index(u+1|0,r)]=System.BitConverter.getHexValue(e%16),r[System.Array.index(u+2|0,r)]=45;return System.String.fromCharArray(r,0,r.length-1|0)},toString:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("value");return System.BitConverter.toString$2(n,0,n.length)},toString$1:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("value");return System.BitConverter.toString$2(n,t,n.length-t|0)},toBoolean:function(n,t){return System.BitConverter.checkArguments(n,t,1),n[System.Array.index(t,n)]===0?!1:!0},doubleToInt64Bits:function(n){var t=System.BitConverter.view(8);return t.setFloat64(0,n),System.Int64([t.getInt32(4),t.getInt32(0)])},int64BitsToDouble:function(n){var t=System.BitConverter.getView(n);return t.getFloat64(0)},getHexValue:function(n){return n<10?(n+48|0)&65535:((n-10|0)+65|0)&65535},getViewBytes:function(n,t,i){var r,u,f;if(t===void 0&&(t=-1),i===void 0&&(i=0),t===-1&&(t=n.byteLength),r=System.Array.init(t,0,System.Byte),System.BitConverter.isLittleEndian)for(u=t-1|0;u>=0;u=u-1|0)r[System.Array.index(u,r)]=n.getUint8(H5.identity(i,i=i+1|0));else for(f=0;f<t;f=f+1|0)r[System.Array.index(f,r)]=n.getUint8(H5.identity(i,i=i+1|0));return r},setViewBytes:function(n,t,i,r){var u,f;if(i===void 0&&(i=-1),r===void 0&&(r=0),i===-1&&(i=n.byteLength),System.BitConverter.isLittleEndian)for(u=i-1|0;u>=0;u=u-1|0)n.setUint8(u,t[System.Array.index(H5.identity(r,r=r+1|0),t)]);else for(f=0;f<i;f=f+1|0)n.setUint8(f,t[System.Array.index(H5.identity(r,r=r+1|0),t)])},view:function(n){var t=new ArrayBuffer(n);return new DataView(t)},getView:function(n){var t=System.BitConverter.view(8);return t.setInt32(4,n.value.low),t.setInt32(0,n.value.high),t},getIsLittleEndian:function(){var n=System.BitConverter.view(2);return(n.setUint8(0,170),n.setUint8(1,187),n.getUint16(0)===43707)?!0:!1},checkArguments:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("null");if(System.Int64(t>>>0).gte(System.Int64(n.length)))throw new System.ArgumentOutOfRangeException.$ctor1("startIndex");if(t>(n.length-i|0))throw new System.ArgumentException.$ctor1(System.BitConverter.arg_ArrayPlusOffTooSmall);}}}});H5.define("System.Collections.BitArray",{inherits:[System.Collections.ICollection,System.ICloneable],statics:{fields:{BitsPerInt32:0,BytesPerInt32:0,BitsPerByte:0,_ShrinkThreshold:0},ctors:{init:function(){this.BitsPerInt32=32;this.BytesPerInt32=4;this.BitsPerByte=8;this._ShrinkThreshold=256}},methods:{GetArrayLength:function(n,t){return n>0?(H5.Int.div(n-1|0,t)|0)+1|0:0}}},fields:{m_array:null,m_length:0,_version:0},props:{Length:{get:function(){return this.m_length},set:function(n){var t,r,i,u;if(n<0)throw new System.ArgumentOutOfRangeException.$ctor4("value","Non-negative number required.");t=System.Collections.BitArray.GetArrayLength(n,System.Collections.BitArray.BitsPerInt32);(t>this.m_array.length||(t+System.Collections.BitArray._ShrinkThreshold|0)<this.m_array.length)&&(r=System.Array.init(t,0,System.Int32),System.Array.copy(this.m_array,0,r,0,t>this.m_array.length?this.m_array.length:t),this.m_array=r);n>this.m_length&&(i=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32)-1|0,u=this.m_length%32,u>0&&(this.m_array[System.Array.index(i,this.m_array)]=this.m_array[System.Array.index(i,this.m_array)]&((1<<u)-1|0)),System.Array.fill(this.m_array,0,i+1|0,(t-i|0)-1|0));this.m_length=n;this._version=this._version+1|0}},Count:{get:function(){return this.m_length}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return this}},IsReadOnly:{get:function(){return!1}}},alias:["copyTo","System$Collections$ICollection$copyTo","Count","System$Collections$ICollection$Count","clone","System$ICloneable$clone","GetEnumerator","System$Collections$IEnumerable$GetEnumerator"],ctors:{$ctor3:function(n){System.Collections.BitArray.$ctor4.call(this,n,!1)},$ctor4:function(n,t){var r,i;if(this.$initialize(),n<0)throw new System.ArgumentOutOfRangeException.$ctor4("length","Index is less than zero.");for(this.m_array=System.Array.init(System.Collections.BitArray.GetArrayLength(n,System.Collections.BitArray.BitsPerInt32),0,System.Int32),this.m_length=n,r=t?-1:0,i=0;i<this.m_array.length;i=i+1|0)this.m_array[System.Array.index(i,this.m_array)]=r;this._version=0},$ctor1:function(n){var i,t,r;if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("bytes");if(n.length>268435455)throw new System.ArgumentException.$ctor3(System.String.format("The input array length must not exceed Int32.MaxValue / {0}. Otherwise BitArray.Length would exceed Int32.MaxValue.",[H5.box(System.Collections.BitArray.BitsPerByte,System.Int32)]),"bytes");for(this.m_array=System.Array.init(System.Collections.BitArray.GetArrayLength(n.length,System.Collections.BitArray.BytesPerInt32),0,System.Int32),this.m_length=H5.Int.mul(n.length,System.Collections.BitArray.BitsPerByte),i=0,t=0;(n.length-t|0)>=4;)this.m_array[System.Array.index(H5.identity(i,i=i+1|0),this.m_array)]=n[System.Array.index(t,n)]&255|(n[System.Array.index(t+1|0,n)]&255)<<8|(n[System.Array.index(t+2|0,n)]&255)<<16|(n[System.Array.index(t+3|0,n)]&255)<<24,t=t+4|0;r=n.length-t|0;r===3&&(this.m_array[System.Array.index(i,this.m_array)]=(n[System.Array.index(t+2|0,n)]&255)<<16,r=2);r===2&&(this.m_array[System.Array.index(i,this.m_array)]=this.m_array[System.Array.index(i,this.m_array)]|(n[System.Array.index(t+1|0,n)]&255)<<8,r=1);r===1&&(this.m_array[System.Array.index(i,this.m_array)]=this.m_array[System.Array.index(i,this.m_array)]|n[System.Array.index(t,n)]&255);this._version=0},ctor:function(n){var i,t;if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("values");for(this.m_array=System.Array.init(System.Collections.BitArray.GetArrayLength(n.length,System.Collections.BitArray.BitsPerInt32),0,System.Int32),this.m_length=n.length,t=0;t<n.length;t=t+1|0)n[System.Array.index(t,n)]&&(this.m_array[System.Array.index(i=H5.Int.div(t,32)|0,this.m_array)]=this.m_array[System.Array.index(i,this.m_array)]|1<<t%32);this._version=0},$ctor5:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("values");if(n.length>67108863)throw new System.ArgumentException.$ctor3(System.String.format("The input array length must not exceed Int32.MaxValue / {0}. Otherwise BitArray.Length would exceed Int32.MaxValue.",[H5.box(System.Collections.BitArray.BitsPerInt32,System.Int32)]),"values");this.m_array=System.Array.init(n.length,0,System.Int32);this.m_length=H5.Int.mul(n.length,System.Collections.BitArray.BitsPerInt32);System.Array.copy(n,0,this.m_array,0,n.length);this._version=0},$ctor2:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("bits");var t=System.Collections.BitArray.GetArrayLength(n.m_length,System.Collections.BitArray.BitsPerInt32);this.m_array=System.Array.init(t,0,System.Int32);this.m_length=n.m_length;System.Array.copy(n.m_array,0,this.m_array,0,t);this._version=n._version}},methods:{getItem:function(n){return this.Get(n)},setItem:function(n,t){this.Set(n,t)},copyTo:function(n,t){var u,f,i,e,r;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(System.Array.getRank(n)!==1)throw new System.ArgumentException.$ctor1("Only single dimensional arrays are supported for the requested action.");if(H5.is(n,System.Array.type(System.Int32)))System.Array.copy(this.m_array,0,n,t,System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32));else if(H5.is(n,System.Array.type(System.Byte))){if(u=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerByte),(n.length-t|0)<u)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");for(f=H5.cast(n,System.Array.type(System.Byte)),i=0;i<u;i=i+1|0)f[System.Array.index(t+i|0,f)]=this.m_array[System.Array.index(H5.Int.div(i,4)|0,this.m_array)]>>H5.Int.mul(i%4,8)&255}else if(H5.is(n,System.Array.type(System.Boolean))){if((n.length-t|0)<this.m_length)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");for(e=H5.cast(n,System.Array.type(System.Boolean)),r=0;r<this.m_length;r=r+1|0)e[System.Array.index(t+r|0,e)]=(this.m_array[System.Array.index(H5.Int.div(r,32)|0,this.m_array)]>>r%32&1)!=0}else throw new System.ArgumentException.$ctor1("Only supported array types for CopyTo on BitArrays are Boolean[], Int32[] and Byte[].");},Get:function(n){if(n<0||n>=this.Length)throw new System.ArgumentOutOfRangeException.$ctor4("index","Index was out of range. Must be non-negative and less than the size of the collection.");return(this.m_array[System.Array.index(H5.Int.div(n,32)|0,this.m_array)]&1<<n%32)!=0},Set:function(n,t){var i,r;if(n<0||n>=this.Length)throw new System.ArgumentOutOfRangeException.$ctor4("index","Index was out of range. Must be non-negative and less than the size of the collection.");t?this.m_array[System.Array.index(i=H5.Int.div(n,32)|0,this.m_array)]=this.m_array[System.Array.index(i,this.m_array)]|1<<n%32:this.m_array[System.Array.index(r=H5.Int.div(n,32)|0,this.m_array)]=this.m_array[System.Array.index(r,this.m_array)]&~(1<<n%32);this._version=this._version+1|0},SetAll:function(n){for(var i=n?-1:0,r=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32),t=0;t<r;t=t+1|0)this.m_array[System.Array.index(t,this.m_array)]=i;this._version=this._version+1|0},And:function(n){var i,t;if(n==null)throw new System.ArgumentNullException.$ctor1("value");if(this.Length!==n.Length)throw new System.ArgumentException.$ctor1("Array lengths must be the same.");for(i=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32),t=0;t<i;t=t+1|0)this.m_array[System.Array.index(t,this.m_array)]=this.m_array[System.Array.index(t,this.m_array)]&n.m_array[System.Array.index(t,n.m_array)];return this._version=this._version+1|0,this},Or:function(n){var i,t;if(n==null)throw new System.ArgumentNullException.$ctor1("value");if(this.Length!==n.Length)throw new System.ArgumentException.$ctor1("Array lengths must be the same.");for(i=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32),t=0;t<i;t=t+1|0)this.m_array[System.Array.index(t,this.m_array)]=this.m_array[System.Array.index(t,this.m_array)]|n.m_array[System.Array.index(t,n.m_array)];return this._version=this._version+1|0,this},Xor:function(n){var i,t;if(n==null)throw new System.ArgumentNullException.$ctor1("value");if(this.Length!==n.Length)throw new System.ArgumentException.$ctor1("Array lengths must be the same.");for(i=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32),t=0;t<i;t=t+1|0)this.m_array[System.Array.index(t,this.m_array)]=this.m_array[System.Array.index(t,this.m_array)]^n.m_array[System.Array.index(t,n.m_array)];return this._version=this._version+1|0,this},Not:function(){for(var t=System.Collections.BitArray.GetArrayLength(this.m_length,System.Collections.BitArray.BitsPerInt32),n=0;n<t;n=n+1|0)this.m_array[System.Array.index(n,this.m_array)]=~this.m_array[System.Array.index(n,this.m_array)];return this._version=this._version+1|0,this},clone:function(){var n=new System.Collections.BitArray.$ctor5(this.m_array);return n._version=this._version,n.m_length=this.m_length,n},GetEnumerator:function(){return new System.Collections.BitArray.BitArrayEnumeratorSimple(this)}}});H5.define("System.Collections.BitArray.BitArrayEnumeratorSimple",{inherits:[System.Collections.IEnumerator],$kind:"nested class",fields:{bitarray:null,index:0,version:0,currentElement:!1},props:{Current:{get:function(){if(this.index===-1)throw new System.InvalidOperationException.$ctor1("Enumeration has not started. Call MoveNext.");if(this.index>=this.bitarray.Count)throw new System.InvalidOperationException.$ctor1("Enumeration already finished.");return H5.box(this.currentElement,System.Boolean,System.Boolean.toString)}}},alias:["moveNext","System$Collections$IEnumerator$moveNext","Current","System$Collections$IEnumerator$Current","reset","System$Collections$IEnumerator$reset"],ctors:{ctor:function(n){this.$initialize();this.bitarray=n;this.index=-1;this.version=n._version}},methods:{moveNext:function(){if(this.version!==this.bitarray._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");if(this.index<(this.bitarray.Count-1|0))return this.index=this.index+1|0,this.currentElement=this.bitarray.Get(this.index),!0;else this.index=this.bitarray.Count;return!1},reset:function(){if(this.version!==this.bitarray._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");this.index=-1}}});H5.define("System.Collections.Generic.BitHelper",{statics:{fields:{MarkedBitFlag:0,IntSize:0},ctors:{init:function(){this.MarkedBitFlag=1;this.IntSize=32}},methods:{ToIntArrayLength:function(n){return n>0?(H5.Int.div(n-1|0,System.Collections.Generic.BitHelper.IntSize)|0)+1|0:0}}},fields:{_length:0,_array:null},ctors:{ctor:function(n,t){this.$initialize();this._array=n;this._length=t}},methods:{MarkBit:function(n){var t=H5.Int.div(n,System.Collections.Generic.BitHelper.IntSize)|0,i;t<this._length&&t>=0&&(i=System.Collections.Generic.BitHelper.MarkedBitFlag<<n%System.Collections.Generic.BitHelper.IntSize,this._array[System.Array.index(t,this._array)]=this._array[System.Array.index(t,this._array)]|i)},IsMarked:function(n){var t=H5.Int.div(n,System.Collections.Generic.BitHelper.IntSize)|0,i;return t<this._length&&t>=0?(i=System.Collections.Generic.BitHelper.MarkedBitFlag<<n%System.Collections.Generic.BitHelper.IntSize,(this._array[System.Array.index(t,this._array)]&i)!=0):!1}}});H5.define("System.Collections.Generic.DictionaryKeyCollectionDebugView$2",function(n,t){return{fields:{_collection:null},props:{Items:{get:function(){var t=System.Array.init(System.Array.getCount(this._collection,n),function(){return H5.getDefaultValue(n)},n);return System.Array.copyTo(this._collection,t,0,n),t}}},ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("collection");this._collection=n}}}});H5.define("System.Collections.Generic.DictionaryValueCollectionDebugView$2",function(n,t){return{fields:{_collection:null},props:{Items:{get:function(){var n=System.Array.init(System.Array.getCount(this._collection,t),function(){return H5.getDefaultValue(t)},t);return System.Array.copyTo(this._collection,n,0,t),n}}},ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("collection");this._collection=n}}}});H5.define("H5.Collections.EnumerableHelpers",{statics:{methods:{ToArray:function(n,t){var i={},r={v:H5.Collections.EnumerableHelpers.ToArray$1(n,t,i)};return System.Array.resize(r,i.v,function(){return H5.getDefaultValue(n)},n),r.v},ToArray$1:function(n,t,i){var u=H5.getEnumerator(t,n),s,f,r,e,o;try{if(u.System$Collections$IEnumerator$moveNext()){for(s=4,f={v:System.Array.init(s,function(){return H5.getDefaultValue(n)},n)},f.v[System.Array.index(0,f.v)]=u[H5.geti(u,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")],r=1;u.System$Collections$IEnumerator$moveNext();)r===f.v.length&&(e=2146435071,o=r<<1,o>>>0>e&&(o=e<=r?r+1|0:e),System.Array.resize(f,o,function(){return H5.getDefaultValue(n)},n)),f.v[System.Array.index(H5.identity(r,r=r+1|0),f.v)]=u[H5.geti(u,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")];return i.v=r,f.v}}finally{H5.hasValue(u)&&u.System$IDisposable$Dispose()}return i.v=0,System.Array.init(0,function(){return H5.getDefaultValue(n)},n)}}}});H5.define("System.Collections.Generic.HashSet$1",function(n){return{inherits:[System.Collections.Generic.ICollection$1(n),System.Collections.Generic.ISet$1(n),System.Collections.Generic.IReadOnlyCollection$1(n)],statics:{fields:{Lower31BitMask:0,ShrinkThreshold:0},ctors:{init:function(){this.Lower31BitMask=2147483647;this.ShrinkThreshold=3}},methods:{HashSetEquals:function(t,i,r){var u,f,e,s,h,o,c;if(t==null)return i==null;else if(i==null)return!1;if(System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(t,i)){if(t.Count!==i.Count)return!1;u=H5.getEnumerator(i);try{while(u.moveNext())if(s=u.Current,!t.contains(s))return!1}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}return!0}else{f=H5.getEnumerator(i);try{while(f.moveNext()){h=f.Current;o=!1;e=H5.getEnumerator(t);try{while(e.moveNext())if(c=e.Current,r[H5.geti(r,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](h,c)){o=!0;break}}finally{H5.is(e,System.IDisposable)&&e.System$IDisposable$Dispose()}if(!o)return!1}}finally{H5.is(f,System.IDisposable)&&f.System$IDisposable$Dispose()}return!0}},AreEqualityComparersEqual:function(n,t){return H5.equals(n.Comparer,t.Comparer)}}},fields:{_buckets:null,_slots:null,_count:0,_lastIndex:0,_freeList:0,_comparer:null,_version:0},props:{Count:{get:function(){return this._count}},IsReadOnly:{get:function(){return!1}},Comparer:{get:function(){return this._comparer}}},alias:["System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","add","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$add","unionWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$unionWith","intersectWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$intersectWith","exceptWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$exceptWith","symmetricExceptWith","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$symmetricExceptWith","isSubsetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isSubsetOf","isProperSubsetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isProperSubsetOf","isSupersetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isSupersetOf","isProperSupersetOf","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$isProperSupersetOf","overlaps","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$overlaps","setEquals","System$Collections$Generic$ISet$1$"+H5.getTypeAlias(n)+"$setEquals"],ctors:{ctor:function(){System.Collections.Generic.HashSet$1(n).$ctor3.call(this,System.Collections.Generic.EqualityComparer$1(n).def)},$ctor3:function(t){this.$initialize();t==null&&(t=System.Collections.Generic.EqualityComparer$1(n).def);this._comparer=t;this._lastIndex=0;this._count=0;this._freeList=-1;this._version=0},$ctor1:function(t){System.Collections.Generic.HashSet$1(n).$ctor2.call(this,t,System.Collections.Generic.EqualityComparer$1(n).def)},$ctor2:function(t,i){if(System.Collections.Generic.HashSet$1(n).$ctor3.call(this,i),t==null)throw new System.ArgumentNullException.$ctor1("collection");var r=0,u;(u=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null&&(r=System.Array.getCount(u,n));this.Initialize(r);this.unionWith(t);(this._count===0&&this._slots.length>System.Collections.HashHelpers.GetMinPrime()||this._count>0&&(H5.Int.div(this._slots.length,this._count)|0)>System.Collections.Generic.HashSet$1(n).ShrinkThreshold)&&this.TrimExcess()}},methods:{System$Collections$Generic$ICollection$1$add:function(n){this.AddIfNotPresent(n)},add:function(n){return this.AddIfNotPresent(n)},clear:function(){var t,i;if(this._lastIndex>0){for(t=0;t<this._lastIndex;t=t+1|0)this._slots[System.Array.index(t,this._slots)]=new(System.Collections.Generic.HashSet$1.Slot(n));for(i=0;i<this._buckets.length;i=i+1|0)this._buckets[System.Array.index(i,this._buckets)]=0;this._lastIndex=0;this._count=0;this._freeList=-1}this._version=this._version+1|0},ArrayClear:function(n,t,i){},contains:function(t){var r,i;if(this._buckets!=null)for(r=this.InternalGetHashCode(t),i=this._buckets[System.Array.index(r%this._buckets.length,this._buckets)]-1|0;i>=0;i=this._slots[System.Array.index(i,this._slots)].next)if(this._slots[System.Array.index(i,this._slots)].hashCode===r&&this._comparer[H5.geti(this._comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(i,this._slots)].value,t))return!0;return!1},copyTo:function(n,t){this.CopyTo$1(n,t,this._count)},CopyTo:function(n){this.CopyTo$1(n,0,this._count)},CopyTo$1:function(n,t,i){var u,r;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("arrayIndex");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if(t>n.length||i>(n.length-t|0))throw new System.ArgumentException.$ctor1("Destination array is not long enough to copy all the items in the collection. Check array index and length.");for(u=0,r=0;r<this._lastIndex&&u<i;r=r+1|0)this._slots[System.Array.index(r,this._slots)].hashCode>=0&&(n[System.Array.index(t+u|0,n)]=this._slots[System.Array.index(r,this._slots)].value,u=u+1|0)},remove:function(t){var i;if(this._buckets!=null){var u=this.InternalGetHashCode(t),f=u%this._buckets.length,r=-1;for(i=this._buckets[System.Array.index(f,this._buckets)]-1|0;i>=0;r=i,i=this._slots[System.Array.index(i,this._slots)].next)if(this._slots[System.Array.index(i,this._slots)].hashCode===u&&this._comparer[H5.geti(this._comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(i,this._slots)].value,t))return r<0?this._buckets[System.Array.index(f,this._buckets)]=this._slots[System.Array.index(i,this._slots)].next+1|0:this._slots[System.Array.index(r,this._slots)].next=this._slots[System.Array.index(i,this._slots)].next,this._slots[System.Array.index(i,this._slots)].hashCode=-1,this._slots[System.Array.index(i,this._slots)].value=H5.getDefaultValue(n),this._slots[System.Array.index(i,this._slots)].next=this._freeList,this._count=this._count-1|0,this._version=this._version+1|0,this._count===0?(this._lastIndex=0,this._freeList=-1):this._freeList=i,!0}return!1},GetEnumerator:function(){return new(System.Collections.Generic.HashSet$1.Enumerator(n).$ctor1)(this)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.HashSet$1.Enumerator(n).$ctor1)(this).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.HashSet$1.Enumerator(n).$ctor1)(this).$clone()},unionWith:function(t){var i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.AddIfNotPresent(r)}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}},intersectWith:function(t){var r,i;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this._count!==0){if((r=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null){if(System.Array.getCount(r,n)===0){this.clear();return}if((i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i)){this.IntersectWithHashSetWithSameEC(i);return}}this.IntersectWithEnumerable(t)}},exceptWith:function(t){var i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this._count!==0){if(H5.referenceEquals(t,this)){this.clear();return}i=H5.getEnumerator(t,n);try{while(i.moveNext())r=i.Current,this.remove(r)}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}}},symmetricExceptWith:function(t){if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this._count===0){this.unionWith(t);return}if(H5.referenceEquals(t,this)){this.clear();return}var i;(i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i)?this.SymmetricExceptWithUniqueHashSet(i):this.SymmetricExceptWithEnumerable(t)},isSubsetOf:function(t){var i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");return this._count===0?!0:(i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i)?this._count>i.Count?!1:this.IsSubsetOfHashSetWithSameEC(i):(r=this.CheckUniqueAndUnfoundElements(t,!1),r.uniqueCount===this._count&&r.unfoundCount>=0)},isProperSubsetOf:function(t){var u,i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if((u=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null){if(this._count===0)return System.Array.getCount(u,n)>0;if((i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i))return this._count>=i.Count?!1:this.IsSubsetOfHashSetWithSameEC(i)}return r=this.CheckUniqueAndUnfoundElements(t,!1),r.uniqueCount===this._count&&r.unfoundCount>0},isSupersetOf:function(t){var r,i;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if((r=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null){if(System.Array.getCount(r,n)===0)return!0;if((i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i)&&i.Count>this._count)return!1}return this.ContainsAllElements(t)},isProperSupersetOf:function(t){var u,i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this._count===0)return!1;if((u=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null){if(System.Array.getCount(u,n)===0)return!0;if((i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i))return i.Count>=this._count?!1:this.ContainsAllElements(i)}return r=this.CheckUniqueAndUnfoundElements(t,!0),r.uniqueCount<this._count&&r.unfoundCount===0},overlaps:function(t){var i,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");if(this._count===0)return!1;i=H5.getEnumerator(t,n);try{while(i.moveNext())if(r=i.Current,this.contains(r))return!0}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}return!1},setEquals:function(t){var i,u,r;if(t==null)throw new System.ArgumentNullException.$ctor1("other");return(i=H5.as(t,System.Collections.Generic.HashSet$1(n)))!=null&&System.Collections.Generic.HashSet$1(n).AreEqualityComparersEqual(this,i)?this._count!==i.Count?!1:this.ContainsAllElements(i):(u=H5.as(t,System.Collections.Generic.ICollection$1(n)))!=null&&this._count===0&&System.Array.getCount(u,n)>0?!1:(r=this.CheckUniqueAndUnfoundElements(t,!0),r.uniqueCount===this._count&&r.unfoundCount===0)},RemoveWhere:function(n){var i,t,r;if(H5.staticEquals(n,null))throw new System.ArgumentNullException.$ctor1("match");for(i=0,t=0;t<this._lastIndex;t=t+1|0)this._slots[System.Array.index(t,this._slots)].hashCode>=0&&(r=this._slots[System.Array.index(t,this._slots)].value,n(r)&&this.remove(r)&&(i=i+1|0));return i},TrimExcess:function(){var r,e;if(this._count===0)this._buckets=null,this._slots=null,this._version=this._version+1|0;else{var f=System.Collections.HashHelpers.GetPrime(this._count),t=System.Array.init(f,function(){return new(System.Collections.Generic.HashSet$1.Slot(n))},System.Collections.Generic.HashSet$1.Slot(n)),u=System.Array.init(f,0,System.Int32),i=0;for(r=0;r<this._lastIndex;r=r+1|0)this._slots[System.Array.index(r,this._slots)].hashCode>=0&&(t[System.Array.index(i,t)]=this._slots[System.Array.index(r,this._slots)].$clone(),e=t[System.Array.index(i,t)].hashCode%f,t[System.Array.index(i,t)].next=u[System.Array.index(e,u)]-1|0,u[System.Array.index(e,u)]=i+1|0,i=i+1|0);this._lastIndex=i;this._slots=t;this._buckets=u;this._freeList=-1}},Initialize:function(t){var i=System.Collections.HashHelpers.GetPrime(t);this._buckets=System.Array.init(i,0,System.Int32);this._slots=System.Array.init(i,function(){return new(System.Collections.Generic.HashSet$1.Slot(n))},System.Collections.Generic.HashSet$1.Slot(n))},IncreaseCapacity:function(){var n=System.Collections.HashHelpers.ExpandPrime(this._count);if(n<=this._count)throw new System.ArgumentException.$ctor1("HashSet capacity is too big.");this.SetCapacity(n,!1)},SetCapacity:function(t,i){var r=System.Array.init(t,function(){return new(System.Collections.Generic.HashSet$1.Slot(n))},System.Collections.Generic.HashSet$1.Slot(n)),e,u,o,f,s;if(this._slots!=null)for(e=0;e<this._lastIndex;e=e+1|0)r[System.Array.index(e,r)]=this._slots[System.Array.index(e,this._slots)].$clone();if(i)for(u=0;u<this._lastIndex;u=u+1|0)r[System.Array.index(u,r)].hashCode!==-1&&(r[System.Array.index(u,r)].hashCode=this.InternalGetHashCode(r[System.Array.index(u,r)].value));for(o=System.Array.init(t,0,System.Int32),f=0;f<this._lastIndex;f=f+1|0)s=r[System.Array.index(f,r)].hashCode%t,r[System.Array.index(f,r)].next=o[System.Array.index(s,o)]-1|0,o[System.Array.index(s,o)]=f+1|0;this._slots=r;this._buckets=o},AddIfNotPresent:function(t){var u,f,r,i;for(this._buckets==null&&this.Initialize(0),u=this.InternalGetHashCode(t),f=u%this._buckets.length,r=this._buckets[System.Array.index(f,this._buckets)]-1|0;r>=0;r=this._slots[System.Array.index(r,this._slots)].next)if(this._slots[System.Array.index(r,this._slots)].hashCode===u&&this._comparer[H5.geti(this._comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(r,this._slots)].value,t))return!1;return this._freeList>=0?(i=this._freeList,this._freeList=this._slots[System.Array.index(i,this._slots)].next):(this._lastIndex===this._slots.length&&(this.IncreaseCapacity(),f=u%this._buckets.length),i=this._lastIndex,this._lastIndex=this._lastIndex+1|0),this._slots[System.Array.index(i,this._slots)].hashCode=u,this._slots[System.Array.index(i,this._slots)].value=t,this._slots[System.Array.index(i,this._slots)].next=this._buckets[System.Array.index(f,this._buckets)]-1|0,this._buckets[System.Array.index(f,this._buckets)]=i+1|0,this._count=this._count+1|0,this._version=this._version+1|0,!0},ContainsAllElements:function(t){var i,r;i=H5.getEnumerator(t,n);try{while(i.moveNext())if(r=i.Current,!this.contains(r))return!1}finally{H5.is(i,System.IDisposable)&&i.System$IDisposable$Dispose()}return!0},IsSubsetOfHashSetWithSameEC:function(n){var t,i;t=H5.getEnumerator(this);try{while(t.moveNext())if(i=t.Current,!n.contains(i))return!1}finally{H5.is(t,System.IDisposable)&&t.System$IDisposable$Dispose()}return!0},IntersectWithHashSetWithSameEC:function(n){for(var i,t=0;t<this._lastIndex;t=t+1|0)this._slots[System.Array.index(t,this._slots)].hashCode>=0&&(i=this._slots[System.Array.index(t,this._slots)].value,n.contains(i)||this.remove(i))},IntersectWithEnumerable:function(t){var r,e=this._lastIndex,o=System.Collections.Generic.BitHelper.ToIntArrayLength(e),u,h=System.Array.init(o,0,System.Int32),s,f,i;u=new System.Collections.Generic.BitHelper(h,o);r=H5.getEnumerator(t,n);try{while(r.moveNext())s=r.Current,f=this.InternalIndexOf(s),f>=0&&u.MarkBit(f)}finally{H5.is(r,System.IDisposable)&&r.System$IDisposable$Dispose()}for(i=0;i<e;i=i+1|0)this._slots[System.Array.index(i,this._slots)].hashCode>=0&&!u.IsMarked(i)&&this.remove(this._slots[System.Array.index(i,this._slots)].value)},InternalIndexOf:function(t){for(var r=this.InternalGetHashCode(t),i=this._buckets[System.Array.index(r%this._buckets.length,this._buckets)]-1|0;i>=0;i=this._slots[System.Array.index(i,this._slots)].next)if(this._slots[System.Array.index(i,this._slots)].hashCode===r&&this._comparer[H5.geti(this._comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(i,this._slots)].value,t))return i;return-1},SymmetricExceptWithUniqueHashSet:function(n){var t,i;t=H5.getEnumerator(n);try{while(t.moveNext())i=t.Current,this.remove(i)||this.AddIfNotPresent(i)}finally{H5.is(t,System.IDisposable)&&t.System$IDisposable$Dispose()}},SymmetricExceptWithEnumerable:function(t){var r,e=this._lastIndex,f=System.Collections.Generic.BitHelper.ToIntArrayLength(e),o,s,c=System.Array.init(f,0,System.Int32),h,i;o=new System.Collections.Generic.BitHelper(c,f);h=System.Array.init(f,0,System.Int32);s=new System.Collections.Generic.BitHelper(h,f);r=H5.getEnumerator(t,n);try{while(r.moveNext()){var l=r.Current,u={v:0},a=this.AddOrGetLocation(l,u);a?s.MarkBit(u.v):u.v<e&&!s.IsMarked(u.v)&&o.MarkBit(u.v)}}finally{H5.is(r,System.IDisposable)&&r.System$IDisposable$Dispose()}for(i=0;i<e;i=i+1|0)o.IsMarked(i)&&this.remove(this._slots[System.Array.index(i,this._slots)].value)},AddOrGetLocation:function(t,i){for(var r,f=this.InternalGetHashCode(t),e=f%this._buckets.length,u=this._buckets[System.Array.index(e,this._buckets)]-1|0;u>=0;u=this._slots[System.Array.index(u,this._slots)].next)if(this._slots[System.Array.index(u,this._slots)].hashCode===f&&this._comparer[H5.geti(this._comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$equals2","System$Collections$Generic$IEqualityComparer$1$equals2")](this._slots[System.Array.index(u,this._slots)].value,t))return i.v=u,!1;return this._freeList>=0?(r=this._freeList,this._freeList=this._slots[System.Array.index(r,this._slots)].next):(this._lastIndex===this._slots.length&&(this.IncreaseCapacity(),e=f%this._buckets.length),r=this._lastIndex,this._lastIndex=this._lastIndex+1|0),this._slots[System.Array.index(r,this._slots)].hashCode=f,this._slots[System.Array.index(r,this._slots)].value=t,this._slots[System.Array.index(r,this._slots)].next=this._buckets[System.Array.index(e,this._buckets)]-1|0,this._buckets[System.Array.index(e,this._buckets)]=r+1|0,this._count=this._count+1|0,this._version=this._version+1|0,i.v=r,!0},CheckUniqueAndUnfoundElements:function(t,i){var u,f,r=new(System.Collections.Generic.HashSet$1.ElementCount(n)),e,v,o,s,a,h;if(this._count===0){e=0;u=H5.getEnumerator(t,n);try{while(u.moveNext()){v=u.Current;e=e+1|0;break}}finally{H5.is(u,System.IDisposable)&&u.System$IDisposable$Dispose()}return r.uniqueCount=0,r.unfoundCount=e,r.$clone()}var y=this._lastIndex,l=System.Collections.Generic.BitHelper.ToIntArrayLength(y),c,p=System.Array.init(l,0,System.Int32);c=new System.Collections.Generic.BitHelper(p,l);o=0;s=0;f=H5.getEnumerator(t,n);try{while(f.moveNext())if(a=f.Current,h=this.InternalIndexOf(a),h>=0)c.IsMarked(h)||(c.MarkBit(h),s=s+1|0);else if(o=o+1|0,i)break}finally{H5.is(f,System.IDisposable)&&f.System$IDisposable$Dispose()}return r.uniqueCount=s,r.unfoundCount=o,r.$clone()},ToArray:function(){var t=System.Array.init(this.Count,function(){return H5.getDefaultValue(n)},n);return this.CopyTo(t),t},InternalGetHashCode:function(t){return t==null?0:this._comparer[H5.geti(this._comparer,"System$Collections$Generic$IEqualityComparer$1$"+H5.getTypeAlias(n)+"$getHashCode2","System$Collections$Generic$IEqualityComparer$1$getHashCode2")](t)&System.Collections.Generic.HashSet$1(n).Lower31BitMask}}}});H5.define("System.Collections.Generic.HashSet$1.ElementCount",function(n){return{$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.HashSet$1.ElementCount(n))}}},fields:{uniqueCount:0,unfoundCount:0},ctors:{ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return H5.addHash([4920463385,this.uniqueCount,this.unfoundCount])},equals:function(t){return H5.is(t,System.Collections.Generic.HashSet$1.ElementCount(n))?H5.equals(this.uniqueCount,t.uniqueCount)&&H5.equals(this.unfoundCount,t.unfoundCount):!1},$clone:function(t){var i=t||new(System.Collections.Generic.HashSet$1.ElementCount(n));return i.uniqueCount=this.uniqueCount,i.unfoundCount=this.unfoundCount,i}}}});H5.define("System.Collections.Generic.HashSet$1.Enumerator",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n)],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.HashSet$1.Enumerator(n))}}},fields:{_set:null,_index:0,_version:0,_current:H5.getDefaultValue(n)},props:{Current:{get:function(){return this._current}},System$Collections$IEnumerator$Current:{get:function(){if(this._index===0||this._index===(this._set._lastIndex+1|0))throw new System.InvalidOperationException.$ctor1("Enumeration has either not started or has already finished.");return this.Current}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(t){this.$initialize();this._set=t;this._index=0;this._version=t._version;this._current=H5.getDefaultValue(n)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){},moveNext:function(){var t,i;if(this._version!==this._set._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");while(this._index<this._set._lastIndex){if((t=this._set._slots)[System.Array.index(this._index,t)].hashCode>=0)return this._current=(i=this._set._slots)[System.Array.index(this._index,i)].value,this._index=this._index+1|0,!0;this._index=this._index+1|0}return this._index=this._set._lastIndex+1|0,this._current=H5.getDefaultValue(n),!1},System$Collections$IEnumerator$reset:function(){if(this._version!==this._set._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");this._index=0;this._current=H5.getDefaultValue(n)},getHashCode:function(){return H5.addHash([3788985113,this._set,this._index,this._version,this._current])},equals:function(t){return H5.is(t,System.Collections.Generic.HashSet$1.Enumerator(n))?H5.equals(this._set,t._set)&&H5.equals(this._index,t._index)&&H5.equals(this._version,t._version)&&H5.equals(this._current,t._current):!1},$clone:function(t){var i=t||new(System.Collections.Generic.HashSet$1.Enumerator(n));return i._set=this._set,i._index=this._index,i._version=this._version,i._current=this._current,i}}}});H5.define("System.Collections.Generic.HashSet$1.Slot",function(n){return{$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.HashSet$1.Slot(n))}}},fields:{hashCode:0,value:H5.getDefaultValue(n),next:0},ctors:{ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return H5.addHash([1953459283,this.hashCode,this.value,this.next])},equals:function(t){return H5.is(t,System.Collections.Generic.HashSet$1.Slot(n))?H5.equals(this.hashCode,t.hashCode)&&H5.equals(this.value,t.value)&&H5.equals(this.next,t.next):!1},$clone:function(t){var i=t||new(System.Collections.Generic.HashSet$1.Slot(n));return i.hashCode=this.hashCode,i.value=this.value,i.next=this.next,i}}}});H5.define("System.Collections.Generic.List$1.Enumerator",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.List$1.Enumerator(n))}}},fields:{list:null,index:0,version:0,current:H5.getDefaultValue(n)},props:{Current:{get:function(){return this.current}},System$Collections$IEnumerator$Current:{get:function(){if(this.index===0||this.index===(this.list._size+1|0))throw new System.InvalidOperationException.ctor;return this.Current}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(t){this.$initialize();this.list=t;this.index=0;this.version=t._version;this.current=H5.getDefaultValue(n)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){},moveNext:function(){var n=this.list;return this.version===n._version&&this.index>>>0<n._size>>>0?(this.current=n._items[System.Array.index(this.index,n._items)],this.index=this.index+1|0,!0):this.MoveNextRare()},MoveNextRare:function(){if(this.version!==this.list._version)throw new System.InvalidOperationException.ctor;return this.index=this.list._size+1|0,this.current=H5.getDefaultValue(n),!1},System$Collections$IEnumerator$reset:function(){if(this.version!==this.list._version)throw new System.InvalidOperationException.ctor;this.index=0;this.current=H5.getDefaultValue(n)},getHashCode:function(){return H5.addHash([3788985113,this.list,this.index,this.version,this.current])},equals:function(t){return H5.is(t,System.Collections.Generic.List$1.Enumerator(n))?H5.equals(this.list,t.list)&&H5.equals(this.index,t.index)&&H5.equals(this.version,t.version)&&H5.equals(this.current,t.current):!1},$clone:function(t){var i=t||new(System.Collections.Generic.List$1.Enumerator(n));return i.list=this.list,i.index=this.index,i.version=this.version,i.current=this.current,i}}}});H5.define("System.Collections.Generic.Queue$1",function(n){return{inherits:[System.Collections.Generic.IEnumerable$1(n),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(n)],statics:{fields:{MinimumGrow:0,GrowFactor:0,DefaultCapacity:0},ctors:{init:function(){this.MinimumGrow=4;this.GrowFactor=200;this.DefaultCapacity=4}}},fields:{_array:null,_head:0,_tail:0,_size:0,_version:0},props:{Count:{get:function(){return this._size}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return this}},IsReadOnly:{get:function(){return!1}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","copyTo","System$Collections$ICollection$copyTo","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator"],ctors:{ctor:function(){this.$initialize();this._array=System.Array.init(0,function(){return H5.getDefaultValue(n)},n)},$ctor2:function(t){if(this.$initialize(),t<0)throw new System.ArgumentOutOfRangeException.$ctor4("capacity","Non-negative number required.");this._array=System.Array.init(t,function(){return H5.getDefaultValue(n)},n)},$ctor1:function(t){if(this.$initialize(),t==null)throw new System.ArgumentNullException.$ctor1("collection");this._array=System.Array.init(System.Collections.Generic.Queue$1(n).DefaultCapacity,function(){return H5.getDefaultValue(n)},n);var i=H5.getEnumerator(t,n);try{while(i.System$Collections$IEnumerator$moveNext())this.Enqueue(i[H5.geti(i,"System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1")])}finally{H5.hasValue(i)&&i.System$IDisposable$Dispose()}}},methods:{copyTo:function(n,t){var u,i,r;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(n)!==1)throw new System.ArgumentException.$ctor1("Only single dimensional arrays are supported for the requested action.");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(u=n.length,(u-t|0)<this._size)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");(i=this._size,i!==0)&&(r=(this._array.length-this._head|0)<i?this._array.length-this._head|0:i,System.Array.copy(this._array,this._head,n,t,r),i=i-r|0,i>0&&System.Array.copy(this._array,0,n,(t+this._array.length|0)-this._head|0,i))},CopyTo:function(n,t){var r,i,u;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(t<0||t>n.length)throw new System.ArgumentOutOfRangeException.$ctor4("arrayIndex","Index was out of range. Must be non-negative and less than the size of the collection.");if(r=n.length,(r-t|0)<this._size)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");(i=(r-t|0)<this._size?r-t|0:this._size,i!==0)&&(u=(this._array.length-this._head|0)<i?this._array.length-this._head|0:i,System.Array.copy(this._array,this._head,n,t,u),i=i-u|0,i>0&&System.Array.copy(this._array,0,n,(t+this._array.length|0)-this._head|0,i))},Clear:function(){this._head<this._tail?System.Array.fill(this._array,function(){return H5.getDefaultValue(n)},this._head,this._size):(System.Array.fill(this._array,function(){return H5.getDefaultValue(n)},this._head,this._array.length-this._head|0),System.Array.fill(this._array,function(){return H5.getDefaultValue(n)},0,this._tail));this._head=0;this._tail=0;this._size=0;this._version=this._version+1|0},Enqueue:function(t){if(this._size===this._array.length){var i=H5.Int.div(H5.Int.mul(this._array.length,System.Collections.Generic.Queue$1(n).GrowFactor),100)|0;i<(this._array.length+System.Collections.Generic.Queue$1(n).MinimumGrow|0)&&(i=this._array.length+System.Collections.Generic.Queue$1(n).MinimumGrow|0);this.SetCapacity(i)}this._array[System.Array.index(this._tail,this._array)]=t;this._tail=this.MoveNext(this._tail);this._size=this._size+1|0;this._version=this._version+1|0},GetEnumerator:function(){return new(System.Collections.Generic.Queue$1.Enumerator(n).$ctor1)(this)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.Queue$1.Enumerator(n).$ctor1)(this).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.Queue$1.Enumerator(n).$ctor1)(this).$clone()},Dequeue:function(){if(this._size===0)throw new System.InvalidOperationException.$ctor1("Queue empty.");var t=this._array[System.Array.index(this._head,this._array)];return this._array[System.Array.index(this._head,this._array)]=H5.getDefaultValue(n),this._head=this.MoveNext(this._head),this._size=this._size-1|0,this._version=this._version+1|0,t},Peek:function(){if(this._size===0)throw new System.InvalidOperationException.$ctor1("Queue empty.");return this._array[System.Array.index(this._head,this._array)]},Contains:function(t){for(var i=this._head,r=this._size,u=System.Collections.Generic.EqualityComparer$1(n).def;H5.identity(r,r=r-1|0)>0;){if(t==null){if(this._array[System.Array.index(i,this._array)]==null)return!0}else if(this._array[System.Array.index(i,this._array)]!=null&&u.equals2(this._array[System.Array.index(i,this._array)],t))return!0;i=this.MoveNext(i)}return!1},GetElement:function(n){return this._array[System.Array.index((this._head+n|0)%this._array.length,this._array)]},ToArray:function(){var t=System.Array.init(this._size,function(){return H5.getDefaultValue(n)},n);return this._size===0?t:(this._head<this._tail?System.Array.copy(this._array,this._head,t,0,this._size):(System.Array.copy(this._array,this._head,t,0,this._array.length-this._head|0),System.Array.copy(this._array,0,t,this._array.length-this._head|0,this._tail)),t)},SetCapacity:function(t){var i=System.Array.init(t,function(){return H5.getDefaultValue(n)},n);this._size>0&&(this._head<this._tail?System.Array.copy(this._array,this._head,i,0,this._size):(System.Array.copy(this._array,this._head,i,0,this._array.length-this._head|0),System.Array.copy(this._array,0,i,this._array.length-this._head|0,this._tail)));this._array=i;this._head=0;this._tail=this._size===t?0:this._size;this._version=this._version+1|0},MoveNext:function(n){var t=n+1|0;return t===this._array.length?0:t},TrimExcess:function(){var n=H5.Int.clip32(this._array.length*.9);this._size<n&&this.SetCapacity(this._size)}}}});H5.define("System.Collections.Generic.ICollectionDebugView$1",function(n){return{fields:{_collection:null},props:{Items:{get:function(){var t=System.Array.init(System.Array.getCount(this._collection,n),function(){return H5.getDefaultValue(n)},n);return System.Array.copyTo(this._collection,t,0,n),t}}},ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("collection");this._collection=n}}}});H5.define("System.Collections.Generic.IDictionaryDebugView$2",function(n,t){return{fields:{_dict:null},props:{Items:{get:function(){var i=System.Array.init(System.Array.getCount(this._dict,System.Collections.Generic.KeyValuePair$2(n,t)),function(){return new(System.Collections.Generic.KeyValuePair$2(n,t))},System.Collections.Generic.KeyValuePair$2(n,t));return System.Array.copyTo(this._dict,i,0,System.Collections.Generic.KeyValuePair$2(n,t)),i}}},ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("dictionary");this._dict=n}}}});H5.define("System.Collections.Generic.Queue$1.Enumerator",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.Queue$1.Enumerator(n))}}},fields:{_q:null,_index:0,_version:0,_currentElement:H5.getDefaultValue(n)},props:{Current:{get:function(){if(this._index<0)if(this._index===-1)throw new System.InvalidOperationException.$ctor1("Enumeration has not started. Call MoveNext.");else throw new System.InvalidOperationException.$ctor1("Enumeration already finished.");return this._currentElement}},System$Collections$IEnumerator$Current:{get:function(){return this.Current}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(t){this.$initialize();this._q=t;this._version=this._q._version;this._index=-1;this._currentElement=H5.getDefaultValue(n)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){this._index=-2;this._currentElement=H5.getDefaultValue(n)},moveNext:function(){if(this._version!==this._q._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");return this._index===-2?!1:(this._index=this._index+1|0,this._index===this._q._size)?(this._index=-2,this._currentElement=H5.getDefaultValue(n),!1):(this._currentElement=this._q.GetElement(this._index),!0)},System$Collections$IEnumerator$reset:function(){if(this._version!==this._q._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");this._index=-1;this._currentElement=H5.getDefaultValue(n)},getHashCode:function(){return H5.addHash([3788985113,this._q,this._index,this._version,this._currentElement])},equals:function(t){return H5.is(t,System.Collections.Generic.Queue$1.Enumerator(n))?H5.equals(this._q,t._q)&&H5.equals(this._index,t._index)&&H5.equals(this._version,t._version)&&H5.equals(this._currentElement,t._currentElement):!1},$clone:function(t){var i=t||new(System.Collections.Generic.Queue$1.Enumerator(n));return i._q=this._q,i._index=this._index,i._version=this._version,i._currentElement=this._currentElement,i}}}});H5.define("System.Collections.Generic.Stack$1",function(n){return{inherits:[System.Collections.Generic.IEnumerable$1(n),System.Collections.ICollection,System.Collections.Generic.IReadOnlyCollection$1(n)],statics:{fields:{DefaultCapacity:0},ctors:{init:function(){this.DefaultCapacity=4}}},fields:{_array:null,_size:0,_version:0},props:{Count:{get:function(){return this._size}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return this}},IsReadOnly:{get:function(){return!1}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","copyTo","System$Collections$ICollection$copyTo","System$Collections$Generic$IEnumerable$1$GetEnumerator","System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator"],ctors:{ctor:function(){this.$initialize();this._array=System.Array.init(0,function(){return H5.getDefaultValue(n)},n)},$ctor2:function(t){if(this.$initialize(),t<0)throw new System.ArgumentOutOfRangeException.$ctor4("capacity","Non-negative number required.");this._array=System.Array.init(t,function(){return H5.getDefaultValue(n)},n)},$ctor1:function(t){if(this.$initialize(),t==null)throw new System.ArgumentNullException.$ctor1("collection");var i={};this._array=H5.Collections.EnumerableHelpers.ToArray$1(n,t,i);this._size=i.v}},methods:{Clear:function(){System.Array.fill(this._array,function(){return H5.getDefaultValue(n)},0,this._size);this._size=0;this._version=this._version+1|0},Contains:function(t){for(var i=this._size,r=System.Collections.Generic.EqualityComparer$1(n).def;H5.identity(i,i=i-1|0)>0;)if(t==null){if(this._array[System.Array.index(i,this._array)]==null)return!0}else if(this._array[System.Array.index(i,this._array)]!=null&&r.equals2(this._array[System.Array.index(i,this._array)],t))return!0;return!1},CopyTo:function(n,t){var i,u,r;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(t<0||t>n.length)throw new System.ArgumentOutOfRangeException.$ctor4("arrayIndex","Non-negative number required.");if((n.length-t|0)<this._size)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");if(H5.referenceEquals(n,this._array))System.Array.copy(this._array,0,n,t,this._size),System.Array.reverse(n,t,this._size);else for(i=0,u=t+this._size|0,r=0;r<this._size;r=r+1|0)n[System.Array.index(u=u-1|0,n)]=this._array[System.Array.index(H5.identity(i,i=i+1|0),this._array)]},copyTo:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(n)!==1)throw new System.ArgumentException.$ctor1("Only single dimensional arrays are supported for the requested action.");if(System.Array.getLower(n,0)!==0)throw new System.ArgumentException.$ctor1("The lower bound of target array must be zero.");if(t<0||t>n.length)throw new System.ArgumentOutOfRangeException.$ctor4("arrayIndex","Non-negative number required.");if((n.length-t|0)<this._size)throw new System.ArgumentException.$ctor1("Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.");try{System.Array.copy(this._array,0,n,t,this._size);System.Array.reverse(n,t,this._size)}catch(i){i=System.Exception.create(i);throw new System.ArgumentException.$ctor1("Target array type is not compatible with the type of items in the collection.");}},GetEnumerator:function(){return new(System.Collections.Generic.Stack$1.Enumerator(n).$ctor1)(this)},System$Collections$Generic$IEnumerable$1$GetEnumerator:function(){return new(System.Collections.Generic.Stack$1.Enumerator(n).$ctor1)(this).$clone()},System$Collections$IEnumerable$GetEnumerator:function(){return new(System.Collections.Generic.Stack$1.Enumerator(n).$ctor1)(this).$clone()},TrimExcess:function(){var i=H5.Int.clip32(this._array.length*.9),t;this._size<i&&(t={v:this._array},System.Array.resize(t,this._size,function(){return H5.getDefaultValue(n)},n),this._array=t.v,this._version=this._version+1|0)},Peek:function(){if(this._size===0)throw new System.InvalidOperationException.$ctor1("Stack empty.");return this._array[System.Array.index(this._size-1|0,this._array)]},Pop:function(){if(this._size===0)throw new System.InvalidOperationException.$ctor1("Stack empty.");this._version=this._version+1|0;var t=this._array[System.Array.index(this._size=this._size-1|0,this._array)];return this._array[System.Array.index(this._size,this._array)]=H5.getDefaultValue(n),t},Push:function(t){if(this._size===this._array.length){var i={v:this._array};System.Array.resize(i,this._array.length===0?System.Collections.Generic.Stack$1(n).DefaultCapacity:H5.Int.mul(2,this._array.length),function(){return H5.getDefaultValue(n)},n);this._array=i.v}this._array[System.Array.index(H5.identity(this._size,this._size=this._size+1|0),this._array)]=t;this._version=this._version+1|0},ToArray:function(){for(var i=System.Array.init(this._size,function(){return H5.getDefaultValue(n)},n),t=0;t<this._size;)i[System.Array.index(t,i)]=this._array[System.Array.index((this._size-t|0)-1|0,this._array)],t=t+1|0;return i}}}});H5.define("System.Collections.Generic.Stack$1.Enumerator",function(n){return{inherits:[System.Collections.Generic.IEnumerator$1(n),System.Collections.IEnumerator],$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new(System.Collections.Generic.Stack$1.Enumerator(n))}}},fields:{_stack:null,_index:0,_version:0,_currentElement:H5.getDefaultValue(n)},props:{Current:{get:function(){if(this._index===-2)throw new System.InvalidOperationException.$ctor1("Enumeration has not started. Call MoveNext.");if(this._index===-1)throw new System.InvalidOperationException.$ctor1("Enumeration already finished.");return this._currentElement}},System$Collections$IEnumerator$Current:{get:function(){if(this._index===-2)throw new System.InvalidOperationException.$ctor1("Enumeration has not started. Call MoveNext.");if(this._index===-1)throw new System.InvalidOperationException.$ctor1("Enumeration already finished.");return this._currentElement}}},alias:["Dispose","System$IDisposable$Dispose","moveNext","System$Collections$IEnumerator$moveNext","Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"]],ctors:{$ctor1:function(t){this.$initialize();this._stack=t;this._version=this._stack._version;this._index=-2;this._currentElement=H5.getDefaultValue(n)},ctor:function(){this.$initialize()}},methods:{Dispose:function(){this._index=-1},moveNext:function(){var i,r,t;if(this._version!==this._stack._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");return this._index===-2?(this._index=this._stack._size-1|0,t=this._index>=0,t&&(this._currentElement=(i=this._stack._array)[System.Array.index(this._index,i)]),t):this._index===-1?!1:(t=(this._index=this._index-1|0)>=0,this._currentElement=t?(r=this._stack._array)[System.Array.index(this._index,r)]:H5.getDefaultValue(n),t)},System$Collections$IEnumerator$reset:function(){if(this._version!==this._stack._version)throw new System.InvalidOperationException.$ctor1("Collection was modified; enumeration operation may not execute.");this._index=-2;this._currentElement=H5.getDefaultValue(n)},getHashCode:function(){return H5.addHash([3788985113,this._stack,this._index,this._version,this._currentElement])},equals:function(t){return H5.is(t,System.Collections.Generic.Stack$1.Enumerator(n))?H5.equals(this._stack,t._stack)&&H5.equals(this._index,t._index)&&H5.equals(this._version,t._version)&&H5.equals(this._currentElement,t._currentElement):!1},$clone:function(t){var i=t||new(System.Collections.Generic.Stack$1.Enumerator(n));return i._stack=this._stack,i._index=this._index,i._version=this._version,i._currentElement=this._currentElement,i}}}});H5.define("System.Collections.HashHelpers",{statics:{fields:{HashPrime:0,MaxPrimeArrayLength:0,RandomSeed:0,primes:null},ctors:{init:function(){this.HashPrime=101;this.MaxPrimeArrayLength=2146435069;this.RandomSeed=System.Guid.NewGuid().getHashCode();this.primes=System.Array.init([3,7,11,17,23,29,37,47,59,71,89,107,131,163,197,239,293,353,431,521,631,761,919,1103,1327,1597,1931,2333,2801,3371,4049,4861,5839,7013,8419,10103,12143,14591,17519,21023,25229,30293,36353,43627,52361,62851,75431,90523,108631,130363,156437,187751,225307,270371,324449,389357,467237,560689,672827,807403,968897,1162687,1395263,1674319,2009191,2411033,2893249,3471899,4166287,4999559,5999471,7199369],System.Int32)}},methods:{Combine:function(n,t){var i=(n>>>0<<5>>>0|n>>>0>>>27)>>>0;return((i|0)+n|0)^t},IsPrime:function(n){var i,t;if((n&1)!=0){for(i=H5.Int.clip32(Math.sqrt(n)),t=3;t<=i;t=t+2|0)if(n%t==0)return!1;return!0}return n===2},GetPrime:function(n){var i,r,t;if(n<0)throw new System.ArgumentException.$ctor1("Hashtable's capacity overflowed and went negative. Check load factor, capacity and the current size of the table.");for(i=0;i<System.Collections.HashHelpers.primes.length;i=i+1|0)if(r=System.Collections.HashHelpers.primes[System.Array.index(i,System.Collections.HashHelpers.primes)],r>=n)return r;for(t=n|1;t<2147483647;t=t+2|0)if(System.Collections.HashHelpers.IsPrime(t)&&(t-1|0)%System.Collections.HashHelpers.HashPrime!=0)return t;return n},GetMinPrime:function(){return System.Collections.HashHelpers.primes[System.Array.index(0,System.Collections.HashHelpers.primes)]},ExpandPrime:function(n){var t=H5.Int.mul(2,n);return t>>>0>System.Collections.HashHelpers.MaxPrimeArrayLength&&System.Collections.HashHelpers.MaxPrimeArrayLength>n?System.Collections.HashHelpers.MaxPrimeArrayLength:System.Collections.HashHelpers.GetPrime(t)}}}});H5.define("System.Collections.ObjectModel.Collection$1",function(n){return{inherits:[System.Collections.Generic.IList$1(n),System.Collections.IList,System.Collections.Generic.IReadOnlyList$1(n)],statics:{methods:{IsCompatibleObject:function(t){return H5.is(t,n)||t==null&&H5.getDefaultValue(n)==null}}},fields:{items:null,_syncRoot:null},props:{Count:{get:function(){return System.Array.getCount(this.items,n)}},Items:{get:function(){return this.items}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return System.Array.getIsReadOnly(this.items,n)}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){if(this._syncRoot==null){var n;if((n=H5.as(this.items,System.Collections.ICollection))!=null)this._syncRoot=n.System$Collections$ICollection$SyncRoot;else throw System.NotImplemented.ByDesign;}return this._syncRoot}},System$Collections$IList$IsReadOnly:{get:function(){return System.Array.getIsReadOnly(this.items,n)}},System$Collections$IList$IsFixedSize:{get:function(){var t;return(t=H5.as(this.items,System.Collections.IList))!=null?System.Array.isFixedSize(t):System.Array.getIsReadOnly(this.items,n)}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","getItem",["System$Collections$Generic$IReadOnlyList$1$"+H5.getTypeAlias(n)+"$getItem","System$Collections$Generic$IReadOnlyList$1$getItem"],"setItem",["System$Collections$Generic$IReadOnlyList$1$"+H5.getTypeAlias(n)+"$setItem","System$Collections$Generic$IReadOnlyList$1$setItem"],"getItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$getItem","setItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$setItem","add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","clear","System$Collections$IList$clear","clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"],"indexOf","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$indexOf","insert","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$insert","remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","removeAt","System$Collections$IList$removeAt","removeAt","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$removeAt","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly"],ctors:{ctor:function(){this.$initialize();this.items=new(System.Collections.Generic.List$1(n).ctor)},$ctor1:function(n){this.$initialize();n==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.list);this.items=n}},methods:{getItem:function(t){return System.Array.getItem(this.items,t,n)},setItem:function(t,i){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);(t<0||t>=System.Array.getCount(this.items,n))&&System.ThrowHelper.ThrowArgumentOutOfRange_IndexException();this.SetItem(t,i)},System$Collections$IList$getItem:function(t){return System.Array.getItem(this.items,t,n)},System$Collections$IList$setItem:function(t,i){System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(n,i,System.ExceptionArgument.value);try{this.setItem(t,H5.cast(H5.unbox(i,n),n))}catch(r){if(r=System.Exception.create(r),H5.is(r,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,i,n);else throw r;}},add:function(t){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);var i=System.Array.getCount(this.items,n);this.InsertItem(i,t)},System$Collections$IList$add:function(t){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(n,t,System.ExceptionArgument.value);try{this.add(H5.cast(H5.unbox(t,n),n))}catch(i){if(i=System.Exception.create(i),H5.is(i,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,t,n);else throw i;}return this.Count-1|0},clear:function(){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);this.ClearItems()},copyTo:function(t,i){System.Array.copyTo(this.items,t,i,n)},System$Collections$ICollection$copyTo:function(t,i){var s,e,o,u,h,r;if(t==null&&System.ThrowHelper.ThrowArgumentNullException(System.ExceptionArgument.array),System.Array.getRank(t)!==1&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_RankMultiDimNotSupported),System.Array.getLower(t,0)!==0&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_NonZeroLowerBound),i<0&&System.ThrowHelper.ThrowIndexArgumentOutOfRange_NeedNonNegNumException(),(t.length-i|0)<this.Count&&System.ThrowHelper.ThrowArgumentException(System.ExceptionResource.Arg_ArrayPlusOffTooSmall),(s=H5.as(t,System.Array.type(n)))!=null)System.Array.copyTo(this.items,s,i,n);else{e=H5.getType(t).$elementType||null;o=n;H5.Reflection.isAssignableFrom(e,o)||H5.Reflection.isAssignableFrom(o,e)||System.ThrowHelper.ThrowArgumentException_Argument_InvalidArrayType();u=H5.as(t,System.Array.type(System.Object));u==null&&System.ThrowHelper.ThrowArgumentException_Argument_InvalidArrayType();h=System.Array.getCount(this.items,n);try{for(r=0;r<h;r=r+1|0)u[System.Array.index(H5.identity(i,i=i+1|0),u)]=System.Array.getItem(this.items,r,n)}catch(f){if(f=System.Exception.create(f),H5.is(f,System.ArrayTypeMismatchException))System.ThrowHelper.ThrowArgumentException_Argument_InvalidArrayType();else throw f;}}},contains:function(t){return System.Array.contains(this.items,t,n)},System$Collections$IList$contains:function(t){return System.Collections.ObjectModel.Collection$1(n).IsCompatibleObject(t)?this.contains(H5.cast(H5.unbox(t,n),n)):!1},GetEnumerator:function(){return H5.getEnumerator(this.items,n)},System$Collections$IEnumerable$GetEnumerator:function(){return H5.getEnumerator(H5.cast(this.items,System.Collections.IEnumerable))},indexOf:function(t){return System.Array.indexOf(this.items,t,0,null,n)},System$Collections$IList$indexOf:function(t){return System.Collections.ObjectModel.Collection$1(n).IsCompatibleObject(t)?this.indexOf(H5.cast(H5.unbox(t,n),n)):-1},insert:function(t,i){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);(t<0||t>System.Array.getCount(this.items,n))&&System.ThrowHelper.ThrowArgumentOutOfRangeException$2(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_ListInsert);this.InsertItem(t,i)},System$Collections$IList$insert:function(t,i){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);System.ThrowHelper.IfNullAndNullsAreIllegalThenThrow(n,i,System.ExceptionArgument.value);try{this.insert(t,H5.cast(H5.unbox(i,n),n))}catch(r){if(r=System.Exception.create(r),H5.is(r,System.InvalidCastException))System.ThrowHelper.ThrowWrongValueTypeArgumentException(System.Object,i,n);else throw r;}},remove:function(t){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);var i=System.Array.indexOf(this.items,t,0,null,n);return i<0?!1:(this.RemoveItem(i),!0)},System$Collections$IList$remove:function(t){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);System.Collections.ObjectModel.Collection$1(n).IsCompatibleObject(t)&&this.remove(H5.cast(H5.unbox(t,n),n))},removeAt:function(t){System.Array.getIsReadOnly(this.items,n)&&System.ThrowHelper.ThrowNotSupportedException$1(System.ExceptionResource.NotSupported_ReadOnlyCollection);(t<0||t>=System.Array.getCount(this.items,n))&&System.ThrowHelper.ThrowArgumentOutOfRange_IndexException();this.RemoveItem(t)},ClearItems:function(){System.Array.clear(this.items,n)},InsertItem:function(t,i){System.Array.insert(this.items,t,i,n)},RemoveItem:function(t){System.Array.removeAt(this.items,t,n)},SetItem:function(t,i){System.Array.setItem(this.items,t,i,n)}}}});H5.define("System.Collections.ObjectModel.ReadOnlyCollection$1",function(n){return{inherits:[System.Collections.Generic.IList$1(n),System.Collections.IList,System.Collections.Generic.IReadOnlyList$1(n)],statics:{methods:{IsCompatibleObject:function(t){return H5.is(t,n)||t==null&&H5.getDefaultValue(n)==null}}},fields:{list:null},props:{Count:{get:function(){return System.Array.getCount(this.list,n)}},System$Collections$ICollection$IsSynchronized:{get:function(){return!1}},System$Collections$ICollection$SyncRoot:{get:function(){return this}},Items:{get:function(){return this.list}},System$Collections$IList$IsFixedSize:{get:function(){return!0}},System$Collections$Generic$ICollection$1$IsReadOnly:{get:function(){return!0}},System$Collections$IList$IsReadOnly:{get:function(){return!0}}},alias:["Count",["System$Collections$Generic$IReadOnlyCollection$1$"+H5.getTypeAlias(n)+"$Count","System$Collections$Generic$IReadOnlyCollection$1$Count"],"Count","System$Collections$ICollection$Count","Count","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$Count","getItem",["System$Collections$Generic$IReadOnlyList$1$"+H5.getTypeAlias(n)+"$getItem","System$Collections$Generic$IReadOnlyList$1$getItem"],"contains","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$contains","copyTo","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$copyTo","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"],"indexOf","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$indexOf","System$Collections$Generic$ICollection$1$IsReadOnly","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$IsReadOnly","System$Collections$Generic$IList$1$getItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$getItem","System$Collections$Generic$IList$1$setItem","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$setItem","System$Collections$Generic$ICollection$1$add","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$add","System$Collections$Generic$ICollection$1$clear","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$clear","System$Collections$Generic$IList$1$insert","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$insert","System$Collections$Generic$ICollection$1$remove","System$Collections$Generic$ICollection$1$"+H5.getTypeAlias(n)+"$remove","System$Collections$Generic$IList$1$removeAt","System$Collections$Generic$IList$1$"+H5.getTypeAlias(n)+"$removeAt"],ctors:{ctor:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("list");this.list=n}},methods:{getItem:function(t){return System.Array.getItem(this.list,t,n)},System$Collections$Generic$IList$1$getItem:function(t){return System.Array.getItem(this.list,t,n)},System$Collections$Generic$IList$1$setItem:function(n,t){throw new System.NotSupportedException.ctor;},System$Collections$IList$getItem:function(t){return System.Array.getItem(this.list,t,n)},System$Collections$IList$setItem:function(n,t){throw new System.NotSupportedException.ctor;},contains:function(t){return System.Array.contains(this.list,t,n)},System$Collections$IList$contains:function(t){return System.Collections.ObjectModel.ReadOnlyCollection$1(n).IsCompatibleObject(t)?this.contains(H5.cast(H5.unbox(t,n),n)):!1},copyTo:function(t,i){System.Array.copyTo(this.list,t,i,n)},System$Collections$ICollection$copyTo:function(t,i){var o,u,f,e,s,r;if(t==null)throw new System.ArgumentNullException.$ctor1("array");if(System.Array.getRank(t)!==1)throw new System.ArgumentException.$ctor1("array");if(System.Array.getLower(t,0)!==0)throw new System.ArgumentException.$ctor1("array");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if((t.length-i|0)<this.Count)throw new System.ArgumentException.ctor;if((o=H5.as(t,System.Array.type(n)))!=null)System.Array.copyTo(this.list,o,i,n);else{if(u=H5.getType(t).$elementType||null,f=n,!(H5.Reflection.isAssignableFrom(u,f)||H5.Reflection.isAssignableFrom(f,u)))throw new System.ArgumentException.ctor;if(!((e=H5.as(t,System.Array.type(System.Object)))!=null))throw new System.ArgumentException.ctor;for(s=System.Array.getCount(this.list,n),r=0;r<s;r=r+1|0)e[System.Array.index(H5.identity(i,i=i+1|0),e)]=System.Array.getItem(this.list,r,n)}},GetEnumerator:function(){return H5.getEnumerator(this.list,n)},System$Collections$IEnumerable$GetEnumerator:function(){return H5.getEnumerator(H5.cast(this.list,System.Collections.IEnumerable))},indexOf:function(t){return System.Array.indexOf(this.list,t,0,null,n)},System$Collections$IList$indexOf:function(t){return System.Collections.ObjectModel.ReadOnlyCollection$1(n).IsCompatibleObject(t)?this.indexOf(H5.cast(H5.unbox(t,n),n)):-1},System$Collections$Generic$ICollection$1$add:function(n){throw new System.NotSupportedException.ctor;},System$Collections$IList$add:function(n){throw new System.NotSupportedException.ctor;},System$Collections$Generic$ICollection$1$clear:function(){throw new System.NotSupportedException.ctor;},System$Collections$IList$clear:function(){throw new System.NotSupportedException.ctor;},System$Collections$Generic$IList$1$insert:function(n,t){throw new System.NotSupportedException.ctor;},System$Collections$IList$insert:function(n,t){throw new System.NotSupportedException.ctor;},System$Collections$Generic$ICollection$1$remove:function(n){throw new System.NotSupportedException.ctor;},System$Collections$IList$remove:function(n){throw new System.NotSupportedException.ctor;},System$Collections$Generic$IList$1$removeAt:function(n){throw new System.NotSupportedException.ctor;},System$Collections$IList$removeAt:function(n){throw new System.NotSupportedException.ctor;}}}});H5.define("System.ComponentModel.BrowsableAttribute",{inherits:[System.Attribute],statics:{fields:{yes:null,no:null,"default":null},ctors:{init:function(){this.yes=new System.ComponentModel.BrowsableAttribute(!0);this.no=new System.ComponentModel.BrowsableAttribute(!1);this.default=System.ComponentModel.BrowsableAttribute.yes}}},fields:{browsable:!1},props:{Browsable:{get:function(){return this.browsable}}},ctors:{init:function(){this.browsable=!0},ctor:function(n){this.$initialize();System.Attribute.ctor.call(this);this.browsable=n}},methods:{equals:function(n){if(H5.referenceEquals(n,this))return!0;var t;return(t=H5.as(n,System.ComponentModel.BrowsableAttribute))!=null&&t.Browsable===this.browsable},getHashCode:function(){return H5.getHashCode(this.browsable)}}});H5.define("System.ComponentModel.DefaultValueAttribute",{inherits:[System.Attribute],fields:{_value:null},props:{Value:{get:function(){return this._value}}},ctors:{$ctor11:function(n,t){this.$initialize();System.Attribute.ctor.call(this);try{if(n.prototype instanceof System.Enum)this._value=System.Enum.parse(n,t,!0);else if(H5.referenceEquals(n,System.TimeSpan))throw System.NotImplemented.ByDesign;else throw System.NotImplemented.ByDesign;}catch(i){i=System.Exception.create(i)}},$ctor2:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Char,String.fromCharCode,System.Char.getHashCode)},$ctor1:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Byte)},$ctor4:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Int16)},$ctor5:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Int32)},$ctor6:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=n},$ctor9:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Single,System.Single.format,System.Single.getHashCode)},$ctor3:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Double,System.Double.format,System.Double.getHashCode)},ctor:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.Boolean,System.Boolean.toString)},$ctor10:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=n},$ctor7:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=n},$ctor8:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.SByte)},$ctor12:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.UInt16)},$ctor13:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=H5.box(n,System.UInt32)},$ctor14:function(n){this.$initialize();System.Attribute.ctor.call(this);this._value=n}},methods:{equals:function(n){if(H5.referenceEquals(n,this))return!0;var t;return(t=H5.as(n,System.ComponentModel.DefaultValueAttribute))!=null?this.Value!=null?H5.equals(this.Value,t.Value):t.Value==null:!1},getHashCode:function(){return H5.getHashCode(this)},setValue:function(n){this._value=n}}});H5.define("System.Console",{statics:{methods:{write:function(n){System.Console.Write(System.DateTime.format(n))},write$1:function(n){System.Console.Write(n.toString())},Write:function(n){var t=H5.global.console;t&&t.log&&t.log(H5.isDefined(H5.unbox(n))?H5.unbox(n):"")},writeLine:function(n){System.Console.WriteLine(System.DateTime.format(n))},writeLine$1:function(n){System.Console.WriteLine(n.toString())},WriteLine:function(n){var t=H5.global.console;t&&t.log&&t.log(H5.isDefined(H5.unbox(n))?H5.unbox(n):"")},Log:function(n){var t=H5.global.console;t&&t.log&&t.log(H5.unbox(n))},TransformChars:function(n,t,i,r){var f,u;if(t!==1){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("index","less than zero");if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","less than zero");if((i+r|0)>n.length)throw new System.ArgumentException.$ctor1("index plus count specify a position that is not within buffer.");}if(f="",n!=null)for(t===1&&(i=0,r=n.length),u=i;u<(i+r|0);u=u+1|0)f=(f||"")+String.fromCharCode(n[System.Array.index(u,n)]);return f},Clear:function(){var n=H5.global.console;n&&n.clear&&n.clear()}}}});H5.define("System.TokenType",{$kind:"enum",statics:{fields:{NumberToken:1,YearNumberToken:2,Am:3,Pm:4,MonthToken:5,EndOfString:6,DayOfWeekToken:7,TimeZoneToken:8,EraToken:9,DateWordToken:10,UnknownToken:11,HebrewNumber:12,JapaneseEraToken:13,TEraToken:14,IgnorableSymbol:15,SEP_Unk:256,SEP_End:512,SEP_Space:768,SEP_Am:1024,SEP_Pm:1280,SEP_Date:1536,SEP_Time:1792,SEP_YearSuff:2048,SEP_MonthSuff:2304,SEP_DaySuff:2560,SEP_HourSuff:2816,SEP_MinuteSuff:3072,SEP_SecondSuff:3328,SEP_LocalTimeMark:3584,SEP_DateOrOffset:3840,RegularTokenMask:255,SeparatorTokenMask:65280}}});H5.define("System.UnitySerializationHolder",{inherits:[System.Runtime.Serialization.ISerializable,System.Runtime.Serialization.IObjectReference],statics:{fields:{NullUnity:0},ctors:{init:function(){this.NullUnity=2}}},alias:["GetRealObject","System$Runtime$Serialization$IObjectReference$GetRealObject"],methods:{GetRealObject:function(n){throw System.NotImplemented.ByDesign;}}});H5.define("System.DateTimeKind",{$kind:"enum",statics:{fields:{Unspecified:0,Utc:1,Local:2}}});H5.define("System.DateTimeOffset",{inherits:function(){return[System.IComparable,System.IFormattable,System.Runtime.Serialization.ISerializable,System.Runtime.Serialization.IDeserializationCallback,System.IComparable$1(System.DateTimeOffset),System.IEquatable$1(System.DateTimeOffset)]},$kind:"struct",statics:{fields:{MaxOffset:System.Int64(0),MinOffset:System.Int64(0),UnixEpochTicks:System.Int64(0),UnixEpochSeconds:System.Int64(0),UnixEpochMilliseconds:System.Int64(0),MinValue:null,MaxValue:null},props:{Now:{get:function(){return new System.DateTimeOffset.$ctor1(System.DateTime.getNow())}},UtcNow:{get:function(){return new System.DateTimeOffset.$ctor1(System.DateTime.getUtcNow())}}},ctors:{init:function(){this.MinValue=new System.DateTimeOffset;this.MaxValue=new System.DateTimeOffset;this.MaxOffset=System.Int64([1488826368,117]);this.MinOffset=System.Int64([-1488826368,-118]);this.UnixEpochTicks=System.Int64([-139100160,144670709]);this.UnixEpochSeconds=System.Int64([2006054656,14]);this.UnixEpochMilliseconds=System.Int64([304928768,14467]);this.MinValue=new System.DateTimeOffset.$ctor5(System.DateTime.getMinTicks(),System.TimeSpan.zero);this.MaxValue=new System.DateTimeOffset.$ctor5(System.DateTime.getMaxTicks(),System.TimeSpan.zero)}},methods:{Compare:function(n,t){return H5.compare(n.UtcDateTime,t.UtcDateTime)},Equals:function(n,t){return H5.equalsT(n.UtcDateTime,t.UtcDateTime)},FromFileTime:function(n){return new System.DateTimeOffset.$ctor1(System.DateTime.FromFileTime(n))},FromUnixTimeSeconds:function(n){var t=System.Int64([-2006054656,-15]),i=System.Int64([-769665,58]),r;if(n.lt(t)||n.gt(i))throw new System.ArgumentOutOfRangeException.$ctor4("seconds",System.String.format(System.Environment.GetResourceString("ArgumentOutOfRange_Range"),t,i));return r=n.mul(System.Int64(1e7)).add(System.DateTimeOffset.UnixEpochTicks),new System.DateTimeOffset.$ctor5(r,System.TimeSpan.zero)},FromUnixTimeMilliseconds:function(n){var t=System.Int64([-304928768,-14468]),i=System.Int64([-769664001,58999]),r;if(n.lt(t)||n.gt(i))throw new System.ArgumentOutOfRangeException.$ctor4("milliseconds",System.String.format(System.Environment.GetResourceString("ArgumentOutOfRange_Range"),t,i));return r=n.mul(System.Int64(1e4)).add(System.DateTimeOffset.UnixEpochTicks),new System.DateTimeOffset.$ctor5(r,System.TimeSpan.zero)},Parse:function(n){var t={},i=System.DateTimeParse.Parse$1(n,System.Globalization.DateTimeFormatInfo.currentInfo,0,t);return new System.DateTimeOffset.$ctor5(System.DateTime.getTicks(i),t.v)},Parse$1:function(n,t){return System.DateTimeOffset.Parse$2(n,t,0)},Parse$2:function(n,t,i){throw System.NotImplemented.ByDesign;},ParseExact:function(n,t,i){return System.DateTimeOffset.ParseExact$1(n,t,i,0)},ParseExact$1:function(n,t,i,r){throw System.NotImplemented.ByDesign;},TryParse:function(n,t){var i={},r={},u=System.DateTimeParse.TryParse$1(n,System.Globalization.DateTimeFormatInfo.currentInfo,0,r,i);return t.v=new System.DateTimeOffset.$ctor5(System.DateTime.getTicks(r.v),i.v),u},ValidateOffset:function(n){var t=n.getTicks();if(t.mod(System.Int64(6e8)).ne(System.Int64(0)))throw new System.ArgumentException.$ctor3(System.Environment.GetResourceString("Argument_OffsetPrecision"),"offset");if(t.lt(System.DateTimeOffset.MinOffset)||t.gt(System.DateTimeOffset.MaxOffset))throw new System.ArgumentOutOfRangeException.$ctor4("offset",System.Environment.GetResourceString("Argument_OffsetOutOfRange"));return System.Int64.clip16(n.getTicks().div(System.Int64(6e8)))},ValidateDate:function(n,t){var i=System.DateTime.getTicks(n).sub(t.getTicks());if(i.lt(System.DateTime.getMinTicks())||i.gt(System.DateTime.getMaxTicks()))throw new System.ArgumentOutOfRangeException.$ctor4("offset",System.Environment.GetResourceString("Argument_UTCOutOfRange"));return System.DateTime.create$2(i,0)},op_Implicit:function(n){return new System.DateTimeOffset.$ctor1(n)},op_Addition:function(n,t){return new System.DateTimeOffset.$ctor2(System.DateTime.adddt(n.ClockDateTime,t),n.Offset)},op_Subtraction:function(n,t){return new System.DateTimeOffset.$ctor2(System.DateTime.subdt(n.ClockDateTime,t),n.Offset)},op_Subtraction$1:function(n,t){return System.DateTime.subdd(n.UtcDateTime,t.UtcDateTime)},op_Equality:function(n,t){return H5.equals(n.UtcDateTime,t.UtcDateTime)},op_Inequality:function(n,t){return!H5.equals(n.UtcDateTime,t.UtcDateTime)},op_LessThan:function(n,t){return System.DateTime.lt(n.UtcDateTime,t.UtcDateTime)},op_LessThanOrEqual:function(n,t){return System.DateTime.lte(n.UtcDateTime,t.UtcDateTime)},op_GreaterThan:function(n,t){return System.DateTime.gt(n.UtcDateTime,t.UtcDateTime)},op_GreaterThanOrEqual:function(n,t){return System.DateTime.gte(n.UtcDateTime,t.UtcDateTime)},getDefaultValue:function(){return new System.DateTimeOffset}}},fields:{m_dateTime:null,m_offsetMinutes:0},props:{DateTime:{get:function(){return this.ClockDateTime}},UtcDateTime:{get:function(){return System.DateTime.specifyKind(this.m_dateTime,1)}},LocalDateTime:{get:function(){return System.DateTime.toLocalTime(this.UtcDateTime)}},ClockDateTime:{get:function(){return System.DateTime.create$2(System.DateTime.getTicks(System.DateTime.adddt(this.m_dateTime,this.Offset)),0)}},Date:{get:function(){return System.DateTime.getDate(this.ClockDateTime)}},Day:{get:function(){return System.DateTime.getDay(this.ClockDateTime)}},DayOfWeek:{get:function(){return System.DateTime.getDayOfWeek(this.ClockDateTime)}},DayOfYear:{get:function(){return System.DateTime.getDayOfYear(this.ClockDateTime)}},Hour:{get:function(){return System.DateTime.getHour(this.ClockDateTime)}},Millisecond:{get:function(){return System.DateTime.getMillisecond(this.ClockDateTime)}},Minute:{get:function(){return System.DateTime.getMinute(this.ClockDateTime)}},Month:{get:function(){return System.DateTime.getMonth(this.ClockDateTime)}},Offset:{get:function(){return new System.TimeSpan(0,this.m_offsetMinutes,0)}},Second:{get:function(){return System.DateTime.getSecond(this.ClockDateTime)}},Ticks:{get:function(){return System.DateTime.getTicks(this.ClockDateTime)}},UtcTicks:{get:function(){return System.DateTime.getTicks(this.UtcDateTime)}},TimeOfDay:{get:function(){return System.DateTime.getTimeOfDay(this.ClockDateTime)}},Year:{get:function(){return System.DateTime.getYear(this.ClockDateTime)}}},alias:["compareTo",["System$IComparable$1$System$DateTimeOffset$compareTo","System$IComparable$1$compareTo"],"equalsT","System$IEquatable$1$System$DateTimeOffset$equalsT","format","System$IFormattable$format"],ctors:{init:function(){this.m_dateTime=System.DateTime.getDefaultValue()},$ctor5:function(n,t){this.$initialize();this.m_offsetMinutes=System.DateTimeOffset.ValidateOffset(t);var i=System.DateTime.create$2(n);this.m_dateTime=System.DateTimeOffset.ValidateDate(i,t)},$ctor1:function(n){this.$initialize();var t;t=new System.TimeSpan(System.Int64(0));this.m_offsetMinutes=System.DateTimeOffset.ValidateOffset(t);this.m_dateTime=System.DateTimeOffset.ValidateDate(n,t)},$ctor2:function(n,t){this.$initialize();this.m_offsetMinutes=System.DateTimeOffset.ValidateOffset(t);this.m_dateTime=System.DateTimeOffset.ValidateDate(n,t)},$ctor4:function(n,t,i,r,u,f,e){this.$initialize();this.m_offsetMinutes=System.DateTimeOffset.ValidateOffset(e);this.m_dateTime=System.DateTimeOffset.ValidateDate(System.DateTime.create(n,t,i,r,u,f),e)},$ctor3:function(n,t,i,r,u,f,e,o){this.$initialize();this.m_offsetMinutes=System.DateTimeOffset.ValidateOffset(o);this.m_dateTime=System.DateTimeOffset.ValidateDate(System.DateTime.create(n,t,i,r,u,f,e),o)},ctor:function(){this.$initialize()}},methods:{ToOffset:function(n){return new System.DateTimeOffset.$ctor5(System.DateTime.getTicks(System.DateTime.adddt(this.m_dateTime,n)),n)},Add:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.add(this.ClockDateTime,n),this.Offset)},AddDays:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addDays(this.ClockDateTime,n),this.Offset)},AddHours:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addHours(this.ClockDateTime,n),this.Offset)},AddMilliseconds:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addMilliseconds(this.ClockDateTime,n),this.Offset)},AddMinutes:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addMinutes(this.ClockDateTime,n),this.Offset)},AddMonths:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addMonths(this.ClockDateTime,n),this.Offset)},AddSeconds:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addSeconds(this.ClockDateTime,n),this.Offset)},AddTicks:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addTicks(this.ClockDateTime,n),this.Offset)},AddYears:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.addYears(this.ClockDateTime,n),this.Offset)},System$IComparable$compareTo:function(n){if(n==null)return 1;if(!H5.is(n,System.DateTimeOffset))throw new System.ArgumentException.$ctor1(System.Environment.GetResourceString("Arg_MustBeDateTimeOffset"));var t=System.Nullable.getValue(H5.cast(H5.unbox(n,System.DateTimeOffset),System.DateTimeOffset)).UtcDateTime,i=this.UtcDateTime;return System.DateTime.gt(i,t)?1:System.DateTime.lt(i,t)?-1:0},compareTo:function(n){var t=n.UtcDateTime,i=this.UtcDateTime;return System.DateTime.gt(i,t)?1:System.DateTime.lt(i,t)?-1:0},equals:function(n){var t=new System.DateTimeOffset;return System.Nullable.liftne(System.DateTimeOffset.op_Inequality,t=H5.is(n,System.DateTimeOffset)?System.Nullable.getValue(H5.cast(H5.unbox(n,System.DateTimeOffset),System.DateTimeOffset)):null,null)?H5.equalsT(this.UtcDateTime,t.UtcDateTime):!1},equalsT:function(n){return H5.equalsT(this.UtcDateTime,n.UtcDateTime)},EqualsExact:function(n){return H5.equals(this.ClockDateTime,n.ClockDateTime)&&System.TimeSpan.eq(this.Offset,n.Offset)&&System.DateTime.getKind(this.ClockDateTime)===System.DateTime.getKind(n.ClockDateTime)},System$Runtime$Serialization$IDeserializationCallback$OnDeserialization:function(n){try{this.m_offsetMinutes=System.DateTimeOffset.ValidateOffset(this.Offset);this.m_dateTime=System.DateTimeOffset.ValidateDate(this.ClockDateTime,this.Offset)}catch(t){t=System.Exception.create(t);var i;if(H5.is(t,System.ArgumentException)){i=t;throw new System.Runtime.Serialization.SerializationException.$ctor2(System.Environment.GetResourceString("Serialization_InvalidData"),i);}else throw t;}},getHashCode:function(){return H5.getHashCode(this.UtcDateTime)},Subtract$1:function(n){return System.DateTime.subdd(this.UtcDateTime,n.UtcDateTime)},Subtract:function(n){return new System.DateTimeOffset.$ctor2(System.DateTime.subtract(this.ClockDateTime,n),this.Offset)},ToFileTime:function(){return System.DateTime.ToFileTime(this.UtcDateTime)},ToUnixTimeSeconds:function(){var n=System.DateTime.getTicks(this.UtcDateTime).div(System.Int64(1e7));return n.sub(System.DateTimeOffset.UnixEpochSeconds)},ToUnixTimeMilliseconds:function(){var n=System.DateTime.getTicks(this.UtcDateTime).div(System.Int64(1e4));return n.sub(System.DateTimeOffset.UnixEpochMilliseconds)},ToLocalTime:function(){return this.ToLocalTime$1(!1)},ToLocalTime$1:function(n){return new System.DateTimeOffset.$ctor1(System.DateTime.toLocalTime(this.UtcDateTime,n))},toString:function(){return System.DateTime.format(System.DateTime.specifyKind(this.ClockDateTime,2))},ToString$1:function(n){return System.DateTime.format(System.DateTime.specifyKind(this.ClockDateTime,2),n)},ToString:function(n){return System.DateTime.format(System.DateTime.specifyKind(this.ClockDateTime,2),null,n)},format:function(n,t){return System.DateTime.format(System.DateTime.specifyKind(this.ClockDateTime,2),n,t)},ToUniversalTime:function(){return new System.DateTimeOffset.$ctor1(this.UtcDateTime)},$clone:function(n){var t=n||new System.DateTimeOffset;return t.m_dateTime=this.m_dateTime,t.m_offsetMinutes=this.m_offsetMinutes,t}}});H5.define("System.DateTimeParse",{statics:{methods:{TryParseExact:function(n,t,i,r,u){return System.DateTime.tryParseExact(n,t,null,u)},Parse:function(n,t,i){return System.DateTime.parse(n,t)},Parse$1:function(n,t,i,r){throw System.NotImplemented.ByDesign;},TryParse:function(n,t,i,r){return System.DateTime.tryParse(n,null,r)},TryParse$1:function(n,t,i,r,u){throw System.NotImplemented.ByDesign;}}}});H5.define("System.DateTimeResult",{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new System.DateTimeResult}}},fields:{Year:0,Month:0,Day:0,Hour:0,Minute:0,Second:0,fraction:0,era:0,flags:0,timeZoneOffset:null,calendar:null,parsedDate:null,failure:0,failureMessageID:null,failureMessageFormatArgument:null,failureArgumentName:null},ctors:{init:function(){this.timeZoneOffset=new System.TimeSpan;this.parsedDate=System.DateTime.getDefaultValue()},ctor:function(){this.$initialize()}},methods:{Init:function(){this.Year=-1;this.Month=-1;this.Day=-1;this.fraction=-1;this.era=-1},SetDate:function(n,t,i){this.Year=n;this.Month=t;this.Day=i},SetFailure:function(n,t,i){this.failure=n;this.failureMessageID=t;this.failureMessageFormatArgument=i},SetFailure$1:function(n,t,i,r){this.failure=n;this.failureMessageID=t;this.failureMessageFormatArgument=i;this.failureArgumentName=r},getHashCode:function(){return H5.addHash([5374321750,this.Year,this.Month,this.Day,this.Hour,this.Minute,this.Second,this.fraction,this.era,this.flags,this.timeZoneOffset,this.calendar,this.parsedDate,this.failure,this.failureMessageID,this.failureMessageFormatArgument,this.failureArgumentName])},equals:function(n){return H5.is(n,System.DateTimeResult)?H5.equals(this.Year,n.Year)&&H5.equals(this.Month,n.Month)&&H5.equals(this.Day,n.Day)&&H5.equals(this.Hour,n.Hour)&&H5.equals(this.Minute,n.Minute)&&H5.equals(this.Second,n.Second)&&H5.equals(this.fraction,n.fraction)&&H5.equals(this.era,n.era)&&H5.equals(this.flags,n.flags)&&H5.equals(this.timeZoneOffset,n.timeZoneOffset)&&H5.equals(this.calendar,n.calendar)&&H5.equals(this.parsedDate,n.parsedDate)&&H5.equals(this.failure,n.failure)&&H5.equals(this.failureMessageID,n.failureMessageID)&&H5.equals(this.failureMessageFormatArgument,n.failureMessageFormatArgument)&&H5.equals(this.failureArgumentName,n.failureArgumentName):!1},$clone:function(n){var t=n||new System.DateTimeResult;return t.Year=this.Year,t.Month=this.Month,t.Day=this.Day,t.Hour=this.Hour,t.Minute=this.Minute,t.Second=this.Second,t.fraction=this.fraction,t.era=this.era,t.flags=this.flags,t.timeZoneOffset=this.timeZoneOffset,t.calendar=this.calendar,t.parsedDate=this.parsedDate,t.failure=this.failure,t.failureMessageID=this.failureMessageID,t.failureMessageFormatArgument=this.failureMessageFormatArgument,t.failureArgumentName=this.failureArgumentName,t}}});H5.define("System.DayOfWeek",{$kind:"enum",statics:{fields:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6}}});H5.define("System.DBNull",{inherits:[System.Runtime.Serialization.ISerializable,System.IConvertible],statics:{fields:{Value:null},ctors:{init:function(){this.Value=new System.DBNull}}},alias:["ToString","System$IConvertible$ToString","GetTypeCode","System$IConvertible$GetTypeCode"],ctors:{ctor:function(){this.$initialize()}},methods:{toString:function(){return""},ToString:function(n){return""},GetTypeCode:function(){return System.TypeCode.DBNull},System$IConvertible$ToBoolean:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToChar:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToSByte:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToByte:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToInt16:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToUInt16:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToInt32:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToUInt32:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToInt64:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToUInt64:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToSingle:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToDouble:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToDecimal:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToDateTime:function(n){throw new System.InvalidCastException.$ctor1("Object cannot be cast from DBNull to other types.");},System$IConvertible$ToType:function(n,t){return System.Convert.defaultToType(H5.cast(this,System.IConvertible),n,t)}}});H5.define("System.Empty",{statics:{fields:{Value:null},ctors:{init:function(){this.Value=new System.Empty}}},ctors:{ctor:function(){this.$initialize()}},methods:{toString:function(){return""}}});H5.define("System.ApplicationException",{inherits:[System.Exception],ctors:{ctor:function(){this.$initialize();System.Exception.ctor.call(this,"Error in the application.");this.HResult=-2146232832},$ctor1:function(n){this.$initialize();System.Exception.ctor.call(this,n);this.HResult=-2146232832},$ctor2:function(n,t){this.$initialize();System.Exception.ctor.call(this,n,t);this.HResult=-2146232832}}});H5.define("System.ArgumentException",{inherits:[System.SystemException],fields:{_paramName:null},props:{Message:{get:function(){var n=H5.ensureBaseProperty(this,"Message").$System$Exception$Message,t;return System.String.isNullOrEmpty(this._paramName)?n:(t=System.SR.Format("Parameter name: {0}",this._paramName),(n||"")+"\n"+(t||""))}},ParamName:{get:function(){return this._paramName}}},ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Value does not fall within the expected range.");this.HResult=-2147024809},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147024809},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147024809},$ctor4:function(n,t,i){this.$initialize();System.SystemException.$ctor2.call(this,n,i);this._paramName=t;this.HResult=-2147024809},$ctor3:function(n,t){this.$initialize();System.SystemException.$ctor1.call(this,n);this._paramName=t;this.HResult=-2147024809}}});H5.define("System.ArgumentNullException",{inherits:[System.ArgumentException],ctors:{ctor:function(){this.$initialize();System.ArgumentException.$ctor1.call(this,"Value cannot be null.");this.HResult=-2147467261},$ctor1:function(n){this.$initialize();System.ArgumentException.$ctor3.call(this,"Value cannot be null.",n);this.HResult=-2147467261},$ctor2:function(n,t){this.$initialize();System.ArgumentException.$ctor2.call(this,n,t);this.HResult=-2147467261},$ctor3:function(n,t){this.$initialize();System.ArgumentException.$ctor3.call(this,t,n);this.HResult=-2147467261}}});H5.define("System.ArgumentOutOfRangeException",{inherits:[System.ArgumentException],fields:{_actualValue:null},props:{Message:{get:function(){var n=H5.ensureBaseProperty(this,"Message").$System$ArgumentException$Message,t;return this._actualValue!=null?(t=System.SR.Format("Actual value was {0}.",H5.toString(this._actualValue)),n==null)?t:(n||"")+"\n"+(t||""):n}},ActualValue:{get:function(){return this._actualValue}}},ctors:{ctor:function(){this.$initialize();System.ArgumentException.$ctor1.call(this,"Specified argument was out of the range of valid values.");this.HResult=-2146233086},$ctor1:function(n){this.$initialize();System.ArgumentException.$ctor3.call(this,"Specified argument was out of the range of valid values.",n);this.HResult=-2146233086},$ctor4:function(n,t){this.$initialize();System.ArgumentException.$ctor3.call(this,t,n);this.HResult=-2146233086},$ctor2:function(n,t){this.$initialize();System.ArgumentException.$ctor2.call(this,n,t);this.HResult=-2146233086},$ctor3:function(n,t,i){this.$initialize();System.ArgumentException.$ctor3.call(this,i,n);this._actualValue=t;this.HResult=-2146233086}}});H5.define("System.ArithmeticException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Overflow or underflow in the arithmetic operation.");this.HResult=-2147024362},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147024362},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147024362}}});H5.define("System.Base64FormattingOptions",{$kind:"enum",statics:{fields:{None:0,InsertLineBreaks:1}},$flags:!0});H5.define("System.DivideByZeroException",{inherits:[System.ArithmeticException],ctors:{ctor:function(){this.$initialize();System.ArithmeticException.$ctor1.call(this,"Attempted to divide by zero.");this.HResult=-2147352558},$ctor1:function(n){this.$initialize();System.ArithmeticException.$ctor1.call(this,n);this.HResult=-2147352558},$ctor2:function(n,t){this.$initialize();System.ArithmeticException.$ctor2.call(this,n,t);this.HResult=-2147352558}}});H5.define("System.ExceptionArgument",{$kind:"enum",statics:{fields:{obj:0,dictionary:1,array:2,info:3,key:4,collection:5,list:6,match:7,converter:8,capacity:9,index:10,startIndex:11,value:12,count:13,arrayIndex:14,$name:15,item:16,options:17,view:18,sourceBytesToCopy:19,action:20,comparison:21,offset:22,newSize:23,elementType:24,$length:25,length1:26,length2:27,length3:28,lengths:29,len:30,lowerBounds:31,sourceArray:32,destinationArray:33,sourceIndex:34,destinationIndex:35,indices:36,index1:37,index2:38,index3:39,other:40,comparer:41,endIndex:42,keys:43,creationOptions:44,timeout:45,tasks:46,scheduler:47,continuationFunction:48,millisecondsTimeout:49,millisecondsDelay:50,"function":51,exceptions:52,exception:53,cancellationToken:54,delay:55,asyncResult:56,endMethod:57,endFunction:58,beginMethod:59,continuationOptions:60,continuationAction:61,concurrencyLevel:62,text:63,callBack:64,type:65,stateMachine:66,pHandle:67,values:68,task:69,s:70,keyValuePair:71,input:72,ownedMemory:73,pointer:74,start:75,format:76,culture:77,comparable:78,source:79,state:80}}});H5.define("System.ExceptionResource",{$kind:"enum",statics:{fields:{Argument_ImplementIComparable:0,Argument_InvalidType:1,Argument_InvalidArgumentForComparison:2,Argument_InvalidRegistryKeyPermissionCheck:3,ArgumentOutOfRange_NeedNonNegNum:4,Arg_ArrayPlusOffTooSmall:5,Arg_NonZeroLowerBound:6,Arg_RankMultiDimNotSupported:7,Arg_RegKeyDelHive:8,Arg_RegKeyStrLenBug:9,Arg_RegSetStrArrNull:10,Arg_RegSetMismatchedKind:11,Arg_RegSubKeyAbsent:12,Arg_RegSubKeyValueAbsent:13,Argument_AddingDuplicate:14,Serialization_InvalidOnDeser:15,Serialization_MissingKeys:16,Serialization_NullKey:17,Argument_InvalidArrayType:18,NotSupported_KeyCollectionSet:19,NotSupported_ValueCollectionSet:20,ArgumentOutOfRange_SmallCapacity:21,ArgumentOutOfRange_Index:22,Argument_InvalidOffLen:23,Argument_ItemNotExist:24,ArgumentOutOfRange_Count:25,ArgumentOutOfRange_InvalidThreshold:26,ArgumentOutOfRange_ListInsert:27,NotSupported_ReadOnlyCollection:28,InvalidOperation_CannotRemoveFromStackOrQueue:29,InvalidOperation_EmptyQueue:30,InvalidOperation_EnumOpCantHappen:31,InvalidOperation_EnumFailedVersion:32,InvalidOperation_EmptyStack:33,ArgumentOutOfRange_BiggerThanCollection:34,InvalidOperation_EnumNotStarted:35,InvalidOperation_EnumEnded:36,NotSupported_SortedListNestedWrite:37,InvalidOperation_NoValue:38,InvalidOperation_RegRemoveSubKey:39,Security_RegistryPermission:40,UnauthorizedAccess_RegistryNoWrite:41,ObjectDisposed_RegKeyClosed:42,NotSupported_InComparableType:43,Argument_InvalidRegistryOptionsCheck:44,Argument_InvalidRegistryViewCheck:45,InvalidOperation_NullArray:46,Arg_MustBeType:47,Arg_NeedAtLeast1Rank:48,ArgumentOutOfRange_HugeArrayNotSupported:49,Arg_RanksAndBounds:50,Arg_RankIndices:51,Arg_Need1DArray:52,Arg_Need2DArray:53,Arg_Need3DArray:54,NotSupported_FixedSizeCollection:55,ArgumentException_OtherNotArrayOfCorrectLength:56,Rank_MultiDimNotSupported:57,InvalidOperation_IComparerFailed:58,ArgumentOutOfRange_EndIndexStartIndex:59,Arg_LowerBoundsMustMatch:60,Arg_BogusIComparer:61,Task_WaitMulti_NullTask:62,Task_ThrowIfDisposed:63,Task_Start_TaskCompleted:64,Task_Start_Promise:65,Task_Start_ContinuationTask:66,Task_Start_AlreadyStarted:67,Task_RunSynchronously_TaskCompleted:68,Task_RunSynchronously_Continuation:69,Task_RunSynchronously_Promise:70,Task_RunSynchronously_AlreadyStarted:71,Task_MultiTaskContinuation_NullTask:72,Task_MultiTaskContinuation_EmptyTaskList:73,Task_Dispose_NotCompleted:74,Task_Delay_InvalidMillisecondsDelay:75,Task_Delay_InvalidDelay:76,Task_ctor_LRandSR:77,Task_ContinueWith_NotOnAnything:78,Task_ContinueWith_ESandLR:79,TaskT_TransitionToFinal_AlreadyCompleted:80,TaskCompletionSourceT_TrySetException_NullException:81,TaskCompletionSourceT_TrySetException_NoExceptions:82,MemoryDisposed:83,Memory_OutstandingReferences:84,InvalidOperation_WrongAsyncResultOrEndCalledMultiple:85,ConcurrentDictionary_ConcurrencyLevelMustBePositive:86,ConcurrentDictionary_CapacityMustNotBeNegative:87,ConcurrentDictionary_TypeOfValueIncorrect:88,ConcurrentDictionary_TypeOfKeyIncorrect:89,ConcurrentDictionary_KeyAlreadyExisted:90,ConcurrentDictionary_ItemKeyIsNull:91,ConcurrentDictionary_IndexIsNegative:92,ConcurrentDictionary_ArrayNotLargeEnough:93,ConcurrentDictionary_ArrayIncorrectType:94,ConcurrentCollection_SyncRoot_NotSupported:95,ArgumentOutOfRange_Enum:96,InvalidOperation_HandleIsNotInitialized:97,AsyncMethodBuilder_InstanceNotInitialized:98,ArgumentNull_SafeHandle:99}}});H5.define("System.FormatException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"One of the identified items was in an invalid format.");this.HResult=-2146233033},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233033},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233033}}});H5.define("System.FormattableString",{inherits:[System.IFormattable],statics:{methods:{Invariant:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("formattable");return n.ToString(System.Globalization.CultureInfo.invariantCulture)}}},methods:{System$IFormattable$format:function(n,t){return this.ToString(t)},toString:function(){return this.ToString(System.Globalization.CultureInfo.getCurrentCulture())}}});H5.define("System.Runtime.CompilerServices.FormattableStringFactory.ConcreteFormattableString",{inherits:[System.FormattableString],$kind:"nested class",fields:{_format:null,_arguments:null},props:{Format:{get:function(){return this._format}},ArgumentCount:{get:function(){return this._arguments.length}}},ctors:{ctor:function(n,t){this.$initialize();System.FormattableString.ctor.call(this);this._format=n;this._arguments=t}},methods:{GetArguments:function(){return this._arguments},GetArgument:function(n){return this._arguments[System.Array.index(n,this._arguments)]},ToString:function(n){return System.String.formatProvider.apply(System.String,[n,this._format].concat(this._arguments))}}});H5.define("System.Runtime.CompilerServices.FormattableStringFactory",{statics:{methods:{Create:function(n,t){if(t===void 0&&(t=[]),n==null)throw new System.ArgumentNullException.$ctor1("format");if(t==null)throw new System.ArgumentNullException.$ctor1("arguments");return new System.Runtime.CompilerServices.FormattableStringFactory.ConcreteFormattableString(n,t)}}}});H5.define("System.Guid",{inherits:function(){return[System.IEquatable$1(System.Guid),System.IComparable$1(System.Guid),System.IFormattable]},$kind:"struct",statics:{fields:{error1:null,Valid:null,Split:null,NonFormat:null,Replace:null,Rnd:null,Empty:null},ctors:{init:function(){this.Empty=new System.Guid;this.error1="Byte array for GUID must be exactly {0} bytes long";this.Valid=new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i");this.Split=new RegExp("^(.{8})(.{4})(.{4})(.{4})(.{12})$");this.NonFormat=new RegExp("^[{(]?([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})[)}]?$","i");this.Replace=new RegExp("-","g");this.Rnd=new System.Random.ctor}},methods:{Parse:function(n){return System.Guid.ParseExact(n,null)},ParseExact:function(n,t){var i=new System.Guid.ctor;return i.ParseInternal(n,t,!0),i},TryParse:function(n,t){return System.Guid.TryParseExact(n,null,t)},TryParseExact:function(n,t,i){return i.v=new System.Guid.ctor,i.v.ParseInternal(n,t,!1)},NewGuid:function(){var n=System.Array.init(16,0,System.Byte);return System.Guid.Rnd.NextBytes(n),n[System.Array.index(7,n)]=(n[System.Array.index(7,n)]&15|64)&255,n[System.Array.index(8,n)]=(n[System.Array.index(8,n)]&191|128)&255,new System.Guid.$ctor1(n)},ToHex$1:function(n,t){var i=n.toString(16),r;for(t=t-i.length|0,r=0;r<t;r=r+1|0)i="0"+(i||"");return i},ToHex:function(n){var t=n.toString(16);return t.length===1&&(t="0"+(t||"")),t},op_Equality:function(n,t){return H5.referenceEquals(n,null)?H5.referenceEquals(t,null):n.equalsT(t)},op_Inequality:function(n,t){return!System.Guid.op_Equality(n,t)},getDefaultValue:function(){return new System.Guid}}},fields:{_a:0,_b:0,_c:0,_d:0,_e:0,_f:0,_g:0,_h:0,_i:0,_j:0,_k:0},alias:["equalsT","System$IEquatable$1$System$Guid$equalsT","compareTo",["System$IComparable$1$System$Guid$compareTo","System$IComparable$1$compareTo"],"format","System$IFormattable$format"],ctors:{$ctor4:function(n){this.$initialize();(new System.Guid.ctor).$clone(this);this.ParseInternal(n,null,!0)},$ctor1:function(n){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("b");if(n.length!==16)throw new System.ArgumentException.$ctor1(System.String.format(System.Guid.error1,[H5.box(16,System.Int32)]));this._a=n[System.Array.index(3,n)]<<24|n[System.Array.index(2,n)]<<16|n[System.Array.index(1,n)]<<8|n[System.Array.index(0,n)];this._b=H5.Int.sxs((n[System.Array.index(5,n)]<<8|n[System.Array.index(4,n)])&65535);this._c=H5.Int.sxs((n[System.Array.index(7,n)]<<8|n[System.Array.index(6,n)])&65535);this._d=n[System.Array.index(8,n)];this._e=n[System.Array.index(9,n)];this._f=n[System.Array.index(10,n)];this._g=n[System.Array.index(11,n)];this._h=n[System.Array.index(12,n)];this._i=n[System.Array.index(13,n)];this._j=n[System.Array.index(14,n)];this._k=n[System.Array.index(15,n)]},$ctor5:function(n,t,i,r,u,f,e,o,s,h,c){this.$initialize();this._a=n|0;this._b=H5.Int.sxs(t&65535);this._c=H5.Int.sxs(i&65535);this._d=r;this._e=u;this._f=f;this._g=e;this._h=o;this._i=s;this._j=h;this._k=c},$ctor3:function(n,t,i,r){if(this.$initialize(),r==null)throw new System.ArgumentNullException.$ctor1("d");if(r.length!==8)throw new System.ArgumentException.$ctor1(System.String.format(System.Guid.error1,[H5.box(8,System.Int32)]));this._a=n;this._b=t;this._c=i;this._d=r[System.Array.index(0,r)];this._e=r[System.Array.index(1,r)];this._f=r[System.Array.index(2,r)];this._g=r[System.Array.index(3,r)];this._h=r[System.Array.index(4,r)];this._i=r[System.Array.index(5,r)];this._j=r[System.Array.index(6,r)];this._k=r[System.Array.index(7,r)]},$ctor2:function(n,t,i,r,u,f,e,o,s,h,c){this.$initialize();this._a=n;this._b=t;this._c=i;this._d=r;this._e=u;this._f=f;this._g=e;this._h=o;this._i=s;this._j=h;this._k=c},ctor:function(){this.$initialize()}},methods:{getHashCode:function(){return this._a^(this._b<<16|this._c&65535)^(this._f<<24|this._k)},equals:function(n){return H5.is(n,System.Guid)?this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(n,System.Guid),System.Guid))):!1},equalsT:function(n){return this._a!==n._a||this._b!==n._b||this._c!==n._c||this._d!==n._d||this._e!==n._e||this._f!==n._f||this._g!==n._g||this._h!==n._h||this._i!==n._i||this._j!==n._j||this._k!==n._k?!1:!0},compareTo:function(n){return System.String.compare(this.toString(),n.toString())},toString:function(){return this.Format(null)},ToString:function(n){return this.Format(n)},format:function(n,t){return this.Format(n)},ToByteArray:function(){var n=System.Array.init(16,0,System.Byte);return n[System.Array.index(0,n)]=this._a&255,n[System.Array.index(1,n)]=this._a>>8&255,n[System.Array.index(2,n)]=this._a>>16&255,n[System.Array.index(3,n)]=this._a>>24&255,n[System.Array.index(4,n)]=this._b&255,n[System.Array.index(5,n)]=this._b>>8&255,n[System.Array.index(6,n)]=this._c&255,n[System.Array.index(7,n)]=this._c>>8&255,n[System.Array.index(8,n)]=this._d,n[System.Array.index(9,n)]=this._e,n[System.Array.index(10,n)]=this._f,n[System.Array.index(11,n)]=this._g,n[System.Array.index(12,n)]=this._h,n[System.Array.index(13,n)]=this._i,n[System.Array.index(14,n)]=this._j,n[System.Array.index(15,n)]=this._k,n},ParseInternal:function(n,t,i){var h=null,f,c,r,e,o,l,u,s;if(System.String.isNullOrEmpty(n)){if(i)throw new System.ArgumentNullException.$ctor1("input");return!1}if(System.String.isNullOrEmpty(t)){if(f=System.Guid.NonFormat.exec(n),f!=null){for(c=new(System.Collections.Generic.List$1(System.String).ctor),r=1;r<=f.length;r=r+1|0)f[r]!=null&&c.add(f[r]);h=c.ToArray().join("-").toLowerCase()}}else{if(t=t.toUpperCase(),e=!1,H5.referenceEquals(t,"N")){if(o=System.Guid.Split.exec(n),o!=null){for(l=new(System.Collections.Generic.List$1(System.String).ctor),u=1;u<=o.length;u=u+1|0)o[u]!=null&&l.add(o[u]);e=!0;n=l.ToArray().join("-")}}else H5.referenceEquals(t,"B")||H5.referenceEquals(t,"P")?(s=H5.referenceEquals(t,"B")?System.Array.init([123,125],System.Char):System.Array.init([40,41],System.Char),n.charCodeAt(0)===s[System.Array.index(0,s)]&&n.charCodeAt(n.length-1|0)===s[System.Array.index(1,s)]&&(e=!0,n=n.substr(1,n.length-2|0))):e=!0;e&&System.Guid.Valid.test(n)&&(h=n.toLowerCase())}if(h!=null)return this.FromString(h),!0;if(i)throw new System.FormatException.$ctor1("input is not in a recognized format");return!1},Format:function(n){var t=(System.Guid.ToHex$1(this._a>>>0,8)||"")+(System.Guid.ToHex$1(this._b&65535,4)||"")+(System.Guid.ToHex$1(this._c&65535,4)||""),i,u,r;for(t=(t||"")+(System.Array.init([this._d,this._e,this._f,this._g,this._h,this._i,this._j,this._k],System.Byte).map(System.Guid.ToHex).join("")||""),i=/^(.{8})(.{4})(.{4})(.{4})(.{12})$/.exec(t),u=System.Array.init(0,null,System.String),r=1;r<i.length;r=r+1|0)i[System.Array.index(r,i)]!=null&&u.push(i[System.Array.index(r,i)]);t=u.join("-");switch(n){case"n":case"N":return t.replace(System.Guid.Replace,"");case"b":case"B":return String.fromCharCode(123)+(t||"")+String.fromCharCode(125);case"p":case"P":return String.fromCharCode(40)+(t||"")+String.fromCharCode(41);default:return t}},FromString:function(n){var t,i;if(!System.String.isNullOrEmpty(n)){for(n=n.replace(System.Guid.Replace,""),t=System.Array.init(8,0,System.Byte),this._a=System.UInt32.parse(n.substr(0,8),16)|0,this._b=H5.Int.sxs(System.UInt16.parse(n.substr(8,4),16)&65535),this._c=H5.Int.sxs(System.UInt16.parse(n.substr(12,4),16)&65535),i=8;i<16;i=i+1|0)t[System.Array.index(i-8|0,t)]=System.Byte.parse(n.substr(H5.Int.mul(i,2),2),16);this._d=t[System.Array.index(0,t)];this._e=t[System.Array.index(1,t)];this._f=t[System.Array.index(2,t)];this._g=t[System.Array.index(3,t)];this._h=t[System.Array.index(4,t)];this._i=t[System.Array.index(5,t)];this._j=t[System.Array.index(6,t)];this._k=t[System.Array.index(7,t)]}},toJSON:function(){return this.toString()},$clone:function(n){return this}}});H5.define("System.ITupleInternal",{$kind:"interface"});H5.define("System.Tuple");H5.define("System.Tuple$1",function(n){return{}});H5.define("System.Tuple$2",function(n,t){return{}});H5.define("System.Tuple$3",function(n,t,i){return{}});H5.define("System.Tuple$4",function(n,t,i,r){return{}});H5.define("System.Tuple$5",function(n,t,i,r,u){return{}});H5.define("System.Tuple$6",function(n,t,i,r,u,f){return{}});H5.define("System.Tuple$7",function(n,t,i,r,u,f,e){return{}});H5.define("System.Tuple$8",function(n,t,i,r,u,f,e,o){return{}});H5.define("System.ValueTuple",{inherits:function(){return[System.IEquatable$1(System.ValueTuple),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple)]},$kind:"struct",statics:{methods:{Create:function(){return new System.ValueTuple},Create$1:function(n,t){return new(System.ValueTuple$1(n).$ctor1)(t)},Create$2:function(n,t,i,r){return new(System.ValueTuple$2(n,t).$ctor1)(i,r)},Create$3:function(n,t,i,r,u,f){return new(System.ValueTuple$3(n,t,i).$ctor1)(r,u,f)},Create$4:function(n,t,i,r,u,f,e,o){return new(System.ValueTuple$4(n,t,i,r).$ctor1)(u,f,e,o)},Create$5:function(n,t,i,r,u,f,e,o,s,h){return new(System.ValueTuple$5(n,t,i,r,u).$ctor1)(f,e,o,s,h)},Create$6:function(n,t,i,r,u,f,e,o,s,h,c,l){return new(System.ValueTuple$6(n,t,i,r,u,f).$ctor1)(e,o,s,h,c,l)},Create$7:function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){return new(System.ValueTuple$7(n,t,i,r,u,f,e).$ctor1)(o,s,h,c,l,a,v)},Create$8:function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){return new(System.ValueTuple$8(n,t,i,r,u,f,e,System.ValueTuple$1(o)).$ctor1)(s,h,c,l,a,v,y,System.ValueTuple.Create$1(o,p))},CombineHashCodes:function(n,t){return System.Collections.HashHelpers.Combine(System.Collections.HashHelpers.Combine(System.Collections.HashHelpers.RandomSeed,n),t)},CombineHashCodes$1:function(n,t,i){return System.Collections.HashHelpers.Combine(System.ValueTuple.CombineHashCodes(n,t),i)},CombineHashCodes$2:function(n,t,i,r){return System.Collections.HashHelpers.Combine(System.ValueTuple.CombineHashCodes$1(n,t,i),r)},CombineHashCodes$3:function(n,t,i,r,u){return System.Collections.HashHelpers.Combine(System.ValueTuple.CombineHashCodes$2(n,t,i,r),u)},CombineHashCodes$4:function(n,t,i,r,u,f){return System.Collections.HashHelpers.Combine(System.ValueTuple.CombineHashCodes$3(n,t,i,r,u),f)},CombineHashCodes$5:function(n,t,i,r,u,f,e){return System.Collections.HashHelpers.Combine(System.ValueTuple.CombineHashCodes$4(n,t,i,r,u,f),e)},CombineHashCodes$6:function(n,t,i,r,u,f,e,o){return System.Collections.HashHelpers.Combine(System.ValueTuple.CombineHashCodes$5(n,t,i,r,u,f,e),o)},getDefaultValue:function(){return new System.ValueTuple}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$compareTo","System$IComparable$1$compareTo"]],ctors:{ctor:function(){this.$initialize()}},methods:{equals:function(n){return H5.is(n,System.ValueTuple)},equalsT:function(n){return!0},System$Collections$IStructuralEquatable$Equals:function(n,t){return H5.is(n,System.ValueTuple)},System$IComparable$compareTo:function(n){if(n==null)return 1;if(!H5.is(n,System.ValueTuple))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return 0},compareTo:function(n){return 0},System$Collections$IStructuralComparable$CompareTo:function(n,t){if(n==null)return 1;if(!H5.is(n,System.ValueTuple))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return 0},getHashCode:function(){return 0},System$Collections$IStructuralEquatable$GetHashCode:function(n){return 0},toString:function(){return"()"},$clone:function(n){return this}}});H5.define("System.ValueTuple$1",function(n){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$1(n)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$1(n)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$1(n))}}},fields:{Item1:H5.getDefaultValue(n)},props:{System$ITupleInternal$Size:{get:function(){return 1}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$1$"+H5.getTypeAlias(n)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$1$"+H5.getTypeAlias(n)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n){this.$initialize();this.Item1=n},ctor:function(){this.$initialize()}},methods:{equals:function(t){return H5.is(t,System.ValueTuple$1(n))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(t,System.ValueTuple$1(n)),System.ValueTuple$1(n))))},equalsT:function(t){return System.ValueTuple$1(n).s_t1Comparer.equals2(this.Item1,t.Item1)},System$Collections$IStructuralEquatable$Equals:function(t,i){if(t==null||!H5.is(t,System.ValueTuple$1(n)))return!1;var r=System.Nullable.getValue(H5.cast(H5.unbox(t,System.ValueTuple$1(n)),System.ValueTuple$1(n)));return i.System$Collections$IEqualityComparer$equals(this.Item1,r.Item1)},System$IComparable$compareTo:function(t){if(t==null)return 1;if(!H5.is(t,System.ValueTuple$1(n)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var i=System.Nullable.getValue(H5.cast(H5.unbox(t,System.ValueTuple$1(n)),System.ValueTuple$1(n)));return new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,i.Item1)},compareTo:function(t){return new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,t.Item1)},System$Collections$IStructuralComparable$CompareTo:function(t,i){if(t==null)return 1;if(!H5.is(t,System.ValueTuple$1(n)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var r=System.Nullable.getValue(H5.cast(H5.unbox(t,System.ValueTuple$1(n)),System.ValueTuple$1(n)));return i.System$Collections$IComparer$compare(this.Item1,r.Item1)},getHashCode:function(){return System.ValueTuple$1(n).s_t1Comparer.getHashCode2(this.Item1)},System$Collections$IStructuralEquatable$GetHashCode:function(n){return n.System$Collections$IEqualityComparer$getHashCode(this.Item1)},System$ITupleInternal$GetHashCode:function(n){return n.System$Collections$IEqualityComparer$getHashCode(this.Item1)},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+")"},$clone:function(t){var i=t||new(System.ValueTuple$1(n));return i.Item1=this.Item1,i}}}});H5.define("System.ValueTuple$2",function(n,t){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$2(n,t)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$2(n,t)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$2(n,t))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t)},props:{System$ITupleInternal$Size:{get:function(){return 2}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$2$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t){this.$initialize();this.Item1=n;this.Item2=t},ctor:function(){this.$initialize()}},methods:{equals:function(i){return H5.is(i,System.ValueTuple$2(n,t))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(i,System.ValueTuple$2(n,t)),System.ValueTuple$2(n,t))))},equalsT:function(i){return System.ValueTuple$2(n,t).s_t1Comparer.equals2(this.Item1,i.Item1)&&System.ValueTuple$2(n,t).s_t2Comparer.equals2(this.Item2,i.Item2)},System$Collections$IStructuralEquatable$Equals:function(i,r){if(i==null||!H5.is(i,System.ValueTuple$2(n,t)))return!1;var u=System.Nullable.getValue(H5.cast(H5.unbox(i,System.ValueTuple$2(n,t)),System.ValueTuple$2(n,t)));return r.System$Collections$IEqualityComparer$equals(this.Item1,u.Item1)&&r.System$Collections$IEqualityComparer$equals(this.Item2,u.Item2)},System$IComparable$compareTo:function(i){if(i==null)return 1;if(!H5.is(i,System.ValueTuple$2(n,t)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(i,System.ValueTuple$2(n,t)),System.ValueTuple$2(n,t))))},compareTo:function(i){var r=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,i.Item1);return r!==0?r:new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,i.Item2)},System$Collections$IStructuralComparable$CompareTo:function(i,r){if(i==null)return 1;if(!H5.is(i,System.ValueTuple$2(n,t)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var u=System.Nullable.getValue(H5.cast(H5.unbox(i,System.ValueTuple$2(n,t)),System.ValueTuple$2(n,t))),f=r.System$Collections$IComparer$compare(this.Item1,u.Item1);return f!==0?f:r.System$Collections$IComparer$compare(this.Item2,u.Item2)},getHashCode:function(){return System.ValueTuple.CombineHashCodes(System.ValueTuple$2(n,t).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$2(n,t).s_t2Comparer.getHashCode2(this.Item2))},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){return System.ValueTuple.CombineHashCodes(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2))},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+")"},$clone:function(i){var r=i||new(System.ValueTuple$2(n,t));return r.Item1=this.Item1,r.Item2=this.Item2,r}}}});H5.define("System.ValueTuple$3",function(n,t,i){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$3(n,t,i)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$3(n,t,i)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}},s_t3Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(i).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$3(n,t,i))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t),Item3:H5.getDefaultValue(i)},props:{System$ITupleInternal$Size:{get:function(){return 3}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$3$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$3$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t,i){this.$initialize();this.Item1=n;this.Item2=t;this.Item3=i},ctor:function(){this.$initialize()}},methods:{equals:function(r){return H5.is(r,System.ValueTuple$3(n,t,i))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(r,System.ValueTuple$3(n,t,i)),System.ValueTuple$3(n,t,i))))},equalsT:function(r){return System.ValueTuple$3(n,t,i).s_t1Comparer.equals2(this.Item1,r.Item1)&&System.ValueTuple$3(n,t,i).s_t2Comparer.equals2(this.Item2,r.Item2)&&System.ValueTuple$3(n,t,i).s_t3Comparer.equals2(this.Item3,r.Item3)},System$Collections$IStructuralEquatable$Equals:function(r,u){if(r==null||!H5.is(r,System.ValueTuple$3(n,t,i)))return!1;var f=System.Nullable.getValue(H5.cast(H5.unbox(r,System.ValueTuple$3(n,t,i)),System.ValueTuple$3(n,t,i)));return u.System$Collections$IEqualityComparer$equals(this.Item1,f.Item1)&&u.System$Collections$IEqualityComparer$equals(this.Item2,f.Item2)&&u.System$Collections$IEqualityComparer$equals(this.Item3,f.Item3)},System$IComparable$compareTo:function(r){if(r==null)return 1;if(!H5.is(r,System.ValueTuple$3(n,t,i)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(r,System.ValueTuple$3(n,t,i)),System.ValueTuple$3(n,t,i))))},compareTo:function(r){var u=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,r.Item1);return u!==0?u:(u=new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,r.Item2),u!==0)?u:new(System.Collections.Generic.Comparer$1(i))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item3,r.Item3)},System$Collections$IStructuralComparable$CompareTo:function(r,u){if(r==null)return 1;if(!H5.is(r,System.ValueTuple$3(n,t,i)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var e=System.Nullable.getValue(H5.cast(H5.unbox(r,System.ValueTuple$3(n,t,i)),System.ValueTuple$3(n,t,i))),f=u.System$Collections$IComparer$compare(this.Item1,e.Item1);return f!==0?f:(f=u.System$Collections$IComparer$compare(this.Item2,e.Item2),f!==0)?f:u.System$Collections$IComparer$compare(this.Item3,e.Item3)},getHashCode:function(){return System.ValueTuple.CombineHashCodes$1(System.ValueTuple$3(n,t,i).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$3(n,t,i).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$3(n,t,i).s_t3Comparer.getHashCode2(this.Item3))},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){return System.ValueTuple.CombineHashCodes$1(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3))},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+")"},$clone:function(r){var u=r||new(System.ValueTuple$3(n,t,i));return u.Item1=this.Item1,u.Item2=this.Item2,u.Item3=this.Item3,u}}}});H5.define("System.ValueTuple$4",function(n,t,i,r){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$4(n,t,i,r)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$4(n,t,i,r)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}},s_t3Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(i).def}},s_t4Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(r).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$4(n,t,i,r))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t),Item3:H5.getDefaultValue(i),Item4:H5.getDefaultValue(r)},props:{System$ITupleInternal$Size:{get:function(){return 4}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$4$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$4$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t,i,r){this.$initialize();this.Item1=n;this.Item2=t;this.Item3=i;this.Item4=r},ctor:function(){this.$initialize()}},methods:{equals:function(u){return H5.is(u,System.ValueTuple$4(n,t,i,r))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(u,System.ValueTuple$4(n,t,i,r)),System.ValueTuple$4(n,t,i,r))))},equalsT:function(u){return System.ValueTuple$4(n,t,i,r).s_t1Comparer.equals2(this.Item1,u.Item1)&&System.ValueTuple$4(n,t,i,r).s_t2Comparer.equals2(this.Item2,u.Item2)&&System.ValueTuple$4(n,t,i,r).s_t3Comparer.equals2(this.Item3,u.Item3)&&System.ValueTuple$4(n,t,i,r).s_t4Comparer.equals2(this.Item4,u.Item4)},System$Collections$IStructuralEquatable$Equals:function(u,f){if(u==null||!H5.is(u,System.ValueTuple$4(n,t,i,r)))return!1;var e=System.Nullable.getValue(H5.cast(H5.unbox(u,System.ValueTuple$4(n,t,i,r)),System.ValueTuple$4(n,t,i,r)));return f.System$Collections$IEqualityComparer$equals(this.Item1,e.Item1)&&f.System$Collections$IEqualityComparer$equals(this.Item2,e.Item2)&&f.System$Collections$IEqualityComparer$equals(this.Item3,e.Item3)&&f.System$Collections$IEqualityComparer$equals(this.Item4,e.Item4)},System$IComparable$compareTo:function(u){if(u==null)return 1;if(!H5.is(u,System.ValueTuple$4(n,t,i,r)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(u,System.ValueTuple$4(n,t,i,r)),System.ValueTuple$4(n,t,i,r))))},compareTo:function(u){var f=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,u.Item1);return f!==0?f:(f=new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,u.Item2),f!==0)?f:(f=new(System.Collections.Generic.Comparer$1(i))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item3,u.Item3),f!==0)?f:new(System.Collections.Generic.Comparer$1(r))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item4,u.Item4)},System$Collections$IStructuralComparable$CompareTo:function(u,f){if(u==null)return 1;if(!H5.is(u,System.ValueTuple$4(n,t,i,r)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var o=System.Nullable.getValue(H5.cast(H5.unbox(u,System.ValueTuple$4(n,t,i,r)),System.ValueTuple$4(n,t,i,r))),e=f.System$Collections$IComparer$compare(this.Item1,o.Item1);return e!==0?e:(e=f.System$Collections$IComparer$compare(this.Item2,o.Item2),e!==0)?e:(e=f.System$Collections$IComparer$compare(this.Item3,o.Item3),e!==0)?e:f.System$Collections$IComparer$compare(this.Item4,o.Item4)},getHashCode:function(){return System.ValueTuple.CombineHashCodes$2(System.ValueTuple$4(n,t,i,r).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$4(n,t,i,r).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$4(n,t,i,r).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$4(n,t,i,r).s_t4Comparer.getHashCode2(this.Item4))},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){return System.ValueTuple.CombineHashCodes$2(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4))},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+")"},$clone:function(u){var f=u||new(System.ValueTuple$4(n,t,i,r));return f.Item1=this.Item1,f.Item2=this.Item2,f.Item3=this.Item3,f.Item4=this.Item4,f}}}});H5.define("System.ValueTuple$5",function(n,t,i,r,u){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$5(n,t,i,r,u)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$5(n,t,i,r,u)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}},s_t3Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(i).def}},s_t4Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(r).def}},s_t5Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(u).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$5(n,t,i,r,u))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t),Item3:H5.getDefaultValue(i),Item4:H5.getDefaultValue(r),Item5:H5.getDefaultValue(u)},props:{System$ITupleInternal$Size:{get:function(){return 5}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$5$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$5$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t,i,r,u){this.$initialize();this.Item1=n;this.Item2=t;this.Item3=i;this.Item4=r;this.Item5=u},ctor:function(){this.$initialize()}},methods:{equals:function(f){return H5.is(f,System.ValueTuple$5(n,t,i,r,u))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(f,System.ValueTuple$5(n,t,i,r,u)),System.ValueTuple$5(n,t,i,r,u))))},equalsT:function(f){return System.ValueTuple$5(n,t,i,r,u).s_t1Comparer.equals2(this.Item1,f.Item1)&&System.ValueTuple$5(n,t,i,r,u).s_t2Comparer.equals2(this.Item2,f.Item2)&&System.ValueTuple$5(n,t,i,r,u).s_t3Comparer.equals2(this.Item3,f.Item3)&&System.ValueTuple$5(n,t,i,r,u).s_t4Comparer.equals2(this.Item4,f.Item4)&&System.ValueTuple$5(n,t,i,r,u).s_t5Comparer.equals2(this.Item5,f.Item5)},System$Collections$IStructuralEquatable$Equals:function(f,e){if(f==null||!H5.is(f,System.ValueTuple$5(n,t,i,r,u)))return!1;var o=System.Nullable.getValue(H5.cast(H5.unbox(f,System.ValueTuple$5(n,t,i,r,u)),System.ValueTuple$5(n,t,i,r,u)));return e.System$Collections$IEqualityComparer$equals(this.Item1,o.Item1)&&e.System$Collections$IEqualityComparer$equals(this.Item2,o.Item2)&&e.System$Collections$IEqualityComparer$equals(this.Item3,o.Item3)&&e.System$Collections$IEqualityComparer$equals(this.Item4,o.Item4)&&e.System$Collections$IEqualityComparer$equals(this.Item5,o.Item5)},System$IComparable$compareTo:function(f){if(f==null)return 1;if(!H5.is(f,System.ValueTuple$5(n,t,i,r,u)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(f,System.ValueTuple$5(n,t,i,r,u)),System.ValueTuple$5(n,t,i,r,u))))},compareTo:function(f){var e=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,f.Item1);return e!==0?e:(e=new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,f.Item2),e!==0)?e:(e=new(System.Collections.Generic.Comparer$1(i))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item3,f.Item3),e!==0)?e:(e=new(System.Collections.Generic.Comparer$1(r))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item4,f.Item4),e!==0)?e:new(System.Collections.Generic.Comparer$1(u))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item5,f.Item5)},System$Collections$IStructuralComparable$CompareTo:function(f,e){if(f==null)return 1;if(!H5.is(f,System.ValueTuple$5(n,t,i,r,u)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var s=System.Nullable.getValue(H5.cast(H5.unbox(f,System.ValueTuple$5(n,t,i,r,u)),System.ValueTuple$5(n,t,i,r,u))),o=e.System$Collections$IComparer$compare(this.Item1,s.Item1);return o!==0?o:(o=e.System$Collections$IComparer$compare(this.Item2,s.Item2),o!==0)?o:(o=e.System$Collections$IComparer$compare(this.Item3,s.Item3),o!==0)?o:(o=e.System$Collections$IComparer$compare(this.Item4,s.Item4),o!==0)?o:e.System$Collections$IComparer$compare(this.Item5,s.Item5)},getHashCode:function(){return System.ValueTuple.CombineHashCodes$3(System.ValueTuple$5(n,t,i,r,u).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$5(n,t,i,r,u).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$5(n,t,i,r,u).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$5(n,t,i,r,u).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$5(n,t,i,r,u).s_t5Comparer.getHashCode2(this.Item5))},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){return System.ValueTuple.CombineHashCodes$3(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5))},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+")"},$clone:function(f){var e=f||new(System.ValueTuple$5(n,t,i,r,u));return e.Item1=this.Item1,e.Item2=this.Item2,e.Item3=this.Item3,e.Item4=this.Item4,e.Item5=this.Item5,e}}}});H5.define("System.ValueTuple$6",function(n,t,i,r,u,f){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$6(n,t,i,r,u,f)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$6(n,t,i,r,u,f)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}},s_t3Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(i).def}},s_t4Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(r).def}},s_t5Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(u).def}},s_t6Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(f).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$6(n,t,i,r,u,f))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t),Item3:H5.getDefaultValue(i),Item4:H5.getDefaultValue(r),Item5:H5.getDefaultValue(u),Item6:H5.getDefaultValue(f)},props:{System$ITupleInternal$Size:{get:function(){return 6}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$6$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$"+H5.getTypeAlias(f)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$6$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$"+H5.getTypeAlias(f)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t,i,r,u,f){this.$initialize();this.Item1=n;this.Item2=t;this.Item3=i;this.Item4=r;this.Item5=u;this.Item6=f},ctor:function(){this.$initialize()}},methods:{equals:function(e){return H5.is(e,System.ValueTuple$6(n,t,i,r,u,f))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(e,System.ValueTuple$6(n,t,i,r,u,f)),System.ValueTuple$6(n,t,i,r,u,f))))},equalsT:function(e){return System.ValueTuple$6(n,t,i,r,u,f).s_t1Comparer.equals2(this.Item1,e.Item1)&&System.ValueTuple$6(n,t,i,r,u,f).s_t2Comparer.equals2(this.Item2,e.Item2)&&System.ValueTuple$6(n,t,i,r,u,f).s_t3Comparer.equals2(this.Item3,e.Item3)&&System.ValueTuple$6(n,t,i,r,u,f).s_t4Comparer.equals2(this.Item4,e.Item4)&&System.ValueTuple$6(n,t,i,r,u,f).s_t5Comparer.equals2(this.Item5,e.Item5)&&System.ValueTuple$6(n,t,i,r,u,f).s_t6Comparer.equals2(this.Item6,e.Item6)},System$Collections$IStructuralEquatable$Equals:function(e,o){if(e==null||!H5.is(e,System.ValueTuple$6(n,t,i,r,u,f)))return!1;var s=System.Nullable.getValue(H5.cast(H5.unbox(e,System.ValueTuple$6(n,t,i,r,u,f)),System.ValueTuple$6(n,t,i,r,u,f)));return o.System$Collections$IEqualityComparer$equals(this.Item1,s.Item1)&&o.System$Collections$IEqualityComparer$equals(this.Item2,s.Item2)&&o.System$Collections$IEqualityComparer$equals(this.Item3,s.Item3)&&o.System$Collections$IEqualityComparer$equals(this.Item4,s.Item4)&&o.System$Collections$IEqualityComparer$equals(this.Item5,s.Item5)&&o.System$Collections$IEqualityComparer$equals(this.Item6,s.Item6)},System$IComparable$compareTo:function(e){if(e==null)return 1;if(!H5.is(e,System.ValueTuple$6(n,t,i,r,u,f)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(e,System.ValueTuple$6(n,t,i,r,u,f)),System.ValueTuple$6(n,t,i,r,u,f))))},compareTo:function(e){var o=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,e.Item1);return o!==0?o:(o=new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,e.Item2),o!==0)?o:(o=new(System.Collections.Generic.Comparer$1(i))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item3,e.Item3),o!==0)?o:(o=new(System.Collections.Generic.Comparer$1(r))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item4,e.Item4),o!==0)?o:(o=new(System.Collections.Generic.Comparer$1(u))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item5,e.Item5),o!==0)?o:new(System.Collections.Generic.Comparer$1(f))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item6,e.Item6)},System$Collections$IStructuralComparable$CompareTo:function(e,o){if(e==null)return 1;if(!H5.is(e,System.ValueTuple$6(n,t,i,r,u,f)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var h=System.Nullable.getValue(H5.cast(H5.unbox(e,System.ValueTuple$6(n,t,i,r,u,f)),System.ValueTuple$6(n,t,i,r,u,f))),s=o.System$Collections$IComparer$compare(this.Item1,h.Item1);return s!==0?s:(s=o.System$Collections$IComparer$compare(this.Item2,h.Item2),s!==0)?s:(s=o.System$Collections$IComparer$compare(this.Item3,h.Item3),s!==0)?s:(s=o.System$Collections$IComparer$compare(this.Item4,h.Item4),s!==0)?s:(s=o.System$Collections$IComparer$compare(this.Item5,h.Item5),s!==0)?s:o.System$Collections$IComparer$compare(this.Item6,h.Item6)},getHashCode:function(){return System.ValueTuple.CombineHashCodes$4(System.ValueTuple$6(n,t,i,r,u,f).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$6(n,t,i,r,u,f).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$6(n,t,i,r,u,f).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$6(n,t,i,r,u,f).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$6(n,t,i,r,u,f).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$6(n,t,i,r,u,f).s_t6Comparer.getHashCode2(this.Item6))},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){return System.ValueTuple.CombineHashCodes$4(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6))},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+")"},$clone:function(e){var o=e||new(System.ValueTuple$6(n,t,i,r,u,f));return o.Item1=this.Item1,o.Item2=this.Item2,o.Item3=this.Item3,o.Item4=this.Item4,o.Item5=this.Item5,o.Item6=this.Item6,o}}}});H5.define("System.ValueTuple$7",function(n,t,i,r,u,f,e){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$7(n,t,i,r,u,f,e)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$7(n,t,i,r,u,f,e)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}},s_t3Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(i).def}},s_t4Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(r).def}},s_t5Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(u).def}},s_t6Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(f).def}},s_t7Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(e).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$7(n,t,i,r,u,f,e))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t),Item3:H5.getDefaultValue(i),Item4:H5.getDefaultValue(r),Item5:H5.getDefaultValue(u),Item6:H5.getDefaultValue(f),Item7:H5.getDefaultValue(e)},props:{System$ITupleInternal$Size:{get:function(){return 7}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$7$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$"+H5.getTypeAlias(f)+"$"+H5.getTypeAlias(e)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$7$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$"+H5.getTypeAlias(f)+"$"+H5.getTypeAlias(e)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t,i,r,u,f,e){this.$initialize();this.Item1=n;this.Item2=t;this.Item3=i;this.Item4=r;this.Item5=u;this.Item6=f;this.Item7=e},ctor:function(){this.$initialize()}},methods:{equals:function(o){return H5.is(o,System.ValueTuple$7(n,t,i,r,u,f,e))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(o,System.ValueTuple$7(n,t,i,r,u,f,e)),System.ValueTuple$7(n,t,i,r,u,f,e))))},equalsT:function(o){return System.ValueTuple$7(n,t,i,r,u,f,e).s_t1Comparer.equals2(this.Item1,o.Item1)&&System.ValueTuple$7(n,t,i,r,u,f,e).s_t2Comparer.equals2(this.Item2,o.Item2)&&System.ValueTuple$7(n,t,i,r,u,f,e).s_t3Comparer.equals2(this.Item3,o.Item3)&&System.ValueTuple$7(n,t,i,r,u,f,e).s_t4Comparer.equals2(this.Item4,o.Item4)&&System.ValueTuple$7(n,t,i,r,u,f,e).s_t5Comparer.equals2(this.Item5,o.Item5)&&System.ValueTuple$7(n,t,i,r,u,f,e).s_t6Comparer.equals2(this.Item6,o.Item6)&&System.ValueTuple$7(n,t,i,r,u,f,e).s_t7Comparer.equals2(this.Item7,o.Item7)},System$Collections$IStructuralEquatable$Equals:function(o,s){if(o==null||!H5.is(o,System.ValueTuple$7(n,t,i,r,u,f,e)))return!1;var h=System.Nullable.getValue(H5.cast(H5.unbox(o,System.ValueTuple$7(n,t,i,r,u,f,e)),System.ValueTuple$7(n,t,i,r,u,f,e)));return s.System$Collections$IEqualityComparer$equals(this.Item1,h.Item1)&&s.System$Collections$IEqualityComparer$equals(this.Item2,h.Item2)&&s.System$Collections$IEqualityComparer$equals(this.Item3,h.Item3)&&s.System$Collections$IEqualityComparer$equals(this.Item4,h.Item4)&&s.System$Collections$IEqualityComparer$equals(this.Item5,h.Item5)&&s.System$Collections$IEqualityComparer$equals(this.Item6,h.Item6)&&s.System$Collections$IEqualityComparer$equals(this.Item7,h.Item7)},System$IComparable$compareTo:function(o){if(o==null)return 1;if(!H5.is(o,System.ValueTuple$7(n,t,i,r,u,f,e)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(o,System.ValueTuple$7(n,t,i,r,u,f,e)),System.ValueTuple$7(n,t,i,r,u,f,e))))},compareTo:function(o){var s=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,o.Item1);return s!==0?s:(s=new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,o.Item2),s!==0)?s:(s=new(System.Collections.Generic.Comparer$1(i))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item3,o.Item3),s!==0)?s:(s=new(System.Collections.Generic.Comparer$1(r))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item4,o.Item4),s!==0)?s:(s=new(System.Collections.Generic.Comparer$1(u))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item5,o.Item5),s!==0)?s:(s=new(System.Collections.Generic.Comparer$1(f))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item6,o.Item6),s!==0)?s:new(System.Collections.Generic.Comparer$1(e))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item7,o.Item7)},System$Collections$IStructuralComparable$CompareTo:function(o,s){if(o==null)return 1;if(!H5.is(o,System.ValueTuple$7(n,t,i,r,u,f,e)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var c=System.Nullable.getValue(H5.cast(H5.unbox(o,System.ValueTuple$7(n,t,i,r,u,f,e)),System.ValueTuple$7(n,t,i,r,u,f,e))),h=s.System$Collections$IComparer$compare(this.Item1,c.Item1);return h!==0?h:(h=s.System$Collections$IComparer$compare(this.Item2,c.Item2),h!==0)?h:(h=s.System$Collections$IComparer$compare(this.Item3,c.Item3),h!==0)?h:(h=s.System$Collections$IComparer$compare(this.Item4,c.Item4),h!==0)?h:(h=s.System$Collections$IComparer$compare(this.Item5,c.Item5),h!==0)?h:(h=s.System$Collections$IComparer$compare(this.Item6,c.Item6),h!==0)?h:s.System$Collections$IComparer$compare(this.Item7,c.Item7)},getHashCode:function(){return System.ValueTuple.CombineHashCodes$5(System.ValueTuple$7(n,t,i,r,u,f,e).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$7(n,t,i,r,u,f,e).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$7(n,t,i,r,u,f,e).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$7(n,t,i,r,u,f,e).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$7(n,t,i,r,u,f,e).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$7(n,t,i,r,u,f,e).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$7(n,t,i,r,u,f,e).s_t7Comparer.getHashCode2(this.Item7))},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){return System.ValueTuple.CombineHashCodes$5(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7))},toString:function(){return"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+", "+((this.Item7!=null?H5.toString(this.Item7):null)||"")+")"},System$ITupleInternal$ToStringEnd:function(){return((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+", "+((this.Item7!=null?H5.toString(this.Item7):null)||"")+")"},$clone:function(o){var s=o||new(System.ValueTuple$7(n,t,i,r,u,f,e));return s.Item1=this.Item1,s.Item2=this.Item2,s.Item3=this.Item3,s.Item4=this.Item4,s.Item5=this.Item5,s.Item6=this.Item6,s.Item7=this.Item7,s}}}});H5.define("System.ValueTuple$8",function(n,t,i,r,u,f,e,o){return{inherits:function(){return[System.IEquatable$1(System.ValueTuple$8(n,t,i,r,u,f,e,o)),System.Collections.IStructuralEquatable,System.Collections.IStructuralComparable,System.IComparable,System.IComparable$1(System.ValueTuple$8(n,t,i,r,u,f,e,o)),System.ITupleInternal]},$kind:"struct",statics:{props:{s_t1Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(n).def}},s_t2Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(t).def}},s_t3Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(i).def}},s_t4Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(r).def}},s_t5Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(u).def}},s_t6Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(f).def}},s_t7Comparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(e).def}},s_tRestComparer:{get:function(){return System.Collections.Generic.EqualityComparer$1(o).def}}},methods:{getDefaultValue:function(){return new(System.ValueTuple$8(n,t,i,r,u,f,e,o))}}},fields:{Item1:H5.getDefaultValue(n),Item2:H5.getDefaultValue(t),Item3:H5.getDefaultValue(i),Item4:H5.getDefaultValue(r),Item5:H5.getDefaultValue(u),Item6:H5.getDefaultValue(f),Item7:H5.getDefaultValue(e),Rest:H5.getDefaultValue(o)},props:{System$ITupleInternal$Size:{get:function(){var n=H5.as(this.Rest,System.ITupleInternal);return n==null?8:7+n.System$ITupleInternal$Size|0}}},alias:["equalsT","System$IEquatable$1$System$ValueTuple$8$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$"+H5.getTypeAlias(f)+"$"+H5.getTypeAlias(e)+"$"+H5.getTypeAlias(o)+"$equalsT","compareTo",["System$IComparable$1$System$ValueTuple$8$"+H5.getTypeAlias(n)+"$"+H5.getTypeAlias(t)+"$"+H5.getTypeAlias(i)+"$"+H5.getTypeAlias(r)+"$"+H5.getTypeAlias(u)+"$"+H5.getTypeAlias(f)+"$"+H5.getTypeAlias(e)+"$"+H5.getTypeAlias(o)+"$compareTo","System$IComparable$1$compareTo"]],ctors:{$ctor1:function(n,t,i,r,u,f,e,o){if(this.$initialize(),!H5.is(o,System.ITupleInternal))throw new System.ArgumentException.$ctor1(System.SR.ArgumentException_ValueTupleLastArgumentNotAValueTuple);this.Item1=n;this.Item2=t;this.Item3=i;this.Item4=r;this.Item5=u;this.Item6=f;this.Item7=e;this.Rest=o},ctor:function(){this.$initialize()}},methods:{equals:function(s){return H5.is(s,System.ValueTuple$8(n,t,i,r,u,f,e,o))&&this.equalsT(System.Nullable.getValue(H5.cast(H5.unbox(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)),System.ValueTuple$8(n,t,i,r,u,f,e,o))))},equalsT:function(s){return System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t1Comparer.equals2(this.Item1,s.Item1)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t2Comparer.equals2(this.Item2,s.Item2)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t3Comparer.equals2(this.Item3,s.Item3)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t4Comparer.equals2(this.Item4,s.Item4)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.equals2(this.Item5,s.Item5)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.equals2(this.Item6,s.Item6)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.equals2(this.Item7,s.Item7)&&System.ValueTuple$8(n,t,i,r,u,f,e,o).s_tRestComparer.equals2(this.Rest,s.Rest)},System$Collections$IStructuralEquatable$Equals:function(s,h){if(s==null||!H5.is(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)))return!1;var c=System.Nullable.getValue(H5.cast(H5.unbox(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)),System.ValueTuple$8(n,t,i,r,u,f,e,o)));return h.System$Collections$IEqualityComparer$equals(this.Item1,c.Item1)&&h.System$Collections$IEqualityComparer$equals(this.Item2,c.Item2)&&h.System$Collections$IEqualityComparer$equals(this.Item3,c.Item3)&&h.System$Collections$IEqualityComparer$equals(this.Item4,c.Item4)&&h.System$Collections$IEqualityComparer$equals(this.Item5,c.Item5)&&h.System$Collections$IEqualityComparer$equals(this.Item6,c.Item6)&&h.System$Collections$IEqualityComparer$equals(this.Item7,c.Item7)&&h.System$Collections$IEqualityComparer$equals(this.Rest,c.Rest)},System$IComparable$compareTo:function(s){if(s==null)return 1;if(!H5.is(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");return this.compareTo(System.Nullable.getValue(H5.cast(H5.unbox(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)),System.ValueTuple$8(n,t,i,r,u,f,e,o))))},compareTo:function(s){var h=new(System.Collections.Generic.Comparer$1(n))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item1,s.Item1);return h!==0?h:(h=new(System.Collections.Generic.Comparer$1(t))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item2,s.Item2),h!==0)?h:(h=new(System.Collections.Generic.Comparer$1(i))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item3,s.Item3),h!==0)?h:(h=new(System.Collections.Generic.Comparer$1(r))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item4,s.Item4),h!==0)?h:(h=new(System.Collections.Generic.Comparer$1(u))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item5,s.Item5),h!==0)?h:(h=new(System.Collections.Generic.Comparer$1(f))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item6,s.Item6),h!==0)?h:(h=new(System.Collections.Generic.Comparer$1(e))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Item7,s.Item7),h!==0)?h:new(System.Collections.Generic.Comparer$1(o))(System.Collections.Generic.Comparer$1.$default.fn).compare(this.Rest,s.Rest)},System$Collections$IStructuralComparable$CompareTo:function(s,h){if(s==null)return 1;if(!H5.is(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)))throw new System.ArgumentException.$ctor3(System.SR.ArgumentException_ValueTupleIncorrectType,"other");var l=System.Nullable.getValue(H5.cast(H5.unbox(s,System.ValueTuple$8(n,t,i,r,u,f,e,o)),System.ValueTuple$8(n,t,i,r,u,f,e,o))),c=h.System$Collections$IComparer$compare(this.Item1,l.Item1);return c!==0?c:(c=h.System$Collections$IComparer$compare(this.Item2,l.Item2),c!==0)?c:(c=h.System$Collections$IComparer$compare(this.Item3,l.Item3),c!==0)?c:(c=h.System$Collections$IComparer$compare(this.Item4,l.Item4),c!==0)?c:(c=h.System$Collections$IComparer$compare(this.Item5,l.Item5),c!==0)?c:(c=h.System$Collections$IComparer$compare(this.Item6,l.Item6),c!==0)?c:(c=h.System$Collections$IComparer$compare(this.Item7,l.Item7),c!==0)?c:h.System$Collections$IComparer$compare(this.Rest,l.Rest)},getHashCode:function(){var s=H5.as(this.Rest,System.ITupleInternal),h,c;if(s==null)return System.ValueTuple.CombineHashCodes$5(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7));if(h=s.System$ITupleInternal$Size,h>=8)return H5.getHashCode(s);c=8-h|0;switch(c){case 1:return System.ValueTuple.CombineHashCodes(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s));case 2:return System.ValueTuple.CombineHashCodes$1(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s));case 3:return System.ValueTuple.CombineHashCodes$2(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s));case 4:return System.ValueTuple.CombineHashCodes$3(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s));case 5:return System.ValueTuple.CombineHashCodes$4(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s));case 6:return System.ValueTuple.CombineHashCodes$5(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s));case 7:case 8:return System.ValueTuple.CombineHashCodes$6(System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t1Comparer.getHashCode2(this.Item1),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t2Comparer.getHashCode2(this.Item2),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t3Comparer.getHashCode2(this.Item3),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t4Comparer.getHashCode2(this.Item4),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t5Comparer.getHashCode2(this.Item5),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t6Comparer.getHashCode2(this.Item6),System.ValueTuple$8(n,t,i,r,u,f,e,o).s_t7Comparer.getHashCode2(this.Item7),H5.getHashCode(s))}return-1},System$Collections$IStructuralEquatable$GetHashCode:function(n){return this.GetHashCodeCore(n)},System$ITupleInternal$GetHashCode:function(n){return this.GetHashCodeCore(n)},GetHashCodeCore:function(n){var t=H5.as(this.Rest,System.ITupleInternal),i,r;if(t==null)return System.ValueTuple.CombineHashCodes$5(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7));if(i=t.System$ITupleInternal$Size,i>=8)return t.System$ITupleInternal$GetHashCode(n);r=8-i|0;switch(r){case 1:return System.ValueTuple.CombineHashCodes(n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n));case 2:return System.ValueTuple.CombineHashCodes$1(n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n));case 3:return System.ValueTuple.CombineHashCodes$2(n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n));case 4:return System.ValueTuple.CombineHashCodes$3(n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n));case 5:return System.ValueTuple.CombineHashCodes$4(n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n));case 6:return System.ValueTuple.CombineHashCodes$5(n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n));case 7:case 8:return System.ValueTuple.CombineHashCodes$6(n.System$Collections$IEqualityComparer$getHashCode(this.Item1),n.System$Collections$IEqualityComparer$getHashCode(this.Item2),n.System$Collections$IEqualityComparer$getHashCode(this.Item3),n.System$Collections$IEqualityComparer$getHashCode(this.Item4),n.System$Collections$IEqualityComparer$getHashCode(this.Item5),n.System$Collections$IEqualityComparer$getHashCode(this.Item6),n.System$Collections$IEqualityComparer$getHashCode(this.Item7),t.System$ITupleInternal$GetHashCode(n))}return-1},toString:function(){var n=H5.as(this.Rest,System.ITupleInternal);return n==null?"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+", "+((this.Item7!=null?H5.toString(this.Item7):null)||"")+", "+(H5.toString(this.Rest)||"")+")":"("+((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+", "+((this.Item7!=null?H5.toString(this.Item7):null)||"")+", "+(n.System$ITupleInternal$ToStringEnd()||"")},System$ITupleInternal$ToStringEnd:function(){var n=H5.as(this.Rest,System.ITupleInternal);return n==null?((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+", "+((this.Item7!=null?H5.toString(this.Item7):null)||"")+", "+(H5.toString(this.Rest)||"")+")":((this.Item1!=null?H5.toString(this.Item1):null)||"")+", "+((this.Item2!=null?H5.toString(this.Item2):null)||"")+", "+((this.Item3!=null?H5.toString(this.Item3):null)||"")+", "+((this.Item4!=null?H5.toString(this.Item4):null)||"")+", "+((this.Item5!=null?H5.toString(this.Item5):null)||"")+", "+((this.Item6!=null?H5.toString(this.Item6):null)||"")+", "+((this.Item7!=null?H5.toString(this.Item7):null)||"")+", "+(n.System$ITupleInternal$ToStringEnd()||"")},$clone:function(s){var h=s||new(System.ValueTuple$8(n,t,i,r,u,f,e,o));return h.Item1=this.Item1,h.Item2=this.Item2,h.Item3=this.Item3,h.Item4=this.Item4,h.Item5=this.Item5,h.Item6=this.Item6,h.Item7=this.Item7,h.Rest=this.Rest,h}}}});H5.define("System.IndexOutOfRangeException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Index was outside the bounds of the array.");this.HResult=-2146233080},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233080},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233080}}});H5.define("System.InvalidCastException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Specified cast is not valid.");this.HResult=-2147467262},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147467262},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147467262},$ctor3:function(n,t){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=t}}});H5.define("System.InvalidOperationException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Operation is not valid due to the current state of the object.");this.HResult=-2146233079},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233079},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233079}}});H5.define("System.ObjectDisposedException",{inherits:[System.InvalidOperationException],fields:{_objectName:null},props:{Message:{get:function(){var n=this.ObjectName,t;return n==null||n.length===0?H5.ensureBaseProperty(this,"Message").$System$Exception$Message:(t=System.SR.Format("Object name: '{0}'.",n),(H5.ensureBaseProperty(this,"Message").$System$Exception$Message||"")+"\n"+(t||""))}},ObjectName:{get:function(){return this._objectName==null?"":this._objectName}}},ctors:{ctor:function(){System.ObjectDisposedException.$ctor3.call(this,null,"Cannot access a disposed object.")},$ctor1:function(n){System.ObjectDisposedException.$ctor3.call(this,n,"Cannot access a disposed object.")},$ctor3:function(n,t){this.$initialize();System.InvalidOperationException.$ctor1.call(this,t);this.HResult=-2146232798;this._objectName=n},$ctor2:function(n,t){this.$initialize();System.InvalidOperationException.$ctor2.call(this,n,t);this.HResult=-2146232798}}});H5.define("System.InvalidProgramException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Common Language Runtime detected an invalid program.");this.HResult=-2146233030},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233030},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233030}}});H5.define("System.MissingMethodException",{inherits:[System.Exception],ctors:{ctor:function(){this.$initialize();System.Exception.ctor.call(this,"Attempted to access a missing method.")},$ctor1:function(n){this.$initialize();System.Exception.ctor.call(this,n)},$ctor2:function(n,t){this.$initialize();System.Exception.ctor.call(this,n,t)},$ctor3:function(n,t){this.$initialize();System.Exception.ctor.call(this,(n||"")+"."+(t||"")+" Due to: Attempted to access a missing member.")}}});H5.define("System.Globalization.Calendar",{inherits:[System.ICloneable],statics:{fields:{TicksPerMillisecond:System.Int64(0),TicksPerSecond:System.Int64(0),TicksPerMinute:System.Int64(0),TicksPerHour:System.Int64(0),TicksPerDay:System.Int64(0),MillisPerSecond:0,MillisPerMinute:0,MillisPerHour:0,MillisPerDay:0,DaysPerYear:0,DaysPer4Years:0,DaysPer100Years:0,DaysPer400Years:0,DaysTo10000:0,MaxMillis:System.Int64(0),CurrentEra:0},ctors:{init:function(){this.TicksPerMillisecond=System.Int64(1e4);this.TicksPerSecond=System.Int64(1e7);this.TicksPerMinute=System.Int64(6e8);this.TicksPerHour=System.Int64([1640261632,8]);this.TicksPerDay=System.Int64([711573504,201]);this.MillisPerSecond=1e3;this.MillisPerMinute=6e4;this.MillisPerHour=36e5;this.MillisPerDay=864e5;this.DaysPerYear=365;this.DaysPer4Years=1461;this.DaysPer100Years=36524;this.DaysPer400Years=146097;this.DaysTo10000=3652059;this.MaxMillis=System.Int64([-464735232,73466]);this.CurrentEra=0}},methods:{ReadOnly:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("calendar");if(n.IsReadOnly)return n;var t=H5.cast(H5.clone(n),System.Globalization.Calendar);return t.SetReadOnlyState(!0),t},CheckAddResult:function(n,t,i){if(n.lt(System.DateTime.getTicks(t))||n.gt(System.DateTime.getTicks(i)))throw new System.ArgumentException.$ctor1(System.String.formatProvider(System.Globalization.CultureInfo.invariantCulture,System.SR.Format$1("The result is out of the supported range for this calendar. The result should be between {0} (Gregorian date) and {1} (Gregorian date), inclusive.",H5.box(t,System.DateTime,System.DateTime.format),H5.box(i,System.DateTime,System.DateTime.format)),null));},GetSystemTwoDigitYearSetting:function(n,t){var i=2029;return i<0&&(i=t),i}}},fields:{_isReadOnly:!1,twoDigitYearMax:0},props:{MinSupportedDateTime:{get:function(){return System.DateTime.getMinValue()}},MaxSupportedDateTime:{get:function(){return System.DateTime.getMaxValue()}},AlgorithmType:{get:function(){return 0}},ID:{get:function(){return 0}},BaseCalendarID:{get:function(){return this.ID}},IsReadOnly:{get:function(){return this._isReadOnly}},CurrentEraValue:{get:function(){throw System.NotImplemented.ByDesign;}},DaysInYearBeforeMinSupportedYear:{get:function(){return 365}},TwoDigitYearMax:{get:function(){return this.twoDigitYearMax},set:function(n){this.VerifyWritable();this.twoDigitYearMax=n}}},alias:["clone","System$ICloneable$clone"],ctors:{init:function(){this._isReadOnly=!1;this.twoDigitYearMax=-1},ctor:function(){this.$initialize()}},methods:{clone:function(){var n=H5.clone(this);return H5.cast(n,System.Globalization.Calendar).SetReadOnlyState(!1),n},VerifyWritable:function(){if(this._isReadOnly)throw new System.InvalidOperationException.$ctor1("Instance is read-only.");},SetReadOnlyState:function(n){this._isReadOnly=n},Add:function(n,t,i){var r=t*i+(t>=0?.5:-.5),f,u;if(!(r>-3155378976e5&&r<3155378976e5))throw new System.ArgumentOutOfRangeException.$ctor4("value","Value to add was out of range.");return f=H5.Int.clip64(r),u=System.DateTime.getTicks(n).add(f.mul(System.Globalization.Calendar.TicksPerMillisecond)),System.Globalization.Calendar.CheckAddResult(u,this.MinSupportedDateTime,this.MaxSupportedDateTime),System.DateTime.create$2(u)},AddMilliseconds:function(n,t){return this.Add(n,t,1)},AddDays:function(n,t){return this.Add(n,t,System.Globalization.Calendar.MillisPerDay)},AddHours:function(n,t){return this.Add(n,t,System.Globalization.Calendar.MillisPerHour)},AddMinutes:function(n,t){return this.Add(n,t,System.Globalization.Calendar.MillisPerMinute)},AddSeconds:function(n,t){return this.Add(n,t,System.Globalization.Calendar.MillisPerSecond)},AddWeeks:function(n,t){return this.AddDays(n,H5.Int.mul(t,7))},GetDaysInMonth:function(n,t){return this.GetDaysInMonth$1(n,t,System.Globalization.Calendar.CurrentEra)},GetDaysInYear:function(n){return this.GetDaysInYear$1(n,System.Globalization.Calendar.CurrentEra)},GetHour:function(n){return System.Int64.clip32(System.DateTime.getTicks(n).div(System.Globalization.Calendar.TicksPerHour).mod(System.Int64(24)))},GetMilliseconds:function(n){return System.Int64.toNumber(System.DateTime.getTicks(n).div(System.Globalization.Calendar.TicksPerMillisecond).mod(System.Int64(1e3)))},GetMinute:function(n){return System.Int64.clip32(System.DateTime.getTicks(n).div(System.Globalization.Calendar.TicksPerMinute).mod(System.Int64(60)))},GetMonthsInYear:function(n){return this.GetMonthsInYear$1(n,System.Globalization.Calendar.CurrentEra)},GetSecond:function(n){return System.Int64.clip32(System.DateTime.getTicks(n).div(System.Globalization.Calendar.TicksPerSecond).mod(System.Int64(60)))},GetFirstDayWeekOfYear:function(n,t){var i=this.GetDayOfYear(n)-1|0,r=this.GetDayOfWeek(n)-i%7|0,u=((r-t|0)+14|0)%7;return(H5.Int.div(i+u|0,7)|0)+1|0},GetWeekOfYearFullDays:function(n,t,i){var e,r,f,u=this.GetDayOfYear(n)-1|0;return(e=this.GetDayOfWeek(n)-u%7|0,r=((t-e|0)+14|0)%7,r!==0&&r>=i&&(r=r-7|0),f=u-r|0,f>=0)?(H5.Int.div(f,7)|0)+1|0:System.DateTime.lte(n,System.DateTime.addDays(this.MinSupportedDateTime,u))?this.GetWeekOfYearOfMinSupportedDateTime(t,i):this.GetWeekOfYearFullDays(System.DateTime.addDays(n,-(u+1|0)|0),t,i)},GetWeekOfYearOfMinSupportedDateTime:function(n,t){var o=this.GetDayOfYear(this.MinSupportedDateTime)-1|0,r=this.GetDayOfWeek(this.MinSupportedDateTime)-o%7|0,u=((n+7|0)-r|0)%7;if(u===0||u>=t)return 1;var f=this.DaysInYearBeforeMinSupportedYear-1|0,s=(r-1|0)-f%7|0,e=((n-s|0)+14|0)%7,i=f-e|0;return e>=t&&(i=i+7|0),(H5.Int.div(i,7)|0)+1|0},GetWeekOfYear:function(n,t,i){if(i<0||i>6)throw new System.ArgumentOutOfRangeException.$ctor4("firstDayOfWeek",System.SR.Format$1("Valid values are between {0} and {1}, inclusive.",H5.box(System.DayOfWeek.Sunday,System.DayOfWeek,System.Enum.toStringFn(System.DayOfWeek)),H5.box(System.DayOfWeek.Saturday,System.DayOfWeek,System.Enum.toStringFn(System.DayOfWeek))));switch(t){case 0:return this.GetFirstDayWeekOfYear(n,i);case 1:return this.GetWeekOfYearFullDays(n,i,7);case 2:return this.GetWeekOfYearFullDays(n,i,4)}throw new System.ArgumentOutOfRangeException.$ctor4("rule",System.SR.Format$1("Valid values are between {0} and {1}, inclusive.",H5.box(0,System.Globalization.CalendarWeekRule,System.Enum.toStringFn(System.Globalization.CalendarWeekRule)),H5.box(2,System.Globalization.CalendarWeekRule,System.Enum.toStringFn(System.Globalization.CalendarWeekRule))));},IsLeapDay:function(n,t,i){return this.IsLeapDay$1(n,t,i,System.Globalization.Calendar.CurrentEra)},IsLeapMonth:function(n,t){return this.IsLeapMonth$1(n,t,System.Globalization.Calendar.CurrentEra)},GetLeapMonth:function(n){return this.GetLeapMonth$1(n,System.Globalization.Calendar.CurrentEra)},GetLeapMonth$1:function(n,t){var r,i;if(!this.IsLeapYear$1(n,t))return 0;for(r=this.GetMonthsInYear$1(n,t),i=1;i<=r;i=i+1|0)if(this.IsLeapMonth$1(n,i,t))return i;return 0},IsLeapYear:function(n){return this.IsLeapYear$1(n,System.Globalization.Calendar.CurrentEra)},ToDateTime:function(n,t,i,r,u,f,e){return this.ToDateTime$1(n,t,i,r,u,f,e,System.Globalization.Calendar.CurrentEra)},TryToDateTime:function(n,t,i,r,u,f,e,o,s){s.v=System.DateTime.getMinValue();try{return s.v=this.ToDateTime$1(n,t,i,r,u,f,e,o),!0}catch(h){if(h=System.Exception.create(h),H5.is(h,System.ArgumentException))return!1;else throw h;}},IsValidYear:function(n,t){return n>=this.GetYear(this.MinSupportedDateTime)&&n<=this.GetYear(this.MaxSupportedDateTime)},IsValidMonth:function(n,t,i){return this.IsValidYear(n,i)&&t>=1&&t<=this.GetMonthsInYear$1(n,i)},IsValidDay:function(n,t,i,r){return this.IsValidMonth(n,t,r)&&i>=1&&i<=this.GetDaysInMonth$1(n,t,r)},ToFourDigitYear:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor4("year","Non-negative number required.");return n<100?H5.Int.mul((H5.Int.div(this.TwoDigitYearMax,100)|0)-(n>this.TwoDigitYearMax%100?1:0)|0,100)+n|0:n}}});H5.define("System.Globalization.CalendarAlgorithmType",{$kind:"enum",statics:{fields:{Unknown:0,SolarCalendar:1,LunarCalendar:2,LunisolarCalendar:3}}});H5.define("System.Globalization.CalendarId",{$kind:"enum",statics:{fields:{UNINITIALIZED_VALUE:0,GREGORIAN:1,GREGORIAN_US:2,JAPAN:3,TAIWAN:4,KOREA:5,HIJRI:6,THAI:7,HEBREW:8,GREGORIAN_ME_FRENCH:9,GREGORIAN_ARABIC:10,GREGORIAN_XLIT_ENGLISH:11,GREGORIAN_XLIT_FRENCH:12,JULIAN:13,JAPANESELUNISOLAR:14,CHINESELUNISOLAR:15,SAKA:16,LUNAR_ETO_CHN:17,LUNAR_ETO_KOR:18,LUNAR_ETO_ROKUYOU:19,KOREANLUNISOLAR:20,TAIWANLUNISOLAR:21,PERSIAN:22,UMALQURA:23,LAST_CALENDAR:23}},$utype:System.UInt16});H5.define("System.Globalization.CalendarWeekRule",{$kind:"enum",statics:{fields:{FirstDay:0,FirstFullWeek:1,FirstFourDayWeek:2}}});H5.define("System.Globalization.CultureNotFoundException",{inherits:[System.ArgumentException],statics:{props:{DefaultMessage:{get:function(){return"Culture is not supported."}}}},fields:{_invalidCultureName:null,_invalidCultureId:null},props:{InvalidCultureId:{get:function(){return this._invalidCultureId}},InvalidCultureName:{get:function(){return this._invalidCultureName}},FormatedInvalidCultureId:{get:function(){return this.InvalidCultureId!=null?System.String.formatProvider(System.Globalization.CultureInfo.invariantCulture,"{0} (0x{0:x4})",[H5.box(System.Nullable.getValue(this.InvalidCultureId),System.Int32)]):this.InvalidCultureName}},Message:{get:function(){var n=H5.ensureBaseProperty(this,"Message").$System$ArgumentException$Message,t;return this._invalidCultureId!=null||this._invalidCultureName!=null?(t=System.SR.Format("{0} is an invalid culture identifier.",this.FormatedInvalidCultureId),n==null)?t:(n||"")+"\n"+(t||""):n}}},ctors:{ctor:function(){this.$initialize();System.ArgumentException.$ctor1.call(this,System.Globalization.CultureNotFoundException.DefaultMessage)},$ctor1:function(n){this.$initialize();System.ArgumentException.$ctor1.call(this,n)},$ctor5:function(n,t){this.$initialize();System.ArgumentException.$ctor3.call(this,t,n)},$ctor2:function(n,t){this.$initialize();System.ArgumentException.$ctor2.call(this,n,t)},$ctor7:function(n,t,i){this.$initialize();System.ArgumentException.$ctor3.call(this,i,n);this._invalidCultureName=t},$ctor6:function(n,t,i){this.$initialize();System.ArgumentException.$ctor2.call(this,n,i);this._invalidCultureName=t},$ctor3:function(n,t,i){this.$initialize();System.ArgumentException.$ctor2.call(this,n,i);this._invalidCultureId=t},$ctor4:function(n,t,i){this.$initialize();System.ArgumentException.$ctor3.call(this,i,n);this._invalidCultureId=t}}});H5.define("System.Globalization.DateTimeFormatInfoScanner",{statics:{fields:{MonthPostfixChar:0,IgnorableSymbolChar:0,CJKYearSuff:null,CJKMonthSuff:null,CJKDaySuff:null,KoreanYearSuff:null,KoreanMonthSuff:null,KoreanDaySuff:null,KoreanHourSuff:null,KoreanMinuteSuff:null,KoreanSecondSuff:null,CJKHourSuff:null,ChineseHourSuff:null,CJKMinuteSuff:null,CJKSecondSuff:null,s_knownWords:null},props:{KnownWords:{get:function(){if(System.Globalization.DateTimeFormatInfoScanner.s_knownWords==null){var n=new(System.Collections.Generic.Dictionary$2(System.String,System.String).ctor);n.add("/","");n.add("-","");n.add(".","");n.add(System.Globalization.DateTimeFormatInfoScanner.CJKYearSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.CJKMonthSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.CJKDaySuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.KoreanYearSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.KoreanMonthSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.KoreanDaySuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.KoreanHourSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.KoreanMinuteSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.KoreanSecondSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.CJKHourSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.ChineseHourSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.CJKMinuteSuff,"");n.add(System.Globalization.DateTimeFormatInfoScanner.CJKSecondSuff,"");System.Globalization.DateTimeFormatInfoScanner.s_knownWords=n}return System.Globalization.DateTimeFormatInfoScanner.s_knownWords}}},ctors:{init:function(){this.MonthPostfixChar=57344;this.IgnorableSymbolChar=57345;this.CJKYearSuff="\u5e74";this.CJKMonthSuff="\u6708";this.CJKDaySuff="\u65e5";this.KoreanYearSuff="\ub144";this.KoreanMonthSuff="\uc6d4";this.KoreanDaySuff="\uc77c";this.KoreanHourSuff="\uc2dc";this.KoreanMinuteSuff="\ubd84";this.KoreanSecondSuff="\ucd08";this.CJKHourSuff="\u6642";this.ChineseHourSuff="\u65f6";this.CJKMinuteSuff="\u5206";this.CJKSecondSuff="\u79d2"}},methods:{SkipWhiteSpacesAndNonLetter:function(n,t){while(t<n.length){var i=n.charCodeAt(t);if(i===92)if(t=t+1|0,t<n.length){if(i=n.charCodeAt(t),i===39)continue}else break;if(System.Char.isLetter(i)||i===39||i===46)break;t=t+1|0}return t},ScanRepeatChar:function(n,t,i,r){for(r.v=1;(i=i+1|0)<n.length&&n.charCodeAt(i)===t;)r.v=r.v+1|0;return i},GetFormatFlagGenitiveMonth:function(n,t,i,r){return!System.Globalization.DateTimeFormatInfoScanner.EqualStringArrays(n,t)||!System.Globalization.DateTimeFormatInfoScanner.EqualStringArrays(i,r)?1:0},GetFormatFlagUseSpaceInMonthNames:function(n,t,i,r){var u=0;return u|=System.Globalization.DateTimeFormatInfoScanner.ArrayElementsBeginWithDigit(n)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsBeginWithDigit(t)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsBeginWithDigit(i)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsBeginWithDigit(r)?32:0,u|(System.Globalization.DateTimeFormatInfoScanner.ArrayElementsHaveSpace(n)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsHaveSpace(t)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsHaveSpace(i)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsHaveSpace(r)?4:0)},GetFormatFlagUseSpaceInDayNames:function(n,t){return System.Globalization.DateTimeFormatInfoScanner.ArrayElementsHaveSpace(n)||System.Globalization.DateTimeFormatInfoScanner.ArrayElementsHaveSpace(t)?16:0},GetFormatFlagUseHebrewCalendar:function(n){return n===8?10:0},EqualStringArrays:function(n,t){if(H5.referenceEquals(n,t))return!0;if(n.length!==t.length)return!1;for(var i=0;i<n.length;i=i+1|0)if(!System.String.equals(n[System.Array.index(i,n)],t[System.Array.index(i,t)]))return!1;return!0},ArrayElementsHaveSpace:function(n){for(var i,t=0;t<n.length;t=t+1|0)for(i=0;i<n[System.Array.index(t,n)].length;i=i+1|0)if(System.Char.isWhiteSpace(String.fromCharCode(n[System.Array.index(t,n)].charCodeAt(i))))return!0;return!1},ArrayElementsBeginWithDigit:function(n){for(var i,t=0;t<n.length;t=t+1|0)if(n[System.Array.index(t,n)].length>0&&n[System.Array.index(t,n)].charCodeAt(0)>=48&&n[System.Array.index(t,n)].charCodeAt(0)<=57){for(i=1;i<n[System.Array.index(t,n)].length&&n[System.Array.index(t,n)].charCodeAt(i)>=48&&n[System.Array.index(t,n)].charCodeAt(i)<=57;)i=i+1|0;if(i===n[System.Array.index(t,n)].length)return!1;if(i===(n[System.Array.index(t,n)].length-1|0))switch(n[System.Array.index(t,n)].charCodeAt(i)){case 26376:case 50900:return!1}return i===(n[System.Array.index(t,n)].length-4|0)&&n[System.Array.index(t,n)].charCodeAt(i)===39&&n[System.Array.index(t,n)].charCodeAt(i+1|0)===32&&n[System.Array.index(t,n)].charCodeAt(i+2|0)===26376&&n[System.Array.index(t,n)].charCodeAt(i+3|0)===39?!1:!0}return!1}}},fields:{m_dateWords:null,_ymdFlags:0},ctors:{init:function(){this.m_dateWords=new(System.Collections.Generic.List$1(System.String).ctor);this._ymdFlags=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.None}},methods:{AddDateWordOrPostfix:function(n,t){var u,i,r;if(t.length>0){if(System.String.equals(t,".")){this.AddIgnorableSymbols(".");return}u={};System.Globalization.DateTimeFormatInfoScanner.KnownWords.tryGetValue(t,u)===!1&&(this.m_dateWords==null&&(this.m_dateWords=new(System.Collections.Generic.List$1(System.String).ctor)),H5.referenceEquals(n,"MMMM")?(i=String.fromCharCode(System.Globalization.DateTimeFormatInfoScanner.MonthPostfixChar)+(t||""),this.m_dateWords.contains(i)||this.m_dateWords.add(i)):(this.m_dateWords.contains(t)||this.m_dateWords.add(t),t.charCodeAt(t.length-1|0)===46&&(r=t.substr(0,t.length-1|0),this.m_dateWords.contains(r)||this.m_dateWords.add(r))))}},AddDateWords:function(n,t,i){var f=System.Globalization.DateTimeFormatInfoScanner.SkipWhiteSpacesAndNonLetter(n,t),r,u;for(f!==t&&i!=null&&(i=null),t=f,r=new System.Text.StringBuilder;t<n.length;)if(u=n.charCodeAt(t),u===39){this.AddDateWordOrPostfix(i,r.toString());t=t+1|0;break}else u===92?(t=t+1|0,t<n.length&&(r.append(String.fromCharCode(n.charCodeAt(t))),t=t+1|0)):System.Char.isWhiteSpace(String.fromCharCode(u))?(this.AddDateWordOrPostfix(i,r.toString()),i!=null&&(i=null),r.setLength(0),t=t+1|0):(r.append(String.fromCharCode(u)),t=t+1|0);return t},AddIgnorableSymbols:function(n){this.m_dateWords==null&&(this.m_dateWords=new(System.Collections.Generic.List$1(System.String).ctor));var t=String.fromCharCode(System.Globalization.DateTimeFormatInfoScanner.IgnorableSymbolChar)+(n||"");this.m_dateWords.contains(t)||this.m_dateWords.add(t)},ScanDateWord:function(n){var t,r,i;for(this._ymdFlags=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.None,t=0;t<n.length;){r=n.charCodeAt(t);i={};switch(r){case 39:t=this.AddDateWords(n,t+1|0,null);break;case 77:t=System.Globalization.DateTimeFormatInfoScanner.ScanRepeatChar(n,77,t,i);i.v>=4&&t<n.length&&n.charCodeAt(t)===39&&(t=this.AddDateWords(n,t+1|0,"MMMM"));this._ymdFlags|=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.FoundMonthPatternFlag;break;case 121:t=System.Globalization.DateTimeFormatInfoScanner.ScanRepeatChar(n,121,t,i);this._ymdFlags|=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.FoundYearPatternFlag;break;case 100:t=System.Globalization.DateTimeFormatInfoScanner.ScanRepeatChar(n,100,t,i);i.v<=2&&(this._ymdFlags|=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.FoundDayPatternFlag);break;case 92:t=t+2|0;break;case 46:this._ymdFlags===System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.FoundYMDPatternFlag&&(this.AddIgnorableSymbols("."),this._ymdFlags=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.None);t=t+1|0;break;default:this._ymdFlags!==System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.FoundYMDPatternFlag||System.Char.isWhiteSpace(String.fromCharCode(r))||(this._ymdFlags=System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern.None);t=t+1|0;break}}},GetDateWordsOfDTFI:function(n){for(var i=n.getAllDateTimePatterns(68),r,t=0;t<i.length;t=t+1|0)this.ScanDateWord(i[System.Array.index(t,i)]);for(i=n.getAllDateTimePatterns(100),t=0;t<i.length;t=t+1|0)this.ScanDateWord(i[System.Array.index(t,i)]);for(i=n.getAllDateTimePatterns(121),t=0;t<i.length;t=t+1|0)this.ScanDateWord(i[System.Array.index(t,i)]);for(this.ScanDateWord(n.monthDayPattern),i=n.getAllDateTimePatterns(84),t=0;t<i.length;t=t+1|0)this.ScanDateWord(i[System.Array.index(t,i)]);for(i=n.getAllDateTimePatterns(116),t=0;t<i.length;t=t+1|0)this.ScanDateWord(i[System.Array.index(t,i)]);if(r=null,this.m_dateWords!=null&&this.m_dateWords.Count>0)for(r=System.Array.init(this.m_dateWords.Count,null,System.String),t=0;t<this.m_dateWords.Count;t=t+1|0)r[System.Array.index(t,r)]=this.m_dateWords.getItem(t);return r}}});H5.define("System.Globalization.DateTimeStyles",{$kind:"enum",statics:{fields:{None:0,AllowLeadingWhite:1,AllowTrailingWhite:2,AllowInnerWhite:4,AllowWhiteSpaces:7,NoCurrentDateDefault:8,AdjustToUniversal:16,AssumeLocal:32,AssumeUniversal:64,RoundtripKind:128}},$flags:!0});H5.define("System.Globalization.FORMATFLAGS",{$kind:"enum",statics:{fields:{None:0,UseGenitiveMonth:1,UseLeapYearMonth:2,UseSpacesInMonthNames:4,UseHebrewParsing:8,UseSpacesInDayNames:16,UseDigitPrefixInTokens:32}}});H5.define("System.Globalization.GlobalizationMode",{statics:{props:{Invariant:!1},ctors:{init:function(){this.Invariant=System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()}},methods:{GetInvariantSwitchValue:function(){return!0},GetGlobalizationInvariantMode:function(){return System.Globalization.GlobalizationMode.GetInvariantSwitchValue()}}}});H5.define("System.Globalization.DateTimeFormatInfoScanner.FoundDatePattern",{$kind:"nested enum",statics:{fields:{None:0,FoundYearPatternFlag:1,FoundMonthPatternFlag:2,FoundDayPatternFlag:4,FoundYMDPatternFlag:7}}});H5.define("System.NotImplemented",{statics:{props:{ByDesign:{get:function(){return new System.NotImplementedException.ctor}}},methods:{ByDesignWithMessage:function(n){return new System.NotImplementedException.$ctor1(n)}}}});H5.define("System.NotImplementedException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"The method or operation is not implemented.");this.HResult=-2147467263},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147467263},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147467263}}});H5.define("System.NotSupportedException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Specified method is not supported.");this.HResult=-2146233067},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233067},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233067}}});H5.define("System.NullReferenceException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Object reference not set to an instance of an object.");this.HResult=-2147467261},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147467261},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147467261}}});H5.define("System.OperationCanceledException",{inherits:[System.SystemException],fields:{_cancellationToken:null},props:{CancellationToken:{get:function(){return this._cancellationToken},set:function(n){this._cancellationToken=n}}},ctors:{init:function(){this._cancellationToken=new System.Threading.CancellationToken},ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"The operation was canceled.");this.HResult=-2146233029},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233029},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233029},$ctor5:function(n){System.OperationCanceledException.ctor.call(this);this.CancellationToken=n},$ctor4:function(n,t){System.OperationCanceledException.$ctor1.call(this,n);this.CancellationToken=t},$ctor3:function(n,t,i){System.OperationCanceledException.$ctor2.call(this,n,t);this.CancellationToken=i}}});H5.define("System.OverflowException",{inherits:[System.ArithmeticException],ctors:{ctor:function(){this.$initialize();System.ArithmeticException.$ctor1.call(this,"Arithmetic operation resulted in an overflow.");this.HResult=-2146233066},$ctor1:function(n){this.$initialize();System.ArithmeticException.$ctor1.call(this,n);this.HResult=-2146233066},$ctor2:function(n,t){this.$initialize();System.ArithmeticException.$ctor2.call(this,n,t);this.HResult=-2146233066}}});H5.define("System.ParseFailureKind",{$kind:"enum",statics:{fields:{None:0,ArgumentNull:1,Format:2,FormatWithParameter:3,FormatBadDateTimeCalendar:4}}});H5.define("System.ParseFlags",{$kind:"enum",statics:{fields:{HaveYear:1,HaveMonth:2,HaveDay:4,HaveHour:8,HaveMinute:16,HaveSecond:32,HaveTime:64,HaveDate:128,TimeZoneUsed:256,TimeZoneUtc:512,ParsedMonthName:1024,CaptureOffset:2048,YearDefault:4096,Rfc1123Pattern:8192,UtcSortPattern:16384}},$flags:!0});H5.define("System.Text.StringBuilderCache",{statics:{fields:{MAX_BUILDER_SIZE:0,DEFAULT_CAPACITY:0,t_cachedInstance:null},ctors:{init:function(){this.MAX_BUILDER_SIZE=260;this.DEFAULT_CAPACITY=16}},methods:{Acquire:function(n){if(n===void 0&&(n=16),n<=System.Text.StringBuilderCache.MAX_BUILDER_SIZE){var t=System.Text.StringBuilderCache.t_cachedInstance;if(t!=null&&n<=t.getCapacity())return System.Text.StringBuilderCache.t_cachedInstance=null,t.clear(),t}return new System.Text.StringBuilder("",n)},Release:function(n){n.getCapacity()<=System.Text.StringBuilderCache.MAX_BUILDER_SIZE&&(System.Text.StringBuilderCache.t_cachedInstance=n)},GetStringAndRelease:function(n){var t=n.toString();return System.Text.StringBuilderCache.Release(n),t}}}});H5.define("System.IO.BinaryReader",{inherits:[System.IDisposable],statics:{fields:{MaxCharBytesSize:0},ctors:{init:function(){this.MaxCharBytesSize=128}}},fields:{m_stream:null,m_buffer:null,m_encoding:null,m_charBytes:null,m_singleChar:null,m_charBuffer:null,m_maxCharsSize:0,m_2BytesPerChar:!1,m_isMemoryStream:!1,m_leaveOpen:!1,lastCharsRead:0},props:{BaseStream:{get:function(){return this.m_stream}}},alias:["Dispose","System$IDisposable$Dispose"],ctors:{init:function(){this.lastCharsRead=0},ctor:function(n){System.IO.BinaryReader.$ctor2.call(this,n,new System.Text.UTF8Encoding.ctor,!1)},$ctor1:function(n,t){System.IO.BinaryReader.$ctor2.call(this,n,t,!1)},$ctor2:function(n,t,i){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("input");if(t==null)throw new System.ArgumentNullException.$ctor1("encoding");if(!n.CanRead)throw new System.ArgumentException.$ctor1("Argument_StreamNotReadable");this.m_stream=n;this.m_encoding=t;this.m_maxCharsSize=t.GetMaxCharCount(System.IO.BinaryReader.MaxCharBytesSize);var r=t.GetMaxByteCount(1);r<23&&(r=23);this.m_buffer=System.Array.init(r,0,System.Byte);this.m_2BytesPerChar=H5.is(t,System.Text.UnicodeEncoding);this.m_isMemoryStream=H5.referenceEquals(H5.getType(this.m_stream),System.IO.MemoryStream);this.m_leaveOpen=i}},methods:{Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){if(n){var t=this.m_stream;this.m_stream=null;t==null||this.m_leaveOpen||t.Close()}this.m_stream=null;this.m_buffer=null;this.m_encoding=null;this.m_charBytes=null;this.m_singleChar=null;this.m_charBuffer=null},Dispose:function(){this.Dispose$1(!0)},PeekChar:function(){if(this.m_stream==null&&System.IO.__Error.FileNotOpen(),!this.m_stream.CanSeek)return-1;var n=this.m_stream.Position,t=this.Read();return this.m_stream.Position=n,t},Read:function(){return this.m_stream==null&&System.IO.__Error.FileNotOpen(),this.InternalReadOneChar()},Read$2:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("index","ArgumentOutOfRange_NeedNonNegNum");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if((n.length-t|0)<i)throw new System.ArgumentException.$ctor1("Argument_InvalidOffLen");return this.m_stream==null&&System.IO.__Error.FileNotOpen(),this.InternalReadChars(n,t,i)},Read$1:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("index","ArgumentOutOfRange_NeedNonNegNum");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if((n.length-t|0)<i)throw new System.ArgumentException.$ctor1("Argument_InvalidOffLen");return this.m_stream==null&&System.IO.__Error.FileNotOpen(),this.m_stream.Read(n,t,i)},ReadBoolean:function(){return this.FillBuffer(1),this.m_buffer[System.Array.index(0,this.m_buffer)]!==0},ReadByte:function(){this.m_stream==null&&System.IO.__Error.FileNotOpen();var n=this.m_stream.ReadByte();return n===-1&&System.IO.__Error.EndOfFile(),n&255},ReadSByte:function(){return this.FillBuffer(1),H5.Int.sxb(this.m_buffer[System.Array.index(0,this.m_buffer)]&255)},ReadChar:function(){var n=this.Read();return n===-1&&System.IO.__Error.EndOfFile(),n&65535},ReadInt16:function(){return this.FillBuffer(2),H5.Int.sxs((this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8)&65535)},ReadUInt16:function(){return this.FillBuffer(2),(this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8)&65535},ReadInt32:function(){if(this.m_isMemoryStream){this.m_stream==null&&System.IO.__Error.FileNotOpen();var n=H5.as(this.m_stream,System.IO.MemoryStream);return n.InternalReadInt32()}else return this.FillBuffer(4),this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8|this.m_buffer[System.Array.index(2,this.m_buffer)]<<16|this.m_buffer[System.Array.index(3,this.m_buffer)]<<24},ReadUInt32:function(){return this.FillBuffer(4),(this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8|this.m_buffer[System.Array.index(2,this.m_buffer)]<<16|this.m_buffer[System.Array.index(3,this.m_buffer)]<<24)>>>0},ReadInt64:function(){this.FillBuffer(8);var n=(this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8|this.m_buffer[System.Array.index(2,this.m_buffer)]<<16|this.m_buffer[System.Array.index(3,this.m_buffer)]<<24)>>>0,t=(this.m_buffer[System.Array.index(4,this.m_buffer)]|this.m_buffer[System.Array.index(5,this.m_buffer)]<<8|this.m_buffer[System.Array.index(6,this.m_buffer)]<<16|this.m_buffer[System.Array.index(7,this.m_buffer)]<<24)>>>0;return System.Int64.clip64(System.UInt64(t)).shl(32).or(System.Int64(n))},ReadUInt64:function(){this.FillBuffer(8);var n=(this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8|this.m_buffer[System.Array.index(2,this.m_buffer)]<<16|this.m_buffer[System.Array.index(3,this.m_buffer)]<<24)>>>0,t=(this.m_buffer[System.Array.index(4,this.m_buffer)]|this.m_buffer[System.Array.index(5,this.m_buffer)]<<8|this.m_buffer[System.Array.index(6,this.m_buffer)]<<16|this.m_buffer[System.Array.index(7,this.m_buffer)]<<24)>>>0;return System.UInt64(t).shl(32).or(System.UInt64(n))},ReadSingle:function(){this.FillBuffer(4);var n=(this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8|this.m_buffer[System.Array.index(2,this.m_buffer)]<<16|this.m_buffer[System.Array.index(3,this.m_buffer)]<<24)>>>0;return System.BitConverter.toSingle(System.BitConverter.getBytes$8(n),0)},ReadDouble:function(){this.FillBuffer(8);var n=(this.m_buffer[System.Array.index(0,this.m_buffer)]|this.m_buffer[System.Array.index(1,this.m_buffer)]<<8|this.m_buffer[System.Array.index(2,this.m_buffer)]<<16|this.m_buffer[System.Array.index(3,this.m_buffer)]<<24)>>>0,t=(this.m_buffer[System.Array.index(4,this.m_buffer)]|this.m_buffer[System.Array.index(5,this.m_buffer)]<<8|this.m_buffer[System.Array.index(6,this.m_buffer)]<<16|this.m_buffer[System.Array.index(7,this.m_buffer)]<<24)>>>0,i=System.UInt64(t).shl(32).or(System.UInt64(n));return System.BitConverter.toDouble(System.BitConverter.getBytes$9(i),0)},ReadDecimal:function(){this.FillBuffer(23);try{return System.Decimal.fromBytes(this.m_buffer)}catch(n){n=System.Exception.create(n);var t;if(H5.is(n,System.ArgumentException)){t=n;throw new System.IO.IOException.$ctor2("Arg_DecBitCtor",t);}else throw n;}},ReadString:function(){var t,i,n,e,f,r,u;if(this.m_stream==null&&System.IO.__Error.FileNotOpen(),t=0,n=this.Read7BitEncodedInt(),n<0)throw new System.IO.IOException.$ctor1("IO.IO_InvalidStringLen_Len");if(n===0)return"";this.m_charBytes==null&&(this.m_charBytes=System.Array.init(System.IO.BinaryReader.MaxCharBytesSize,0,System.Byte));this.m_charBuffer==null&&(this.m_charBuffer=System.Array.init(this.m_maxCharsSize,0,System.Char));r=null;do{if(e=(n-t|0)>System.IO.BinaryReader.MaxCharBytesSize?System.IO.BinaryReader.MaxCharBytesSize:n-t|0,i=this.m_stream.Read(this.m_charBytes,0,e),i===0&&System.IO.__Error.EndOfFile(),f=this.m_encoding.GetChars$2(this.m_charBytes,0,i,this.m_charBuffer,0),t===0&&i===n)return System.String.fromCharArray(this.m_charBuffer,0,f);for(r==null&&(r=new System.Text.StringBuilder("",n)),u=0;u<f;u=u+1|0)r.append(String.fromCharCode(this.m_charBuffer[System.Array.index(u,this.m_charBuffer)]));t=t+i|0}while(t<n);return r.toString()},InternalReadChars:function(n,t,i){var r=i,u;if(this.m_charBytes==null&&(this.m_charBytes=System.Array.init(System.IO.BinaryReader.MaxCharBytesSize,0,System.Byte)),t<0||r<0||(t+r|0)>n.length)throw new System.ArgumentOutOfRangeException.$ctor1("charsRemaining");while(r>0){if(u=this.InternalReadOneChar(!0),u===-1)break;n[System.Array.index(t,n)]=u&65535;this.lastCharsRead===2&&(n[System.Array.index(t=t+1|0,n)]=this.m_singleChar[System.Array.index(1,this.m_singleChar)],r=r-1|0);r=r-1|0;t=t+1|0}return i-r|0},InternalReadOneChar:function(n){var e,r,f,t;n===void 0&&(n=!1);var u=0,i=0,s=System.Int64(0);for(this.m_stream.CanSeek&&(s=this.m_stream.Position),this.m_charBytes==null&&(this.m_charBytes=System.Array.init(System.IO.BinaryReader.MaxCharBytesSize,0,System.Byte)),this.m_singleChar==null&&(this.m_singleChar=System.Array.init(2,0,System.Char)),e=!1,r=0;u===0;){if(i=this.m_2BytesPerChar?2:1,H5.is(this.m_encoding,System.Text.UTF32Encoding)&&(i=4),e)f=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(r=r+1|0,this.m_charBytes)]=f&255,f===-1&&(i=0),i===2&&(f=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(r=r+1|0,this.m_charBytes)]=f&255,f===-1&&(i=1));else if(t=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(0,this.m_charBytes)]=t&255,r=0,t===-1&&(i=0),i===2)t=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(1,this.m_charBytes)]=t&255,t===-1&&(i=1),r=1;else if(i===4){if((t=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(1,this.m_charBytes)]=t&255,t===-1)||(t=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(2,this.m_charBytes)]=t&255,t===-1)||(t=this.m_stream.ReadByte(),this.m_charBytes[System.Array.index(3,this.m_charBytes)]=t&255,t===-1))return-1;r=3}if(i===0)return-1;e=!1;try{if(u=this.m_encoding.GetChars$2(this.m_charBytes,0,r+1|0,this.m_singleChar,0),!n&&u===2)throw new System.ArgumentException.ctor;}catch(o){o=System.Exception.create(o);this.m_stream.CanSeek&&this.m_stream.Seek(s.sub(this.m_stream.Position),1);throw o;}this.m_encoding._hasError&&(u=0,e=!0);!n}return(this.lastCharsRead=u,u===0)?-1:this.m_singleChar[System.Array.index(0,this.m_singleChar)]},ReadChars:function(n){var t,i,r;if(n<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");return(this.m_stream==null&&System.IO.__Error.FileNotOpen(),n===0)?System.Array.init(0,0,System.Char):(t=System.Array.init(n,0,System.Char),i=this.InternalReadChars(t,0,n),i!==n&&(r=System.Array.init(i,0,System.Char),System.Array.copy(t,0,r,0,H5.Int.mul(2,i)),t=r),t)},ReadBytes:function(n){var i,t,r,u;if(n<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if(this.m_stream==null&&System.IO.__Error.FileNotOpen(),n===0)return System.Array.init(0,0,System.Byte);i=System.Array.init(n,0,System.Byte);t=0;do{if(r=this.m_stream.Read(i,t,n),r===0)break;t=t+r|0;n=n-r|0}while(n>0);return t!==i.length&&(u=System.Array.init(t,0,System.Byte),System.Array.copy(i,0,u,0,t),i=u),i},FillBuffer:function(n){if(this.m_buffer!=null&&(n<0||n>this.m_buffer.length))throw new System.ArgumentOutOfRangeException.$ctor4("numBytes","ArgumentOutOfRange_BinaryReaderFillBuffer");var i=0,t=0;if(this.m_stream==null&&System.IO.__Error.FileNotOpen(),n===1){t=this.m_stream.ReadByte();t===-1&&System.IO.__Error.EndOfFile();this.m_buffer[System.Array.index(0,this.m_buffer)]=t&255;return}do t=this.m_stream.Read(this.m_buffer,i,n-i|0),t===0&&System.IO.__Error.EndOfFile(),i=i+t|0;while(i<n)},Read7BitEncodedInt:function(){var t=0,n=0,i;do{if(n===35)throw new System.FormatException.$ctor1("Format_Bad7BitInt32");i=this.ReadByte();t=t|(i&127)<<n;n=n+7|0}while((i&128)!=0);return t}}});H5.define("System.IO.BinaryWriter",{inherits:[System.IDisposable],statics:{fields:{LargeByteBufferSize:0,Null:null},ctors:{init:function(){this.LargeByteBufferSize=256;this.Null=new System.IO.BinaryWriter.ctor}}},fields:{OutStream:null,_buffer:null,_encoding:null,_leaveOpen:!1,_tmpOneCharBuffer:null},props:{BaseStream:{get:function(){return this.Flush(),this.OutStream}}},alias:["Dispose","System$IDisposable$Dispose"],ctors:{ctor:function(){this.$initialize();this.OutStream=System.IO.Stream.Null;this._buffer=System.Array.init(16,0,System.Byte);this._encoding=new System.Text.UTF8Encoding.$ctor2(!1,!0)},$ctor1:function(n){System.IO.BinaryWriter.$ctor3.call(this,n,new System.Text.UTF8Encoding.$ctor2(!1,!0),!1)},$ctor2:function(n,t){System.IO.BinaryWriter.$ctor3.call(this,n,t,!1)},$ctor3:function(n,t,i){if(this.$initialize(),n==null)throw new System.ArgumentNullException.$ctor1("output");if(t==null)throw new System.ArgumentNullException.$ctor1("encoding");if(!n.CanWrite)throw new System.ArgumentException.$ctor1("Argument_StreamNotWritable");this.OutStream=n;this._buffer=System.Array.init(16,0,System.Byte);this._encoding=t;this._leaveOpen=i}},methods:{Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){n&&(this._leaveOpen?this.OutStream.Flush():this.OutStream.Close())},Dispose:function(){this.Dispose$1(!0)},Flush:function(){this.OutStream.Flush()},Seek:function(n,t){return this.OutStream.Seek(System.Int64(n),t)},Write:function(n){this._buffer[System.Array.index(0,this._buffer)]=(n?1:0)&255;this.OutStream.Write(this._buffer,0,1)},Write$1:function(n){this.OutStream.WriteByte(n)},Write$12:function(n){this.OutStream.WriteByte(n&255)},Write$2:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");this.OutStream.Write(n,0,n.length)},Write$3:function(n,t,i){this.OutStream.Write(n,t,i)},Write$4:function(n){if(System.Char.isSurrogate(n))throw new System.ArgumentException.$ctor1("Arg_SurrogatesNotAllowedAsSingleChar");var t=0;t=this._encoding.GetBytes$3(System.Array.init([n],System.Char),0,1,this._buffer,0);this.OutStream.Write(this._buffer,0,t)},Write$5:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("chars");var t=this._encoding.GetBytes$1(n,0,n.length);this.OutStream.Write(t,0,t.length)},Write$6:function(n,t,i){var r=this._encoding.GetBytes$1(n,t,i);this.OutStream.Write(r,0,r.length)},Write$8:function(n){var t=System.Int64.clipu64(System.BitConverter.doubleToInt64Bits(n));this._buffer[System.Array.index(0,this._buffer)]=System.Int64.clipu8(t);this._buffer[System.Array.index(1,this._buffer)]=System.Int64.clipu8(t.shru(8));this._buffer[System.Array.index(2,this._buffer)]=System.Int64.clipu8(t.shru(16));this._buffer[System.Array.index(3,this._buffer)]=System.Int64.clipu8(t.shru(24));this._buffer[System.Array.index(4,this._buffer)]=System.Int64.clipu8(t.shru(32));this._buffer[System.Array.index(5,this._buffer)]=System.Int64.clipu8(t.shru(40));this._buffer[System.Array.index(6,this._buffer)]=System.Int64.clipu8(t.shru(48));this._buffer[System.Array.index(7,this._buffer)]=System.Int64.clipu8(t.shru(56));this.OutStream.Write(this._buffer,0,8)},Write$7:function(n){var t=n.getBytes();this.OutStream.Write(t,0,23)},Write$9:function(n){this._buffer[System.Array.index(0,this._buffer)]=n&255;this._buffer[System.Array.index(1,this._buffer)]=n>>8&255;this.OutStream.Write(this._buffer,0,2)},Write$15:function(n){this._buffer[System.Array.index(0,this._buffer)]=n&255;this._buffer[System.Array.index(1,this._buffer)]=n>>8&255;this.OutStream.Write(this._buffer,0,2)},Write$10:function(n){this._buffer[System.Array.index(0,this._buffer)]=n&255;this._buffer[System.Array.index(1,this._buffer)]=n>>8&255;this._buffer[System.Array.index(2,this._buffer)]=n>>16&255;this._buffer[System.Array.index(3,this._buffer)]=n>>24&255;this.OutStream.Write(this._buffer,0,4)},Write$16:function(n){this._buffer[System.Array.index(0,this._buffer)]=n&255;this._buffer[System.Array.index(1,this._buffer)]=n>>>8&255;this._buffer[System.Array.index(2,this._buffer)]=n>>>16&255;this._buffer[System.Array.index(3,this._buffer)]=n>>>24&255;this.OutStream.Write(this._buffer,0,4)},Write$11:function(n){this._buffer[System.Array.index(0,this._buffer)]=System.Int64.clipu8(n);this._buffer[System.Array.index(1,this._buffer)]=System.Int64.clipu8(n.shr(8));this._buffer[System.Array.index(2,this._buffer)]=System.Int64.clipu8(n.shr(16));this._buffer[System.Array.index(3,this._buffer)]=System.Int64.clipu8(n.shr(24));this._buffer[System.Array.index(4,this._buffer)]=System.Int64.clipu8(n.shr(32));this._buffer[System.Array.index(5,this._buffer)]=System.Int64.clipu8(n.shr(40));this._buffer[System.Array.index(6,this._buffer)]=System.Int64.clipu8(n.shr(48));this._buffer[System.Array.index(7,this._buffer)]=System.Int64.clipu8(n.shr(56));this.OutStream.Write(this._buffer,0,8)},Write$17:function(n){this._buffer[System.Array.index(0,this._buffer)]=System.Int64.clipu8(n);this._buffer[System.Array.index(1,this._buffer)]=System.Int64.clipu8(n.shru(8));this._buffer[System.Array.index(2,this._buffer)]=System.Int64.clipu8(n.shru(16));this._buffer[System.Array.index(3,this._buffer)]=System.Int64.clipu8(n.shru(24));this._buffer[System.Array.index(4,this._buffer)]=System.Int64.clipu8(n.shru(32));this._buffer[System.Array.index(5,this._buffer)]=System.Int64.clipu8(n.shru(40));this._buffer[System.Array.index(6,this._buffer)]=System.Int64.clipu8(n.shru(48));this._buffer[System.Array.index(7,this._buffer)]=System.Int64.clipu8(n.shru(56));this.OutStream.Write(this._buffer,0,8)},Write$13:function(n){var t=System.BitConverter.toUInt32(System.BitConverter.getBytes$6(n),0);this._buffer[System.Array.index(0,this._buffer)]=t&255;this._buffer[System.Array.index(1,this._buffer)]=t>>>8&255;this._buffer[System.Array.index(2,this._buffer)]=t>>>16&255;this._buffer[System.Array.index(3,this._buffer)]=t>>>24&255;this.OutStream.Write(this._buffer,0,4)},Write$14:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("value");var t=this._encoding.GetBytes$2(n),i=t.length;this.Write7BitEncodedInt(i);this.OutStream.Write(t,0,i)},Write7BitEncodedInt:function(n){for(var t=n>>>0;t>=128;)this.Write$1((t|128)>>>0&255),t=t>>>7;this.Write$1(t&255)}}});H5.define("System.IO.Stream",{inherits:[System.IDisposable],statics:{fields:{_DefaultCopyBufferSize:0,Null:null},ctors:{init:function(){this._DefaultCopyBufferSize=81920;this.Null=new System.IO.Stream.NullStream}},methods:{Synchronized:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("stream");return n},BlockingEndRead:function(n){return System.IO.Stream.SynchronousAsyncResult.EndRead(n)},BlockingEndWrite:function(n){System.IO.Stream.SynchronousAsyncResult.EndWrite(n)}}},props:{CanTimeout:{get:function(){return!1}},ReadTimeout:{get:function(){throw new System.InvalidOperationException.ctor;},set:function(n){throw new System.InvalidOperationException.ctor;}},WriteTimeout:{get:function(){throw new System.InvalidOperationException.ctor;},set:function(n){throw new System.InvalidOperationException.ctor;}}},alias:["Dispose","System$IDisposable$Dispose"],methods:{CopyTo:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("destination");if(!this.CanRead&&!this.CanWrite)throw new System.Exception;if(!n.CanRead&&!n.CanWrite)throw new System.Exception("destination");if(!this.CanRead)throw new System.NotSupportedException.ctor;if(!n.CanWrite)throw new System.NotSupportedException.ctor;this.InternalCopyTo(n,System.IO.Stream._DefaultCopyBufferSize)},CopyTo$1:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("destination");if(t<=0)throw new System.ArgumentOutOfRangeException.$ctor1("bufferSize");if(!this.CanRead&&!this.CanWrite)throw new System.Exception;if(!n.CanRead&&!n.CanWrite)throw new System.Exception("destination");if(!this.CanRead)throw new System.NotSupportedException.ctor;if(!n.CanWrite)throw new System.NotSupportedException.ctor;this.InternalCopyTo(n,t)},InternalCopyTo:function(n,t){for(var i=System.Array.init(t,0,System.Byte),r;(r=this.Read(i,0,i.length))!==0;)n.Write(i,0,r)},Close:function(){this.Dispose$1(!0)},Dispose:function(){this.Close()},Dispose$1:function(n){},BeginRead:function(n,t,i,r,u){return this.BeginReadInternal(n,t,i,r,u,!1)},BeginReadInternal:function(n,t,i,r,u,f){return this.CanRead||System.IO.__Error.ReadNotSupported(),this.BlockingBeginRead(n,t,i,r,u)},EndRead:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("asyncResult");return System.IO.Stream.BlockingEndRead(n)},BeginWrite:function(n,t,i,r,u){return this.BeginWriteInternal(n,t,i,r,u,!1)},BeginWriteInternal:function(n,t,i,r,u,f){return this.CanWrite||System.IO.__Error.WriteNotSupported(),this.BlockingBeginWrite(n,t,i,r,u)},EndWrite:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("asyncResult");System.IO.Stream.BlockingEndWrite(n)},ReadByte:function(){var n=System.Array.init(1,0,System.Byte),t=this.Read(n,0,1);return t===0?-1:n[System.Array.index(0,n)]},WriteByte:function(n){var t=System.Array.init(1,0,System.Byte);t[System.Array.index(0,t)]=n;this.Write(t,0,1)},BlockingBeginRead:function(n,t,i,r,u){var e,o,s;try{o=this.Read(n,t,i);e=new System.IO.Stream.SynchronousAsyncResult.$ctor1(o,u)}catch(f){if(f=System.Exception.create(f),H5.is(f,System.IO.IOException))s=f,e=new System.IO.Stream.SynchronousAsyncResult.ctor(s,u,!1);else throw f;}return H5.staticEquals(r,null)||r(e),e},BlockingBeginWrite:function(n,t,i,r,u){var e,o;try{this.Write(n,t,i);e=new System.IO.Stream.SynchronousAsyncResult.$ctor2(u)}catch(f){if(f=System.Exception.create(f),H5.is(f,System.IO.IOException))o=f,e=new System.IO.Stream.SynchronousAsyncResult.ctor(o,u,!0);else throw f;}return H5.staticEquals(r,null)||r(e),e}}});H5.define("System.IO.BufferedStream",{inherits:[System.IO.Stream],statics:{fields:{_DefaultBufferSize:0,MaxShadowBufferSize:0},ctors:{init:function(){this._DefaultBufferSize=4096;this.MaxShadowBufferSize=81920}}},fields:{_stream:null,_buffer:null,_bufferSize:0,_readPos:0,_readLen:0,_writePos:0},props:{UnderlyingStream:{get:function(){return this._stream}},BufferSize:{get:function(){return this._bufferSize}},CanRead:{get:function(){return this._stream!=null&&this._stream.CanRead}},CanWrite:{get:function(){return this._stream!=null&&this._stream.CanWrite}},CanSeek:{get:function(){return this._stream!=null&&this._stream.CanSeek}},Length:{get:function(){return this.EnsureNotClosed(),this._writePos>0&&this.FlushWrite(),this._stream.Length}},Position:{get:function(){return this.EnsureNotClosed(),this.EnsureCanSeek(),this._stream.Position.add(System.Int64((this._readPos-this._readLen|0)+this._writePos|0))},set:function(n){if(n.lt(System.Int64(0)))throw new System.ArgumentOutOfRangeException.$ctor1("value");this.EnsureNotClosed();this.EnsureCanSeek();this._writePos>0&&this.FlushWrite();this._readPos=0;this._readLen=0;this._stream.Seek(n,0)}}},ctors:{ctor:function(){this.$initialize();System.IO.Stream.ctor.call(this)},$ctor1:function(n){System.IO.BufferedStream.$ctor2.call(this,n,System.IO.BufferedStream._DefaultBufferSize)},$ctor2:function(n,t){if(this.$initialize(),System.IO.Stream.ctor.call(this),n==null)throw new System.ArgumentNullException.$ctor1("stream");if(t<=0)throw new System.ArgumentOutOfRangeException.$ctor1("bufferSize");this._stream=n;this._bufferSize=t;this._stream.CanRead||this._stream.CanWrite||System.IO.__Error.StreamIsClosed()}},methods:{EnsureNotClosed:function(){this._stream==null&&System.IO.__Error.StreamIsClosed()},EnsureCanSeek:function(){this._stream.CanSeek||System.IO.__Error.SeekNotSupported()},EnsureCanRead:function(){this._stream.CanRead||System.IO.__Error.ReadNotSupported()},EnsureCanWrite:function(){this._stream.CanWrite||System.IO.__Error.WriteNotSupported()},EnsureShadowBufferAllocated:function(){if(this._buffer.length===this._bufferSize&&!(this._bufferSize>=System.IO.BufferedStream.MaxShadowBufferSize)){var n=System.Array.init(Math.min(this._bufferSize+this._bufferSize|0,System.IO.BufferedStream.MaxShadowBufferSize),0,System.Byte);System.Array.copy(this._buffer,0,n,0,this._writePos);this._buffer=n}},EnsureBufferAllocated:function(){this._buffer==null&&(this._buffer=System.Array.init(this._bufferSize,0,System.Byte))},Dispose$1:function(n){try{if(n&&this._stream!=null)try{this.Flush()}finally{this._stream.Close()}}finally{this._stream=null;this._buffer=null;System.IO.Stream.prototype.Dispose$1.call(this,n)}},Flush:function(){if(this.EnsureNotClosed(),this._writePos>0){this.FlushWrite();return}if(this._readPos<this._readLen){if(!this._stream.CanSeek)return;this.FlushRead();(this._stream.CanWrite||H5.is(this._stream,System.IO.BufferedStream))&&this._stream.Flush();return}(this._stream.CanWrite||H5.is(this._stream,System.IO.BufferedStream))&&this._stream.Flush();this._writePos=this._readPos=this._readLen=0},FlushRead:function(){(this._readPos-this._readLen|0)!=0&&this._stream.Seek(System.Int64(this._readPos-this._readLen),1);this._readPos=0;this._readLen=0},ClearReadBufferBeforeWrite:function(){if(this._readPos===this._readLen){this._readPos=this._readLen=0;return}if(!this._stream.CanSeek)throw new System.NotSupportedException.ctor;this.FlushRead()},FlushWrite:function(){this._stream.Write(this._buffer,0,this._writePos);this._writePos=0;this._stream.Flush()},ReadFromBuffer:function(n,t,i){var r=this._readLen-this._readPos|0;return r===0?0:(r>i&&(r=i),System.Array.copy(this._buffer,this._readPos,n,t,r),this._readPos=this._readPos+r|0,r)},ReadFromBuffer$1:function(n,t,i,r){try{return r.v=null,this.ReadFromBuffer(n,t,i)}catch(u){return u=System.Exception.create(u),r.v=u,0}},Read:function(n,t,i){var r,u;if(n==null)throw new System.ArgumentNullException.$ctor1("array");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("offset");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;return(this.EnsureNotClosed(),this.EnsureCanRead(),r=this.ReadFromBuffer(n,t,i),r===i)?r:(u=r,r>0&&(i=i-r|0,t=t+r|0),this._readPos=this._readLen=0,this._writePos>0&&this.FlushWrite(),i>=this._bufferSize)?this._stream.Read(n,t,i)+u|0:(this.EnsureBufferAllocated(),this._readLen=this._stream.Read(this._buffer,0,this._bufferSize),r=this.ReadFromBuffer(n,t,i),r+u|0)},ReadByte:function(){if(this.EnsureNotClosed(),this.EnsureCanRead(),this._readPos===this._readLen&&(this._writePos>0&&this.FlushWrite(),this.EnsureBufferAllocated(),this._readLen=this._stream.Read(this._buffer,0,this._bufferSize),this._readPos=0),this._readPos===this._readLen)return-1;return this._buffer[System.Array.index(H5.identity(this._readPos,this._readPos=this._readPos+1|0),this._buffer)]},WriteToBuffer:function(n,t,i){var r=Math.min(this._bufferSize-this._writePos|0,i.v);r<=0||(this.EnsureBufferAllocated(),System.Array.copy(n,t.v,this._buffer,this._writePos,r),this._writePos=this._writePos+r|0,i.v=i.v-r|0,t.v=t.v+r|0)},WriteToBuffer$1:function(n,t,i,r){try{r.v=null;this.WriteToBuffer(n,t,i)}catch(u){u=System.Exception.create(u);r.v=u}},Write:function(n,t,i){if(t={v:t},i={v:i},n==null)throw new System.ArgumentNullException.$ctor1("array");if(t.v<0)throw new System.ArgumentOutOfRangeException.$ctor1("offset");if(i.v<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t.v|0)<i.v)throw new System.ArgumentException.ctor;this.EnsureNotClosed();this.EnsureCanWrite();this._writePos===0&&this.ClearReadBufferBeforeWrite();var r,u;if(r=H5.Int.check(this._writePos+i.v,System.Int32),u=H5.Int.check(r+i.v,System.Int32)<H5.Int.check(this._bufferSize+this._bufferSize,System.Int32),u){if(this.WriteToBuffer(n,t,i),this._writePos<this._bufferSize)return;this._stream.Write(this._buffer,0,this._writePos);this._writePos=0;this.WriteToBuffer(n,t,i)}else{if(this._writePos>0){if(r<=(this._bufferSize+this._bufferSize|0)&&r<=System.IO.BufferedStream.MaxShadowBufferSize){this.EnsureShadowBufferAllocated();System.Array.copy(n,t.v,this._buffer,this._writePos,i.v);this._stream.Write(this._buffer,0,r);this._writePos=0;return}this._stream.Write(this._buffer,0,this._writePos);this._writePos=0}this._stream.Write(n,t.v,i.v)}},WriteByte:function(n){this.EnsureNotClosed();this._writePos===0&&(this.EnsureCanWrite(),this.ClearReadBufferBeforeWrite(),this.EnsureBufferAllocated());this._writePos>=(this._bufferSize-1|0)&&this.FlushWrite();this._buffer[System.Array.index(H5.identity(this._writePos,this._writePos=this._writePos+1|0),this._buffer)]=n},Seek:function(n,t){if(this.EnsureNotClosed(),this.EnsureCanSeek(),this._writePos>0)return this.FlushWrite(),this._stream.Seek(n,t);(this._readLen-this._readPos|0)>0&&t===1&&(n=n.sub(System.Int64(this._readLen-this._readPos|0)));var r=this.Position,i=this._stream.Seek(n,t);return this._readPos=System.Int64.clip32(i.sub(r.sub(System.Int64(this._readPos)))),0<=this._readPos&&this._readPos<this._readLen?this._stream.Seek(System.Int64(this._readLen-this._readPos),1):this._readPos=this._readLen=0,i},SetLength:function(n){if(n.lt(System.Int64(0)))throw new System.ArgumentOutOfRangeException.$ctor1("value");this.EnsureNotClosed();this.EnsureCanSeek();this.EnsureCanWrite();this.Flush();this._stream.SetLength(n)}}});H5.define("System.IO.IOException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"I/O error occurred.");this.HResult=-2146232800},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146232800},$ctor3:function(n,t){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=t},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146232800}}});H5.define("System.IO.EndOfStreamException",{inherits:[System.IO.IOException],ctors:{ctor:function(){this.$initialize();System.IO.IOException.$ctor1.call(this,"Arg_EndOfStreamException")},$ctor1:function(n){this.$initialize();System.IO.IOException.$ctor1.call(this,n)},$ctor2:function(n,t){this.$initialize();System.IO.IOException.$ctor2.call(this,n,t)}}});H5.define("System.IO.File",{statics:{methods:{OpenText:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("path");return new System.IO.StreamReader.$ctor7(n)},OpenRead:function(n){return new System.IO.FileStream.$ctor1(n,3)},ReadAllText:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("path");if(n.length===0)throw new System.ArgumentException.$ctor1("Argument_EmptyPath");return System.IO.File.InternalReadAllText(n,System.Text.Encoding.UTF8,!0)},ReadAllText$1:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("path");if(t==null)throw new System.ArgumentNullException.$ctor1("encoding");if(n.length===0)throw new System.ArgumentException.$ctor1("Argument_EmptyPath");return System.IO.File.InternalReadAllText(n,t,!0)},InternalReadAllText:function(n,t,i){var r=new System.IO.StreamReader.$ctor12(n,t,!0,System.IO.StreamReader.DefaultBufferSize,i);try{return r.ReadToEnd()}finally{H5.hasValue(r)&&r.System$IDisposable$Dispose()}},ReadAllBytes:function(n){return System.IO.File.InternalReadAllBytes(n,!0)},InternalReadAllBytes:function(n,t){var e,r=new System.IO.FileStream.$ctor1(n,3),u,o,i,f;try{if(u=0,o=r.Length,o.gt(System.Int64(2147483647)))throw new System.IO.IOException.$ctor1("IO.IO_FileTooLong2GB");for(i=System.Int64.clip32(o),e=System.Array.init(i,0,System.Byte);i>0;)f=r.Read(e,u,i),f===0&&System.IO.__Error.EndOfFile(),u=u+f|0,i=i-f|0}finally{H5.hasValue(r)&&r.System$IDisposable$Dispose()}return e},ReadAllLines:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("path");if(n.length===0)throw new System.ArgumentException.$ctor1("Argument_EmptyPath");return System.IO.File.InternalReadAllLines(n,System.Text.Encoding.UTF8)},ReadAllLines$1:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("path");if(t==null)throw new System.ArgumentNullException.$ctor1("encoding");if(n.length===0)throw new System.ArgumentException.$ctor1("Argument_EmptyPath");return System.IO.File.InternalReadAllLines(n,t)},InternalReadAllLines:function(n,t){var r,u=new(System.Collections.Generic.List$1(System.String).ctor),i=new System.IO.StreamReader.$ctor9(n,t);try{while((r=i.ReadLine())!=null)u.add(r)}finally{H5.hasValue(i)&&i.System$IDisposable$Dispose()}return u.ToArray()},ReadLines:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("path");if(n.length===0)throw new System.ArgumentException.$ctor3("Argument_EmptyPath","path");return System.IO.ReadLinesIterator.CreateIterator(n,System.Text.Encoding.UTF8)},ReadLines$1:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("path");if(t==null)throw new System.ArgumentNullException.$ctor1("encoding");if(n.length===0)throw new System.ArgumentException.$ctor3("Argument_EmptyPath","path");return System.IO.ReadLinesIterator.CreateIterator(n,t)}}}});H5.define("System.IO.FileMode",{$kind:"enum",statics:{fields:{CreateNew:1,Create:2,Open:3,OpenOrCreate:4,Truncate:5,Append:6}}});H5.define("System.IO.FileOptions",{$kind:"enum",statics:{fields:{None:0,WriteThrough:-2147483648,Asynchronous:1073741824,RandomAccess:268435456,DeleteOnClose:67108864,SequentialScan:134217728,Encrypted:16384}},$flags:!0});H5.define("System.IO.FileShare",{$kind:"enum",statics:{fields:{None:0,Read:1,Write:2,ReadWrite:3,Delete:4,Inheritable:16}},$flags:!0});H5.define("System.IO.FileStream",{inherits:[System.IO.Stream],statics:{methods:{FromFile:function(n){var i=new System.Threading.Tasks.TaskCompletionSource,t=new FileReader;return t.onload=function(){i.setResult(new System.IO.FileStream.ctor(t.result,n.name))},t.onerror=function(n){i.setException(new System.SystemException.$ctor1(H5.unbox(n).target.error.As()))},t.readAsArrayBuffer(n),i.task},ReadBytes:function(n){var u,t,i,r;if(H5.isNode)return u=require("fs"),H5.cast(u.readFileSync(n),ArrayBuffer);else{if(t=new XMLHttpRequest,t.open("GET",n,!1),t.overrideMimeType("text/plain; charset=x-user-defined"),t.send(null),t.status!==200)throw new System.IO.IOException.$ctor1(System.String.concat("Status of request to "+(n||"")+" returned status: ",t.status));return i=t.responseText,r=new Uint8Array(i.length),System.String.toCharArray(i,0,i.length).forEach(function(n,t,i){var u;return u=n&255,r[t]=u,u}),r.buffer}},ReadBytesAsync:function(n){var i=new System.Threading.Tasks.TaskCompletionSource,r,t;return H5.isNode?(r=require("fs"),r.readFile(n,H5.fn.$build([function(n,t){if(n!=null)throw new System.IO.IOException.ctor;i.setResult(t)}]))):(t=new XMLHttpRequest,t.open("GET",n,!0),t.overrideMimeType("text/plain; charset=binary-data"),t.send(null),t.onreadystatechange=function(){if(t.readyState===4){if(t.status!==200)throw new System.IO.IOException.$ctor1(System.String.concat("Status of request to "+(n||"")+" returned status: ",t.status));var r=t.responseText,u=new Uint8Array(r.length);System.String.toCharArray(r,0,r.length).forEach(function(n,t,i){var r;return r=n&255,u[t]=r,r});i.setResult(u.buffer)}}),i.task}}},fields:{name:null,_buffer:null},props:{CanRead:{get:function(){return!0}},CanWrite:{get:function(){return!1}},CanSeek:{get:function(){return!1}},IsAsync:{get:function(){return!1}},Name:{get:function(){return this.name}},Length:{get:function(){return System.Int64(this.GetInternalBuffer().byteLength)}},Position:System.Int64(0)},ctors:{$ctor1:function(n,t){this.$initialize();System.IO.Stream.ctor.call(this);this.name=n},ctor:function(n,t){this.$initialize();System.IO.Stream.ctor.call(this);this._buffer=n;this.name=t}},methods:{Flush:function(){},Seek:function(n,t){throw new System.NotImplementedException.ctor;},SetLength:function(n){throw new System.NotImplementedException.ctor;},Write:function(n,t,i){throw new System.NotImplementedException.ctor;},GetInternalBuffer:function(){return this._buffer==null&&(this._buffer=System.IO.FileStream.ReadBytes(this.name)),this._buffer},EnsureBufferAsync:function(){var n=0,t,r,e,i=new System.Threading.Tasks.TaskCompletionSource,o,u,f=H5.fn.bind(this,function(){try{for(;;){n=System.Array.min([0,1,2,3],n);switch(n){case 0:if(this._buffer==null){n=1;continue}n=3;continue;case 1:if(t=System.IO.FileStream.ReadBytesAsync(this.name),n=2,t.isCompleted())continue;t.continue(f);return;case 2:r=t.getAwaitedResult();this._buffer=r;n=3;continue;case 3:i.setResult(null);return;default:i.setResult(null);return}}}catch(e){u=System.Exception.create(e);i.setException(u)}},arguments);return f(),i.task},Read:function(n,t,i){var r,e,u,f,o;if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("offset");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;if(r=this.Length.sub(this.Position),r.gt(System.Int64(i))&&(r=System.Int64(i)),r.lte(System.Int64(0)))return 0;if(e=new Uint8Array(this.GetInternalBuffer()),r.gt(System.Int64(8)))for(u=0;System.Int64(u).lt(r);u=u+1|0)n[System.Array.index(u+t|0,n)]=e[this.Position.add(System.Int64(u))];else for(f=r;;){if(o=f.sub(System.Int64(1)),f=o,o.lt(System.Int64(0)))break;n[System.Array.index(System.Int64.toNumber(System.Int64(t).add(f)),n)]=e[this.Position.add(f)]}return this.Position=this.Position.add(r),System.Int64.clip32(r)}}});H5.define("System.IO.Iterator$1",function(n){return{inherits:[System.Collections.Generic.IEnumerable$1(n),System.Collections.Generic.IEnumerator$1(n)],fields:{state:0,current:H5.getDefaultValue(n)},props:{Current:{get:function(){return this.current}},System$Collections$IEnumerator$Current:{get:function(){return this.Current}}},alias:["Current",["System$Collections$Generic$IEnumerator$1$"+H5.getTypeAlias(n)+"$Current$1","System$Collections$Generic$IEnumerator$1$Current$1"],"Dispose","System$IDisposable$Dispose","GetEnumerator",["System$Collections$Generic$IEnumerable$1$"+H5.getTypeAlias(n)+"$GetEnumerator","System$Collections$Generic$IEnumerable$1$GetEnumerator"]],ctors:{ctor:function(){this.$initialize()}},methods:{Dispose:function(){this.Dispose$1(!0)},Dispose$1:function(t){this.current=H5.getDefaultValue(n);this.state=-1},GetEnumerator:function(){if(this.state===0)return this.state=1,this;var n=this.Clone();return n.state=1,n},System$Collections$IEnumerable$GetEnumerator:function(){return this.GetEnumerator()},System$Collections$IEnumerator$reset:function(){throw new System.NotSupportedException.ctor;}}}});H5.define("System.IO.MemoryStream",{inherits:[System.IO.Stream],statics:{fields:{MemStreamMaxLength:0},ctors:{init:function(){this.MemStreamMaxLength=2147483647}}},fields:{_buffer:null,_origin:0,_position:0,_length:0,_capacity:0,_expandable:!1,_writable:!1,_exposable:!1,_isOpen:!1},props:{CanRead:{get:function(){return this._isOpen}},CanSeek:{get:function(){return this._isOpen}},CanWrite:{get:function(){return this._writable}},Capacity:{get:function(){return this._isOpen||System.IO.__Error.StreamIsClosed(),this._capacity-this._origin|0},set:function(n){if(System.Int64(n).lt(this.Length))throw new System.ArgumentOutOfRangeException.$ctor4("value","ArgumentOutOfRange_SmallCapacity");if(this._isOpen||System.IO.__Error.StreamIsClosed(),this._expandable||n===this.Capacity||System.IO.__Error.MemoryStreamNotExpandable(),this._expandable&&n!==this._capacity){if(n>0){var t=System.Array.init(n,0,System.Byte);this._length>0&&System.Array.copy(this._buffer,0,t,0,this._length);this._buffer=t}else this._buffer=null;this._capacity=n}}},Length:{get:function(){return this._isOpen||System.IO.__Error.StreamIsClosed(),System.Int64(this._length-this._origin)}},Position:{get:function(){return this._isOpen||System.IO.__Error.StreamIsClosed(),System.Int64(this._position-this._origin)},set:function(n){if(n.lt(System.Int64(0)))throw new System.ArgumentOutOfRangeException.$ctor4("value","ArgumentOutOfRange_NeedNonNegNum");if(this._isOpen||System.IO.__Error.StreamIsClosed(),n.gt(System.Int64(System.IO.MemoryStream.MemStreamMaxLength)))throw new System.ArgumentOutOfRangeException.$ctor4("value","ArgumentOutOfRange_StreamLength");this._position=this._origin+System.Int64.clip32(n)|0}}},ctors:{ctor:function(){System.IO.MemoryStream.$ctor6.call(this,0)},$ctor6:function(n){if(this.$initialize(),System.IO.Stream.ctor.call(this),n<0)throw new System.ArgumentOutOfRangeException.$ctor4("capacity","ArgumentOutOfRange_NegativeCapacity");this._buffer=System.Array.init(n,0,System.Byte);this._capacity=n;this._expandable=!0;this._writable=!0;this._exposable=!0;this._origin=0;this._isOpen=!0},$ctor1:function(n){System.IO.MemoryStream.$ctor2.call(this,n,!0)},$ctor2:function(n,t){if(this.$initialize(),System.IO.Stream.ctor.call(this),n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");this._buffer=n;this._length=this._capacity=n.length;this._writable=t;this._exposable=!1;this._origin=0;this._isOpen=!0},$ctor3:function(n,t,i){System.IO.MemoryStream.$ctor5.call(this,n,t,i,!0,!1)},$ctor4:function(n,t,i,r){System.IO.MemoryStream.$ctor5.call(this,n,t,i,r,!1)},$ctor5:function(n,t,i,r,u){if(this.$initialize(),System.IO.Stream.ctor.call(this),n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("index","ArgumentOutOfRange_NeedNonNegNum");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if((n.length-t|0)<i)throw new System.ArgumentException.$ctor1("Argument_InvalidOffLen");this._buffer=n;this._origin=this._position=t;this._length=this._capacity=t+i|0;this._writable=r;this._exposable=u;this._expandable=!1;this._isOpen=!0}},methods:{EnsureWriteable:function(){this.CanWrite||System.IO.__Error.WriteNotSupported()},Dispose$1:function(n){try{n&&(this._isOpen=!1,this._writable=!1,this._expandable=!1)}finally{System.IO.Stream.prototype.Dispose$1.call(this,n)}},EnsureCapacity:function(n){if(n<0)throw new System.IO.IOException.$ctor1("IO.IO_StreamTooLong");if(n>this._capacity){var t=n;return t<256&&(t=256),t<H5.Int.mul(this._capacity,2)&&(t=H5.Int.mul(this._capacity,2)),H5.Int.mul(this._capacity,2)>>>0>2147483591&&(t=n>2147483591?n:2147483591),this.Capacity=t,!0}return!1},Flush:function(){},GetBuffer:function(){if(!this._exposable)throw new System.Exception("UnauthorizedAccess_MemStreamBuffer");return this._buffer},TryGetBuffer:function(n){return this._exposable?(n.v=new System.ArraySegment(this._buffer,this._origin,this._length-this._origin|0),!0):(n.v=H5.getDefaultValue(System.ArraySegment),!1)},InternalGetBuffer:function(){return this._buffer},InternalGetPosition:function(){return this._isOpen||System.IO.__Error.StreamIsClosed(),this._position},InternalReadInt32:function(){this._isOpen||System.IO.__Error.StreamIsClosed();var n=this._position=this._position+4|0;return n>this._length&&(this._position=this._length,System.IO.__Error.EndOfFile()),this._buffer[System.Array.index(n-4|0,this._buffer)]|this._buffer[System.Array.index(n-3|0,this._buffer)]<<8|this._buffer[System.Array.index(n-2|0,this._buffer)]<<16|this._buffer[System.Array.index(n-1|0,this._buffer)]<<24},InternalEmulateRead:function(n){this._isOpen||System.IO.__Error.StreamIsClosed();var t=this._length-this._position|0;return t>n&&(t=n),t<0&&(t=0),this._position=this._position+t|0,t},Read:function(n,t,i){var r,u;if(n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("offset","ArgumentOutOfRange_NeedNonNegNum");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if((n.length-t|0)<i)throw new System.ArgumentException.$ctor1("Argument_InvalidOffLen");if(this._isOpen||System.IO.__Error.StreamIsClosed(),r=this._length-this._position|0,r>i&&(r=i),r<=0)return 0;if(r<=8)for(u=r;(u=u-1|0)>=0;)n[System.Array.index(t+u|0,n)]=this._buffer[System.Array.index(this._position+u|0,this._buffer)];else System.Array.copy(this._buffer,this._position,n,t,r);return this._position=this._position+r|0,r},ReadByte:function(){return(this._isOpen||System.IO.__Error.StreamIsClosed(),this._position>=this._length)?-1:this._buffer[System.Array.index(H5.identity(this._position,this._position=this._position+1|0),this._buffer)]},Seek:function(n,t){var i,r,u;if(this._isOpen||System.IO.__Error.StreamIsClosed(),n.gt(System.Int64(System.IO.MemoryStream.MemStreamMaxLength)))throw new System.ArgumentOutOfRangeException.$ctor4("offset","ArgumentOutOfRange_StreamLength");switch(t){case 0:if(i=this._origin+System.Int64.clip32(n)|0,n.lt(System.Int64(0))||i<this._origin)throw new System.IO.IOException.$ctor1("IO.IO_SeekBeforeBegin");this._position=i;break;case 1:if(r=this._position+System.Int64.clip32(n)|0,System.Int64(this._position).add(n).lt(System.Int64(this._origin))||r<this._origin)throw new System.IO.IOException.$ctor1("IO.IO_SeekBeforeBegin");this._position=r;break;case 2:if(u=this._length+System.Int64.clip32(n)|0,System.Int64(this._length).add(n).lt(System.Int64(this._origin))||u<this._origin)throw new System.IO.IOException.$ctor1("IO.IO_SeekBeforeBegin");this._position=u;break;default:throw new System.ArgumentException.$ctor1("Argument_InvalidSeekOrigin");}return System.Int64(this._position)},SetLength:function(n){if(n.lt(System.Int64(0))||n.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor4("value","ArgumentOutOfRange_StreamLength");if(this.EnsureWriteable(),n.gt(System.Int64(2147483647-this._origin|0)))throw new System.ArgumentOutOfRangeException.$ctor4("value","ArgumentOutOfRange_StreamLength");var t=this._origin+System.Int64.clip32(n)|0,i=this.EnsureCapacity(t);!i&&t>this._length&&System.Array.fill(this._buffer,0,this._length,t-this._length|0);this._length=t;this._position>t&&(this._position=t)},ToArray:function(){var n=System.Array.init(this._length-this._origin|0,0,System.Byte);return System.Array.copy(this._buffer,this._origin,n,0,this._length-this._origin|0),n},Write:function(n,t,i){var r,f,e,u;if(n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("offset","ArgumentOutOfRange_NeedNonNegNum");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if((n.length-t|0)<i)throw new System.ArgumentException.$ctor1("Argument_InvalidOffLen");if(this._isOpen||System.IO.__Error.StreamIsClosed(),this.EnsureWriteable(),r=this._position+i|0,r<0)throw new System.IO.IOException.$ctor1("IO.IO_StreamTooLong");if(r>this._length&&(f=this._position>this._length,r>this._capacity&&(e=this.EnsureCapacity(r),e&&(f=!1)),f&&System.Array.fill(this._buffer,0,this._length,r-this._length|0),this._length=r),i<=8&&!H5.referenceEquals(n,this._buffer))for(u=i;(u=u-1|0)>=0;)this._buffer[System.Array.index(this._position+u|0,this._buffer)]=n[System.Array.index(t+u|0,n)];else System.Array.copy(n,t,this._buffer,this._position,i);this._position=r},WriteByte:function(n){var t,i,r;this._isOpen||System.IO.__Error.StreamIsClosed();this.EnsureWriteable();this._position>=this._length&&(t=this._position+1|0,i=this._position>this._length,t>=this._capacity&&(r=this.EnsureCapacity(t),r&&(i=!1)),i&&System.Array.fill(this._buffer,0,this._length,this._position-this._length|0),this._length=t);this._buffer[System.Array.index(H5.identity(this._position,this._position=this._position+1|0),this._buffer)]=n},WriteTo:function(n){if(n==null)throw new System.ArgumentNullException.$ctor3("stream","ArgumentNull_Stream");this._isOpen||System.IO.__Error.StreamIsClosed();n.Write(this._buffer,this._origin,this._length-this._origin|0)}}});H5.define("System.IO.ReadLinesIterator",{inherits:[System.IO.Iterator$1(System.String)],statics:{methods:{CreateIterator:function(n,t){return System.IO.ReadLinesIterator.CreateIterator$1(n,t,null)},CreateIterator$1:function(n,t,i){return new System.IO.ReadLinesIterator(n,t,i||new System.IO.StreamReader.$ctor9(n,t))}}},fields:{_path:null,_encoding:null,_reader:null},alias:["moveNext","System$Collections$IEnumerator$moveNext"],ctors:{ctor:function(n,t,i){this.$initialize();System.IO.Iterator$1(System.String).ctor.call(this);this._path=n;this._encoding=t;this._reader=i}},methods:{moveNext:function(){if(this._reader!=null){if(this.current=this._reader.ReadLine(),this.current!=null)return!0;this.Dispose()}return!1},Clone:function(){return System.IO.ReadLinesIterator.CreateIterator$1(this._path,this._encoding,this._reader)},Dispose$1:function(n){try{n&&this._reader!=null&&this._reader.Dispose()}finally{this._reader=null;System.IO.Iterator$1(System.String).prototype.Dispose$1.call(this,n)}}}});H5.define("System.IO.SeekOrigin",{$kind:"enum",statics:{fields:{Begin:0,Current:1,End:2}}});H5.define("System.IO.Stream.NullStream",{inherits:[System.IO.Stream],$kind:"nested class",props:{CanRead:{get:function(){return!0}},CanWrite:{get:function(){return!0}},CanSeek:{get:function(){return!0}},Length:{get:function(){return System.Int64(0)}},Position:{get:function(){return System.Int64(0)},set:function(n){}}},ctors:{ctor:function(){this.$initialize();System.IO.Stream.ctor.call(this)}},methods:{Dispose$1:function(n){},Flush:function(){},BeginRead:function(n,t,i,r,u){return this.CanRead||System.IO.__Error.ReadNotSupported(),this.BlockingBeginRead(n,t,i,r,u)},EndRead:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("asyncResult");return System.IO.Stream.BlockingEndRead(n)},BeginWrite:function(n,t,i,r,u){return this.CanWrite||System.IO.__Error.WriteNotSupported(),this.BlockingBeginWrite(n,t,i,r,u)},EndWrite:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("asyncResult");System.IO.Stream.BlockingEndWrite(n)},Read:function(n,t,i){return 0},ReadByte:function(){return-1},Write:function(n,t,i){},WriteByte:function(n){},Seek:function(n,t){return System.Int64(0)},SetLength:function(n){}}});H5.define("System.IO.Stream.SynchronousAsyncResult",{inherits:[System.IAsyncResult],$kind:"nested class",statics:{methods:{EndRead:function(n){var t=H5.as(n,System.IO.Stream.SynchronousAsyncResult);return(t==null||t._isWrite)&&System.IO.__Error.WrongAsyncResult(),t._endXxxCalled&&System.IO.__Error.EndReadCalledTwice(),t._endXxxCalled=!0,t.ThrowIfError(),t._bytesRead},EndWrite:function(n){var t=H5.as(n,System.IO.Stream.SynchronousAsyncResult);t!=null&&t._isWrite||System.IO.__Error.WrongAsyncResult();t._endXxxCalled&&System.IO.__Error.EndWriteCalledTwice();t._endXxxCalled=!0;t.ThrowIfError()}}},fields:{_stateObject:null,_isWrite:!1,_exceptionInfo:null,_endXxxCalled:!1,_bytesRead:0},props:{IsCompleted:{get:function(){return!0}},AsyncState:{get:function(){return this._stateObject}},CompletedSynchronously:{get:function(){return!0}}},alias:["IsCompleted","System$IAsyncResult$IsCompleted","AsyncState","System$IAsyncResult$AsyncState","CompletedSynchronously","System$IAsyncResult$CompletedSynchronously"],ctors:{$ctor1:function(n,t){this.$initialize();this._bytesRead=n;this._stateObject=t},$ctor2:function(n){this.$initialize();this._stateObject=n;this._isWrite=!0},ctor:function(n,t,i){this.$initialize();this._exceptionInfo=n;this._stateObject=t;this._isWrite=i}},methods:{ThrowIfError:function(){if(this._exceptionInfo!=null)throw this._exceptionInfo;}}});H5.define("System.IO.TextReader",{inherits:[System.IDisposable],statics:{fields:{Null:null},ctors:{init:function(){this.Null=new System.IO.TextReader.NullTextReader}},methods:{Synchronized:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("reader");return n}}},alias:["Dispose","System$IDisposable$Dispose"],ctors:{ctor:function(){this.$initialize()}},methods:{Close:function(){this.Dispose$1(!0)},Dispose:function(){this.Dispose$1(!0)},Dispose$1:function(n){},Peek:function(){return-1},Read:function(){return-1},Read$1:function(n,t,i){var r,u;if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;r=0;do{if(u=this.Read(),u===-1)break;n[System.Array.index(t+H5.identity(r,r=r+1|0)|0,n)]=u&65535}while(r<i);return r},ReadToEndAsync:function(){return System.Threading.Tasks.Task.fromResult(this.ReadToEnd(),System.String)},ReadToEnd:function(){for(var n=System.Array.init(4096,0,System.Char),t,i=new System.Text.StringBuilder("",4096);(t=this.Read$1(n,0,n.length))!==0;)i.append(System.String.fromCharArray(n,0,t));return i.toString()},ReadBlock:function(n,t,i){var u,r=0;do r=r+(u=this.Read$1(n,t+r|0,i-r|0))|0;while(u>0&&r<i);return r},ReadLine:function(){for(var t=new System.Text.StringBuilder,n;;){if(n=this.Read(),n===-1)break;if(n===13||n===10)return n===13&&this.Peek()===10&&this.Read(),t.toString();t.append(String.fromCharCode(n&65535))}return t.getLength()>0?t.toString():null}}});H5.define("System.IO.StreamReader",{inherits:[System.IO.TextReader],statics:{fields:{DefaultFileStreamBufferSize:0,MinBufferSize:0,Null:null},props:{DefaultBufferSize:{get:function(){return 1024}}},ctors:{init:function(){this.DefaultFileStreamBufferSize=4096;this.MinBufferSize=128;this.Null=new System.IO.StreamReader.NullStreamReader}}},fields:{stream:null,encoding:null,byteBuffer:null,charBuffer:null,charPos:0,charLen:0,byteLen:0,bytePos:0,_maxCharsPerBuffer:0,_detectEncoding:!1,_isBlocked:!1,_closable:!1},props:{CurrentEncoding:{get:function(){return this.encoding}},BaseStream:{get:function(){return this.stream}},LeaveOpen:{get:function(){return!this._closable}},EndOfStream:{get:function(){if(this.stream==null&&System.IO.__Error.ReaderClosed(),this.charPos<this.charLen)return!1;var n=this.ReadBuffer();return n===0}}},ctors:{ctor:function(){this.$initialize();System.IO.TextReader.ctor.call(this)},$ctor1:function(n){System.IO.StreamReader.$ctor2.call(this,n,!0)},$ctor2:function(n,t){System.IO.StreamReader.$ctor6.call(this,n,System.Text.Encoding.UTF8,t,System.IO.StreamReader.DefaultBufferSize,!1)},$ctor3:function(n,t){System.IO.StreamReader.$ctor6.call(this,n,t,!0,System.IO.StreamReader.DefaultBufferSize,!1)},$ctor4:function(n,t,i){System.IO.StreamReader.$ctor6.call(this,n,t,i,System.IO.StreamReader.DefaultBufferSize,!1)},$ctor5:function(n,t,i,r){System.IO.StreamReader.$ctor6.call(this,n,t,i,r,!1)},$ctor6:function(n,t,i,r,u){if(this.$initialize(),System.IO.TextReader.ctor.call(this),n==null||t==null)throw new System.ArgumentNullException.$ctor1(n==null?"stream":"encoding");if(!n.CanRead)throw new System.ArgumentException.ctor;if(r<=0)throw new System.ArgumentOutOfRangeException.$ctor1("bufferSize");this.Init$1(n,t,i,r,u)},$ctor7:function(n){System.IO.StreamReader.$ctor8.call(this,n,!0)},$ctor8:function(n,t){System.IO.StreamReader.$ctor11.call(this,n,System.Text.Encoding.UTF8,t,System.IO.StreamReader.DefaultBufferSize)},$ctor9:function(n,t){System.IO.StreamReader.$ctor11.call(this,n,t,!0,System.IO.StreamReader.DefaultBufferSize)},$ctor10:function(n,t,i){System.IO.StreamReader.$ctor11.call(this,n,t,i,System.IO.StreamReader.DefaultBufferSize)},$ctor11:function(n,t,i,r){System.IO.StreamReader.$ctor12.call(this,n,t,i,r,!0)},$ctor12:function(n,t,i,r,u){if(this.$initialize(),System.IO.TextReader.ctor.call(this),n==null||t==null)throw new System.ArgumentNullException.$ctor1(n==null?"path":"encoding");if(n.length===0)throw new System.ArgumentException.ctor;if(r<=0)throw new System.ArgumentOutOfRangeException.$ctor1("bufferSize");var f=new System.IO.FileStream.$ctor1(n,3);this.Init$1(f,t,i,r,!1)}},methods:{Init$1:function(n,t,i,r,u){this.stream=n;this.encoding=t;r<System.IO.StreamReader.MinBufferSize&&(r=System.IO.StreamReader.MinBufferSize);this.byteBuffer=System.Array.init(r,0,System.Byte);this._maxCharsPerBuffer=t.GetMaxCharCount(r);this.charBuffer=System.Array.init(this._maxCharsPerBuffer,0,System.Char);this.byteLen=0;this.bytePos=0;this._detectEncoding=i;this._isBlocked=!1;this._closable=!u},Init:function(n){this.stream=n;this._closable=!0},Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){try{!this.LeaveOpen&&n&&this.stream!=null&&this.stream.Close()}finally{this.LeaveOpen||this.stream==null||(this.stream=null,this.encoding=null,this.byteBuffer=null,this.charBuffer=null,this.charPos=0,this.charLen=0,System.IO.TextReader.prototype.Dispose$1.call(this,n))}},DiscardBufferedData:function(){this.byteLen=0;this.charLen=0;this.charPos=0;this._isBlocked=!1},Peek:function(){return(this.stream==null&&System.IO.__Error.ReaderClosed(),this.charPos===this.charLen&&(this._isBlocked||this.ReadBuffer()===0))?-1:this.charBuffer[System.Array.index(this.charPos,this.charBuffer)]},Read:function(){if(this.stream==null&&System.IO.__Error.ReaderClosed(),this.charPos===this.charLen&&this.ReadBuffer()===0)return-1;var n=this.charBuffer[System.Array.index(this.charPos,this.charBuffer)];return this.charPos=this.charPos+1|0,n},Read$1:function(n,t,i){var u,f,r;if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0||i<0)throw new System.ArgumentOutOfRangeException.$ctor1(t<0?"index":"count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;for(this.stream==null&&System.IO.__Error.ReaderClosed(),u=0,f={v:!1};i>0;){if(r=this.charLen-this.charPos|0,r===0&&(r=this.ReadBuffer$1(n,t+u|0,i,f)),r===0)break;if(r>i&&(r=i),f.v||(System.Array.copy(this.charBuffer,this.charPos,n,t+u|0,r),this.charPos=this.charPos+r|0),u=u+r|0,i=i-r|0,this._isBlocked)break}return u},ReadToEndAsync:function(){var n=0,t,i,f,o,r=new System.Threading.Tasks.TaskCompletionSource,s,e,u=H5.fn.bind(this,function(){try{for(;;){n=System.Array.min([0,1,2,3,4],n);switch(n){case 0:if(H5.is(this.stream,System.IO.FileStream)){n=1;continue}n=3;continue;case 1:if(t=this.stream.EnsureBufferAsync(),n=2,t.isCompleted())continue;t.continue(u);return;case 2:t.getAwaitedResult();n=3;continue;case 3:if(i=System.IO.TextReader.prototype.ReadToEndAsync.call(this),n=4,i.isCompleted())continue;i.continue(u);return;case 4:f=i.getAwaitedResult();r.setResult(f);return;default:r.setResult(null);return}}}catch(o){e=System.Exception.create(o);r.setException(e)}},arguments);return u(),r.task},ReadToEnd:function(){this.stream==null&&System.IO.__Error.ReaderClosed();var n=new System.Text.StringBuilder("",this.charLen-this.charPos|0);do n.append(System.String.fromCharArray(this.charBuffer,this.charPos,this.charLen-this.charPos|0)),this.charPos=this.charLen,this.ReadBuffer();while(this.charLen>0);return n.toString()},ReadBlock:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0||i<0)throw new System.ArgumentOutOfRangeException.$ctor1(t<0?"index":"count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;return this.stream==null&&System.IO.__Error.ReaderClosed(),System.IO.TextReader.prototype.ReadBlock.call(this,n,t,i)},CompressBuffer:function(n){System.Array.copy(this.byteBuffer,n,this.byteBuffer,0,this.byteLen-n|0);this.byteLen=this.byteLen-n|0},DetectEncoding:function(){if(!(this.byteLen<2)){this._detectEncoding=!1;var n=!1;this.byteBuffer[System.Array.index(0,this.byteBuffer)]===254&&this.byteBuffer[System.Array.index(1,this.byteBuffer)]===255?(this.encoding=new System.Text.UnicodeEncoding.$ctor1(!0,!0),this.CompressBuffer(2),n=!0):this.byteBuffer[System.Array.index(0,this.byteBuffer)]===255&&this.byteBuffer[System.Array.index(1,this.byteBuffer)]===254?this.byteLen<4||this.byteBuffer[System.Array.index(2,this.byteBuffer)]!==0||this.byteBuffer[System.Array.index(3,this.byteBuffer)]!==0?(this.encoding=new System.Text.UnicodeEncoding.$ctor1(!1,!0),this.CompressBuffer(2),n=!0):(this.encoding=new System.Text.UTF32Encoding.$ctor1(!1,!0),this.CompressBuffer(4),n=!0):this.byteLen>=3&&this.byteBuffer[System.Array.index(0,this.byteBuffer)]===239&&this.byteBuffer[System.Array.index(1,this.byteBuffer)]===187&&this.byteBuffer[System.Array.index(2,this.byteBuffer)]===191?(this.encoding=System.Text.Encoding.UTF8,this.CompressBuffer(3),n=!0):this.byteLen>=4&&this.byteBuffer[System.Array.index(0,this.byteBuffer)]===0&&this.byteBuffer[System.Array.index(1,this.byteBuffer)]===0&&this.byteBuffer[System.Array.index(2,this.byteBuffer)]===254&&this.byteBuffer[System.Array.index(3,this.byteBuffer)]===255?(this.encoding=new System.Text.UTF32Encoding.$ctor1(!0,!0),this.CompressBuffer(4),n=!0):this.byteLen===2&&(this._detectEncoding=!0);n&&(this._maxCharsPerBuffer=this.encoding.GetMaxCharCount(this.byteBuffer.length),this.charBuffer=System.Array.init(this._maxCharsPerBuffer,0,System.Char))}},IsPreamble:function(){return!1},ReadBuffer:function(){this.charLen=0;this.charPos=0;this.byteLen=0;do{if(this.byteLen=this.stream.Read(this.byteBuffer,0,this.byteBuffer.length),this.byteLen===0)return this.charLen;(this._isBlocked=this.byteLen<this.byteBuffer.length,this.IsPreamble())||(this._detectEncoding&&this.byteLen>=2&&this.DetectEncoding(),this.charLen=this.charLen+this.encoding.GetChars$2(this.byteBuffer,0,this.byteLen,this.charBuffer,this.charLen)|0)}while(this.charLen===0);return this.charLen},ReadBuffer$1:function(n,t,i,r){this.charLen=0;this.charPos=0;this.byteLen=0;var u=0;r.v=i>=this._maxCharsPerBuffer;do{if(this.byteLen=this.stream.Read(this.byteBuffer,0,this.byteBuffer.length),this.byteLen===0)break;(this._isBlocked=this.byteLen<this.byteBuffer.length,this.IsPreamble())||(this._detectEncoding&&this.byteLen>=2&&(this.DetectEncoding(),r.v=i>=this._maxCharsPerBuffer),this.charPos=0,r.v?(u=u+this.encoding.GetChars$2(this.byteBuffer,0,this.byteLen,n,t+u|0)|0,this.charLen=0):(u=this.encoding.GetChars$2(this.byteBuffer,0,this.byteLen,this.charBuffer,u),this.charLen=this.charLen+u|0))}while(u===0);return this._isBlocked=!!(this._isBlocked&u<i),u},ReadLine:function(){var t,n,i,r;if(this.stream==null&&System.IO.__Error.ReaderClosed(),this.charPos===this.charLen&&this.ReadBuffer()===0)return null;t=null;do{n=this.charPos;do{if(i=this.charBuffer[System.Array.index(n,this.charBuffer)],i===13||i===10)return t!=null?(t.append(System.String.fromCharArray(this.charBuffer,this.charPos,n-this.charPos|0)),r=t.toString()):r=System.String.fromCharArray(this.charBuffer,this.charPos,n-this.charPos|0),this.charPos=n+1|0,i===13&&(this.charPos<this.charLen||this.ReadBuffer()>0)&&this.charBuffer[System.Array.index(this.charPos,this.charBuffer)]===10&&(this.charPos=this.charPos+1|0),r;n=n+1|0}while(n<this.charLen);n=this.charLen-this.charPos|0;t==null&&(t=new System.Text.StringBuilder("",n+80|0));t.append(System.String.fromCharArray(this.charBuffer,this.charPos,n))}while(this.ReadBuffer()>0);return t.toString()}}});H5.define("System.IO.StreamReader.NullStreamReader",{inherits:[System.IO.StreamReader],$kind:"nested class",props:{BaseStream:{get:function(){return System.IO.Stream.Null}},CurrentEncoding:{get:function(){return System.Text.Encoding.Unicode}}},ctors:{ctor:function(){this.$initialize();System.IO.StreamReader.ctor.call(this);this.Init(System.IO.Stream.Null)}},methods:{Dispose$1:function(n){},Peek:function(){return-1},Read:function(){return-1},Read$1:function(n,t,i){return 0},ReadLine:function(){return null},ReadToEnd:function(){return""},ReadBuffer:function(){return 0}}});H5.define("System.IO.TextWriter",{inherits:[System.IDisposable],statics:{fields:{InitialNewLine:null,Null:null},ctors:{init:function(){this.InitialNewLine="\r\n";this.Null=new System.IO.TextWriter.NullTextWriter}},methods:{Synchronized:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("writer");return n}}},fields:{CoreNewLine:null,InternalFormatProvider:null},props:{FormatProvider:{get:function(){return this.InternalFormatProvider==null?System.Globalization.CultureInfo.getCurrentCulture():this.InternalFormatProvider}},NewLine:{get:function(){return System.String.fromCharArray(this.CoreNewLine)},set:function(n){n==null&&(n=System.IO.TextWriter.InitialNewLine);this.CoreNewLine=System.String.toCharArray(n,0,n.length)}}},alias:["Dispose","System$IDisposable$Dispose"],ctors:{init:function(){this.CoreNewLine=System.Array.init([13,10],System.Char)},ctor:function(){this.$initialize();this.InternalFormatProvider=null},$ctor1:function(n){this.$initialize();this.InternalFormatProvider=n}},methods:{Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){},Dispose:function(){this.Dispose$1(!0)},Flush:function(){},Write$1:function(n){},Write$2:function(n){n!=null&&this.Write$3(n,0,n.length)},Write$3:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;for(var r=0;r<i;r=r+1|0)this.Write$1(n[System.Array.index(t+r|0,n)])},Write:function(n){this.Write$10(n?System.Boolean.trueString:System.Boolean.falseString)},Write$6:function(n){this.Write$10(System.Int32.format(n,"G",this.FormatProvider))},Write$15:function(n){this.Write$10(System.UInt32.format(n,"G",this.FormatProvider))},Write$7:function(n){this.Write$10(n.format("G",this.FormatProvider))},Write$16:function(n){this.Write$10(n.format("G",this.FormatProvider))},Write$9:function(n){this.Write$10(System.Single.format(n,"G",this.FormatProvider))},Write$5:function(n){this.Write$10(System.Double.format(n,"G",this.FormatProvider))},Write$4:function(n){this.Write$10(H5.Int.format(n,"G",this.FormatProvider))},Write$10:function(n){n!=null&&this.Write$2(System.String.toCharArray(n,0,n.length))},Write$8:function(n){if(n!=null){var t;(t=H5.as(n,System.IFormattable))!=null?this.Write$10(H5.format(t,null,this.FormatProvider)):this.Write$10(H5.toString(n))}},Write$11:function(n,t){this.Write$10(System.String.formatProvider(this.FormatProvider,n,[t]))},Write$12:function(n,t,i){this.Write$10(System.String.formatProvider(this.FormatProvider,n,t,i))},Write$13:function(n,t,i,r){this.Write$10(System.String.formatProvider(this.FormatProvider,n,t,i,r))},Write$14:function(n,t){t===void 0&&(t=[]);this.Write$10(System.String.formatProvider.apply(System.String,[this.FormatProvider,n].concat(t)))},WriteLine:function(){this.Write$2(this.CoreNewLine)},WriteLine$2:function(n){this.Write$1(n);this.WriteLine()},WriteLine$3:function(n){this.Write$2(n);this.WriteLine()},WriteLine$4:function(n,t,i){this.Write$3(n,t,i);this.WriteLine()},WriteLine$1:function(n){this.Write(n);this.WriteLine()},WriteLine$7:function(n){this.Write$6(n);this.WriteLine()},WriteLine$16:function(n){this.Write$15(n);this.WriteLine()},WriteLine$8:function(n){this.Write$7(n);this.WriteLine()},WriteLine$17:function(n){this.Write$16(n);this.WriteLine()},WriteLine$10:function(n){this.Write$9(n);this.WriteLine()},WriteLine$6:function(n){this.Write$5(n);this.WriteLine()},WriteLine$5:function(n){this.Write$4(n);this.WriteLine()},WriteLine$11:function(n){if(n==null)this.WriteLine();else{var i=n.length,r=this.CoreNewLine.length,t=System.Array.init(i+r|0,0,System.Char);System.String.copyTo(n,0,t,0,i);r===2?(t[System.Array.index(i,t)]=this.CoreNewLine[System.Array.index(0,this.CoreNewLine)],t[System.Array.index(i+1|0,t)]=this.CoreNewLine[System.Array.index(1,this.CoreNewLine)]):r===1?t[System.Array.index(i,t)]=this.CoreNewLine[System.Array.index(0,this.CoreNewLine)]:System.Array.copy(this.CoreNewLine,0,t,H5.Int.mul(i,2),H5.Int.mul(r,2));this.Write$3(t,0,i+r|0)}},WriteLine$9:function(n){if(n==null)this.WriteLine();else{var t;(t=H5.as(n,System.IFormattable))!=null?this.WriteLine$11(H5.format(t,null,this.FormatProvider)):this.WriteLine$11(H5.toString(n))}},WriteLine$12:function(n,t){this.WriteLine$11(System.String.formatProvider(this.FormatProvider,n,[t]))},WriteLine$13:function(n,t,i){this.WriteLine$11(System.String.formatProvider(this.FormatProvider,n,t,i))},WriteLine$14:function(n,t,i,r){this.WriteLine$11(System.String.formatProvider(this.FormatProvider,n,t,i,r))},WriteLine$15:function(n,t){t===void 0&&(t=[]);this.WriteLine$11(System.String.formatProvider.apply(System.String,[this.FormatProvider,n].concat(t)))}}});H5.define("System.IO.StreamWriter",{inherits:[System.IO.TextWriter],statics:{fields:{DefaultBufferSize:0,DefaultFileStreamBufferSize:0,MinBufferSize:0,Null:null,_UTF8NoBOM:null},props:{UTF8NoBOM:{get:function(){if(System.IO.StreamWriter._UTF8NoBOM==null){var n=new System.Text.UTF8Encoding.$ctor2(!1,!0);System.IO.StreamWriter._UTF8NoBOM=n}return System.IO.StreamWriter._UTF8NoBOM}}},ctors:{init:function(){this.DefaultBufferSize=1024;this.DefaultFileStreamBufferSize=4096;this.MinBufferSize=128;this.Null=new System.IO.StreamWriter.$ctor4(System.IO.Stream.Null,new System.Text.UTF8Encoding.$ctor2(!1,!0),System.IO.StreamWriter.MinBufferSize,!0)}}},fields:{stream:null,encoding:null,byteBuffer:null,charBuffer:null,charPos:0,charLen:0,autoFlush:!1,haveWrittenPreamble:!1,closable:!1},props:{AutoFlush:{get:function(){return this.autoFlush},set:function(n){this.autoFlush=n;n&&this.Flush$1(!0,!1)}},BaseStream:{get:function(){return this.stream}},LeaveOpen:{get:function(){return!this.closable}},HaveWrittenPreamble:{set:function(n){this.haveWrittenPreamble=n}},Encoding:{get:function(){return this.encoding}}},ctors:{ctor:function(){this.$initialize();System.IO.TextWriter.$ctor1.call(this,null)},$ctor1:function(n){System.IO.StreamWriter.$ctor4.call(this,n,System.IO.StreamWriter.UTF8NoBOM,System.IO.StreamWriter.DefaultBufferSize,!1)},$ctor2:function(n,t){System.IO.StreamWriter.$ctor4.call(this,n,t,System.IO.StreamWriter.DefaultBufferSize,!1)},$ctor3:function(n,t,i){System.IO.StreamWriter.$ctor4.call(this,n,t,i,!1)},$ctor4:function(n,t,i,r){if(this.$initialize(),System.IO.TextWriter.$ctor1.call(this,null),n==null||t==null)throw new System.ArgumentNullException.$ctor1(n==null?"stream":"encoding");if(!n.CanWrite)throw new System.ArgumentException.$ctor1("Argument_StreamNotWritable");if(i<=0)throw new System.ArgumentOutOfRangeException.$ctor4("bufferSize","ArgumentOutOfRange_NeedPosNum");this.Init(n,t,i,r)},$ctor5:function(n){System.IO.StreamWriter.$ctor8.call(this,n,!1,System.IO.StreamWriter.UTF8NoBOM,System.IO.StreamWriter.DefaultBufferSize)},$ctor6:function(n,t){System.IO.StreamWriter.$ctor8.call(this,n,t,System.IO.StreamWriter.UTF8NoBOM,System.IO.StreamWriter.DefaultBufferSize)},$ctor7:function(n,t,i){System.IO.StreamWriter.$ctor8.call(this,n,t,i,System.IO.StreamWriter.DefaultBufferSize)},$ctor8:function(n,t,i,r){System.IO.StreamWriter.$ctor9.call(this,n,t,i,r,!0)},$ctor9:function(n,t,i,r,u){this.$initialize();System.IO.TextWriter.$ctor1.call(this,null);throw new System.NotSupportedException.ctor;}},methods:{Init:function(n,t,i,r){this.stream=n;this.encoding=t;i<System.IO.StreamWriter.MinBufferSize&&(i=System.IO.StreamWriter.MinBufferSize);this.charBuffer=System.Array.init(i,0,System.Char);this.byteBuffer=System.Array.init(this.encoding.GetMaxByteCount(i),0,System.Byte);this.charLen=i;this.stream.CanSeek&&this.stream.Position.gt(System.Int64(0))&&(this.haveWrittenPreamble=!0);this.closable=!r},Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){try{this.stream!=null&&n&&this.Flush$1(!0,!0)}finally{if(!this.LeaveOpen&&this.stream!=null)try{n&&this.stream.Close()}finally{this.stream=null;this.byteBuffer=null;this.charBuffer=null;this.encoding=null;this.charLen=0;System.IO.TextWriter.prototype.Dispose$1.call(this,n)}}},Flush:function(){this.Flush$1(!0,!0)},Flush$1:function(n,t){if(this.stream==null&&System.IO.__Error.WriterClosed(),this.charPos!==0||n||t){var i=this.encoding.GetBytes$3(this.charBuffer,0,this.charPos,this.byteBuffer,0);this.charPos=0;i>0&&this.stream.Write(this.byteBuffer,0,i);n&&this.stream.Flush()}},Write$1:function(n){this.charPos===this.charLen&&this.Flush$1(!1,!1);this.charBuffer[System.Array.index(this.charPos,this.charBuffer)]=n;this.charPos=this.charPos+1|0;this.autoFlush&&this.Flush$1(!0,!1)},Write$2:function(n){var r,i,t;if(n!=null){for(r=0,i=n.length;i>0;)this.charPos===this.charLen&&this.Flush$1(!1,!1),t=this.charLen-this.charPos|0,t>i&&(t=i),System.Array.copy(n,r,this.charBuffer,this.charPos,t),this.charPos=this.charPos+t|0,r=r+t|0,i=i-t|0;this.autoFlush&&this.Flush$1(!0,!1)}},Write$3:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor3("buffer","ArgumentNull_Buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("index","ArgumentOutOfRange_NeedNonNegNum");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("count","ArgumentOutOfRange_NeedNonNegNum");if((n.length-t|0)<i)throw new System.ArgumentException.$ctor1("Argument_InvalidOffLen");while(i>0){this.charPos===this.charLen&&this.Flush$1(!1,!1);var r=this.charLen-this.charPos|0;r>i&&(r=i);System.Array.copy(n,t,this.charBuffer,this.charPos,r);this.charPos=this.charPos+r|0;t=t+r|0;i=i-r|0}this.autoFlush&&this.Flush$1(!0,!1)},Write$10:function(n){var i,r,t;if(n!=null){for(i=n.length,r=0;i>0;)this.charPos===this.charLen&&this.Flush$1(!1,!1),t=this.charLen-this.charPos|0,t>i&&(t=i),System.String.copyTo(n,r,this.charBuffer,this.charPos,t),this.charPos=this.charPos+t|0,r=r+t|0,i=i-t|0;this.autoFlush&&this.Flush$1(!0,!1)}}}});H5.define("System.IO.StringReader",{inherits:[System.IO.TextReader],fields:{_s:null,_pos:0,_length:0},ctors:{ctor:function(n){if(this.$initialize(),System.IO.TextReader.ctor.call(this),n==null)throw new System.ArgumentNullException.$ctor1("s");this._s=n;this._length=n==null?0:n.length}},methods:{Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){this._s=null;this._pos=0;this._length=0;System.IO.TextReader.prototype.Dispose$1.call(this,n)},Peek:function(){return(this._s==null&&System.IO.__Error.ReaderClosed(),this._pos===this._length)?-1:this._s.charCodeAt(this._pos)},Read:function(){return(this._s==null&&System.IO.__Error.ReaderClosed(),this._pos===this._length)?-1:this._s.charCodeAt(H5.identity(this._pos,this._pos=this._pos+1|0))},Read$1:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;this._s==null&&System.IO.__Error.ReaderClosed();var r=this._length-this._pos|0;return r>0&&(r>i&&(r=i),System.String.copyTo(this._s,this._pos,n,t,r),this._pos=this._pos+r|0),r},ReadToEnd:function(){this._s==null&&System.IO.__Error.ReaderClosed();var n;return n=this._pos===0?this._s:this._s.substr(this._pos,this._length-this._pos|0),this._pos=this._length,n},ReadLine:function(){var n,t,i,r;for(this._s==null&&System.IO.__Error.ReaderClosed(),n=this._pos;n<this._length;){if(t=this._s.charCodeAt(n),t===13||t===10)return i=this._s.substr(this._pos,n-this._pos|0),this._pos=n+1|0,t===13&&this._pos<this._length&&this._s.charCodeAt(this._pos)===10&&(this._pos=this._pos+1|0),i;n=n+1|0}return n>this._pos?(r=this._s.substr(this._pos,n-this._pos|0),this._pos=n,r):null}}});H5.define("System.IO.StringWriter",{inherits:[System.IO.TextWriter],statics:{fields:{m_encoding:null}},fields:{_sb:null,_isOpen:!1},props:{Encoding:{get:function(){return System.IO.StringWriter.m_encoding==null&&(System.IO.StringWriter.m_encoding=new System.Text.UnicodeEncoding.$ctor1(!1,!1)),System.IO.StringWriter.m_encoding}}},ctors:{ctor:function(){System.IO.StringWriter.$ctor3.call(this,new System.Text.StringBuilder,System.Globalization.CultureInfo.getCurrentCulture())},$ctor1:function(n){System.IO.StringWriter.$ctor3.call(this,new System.Text.StringBuilder,n)},$ctor2:function(n){System.IO.StringWriter.$ctor3.call(this,n,System.Globalization.CultureInfo.getCurrentCulture())},$ctor3:function(n,t){if(this.$initialize(),System.IO.TextWriter.$ctor1.call(this,t),n==null)throw new System.ArgumentNullException.$ctor1("sb");this._sb=n;this._isOpen=!0}},methods:{Close:function(){this.Dispose$1(!0)},Dispose$1:function(n){this._isOpen=!1;System.IO.TextWriter.prototype.Dispose$1.call(this,n)},GetStringBuilder:function(){return this._sb},Write$1:function(n){this._isOpen||System.IO.__Error.WriterClosed();this._sb.append(String.fromCharCode(n))},Write$3:function(n,t,i){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor1("index");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor1("count");if((n.length-t|0)<i)throw new System.ArgumentException.ctor;this._isOpen||System.IO.__Error.WriterClosed();this._sb.append(System.String.fromCharArray(n,t,i))},Write$10:function(n){this._isOpen||System.IO.__Error.WriterClosed();n!=null&&this._sb.append(n)},toString:function(){return this._sb.toString()}}});H5.define("System.IO.TextReader.NullTextReader",{inherits:[System.IO.TextReader],$kind:"nested class",ctors:{ctor:function(){this.$initialize();System.IO.TextReader.ctor.call(this)}},methods:{Read$1:function(n,t,i){return 0},ReadLine:function(){return null}}});H5.define("System.IO.TextWriter.NullTextWriter",{inherits:[System.IO.TextWriter],$kind:"nested class",props:{Encoding:{get:function(){return System.Text.Encoding.Default}}},ctors:{ctor:function(){this.$initialize();System.IO.TextWriter.$ctor1.call(this,System.Globalization.CultureInfo.invariantCulture)}},methods:{Write$3:function(n,t,i){},Write$10:function(n){},WriteLine:function(){},WriteLine$11:function(n){},WriteLine$9:function(n){}}});H5.define("System.IO.__Error",{statics:{methods:{EndOfFile:function(){throw new System.IO.EndOfStreamException.$ctor1("IO.EOF_ReadBeyondEOF");},FileNotOpen:function(){throw new System.Exception("ObjectDisposed_FileClosed");},StreamIsClosed:function(){throw new System.Exception("ObjectDisposed_StreamClosed");},MemoryStreamNotExpandable:function(){throw new System.NotSupportedException.$ctor1("NotSupported_MemStreamNotExpandable");},ReaderClosed:function(){throw new System.Exception("ObjectDisposed_ReaderClosed");},ReadNotSupported:function(){throw new System.NotSupportedException.$ctor1("NotSupported_UnreadableStream");},SeekNotSupported:function(){throw new System.NotSupportedException.$ctor1("NotSupported_UnseekableStream");},WrongAsyncResult:function(){throw new System.ArgumentException.$ctor1("Arg_WrongAsyncResult");},EndReadCalledTwice:function(){throw new System.ArgumentException.$ctor1("InvalidOperation_EndReadCalledMultiple");},EndWriteCalledTwice:function(){throw new System.ArgumentException.$ctor1("InvalidOperation_EndWriteCalledMultiple");},WriteNotSupported:function(){throw new System.NotSupportedException.$ctor1("NotSupported_UnwritableStream");},WriterClosed:function(){throw new System.Exception("ObjectDisposed_WriterClosed");}}}});H5.define("System.Reflection.AmbiguousMatchException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Ambiguous match found.");this.HResult=-2147475171},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2147475171},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2147475171}}});H5.define("System.Reflection.Binder",{ctors:{ctor:function(){this.$initialize()}}});H5.define("System.Reflection.BindingFlags",{$kind:"enum",statics:{fields:{Default:0,IgnoreCase:1,DeclaredOnly:2,Instance:4,Static:8,Public:16,NonPublic:32,FlattenHierarchy:64,InvokeMethod:256,CreateInstance:512,GetField:1024,SetField:2048,GetProperty:4096,SetProperty:8192,PutDispProperty:16384,PutRefDispProperty:32768,ExactBinding:65536,SuppressChangeType:131072,OptionalParamBinding:262144,IgnoreReturn:16777216,DoNotWrapExceptions:33554432}},$flags:!0});H5.define("System.Reflection.CallingConventions",{$kind:"enum",statics:{fields:{Standard:1,VarArgs:2,Any:3,HasThis:32,ExplicitThis:64}},$flags:!0});H5.define("System.Reflection.ICustomAttributeProvider",{$kind:"interface"});H5.define("System.Reflection.InvalidFilterCriteriaException",{inherits:[System.ApplicationException],ctors:{ctor:function(){System.Reflection.InvalidFilterCriteriaException.$ctor1.call(this,"Specified filter criteria was invalid.")},$ctor1:function(n){System.Reflection.InvalidFilterCriteriaException.$ctor2.call(this,n,null)},$ctor2:function(n,t){this.$initialize();System.ApplicationException.$ctor2.call(this,n,t);this.HResult=-2146232831}}});H5.define("System.Reflection.IReflect",{$kind:"interface"});H5.define("System.Reflection.MemberTypes",{$kind:"enum",statics:{fields:{Constructor:1,Event:2,Field:4,Method:8,Property:16,TypeInfo:32,Custom:64,NestedType:128,All:191}},$flags:!0});H5.define("System.Reflection.Module",{inherits:[System.Reflection.ICustomAttributeProvider,System.Runtime.Serialization.ISerializable],statics:{fields:{DefaultLookup:0,FilterTypeName:null,FilterTypeNameIgnoreCase:null},ctors:{init:function(){this.DefaultLookup=28;this.FilterTypeName=System.Reflection.Module.FilterTypeNameImpl;this.FilterTypeNameIgnoreCase=System.Reflection.Module.FilterTypeNameIgnoreCaseImpl}},methods:{FilterTypeNameImpl:function(n,t){if(t==null||!H5.is(t,System.String))throw new System.Reflection.InvalidFilterCriteriaException.$ctor1("A String must be provided for the filter criteria.");var i=H5.cast(t,System.String);return i.length>0&&i.charCodeAt(i.length-1|0)===42?(i=i.substr(0,i.length-1|0),System.String.startsWith(H5.Reflection.getTypeName(n),i,4)):System.String.equals(H5.Reflection.getTypeName(n),i)},FilterTypeNameIgnoreCaseImpl:function(n,t){var r,i,u;if(t==null||!H5.is(t,System.String))throw new System.Reflection.InvalidFilterCriteriaException.$ctor1("A String must be provided for the filter criteria.");return(i=H5.cast(t,System.String),i.length>0&&i.charCodeAt(i.length-1|0)===42)?(i=i.substr(0,i.length-1|0),u=H5.Reflection.getTypeName(n),u.length>=i.length?(r=i.length,System.String.compare(u.substr(0,r),i.substr(0,r),5))===0:!1):System.String.compare(i,H5.Reflection.getTypeName(n),5)===0},op_Equality:function(n,t){return H5.referenceEquals(n,t)?!0:n==null||t==null?!1:n.equals(t)},op_Inequality:function(n,t){return!System.Reflection.Module.op_Equality(n,t)}}},props:{Assembly:{get:function(){throw System.NotImplemented.ByDesign;}},FullyQualifiedName:{get:function(){throw System.NotImplemented.ByDesign;}},Name:{get:function(){throw System.NotImplemented.ByDesign;}},MDStreamVersion:{get:function(){throw System.NotImplemented.ByDesign;}},ModuleVersionId:{get:function(){throw System.NotImplemented.ByDesign;}},ScopeName:{get:function(){throw System.NotImplemented.ByDesign;}},MetadataToken:{get:function(){throw System.NotImplemented.ByDesign;}}},alias:["IsDefined","System$Reflection$ICustomAttributeProvider$IsDefined","GetCustomAttributes","System$Reflection$ICustomAttributeProvider$GetCustomAttributes","GetCustomAttributes$1","System$Reflection$ICustomAttributeProvider$GetCustomAttributes$1"],ctors:{ctor:function(){this.$initialize()}},methods:{IsResource:function(){throw System.NotImplemented.ByDesign;},IsDefined:function(n,t){throw System.NotImplemented.ByDesign;},GetCustomAttributes:function(n){throw System.NotImplemented.ByDesign;},GetCustomAttributes$1:function(n,t){throw System.NotImplemented.ByDesign;},GetMethod:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("name");return this.GetMethodImpl(n,System.Reflection.Module.DefaultLookup,null,3,null,null)},GetMethod$2:function(n,t){return this.GetMethod$1(n,System.Reflection.Module.DefaultLookup,null,3,t,null)},GetMethod$1:function(n,t,i,r,u,f){if(n==null)throw new System.ArgumentNullException.$ctor1("name");if(u==null)throw new System.ArgumentNullException.$ctor1("types");for(var e=0;e<u.length;e=e+1|0)if(u[System.Array.index(e,u)]==null)throw new System.ArgumentNullException.$ctor1("types");return this.GetMethodImpl(n,t,i,r,u,f)},GetMethodImpl:function(n,t,i,r,u,f){throw System.NotImplemented.ByDesign;},GetMethods:function(){return this.GetMethods$1(System.Reflection.Module.DefaultLookup)},GetMethods$1:function(n){throw System.NotImplemented.ByDesign;},GetField:function(n){return this.GetField$1(n,System.Reflection.Module.DefaultLookup)},GetField$1:function(n,t){throw System.NotImplemented.ByDesign;},GetFields:function(){return this.GetFields$1(System.Reflection.Module.DefaultLookup)},GetFields$1:function(n){throw System.NotImplemented.ByDesign;},GetTypes:function(){throw System.NotImplemented.ByDesign;},GetType:function(n){return this.GetType$2(n,!1,!1)},GetType$1:function(n,t){return this.GetType$2(n,!1,t)},GetType$2:function(n,t,i){throw System.NotImplemented.ByDesign;},FindTypes:function(n,t){for(var e,u,i=this.GetTypes(),r=0,f=0;f<i.length;f=f+1|0)H5.staticEquals(n,null)||n(i[System.Array.index(f,i)],t)?r=r+1|0:i[System.Array.index(f,i)]=null;if(r===i.length)return i;for(e=System.Array.init(r,null,System.Type),r=0,u=0;u<i.length;u=u+1|0)i[System.Array.index(u,i)]!=null&&(e[System.Array.index(H5.identity(r,r=r+1|0),e)]=i[System.Array.index(u,i)]);return e},ResolveField:function(n){return this.ResolveField$1(n,null,null)},ResolveField$1:function(n,t,i){throw System.NotImplemented.ByDesign;},ResolveMember:function(n){return this.ResolveMember$1(n,null,null)},ResolveMember$1:function(n,t,i){throw System.NotImplemented.ByDesign;},ResolveMethod:function(n){return this.ResolveMethod$1(n,null,null)},ResolveMethod$1:function(n,t,i){throw System.NotImplemented.ByDesign;},ResolveSignature:function(n){throw System.NotImplemented.ByDesign;},ResolveString:function(n){throw System.NotImplemented.ByDesign;},ResolveType:function(n){return this.ResolveType$1(n,null,null)},ResolveType$1:function(n,t,i){throw System.NotImplemented.ByDesign;},equals:function(n){return H5.equals(this,n)},getHashCode:function(){return H5.getHashCode(this)},toString:function(){return this.ScopeName}}});H5.define("System.Reflection.ParameterModifier",{$kind:"struct",statics:{methods:{getDefaultValue:function(){return new System.Reflection.ParameterModifier}}},fields:{_byRef:null},ctors:{$ctor1:function(n){if(this.$initialize(),n<=0)throw new System.ArgumentException.$ctor1("Must specify one or more parameters.");this._byRef=System.Array.init(n,!1,System.Boolean)},ctor:function(){this.$initialize()}},methods:{getItem:function(n){return this._byRef[System.Array.index(n,this._byRef)]},setItem:function(n,t){this._byRef[System.Array.index(n,this._byRef)]=t},getHashCode:function(){return H5.addHash([6723435274,this._byRef])},equals:function(n){return H5.is(n,System.Reflection.ParameterModifier)?H5.equals(this._byRef,n._byRef):!1},$clone:function(n){var t=n||new System.Reflection.ParameterModifier;return t._byRef=this._byRef,t}}});H5.define("System.Reflection.TypeAttributes",{$kind:"enum",statics:{fields:{VisibilityMask:7,NotPublic:0,Public:1,NestedPublic:2,NestedPrivate:3,NestedFamily:4,NestedAssembly:5,NestedFamANDAssem:6,NestedFamORAssem:7,LayoutMask:24,AutoLayout:0,SequentialLayout:8,ExplicitLayout:16,ClassSemanticsMask:32,Class:0,Interface:32,Abstract:128,Sealed:256,SpecialName:1024,Import:4096,Serializable:8192,WindowsRuntime:16384,StringFormatMask:196608,AnsiClass:0,UnicodeClass:65536,AutoClass:131072,CustomFormatClass:196608,CustomFormatMask:12582912,BeforeFieldInit:1048576,RTSpecialName:2048,HasSecurity:262144,ReservedMask:264192}},$flags:!0});H5.define("System.Random",{statics:{fields:{MBIG:0,MSEED:0,MZ:0},ctors:{init:function(){this.MBIG=2147483647;this.MSEED=161803398;this.MZ=0}}},fields:{inext:0,inextp:0,SeedArray:null},ctors:{init:function(){this.SeedArray=System.Array.init(56,0,System.Int32)},ctor:function(){System.Random.$ctor1.call(this,System.Int64.clip32(System.DateTime.getTicks(System.DateTime.getNow())))},$ctor1:function(n){var e,u,i,o,r,f,t;for(this.$initialize(),o=n===-2147483648?2147483647:Math.abs(n),u=System.Random.MSEED-o|0,this.SeedArray[System.Array.index(55,this.SeedArray)]=u,i=1,r=1;r<55;r=r+1|0)e=H5.Int.mul(21,r)%55,this.SeedArray[System.Array.index(e,this.SeedArray)]=i,i=u-i|0,i<0&&(i=i+System.Random.MBIG|0),u=this.SeedArray[System.Array.index(e,this.SeedArray)];for(f=1;f<5;f=f+1|0)for(t=1;t<56;t=t+1|0)this.SeedArray[System.Array.index(t,this.SeedArray)]=this.SeedArray[System.Array.index(t,this.SeedArray)]-this.SeedArray[System.Array.index(1+(t+30|0)%55|0,this.SeedArray)]|0,this.SeedArray[System.Array.index(t,this.SeedArray)]<0&&(this.SeedArray[System.Array.index(t,this.SeedArray)]=this.SeedArray[System.Array.index(t,this.SeedArray)]+System.Random.MBIG|0);this.inext=0;this.inextp=21;n=1}},methods:{Sample:function(){return this.InternalSample()*4656612875245797e-25},InternalSample:function(){var n,t=this.inext,i=this.inextp;return(t=t+1|0)>=56&&(t=1),(i=i+1|0)>=56&&(i=1),n=this.SeedArray[System.Array.index(t,this.SeedArray)]-this.SeedArray[System.Array.index(i,this.SeedArray)]|0,n===System.Random.MBIG&&(n=n-1|0),n<0&&(n=n+System.Random.MBIG|0),this.SeedArray[System.Array.index(t,this.SeedArray)]=n,this.inext=t,this.inextp=i,n},Next:function(){return this.InternalSample()},Next$2:function(n,t){if(n>t)throw new System.ArgumentOutOfRangeException.$ctor4("minValue","'minValue' cannot be greater than maxValue.");var i=System.Int64(t).sub(System.Int64(n));return i.lte(System.Int64(2147483647))?H5.Int.clip32(this.Sample()*System.Int64.toNumber(i))+n|0:System.Int64.clip32(H5.Int.clip64(this.GetSampleForLargeRange()*System.Int64.toNumber(i)).add(System.Int64(n)))},Next$1:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor4("maxValue","'maxValue' must be greater than zero.");return H5.Int.clip32(this.Sample()*n)},GetSampleForLargeRange:function(){var n=this.InternalSample(),i=this.InternalSample()%2==0?!0:!1,t;return i&&(n=-n|0),t=n,t+=2147483646,t/4294967293},NextDouble:function(){return this.Sample()},NextBytes:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("buffer");for(var t=0;t<n.length;t=t+1|0)n[System.Array.index(t,n)]=this.InternalSample()%256&255}}});H5.define("System.RankException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"Attempted to operate on an array with the incorrect number of dimensions.");this.HResult=-2146233065},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233065},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233065}}});H5.define("System.SR",{statics:{fields:{ArgumentException_ValueTupleIncorrectType:null,ArgumentException_ValueTupleLastArgumentNotAValueTuple:null,_lock:null},props:{ResourceManager:null},ctors:{init:function(){this.ArgumentException_ValueTupleIncorrectType="Argument must be of type {0}.";this.ArgumentException_ValueTupleLastArgumentNotAValueTuple="The last element of an eight element ValueTuple must be a ValueTuple.";this._lock={}}},methods:{UsingResourceKeys:function(){return!1},GetResourceString:function(n){return System.SR.GetResourceString$1(n,"")},GetResourceString$1:function(n,t){var r=null;try{r=System.SR.InternalGetResourceString(n)}catch(i){if(i=System.Exception.create(i),!H5.is(i,System.Resources.MissingManifestResourceException))throw i;}return t!=null&&System.String.equals(n,r,4)?t:r},InternalGetResourceString:function(n){return n==null||n.length===0,n},Format$3:function(n,t){return(t===void 0&&(t=[]),t!=null)?System.SR.UsingResourceKeys()?(n||"")+(t.join(", ")||""):System.String.format.apply(System.String,[n].concat(t)):n},Format:function(n,t){return System.SR.UsingResourceKeys()?[n,t].join(", "):System.String.format(n,[t])},Format$1:function(n,t,i){return System.SR.UsingResourceKeys()?[n,t,i].join(", "):System.String.format(n,t,i)},Format$2:function(n,t,i,r){return System.SR.UsingResourceKeys()?[n,t,i,r].join(", "):System.String.format(n,t,i,r)}}}});H5.define("System.StringComparison",{$kind:"enum",statics:{fields:{CurrentCulture:0,CurrentCultureIgnoreCase:1,InvariantCulture:2,InvariantCultureIgnoreCase:3,Ordinal:4,OrdinalIgnoreCase:5}}});H5.define("System.AggregateException",{inherits:[System.Exception],ctor:function(n,t){this.$initialize();this.innerExceptions=new(System.Collections.ObjectModel.ReadOnlyCollection$1(System.Exception))(H5.hasValue(t)?H5.toArray(t):[]);System.Exception.ctor.call(this,n||"One or more errors occurred.",this.innerExceptions.Count>0?this.innerExceptions.getItem(0):null)},handle:function(n){var r,i,t;if(!H5.hasValue(n))throw new System.ArgumentNullException.$ctor1("predicate");for(r=this.innerExceptions.Count,i=[],t=0;t<r;t++)n(this.innerExceptions.get(t))||i.push(this.innerExceptions.getItem(t));if(i.length>0)throw new System.AggregateException(this.Message,i);},getBaseException:function(){for(var n=this,t=this;t!=null&&t.innerExceptions.Count===1;)n=n.InnerException,t=H5.as(n,System.AggregateException);return n},hasTaskCanceledException:function(){for(var t,n=0;n<this.innerExceptions.Count;n++)if(t=this.innerExceptions.getItem(n),H5.is(t,System.Threading.Tasks.TaskCanceledException)||H5.is(t,System.AggregateException)&&t.hasTaskCanceledException())return!0;return!1},flatten:function(){var e=new(System.Collections.Generic.List$1(System.Exception)),n=new(System.Collections.Generic.List$1(System.AggregateException)),r,u,o,t,i,f;for(n.add(this),r=0;n.Count>r;)for(u=n.getItem(r++).innerExceptions,o=u.Count,t=0;t<o;t++)(i=u.getItem(t),H5.hasValue(i))&&(f=H5.as(i,System.AggregateException),H5.hasValue(f)?n.add(f):e.add(i));return new System.AggregateException(this.Message,e)}});H5.define("H5.PromiseException",{inherits:[System.Exception],ctor:function(n,t,i){this.$initialize();this.arguments=System.Array.clone(n);t==null&&(t="Promise exception: [",t+=this.arguments.map(function(n){return n==null?"null":n.toString()}).join(", "),t+="]");System.Exception.ctor.call(this,t,i)},getArguments:function(){return this.arguments}});H5.define("System.ThrowHelper",{statics:{methods:{ThrowArrayTypeMismatchException:function(){throw new System.ArrayTypeMismatchException.ctor;},ThrowInvalidTypeWithPointersNotSupported:function(n){throw new System.ArgumentException.$ctor1(System.SR.Format("Cannot use type '{0}'. Only value types without pointers or references are supported.",n));},ThrowIndexOutOfRangeException:function(){throw new System.IndexOutOfRangeException.ctor;},ThrowArgumentOutOfRangeException:function(){throw new System.ArgumentOutOfRangeException.ctor;},ThrowArgumentOutOfRangeException$1:function(n){throw new System.ArgumentOutOfRangeException.$ctor1(System.ThrowHelper.GetArgumentName(n));},ThrowArgumentOutOfRangeException$2:function(n,t){throw System.ThrowHelper.GetArgumentOutOfRangeException(n,t);},ThrowArgumentOutOfRangeException$3:function(n,t,i){throw System.ThrowHelper.GetArgumentOutOfRangeException$1(n,t,i);},ThrowArgumentException_DestinationTooShort:function(){throw new System.ArgumentException.$ctor1("Destination is too short.");},ThrowArgumentException_OverlapAlignmentMismatch:function(){throw new System.ArgumentException.$ctor1("Overlapping spans have mismatching alignment.");},ThrowArgumentOutOfRange_IndexException:function(){throw System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_Index);},ThrowIndexArgumentOutOfRange_NeedNonNegNumException:function(){throw System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.index,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum);},ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum:function(){throw System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.$length,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum);},ThrowStartIndexArgumentOutOfRange_ArgumentOutOfRange_Index:function(){throw System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.startIndex,System.ExceptionResource.ArgumentOutOfRange_Index);},ThrowCountArgumentOutOfRange_ArgumentOutOfRange_Count:function(){throw System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.count,System.ExceptionResource.ArgumentOutOfRange_Count);},ThrowWrongKeyTypeArgumentException:function(n,t,i){throw System.ThrowHelper.GetWrongKeyTypeArgumentException(t,i);},ThrowWrongValueTypeArgumentException:function(n,t,i){throw System.ThrowHelper.GetWrongValueTypeArgumentException(t,i);},GetAddingDuplicateWithKeyArgumentException:function(n){return new System.ArgumentException.$ctor1(System.SR.Format("An item with the same key has already been added. Key: {0}",n))},ThrowAddingDuplicateWithKeyArgumentException:function(n,t){throw System.ThrowHelper.GetAddingDuplicateWithKeyArgumentException(t);},ThrowKeyNotFoundException:function(n,t){throw System.ThrowHelper.GetKeyNotFoundException(t);},ThrowArgumentException:function(n){throw System.ThrowHelper.GetArgumentException(n);},ThrowArgumentException$1:function(n,t){throw System.ThrowHelper.GetArgumentException$1(n,t);},GetArgumentNullException:function(n){return new System.ArgumentNullException.$ctor1(System.ThrowHelper.GetArgumentName(n))},ThrowArgumentNullException:function(n){throw System.ThrowHelper.GetArgumentNullException(n);},ThrowArgumentNullException$2:function(n){throw new System.ArgumentNullException.$ctor1(System.ThrowHelper.GetResourceString(n));},ThrowArgumentNullException$1:function(n,t){throw new System.ArgumentNullException.$ctor3(System.ThrowHelper.GetArgumentName(n),System.ThrowHelper.GetResourceString(t));},ThrowInvalidOperationException:function(n){throw System.ThrowHelper.GetInvalidOperationException(n);},ThrowInvalidOperationException$1:function(n,t){throw new System.InvalidOperationException.$ctor2(System.ThrowHelper.GetResourceString(n),t);},ThrowInvalidOperationException_OutstandingReferences:function(){System.ThrowHelper.ThrowInvalidOperationException(System.ExceptionResource.Memory_OutstandingReferences)},ThrowSerializationException:function(n){throw new System.Runtime.Serialization.SerializationException.$ctor1(System.ThrowHelper.GetResourceString(n));},ThrowSecurityException:function(n){throw new System.Security.SecurityException.$ctor1(System.ThrowHelper.GetResourceString(n));},ThrowRankException:function(n){throw new System.RankException.$ctor1(System.ThrowHelper.GetResourceString(n));},ThrowNotSupportedException$1:function(n){throw new System.NotSupportedException.$ctor1(System.ThrowHelper.GetResourceString(n));},ThrowNotSupportedException:function(){throw new System.NotSupportedException.ctor;},ThrowUnauthorizedAccessException:function(n){throw new System.UnauthorizedAccessException.$ctor1(System.ThrowHelper.GetResourceString(n));},ThrowObjectDisposedException$1:function(n,t){throw new System.ObjectDisposedException.$ctor3(n,System.ThrowHelper.GetResourceString(t));},ThrowObjectDisposedException:function(n){throw new System.ObjectDisposedException.$ctor3(null,System.ThrowHelper.GetResourceString(n));},ThrowObjectDisposedException_MemoryDisposed:function(){throw new System.ObjectDisposedException.$ctor3("OwnedMemory<T>",System.ThrowHelper.GetResourceString(System.ExceptionResource.MemoryDisposed));},ThrowAggregateException:function(n){throw new System.AggregateException(null,n);},ThrowOutOfMemoryException:function(){throw new System.OutOfMemoryException.ctor;},ThrowArgumentException_Argument_InvalidArrayType:function(){throw System.ThrowHelper.GetArgumentException(System.ExceptionResource.Argument_InvalidArrayType);},ThrowInvalidOperationException_InvalidOperation_EnumNotStarted:function(){throw System.ThrowHelper.GetInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumNotStarted);},ThrowInvalidOperationException_InvalidOperation_EnumEnded:function(){throw System.ThrowHelper.GetInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumEnded);},ThrowInvalidOperationException_EnumCurrent:function(n){throw System.ThrowHelper.GetInvalidOperationException_EnumCurrent(n);},ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion:function(){throw System.ThrowHelper.GetInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumFailedVersion);},ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen:function(){throw System.ThrowHelper.GetInvalidOperationException(System.ExceptionResource.InvalidOperation_EnumOpCantHappen);},ThrowInvalidOperationException_InvalidOperation_NoValue:function(){throw System.ThrowHelper.GetInvalidOperationException(System.ExceptionResource.InvalidOperation_NoValue);},ThrowArraySegmentCtorValidationFailedExceptions:function(n,t,i){throw System.ThrowHelper.GetArraySegmentCtorValidationFailedException(n,t,i);},GetArraySegmentCtorValidationFailedException:function(n,t,i){return n==null?System.ThrowHelper.GetArgumentNullException(System.ExceptionArgument.array):t<0?System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.offset,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum):i<0?System.ThrowHelper.GetArgumentOutOfRangeException(System.ExceptionArgument.count,System.ExceptionResource.ArgumentOutOfRange_NeedNonNegNum):System.ThrowHelper.GetArgumentException(System.ExceptionResource.Argument_InvalidOffLen)},GetArgumentException:function(n){return new System.ArgumentException.$ctor1(System.ThrowHelper.GetResourceString(n))},GetArgumentException$1:function(n,t){return new System.ArgumentException.$ctor3(System.ThrowHelper.GetResourceString(n),System.ThrowHelper.GetArgumentName(t))},GetInvalidOperationException:function(n){return new System.InvalidOperationException.$ctor1(System.ThrowHelper.GetResourceString(n))},GetWrongKeyTypeArgumentException:function(n,t){return new System.ArgumentException.$ctor3(System.SR.Format$1('The value "{0}" is not of type "{1}" and cannot be used in this generic collection.',n,t),"key")},GetWrongValueTypeArgumentException:function(n,t){return new System.ArgumentException.$ctor3(System.SR.Format$1('The value "{0}" is not of type "{1}" and cannot be used in this generic collection.',n,t),"value")},GetKeyNotFoundException:function(n){return new System.Collections.Generic.KeyNotFoundException.$ctor1(System.SR.Format("The given key '{0}' was not present in the dictionary.",H5.toString(n)))},GetArgumentOutOfRangeException:function(n,t){return new System.ArgumentOutOfRangeException.$ctor4(System.ThrowHelper.GetArgumentName(n),System.ThrowHelper.GetResourceString(t))},GetArgumentOutOfRangeException$1:function(n,t,i){return new System.ArgumentOutOfRangeException.$ctor4((System.ThrowHelper.GetArgumentName(n)||"")+"["+(H5.toString(t)||"")+"]",System.ThrowHelper.GetResourceString(i))},GetInvalidOperationException_EnumCurrent:function(n){return System.ThrowHelper.GetInvalidOperationException(n<0?System.ExceptionResource.InvalidOperation_EnumNotStarted:System.ExceptionResource.InvalidOperation_EnumEnded)},IfNullAndNullsAreIllegalThenThrow:function(n,t,i){H5.getDefaultValue(n)==null||t!=null||System.ThrowHelper.ThrowArgumentNullException(i)},GetArgumentName:function(n){return System.Enum.toString(System.ExceptionArgument,n)},GetResourceString:function(n){return System.SR.GetResourceString(System.Enum.toString(System.ExceptionResource,n))},ThrowNotSupportedExceptionIfNonNumericType:function(n){if(!H5.referenceEquals(n,System.Byte)&&!H5.referenceEquals(n,System.SByte)&&!H5.referenceEquals(n,System.Int16)&&!H5.referenceEquals(n,System.UInt16)&&!H5.referenceEquals(n,System.Int32)&&!H5.referenceEquals(n,System.UInt32)&&!H5.referenceEquals(n,System.Int64)&&!H5.referenceEquals(n,System.UInt64)&&!H5.referenceEquals(n,System.Single)&&!H5.referenceEquals(n,System.Double))throw new System.NotSupportedException.$ctor1("Specified type is not supported");}}}});H5.define("System.TimeoutException",{inherits:[System.SystemException],ctors:{ctor:function(){this.$initialize();System.SystemException.$ctor1.call(this,"The operation has timed out.");this.HResult=-2146233083},$ctor1:function(n){this.$initialize();System.SystemException.$ctor1.call(this,n);this.HResult=-2146233083},$ctor2:function(n,t){this.$initialize();System.SystemException.$ctor2.call(this,n,t);this.HResult=-2146233083}}});H5.define("System.RegexMatchTimeoutException",{inherits:[System.TimeoutException],_regexInput:"",_regexPattern:"",_matchTimeout:null,config:{init:function(){this._matchTimeout=System.TimeSpan.fromTicks(-1)}},ctor:function(n,t,i){this.$initialize();arguments.length==3&&(this._regexInput=n,this._regexPattern=t,this._matchTimeout=i,n="The RegEx engine has timed out while trying to match a pattern to an input string. This can occur for many reasons, including very large inputs or excessive backtracking caused by nested quantifiers, back-references and other factors.",t=null);System.TimeoutException.ctor.call(this,n,t)},getPattern:function(){return this._regexPattern},getInput:function(){return this._regexInput},getMatchTimeout:function(){return this._matchTimeout}});H5.define("System.Text.Encoding",{statics:{fields:{_encodings:null},props:{Default:null,Unicode:null,ASCII:null,BigEndianUnicode:null,UTF7:null,UTF8:null,UTF32:null},ctors:{init:function(){this.Default=new System.Text.UnicodeEncoding.$ctor1(!1,!0);this.Unicode=new System.Text.UnicodeEncoding.$ctor1(!1,!0);this.ASCII=new System.Text.ASCIIEncoding;this.BigEndianUnicode=new System.Text.UnicodeEncoding.$ctor1(!0,!0);this.UTF7=new System.Text.UTF7Encoding.ctor;this.UTF8=new System.Text.UTF8Encoding.ctor;this.UTF32=new System.Text.UTF32Encoding.$ctor1(!1,!0)}},methods:{Convert:function(n,t,i){return System.Text.Encoding.Convert$1(n,t,i,0,i.length)},Convert$1:function(n,t,i,r,u){if(n==null||t==null)throw new System.ArgumentNullException.$ctor1(n==null?"srcEncoding":"dstEncoding");if(i==null)throw new System.ArgumentNullException.$ctor1("bytes");return t.GetBytes(n.GetChars$1(i,r,u))},GetEncoding:function(n){switch(n){case 1200:return System.Text.Encoding.Unicode;case 20127:return System.Text.Encoding.ASCII;case 1201:return System.Text.Encoding.BigEndianUnicode;case 65e3:return System.Text.Encoding.UTF7;case 65001:return System.Text.Encoding.UTF8;case 12e3:return System.Text.Encoding.UTF32}throw new System.NotSupportedException.ctor;},GetEncoding$1:function(n){switch(n){case"utf-16":return System.Text.Encoding.Unicode;case"us-ascii":return System.Text.Encoding.ASCII;case"utf-16BE":return System.Text.Encoding.BigEndianUnicode;case"utf-7":return System.Text.Encoding.UTF7;case"utf-8":return System.Text.Encoding.UTF8;case"utf-32":return System.Text.Encoding.UTF32}throw new System.NotSupportedException.ctor;},GetEncodings:function(){if(System.Text.Encoding._encodings!=null)return System.Text.Encoding._encodings;System.Text.Encoding._encodings=System.Array.init(6,null,System.Text.EncodingInfo);var n=System.Text.Encoding._encodings;return n[System.Array.index(0,n)]=new System.Text.EncodingInfo(20127,"us-ascii","US-ASCII"),n[System.Array.index(1,n)]=new System.Text.EncodingInfo(1200,"utf-16","Unicode"),n[System.Array.index(2,n)]=new System.Text.EncodingInfo(1201,"utf-16BE","Unicode (Big-Endian)"),n[System.Array.index(3,n)]=new System.Text.EncodingInfo(65e3,"utf-7","Unicode (UTF-7)"),n[System.Array.index(4,n)]=new System.Text.EncodingInfo(65001,"utf-8","Unicode (UTF-8)"),n[System.Array.index(5,n)]=new System.Text.EncodingInfo(1200,"utf-32","Unicode (UTF-32)"),n}}},fields:{_hasError:!1,fallbackCharacter:0},props:{CodePage:{get:function(){return 0}},EncodingName:{get:function(){return null}}},ctors:{init:function(){this.fallbackCharacter=63}},methods:{Encode$1:function(n,t,i){var r={};return this.Encode$3(System.String.fromCharArray(n,t,i),null,0,r)},Encode$5:function(n,t,i,r,u){var f={};return this.Encode$3(n.substr(t,i),r,u,f),f.v},Encode$4:function(n,t,i,r,u){var f={};return this.Encode$3(System.String.fromCharArray(n,t,i),r,u,f),f.v},Encode:function(n){var t={};return this.Encode$3(System.String.fromCharArray(n),null,0,t)},Encode$2:function(n){var t={};return this.Encode$3(n,null,0,t)},Decode$1:function(n,t,i){return this.Decode$2(n,t,i,null,0)},Decode:function(n){return this.Decode$2(n,0,n.length,null,0)},GetByteCount:function(n){return this.GetByteCount$1(n,0,n.length)},GetByteCount$2:function(n){return this.Encode$2(n).length},GetByteCount$1:function(n,t,i){return this.Encode$1(n,t,i).length},GetBytes:function(n){return this.GetBytes$1(n,0,n.length)},GetBytes$1:function(n,t,i){return this.Encode$2(System.String.fromCharArray(n,t,i))},GetBytes$3:function(n,t,i,r,u){return this.Encode$4(n,t,i,r,u)},GetBytes$2:function(n){return this.Encode$2(n)},GetBytes$4:function(n,t,i,r,u){return this.Encode$5(n,t,i,r,u)},GetCharCount:function(n){return this.Decode(n).length},GetCharCount$1:function(n,t,i){return this.Decode$1(n,t,i).length},GetChars:function(n){var t;return t=this.Decode(n),System.String.toCharArray(t,0,t.length)},GetChars$1:function(n,t,i){var r;return r=this.Decode$1(n,t,i),System.String.toCharArray(r,0,r.length)},GetChars$2:function(n,t,i,r,u){var o=this.Decode$1(n,t,i),e=System.String.toCharArray(o,0,o.length),f;if(r.length<(e.length+u|0))throw new System.ArgumentException.$ctor3(null,"chars");for(f=0;f<e.length;f=f+1|0)r[System.Array.index(u+f|0,r)]=e[System.Array.index(f,e)];return e.length},GetString:function(n){return this.Decode(n)},GetString$1:function(n,t,i){return this.Decode$1(n,t,i)}}});H5.define("System.Text.ASCIIEncoding",{inherits:[System.Text.Encoding],props:{CodePage:{get:function(){return 20127}},EncodingName:{get:function(){return"US-ASCII"}}},methods:{Encode$3:function(n,t,i,r){var e=t!=null,f,u,o,s;for(e||(t=System.Array.init(0,0,System.Byte)),f=0,u=0;u<n.length;u=u+1|0){if(o=n.charCodeAt(u),s=(o<=127?o:this.fallbackCharacter)&255,e){if((u+i|0)>=t.length)throw new System.ArgumentException.$ctor1("bytes");t[System.Array.index(u+i|0,t)]=s}else t.push(s);f=f+1|0}return(r.v=f,e)?null:t},Decode$2:function(n,t,i,r,u){for(var f=t,e="",s=f+i|0,o;f<s;f=f+1|0)o=n[System.Array.index(f,n)],e=o>127?(e||"")+String.fromCharCode(this.fallbackCharacter):(e||"")+(String.fromCharCode(o)||"");return e},GetMaxByteCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("charCount");var t=System.Int64(n).add(System.Int64(1));if(t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("charCount");return System.Int64.clip32(t)},GetMaxCharCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");var t=System.Int64(n);if(t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");return System.Int64.clip32(t)}}});H5.define("System.Text.EncodingInfo",{props:{CodePage:0,Name:null,DisplayName:null},ctors:{ctor:function(n,t,i){var r;this.$initialize();this.CodePage=n;this.Name=t;this.DisplayName=(r=i,r!=null?r:t)}},methods:{GetEncoding:function(){return System.Text.Encoding.GetEncoding(this.CodePage)},getHashCode:function(){return this.CodePage},equals:function(n){var t=H5.as(n,System.Text.EncodingInfo);return System.Nullable.eq(this.CodePage,t!=null?t.CodePage:null)}}});H5.define("System.Text.UnicodeEncoding",{inherits:[System.Text.Encoding],fields:{bigEndian:!1,byteOrderMark:!1,throwOnInvalid:!1},props:{CodePage:{get:function(){return this.bigEndian?1201:1200}},EncodingName:{get:function(){return this.bigEndian?"Unicode (Big-Endian)":"Unicode"}}},ctors:{ctor:function(){System.Text.UnicodeEncoding.$ctor1.call(this,!1,!0)},$ctor1:function(n,t){System.Text.UnicodeEncoding.$ctor2.call(this,n,t,!1)},$ctor2:function(n,t,i){this.$initialize();System.Text.Encoding.ctor.call(this);this.bigEndian=n;this.byteOrderMark=t;this.throwOnInvalid=i;this.fallbackCharacter=65533}},methods:{Encode$3:function(n,t,i,r){var y=t!=null,p=0,e=0,a=this.fallbackCharacter,w=function(n){if(y){if(i>=t.length)throw new System.ArgumentException.$ctor1("bytes");t[System.Array.index(H5.identity(i,i=i+1|0),t)]=n}else t.push(n);p=p+1|0},o=function(n,t){w(n);w(t)},s=f.$.System.Text.UnicodeEncoding.f1,v=H5.fn.bind(this,function(){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF16 text");o(a&255,a>>8&255)}),h,u,c,l;for(y||(t=System.Array.init(0,0,System.Byte)),this.bigEndian&&(a=s(a)),h=0;h<n.length;h=h+1|0){if(u=n.charCodeAt(h),e!==0){if(u>=56320&&u<=57343){this.bigEndian&&(e=s(e),u=s(u));o(e&255,e>>8&255);o(u&255,u>>8&255);e=0;continue}v();e=0}if(55296<=u&&u<=56319){e=u;continue}else if(56320<=u&&u<=57343){v();e=0;continue}u<65536?(this.bigEndian&&(u=s(u)),o(u&255,u>>8&255)):u<=1114111?(u=u-65536,c=(u&1023|56320)&65535,l=(u>>10&1023|55296)&65535,this.bigEndian&&(l=s(l),c=s(c)),o(l&255,l>>8&255),o(c&255,c>>8&255)):v()}return(e!==0&&v(),r.v=p,y)?null:t},Decode$2:function(n,t,i,r,u){var e=t,s="",l=e+i|0,o,v,c;this._hasError=!1;for(var h=H5.fn.bind(this,function(){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF16 text");s=(s||"")+String.fromCharCode(this.fallbackCharacter)}),y=f.$.System.Text.UnicodeEncoding.f2,a=H5.fn.bind(this,function(){if((e+2|0)>l)return e=e+2|0,null;var i=n[System.Array.index(H5.identity(e,e=e+1|0),n)],r=n[System.Array.index(H5.identity(e,e=e+1|0),n)],t=(i<<8|r)&65535;return this.bigEndian||(t=y(t)),t});e<l;)if(o=a(),System.Nullable.hasValue(o))if(System.Nullable.lt(o,55296)||System.Nullable.gt(o,57343))s=(s||"")+(System.String.fromCharCode(System.Nullable.getValue(o))||"");else if(System.Nullable.gte(o,55296)&&System.Nullable.lte(o,56319))if(v=e>=l,c=a(),v)h(),this._hasError=!0;else if(System.Nullable.hasValue(c))if(System.Nullable.gte(c,56320)&&System.Nullable.lte(c,57343)){var p=System.Nullable.band(o,1023),w=System.Nullable.band(c,1023),b=H5.Int.clip32(System.Nullable.add(System.Nullable.bor(System.Nullable.sl(p,10),w),65536));s=(s||"")+(System.String.fromCharCode(System.Nullable.getValue(b))||"")}else h(),e=e-2|0;else h(),h();else h();else h(),this._hasError=!0;return s},GetMaxByteCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("charCount");var t=System.Int64(n).add(System.Int64(1));if(t=t.shl(1),t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("charCount");return System.Int64.clip32(t)},GetMaxCharCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");var t=System.Int64(n>>1).add(System.Int64(n&1)).add(System.Int64(1));if(t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");return System.Int64.clip32(t)}}});H5.ns("System.Text.UnicodeEncoding",f.$);H5.apply(f.$.System.Text.UnicodeEncoding,{f1:function(n){return((n&255)<<8|n>>8&255)&65535},f2:function(n){return((n&255)<<8|n>>8&255)&65535}});H5.define("System.Text.UTF32Encoding",{inherits:[System.Text.Encoding],fields:{bigEndian:!1,byteOrderMark:!1,throwOnInvalid:!1},props:{CodePage:{get:function(){return this.bigEndian?1201:1200}},EncodingName:{get:function(){return this.bigEndian?"Unicode (UTF-32 Big-Endian)":"Unicode (UTF-32)"}}},ctors:{ctor:function(){System.Text.UTF32Encoding.$ctor2.call(this,!1,!0,!1)},$ctor1:function(n,t){System.Text.UTF32Encoding.$ctor2.call(this,n,t,!1)},$ctor2:function(n,t,i){this.$initialize();System.Text.Encoding.ctor.call(this);this.bigEndian=n;this.byteOrderMark=t;this.throwOnInvalid=i;this.fallbackCharacter=65533}},methods:{ToCodePoints:function(n){for(var t,e,o,r=0,u=System.Array.init(0,0,System.Char),f=H5.fn.bind(this,function(){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF32 text");u.push(this.fallbackCharacter)}),i=0;i<n.length;i=i+1|0)t=n.charCodeAt(i),r!==0?(t>=56320&&t<=57343?(e=t,o=(H5.Int.mul(r-55296|0,1024)+65536|0)+(e-56320|0)|0,u.push(o)):(f(),i=i-1|0),r=0):t>=55296&&t<=56319?r=t:t>=56320&&t<=57343?f():u.push(t);return r!==0&&f(),u},Encode$3:function(n,t,i,r){var o=t!=null,s=0,f=function(n){if(o){if(i>=t.length)throw new System.ArgumentException.$ctor1("bytes");t[System.Array.index(H5.identity(i,i=i+1|0),t)]=n}else t.push(n);s=s+1|0},h=H5.fn.bind(this,function(n){var t=System.Array.init(4,0,System.Byte);t[System.Array.index(0,t)]=(n&255)>>>0;t[System.Array.index(1,t)]=(n&65280)>>>0>>>8;t[System.Array.index(2,t)]=(n&16711680)>>>0>>>16;t[System.Array.index(3,t)]=(n&4278190080)>>>0>>>24;this.bigEndian&&t.reverse();f(t[System.Array.index(0,t)]);f(t[System.Array.index(1,t)]);f(t[System.Array.index(2,t)]);f(t[System.Array.index(3,t)])}),e,u;for(o||(t=System.Array.init(0,0,System.Byte)),e=this.ToCodePoints(n),u=0;u<e.length;u=u+1|0)h(e[System.Array.index(u,e)]);return(r.v=s,o)?null:t},Decode$2:function(n,t,i,r,u){var f=t,o="",h=f+i|0,s,c,e;for(this._hasError=!1,s=H5.fn.bind(this,function(){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF32 text");o=(o||"")+(String.fromCharCode(this.fallbackCharacter)||"")}),c=H5.fn.bind(this,function(){var t;if((f+4|0)>h)return f=f+4|0,null;var i=n[System.Array.index(H5.identity(f,f=f+1|0),n)],r=n[System.Array.index(H5.identity(f,f=f+1|0),n)],u=n[System.Array.index(H5.identity(f,f=f+1|0),n)],e=n[System.Array.index(H5.identity(f,f=f+1|0),n)];return this.bigEndian&&(t=r,r=u,u=t,t=i,i=e,e=t),e<<24|u<<16|r<<8|i});f<h;){if(e=c(),e==null){s();this._hasError=!0;continue}System.Nullable.lt(e,65536)||System.Nullable.gt(e,1114111)?System.Nullable.lt(e,0)||System.Nullable.gt(e,1114111)||System.Nullable.gte(e,55296)&&System.Nullable.lte(e,57343)?s():o=(o||"")+(String.fromCharCode(e)||""):(o=(o||"")+(String.fromCharCode(H5.Int.clipu32(System.Nullable.add(H5.Int.clipu32(H5.Int.div(H5.Int.clipu32(System.Nullable.sub(e,65536)),1024)),55296)))||""),o=(o||"")+(String.fromCharCode(H5.Int.clipu32(System.Nullable.add(System.Nullable.mod(e,1024),56320)))||""))}return o},GetMaxByteCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("charCount");var t=System.Int64(n).add(System.Int64(1));if(t=t.mul(System.Int64(4)),t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("charCount");return System.Int64.clip32(t)},GetMaxCharCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");var t=(H5.Int.div(n,2)|0)+2|0;if(t>2147483647)throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");return t}}});H5.define("System.Text.UTF7Encoding",{inherits:[System.Text.Encoding],statics:{methods:{Escape:function(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}}},fields:{allowOptionals:!1},props:{CodePage:{get:function(){return 65e3}},EncodingName:{get:function(){return"Unicode (UTF-7)"}}},ctors:{ctor:function(){System.Text.UTF7Encoding.$ctor1.call(this,!1)},$ctor1:function(n){this.$initialize();System.Text.Encoding.ctor.call(this);this.allowOptionals=n;this.fallbackCharacter=65533}},methods:{Encode$3:function(n,t,i,r){var s="A-Za-z0-9"+(System.Text.UTF7Encoding.Escape("'(),-./:?")||""),h=f.$.System.Text.UTF7Encoding.f1,c=System.Text.UTF7Encoding.Escape('!"#$%&*;<=>@[]^_`{|}'),l=System.Text.UTF7Encoding.Escape(" \r\n\t"),u,o,e;if(n=n.replace(new RegExp("[^"+l+s+(this.allowOptionals?c:"")+"]+","g"),function(n){return"+"+(n==="+"?"":h(n))+"-"}),u=System.String.toCharArray(n,0,n.length),t!=null){if(o=0,u.length>(t.length-i|0))throw new System.ArgumentException.$ctor1("bytes");for(e=0;e<u.length;e=e+1|0)t[System.Array.index(e+i|0,t)]=u[System.Array.index(e,u)],o=o+1|0;return r.v=o,null}return r.v=u.length,u},Decode$2:function(n,t,i,r,u){var e=f.$.System.Text.UTF7Encoding.f2,o=function(n){for(var i=e(n),r=System.Array.init(0,0,System.Char),t=0;t<i.length;)r.push((i[System.Array.index(H5.identity(t,t=t+1|0),i)]<<8|i[System.Array.index(H5.identity(t,t=t+1|0),i)])&65535);return System.String.fromCharArray(r)},s=System.String.fromCharArray(n,t,i);return s.replace(/\+([A-Za-z0-9\/]*)-?/gi,function(n,t){return t===""?n=="+-"?"+":"":o(t)})},GetMaxByteCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("charCount");var t=System.Int64(n).mul(System.Int64(3)).add(System.Int64(2));if(t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("charCount");return System.Int64.clip32(t)},GetMaxCharCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");var t=n;return t===0&&(t=1),t|0}}});H5.ns("System.Text.UTF7Encoding",f.$);H5.apply(f.$.System.Text.UTF7Encoding,{f1:function(n){for(var u,f,i=System.Array.init(H5.Int.mul(n.length,2),0,System.Byte),t=0,r=0;r<n.length;r=r+1|0)u=n.charCodeAt(r),i[System.Array.index(H5.identity(t,t=t+1|0),i)]=u>>8,i[System.Array.index(H5.identity(t,t=t+1|0),i)]=u&255;return f=System.Convert.toBase64String(i,null,null,null),f.replace(/=+$/,"")},f2:function(n){var t;try{if(typeof window=="undefined")throw new System.Exception;var i=window.atob(n),r=i.length,u=System.Array.init(r,0,System.Char);if(r===1&&i.charCodeAt(0)===0)return System.Array.init(0,0,System.Char);for(t=0;t<r;t=t+1|0)u[System.Array.index(t,u)]=i.charCodeAt(t);return u}catch(f){return f=System.Exception.create(f),System.Array.init(0,0,System.Char)}}});H5.define("System.Text.UTF8Encoding",{inherits:[System.Text.Encoding],fields:{encoderShouldEmitUTF8Identifier:!1,throwOnInvalid:!1},props:{CodePage:{get:function(){return 65001}},EncodingName:{get:function(){return"Unicode (UTF-8)"}}},ctors:{ctor:function(){System.Text.UTF8Encoding.$ctor1.call(this,!1)},$ctor1:function(n){System.Text.UTF8Encoding.$ctor2.call(this,n,!1)},$ctor2:function(n,t){this.$initialize();System.Text.Encoding.ctor.call(this);this.encoderShouldEmitUTF8Identifier=n;this.throwOnInvalid=t;this.fallbackCharacter=65533}},methods:{Encode$3:function(n,t,i,r){var h=t!=null,c=0,s=function(n){for(var u,f=n.length,r=0;r<f;r=r+1|0){if(u=n[System.Array.index(r,n)],h){if(i>=t.length)throw new System.ArgumentException.$ctor1("bytes");t[System.Array.index(H5.identity(i,i=i+1|0),t)]=u}else t.push(u);c=c+1|0}},a=H5.fn.bind(this,f.$.System.Text.UTF8Encoding.f1),e,u,l,o;for(h||(t=System.Array.init(0,0,System.Byte)),e=0;e<n.length;e=e+1|0)u=n.charCodeAt(e),u>=55296&&u<=56319?(l=n.charCodeAt(e+1|0),l>=56320&&l<=57343||(u=a())):u>=56320&&u<=57343&&(u=a()),u<128?s(System.Array.init([u],System.Byte)):u<2048?s(System.Array.init([192|u>>6,128|u&63],System.Byte)):u<55296||u>=57344?s(System.Array.init([224|u>>12,128|u>>6&63,128|u&63],System.Byte)):(e=e+1|0,o=65536+((u&1023)<<10|n.charCodeAt(e)&1023)|0,s(System.Array.init([240|o>>18,128|o>>12&63,128|o>>6&63,128|o&63],System.Byte)));return(r.v=c,h)?null:t},Decode$2:function(n,t,i,r,u){var v,y;this._hasError=!1;for(var o=t,s="",l=0,a=!1,p=o+i|0;o<p;o=o+1|0){var f=0,c=0,h=!1,e=n[System.Array.index(o,n)];for(e<=127?f=e:(e&64)==0?h=!0:(e&224)==192?(f=e&31,c=1):(e&240)==224?(f=e&15,c=2):(e&248)==240?(f=e&7,c=3):(e&252)==248?(f=e&3,c=4,h=!0):(e&254)==252?(f=e&3,c=5,h=!0):(f=e,h=!1);c>0;){if(o=o+1|0,o>=p){h=!0;break}if(v=n[System.Array.index(o,n)],c=c-1|0,(v&192)!=128){o=o-1|0;h=!0;break}f=f<<6|v&63}if(y=null,a=!1,h||(l>0&&!(f>=56320&&f<=57343)?(h=!0,l=0):f>=55296&&f<=56319?l=f&65535:f>=56320&&f<=57343?(h=!0,a=!0,l=0):(y=System.String.fromCharCode(f),l=0)),h){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF8 text");s=(s||"")+String.fromCharCode(this.fallbackCharacter);this._hasError=!0}else l===0&&(s=(s||"")+(y||""))}if(l>0||a){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF8 text");s=s.length>0&&s.charCodeAt(s.length-1|0)===this.fallbackCharacter?(s||"")+String.fromCharCode(this.fallbackCharacter):(s||"")+(this.fallbackCharacter+this.fallbackCharacter|0);this._hasError=!0}return s},GetMaxByteCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("charCount");var t=System.Int64(n).add(System.Int64(1));if(t=t.mul(System.Int64(3)),t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("charCount");return System.Int64.clip32(t)},GetMaxCharCount:function(n){if(n<0)throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");var t=System.Int64(n).add(System.Int64(1));if(t.gt(System.Int64(2147483647)))throw new System.ArgumentOutOfRangeException.$ctor1("byteCount");return System.Int64.clip32(t)}}});H5.ns("System.Text.UTF8Encoding",f.$);H5.apply(f.$.System.Text.UTF8Encoding,{f1:function(){if(this.throwOnInvalid)throw new System.Exception("Invalid character in UTF8 text");return this.fallbackCharacter}});H5.define("System.Threading.Timer",{inherits:[System.IDisposable],statics:{fields:{MAX_SUPPORTED_TIMEOUT:0,EXC_LESS:null,EXC_MORE:null,EXC_DISPOSED:null},ctors:{init:function(){this.MAX_SUPPORTED_TIMEOUT=4294967294;this.EXC_LESS="Number must be either non-negative and less than or equal to Int32.MaxValue or -1.";this.EXC_MORE="Time-out interval must be less than 2^32-2.";this.EXC_DISPOSED="The timer has been already disposed."}}},fields:{dueTime:System.Int64(0),period:System.Int64(0),timerCallback:null,state:null,id:null,disposed:!1},alias:["Dispose","System$IDisposable$Dispose"],ctors:{$ctor1:function(n,t,i,r){this.$initialize();this.TimerSetup(n,t,System.Int64(i),System.Int64(r))},$ctor3:function(n,t,i,r){this.$initialize();var u=H5.Int.clip64(i.getTotalMilliseconds()),f=H5.Int.clip64(r.getTotalMilliseconds());this.TimerSetup(n,t,u,f)},$ctor4:function(n,t,i,r){this.$initialize();this.TimerSetup(n,t,System.Int64(i),System.Int64(r))},$ctor2:function(n,t,i,r){this.$initialize();this.TimerSetup(n,t,i,r)},ctor:function(n){this.$initialize();var t=-1,i=-1;this.TimerSetup(n,this,System.Int64(t),System.Int64(i))}},methods:{TimerSetup:function(n,t,i,r){if(this.disposed)throw new System.InvalidOperationException.$ctor1(System.Threading.Timer.EXC_DISPOSED);if(H5.staticEquals(n,null))throw new System.ArgumentNullException.$ctor1("TimerCallback");if(i.lt(System.Int64(-1)))throw new System.ArgumentOutOfRangeException.$ctor4("dueTime",System.Threading.Timer.EXC_LESS);if(r.lt(System.Int64(-1)))throw new System.ArgumentOutOfRangeException.$ctor4("period",System.Threading.Timer.EXC_LESS);if(i.gt(System.Int64(System.Threading.Timer.MAX_SUPPORTED_TIMEOUT)))throw new System.ArgumentOutOfRangeException.$ctor4("dueTime",System.Threading.Timer.EXC_MORE);if(r.gt(System.Int64(System.Threading.Timer.MAX_SUPPORTED_TIMEOUT)))throw new System.ArgumentOutOfRangeException.$ctor4("period",System.Threading.Timer.EXC_MORE);return this.dueTime=i,this.period=r,this.state=t,this.timerCallback=n,this.RunTimer(this.dueTime)},HandleCallback:function(){if(!this.disposed&&!H5.staticEquals(this.timerCallback,null)){var n=this.id;this.timerCallback(this.state);System.Nullable.eq(this.id,n)&&this.RunTimer(this.period,!1)}},RunTimer:function(n,t){if(t===void 0&&(t=!0),t&&this.disposed)throw new System.InvalidOperationException.$ctor1(System.Threading.Timer.EXC_DISPOSED);if(n.ne(System.Int64(-1))&&!this.disposed){var i=n.toNumber();return this.id=H5.global.setTimeout(H5.fn.cacheBind(this,this.HandleCallback),i),!0}return!1},Change:function(n,t){return this.ChangeTimer(System.Int64(n),System.Int64(t))},Change$2:function(n,t){return this.ChangeTimer(H5.Int.clip64(n.getTotalMilliseconds()),H5.Int.clip64(t.getTotalMilliseconds()))},Change$3:function(n,t){return this.ChangeTimer(System.Int64(n),System.Int64(t))},Change$1:function(n,t){return this.ChangeTimer(n,t)},ChangeTimer:function(n,t){return this.ClearTimeout(),this.TimerSetup(this.timerCallback,this.state,n,t)},ClearTimeout:function(){System.Nullable.hasValue(this.id)&&(H5.global.clearTimeout(System.Nullable.getValue(this.id)),this.id=null)},Dispose:function(){this.ClearTimeout();this.disposed=!0}}});H5.define("System.Threading.Tasks.TaskCanceledException",{inherits:[System.OperationCanceledException],fields:{_canceledTask:null},props:{Task:{get:function(){return this._canceledTask}}},ctors:{ctor:function(){this.$initialize();System.OperationCanceledException.$ctor1.call(this,"A task was canceled.")},$ctor1:function(n){this.$initialize();System.OperationCanceledException.$ctor1.call(this,n)},$ctor2:function(n,t){this.$initialize();System.OperationCanceledException.$ctor2.call(this,n,t)},$ctor3:function(n){this.$initialize();System.OperationCanceledException.$ctor4.call(this,"A task was canceled.",n!=null?new System.Threading.CancellationToken:new System.Threading.CancellationToken);this._canceledTask=n}}});H5.define("System.Threading.Tasks.TaskSchedulerException",{inherits:[System.Exception],ctors:{ctor:function(){this.$initialize();System.Exception.ctor.call(this,"An exception was thrown by a TaskScheduler.")},$ctor2:function(n){this.$initialize();System.Exception.ctor.call(this,n)},$ctor1:function(n){this.$initialize();System.Exception.ctor.call(this,"An exception was thrown by a TaskScheduler.",n)},$ctor3:function(n,t){this.$initialize();System.Exception.ctor.call(this,n,t)}}});H5.define("System.Version",{inherits:function(){return[System.ICloneable,System.IComparable$1(System.Version),System.IEquatable$1(System.Version)]},statics:{fields:{ZERO_CHAR_VALUE:0,separatorsArray:0},ctors:{init:function(){this.ZERO_CHAR_VALUE=48;this.separatorsArray=46}},methods:{appendPositiveNumber:function(n,t){var r=t.getLength(),i;do i=n%10,n=H5.Int.div(n,10)|0,t.insert(r,String.fromCharCode((System.Version.ZERO_CHAR_VALUE+i|0)&65535));while(n>0)},parse:function(n){if(n==null)throw new System.ArgumentNullException.$ctor1("input");var t={v:new System.Version.VersionResult};if(t.v.init("input",!0),!System.Version.tryParseVersion(n,t))throw t.v.getVersionParseException();return t.v.m_parsedVersion},tryParse:function(n,t){var i={v:new System.Version.VersionResult},r;return i.v.init("input",!1),r=System.Version.tryParseVersion(n,i),t.v=i.v.m_parsedVersion,r},tryParseVersion:function(n,t){var u={},f={},e={},o={},i,r;if(n==null)return t.v.setFailure(System.Version.ParseFailureKind.ArgumentNullException),!1;if(i=System.String.split(n,[System.Version.separatorsArray].map(function(n){return String.fromCharCode(n)})),r=i.length,r<2||r>4)return t.v.setFailure(System.Version.ParseFailureKind.ArgumentException),!1;if(!System.Version.tryParseComponent(i[System.Array.index(0,i)],"version",t,u)||!System.Version.tryParseComponent(i[System.Array.index(1,i)],"version",t,f))return!1;if(r=r-2|0,r>0){if(!System.Version.tryParseComponent(i[System.Array.index(2,i)],"build",t,e))return!1;if(r=r-1|0,r>0)if(System.Version.tryParseComponent(i[System.Array.index(3,i)],"revision",t,o))t.v.m_parsedVersion=new System.Version.$ctor3(u.v,f.v,e.v,o.v);else return!1;else t.v.m_parsedVersion=new System.Version.$ctor2(u.v,f.v,e.v)}else t.v.m_parsedVersion=new System.Version.$ctor1(u.v,f.v);return!0},tryParseComponent:function(n,t,i,r){return System.Int32.tryParse(n,r)?r.v<0?(i.v.setFailure$1(System.Version.ParseFailureKind.ArgumentOutOfRangeException,t),!1):!0:(i.v.setFailure$1(System.Version.ParseFailureKind.FormatException,n),!1)},op_Equality:function(n,t){return H5.referenceEquals(n,null)?H5.referenceEquals(t,null):n.equalsT(t)},op_Inequality:function(n,t){return!System.Version.op_Equality(n,t)},op_LessThan:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("v1");return n.compareTo(t)<0},op_LessThanOrEqual:function(n,t){if(n==null)throw new System.ArgumentNullException.$ctor1("v1");return n.compareTo(t)<=0},op_GreaterThan:function(n,t){return System.Version.op_LessThan(t,n)},op_GreaterThanOrEqual:function(n,t){return System.Version.op_LessThanOrEqual(t,n)}}},fields:{_Major:0,_Minor:0,_Build:0,_Revision:0},props:{Major:{get:function(){return this._Major}},Minor:{get:function(){return this._Minor}},Build:{get:function(){return this._Build}},Revision:{get:function(){return this._Revision}},MajorRevision:{get:function(){return H5.Int.sxs(this._Revision>>16&65535)}},MinorRevision:{get:function(){return H5.Int.sxs(this._Revision&65535)}}},alias:["clone","System$ICloneable$clone","compareTo",["System$IComparable$1$System$Version$compareTo","System$IComparable$1$compareTo"],"equalsT","System$IEquatable$1$System$Version$equalsT"],ctors:{init:function(){this._Build=-1;this._Revision=-1},$ctor3:function(n,t,i,r){if(this.$initialize(),n<0)throw new System.ArgumentOutOfRangeException.$ctor4("major","Cannot be < 0");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("minor","Cannot be < 0");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("build","Cannot be < 0");if(r<0)throw new System.ArgumentOutOfRangeException.$ctor4("revision","Cannot be < 0");this._Major=n;this._Minor=t;this._Build=i;this._Revision=r},$ctor2:function(n,t,i){if(this.$initialize(),n<0)throw new System.ArgumentOutOfRangeException.$ctor4("major","Cannot be < 0");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("minor","Cannot be < 0");if(i<0)throw new System.ArgumentOutOfRangeException.$ctor4("build","Cannot be < 0");this._Major=n;this._Minor=t;this._Build=i},$ctor1:function(n,t){if(this.$initialize(),n<0)throw new System.ArgumentOutOfRangeException.$ctor4("major","Cannot be < 0");if(t<0)throw new System.ArgumentOutOfRangeException.$ctor4("minor","Cannot be < 0");this._Major=n;this._Minor=t},$ctor4:function(n){this.$initialize();var t=System.Version.parse(n);this._Major=t.Major;this._Minor=t.Minor;this._Build=t.Build;this._Revision=t.Revision},ctor:function(){this.$initialize();this._Major=0;this._Minor=0}},methods:{clone:function(){var n=new System.Version.ctor;return n._Major=this._Major,n._Minor=this._Minor,n._Build=this._Build,n._Revision=this._Revision,n},compareTo$1:function(n){if(n==null)return 1;var t=H5.as(n,System.Version);if(System.Version.op_Equality(t,null))throw new System.ArgumentException.$ctor1("version should be of System.Version type");return this._Major!==t._Major?this._Major>t._Major?1:-1:this._Minor!==t._Minor?this._Minor>t._Minor?1:-1:this._Build!==t._Build?this._Build>t._Build?1:-1:this._Revision!==t._Revision?this._Revision>t._Revision?1:-1:0},compareTo:function(n){return System.Version.op_Equality(n,null)?1:this._Major!==n._Major?this._Major>n._Major?1:-1:this._Minor!==n._Minor?this._Minor>n._Minor?1:-1:this._Build!==n._Build?this._Build>n._Build?1:-1:this._Revision!==n._Revision?this._Revision>n._Revision?1:-1:0},equals:function(n){return this.equalsT(H5.as(n,System.Version))},equalsT:function(n){return System.Version.op_Equality(n,null)?!1:this._Major!==n._Major||this._Minor!==n._Minor||this._Build!==n._Build||this._Revision!==n._Revision?!1:!0},getHashCode:function(){var n=0;return n=n|(this._Major&15)<<28,n=n|(this._Minor&255)<<20,n=n|(this._Build&255)<<12,n|this._Revision&4095},toString:function(){return this._Build===-1?this.toString$1(2):this._Revision===-1?this.toString$1(3):this.toString$1(4)},toString$1:function(n){var t;switch(n){case 0:return"";case 1:return H5.toString(this._Major);case 2:return t=new System.Text.StringBuilder,System.Version.appendPositiveNumber(this._Major,t),t.append(String.fromCharCode(46)),System.Version.appendPositiveNumber(this._Minor,t),t.toString();default:if(this._Build===-1)throw new System.ArgumentException.$ctor3("Build should be > 0 if fieldCount > 2","fieldCount");if(n===3)return t=new System.Text.StringBuilder,System.Version.appendPositiveNumber(this._Major,t),t.append(String.fromCharCode(46)),System.Version.appendPositiveNumber(this._Minor,t),t.append(String.fromCharCode(46)),System.Version.appendPositiveNumber(this._Build,t),t.toString();if(this._Revision===-1)throw new System.ArgumentException.$ctor3("Revision should be > 0 if fieldCount > 3","fieldCount");if(n===4)return t=new System.Text.StringBuilder,System.Version.appendPositiveNumber(this._Major,t),t.append(String.fromCharCode(46)),System.Version.appendPositiveNumber(this._Minor,t),t.append(String.fromCharCode(46)),System.Version.appendPositiveNumber(this._Build,t),t.append(String.fromCharCode(46)),System.Version.appendPositiveNumber(this._Revision,t),t.toString();throw new System.ArgumentException.$ctor3("Should be < 5","fieldCount");}}}});H5.define("System.Version.ParseFailureKind",{$kind:"nested enum",statics:{fields:{ArgumentNullException:0,ArgumentException:1,ArgumentOutOfRangeException:2,FormatException:3}}});H5.define("System.Version.VersionResult",{$kind:"nested struct",statics:{methods:{getDefaultValue:function(){return new System.Version.VersionResult}}},fields:{m_parsedVersion:null,m_failure:0,m_exceptionArgument:null,m_argumentName:null,m_canThrow:!1},ctors:{ctor:function(){this.$initialize()}},methods:{init:function(n,t){this.m_canThrow=t;this.m_argumentName=n},setFailure:function(n){this.setFailure$1(n,"")},setFailure$1:function(n,t){if(this.m_failure=n,this.m_exceptionArgument=t,this.m_canThrow)throw this.getVersionParseException();},getVersionParseException:function(){switch(this.m_failure){case System.Version.ParseFailureKind.ArgumentNullException:return new System.ArgumentNullException.$ctor1(this.m_argumentName);case System.Version.ParseFailureKind.ArgumentException:return new System.ArgumentException.$ctor1("VersionString");case System.Version.ParseFailureKind.ArgumentOutOfRangeException:return new System.ArgumentOutOfRangeException.$ctor4(this.m_exceptionArgument,"Cannot be < 0");case System.Version.ParseFailureKind.FormatException:try{System.Int32.parse(this.m_exceptionArgument)}catch(n){n=System.Exception.create(n);var t;if(H5.is(n,System.FormatException))return t=n;else if(H5.is(n,System.OverflowException))return t=n;else throw n;}return new System.FormatException.$ctor1("InvalidString");default:return new System.ArgumentException.$ctor1("VersionString")}},getHashCode:function(){return H5.addHash([5139482776,this.m_parsedVersion,this.m_failure,this.m_exceptionArgument,this.m_argumentName,this.m_canThrow])},equals:function(n){return H5.is(n,System.Version.VersionResult)?H5.equals(this.m_parsedVersion,n.m_parsedVersion)&&H5.equals(this.m_failure,n.m_failure)&&H5.equals(this.m_exceptionArgument,n.m_exceptionArgument)&&H5.equals(this.m_argumentName,n.m_argumentName)&&H5.equals(this.m_canThrow,n.m_canThrow):!1},$clone:function(n){var t=n||new System.Version.VersionResult;return t.m_parsedVersion=this.m_parsedVersion,t.m_failure=this.m_failure,t.m_exceptionArgument=this.m_exceptionArgument,t.m_argumentName=this.m_argumentName,t.m_canThrow=this.m_canThrow,t}}});typeof define=="function"&&define.amd?define("h5",[],function(){return H5}):typeof module!="undefined"&&module.exports&&(module.exports=H5)})(this);