From 307d2b458efcb28484ecf9138a884fda4ed064b5 Mon Sep 17 00:00:00 2001 From: Ma Bingyao Date: Fri, 18 Nov 2016 21:12:19 +0800 Subject: [PATCH] Removed eval --- dist/hprose-html5.js | 6 +- dist/hprose-html5.min.js | 2 +- dist/hprose-html5.src.js | 377 +++++++++++++++++++------------------ gulpfile.js | 2 +- src/APICloudTcpSocket.js | 14 +- src/Base64.js | 4 +- src/BytesIO.js | 10 +- src/ChromeTcpSocket.js | 10 +- src/ClassManager.js | 10 +- src/Client.js | 30 +-- src/Formatter.js | 18 +- src/Future.js | 34 ++-- src/HarmonyMaps.js | 4 +- src/Helper.js | 18 +- src/HttpClient.js | 16 +- src/Init.js | 17 +- src/JSONRPCClientFilter.js | 18 +- src/Loader.js | 50 ++--- src/Polyfill.js | 8 +- src/Reader.js | 16 +- src/ResultMode.js | 16 +- src/Tags.js | 8 +- src/TcpClient.js | 20 +- src/TimeoutError.js | 24 ++- src/WebSocketClient.js | 14 +- src/Writer.js | 14 +- src/setImmediate.js | 4 +- 27 files changed, 385 insertions(+), 379 deletions(-) diff --git a/dist/hprose-html5.js b/dist/hprose-html5.js index ae8f355..ea8b2fd 100644 --- a/dist/hprose-html5.js +++ b/dist/hprose-html5.js @@ -4,6 +4,6 @@ // For all details and documentation: // https://github.com/hprose/hprose-html5 -!function(e){"use strict";e.hprose=Object.create(null)}(this||[eval][0]("this")),function(e,t){"use strict";function r(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return function(t){return e.apply(t,Array.prototype.slice.call(arguments,1))}}function n(e){for(var t=e.length,r=new Array(t),n=0;n>15,i=new Array(r?n+1:n),o=0;o=0?n=i:(n=r+i,n<0&&(n=0));for(var o;n>>0,o=arguments[1],a=0;a>>0,o=arguments[1],a=0;a>>0,i=arguments[1],o=i>>0,a=o<0?Math.max(n+o,0):Math.min(o,n),s=arguments[2],u=s===t?n:s>>0,c=u<0?Math.max(n+u,0):Math.min(u,n);a>>0,o=e>>0,a=o<0?Math.max(i+o,0):Math.min(o,i),s=r>>0,u=s<0?Math.max(i+s,0):Math.min(s,i),c=arguments[2],f=c===t?i:c>>0,l=f<0?Math.max(i+f,0):Math.min(f,i),h=Math.min(l-u,i-a),p=1;for(u0;)u in n?n[a]=n[u]:delete n[a],u+=p,a+=p,h--;return n}}),Array.from||Object.defineProperty(Array,"from",{value:function(){var e=Object.prototype.toString,r=function(t){return"function"==typeof t||"[object Function]"===e.call(t)},n=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t},i=Math.pow(2,53)-1,o=function(e){var t=n(e);return Math.min(Math.max(t,0),i)};return function(e){var n=this,i=Object(e);if(null===e||e===t)throw new TypeError("Array.from requires an array-like object - not null or undefined");var a,s=arguments.length>1?arguments[1]:void t;if("undefined"!=typeof s){if(!r(s))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(a=arguments[2])}for(var u,c=o(i.length),f=r(n)?Object(new n(c)):new Array(c),l=0;lr.length)&&(t=r.length),t-=e.length;var n=r.indexOf(e,t);return n!==-1&&n===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return"number"==typeof arguments[1]?!(this.length=1<<28)throw new RangeError("repeat count must not overflow maximum string size");for(var r="";1===(1&e)&&(r+=t),e>>>=1,0!==e;)t+=t;return r}}),String.prototype.trim||Object.defineProperty(String.prototype,"trim",{value:function(){return this.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}}),String.prototype.trimLeft||Object.defineProperty(String.prototype,"trimLeft",{value:function(){return this.toString().replace(/^[\s\xa0]+/,"")}}),String.prototype.trimRight||Object.defineProperty(String.prototype,"trimRight",{value:function(){return this.toString().replace(/[\s\xa0]+$/,"")}}),Object.keys||Object.defineProperty(Object,"keys",{value:function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(i){if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Object.keys called on non-object");var o=[];for(var a in i)e.call(i,a)&&o.push(a);if(t)for(var s=0;s0&&Array.isArray(arguments[0]))for(var u=arguments[0],c=0,f=u.length;c0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,f=o.length;a0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,s=o.length;a0;)i(e.shift())});return r.observe(t,{characterData:!0}),function(){var r=o(arguments);return e.push(r),t.data=1&r,r}},u.messageChannel=function(){var t=new e.MessageChannel;return t.port1.onmessage=function(e){i(Number(e.data))},function(){var e=o(arguments);return t.port2.postMessage(e),e}},u.nextTick=function(){return function(){var t=o(arguments);return e.process.nextTick(r(i,t)),t}},u.postMessage=function(){var e=a.createElement("iframe");e.style.display="none",a.documentElement.appendChild(e);var t=e.contentWindow;t.document.write(''),t.document.close();var r=[];return window.addEventListener("message",function(){for(;r.length>0;)i(r.shift())}),function(){var e=o(arguments);return r.push(e),t.postMessage(1,"*"),e}},u.readyStateChange=function(){var e=a.documentElement;return function(){var t=o(arguments),r=a.createElement("script");return r.onreadystatechange=function(){i(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r),t}};var l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,u.setTimeout=function(){return function(){var e=o(arguments);return l.setTimeout(r(i,e),0),e}},"undefined"==typeof e.process||"[object process]"!==Object.prototype.toString.call(e.process)||e.process.browser?a&&"onreadystatechange"in a.createElement("script")?l.setImmediate=u.readyStateChange():a&&s?l.setImmediate=u.mutationObserver():e.MessageChannel?l.setImmediate=u.messageChannel():a&&"postMessage"in e&&"addEventListener"in e?l.setImmediate=u.postMessage():l.setImmediate=u.setTimeout():l.setImmediate=u.nextTick(),l.clearImmediate=n}}(this||[eval][0]("this")),function(e,t){"use strict";function r(e){Object.defineProperties(this,{_subscribers:{value:[]},resolve:{value:this.resolve.bind(this)},reject:{value:this.reject.bind(this)}});var t=this;"function"==typeof e&&Q(function(){try{t.resolve(e())}catch(e){t.reject(e)}})}function n(e){return e instanceof r}function i(e){return"function"==typeof e.then}function o(e,t){var n="function"==typeof t?t:function(){return t},i=new r;return Y(function(){try{i.resolve(n())}catch(e){i.reject(e)}},e),i}function a(e){var t=new r;return t.reject(e),t}function s(e){var t=new r;return t.resolve(e),t}function u(e){try{var t=e();return s(t)}catch(e){return a(e)}}function c(e){var t=new r;return e(t.resolve,t.reject),t}function f(e){var t=0;return Array.forEach(e,function(){++t}),t}function l(e){return e=i(e)?e:s(e),e.then(function(e){var t=e.length,n=f(e),i=new Array(t);if(0===n)return s(i);var o=new r;return Array.forEach(e,function(e,t){j(e).then(function(e){i[t]=e,0===--n&&o.resolve(i)},o.reject)}),o})}function h(){return l(arguments)}function p(e){return e=i(e)?e:s(e),e.then(function(e){var t=new r;return Array.forEach(e,function(e){j(e).fill(t)}),t})}function v(e){return e=i(e)?e:s(e),e.then(function(e){var t=e.length,n=f(e);if(0===n)throw new RangeError("any(): array must not be empty");var i=new Array(t),o=new r;return Array.forEach(e,function(e,t){j(e).then(o.resolve,function(e){i[t]=e,0===--n&&o.reject(i)})}),o})}function g(e){return e=i(e)?e:s(e),e.then(function(e){var t=e.length,n=f(e),i=new Array(t);if(0===n)return s(i);var o=new r;return Array.forEach(e,function(e,t){var r=j(e);r.whenComplete(function(){i[t]=r.inspect(),0===--n&&o.resolve(i)})}),o})}function y(e){var t=function(){return this}(),r=Array.slice(arguments,1);return l(r).then(function(r){return e.apply(t,r)})}function d(e,t){var r=Array.slice(arguments,2);return l(r).then(function(r){return e.apply(t,r)})}function w(e){return!!e&&("function"==typeof e.next&&"function"==typeof e.throw)}function m(e){if(!e)return!1;var t=e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName||w(t.prototype))}function b(e){if(m(e)||w(e))return O(e);var t=function(){return this}(),n=new r;return e.call(t,function(e,t){return arguments.length<2?e instanceof Error?n.reject(e):n.resolve(e):e?n.reject(e):(arguments.length>2&&(t=Array.slice(arguments,1)),void n.resolve(t))}),n}function T(e){return function(){var t=Array.slice(arguments,0),n=this,i=new r;t.push(function(){n=this,i.resolve(arguments)});try{e.apply(this,t)}catch(e){i.resolve([e])}return function(e){i.then(function(t){e.apply(n,t)})}}}function _(e){return function(){var t=Array.slice(arguments,0),n=new r;t.push(function(e,t){return arguments.length<2?e instanceof Error?n.reject(e):n.resolve(e):e?n.reject(e):(arguments.length>2&&(t=Array.slice(arguments,1)),void n.resolve(t))});try{e.apply(this,t)}catch(e){n.reject(e)}return n}}function j(e){return e?i(e)?e:m(e)||w(e)?O(e):s(e):s(e)}function O(e){function t(t){try{i(e.next(t))}catch(e){s.reject(e)}}function n(t){try{i(e.throw(t))}catch(e){return s.reject(e)}}function i(e){e.done?s.resolve(e.value):("function"==typeof e.value?b(e.value):j(e.value)).then(t,n)}var o=function(){return this}();if("function"==typeof e){var a=Array.slice(arguments,1);e=e.apply(o,a)}var s=new r;return e&&"function"==typeof e.next?(t(),s):s.resolve(e)}function E(e,t){return function(){return t=t||this,l(arguments).then(function(r){var n=e.apply(t,r);return m(n)||w(n)?O.call(t,n):n})}}function S(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.forEach(t,r)})}function B(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.every(t,r)})}function A(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.some(t,r)})}function k(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.filter(t,r)})}function C(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.map(t,r)})}function I(e,t,r){return arguments.length>2?l(e).then(function(e){return i(r)||(r=s(r)),r.then(function(r){return e.reduce(t,r)})}):l(e).then(function(e){return e.reduce(t)})}function x(e,t,r){return arguments.length>2?l(e).then(function(e){return i(r)||(r=s(r)),r.then(function(r){return e.reduceRight(t,r)})}):l(e).then(function(e){return e.reduceRight(t)})}function R(e,t,r){return l(e).then(function(e){return i(t)||(t=s(t)),t.then(function(t){return e.indexOf(t,r)})})}function P(e,r,n){return l(e).then(function(e){return i(r)||(r=s(r)),r.then(function(r){return n===t&&(n=e.length-1),e.lastIndexOf(r,n)})})}function M(e,t,r){return l(e).then(function(e){return i(t)||(t=s(t)),t.then(function(t){return e.includes(t,r)})})}function U(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.find(t,r)})}function L(e,t,r){return r=r||function(){return this}(),l(e).then(function(e){return e.findIndex(t,r)})}function N(e,t,r){Q(function(){try{var n=e(r);t.resolve(n)}catch(e){t.reject(e)}})}function F(e,t,r){e?N(e,t,r):t.resolve(r)}function W(e,t,r){e?N(e,t,r):t.reject(r)}function D(){var e=new r;Object.defineProperties(this,{future:{value:e},complete:{value:e.resolve},completeError:{value:e.reject},isCompleted:{get:function(){return e._state!==z}}})}var z=0,q=1,H=2,G="Promise"in e,Q=e.setImmediate,Y=e.setTimeout,J=e.clearTimeout,$=e.TimeoutError;Object.defineProperties(r,{delayed:{value:o},error:{value:a},sync:{value:u},value:{value:s},all:{value:l},race:{value:p},resolve:{value:s},reject:{value:a},promise:{value:c},isFuture:{value:n},isPromise:{value:i},toPromise:{value:j},join:{value:h},any:{value:v},settle:{value:g},attempt:{value:y},run:{value:d},thunkify:{value:T},promisify:{value:_},co:{value:O},wrap:{value:E},forEach:{value:S},every:{value:B},some:{value:A},filter:{value:k},map:{value:C},reduce:{value:I},reduceRight:{value:x},indexOf:{value:R},lastIndexOf:{value:P},includes:{value:M},find:{value:U},findIndex:{value:L}}),Object.defineProperties(r.prototype,{_value:{writable:!0},_reason:{writable:!0},_state:{value:z,writable:!0},resolve:{value:function(e){if(e===this)return void this.reject(new TypeError("Self resolution"));if(n(e))return void e.fill(this);if(null!==e&&"object"==typeof e||"function"==typeof e){var t;try{t=e.then}catch(e){return void this.reject(e)}if("function"==typeof t){var r=!0;try{var i=this;return void t.call(e,function(e){r&&(r=!1,i.resolve(e))},function(e){r&&(r=!1,i.reject(e))})}catch(e){r&&(r=!1,this.reject(e))}return}}if(this._state===z){this._state=q,this._value=e;for(var o=this._subscribers;o.length>0;){var a=o.shift();F(a.onfulfill,a.next,e)}}}},reject:{value:function(e){if(this._state===z){this._state=H,this._reason=e;for(var t=this._subscribers;t.length>0;){var r=t.shift();W(r.onreject,r.next,e)}}}},then:{value:function(e,t){"function"!=typeof e&&(e=null),"function"!=typeof t&&(t=null);var n=new r;return this._state===q?F(e,n,this._value):this._state===H?W(t,n,this._reason):this._subscribers.push({onfulfill:e,onreject:t,next:n}),n}},done:{value:function(e,t){this.then(e,t).then(null,function(e){Q(function(){throw e})})}},inspect:{value:function(){switch(this._state){case z:return{state:"pending"};case q:return{state:"fulfilled",value:this._value};case H:return{state:"rejected",reason:this._reason}}}},catchError:{value:function(e,t){if("function"==typeof t){var r=this;return this.catch(function(n){if(t(n))return r.catch(e);throw n})}return this.catch(e)}},catch:{value:function(e){return this.then(null,e)}},fail:{value:function(e){this.done(null,e)}},whenComplete:{value:function(e){return this.then(function(t){return e(),t},function(t){throw e(),t})}},complete:{value:function(e){return this.then(e,e)}},always:{value:function(e){this.done(e,e)}},fill:{value:function(e){this.then(e.resolve,e.reject)}},timeout:{value:function(e,t){var n=new r,i=Y(function(){n.reject(t||new $("timeout"))},e);return this.whenComplete(function(){J(i)}).fill(n),n}},delay:{value:function(e){var t=new r;return this.then(function(r){Y(function(){t.resolve(r)},e)},t.reject),t}},tap:{value:function(e,t){return this.then(function(r){return e.call(t,r),r})}},spread:{value:function(e,t){return this.then(function(r){return e.apply(t,r)})}},get:{value:function(e){return this.then(function(t){return t[e]})}},set:{value:function(e,t){return this.then(function(r){return r[e]=t,r})}},apply:{value:function(e,t){return t=t||[],this.then(function(r){return l(t).then(function(t){return r[e].apply(r,t)})})}},call:{value:function(e){var t=Array.slice(arguments,1);return this.then(function(r){return l(t).then(function(t){return r[e].apply(r,t)})})}},bind:{value:function(e){var t=Array.slice(arguments);{if(!Array.isArray(e)){t.shift();var r=this;return Object.defineProperty(this,e,{value:function(){var n=Array.slice(arguments);return r.then(function(r){return l(t.concat(n)).then(function(t){return r[e].apply(r,t)})})}}),this}for(var n=0,i=e.length;n1?I(this,e,t):I(this,e)}},reduceRight:{value:function(e,t){return arguments.length>1?x(this,e,t):x(this,e)}},indexOf:{value:function(e,t){return R(this,e,t)}},lastIndexOf:{value:function(e,t){return P(this,e,t)}},includes:{value:function(e,t){return M(this,e,t)}},find:{value:function(e,t){return U(this,e,t)}},findIndex:{value:function(e,t){return L(this,e,t)}}}),e.hprose.Future=r,e.hprose.thunkify=T,e.hprose.promisify=_,e.hprose.co=O,e.hprose.co.wrap=e.hprose.wrap=E,e.hprose.Completer=D,e.hprose.resolved=s,e.hprose.rejected=a,e.hprose.deferred=function(){var e=new r;return Object.create(null,{promise:{value:e},resolve:{value:e.resolve},reject:{value:e.reject}})},G||(e.Promise=function(e){r.call(this),e(this.resolve,this.reject)},e.Promise.prototype=Object.create(r.prototype),e.Promise.prototype.constructor=r,Object.defineProperties(e.Promise,{all:{value:l},race:{value:p},resolve:{value:s},reject:{value:a}}))}(this||[eval][0]("this")),function(e,t){"use strict";function r(e,t,r){return e[t++]=r>>>24&255,e[t++]=r>>>16&255,e[t++]=r>>>8&255,e[t++]=255&r,t}function n(e,t,r){return e[t++]=255&r,e[t++]=r>>>8&255,e[t++]=r>>>16&255,e[t++]=r>>>24&255,t}function i(e,t,r){for(var n=r.length,i=0;i>6,e[t++]=128|63&o;else{if(!(o<55296||o>57343)){if(i+1>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s,++i;continue}}throw new Error("Malformed string")}e[t++]=224|o>>12,e[t++]=128|o>>6&63,e[t++]=128|63&o}}return t}function o(e,t){for(var r=new Array(t),n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:r[n]=a;break;case 12:case 13:if(i>10&1023|55296,r[n]=1023&s|56320;break}throw new Error("Character outside valid Unicode range: 0x"+s.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+a.toString(16))}}return n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n[i]=s;break;case 12:case 13:if(o>10&1023|55296,n[i]=1023&u|56320;break}throw new Error("Character outside valid Unicode range: 0x"+u.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+s.toString(16))}if(i>=32766){var c=i+1;n.length=c,r.push(String.fromCharCode.apply(String,n)),t-=c,i=-1}}return i>0&&(n.length=i,r.push(String.fromCharCode.apply(String,n))),[r.join(""),o]}function s(e,r){return(r===t||null===r||r<0)&&(r=e.length),0===r?["",0]:r<65535?o(e,r):a(e,r)}function u(e,r){if(r===t&&(r=e.length),0===r)return[p,0];for(var n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break;case 12:case 13:if(i>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function f(){var e=arguments;switch(e.length){case 1:switch(e[0].constructor){case Uint8Array:this._bytes=e[0],this._length=e[0].length;break;case f:this._bytes=e[0].toBytes(),this._length=e[0].length;break;case String:this.writeString(e[0]);break;case Number:this._bytes=new Uint8Array(e[0]);break;default:this._bytes=new Uint8Array(e[0]),this._length=this._bytes.length}break;case 2:this._bytes=new Uint8Array(e[0],e[1]),this._length=e[1];break;case 3:this._bytes=new Uint8Array(e[0],e[1],e[2]),this._length=e[2]}this.mark()}function l(e){if(0===e.length)return"";switch(e.constructor){case String:return e;case f:e=e.bytes;case ArrayBuffer:e=new Uint8Array(e);case Uint8Array:return s(e,e.length)[0];default:return String.fromCharCode.apply(String,e)}}var h=e.hprose.toBinaryString,p=new Uint8Array(0),v=1024;Object.defineProperties(f.prototype,{_bytes:{value:null,writable:!0},_length:{value:0,writable:!0},_wmark:{value:0,writable:!0},_off:{value:0,writable:!0},_rmark:{value:0,writable:!0},_grow:{value:function(e){var t=this._bytes,r=this._length+e,n=c(r);if(t){if(n*=2,n>t.length){var i=new Uint8Array(n);i.set(t),this._bytes=i}}else n=Math.max(n,v),this._bytes=new Uint8Array(n)}},length:{get:function(){return this._length}},capacity:{get:function(){return this._bytes?this._bytes.length:0}},position:{get:function(){return this._off}},bytes:{get:function(){return null===this._bytes?p:this._bytes.subarray(0,this._length)}},buffer:{get:function(){if(null===this._bytes)return p.buffer;if(this._bytes.buffer.slice)return this._bytes.buffer.slice(0,this._length);var e=new Uint8Array(this._length);return e.set(this._bytes.subarray(0,this._length)),e.buffer}},mark:{value:function(){this._wmark=this._length,this._rmark=this._off}},reset:{value:function(){this._length=this._wmark,this._off=this._rmark}},clear:{value:function(){this._bytes=null,this._length=0,this._wmark=0,this._off=0,this._rmark=0}},writeByte:{value:function(e){this._grow(1),this._bytes[this._length++]=e}},writeInt32BE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=r(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32BE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=r(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},writeInt32LE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=n(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32LE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=n(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},write:{value:function(e){var t=e.byteLength||e.length;if(0!==t){this._grow(t);var r=this._bytes,n=this._length;switch(e.constructor){case ArrayBuffer:r.set(new Uint8Array(e),n);break;case Uint8Array:r.set(e,n);break;case f:r.set(e.bytes,n);break;default:for(var i=0;ithis._length&&(e=this._length-this._off),0===e?p:this._bytes.subarray(this._off,this._off+=e)}},skip:{value:function(e){return this._off+e>this._length?(e=this._length-this._off,this._off=this._length):this._off+=e,e}},readBytes:{value:function(e){var t,r=Array.indexOf(this._bytes,e,this._off);return r===-1?(t=this._bytes.subarray(this._off,this._length),this._off=this._length):(t=this._bytes.subarray(this._off,r+1),this._off=r+1),t}},readUntil:{value:function(e){var t=Array.indexOf(this._bytes,e,this._off),r="";return t===this._off?this._off++:t===-1?(r=s(this._bytes.subarray(this._off,this._length))[0],this._off=this._length):(r=s(this._bytes.subarray(this._off,t))[0],this._off=t+1),r}},readAsciiString:{value:function(e){return this._off+e>this._length&&(e=this._length-this._off),0===e?"":h(this._bytes.subarray(this._off,this._off+=e))}},readStringAsBytes:{value:function(e){var t=u(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},readString:{value:function(e){var t=s(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},takeBytes:{value:function(){var e=this.bytes;return this.clear(),e}},toBytes:{value:function(){return new Uint8Array(this.bytes)}},toString:{ -value:function(){return s(this.bytes,this._length)[0]}},clone:{value:function(){return new f(this.toBytes())}},trunc:{value:function(){this._bytes=this._bytes.subarray(this._off,this._length),this._length=this._bytes.length,this._off=0,this._wmark=0,this._rmark=0}}}),Object.defineProperty(f,"toString",{value:l}),e.hprose.BytesIO=f}(this||[eval][0]("this")),function(e){"use strict";e.hprose.Tags={TagInteger:105,TagLong:108,TagDouble:100,TagNull:110,TagEmpty:101,TagTrue:116,TagFalse:102,TagNaN:78,TagInfinity:73,TagDate:68,TagTime:84,TagUTC:90,TagBytes:98,TagUTF8Char:117,TagString:115,TagGuid:103,TagList:97,TagMap:109,TagClass:99,TagObject:111,TagRef:114,TagPos:43,TagNeg:45,TagSemicolon:59,TagOpenbrace:123,TagClosebrace:125,TagQuote:34,TagPoint:46,TagFunctions:70,TagCall:67,TagResult:82,TagArgument:65,TagError:69,TagEnd:122}}(this||[eval][0]("this")),function(e){"use strict";function t(e,t){a.set(e,t),o[t]=e}function r(e){return a.get(e)}function n(e){return o[e]}var i=e.WeakMap,o=Object.create(null),a=new i;e.hprose.ClassManager=Object.create(null,{register:{value:t},getClassAlias:{value:r},getClass:{value:n}}),e.hprose.register=t,t(Object,"Object")}(this||[eval][0]("this")),function(e,t){"use strict";function r(e){var t=e.constructor,r=S.getClassAlias(t);if(r)return r;if(t.name)r=t.name;else{var n=t.toString();if(r=n.substr(0,n.indexOf("(")).replace(/(^\s*function\s*)|(\s*$)/gi,""),""===r||"Object"===r)return"function"==typeof e.getClassName?e.getClassName():"Object"}return"Object"!==r&&S.register(t,r),r}function n(e){Object.defineProperties(this,{_stream:{value:e},_ref:{value:new j,writable:!0}})}function i(e){return new n(e)}function o(e,t){Object.defineProperties(this,{stream:{value:e},_classref:{value:Object.create(null),writable:!0},_fieldsref:{value:[],writable:!0},_refer:{value:t?B:i(e)}})}function a(e,n){var i=e.stream;if(n===t||null===n)return void i.writeByte(E.TagNull);switch(n.constructor){case Function:return void i.writeByte(E.TagNull);case Number:return void s(e,n);case Boolean:return void f(e,n);case String:switch(n.length){case 0:return void i.writeByte(E.TagEmpty);case 1:return i.writeByte(E.TagUTF8Char),void i.writeString(n)}return void e.writeStringWithRef(n);case Date:return void e.writeDateWithRef(n);case j:return void e.writeMapWithRef(n);case ArrayBuffer:case Uint8Array:case O:return void e.writeBytesWithRef(n);case Int8Array:case Int16Array:case Int32Array:case Uint16Array:case Uint32Array:return void d(e,n);case Float32Array:case Float64Array:return void w(e,n);default:if(Array.isArray(n))e.writeListWithRef(n);else{var o=r(n);"Object"===o?e.writeMapWithRef(n):e.writeObjectWithRef(n)}}}function s(e,t){var r=e.stream;t=t.valueOf(),t===(0|t)?0<=t&&t<=9?r.writeByte(t+48):(r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function u(e,t){var r=e.stream;0<=t&&t<=9?r.writeByte(t+48):(t<-2147483648||t>2147483647?r.writeByte(E.TagLong):r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon))}function c(e,t){var r=e.stream;isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function f(e,t){e.stream.writeByte(t.valueOf()?E.TagTrue:E.TagFalse)}function l(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getUTCFullYear()).slice(-4),i=("00"+(t.getUTCMonth()+1)).slice(-2),o=("00"+t.getUTCDate()).slice(-2),a=("00"+t.getUTCHours()).slice(-2),s=("00"+t.getUTCMinutes()).slice(-2),u=("00"+t.getUTCSeconds()).slice(-2),c=("000"+t.getUTCMilliseconds()).slice(-3);r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+s+u),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c)),r.writeByte(E.TagUTC)}function h(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getFullYear()).slice(-4),i=("00"+(t.getMonth()+1)).slice(-2),o=("00"+t.getDate()).slice(-2),a=("00"+t.getHours()).slice(-2),s=("00"+t.getMinutes()).slice(-2),u=("00"+t.getSeconds()).slice(-2),c=("000"+t.getMilliseconds()).slice(-3);"00"===a&&"00"===s&&"00"===u&&"000"===c?(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o)):"1970"===n&&"01"===i&&"01"===o?(r.writeByte(E.TagTime),r.writeAsciiString(a+s+u),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))):(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+s+u),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))),r.writeByte(E.TagSemicolon)}function p(e,t){e._refer.set(t);var r=e.stream,n=("00"+t.getHours()).slice(-2),i=("00"+t.getMinutes()).slice(-2),o=("00"+t.getSeconds()).slice(-2),a=("000"+t.getMilliseconds()).slice(-3);r.writeByte(E.TagTime),r.writeAsciiString(n+i+o),"000"!==a&&(r.writeByte(E.TagPoint),r.writeAsciiString(a)),r.writeByte(E.TagSemicolon)}function v(e,t){e._refer.set(t);var r=e.stream;r.writeByte(E.TagBytes);var n=t.byteLength||t.length;n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.write(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function g(e,t){e._refer.set(t);var r=e.stream,n=t.length;r.writeByte(E.TagString),n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.writeString(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function y(e,t,r){e._refer.set(t);var n=e.stream,i=t.length;if(n.writeByte(E.TagList),i>0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o0){r.writeAsciiString(""+o),r.writeByte(E.TagOpenbrace);for(var s=0;s0?(r.writeAsciiString(""+n),r.writeByte(E.TagOpenbrace),t.forEach(function(t,r){a(e,r),a(e,t)})):r.writeByte(E.TagOpenbrace),r.writeByte(E.TagClosebrace)}function T(e,t){var n,i,o=e.stream,s=r(t);if(s in e._classref)i=e._classref[s],n=e._fieldsref[i];else{n=[];for(var u in t)t.hasOwnProperty(u)&&"function"!=typeof t[u]&&(n[n.length]=u.toString());i=_(e,s,n)}o.writeByte(E.TagObject),o.writeAsciiString(""+i),o.writeByte(E.TagOpenbrace),e._refer.set(t);for(var c=n.length,f=0;f0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o=0;)r[r.length]=n,n=e.indexOf("_",n+1);if(r.length>0){var i=e.split("");if(t=d(i,r,0,"."),null===t&&(t=d(i,r,0,"_")),"function"==typeof t)return te.register(t,e),t}return t=function(){},Object.defineProperty(t.prototype,"getClassName",{value:function(){return e}}),te.register(t,e),t}function m(e,t){var r=e.readUntil(t);return 0===r.length?0:parseInt(r,10)}function b(e){var t=e.stream,n=t.readByte();switch(n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return n-48;case ee.TagInteger:return T(t);case ee.TagLong:return j(t);case ee.TagDouble:return E(t);case ee.TagNull:return null;case ee.TagEmpty:return"";case ee.TagTrue:return!0;case ee.TagFalse:return!1;case ee.TagNaN:return NaN;case ee.TagInfinity:return B(t);case ee.TagDate:return k(e);case ee.TagTime:return I(e);case ee.TagBytes:return R(e);case ee.TagUTF8Char:return M(e);case ee.TagString:return L(e);case ee.TagGuid:return F(e);case ee.TagList:return D(e);case ee.TagMap:return e.useHarmonyMap?G(e):q(e);case ee.TagClass:return $(e),J(e);case ee.TagObject:return Y(e);case ee.TagRef:return K(e);case ee.TagError:throw new Error(N(e));default:r(n)}}function T(e){return m(e,ee.TagSemicolon)}function _(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case ee.TagInteger:return T(e);default:r(t)}}function j(e){var t=e.readUntil(ee.TagSemicolon),r=parseInt(t,10);return r.toString()===t?r:t}function O(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case ee.TagInteger:case ee.TagLong:return j(e);default:r(t)}}function E(e){return parseFloat(e.readUntil(ee.TagSemicolon))}function S(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case ee.TagInteger:case ee.TagLong:case ee.TagDouble:return E(e);case ee.TagNaN:return NaN;case ee.TagInfinity:return B(e);default:r(t)}}function B(e){return e.readByte()===ee.TagNeg?-(1/0):1/0}function A(e){var t=e.readByte();switch(t){case ee.TagTrue:return!0;case ee.TagFalse:return!1;default:r(t)}}function k(e){var t,r=e.stream,n=parseInt(r.readAsciiString(4),10),i=parseInt(r.readAsciiString(2),10)-1,o=parseInt(r.readAsciiString(2),10),a=r.readByte();if(a===ee.TagTime){var s=parseInt(r.readAsciiString(2),10),u=parseInt(r.readAsciiString(2),10),c=parseInt(r.readAsciiString(2),10),f=0;a=r.readByte(),a===ee.TagPoint&&(f=parseInt(r.readAsciiString(3),10),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte()))),t=a===ee.TagUTC?new Date(Date.UTC(n,i,o,s,u,c,f)):new Date(n,i,o,s,u,c,f)}else t=a===ee.TagUTC?new Date(Date.UTC(n,i,o)):new Date(n,i,o);return e.refer.set(t),t}function C(e){var t=e.stream.readByte();switch(t){case ee.TagNull:return null;case ee.TagDate:return k(e);case ee.TagRef:return K(e);default:r(t)}}function I(e){var t,r=e.stream,n=parseInt(r.readAsciiString(2),10),i=parseInt(r.readAsciiString(2),10),o=parseInt(r.readAsciiString(2),10),a=0,s=r.readByte();return s===ee.TagPoint&&(a=parseInt(r.readAsciiString(3),10),s=r.readByte(),s>=48&&s<=57&&(r.skip(2),s=r.readByte(),s>=48&&s<=57&&(r.skip(2),s=r.readByte()))),t=s===ee.TagUTC?new Date(Date.UTC(1970,0,1,n,i,o,a)):new Date(1970,0,1,n,i,o,a),e.refer.set(t),t}function x(e){var t=e.stream.readByte();switch(t){case ee.TagNull:return null;case ee.TagTime:return I(e);case ee.TagRef:return K(e);default:r(t)}}function R(e){var t=e.stream,r=m(t,ee.TagQuote),n=t.read(r);return t.skip(1),e.refer.set(n),n}function P(e){var t=e.stream.readByte();switch(t){case ee.TagNull:return null;case ee.TagEmpty:return new Uint8Array(0);case ee.TagBytes:return R(e);case ee.TagRef:return K(e);default:r(t)}}function M(e){return e.stream.readString(1)}function U(e){var t=e.stream,r=t.readString(m(t,ee.TagQuote));return t.skip(1),r}function L(e){var t=U(e);return e.refer.set(t),t}function N(e){var t=e.stream.readByte();switch(t){case ee.TagNull:return null;case ee.TagEmpty:return"";case ee.TagUTF8Char:return M(e);case ee.TagString:return L(e);case ee.TagRef:return K(e);default:r(t)}}function F(e){var t=e.stream;t.skip(1);var r=t.readAsciiString(36);return t.skip(1),e.refer.set(r),r}function W(e){var t=e.stream.readByte();switch(t){case ee.TagNull:return null;case ee.TagGuid:return F(e);case ee.TagRef:return K(e);default:r(t)}}function D(e){var t=e.stream,r=[];e.refer.set(r);for(var n=m(t,ee.TagOpenbrace),i=0;i=0?n:void r(n,e)}},unserialize:{value:function(){return b(this)}},readInteger:{value:function(){return _(this.stream)}},readLong:{value:function(){return O(this.stream)}},readDouble:{value:function(){return S(this.stream)}},readBoolean:{value:function(){return A(this.stream)}},readDateWithoutTag:{value:function(){return k(this)}},readDate:{value:function(){return C(this)}},readTimeWithoutTag:{value:function(){return I(this)}},readTime:{value:function(){return x(this)}},readBytesWithoutTag:{value:function(){return R(this)}},readBytes:{value:function(){return P(this)}},readStringWithoutTag:{value:function(){return L(this)}},readString:{value:function(){return N(this)}},readGuidWithoutTag:{value:function(){return F(this)}},readGuid:{value:function(){return W(this)}},readListWithoutTag:{value:function(){return D(this)}},readList:{value:function(){return z(this)}},readMapWithoutTag:{value:function(){return this.useHarmonyMap?G(this):q(this)}},readMap:{value:function(){return this.useHarmonyMap?Q(this):H(this)}},readObjectWithoutTag:{value:function(){return Y(this)}},readObject:{value:function(){return J(this)}},reset:{value:function(){this.classref.length=0,this.refer.reset()}}}),e.hprose.Reader=V}(this||[eval][0]("this")),function(e){"use strict";function t(e,t){var r=new n,o=new i(r,t);return o.serialize(e),r}function r(e,t,r){return e instanceof n||(e=new n(e)),new o(e,t,r).unserialize()}var n=e.hprose.BytesIO,i=e.hprose.Writer,o=e.hprose.Reader;e.hprose.Formatter={serialize:function(e,r){return t(e,r).bytes},unserialize:r},e.hprose.serialize=t,e.hprose.unserialize=r}(this||[eval][0]("this")),function(e){"use strict";e.hprose.ResultMode={Normal:0,Serialized:1,Raw:2,RawWithEndTag:3},e.hprose.Normal=e.hprose.ResultMode.Normal,e.hprose.Serialized=e.hprose.ResultMode.Serialized,e.hprose.Raw=e.hprose.ResultMode.Raw,e.hprose.RawWithEndTag=e.hprose.ResultMode.RawWithEndTag}(this||[eval][0]("this")),function(e,t){"use strict";function r(){}function n(e,n,i){function o(e,t){for(var r=0,n=Ve.length;r=0;r--)e=Ve[r].inputFilter(e,t);return e}function T(e,t){return e=o(e,t),st(e,t).then(function(e){if(!t.oneway)return p(e,t)})}function _(e,t){return ht.sendAndReceive(e,t).catchError(function(r){var n=E(e,t);if(null!==n)return n;throw r})}function j(e,t,r,n){at(e,t).then(r,n)}function O(){var e=Le.length;if(e>1){var t=Ne+1;t>=e&&(t=0,Ge++),Ne=t,Ue=Le[Ne]}else Ge++;Ke(ht)}function E(e,t){if(t.failswitch&&O(),t.idempotent&&t.retried5e3&&(r=5e3),r>0?h.delayed(r,function(){return _(e,t)}):_(e,t)}return null}function S(e){var t={retry:ze,retried:0,idempotent:!0,failswitch:!0,timeout:De,client:ht,userdata:{}},r=function(t){var r=null;try{var n=new c(t),i=new l(n,(!0)),o=n.readByte();switch(o){case s.TagError:r=new Error(i.readString());break;case s.TagFunctions:var a=i.readList();i.checkTag(s.TagEnd),k(e,a);break;default:r=new Error("Wrong Response:\r\n"+c.toString(t))}}catch(e){r=e}null!==r?et.reject(r):et.resolve(e)};j(g,t,r,et.reject)}function B(e,t){return function(){return Xe?M(e,t,Array.slice(arguments),!0):h.all(arguments).then(function(r){return M(e,t,r,!1)})}}function A(e,r,n,i,o){if(r[i]===t&&(r[i]={},typeof o!==d&&o.constructor!==Object||(o=[o]),Array.isArray(o)))for(var a=0;a0||r.byref)&&(i.reset(),i.writeList(t),r.byref&&i.writeBoolean(!0)),n}function P(e,t,r,n){return Qe?h.promise(function(i,o){Ye.push({batch:n,name:e,args:t,context:r,resolve:i,reject:o})}):n?W(e,t,r):F(e,t,r)}function M(e,t,r,n){return P(t,r,x(e,t,r,n),n)}function U(e,t,r,n){try{r.onerror?r.onerror(e,t):$e(e,t),n(t)}catch(e){n(e)}}function L(e,t,r){var n=R(e,t,r);return n.writeByte(s.TagEnd),h.promise(function(e,i){j(n.bytes,r,function(n){if(r.oneway)return void e();var o=null,a=null;try{if(r.mode===u.RawWithEndTag)o=n;else if(r.mode===u.Raw)o=n.subarray(0,n.byteLength-1);else{var f=new c(n),h=new l(f,(!1),r.useHarmonyMap),p=f.readByte();if(p===s.TagResult){if(o=r.mode===u.Serialized?h.readRaw():h.unserialize(),p=f.readByte(),p===s.TagArgument){h.reset();var v=h.readList();C(v,t),p=f.readByte()}}else p===s.TagError&&(a=new Error(h.readString()),p=f.readByte());p!==s.TagEnd&&(a=new Error("Wrong Response:\r\n"+c.toString(n)))}}catch(e){a=e}a?i(a):e(o)},i)})}function N(e){return function(){e&&(Qe=!1,a(function(e){e.forEach(function(e){"settings"in e?H(e.settings).then(e.resolve,e.reject):P(e.name,e.args,e.context,e.batch).then(e.resolve,e.reject)})},Ye),Ye=[])}}function F(e,t,r){r.sync&&(Qe=!0);var n=h.promise(function(n,i){it(e,t,r).then(function(o){try{if(r.onsuccess)try{r.onsuccess(o,t)}catch(t){r.onerror&&r.onerror(e,t),i(t)}n(o)}catch(e){i(e)}},function(t){U(e,t,r,i)})});return n.whenComplete(N(r.sync)),n}function W(e,t,r){return h.promise(function(n,i){Ze.push({args:t,name:e,context:r,resolve:n,reject:i})})}function D(e){var t={timeout:De,retry:ze,retried:0,idempotent:qe,failswitch:He,oneway:!1,sync:!1,client:ht,userdata:{}};for(var r in e)r in t&&(t[r]=e[r]);return t}function z(e,t){var r=e.reduce(function(e,t){return e.write(R(t.name,t.args,t.context)),e},new c);return r.writeByte(s.TagEnd),h.promise(function(n,i){j(r.bytes,t,function(r){if(t.oneway)return void n(e);var o=-1,a=new c(r),f=new l(a,(!1)),h=a.readByte();try{for(;h!==s.TagEnd;){var p=null,v=null,g=e[++o].context.mode;if(g>=u.Raw&&(p=new c),h===s.TagResult){if(g===u.Serialized?p=f.readRaw():g>=u.Raw?(p.writeByte(s.TagResult),p.write(f.readRaw())):(f.useHarmonyMap=e[o].context.useHarmonyMap,f.reset(),p=f.unserialize()),h=a.readByte(),h===s.TagArgument){if(g>=u.Raw)p.writeByte(s.TagArgument),p.write(f.readRaw());else{f.reset();var y=f.readList();C(y,e[o].args)}h=a.readByte()}}else h===s.TagError&&(g>=u.Raw?(p.writeByte(s.TagError),p.write(f.readRaw())):(f.reset(),v=new Error(f.readString())),h=a.readByte());if([s.TagEnd,s.TagResult,s.TagError].indexOf(h)<0)return void i(new Error("Wrong Response:\r\n"+c.toString(r)));g>=u.Raw?(g===u.RawWithEndTag&&p.writeByte(s.TagEnd),e[o].result=p.bytes):e[o].result=p,e[o].error=v}}catch(e){return void i(e)}n(e)},i)})}function q(){Xe=!0}function H(e){if(e=e||{},Xe=!1,Qe)return h.promise(function(t,r){Ye.push({batch:!0,settings:e,resolve:t,reject:r})});var t=Ze.length;if(0===t)return h.value([]);var r=D(e);r.sync&&(Qe=!0);var n=Ze;Ze=[];var i=h.promise(function(e,t){ot(n,r).then(function(t){t.forEach(function(e){if(e.error)U(e.name,e.error,e.context,e.reject);else try{if(e.context.onsuccess)try{e.context.onsuccess(e.result,e.args)}catch(t){e.context.onerror&&e.context.onerror(e.name,t),e.reject(t)}e.resolve(e.result)}catch(t){e.reject(t)}delete e.context,delete e.resolve,delete e.reject}),e(t)},function(e){n.forEach(function(t){"reject"in t&&U(t.name,e,t.context,t.reject)}),t(e)})});return i.whenComplete(N(r.sync)),i}function G(){return $e}function Q(e){typeof e===m&&($e=e)}function Y(){return Ke}function J(e){typeof e===m&&(Ke=e)}function $(){return Ue}function K(){return Le}function V(e){if(typeof e===d)Le=[e];else{if(!Array.isArray(e))return;Le=e.slice(0),Le.sort(function(){return Math.random()-.5})}Ne=0,Ue=Le[Ne]}function X(){return He}function Z(e){He=!!e}function ee(){return Ge}function te(){return De}function re(e){De="number"==typeof e?0|e:0}function ne(){return ze}function ie(e){ze="number"==typeof e?0|e:0}function oe(){return qe}function ae(e){qe=!!e}function se(e){nt=!!e}function ue(){return nt}function ce(){return Fe}function fe(e){Fe=!!e}function le(){return We}function he(e){We=!!e}function pe(){return Je}function ve(e){Je=!!e}function ge(){return 0===Ve.length?null:1===Ve.length?Ve[0]:Ve.slice()}function ye(e){Ve.length=0,Array.isArray(e)?e.forEach(function(e){de(e)}):de(e)}function de(e){e&&"function"==typeof e.inputFilter&&"function"==typeof e.outputFilter&&Ve.push(e)}function we(e){var t=Ve.indexOf(e);return t!==-1&&(Ve.splice(t,1),!0)}function me(){return Ve}function be(e,r,n){n===t&&(typeof r===y&&(n=r,r=!1),r||(typeof e===y?(n=e,e=!1):(e&&e.constructor===Object||Array.isArray(e))&&(r=e,e=!1)));var i=ht;return n&&(i={}),e||Ue?(e&&(Ue=e),(typeof r===d||r&&r.constructor===Object)&&(r=[r]),Array.isArray(r)?(k(i,r),et.resolve(i),i):(a(S,i),et)):new Error("You should set server uri first!")}function Te(e,t,n){var i=arguments.length;if(i<1||typeof e!==d)throw new Error("name must be a string");if(1===i&&(t=[]),2===i&&!Array.isArray(t)){var o=[];typeof t!==m&&o.push(r),o.push(t),t=o}if(i>2){typeof n!==m&&t.push(r);for(var a=2;a=0&&(i[o]=i[i.length-1],i.length--),0===i.length&&delete e[t]}}else delete e[t]}function Se(e,r,n){if(typeof e!==d)throw new TypeError("topic name must be a string.");if(r===t||null===r){if(typeof n!==m)return void delete tt[e];r=n}if(typeof r===m&&(n=r,r=null),null===r)if(null===rt){if(tt[e]){var i=tt[e];for(r in i)Ee(i,r,n)}}else rt.then(function(t){Se(e,t,n)});else h.isPromise(r)?r.then(function(t){Se(e,t,n)}):Ee(tt[e],r,n);v(tt[e])&&delete tt[e]}function Be(e){return!!tt[e]}function Ae(){var e=[];for(var t in tt)e.push(t);return e}function ke(){return rt}function Ce(){return null===rt&&(rt=M(ht,"#",[],!1)),rt}function Ie(e){ut.push(e),it=ut.reduceRight(function(e,t){return function(r,n,i){return h.sync(function(){return t(r,n,i,e)})}},L)}function xe(e){ct.push(e),ot=ct.reduceRight(function(e,t){return function(r,n){return h.sync(function(){return t(r,n,e)})}},z)}function Re(e){ft.push(e),at=ft.reduceRight(function(e,t){return function(r,n){return h.sync(function(){return t(r,n,e)})}},T)}function Pe(e){lt.push(e),st=lt.reduceRight(function(e,t){return function(r,n){return h.sync(function(){return t(r,n,e)})}},_)}function Me(e){return Ie(e),ht}var Ue,Le=[],Ne=-1,Fe=!1,We=!1,De=3e4,ze=10,qe=!1,He=!1,Ge=0,Qe=!1,Ye=[],Je=!1,$e=r,Ke=r,Ve=[],Xe=!1,Ze=[],et=new h,tt=Object.create(null),rt=null,nt=!0,it=L,ot=z,at=T,st=_,ut=[],ct=[],ft=[],lt=[],ht=this;Ce.sync=!0,Ce.idempotent=!0,Ce.failswitch=!0;var pt=Object.create(null,{begin:{value:q},end:{value:H},use:{value:function(e){return xe(e),pt}}}),vt=Object.create(null,{use:{value:function(e){return Re(e),vt}}}),gt=Object.create(null,{use:{value:function(e){return Pe(e),gt}}});Object.defineProperties(this,{"#":{value:Ce},onerror:{get:G,set:Q},onfailswitch:{get:Y,set:J},uri:{get:$},uriList:{get:K,set:V},id:{get:ke},failswitch:{get:X,set:Z},failround:{get:ee},timeout:{get:te,set:re},retry:{get:ne,set:ie},idempotent:{get:oe,set:ae},keepAlive:{get:ue,set:se},byref:{get:ce,set:fe},simple:{get:le,set:he},useHarmonyMap:{get:pe,set:ve},filter:{get:ge,set:ye},addFilter:{value:de},removeFilter:{value:we},filters:{get:me},useService:{value:be},invoke:{value:Te},ready:{value:_e},subscribe:{value:Oe},unsubscribe:{value:Se},isSubscribed:{value:Be},subscribedList:{value:Ae},use:{value:Me},batch:{value:pt},beforeFilter:{value:vt},afterFilter:{value:gt}}),i&&typeof i===b&&["failswitch","timeout","retry","idempotent","keepAlive","byref","simple","useHarmonyMap","filter"].forEach(function(e){e in i&&(ht[e]=i[e])}),e&&(V(e),be(n))}function i(e){var t=p(e),r=t.protocol;if("http:"!==r&&"https:"!==r&&"tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r&&"ws:"!==r&&"wss:"!==r)throw new Error("The "+r+" client isn't implemented.")}function o(t,r,n){try{return e.hprose.HttpClient.create(t,r,n)}catch(e){}try{return e.hprose.TcpClient.create(t,r,n)}catch(e){}try{return e.hprose.WebSocketClient.create(t,r,n)}catch(e){}if("string"==typeof t)i(t);else if(Array.isArray(t))throw t.forEach(function(e){i(e)}),new Error("Not support multiple protocol.");throw new Error("You should set server uri first!")}var a=e.setImmediate,s=e.hprose.Tags,u=e.hprose.ResultMode,c=e.hprose.BytesIO,f=e.hprose.Writer,l=e.hprose.Reader,h=e.hprose.Future,p=e.hprose.parseuri,v=e.hprose.isObjectEmpty,g=new Uint8Array(1);g[0]=s.TagEnd;var y="boolean",d="string",w="number",m="function",b="object";Object.defineProperty(n,"create",{ -value:o}),e.hprose.Client=n}(this||[eval][0]("this")),function(e,t){"use strict";function r(){}function n(i,o,f){function h(e,n){var i=new s,o=new l;o.open("POST",O.uri,!0),p&&(o.withCredentials="true"),o.responseType="arraybuffer";for(var a in T)o.setRequestHeader(a,T[a]);if(o.onload=function(){o.onload=r,o.status&&(200===o.status?i.resolve(new Uint8Array(o.response)):i.reject(new Error(o.status+":"+o.statusText)))},o.onerror=function(){i.reject(new Error("error"))},o.upload!==t&&(o.upload.onprogress=_),o.onprogress=j,n.timeout>0&&(i=i.timeout(n.timeout).catchError(function(e){throw o.onload=r,o.onerror=r,o.abort(),e},function(e){return e instanceof c})),e.constructor===String||ArrayBuffer.isView)o.send(e);else if(e.buffer.slice)o.send(e.buffer.slice(0,e.length));else{var u=new Uint8Array(e.length);u.set(e),o.send(u.buffer)}return i}function v(t,r){var n=new s;return e.api.ajax({url:O.uri(),method:"post",data:{body:u.toString(t)},timeout:r.timeout,dataType:"text",headers:T,certificate:O.certificate},function(e,t){e?n.resolve(new u(e).takeBytes()):n.reject(new Error(t.msg))}),n}function g(t,r){var n="undefined"!=typeof e.api&&"undefined"!=typeof e.api.ajax,i=n?v(t,r):h(t,r);return r.oneway&&i.resolve(),i}function y(e){"function"==typeof e&&(_=e)}function d(){return _}function w(e){"function"==typeof e&&(j=e)}function m(){return j}function b(e,t){"content-type"!==e.toLowerCase()&&"content-length"!==e.toLowerCase()&&(t?T[e]=t:delete T[e])}if(this.constructor!==n)return new n(i,o,f);a.call(this,i,o,f);var T=Object.create(null),_=r,j=r,O=this;Object.defineProperties(this,{onprogress:{get:d,set:y},onRequestProgress:{get:d,set:y},onResponseProgress:{get:m,set:w},setHeader:{value:b},sendAndReceive:{value:g}})}function i(e){var t=v(e);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function o(e,t,r){if("string"==typeof e)i(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){i(e)})}return new n(e,t,r)}var a=e.hprose.Client,s=e.hprose.Future,u=e.hprose.BytesIO,c=e.TimeoutError,f=e.location!==t&&"file:"===e.location.protocol,l=e.XMLHttpRequest,h="undefined"!=typeof l,p=!f&&h&&"withCredentials"in new l,v=e.hprose.parseuri;Object.defineProperty(n,"create",{value:o}),e.hprose.HttpClient=n}(this||[eval][0]("this")),function(e,t){"use strict";function r(){}function n(e,i,o){function f(){return m<2147483647?++m:m=0}function h(e,t){var r=new a;r.writeInt32BE(e),t.constructor===String?r.writeString(t):r.write(t);var n=r.bytes;ArrayBuffer.isView?O.send(n):n.buffer.slice?O.send(n.buffer.slice(0,n.length)):O.send(n.buffer)}function p(e){j.resolve(e)}function v(e){var r=new a(e.data),n=r.readInt32BE(),i=T[n];if(delete T[n],i!==t&&(--b,i.resolve(r.read(r.length-4))),b<100&&_.length>0){++b;var o=_.pop();j.then(function(){h(o[0],o[1])})}0!==b||E.keepAlive||w()}function g(e){T.forEach(function(t,r){t.reject(new Error(e.code+":"+e.reason)),delete T[r]}),b=0,O=null}function y(){j=new u,O=new l(E.uri),O.binaryType="arraybuffer",O.onopen=p,O.onmessage=v,O.onerror=r,O.onclose=g}function d(e,t){var r=f(),n=new u;return T[r]=n,t.timeout>0&&(n=n.timeout(t.timeout).catchError(function(e){throw delete T[r],--b,e},function(e){return e instanceof c})),null!==O&&O.readyState!==l.CLOSING&&O.readyState!==l.CLOSED||y(),b<100?(++b,j.then(function(){h(r,e)})):_.push([r,e]),t.oneway&&n.resolve(),n}function w(){null!==O&&(O.onopen=r,O.onmessage=r,O.onclose=r,O.close())}if("undefined"==typeof l)throw new Error("WebSocket is not supported by this browser.");if(this.constructor!==n)return new n(e,i,o);s.call(this,e,i,o);var m=0,b=0,T=[],_=[],j=null,O=null,E=this;Object.defineProperties(this,{sendAndReceive:{value:d},close:{value:w}})}function i(e){var t=f(e);if("ws:"!==t.protocol&&"wss:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function o(e,t,r){if("string"==typeof e)i(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){i(e)})}return new n(e,t,r)}var a=e.hprose.BytesIO,s=e.hprose.Client,u=e.hprose.Future,c=e.TimeoutError,f=e.hprose.parseuri,l=e.WebSocket||e.MozWebSocket;Object.defineProperty(n,"create",{value:o}),e.hprose.WebSocketClient=n}(this||[eval][0]("this")),function(e,t){"use strict";function r(){}function n(e){var t=s[e.socketId];t.onreceive(e.data)}function i(e){var t=s[e.socketId];t.onerror(e.resultCode),t.destroy()}function o(){null===u&&(u=e.chrome.sockets.tcp,u.onReceive.addListener(n),u.onReceiveError.addListener(i)),this.socketId=new a,this.connected=!1,this.timeid=t,this.onclose=r,this.onconnect=r,this.onreceive=r,this.onerror=r}var a=e.hprose.Future,s={},u=null;Object.defineProperties(o.prototype,{connect:{value:function(e,t,r){var n=this;u.create({persistent:r&&r.persistent},function(i){r&&("noDelay"in r&&u.setNoDelay(i.socketId,r.noDelay,function(e){e<0&&(n.socketId.reject(e),u.disconnect(i.socketId),u.close(i.socketId),n.onclose())}),"keepAlive"in r&&u.setKeepAlive(i.socketId,r.keepAlive,function(e){e<0&&(n.socketId.reject(e),u.disconnect(i.socketId),u.close(i.socketId),n.onclose())})),r&&r.tls?u.setPaused(i.socketId,!0,function(){u.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),u.disconnect(i.socketId),u.close(i.socketId),n.onclose()):u.secure(i.socketId,function(t){0!==t?(n.socketId.reject(e),u.disconnect(i.socketId),u.close(i.socketId),n.onclose()):u.setPaused(i.socketId,!1,function(){n.socketId.resolve(i.socketId)})})})}):u.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),u.disconnect(i.socketId),u.close(i.socketId),n.onclose()):n.socketId.resolve(i.socketId)})}),this.socketId.then(function(e){s[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new a;return this.socketId.then(function(n){u.send(n,e,function(e){e.resultCode<0?(t.onerror(e.resultCode),r.reject(e.resultCode),t.destroy()):r.resolve(e.bytesSent)})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){u.disconnect(t),u.close(t),delete s[t],e.onclose()})}},ref:{value:function(){this.socketId.then(function(e){u.setPaused(e,!1)})}},unref:{value:function(){this.socketId.then(function(e){u.setPaused(e,!0)})}},clearTimeout:{value:function(){this.timeid!==t&&e.clearTimeout(this.timeid)}},setTimeout:{value:function(t,r){this.clearTimeout(),this.timeid=e.setTimeout(r,t)}}}),e.hprose.ChromeTcpSocket=o}(this||[eval][0]("this")),function(e,t){"use strict";function r(){}function n(){null===f&&(f=e.api.require("socketManager")),this.socketId=new i,this.connected=!1,this.timeid=t,this.onclose=r,this.onconnect=r,this.onreceive=r,this.onerror=r}var i=e.hprose.Future,o=e.atob,a=e.btoa,s=e.hprose.toUint8Array,u=e.hprose.toBinaryString,c={},f=null;Object.defineProperties(n.prototype,{connect:{value:function(e,t,r){var n=this;f.createSocket({type:"tcp",host:e,port:t,timeout:r.timeout,returnBase64:!0},function(e){if(e)switch(e.state){case 101:break;case 102:n.socketId.resolve(e.sid);break;case 103:n.onreceive(s(o(e.data.replace(/\s+/g,""))));break;case 201:n.socketId.reject(new Error("Create TCP socket failed"));break;case 202:n.socketId.reject(new Error("TCP connection failed"));break;case 203:n.onclose(),n.onerror(new Error("Abnormal disconnect connection"));break;case 204:n.onclose();break;case 205:n.onclose(),n.onerror(new Error("Unknown error"))}}),this.socketId.then(function(e){c[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new i;return this.socketId.then(function(n){f.write({sid:n,data:a(u(e)),base64:!0},function(e,n){e.status?r.resolve():(t.onerror(new Error(n.msg)),r.reject(n.msg),t.destroy())})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){f.closeSocket({sid:t},function(t,r){t.status||e.onerror(new Error(r.msg))}),delete c[t]})}},ref:{value:r},unref:{value:r},clearTimeout:{value:function(){this.timeid!==t&&e.clearTimeout(this.timeid)}},setTimeout:{value:function(t,r){this.clearTimeout(),this.timeid=e.setTimeout(r,t)}}}),e.hprose.APICloudTcpSocket=n}(this||[eval][0]("this")),function(e,t){"use strict";function r(){}function n(e,t){e.onreceive=function(r){"receiveEntry"in e||(e.receiveEntry={stream:new p,headerLength:4,dataLength:-1,id:null});var n=e.receiveEntry,i=n.stream,o=n.headerLength,a=n.dataLength,s=n.id;for(i.write(r);;){if(a<0&&i.length>=o&&(a=i.readInt32BE(),0!==(2147483648&a)&&(a&=2147483647,o=8)),8===o&&null===s&&i.length>=o&&(s=i.readInt32BE()),!(a>=0&&i.length-o>=a))break;t(i.read(a),s),o=4,s=null,i.trunc(),a=-1}n.stream=i,n.headerLength=o,n.dataLength=a,n.id=s}}function i(e){e&&(this.client=e,this.uri=this.client.uri,this.size=0,this.pool=[],this.requests=[])}function o(e){i.call(this,e)}function a(e){i.call(this,e)}function s(e,t,r){function n(){return w}function i(e){w=!!e}function u(){return m}function c(e){m=!!e}function f(){return b}function l(e){"number"==typeof e?(b=0|e,b<1&&(b=10)):b=10}function p(){return T}function g(e){T="number"==typeof e?0|e:0}function y(e,t){var r=new v;return m?(null!==_&&_.uri===d.uri||(_=new o(d)),_.sendAndReceive(e,r,t)):(null!==j&&j.uri===d.uri||(j=new a(d)),j.sendAndReceive(e,r,t)),t.oneway&&r.resolve(),r}if(this.constructor!==s)return new s(e,t,r);h.call(this,e,t,r);var d=this,w=!0,m=!1,b=10,T=3e4,_=null,j=null;Object.defineProperties(this,{noDelay:{get:n,set:i},fullDuplex:{get:u,set:c},maxPoolSize:{get:f,set:l},poolTimeout:{get:p,set:g},sendAndReceive:{value:y}})}function u(e){var t=y(e),r=t.protocol;if("tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r)throw new Error("This client desn't support "+r+" scheme.")}function c(e,t,r){if("string"==typeof e)u(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){u(e)})}return new s(e,t,r)}var f=e.hprose.ChromeTcpSocket,l=e.hprose.APICloudTcpSocket,h=e.hprose.Client,p=e.hprose.BytesIO,v=e.hprose.Future,g=e.TimeoutError,y=e.hprose.parseuri;Object.defineProperties(i.prototype,{create:{value:function(){var t,r=y(this.uri),n=r.protocol,i=r.hostname,o=parseInt(r.port,10);if("tcp:"===n||"tcp4:"===n||"tcp6:"===n)t=!1;else{if("tcps:"!==n&&"tcp4s:"!==n&&"tcp6s:"!==n&&"tls:"!==n)throw new Error("Unsupported "+n+" protocol!");t=!0}var a;if(e.chrome&&e.chrome.sockets&&e.chrome.sockets.tcp)a=new f;else{if(!e.api||!e.api.require)throw new Error("TCP Socket is not supported by this browser or platform.");a=new l}var s=this;return a.connect(i,o,{persistent:!0,tls:t,timeout:this.client.timeout,noDelay:this.client.noDelay,keepAlive:this.client.keepAlive}),a.onclose=function(){--s.size},++this.size,a}}}),o.prototype=Object.create(i.prototype,{fetch:{value:function(){for(var e=this.pool;e.length>0;){var t=e.pop();if(t.connected)return 0===t.count&&(t.clearTimeout(),t.ref()),t}return null}},init:{value:function(e){var t=this;e.count=0,e.futures={},e.timeoutIds={},n(e,function(r,n){var i=e.futures[n];i&&(t.clean(e,n),0===e.count&&t.recycle(e),i.resolve(r))}),e.onerror=function(r){var n=e.futures;for(var i in n){var o=n[i];t.clean(e,i),o.reject(r)}}}},recycle:{value:function(e){e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()})}},clean:{value:function(r,n){r.timeoutIds[n]!==t&&(e.clearTimeout(r.timeoutIds[n]),delete r.timeoutIds[n]),delete r.futures[n],--r.count,this.sendNext(r)}},sendNext:{value:function(e){if(e.count<10)if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.pool.lastIndexOf(e)<0&&this.pool.push(e)}},send:{value:function(t,r,n,i,o){var a=this,s=i.timeout;s>0&&(o.timeoutIds[n]=e.setTimeout(function(){a.clean(o,n),0===o.count&&a.recycle(o),r.reject(new g("timeout"))},s)),o.count++,o.futures[n]=r;var u=t.length,c=new p(8+u);c.writeInt32BE(2147483648|u),c.writeInt32BE(n),c.write(t),o.send(c.buffer).then(function(){a.sendNext(o)})}},getNextId:{value:function(){return this.nextid<2147483647?++this.nextid:this.nextid=0}},sendAndReceive:{value:function(e,t,r){var n=this.fetch(),i=this.getNextId();if(n)this.send(e,t,i,r,n);else if(this.size0;){var t=e.pop();if(t.connected)return t.clearTimeout(),t.ref(),t}return null}},recycle:{value:function(e){this.pool.lastIndexOf(e)<0&&(e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()}),this.pool.push(e))}},clean:{value:function(n){n.onreceive=r,n.onerror=r,n.timeoutId!==t&&(e.clearTimeout(n.timeoutId),delete n.timeoutId)}},sendNext:{value:function(e){if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.recycle(e)}},send:{value:function(t,r,i,o){var a=this,s=i.timeout;s>0&&(o.timeoutId=e.setTimeout(function(){a.clean(o),o.destroy(),r.reject(new g("timeout"))},s)),n(o,function(e){a.clean(o),a.sendNext(o),r.resolve(e)}),o.onerror=function(e){a.clean(o),r.reject(e)};var u=t.length,c=new p(4+u);c.writeInt32BE(u),c.write(t),o.send(c.buffer)}},sendAndReceive:{value:function(e,t,r){var n=this.fetch();if(n)this.send(e,t,r,n);else if(this.size1?a.stringify(t):a.stringify(t[0])},e.hprose.JSONRPCClientFilter=t}(this||[eval][0]("this")),function(e){"use strict";e.hprose.common={Completer:e.hprose.Completer,Future:e.hprose.Future,ResultMode:e.hprose.ResultMode},e.hprose.io={BytesIO:e.hprose.BytesIO,ClassManager:e.hprose.ClassManager,Tags:e.hprose.Tags,RawReader:e.hprose.RawReader,Reader:e.hprose.Reader,Writer:e.hprose.Writer,Formatter:e.hprose.Formatter},e.hprose.client={Client:e.hprose.Client,HttpClient:e.hprose.HttpClient,TcpClient:e.hprose.TcpClient,WebSocketClient:e.hprose.WebSocketClient},e.hprose.filter={JSONRPCClientFilter:e.hprose.JSONRPCClientFilter},"function"==typeof define&&(define.cmd?define("hprose",[],e.hprose):define.amd&&define("hprose",[],function(){return e.hprose})),"object"==typeof module&&(module.exports=e.hprose)}(this||[eval][0]("this")),!function(e){"use strict";function t(e,t,r,i){var o=t&&t.prototype instanceof n?t:n,a=Object.create(o.prototype),s=new h(i||[]);return a._invoke=c(e,r,s),a}function r(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function n(){}function i(){}function o(){}function a(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function s(e){this.arg=e}function u(e){function t(n,i,o,a){var u=r(e[n],e,i);if("throw"!==u.type){var c=u.arg,f=c.value;return f instanceof s?Promise.resolve(f.arg).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(f).then(function(e){c.value=e,o(c)},a)}a(u.arg)}function n(e,r){function n(){return new Promise(function(n,i){t(e,r,n,i)})}return i=i?i.then(n,n):n()}"object"==typeof process&&process.domain&&(t=process.domain.bind(t));var i;this._invoke=n}function c(e,t,n){var i=_;return function(o,a){if(i===O)throw new Error("Generator is already running");if(i===E){if("throw"===o)throw a;return v()}for(;;){var s=n.delegate;if(s){if("return"===o||"throw"===o&&s.iterator[o]===g){n.delegate=null;var u=s.iterator.return;if(u){var c=r(u,s.iterator,a);if("throw"===c.type){o="throw",a=c.arg;continue}}if("return"===o)continue}var c=r(s.iterator[o],s.iterator,a);if("throw"===c.type){n.delegate=null,o="throw",a=c.arg;continue}o="next",a=g;var f=c.arg;if(!f.done)return i=j,f;n[s.resultName]=f.value,n.next=s.nextLoc,n.delegate=null}if("next"===o)n.sent=n._sent=a;else if("throw"===o){if(i===_)throw i=E,a;n.dispatchException(a)&&(o="next",a=g)}else"return"===o&&n.abrupt("return",a);i=O;var c=r(e,t,n);if("normal"===c.type){i=n.done?E:j;var f={value:c.arg,done:n.done};if(c.arg!==S)return f;n.delegate&&"next"===o&&(a=g)}else"throw"===c.type&&(i=E,o="throw",a=c.arg)}}}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function l(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function p(e){if(e){var t=e[w];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var i=this.tryEntries[n],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var a=y.call(i,"catchLoc"),s=y.call(i,"finallyLoc");if(a&&s){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&y.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),l(r),S}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;l(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:p(e),resultName:t,nextLoc:r},S}}}("object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this); \ No newline at end of file +var hprose=Object.create(null);hprose.global="object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this,function(e,t){"use strict";function r(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return function(t){return e.apply(t,Array.prototype.slice.call(arguments,1))}}function n(e){for(var t=e.length,r=new Array(t),n=0;n>15,i=new Array(r?n+1:n),o=0;o=0?n=i:(n=r+i,n<0&&(n=0));for(var o;n>>0,o=arguments[1],a=0;a>>0,o=arguments[1],a=0;a>>0,i=arguments[1],o=i>>0,a=o<0?Math.max(n+o,0):Math.min(o,n),u=arguments[2],s=u===t?n:u>>0,c=s<0?Math.max(n+s,0):Math.min(s,n);a>>0,o=e>>0,a=o<0?Math.max(i+o,0):Math.min(o,i),u=r>>0,s=u<0?Math.max(i+u,0):Math.min(u,i),c=arguments[2],f=c===t?i:c>>0,l=f<0?Math.max(i+f,0):Math.min(f,i),h=Math.min(l-s,i-a),v=1;for(s0;)s in n?n[a]=n[s]:delete n[a],s+=v,a+=v,h--;return n}}),Array.from||Object.defineProperty(Array,"from",{value:function(){var e=Object.prototype.toString,r=function(t){return"function"==typeof t||"[object Function]"===e.call(t)},n=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t},i=Math.pow(2,53)-1,o=function(e){var t=n(e);return Math.min(Math.max(t,0),i)};return function(e){var n=this,i=Object(e);if(null===e||e===t)throw new TypeError("Array.from requires an array-like object - not null or undefined");var a,u=arguments.length>1?arguments[1]:void t;if("undefined"!=typeof u){if(!r(u))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(a=arguments[2])}for(var s,c=o(i.length),f=r(n)?Object(new n(c)):new Array(c),l=0;lr.length)&&(t=r.length),t-=e.length;var n=r.indexOf(e,t);return n!==-1&&n===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return"number"==typeof arguments[1]?!(this.length=1<<28)throw new RangeError("repeat count must not overflow maximum string size");for(var r="";1===(1&e)&&(r+=t),e>>>=1,0!==e;)t+=t;return r}}),String.prototype.trim||Object.defineProperty(String.prototype,"trim",{value:function(){return this.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}}),String.prototype.trimLeft||Object.defineProperty(String.prototype,"trimLeft",{value:function(){return this.toString().replace(/^[\s\xa0]+/,"")}}),String.prototype.trimRight||Object.defineProperty(String.prototype,"trimRight",{value:function(){return this.toString().replace(/[\s\xa0]+$/,"")}}),Object.keys||Object.defineProperty(Object,"keys",{value:function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(i){if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Object.keys called on non-object");var o=[];for(var a in i)e.call(i,a)&&o.push(a);if(t)for(var u=0;u0&&Array.isArray(arguments[0]))for(var s=arguments[0],c=0,f=s.length;c0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,f=o.length;a0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,u=o.length;a0;)i(e.shift())});return r.observe(t,{characterData:!0}),function(){var r=o(arguments);return e.push(r),t.data=1&r,r}},s.messageChannel=function(){var t=new e.MessageChannel;return t.port1.onmessage=function(e){i(Number(e.data))},function(){var e=o(arguments);return t.port2.postMessage(e),e}},s.nextTick=function(){return function(){var t=o(arguments);return e.process.nextTick(r(i,t)),t}},s.postMessage=function(){var e=a.createElement("iframe");e.style.display="none",a.documentElement.appendChild(e);var t=e.contentWindow;t.document.write(''),t.document.close();var r=[];return window.addEventListener("message",function(){for(;r.length>0;)i(r.shift())}),function(){var e=o(arguments);return r.push(e),t.postMessage(1,"*"),e}},s.readyStateChange=function(){var e=a.documentElement;return function(){var t=o(arguments),r=a.createElement("script");return r.onreadystatechange=function(){i(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r),t}};var l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,s.setTimeout=function(){return function(){var e=o(arguments);return l.setTimeout(r(i,e),0),e}},"undefined"==typeof e.process||"[object process]"!==Object.prototype.toString.call(e.process)||e.process.browser?a&&"onreadystatechange"in a.createElement("script")?l.setImmediate=s.readyStateChange():a&&u?l.setImmediate=s.mutationObserver():e.MessageChannel?l.setImmediate=s.messageChannel():a&&"postMessage"in e&&"addEventListener"in e?l.setImmediate=s.postMessage():l.setImmediate=s.setTimeout():l.setImmediate=s.nextTick(),l.clearImmediate=n}}(hprose.global),function(e,t,r){"use strict";function n(e){Object.defineProperties(this,{_subscribers:{value:[]},resolve:{value:this.resolve.bind(this)},reject:{value:this.reject.bind(this)}});var t=this;"function"==typeof e&&J(function(){try{t.resolve(e())}catch(e){t.reject(e)}})}function i(e){return e instanceof n}function o(e){return"function"==typeof e.then}function a(e,t){var r="function"==typeof t?t:function(){return t},i=new n;return $(function(){try{i.resolve(r())}catch(e){i.reject(e)}},e),i}function u(e){var t=new n;return t.reject(e),t}function s(e){var t=new n;return t.resolve(e),t}function c(e){try{var t=e();return s(t)}catch(e){return u(e)}}function f(e){var t=new n;return e(t.resolve,t.reject),t}function l(e){var t=0;return Array.forEach(e,function(){++t}),t}function h(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e),i=new Array(t);if(0===r)return s(i);var o=new n;return Array.forEach(e,function(e,t){O(e).then(function(e){i[t]=e,0===--r&&o.resolve(i)},o.reject)}),o})}function v(){return h(arguments)}function p(e){return e=o(e)?e:s(e),e.then(function(e){var t=new n;return Array.forEach(e,function(e){O(e).fill(t)}),t})}function g(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e);if(0===r)throw new RangeError("any(): array must not be empty");var i=new Array(t),o=new n;return Array.forEach(e,function(e,t){O(e).then(o.resolve,function(e){i[t]=e,0===--r&&o.reject(i)})}),o})}function y(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e),i=new Array(t);if(0===r)return s(i);var o=new n;return Array.forEach(e,function(e,t){var n=O(e);n.whenComplete(function(){i[t]=n.inspect(),0===--r&&o.resolve(i)})}),o})}function d(e){var t=function(){return this}(),r=Array.slice(arguments,1);return h(r).then(function(r){return e.apply(t,r)})}function w(e,t){var r=Array.slice(arguments,2);return h(r).then(function(r){return e.apply(t,r)})}function m(e){return!!e&&("function"==typeof e.next&&"function"==typeof e.throw)}function b(e){if(!e)return!1;var t=e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName||m(t.prototype))}function T(e){if(b(e)||m(e))return S(e);var t=function(){return this}(),r=new n;return e.call(t,function(e,t){return arguments.length<2?e instanceof Error?r.reject(e):r.resolve(e):e?r.reject(e):(arguments.length>2&&(t=Array.slice(arguments,1)),void r.resolve(t))}),r}function _(e){return function(){var t=Array.slice(arguments,0),r=this,i=new n;t.push(function(){r=this,i.resolve(arguments)});try{e.apply(this,t)}catch(e){i.resolve([e])}return function(e){i.then(function(t){e.apply(r,t)})}}}function j(e){return function(){var t=Array.slice(arguments,0),r=new n;t.push(function(e,t){return arguments.length<2?e instanceof Error?r.reject(e):r.resolve(e):e?r.reject(e):(arguments.length>2&&(t=Array.slice(arguments,1)),void r.resolve(t))});try{e.apply(this,t)}catch(e){r.reject(e)}return r}}function O(e){return e?o(e)?e:b(e)||m(e)?S(e):s(e):s(e)}function S(e){function t(t){try{i(e.next(t))}catch(e){u.reject(e)}}function r(t){try{i(e.throw(t))}catch(e){return u.reject(e)}}function i(e){e.done?u.resolve(e.value):("function"==typeof e.value?T(e.value):O(e.value)).then(t,r)}var o=function(){return this}();if("function"==typeof e){var a=Array.slice(arguments,1);e=e.apply(o,a)}var u=new n;return e&&"function"==typeof e.next?(t(),u):u.resolve(e)}function E(e,t){return function(){return t=t||this,h(arguments).then(function(r){var n=e.apply(t,r);return b(n)||m(n)?S.call(t,n):n})}}function B(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.forEach(t,r)})}function A(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.every(t,r)})}function k(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.some(t,r)})}function C(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.filter(t,r)})}function I(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.map(t,r)})}function x(e,t,r){return arguments.length>2?h(e).then(function(e){return o(r)||(r=s(r)),r.then(function(r){return e.reduce(t,r)})}):h(e).then(function(e){return e.reduce(t)})}function R(e,t,r){return arguments.length>2?h(e).then(function(e){return o(r)||(r=s(r)),r.then(function(r){return e.reduceRight(t,r)})}):h(e).then(function(e){return e.reduceRight(t)})}function P(e,t,r){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return e.indexOf(t,r)})})}function M(e,t,n){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return n===r&&(n=e.length-1),e.lastIndexOf(t,n)})})}function U(e,t,r){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return e.includes(t,r)})})}function L(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.find(t,r)})}function N(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.findIndex(t,r)})}function F(e,t,r){J(function(){try{var n=e(r);t.resolve(n)}catch(e){t.reject(e)}})}function W(e,t,r){e?F(e,t,r):t.resolve(r)}function D(e,t,r){e?F(e,t,r):t.reject(r)}function z(){var e=new n;Object.defineProperties(this,{future:{value:e},complete:{value:e.resolve},completeError:{value:e.reject},isCompleted:{get:function(){return e._state!==H}}})}function q(e){n.call(this),e(this.resolve,this.reject)}var H=0,G=1,Q=2,Y="Promise"in t,J=t.setImmediate,$=t.setTimeout,K=t.clearTimeout,V=t.TimeoutError;Object.defineProperties(n,{delayed:{value:a},error:{value:u},sync:{value:c},value:{value:s},all:{value:h},race:{value:p},resolve:{value:s},reject:{value:u},promise:{value:f},isFuture:{value:i},isPromise:{value:o},toPromise:{value:O},join:{value:v},any:{value:g},settle:{value:y},attempt:{value:d},run:{value:w},thunkify:{value:_},promisify:{value:j},co:{value:S},wrap:{value:E},forEach:{value:B},every:{value:A},some:{value:k},filter:{value:C},map:{value:I},reduce:{value:x},reduceRight:{value:R},indexOf:{value:P},lastIndexOf:{value:M},includes:{value:U},find:{value:L},findIndex:{value:N}}),Object.defineProperties(n.prototype,{_value:{writable:!0},_reason:{writable:!0},_state:{value:H,writable:!0},resolve:{value:function(e){if(e===this)return void this.reject(new TypeError("Self resolution"));if(i(e))return void e.fill(this);if(null!==e&&"object"==typeof e||"function"==typeof e){var t;try{t=e.then}catch(e){return void this.reject(e)}if("function"==typeof t){var r=!0;try{var n=this;return void t.call(e,function(e){r&&(r=!1,n.resolve(e))},function(e){r&&(r=!1,n.reject(e))})}catch(e){r&&(r=!1,this.reject(e))}return}}if(this._state===H){this._state=G,this._value=e;for(var o=this._subscribers;o.length>0;){var a=o.shift();W(a.onfulfill,a.next,e)}}}},reject:{value:function(e){if(this._state===H){this._state=Q,this._reason=e;for(var t=this._subscribers;t.length>0;){var r=t.shift();D(r.onreject,r.next,e)}}}},then:{value:function(e,t){"function"!=typeof e&&(e=null),"function"!=typeof t&&(t=null);var r=new n;return this._state===G?W(e,r,this._value):this._state===Q?D(t,r,this._reason):this._subscribers.push({onfulfill:e,onreject:t,next:r}),r}},done:{value:function(e,t){this.then(e,t).then(null,function(e){J(function(){throw e})})}},inspect:{value:function(){switch(this._state){case H:return{state:"pending"};case G:return{state:"fulfilled",value:this._value};case Q:return{state:"rejected",reason:this._reason}}}},catchError:{value:function(e,t){if("function"==typeof t){var r=this;return this.catch(function(n){if(t(n))return r.catch(e);throw n})}return this.catch(e)}},catch:{value:function(e){return this.then(null,e)}},fail:{value:function(e){this.done(null,e)}},whenComplete:{value:function(e){return this.then(function(t){return e(),t},function(t){throw e(),t})}},complete:{value:function(e){return this.then(e,e)}},always:{value:function(e){this.done(e,e)}},fill:{value:function(e){this.then(e.resolve,e.reject)}},timeout:{value:function(e,t){var r=new n,i=$(function(){r.reject(t||new V("timeout"))},e);return this.whenComplete(function(){K(i)}).fill(r),r}},delay:{value:function(e){var t=new n;return this.then(function(r){$(function(){t.resolve(r)},e)},t.reject),t}},tap:{value:function(e,t){return this.then(function(r){return e.call(t,r),r})}},spread:{value:function(e,t){return this.then(function(r){return e.apply(t,r)})}},get:{value:function(e){return this.then(function(t){return t[e]})}},set:{value:function(e,t){return this.then(function(r){return r[e]=t,r})}},apply:{value:function(e,t){return t=t||[],this.then(function(r){return h(t).then(function(t){return r[e].apply(r,t)})})}},call:{value:function(e){var t=Array.slice(arguments,1);return this.then(function(r){return h(t).then(function(t){return r[e].apply(r,t)})})}},bind:{value:function(e){var t=Array.slice(arguments);{if(!Array.isArray(e)){t.shift();var r=this;return Object.defineProperty(this,e,{value:function(){var n=Array.slice(arguments);return r.then(function(r){return h(t.concat(n)).then(function(t){return r[e].apply(r,t)})})}}),this}for(var n=0,i=e.length;n1?x(this,e,t):x(this,e)}},reduceRight:{value:function(e,t){return arguments.length>1?R(this,e,t):R(this,e)}},indexOf:{value:function(e,t){return P(this,e,t)}},lastIndexOf:{value:function(e,t){return M(this,e,t)}},includes:{value:function(e,t){return U(this,e,t)}},find:{value:function(e,t){return L(this,e,t)}},findIndex:{value:function(e,t){return N(this,e,t)}}}),e.Future=n,e.thunkify=_,e.promisify=j,e.co=S,e.co.wrap=e.wrap=E,e.Completer=z,e.resolved=s,e.rejected=u,e.deferred=function(){var e=new n;return Object.create(null,{promise:{value:e},resolve:{value:e.resolve},reject:{value:e.reject}})},Y||(q.prototype=Object.create(n.prototype),q.prototype.constructor=n,Object.defineProperties(q,{all:{value:h},race:{value:p},resolve:{value:s},reject:{value:u}}),t.Promise=q)}(hprose,hprose.global),function(e,t){"use strict";function r(e,t,r){return e[t++]=r>>>24&255,e[t++]=r>>>16&255,e[t++]=r>>>8&255,e[t++]=255&r,t}function n(e,t,r){return e[t++]=255&r,e[t++]=r>>>8&255,e[t++]=r>>>16&255,e[t++]=r>>>24&255,t}function i(e,t,r){for(var n=r.length,i=0;i>6,e[t++]=128|63&o;else{if(!(o<55296||o>57343)){if(i+1>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,++i;continue}}throw new Error("Malformed string")}e[t++]=224|o>>12,e[t++]=128|o>>6&63,e[t++]=128|63&o}}return t}function o(e,t){for(var r=new Array(t),n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:r[n]=a;break;case 12:case 13:if(i>10&1023|55296,r[n]=1023&u|56320;break}throw new Error("Character outside valid Unicode range: 0x"+u.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+a.toString(16))}}return n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n[i]=u;break;case 12:case 13:if(o>10&1023|55296,n[i]=1023&s|56320;break}throw new Error("Character outside valid Unicode range: 0x"+s.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+u.toString(16))}if(i>=32766){var c=i+1;n.length=c,r.push(String.fromCharCode.apply(String,n)),t-=c,i=-1}}return i>0&&(n.length=i,r.push(String.fromCharCode.apply(String,n))),[r.join(""),o]}function u(e,r){return(r===t||null===r||r<0)&&(r=e.length),0===r?["",0]:r<65535?o(e,r):a(e,r)}function s(e,r){if(r===t&&(r=e.length),0===r)return[v,0];for(var n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break;case 12:case 13:if(i>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function f(){var e=arguments;switch(e.length){case 1:switch(e[0].constructor){case Uint8Array:this._bytes=e[0],this._length=e[0].length;break;case f:this._bytes=e[0].toBytes(),this._length=e[0].length;break;case String:this.writeString(e[0]);break;case Number:this._bytes=new Uint8Array(e[0]);break;default:this._bytes=new Uint8Array(e[0]),this._length=this._bytes.length}break;case 2:this._bytes=new Uint8Array(e[0],e[1]),this._length=e[1];break;case 3:this._bytes=new Uint8Array(e[0],e[1],e[2]),this._length=e[2]}this.mark()}function l(e){if(0===e.length)return"";switch(e.constructor){case String:return e;case f:e=e.bytes;case ArrayBuffer:e=new Uint8Array(e);case Uint8Array:return u(e,e.length)[0];default:return String.fromCharCode.apply(String,e)}}var h=e.toBinaryString,v=new Uint8Array(0),p=1024;Object.defineProperties(f.prototype,{_bytes:{value:null,writable:!0},_length:{value:0,writable:!0},_wmark:{value:0,writable:!0},_off:{value:0,writable:!0},_rmark:{value:0,writable:!0},_grow:{value:function(e){var t=this._bytes,r=this._length+e,n=c(r);if(t){if(n*=2,n>t.length){var i=new Uint8Array(n);i.set(t),this._bytes=i}}else n=Math.max(n,p),this._bytes=new Uint8Array(n)}},length:{get:function(){return this._length}},capacity:{get:function(){return this._bytes?this._bytes.length:0}},position:{get:function(){return this._off}},bytes:{get:function(){return null===this._bytes?v:this._bytes.subarray(0,this._length)}},buffer:{get:function(){if(null===this._bytes)return v.buffer;if(this._bytes.buffer.slice)return this._bytes.buffer.slice(0,this._length);var e=new Uint8Array(this._length);return e.set(this._bytes.subarray(0,this._length)),e.buffer}},mark:{value:function(){this._wmark=this._length,this._rmark=this._off}},reset:{value:function(){this._length=this._wmark,this._off=this._rmark}},clear:{value:function(){this._bytes=null,this._length=0,this._wmark=0,this._off=0,this._rmark=0}},writeByte:{value:function(e){this._grow(1),this._bytes[this._length++]=e}},writeInt32BE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=r(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32BE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=r(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},writeInt32LE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=n(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32LE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=n(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},write:{value:function(e){var t=e.byteLength||e.length;if(0!==t){this._grow(t);var r=this._bytes,n=this._length;switch(e.constructor){case ArrayBuffer:r.set(new Uint8Array(e),n);break;case Uint8Array:r.set(e,n);break;case f:r.set(e.bytes,n);break;default:for(var i=0;ithis._length&&(e=this._length-this._off),0===e?v:this._bytes.subarray(this._off,this._off+=e)}},skip:{value:function(e){return this._off+e>this._length?(e=this._length-this._off,this._off=this._length):this._off+=e,e}},readBytes:{value:function(e){var t,r=Array.indexOf(this._bytes,e,this._off);return r===-1?(t=this._bytes.subarray(this._off,this._length),this._off=this._length):(t=this._bytes.subarray(this._off,r+1),this._off=r+1),t}},readUntil:{value:function(e){var t=Array.indexOf(this._bytes,e,this._off),r="";return t===this._off?this._off++:t===-1?(r=u(this._bytes.subarray(this._off,this._length))[0],this._off=this._length):(r=u(this._bytes.subarray(this._off,t))[0],this._off=t+1),r}},readAsciiString:{value:function(e){return this._off+e>this._length&&(e=this._length-this._off),0===e?"":h(this._bytes.subarray(this._off,this._off+=e))}},readStringAsBytes:{value:function(e){var t=s(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},readString:{value:function(e){var t=u(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},takeBytes:{value:function(){var e=this.bytes;return this.clear(),e}},toBytes:{value:function(){return new Uint8Array(this.bytes)}},toString:{value:function(){return u(this.bytes,this._length)[0]}},clone:{value:function(){return new f(this.toBytes())}},trunc:{value:function(){this._bytes=this._bytes.subarray(this._off,this._length),this._length=this._bytes.length, +this._off=0,this._wmark=0,this._rmark=0}}}),Object.defineProperty(f,"toString",{value:l}),e.BytesIO=f}(hprose),function(e){"use strict";e.Tags={TagInteger:105,TagLong:108,TagDouble:100,TagNull:110,TagEmpty:101,TagTrue:116,TagFalse:102,TagNaN:78,TagInfinity:73,TagDate:68,TagTime:84,TagUTC:90,TagBytes:98,TagUTF8Char:117,TagString:115,TagGuid:103,TagList:97,TagMap:109,TagClass:99,TagObject:111,TagRef:114,TagPos:43,TagNeg:45,TagSemicolon:59,TagOpenbrace:123,TagClosebrace:125,TagQuote:34,TagPoint:46,TagFunctions:70,TagCall:67,TagResult:82,TagArgument:65,TagError:69,TagEnd:122}}(hprose),function(e,t){"use strict";function r(e,t){u.set(e,t),a[t]=e}function n(e){return u.get(e)}function i(e){return a[e]}var o=t.WeakMap,a=Object.create(null),u=new o;e.ClassManager=Object.create(null,{register:{value:r},getClassAlias:{value:n},getClass:{value:i}}),e.register=r,r(Object,"Object")}(hprose,hprose.global),function(e,t,r){"use strict";function n(e){var t=e.constructor,r=B.getClassAlias(t);if(r)return r;if(t.name)r=t.name;else{var n=t.toString();if(r=n.substr(0,n.indexOf("(")).replace(/(^\s*function\s*)|(\s*$)/gi,""),""===r||"Object"===r)return"function"==typeof e.getClassName?e.getClassName():"Object"}return"Object"!==r&&B.register(t,r),r}function i(e){Object.defineProperties(this,{_stream:{value:e},_ref:{value:new O,writable:!0}})}function o(e){return new i(e)}function a(e,t){Object.defineProperties(this,{stream:{value:e},_classref:{value:Object.create(null),writable:!0},_fieldsref:{value:[],writable:!0},_refer:{value:t?A:o(e)}})}function u(e,t){var i=e.stream;if(t===r||null===t)return void i.writeByte(E.TagNull);switch(t.constructor){case Function:return void i.writeByte(E.TagNull);case Number:return void s(e,t);case Boolean:return void l(e,t);case String:switch(t.length){case 0:return void i.writeByte(E.TagEmpty);case 1:return i.writeByte(E.TagUTF8Char),void i.writeString(t)}return void e.writeStringWithRef(t);case Date:return void e.writeDateWithRef(t);case O:return void e.writeMapWithRef(t);case ArrayBuffer:case Uint8Array:case S:return void e.writeBytesWithRef(t);case Int8Array:case Int16Array:case Int32Array:case Uint16Array:case Uint32Array:return void w(e,t);case Float32Array:case Float64Array:return void m(e,t);default:if(Array.isArray(t))e.writeListWithRef(t);else{var o=n(t);"Object"===o?e.writeMapWithRef(t):e.writeObjectWithRef(t)}}}function s(e,t){var r=e.stream;t=t.valueOf(),t===(0|t)?0<=t&&t<=9?r.writeByte(t+48):(r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function c(e,t){var r=e.stream;0<=t&&t<=9?r.writeByte(t+48):(t<-2147483648||t>2147483647?r.writeByte(E.TagLong):r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon))}function f(e,t){var r=e.stream;isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function l(e,t){e.stream.writeByte(t.valueOf()?E.TagTrue:E.TagFalse)}function h(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getUTCFullYear()).slice(-4),i=("00"+(t.getUTCMonth()+1)).slice(-2),o=("00"+t.getUTCDate()).slice(-2),a=("00"+t.getUTCHours()).slice(-2),u=("00"+t.getUTCMinutes()).slice(-2),s=("00"+t.getUTCSeconds()).slice(-2),c=("000"+t.getUTCMilliseconds()).slice(-3);r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c)),r.writeByte(E.TagUTC)}function v(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getFullYear()).slice(-4),i=("00"+(t.getMonth()+1)).slice(-2),o=("00"+t.getDate()).slice(-2),a=("00"+t.getHours()).slice(-2),u=("00"+t.getMinutes()).slice(-2),s=("00"+t.getSeconds()).slice(-2),c=("000"+t.getMilliseconds()).slice(-3);"00"===a&&"00"===u&&"00"===s&&"000"===c?(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o)):"1970"===n&&"01"===i&&"01"===o?(r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))):(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))),r.writeByte(E.TagSemicolon)}function p(e,t){e._refer.set(t);var r=e.stream,n=("00"+t.getHours()).slice(-2),i=("00"+t.getMinutes()).slice(-2),o=("00"+t.getSeconds()).slice(-2),a=("000"+t.getMilliseconds()).slice(-3);r.writeByte(E.TagTime),r.writeAsciiString(n+i+o),"000"!==a&&(r.writeByte(E.TagPoint),r.writeAsciiString(a)),r.writeByte(E.TagSemicolon)}function g(e,t){e._refer.set(t);var r=e.stream;r.writeByte(E.TagBytes);var n=t.byteLength||t.length;n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.write(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function y(e,t){e._refer.set(t);var r=e.stream,n=t.length;r.writeByte(E.TagString),n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.writeString(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function d(e,t,r){e._refer.set(t);var n=e.stream,i=t.length;if(n.writeByte(E.TagList),i>0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o0){r.writeAsciiString(""+o),r.writeByte(E.TagOpenbrace);for(var a=0;a0?(r.writeAsciiString(""+n),r.writeByte(E.TagOpenbrace),t.forEach(function(t,r){u(e,r),u(e,t)})):r.writeByte(E.TagOpenbrace),r.writeByte(E.TagClosebrace)}function _(e,t){var r,i,o=e.stream,a=n(t);if(a in e._classref)i=e._classref[a],r=e._fieldsref[i];else{r=[];for(var s in t)t.hasOwnProperty(s)&&"function"!=typeof t[s]&&(r[r.length]=s.toString());i=j(e,a,r)}o.writeByte(E.TagObject),o.writeAsciiString(""+i),o.writeByte(E.TagOpenbrace),e._refer.set(t);for(var c=r.length,f=0;f0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o=0;)r[r.length]=n,n=e.indexOf("_",n+1);if(r.length>0){var i=e.split("");if(t=w(i,r,0,"."),null===t&&(t=w(i,r,0,"_")),"function"==typeof t)return re.register(t,e),t}return t=function(){},Object.defineProperty(t.prototype,"getClassName",{value:function(){return e}}),re.register(t,e),t}function b(e,t){var r=e.readUntil(t);return 0===r.length?0:parseInt(r,10)}function T(e){var t=e.stream,r=t.readByte();switch(r){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return r-48;case te.TagInteger:return _(t);case te.TagLong:return O(t);case te.TagDouble:return E(t);case te.TagNull:return null;case te.TagEmpty:return"";case te.TagTrue:return!0;case te.TagFalse:return!1;case te.TagNaN:return NaN;case te.TagInfinity:return A(t);case te.TagDate:return C(e);case te.TagTime:return x(e);case te.TagBytes:return P(e);case te.TagUTF8Char:return U(e);case te.TagString:return N(e);case te.TagGuid:return W(e);case te.TagList:return z(e);case te.TagMap:return e.useHarmonyMap?Q(e):H(e);case te.TagClass:return K(e),$(e);case te.TagObject:return J(e);case te.TagRef:return V(e);case te.TagError:throw new Error(F(e));default:n(r)}}function _(e){return b(e,te.TagSemicolon)}function j(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:return _(e);default:n(t)}}function O(e){var t=e.readUntil(te.TagSemicolon),r=parseInt(t,10);return r.toString()===t?r:t}function S(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:case te.TagLong:return O(e);default:n(t)}}function E(e){return parseFloat(e.readUntil(te.TagSemicolon))}function B(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:case te.TagLong:case te.TagDouble:return E(e);case te.TagNaN:return NaN;case te.TagInfinity:return A(e);default:n(t)}}function A(e){return e.readByte()===te.TagNeg?-(1/0):1/0}function k(e){var t=e.readByte();switch(t){case te.TagTrue:return!0;case te.TagFalse:return!1;default:n(t)}}function C(e){var t,r=e.stream,n=parseInt(r.readAsciiString(4),10),i=parseInt(r.readAsciiString(2),10)-1,o=parseInt(r.readAsciiString(2),10),a=r.readByte();if(a===te.TagTime){var u=parseInt(r.readAsciiString(2),10),s=parseInt(r.readAsciiString(2),10),c=parseInt(r.readAsciiString(2),10),f=0;a=r.readByte(),a===te.TagPoint&&(f=parseInt(r.readAsciiString(3),10),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte()))),t=a===te.TagUTC?new Date(Date.UTC(n,i,o,u,s,c,f)):new Date(n,i,o,u,s,c,f)}else t=a===te.TagUTC?new Date(Date.UTC(n,i,o)):new Date(n,i,o);return e.refer.set(t),t}function I(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagDate:return C(e);case te.TagRef:return V(e);default:n(t)}}function x(e){var t,r=e.stream,n=parseInt(r.readAsciiString(2),10),i=parseInt(r.readAsciiString(2),10),o=parseInt(r.readAsciiString(2),10),a=0,u=r.readByte();return u===te.TagPoint&&(a=parseInt(r.readAsciiString(3),10),u=r.readByte(),u>=48&&u<=57&&(r.skip(2),u=r.readByte(),u>=48&&u<=57&&(r.skip(2),u=r.readByte()))),t=u===te.TagUTC?new Date(Date.UTC(1970,0,1,n,i,o,a)):new Date(1970,0,1,n,i,o,a),e.refer.set(t),t}function R(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagTime:return x(e);case te.TagRef:return V(e);default:n(t)}}function P(e){var t=e.stream,r=b(t,te.TagQuote),n=t.read(r);return t.skip(1),e.refer.set(n),n}function M(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagEmpty:return new Uint8Array(0);case te.TagBytes:return P(e);case te.TagRef:return V(e);default:n(t)}}function U(e){return e.stream.readString(1)}function L(e){var t=e.stream,r=t.readString(b(t,te.TagQuote));return t.skip(1),r}function N(e){var t=L(e);return e.refer.set(t),t}function F(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagEmpty:return"";case te.TagUTF8Char:return U(e);case te.TagString:return N(e);case te.TagRef:return V(e);default:n(t)}}function W(e){var t=e.stream;t.skip(1);var r=t.readAsciiString(36);return t.skip(1),e.refer.set(r),r}function D(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagGuid:return W(e);case te.TagRef:return V(e);default:n(t)}}function z(e){var t=e.stream,r=[];e.refer.set(r);for(var n=b(t,te.TagOpenbrace),i=0;i=0?t:void n(t,e)}},unserialize:{value:function(){return T(this)}},readInteger:{value:function(){return j(this.stream)}},readLong:{value:function(){return S(this.stream)}},readDouble:{value:function(){return B(this.stream)}},readBoolean:{value:function(){return k(this.stream)}},readDateWithoutTag:{value:function(){return C(this)}},readDate:{value:function(){return I(this)}},readTimeWithoutTag:{value:function(){return x(this)}},readTime:{value:function(){return R(this)}},readBytesWithoutTag:{value:function(){return P(this)}},readBytes:{value:function(){return M(this)}},readStringWithoutTag:{value:function(){return N(this)}},readString:{value:function(){return F(this)}},readGuidWithoutTag:{value:function(){return W(this)}},readGuid:{value:function(){return D(this)}},readListWithoutTag:{value:function(){return z(this)}},readList:{value:function(){return q(this)}},readMapWithoutTag:{value:function(){return this.useHarmonyMap?Q(this):H(this)}},readMap:{value:function(){return this.useHarmonyMap?Y(this):G(this)}},readObjectWithoutTag:{value:function(){return J(this)}},readObject:{value:function(){return $(this)}},reset:{value:function(){this.classref.length=0,this.refer.reset()}}}),e.Reader=X}(hprose,hprose.global),function(e){"use strict";function t(e,t){var r=new n,o=new i(r,t);return o.serialize(e),r}function r(e,t,r){return e instanceof n||(e=new n(e)),new o(e,t,r).unserialize()}var n=e.BytesIO,i=e.Writer,o=e.Reader;e.Formatter={serialize:function(e,r){return t(e,r).bytes},unserialize:r},e.serialize=t,e.unserialize=r}(hprose),function(e){"use strict";e.ResultMode={Normal:0,Serialized:1,Raw:2,RawWithEndTag:3},e.Normal=e.ResultMode.Normal,e.Serialized=e.ResultMode.Serialized,e.Raw=e.ResultMode.Raw,e.RawWithEndTag=e.ResultMode.RawWithEndTag}(hprose),function(e,t,r){"use strict";function n(){}function i(e,t,i){function o(e,t){for(var r=0,n=Ve.length;r=0;r--)e=Ve[r].inputFilter(e,t);return e}function p(e,t){return e=o(e,t),ut(e,t).then(function(e){if(!t.oneway)return a(e,t)})}function _(e,t){return ht.sendAndReceive(e,t).catchError(function(r){var n=S(e,t);if(null!==n)return n;throw r})}function j(e,t,r,n){at(e,t).then(r,n)}function O(){var e=Le.length;if(e>1){var t=Ne+1;t>=e&&(t=0,Ge++),Ne=t,Ue=Le[Ne]}else Ge++;Ke(ht)}function S(e,t){if(t.failswitch&&O(),t.idempotent&&t.retried5e3&&(r=5e3),r>0?v.delayed(r,function(){return _(e,t)}):_(e,t)}return null}function E(e){var t={retry:ze,retried:0,idempotent:!0,failswitch:!0,timeout:De,client:ht,userdata:{}},r=function(t){var r=null;try{var n=new f(t),i=new h(n,(!0)),o=n.readByte();switch(o){case s.TagError:r=new Error(i.readString());break;case s.TagFunctions:var a=i.readList();i.checkTag(s.TagEnd),k(e,a);break;default:r=new Error("Wrong Response:\r\n"+f.toString(t))}}catch(e){r=e}null!==r?et.reject(r):et.resolve(e)};j(y,t,r,et.reject)}function B(e,t){return function(){return Xe?M(e,t,Array.slice(arguments),!0):v.all(arguments).then(function(r){return M(e,t,r,!1)})}}function A(e,t,n,i,o){if(t[i]===r&&(t[i]={},typeof o!==w&&o.constructor!==Object||(o=[o]),Array.isArray(o)))for(var a=0;a0||r.byref)&&(i.reset(),i.writeList(t),r.byref&&i.writeBoolean(!0)),n}function P(e,t,r,n){return Qe?v.promise(function(i,o){Ye.push({batch:n,name:e,args:t,context:r,resolve:i,reject:o})}):n?W(e,t,r):F(e,t,r)}function M(e,t,r,n){return P(t,r,x(e,t,r,n),n)}function U(e,t,r,n){try{r.onerror?r.onerror(e,t):$e(e,t),n(t)}catch(e){n(e)}}function L(e,t,r){var n=R(e,t,r);return n.writeByte(s.TagEnd),v.promise(function(e,i){j(n.bytes,r,function(n){if(r.oneway)return void e();var o=null,a=null;try{if(r.mode===c.RawWithEndTag)o=n;else if(r.mode===c.Raw)o=n.subarray(0,n.byteLength-1);else{var u=new f(n),l=new h(u,(!1),r.useHarmonyMap),v=u.readByte();if(v===s.TagResult){if(o=r.mode===c.Serialized?l.readRaw():l.unserialize(),v=u.readByte(),v===s.TagArgument){l.reset();var p=l.readList();C(p,t),v=u.readByte()}}else v===s.TagError&&(a=new Error(l.readString()),v=u.readByte());v!==s.TagEnd&&(a=new Error("Wrong Response:\r\n"+f.toString(n)))}}catch(e){a=e}a?i(a):e(o)},i)})}function N(e){return function(){e&&(Qe=!1,u(function(e){e.forEach(function(e){"settings"in e?H(e.settings).then(e.resolve,e.reject):P(e.name,e.args,e.context,e.batch).then(e.resolve,e.reject)})},Ye),Ye=[])}}function F(e,t,r){r.sync&&(Qe=!0);var n=v.promise(function(n,i){it(e,t,r).then(function(o){try{if(r.onsuccess)try{r.onsuccess(o,t)}catch(t){r.onerror&&r.onerror(e,t),i(t)}n(o)}catch(e){i(e)}},function(t){U(e,t,r,i)})});return n.whenComplete(N(r.sync)),n}function W(e,t,r){return v.promise(function(n,i){Ze.push({args:t,name:e,context:r,resolve:n,reject:i})})}function D(e){var t={timeout:De,retry:ze,retried:0,idempotent:qe,failswitch:He,oneway:!1,sync:!1,client:ht,userdata:{}};for(var r in e)r in t&&(t[r]=e[r]);return t}function z(e,t){var r=e.reduce(function(e,t){return e.write(R(t.name,t.args,t.context)),e},new f);return r.writeByte(s.TagEnd),v.promise(function(n,i){j(r.bytes,t,function(r){if(t.oneway)return void n(e);var o=-1,a=new f(r),u=new h(a,(!1)),l=a.readByte();try{for(;l!==s.TagEnd;){var v=null,p=null,g=e[++o].context.mode;if(g>=c.Raw&&(v=new f),l===s.TagResult){if(g===c.Serialized?v=u.readRaw():g>=c.Raw?(v.writeByte(s.TagResult),v.write(u.readRaw())):(u.useHarmonyMap=e[o].context.useHarmonyMap,u.reset(),v=u.unserialize()),l=a.readByte(),l===s.TagArgument){if(g>=c.Raw)v.writeByte(s.TagArgument),v.write(u.readRaw());else{u.reset();var y=u.readList();C(y,e[o].args)}l=a.readByte()}}else l===s.TagError&&(g>=c.Raw?(v.writeByte(s.TagError),v.write(u.readRaw())):(u.reset(),p=new Error(u.readString())),l=a.readByte());if([s.TagEnd,s.TagResult,s.TagError].indexOf(l)<0)return void i(new Error("Wrong Response:\r\n"+f.toString(r)));g>=c.Raw?(g===c.RawWithEndTag&&v.writeByte(s.TagEnd),e[o].result=v.bytes):e[o].result=v,e[o].error=p}}catch(e){return void i(e)}n(e)},i)})}function q(){Xe=!0}function H(e){if(e=e||{},Xe=!1,Qe)return v.promise(function(t,r){Ye.push({batch:!0,settings:e,resolve:t,reject:r})});var t=Ze.length;if(0===t)return v.value([]);var r=D(e);r.sync&&(Qe=!0);var n=Ze;Ze=[];var i=v.promise(function(e,t){ot(n,r).then(function(t){t.forEach(function(e){if(e.error)U(e.name,e.error,e.context,e.reject);else try{if(e.context.onsuccess)try{e.context.onsuccess(e.result,e.args)}catch(t){e.context.onerror&&e.context.onerror(e.name,t),e.reject(t)}e.resolve(e.result)}catch(t){e.reject(t)}delete e.context,delete e.resolve,delete e.reject}),e(t)},function(e){n.forEach(function(t){"reject"in t&&U(t.name,e,t.context,t.reject)}),t(e)})});return i.whenComplete(N(r.sync)),i}function G(){return $e}function Q(e){typeof e===b&&($e=e)}function Y(){return Ke}function J(e){typeof e===b&&(Ke=e)}function $(){return Ue}function K(){return Le}function V(e){if(typeof e===w)Le=[e];else{if(!Array.isArray(e))return;Le=e.slice(0),Le.sort(function(){return Math.random()-.5})}Ne=0,Ue=Le[Ne]}function X(){return He}function Z(e){He=!!e}function ee(){return Ge}function te(){return De}function re(e){De="number"==typeof e?0|e:0}function ne(){return ze}function ie(e){ze="number"==typeof e?0|e:0}function oe(){return qe}function ae(e){qe=!!e}function ue(e){nt=!!e}function se(){return nt}function ce(){return Fe}function fe(e){Fe=!!e}function le(){return We}function he(e){We=!!e}function ve(){return Je}function pe(e){Je=!!e}function ge(){return 0===Ve.length?null:1===Ve.length?Ve[0]:Ve.slice()}function ye(e){Ve.length=0,Array.isArray(e)?e.forEach(function(e){de(e)}):de(e)}function de(e){e&&"function"==typeof e.inputFilter&&"function"==typeof e.outputFilter&&Ve.push(e)}function we(e){var t=Ve.indexOf(e);return t!==-1&&(Ve.splice(t,1),!0)}function me(){return Ve}function be(e,t,n){n===r&&(typeof t===d&&(n=t,t=!1),t||(typeof e===d?(n=e,e=!1):(e&&e.constructor===Object||Array.isArray(e))&&(t=e,e=!1)));var i=ht;return n&&(i={}),e||Ue?(e&&(Ue=e),(typeof t===w||t&&t.constructor===Object)&&(t=[t]),Array.isArray(t)?(k(i,t),et.resolve(i),i):(u(E,i),et)):new Error("You should set server uri first!")}function Te(e,t,r){var i=arguments.length;if(i<1||typeof e!==w)throw new Error("name must be a string");if(1===i&&(t=[]),2===i&&!Array.isArray(t)){var o=[];typeof t!==b&&o.push(n),o.push(t),t=o}if(i>2){typeof r!==b&&t.push(n);for(var a=2;a=0&&(i[o]=i[i.length-1],i.length--),0===i.length&&delete e[t]}}else delete e[t]}function Ee(e,t,n){if(typeof e!==w)throw new TypeError("topic name must be a string.");if(t===r||null===t){if(typeof n!==b)return void delete tt[e];t=n}if(typeof t===b&&(n=t,t=null),null===t)if(null===rt){if(tt[e]){var i=tt[e];for(t in i)Se(i,t,n)}}else rt.then(function(t){Ee(e,t,n)});else v.isPromise(t)?t.then(function(t){Ee(e,t,n)}):Se(tt[e],t,n);g(tt[e])&&delete tt[e]}function Be(e){return!!tt[e]}function Ae(){var e=[];for(var t in tt)e.push(t);return e}function ke(){return rt}function Ce(){return null===rt&&(rt=M(ht,"#",[],!1)),rt}function Ie(e){st.push(e),it=st.reduceRight(function(e,t){return function(r,n,i){return v.sync(function(){return t(r,n,i,e)})}},L)}function xe(e){ct.push(e),ot=ct.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},z)}function Re(e){ft.push(e),at=ft.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},p)}function Pe(e){lt.push(e),ut=lt.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},_)}function Me(e){return Ie(e),ht}var Ue,Le=[],Ne=-1,Fe=!1,We=!1,De=3e4,ze=10,qe=!1,He=!1,Ge=0,Qe=!1,Ye=[],Je=!1,$e=n,Ke=n,Ve=[],Xe=!1,Ze=[],et=new v,tt=Object.create(null),rt=null,nt=!0,it=L,ot=z,at=p,ut=_,st=[],ct=[],ft=[],lt=[],ht=this;Ce.sync=!0,Ce.idempotent=!0,Ce.failswitch=!0;var vt=Object.create(null,{begin:{value:q},end:{value:H},use:{value:function(e){return xe(e),vt}}}),pt=Object.create(null,{use:{value:function(e){return Re(e),pt}}}),gt=Object.create(null,{use:{value:function(e){return Pe(e),gt}}});Object.defineProperties(this,{"#":{value:Ce},onerror:{get:G,set:Q},onfailswitch:{get:Y,set:J},uri:{get:$},uriList:{get:K,set:V},id:{get:ke},failswitch:{get:X,set:Z},failround:{get:ee},timeout:{get:te,set:re},retry:{get:ne,set:ie},idempotent:{get:oe,set:ae},keepAlive:{get:se,set:ue},byref:{get:ce,set:fe},simple:{get:le,set:he},useHarmonyMap:{get:ve,set:pe},filter:{get:ge,set:ye},addFilter:{value:de},removeFilter:{value:we},filters:{get:me},useService:{value:be},invoke:{value:Te},ready:{value:_e},subscribe:{value:Oe},unsubscribe:{value:Ee},isSubscribed:{value:Be},subscribedList:{value:Ae},use:{value:Me},batch:{value:vt},beforeFilter:{value:pt},afterFilter:{value:gt}}),i&&typeof i===T&&["failswitch","timeout","retry","idempotent","keepAlive","byref","simple","useHarmonyMap","filter"].forEach(function(e){e in i&&(ht[e]=i[e])}),e&&(V(e),be(t))}function o(e){var t=p(e),r=t.protocol;if("http:"!==r&&"https:"!==r&&"tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r&&"ws:"!==r&&"wss:"!==r)throw new Error("The "+r+" client isn't implemented.")}function a(t,r,n){try{return e.HttpClient.create(t,r,n)}catch(e){}try{return e.TcpClient.create(t,r,n)}catch(e){}try{return e.WebSocketClient.create(t,r,n)}catch(e){}if("string"==typeof t)o(t);else if(Array.isArray(t))throw t.forEach(function(e){o(e)}),new Error("Not support multiple protocol.");throw new Error("You should set server uri first!")}var u=t.setImmediate,s=e.Tags,c=e.ResultMode,f=e.BytesIO,l=e.Writer,h=e.Reader,v=e.Future,p=e.parseuri,g=e.isObjectEmpty,y=new Uint8Array(1);y[0]=s.TagEnd;var d="boolean",w="string",m="number",b="function",T="object";Object.defineProperty(i,"create",{value:a}),e.Client=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,o,a){function l(e,t){var i=new s,o=new h;o.open("POST",O.uri,!0),p&&(o.withCredentials="true"),o.responseType="arraybuffer";for(var a in T)o.setRequestHeader(a,T[a]);if(o.onload=function(){o.onload=n,o.status&&(200===o.status?i.resolve(new Uint8Array(o.response)):i.reject(new Error(o.status+":"+o.statusText)))},o.onerror=function(){i.reject(new Error("error"))},o.upload!==r&&(o.upload.onprogress=_),o.onprogress=j,t.timeout>0&&(i=i.timeout(t.timeout).catchError(function(e){ +throw o.onload=n,o.onerror=n,o.abort(),e},function(e){return e instanceof f})),e.constructor===String||ArrayBuffer.isView)o.send(e);else if(e.buffer.slice)o.send(e.buffer.slice(0,e.length));else{var u=new Uint8Array(e.length);u.set(e),o.send(u.buffer)}return i}function v(e,r){var n=new s;return t.api.ajax({url:O.uri(),method:"post",data:{body:c.toString(e)},timeout:r.timeout,dataType:"text",headers:T,certificate:O.certificate},function(e,t){e?n.resolve(new c(e).takeBytes()):n.reject(new Error(t.msg))}),n}function g(e,r){var n="undefined"!=typeof t.api&&"undefined"!=typeof t.api.ajax,i=n?v(e,r):l(e,r);return r.oneway&&i.resolve(),i}function y(e){"function"==typeof e&&(_=e)}function d(){return _}function w(e){"function"==typeof e&&(j=e)}function m(){return j}function b(e,t){"content-type"!==e.toLowerCase()&&"content-length"!==e.toLowerCase()&&(t?T[e]=t:delete T[e])}if(this.constructor!==i)return new i(e,o,a);u.call(this,e,o,a);var T=Object.create(null),_=n,j=n,O=this;Object.defineProperties(this,{onprogress:{get:d,set:y},onRequestProgress:{get:d,set:y},onResponseProgress:{get:m,set:w},setHeader:{value:b},sendAndReceive:{value:g}})}function o(e){var t=g(e);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function a(e,t,r){if("string"==typeof e)o(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){o(e)})}return new i(e,t,r)}var u=e.Client,s=e.Future,c=e.BytesIO,f=t.TimeoutError,l=t.location!==r&&"file:"===t.location.protocol,h=t.XMLHttpRequest,v="undefined"!=typeof h,p=!l&&v&&"withCredentials"in new h,g=e.parseuri;Object.defineProperty(i,"create",{value:a}),e.HttpClient=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,t,o){function a(){return m<2147483647?++m:m=0}function l(e,t){var r=new u;r.writeInt32BE(e),t.constructor===String?r.writeString(t):r.write(t);var n=r.bytes;ArrayBuffer.isView?O.send(n):n.buffer.slice?O.send(n.buffer.slice(0,n.length)):O.send(n.buffer)}function v(e){j.resolve(e)}function p(e){var t=new u(e.data),n=t.readInt32BE(),i=T[n];if(delete T[n],i!==r&&(--b,i.resolve(t.read(t.length-4))),b<100&&_.length>0){++b;var o=_.pop();j.then(function(){l(o[0],o[1])})}0!==b||S.keepAlive||w()}function g(e){T.forEach(function(t,r){t.reject(new Error(e.code+":"+e.reason)),delete T[r]}),b=0,O=null}function y(){j=new c,O=new h(S.uri),O.binaryType="arraybuffer",O.onopen=v,O.onmessage=p,O.onerror=n,O.onclose=g}function d(e,t){var r=a(),n=new c;return T[r]=n,t.timeout>0&&(n=n.timeout(t.timeout).catchError(function(e){throw delete T[r],--b,e},function(e){return e instanceof f})),null!==O&&O.readyState!==h.CLOSING&&O.readyState!==h.CLOSED||y(),b<100?(++b,j.then(function(){l(r,e)})):_.push([r,e]),t.oneway&&n.resolve(),n}function w(){null!==O&&(O.onopen=n,O.onmessage=n,O.onclose=n,O.close())}if("undefined"==typeof h)throw new Error("WebSocket is not supported by this browser.");if(this.constructor!==i)return new i(e,t,o);s.call(this,e,t,o);var m=0,b=0,T=[],_=[],j=null,O=null,S=this;Object.defineProperties(this,{sendAndReceive:{value:d},close:{value:w}})}function o(e){var t=l(e);if("ws:"!==t.protocol&&"wss:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function a(e,t,r){if("string"==typeof e)o(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){o(e)})}return new i(e,t,r)}var u=e.BytesIO,s=e.Client,c=e.Future,f=t.TimeoutError,l=e.parseuri,h=t.WebSocket||t.MozWebSocket;Object.defineProperty(i,"create",{value:a}),e.WebSocketClient=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e){var t=s[e.socketId];t.onreceive(e.data)}function o(e){var t=s[e.socketId];t.onerror(e.resultCode),t.destroy()}function a(){null===c&&(c=t.chrome.sockets.tcp,c.onReceive.addListener(i),c.onReceiveError.addListener(o)),this.socketId=new u,this.connected=!1,this.timeid=r,this.onclose=n,this.onconnect=n,this.onreceive=n,this.onerror=n}var u=e.Future,s={},c=null;Object.defineProperties(a.prototype,{connect:{value:function(e,t,r){var n=this;c.create({persistent:r&&r.persistent},function(i){r&&("noDelay"in r&&c.setNoDelay(i.socketId,r.noDelay,function(e){e<0&&(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose())}),"keepAlive"in r&&c.setKeepAlive(i.socketId,r.keepAlive,function(e){e<0&&(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose())})),r&&r.tls?c.setPaused(i.socketId,!0,function(){c.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):c.secure(i.socketId,function(t){0!==t?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):c.setPaused(i.socketId,!1,function(){n.socketId.resolve(i.socketId)})})})}):c.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):n.socketId.resolve(i.socketId)})}),this.socketId.then(function(e){s[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new u;return this.socketId.then(function(n){c.send(n,e,function(e){e.resultCode<0?(t.onerror(e.resultCode),r.reject(e.resultCode),t.destroy()):r.resolve(e.bytesSent)})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){c.disconnect(t),c.close(t),delete s[t],e.onclose()})}},ref:{value:function(){this.socketId.then(function(e){c.setPaused(e,!1)})}},unref:{value:function(){this.socketId.then(function(e){c.setPaused(e,!0)})}},clearTimeout:{value:function(){this.timeid!==r&&t.clearTimeout(this.timeid)}},setTimeout:{value:function(e,r){this.clearTimeout(),this.timeid=t.setTimeout(r,e)}}}),e.ChromeTcpSocket=a}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(){null===l&&(l=t.api.require("socketManager")),this.socketId=new o,this.connected=!1,this.timeid=r,this.onclose=n,this.onconnect=n,this.onreceive=n,this.onerror=n}var o=e.Future,a=t.atob,u=t.btoa,s=e.toUint8Array,c=e.toBinaryString,f={},l=null;Object.defineProperties(i.prototype,{connect:{value:function(e,t,r){var n=this;l.createSocket({type:"tcp",host:e,port:t,timeout:r.timeout,returnBase64:!0},function(e){if(e)switch(e.state){case 101:break;case 102:n.socketId.resolve(e.sid);break;case 103:n.onreceive(s(a(e.data.replace(/\s+/g,""))));break;case 201:n.socketId.reject(new Error("Create TCP socket failed"));break;case 202:n.socketId.reject(new Error("TCP connection failed"));break;case 203:n.onclose(),n.onerror(new Error("Abnormal disconnect connection"));break;case 204:n.onclose();break;case 205:n.onclose(),n.onerror(new Error("Unknown error"))}}),this.socketId.then(function(e){f[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new o;return this.socketId.then(function(n){l.write({sid:n,data:u(c(e)),base64:!0},function(e,n){e.status?r.resolve():(t.onerror(new Error(n.msg)),r.reject(n.msg),t.destroy())})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){l.closeSocket({sid:t},function(t,r){t.status||e.onerror(new Error(r.msg))}),delete f[t]})}},ref:{value:n},unref:{value:n},clearTimeout:{value:function(){this.timeid!==r&&t.clearTimeout(this.timeid)}},setTimeout:{value:function(e,r){this.clearTimeout(),this.timeid=t.setTimeout(r,e)}}}),e.APICloudTcpSocket=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,t){e.onreceive=function(r){"receiveEntry"in e||(e.receiveEntry={stream:new p,headerLength:4,dataLength:-1,id:null});var n=e.receiveEntry,i=n.stream,o=n.headerLength,a=n.dataLength,u=n.id;for(i.write(r);;){if(a<0&&i.length>=o&&(a=i.readInt32BE(),0!==(2147483648&a)&&(a&=2147483647,o=8)),8===o&&null===u&&i.length>=o&&(u=i.readInt32BE()),!(a>=0&&i.length-o>=a))break;t(i.read(a),u),o=4,u=null,i.trunc(),a=-1}n.stream=i,n.headerLength=o,n.dataLength=a,n.id=u}}function o(e){e&&(this.client=e,this.uri=this.client.uri,this.size=0,this.pool=[],this.requests=[])}function a(e){o.call(this,e)}function u(e){o.call(this,e)}function s(e,t,r){function n(){return w}function i(e){w=!!e}function o(){return m}function c(e){m=!!e}function f(){return b}function l(e){"number"==typeof e?(b=0|e,b<1&&(b=10)):b=10}function h(){return T}function p(e){T="number"==typeof e?0|e:0}function y(e,t){var r=new g;return m?(null!==_&&_.uri===d.uri||(_=new a(d)),_.sendAndReceive(e,r,t)):(null!==j&&j.uri===d.uri||(j=new u(d)),j.sendAndReceive(e,r,t)),t.oneway&&r.resolve(),r}if(this.constructor!==s)return new s(e,t,r);v.call(this,e,t,r);var d=this,w=!0,m=!1,b=10,T=3e4,_=null,j=null;Object.defineProperties(this,{noDelay:{get:n,set:i},fullDuplex:{get:o,set:c},maxPoolSize:{get:f,set:l},poolTimeout:{get:h,set:p},sendAndReceive:{value:y}})}function c(e){var t=d(e),r=t.protocol;if("tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r)throw new Error("This client desn't support "+r+" scheme.")}function f(e,t,r){if("string"==typeof e)c(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){c(e)})}return new s(e,t,r)}var l=e.ChromeTcpSocket,h=e.APICloudTcpSocket,v=e.Client,p=e.BytesIO,g=e.Future,y=t.TimeoutError,d=e.parseuri;Object.defineProperties(o.prototype,{create:{value:function(){var e,r=d(this.uri),n=r.protocol,i=r.hostname,o=parseInt(r.port,10);if("tcp:"===n||"tcp4:"===n||"tcp6:"===n)e=!1;else{if("tcps:"!==n&&"tcp4s:"!==n&&"tcp6s:"!==n&&"tls:"!==n)throw new Error("Unsupported "+n+" protocol!");e=!0}var a;if(t.chrome&&t.chrome.sockets&&t.chrome.sockets.tcp)a=new l;else{if(!t.api||!t.api.require)throw new Error("TCP Socket is not supported by this browser or platform.");a=new h}var u=this;return a.connect(i,o,{persistent:!0,tls:e,timeout:this.client.timeout,noDelay:this.client.noDelay,keepAlive:this.client.keepAlive}),a.onclose=function(){--u.size},++this.size,a}}}),a.prototype=Object.create(o.prototype,{fetch:{value:function(){for(var e=this.pool;e.length>0;){var t=e.pop();if(t.connected)return 0===t.count&&(t.clearTimeout(),t.ref()),t}return null}},init:{value:function(e){var t=this;e.count=0,e.futures={},e.timeoutIds={},i(e,function(r,n){var i=e.futures[n];i&&(t.clean(e,n),0===e.count&&t.recycle(e),i.resolve(r))}),e.onerror=function(r){var n=e.futures;for(var i in n){var o=n[i];t.clean(e,i),o.reject(r)}}}},recycle:{value:function(e){e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()})}},clean:{value:function(e,n){e.timeoutIds[n]!==r&&(t.clearTimeout(e.timeoutIds[n]),delete e.timeoutIds[n]),delete e.futures[n],--e.count,this.sendNext(e)}},sendNext:{value:function(e){if(e.count<10)if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.pool.lastIndexOf(e)<0&&this.pool.push(e)}},send:{value:function(e,r,n,i,o){var a=this,u=i.timeout;u>0&&(o.timeoutIds[n]=t.setTimeout(function(){a.clean(o,n),0===o.count&&a.recycle(o),r.reject(new y("timeout"))},u)),o.count++,o.futures[n]=r;var s=e.length,c=new p(8+s);c.writeInt32BE(2147483648|s),c.writeInt32BE(n),c.write(e),o.send(c.buffer).then(function(){a.sendNext(o)})}},getNextId:{value:function(){return this.nextid<2147483647?++this.nextid:this.nextid=0}},sendAndReceive:{value:function(e,t,r){var n=this.fetch(),i=this.getNextId();if(n)this.send(e,t,i,r,n);else if(this.size0;){var t=e.pop();if(t.connected)return t.clearTimeout(),t.ref(),t}return null}},recycle:{value:function(e){this.pool.lastIndexOf(e)<0&&(e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()}),this.pool.push(e))}},clean:{value:function(e){e.onreceive=n,e.onerror=n,e.timeoutId!==r&&(t.clearTimeout(e.timeoutId),delete e.timeoutId)}},sendNext:{value:function(e){if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.recycle(e)}},send:{value:function(e,r,n,o){var a=this,u=n.timeout;u>0&&(o.timeoutId=t.setTimeout(function(){a.clean(o),o.destroy(),r.reject(new y("timeout"))},u)),i(o,function(e){a.clean(o),a.sendNext(o),r.resolve(e)}),o.onerror=function(e){a.clean(o),r.reject(e)};var s=e.length,c=new p(4+s);c.writeInt32BE(s),c.write(e),o.send(c.buffer)}},sendAndReceive:{value:function(e,t,r){var n=this.fetch();if(n)this.send(e,t,r,n);else if(this.size1?JSON.stringify(t):JSON.stringify(t[0])},e.JSONRPCClientFilter=t}(hprose),function(e){"use strict";e.common={Completer:e.Completer,Future:e.Future,ResultMode:e.ResultMode},e.io={BytesIO:e.BytesIO,ClassManager:e.ClassManager,Tags:e.Tags,RawReader:e.RawReader,Reader:e.Reader,Writer:e.Writer,Formatter:e.Formatter},e.client={Client:e.Client,HttpClient:e.HttpClient,TcpClient:e.TcpClient,WebSocketClient:e.WebSocketClient},e.filter={JSONRPCClientFilter:e.JSONRPCClientFilter},"function"==typeof define&&(define.cmd?define("hprose",[],e):define.amd&&define("hprose",[],function(){return e})),"object"==typeof module&&(module.exports=e)}(hprose),!function(e){"use strict";function t(e,t,r,i){var o=t&&t.prototype instanceof n?t:n,a=Object.create(o.prototype),u=new h(i||[]);return a._invoke=c(e,r,u),a}function r(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function n(){}function i(){}function o(){}function a(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(e){this.arg=e}function s(e){function t(n,i,o,a){var s=r(e[n],e,i);if("throw"!==s.type){var c=s.arg,f=c.value;return f instanceof u?Promise.resolve(f.arg).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(f).then(function(e){c.value=e,o(c)},a)}a(s.arg)}function n(e,r){function n(){return new Promise(function(n,i){t(e,r,n,i)})}return i=i?i.then(n,n):n()}"object"==typeof process&&process.domain&&(t=process.domain.bind(t));var i;this._invoke=n}function c(e,t,n){var i=_;return function(o,a){if(i===O)throw new Error("Generator is already running");if(i===S){if("throw"===o)throw a;return p()}for(;;){var u=n.delegate;if(u){if("return"===o||"throw"===o&&u.iterator[o]===g){n.delegate=null;var s=u.iterator.return;if(s){var c=r(s,u.iterator,a);if("throw"===c.type){o="throw",a=c.arg;continue}}if("return"===o)continue}var c=r(u.iterator[o],u.iterator,a);if("throw"===c.type){n.delegate=null,o="throw",a=c.arg;continue}o="next",a=g;var f=c.arg;if(!f.done)return i=j,f;n[u.resultName]=f.value,n.next=u.nextLoc,n.delegate=null}if("next"===o)n.sent=n._sent=a;else if("throw"===o){if(i===_)throw i=S,a;n.dispatchException(a)&&(o="next",a=g)}else"return"===o&&n.abrupt("return",a);i=O;var c=r(e,t,n);if("normal"===c.type){i=n.done?S:j;var f={value:c.arg,done:n.done};if(c.arg!==E)return f;n.delegate&&"next"===o&&(a=g)}else"throw"===c.type&&(i=S,o="throw",a=c.arg)}}}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function l(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function v(e){if(e){var t=e[w];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var i=this.tryEntries[n],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var a=y.call(i,"catchLoc"),u=y.call(i,"finallyLoc");if(a&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&y.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),l(r),E}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;l(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:v(e),resultName:t,nextLoc:r},E}}}("object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this); \ No newline at end of file diff --git a/dist/hprose-html5.min.js b/dist/hprose-html5.min.js index 8c457bb..0d06e07 100644 --- a/dist/hprose-html5.min.js +++ b/dist/hprose-html5.min.js @@ -1 +1 @@ -eval(function(n){"use strict";function r(n){var r=[];return r[n-1]=void 0,r}function u(n,r){return f(n[0]+r[0],n[1]+r[1])}function t(n,r){var u,t;return n[0]==r[0]&&n[1]==r[1]?0:(u=0>n[1],t=0>r[1],u&&!t?-1:!u&&t?1:a(n,r)[1]<0?-1:1)}function f(n,r){var u,t;for(r%=0x10000000000000000,n%=0x10000000000000000,u=r%un,t=Math.floor(n/un)*un,r=r-u+t,n=n-t+u;0>n;)n+=un,r-=un;for(;n>4294967295;)n-=un,r+=un;for(r%=0x10000000000000000;r>0x7fffffff00000000;)r-=0x10000000000000000;for(;-0x8000000000000000>r;)r+=0x10000000000000000;return[n,r]}function i(n){return n>=0?[n,0]:[n+un,-un]}function c(n){return n[0]>=2147483648?~~Math.max(Math.min(n[0]-un,2147483647),-2147483648):~~Math.max(Math.min(n[0],2147483647),-2147483648)}function a(n,r){return f(n[0]-r[0],n[1]-r[1])}function o(n,r){return n.ab=r,n.cb=0,n.O=r.length,n}function e(n){return n.cb>=n.O?-1:255&n.ab[n.cb++]}function v(n){return n.ab=r(32),n.O=0,n}function s(n){var r=n.ab;return r.length=n.O,r}function g(n,r,u,t){l(r,u,n.ab,n.O,t),n.O+=t}function l(n,r,u,t,f){for(var i=0;f>i;++i)u[t+i]=n[r+i]}function C(n,r,u){var t,f,c,a,o="",v=[];for(f=0;5>f;++f){if(c=e(r),-1==c)throw Error("truncated input");v[f]=c<<24>>24}if(t=F({}),!V(t,v))throw Error("corrupted input");for(f=0;64>f;f+=8){if(c=e(r),-1==c)throw Error("truncated input");c=c.toString(16),1==c.length&&(c="0"+c),o=c+""+o}/^0+$|^f+$/i.test(o)?n.M=tn:(a=parseInt(o,16),n.M=a>4294967295?tn:i(a)),n.S=M(t,r,u,n.M)}function z(n,r){return n.Y=v({}),C(n,o({},r),n.Y),n}function p(n,r,u){var t=n.y-r-1;for(0>t&&(t+=n.c);0!=u;--u)t>=n.c&&(t=0),n.x[n.y++]=n.x[t++],n.y>=n.c&&N(n)}function x(n,u){(null==n.x||n.c!=u)&&(n.x=r(u)),n.c=u,n.y=0,n.w=0}function N(n){var r=n.y-n.w;r&&(g(n.T,n.x,n.w,r),n.y>=n.c&&(n.y=0),n.w=n.y)}function d(n,r){var u=n.y-r-1;return 0>u&&(u+=n.c),n.x[u]}function J(n,r){n.x[n.y++]=r,n.y>=n.c&&N(n)}function L(n){N(n),n.T=null}function j(n){return n-=2,4>n?n:3}function B(n){return 4>n?0:10>n?n-3:n-6}function b(n,r){return n.h=r,n.bb=null,n.V=1,n}function k(n){if(!n.V)throw Error("bad state");if(n.bb)throw Error("No encoding");return h(n),n.V}function h(n){var r=U(n.h);if(-1==r)throw Error("corrupted input");n.$=tn,n.Z=n.h.d,(r||t(n.h.U,fn)>=0&&t(n.h.d,n.h.U)>=0)&&(N(n.h.b),L(n.h.b),n.h.a.K=null,n.V=0)}function M(n,r,u,t){return n.a.K=r,L(n.b),n.b.T=u,A(n),n.f=0,n.l=0,n.Q=0,n.R=0,n._=0,n.U=t,n.d=fn,n.G=0,b({},n)}function U(n){var r,f,a,o,e,v;if(v=c(n.d)&n.P,Q(n.a,n.t,(n.f<<4)+v)){if(Q(n.a,n.E,n.f))a=0,Q(n.a,n.r,n.f)?(Q(n.a,n.u,n.f)?(Q(n.a,n.s,n.f)?(f=n._,n._=n.R):f=n.R,n.R=n.Q):f=n.Q,n.Q=n.l,n.l=f):Q(n.a,n.o,(n.f<<4)+v)||(n.f=7>n.f?9:11,a=1),a||(a=q(n.n,n.a,v)+2,n.f=7>n.f?8:11);else if(n._=n.R,n.R=n.Q,n.Q=n.l,a=2+q(n.D,n.a,v),n.f=7>n.f?7:10,e=S(n.k[j(a)],n.a),e>=4){if(o=(e>>1)-1,n.l=(2|1&e)<e)n.l+=X(n.J,n.l-e-1,n.a,o);else if(n.l+=T(n.a,o-4)<<4,n.l+=Y(n.q,n.a),0>n.l)return-1==n.l?1:-1}else n.l=e;if(t(i(n.l),n.d)>=0||n.l>=n.m)return-1;p(n.b,n.l,a),n.d=u(n.d,i(a)),n.G=d(n.b,0)}else r=D(n.j,c(n.d),n.G),n.G=7>n.f?E(r,n.a):R(r,n.a,d(n.b,n.l)),J(n.b,n.G),n.f=B(n.f),n.d=u(n.d,cn);return 0}function F(n){n.b={},n.a={},n.t=r(192),n.E=r(12),n.r=r(12),n.u=r(12),n.s=r(12),n.o=r(192),n.k=r(4),n.J=r(114),n.q=H({},4),n.D=m({}),n.n=m({}),n.j={};for(var u=0;4>u;++u)n.k[u]=H({},6);return n}function A(n){n.b.w=0,n.b.y=0,I(n.t),I(n.o),I(n.E),I(n.r),I(n.u),I(n.s),I(n.J),Z(n.j);for(var r=0;4>r;++r)I(n.k[r].z);w(n.D),w(n.n),I(n.q.z),K(n.a)}function V(n,r){var u,t,f,i,c,a,o;if(5>r.length)return 0;for(o=255&r[0],f=o%9,a=~~(o/9),i=a%5,c=~~(a/5),u=0,t=0;4>t;++t)u+=(255&r[1+t])<<8*t;return u>99999999||!W(n,f,i,c)?0:G(n,u)}function G(n,r){return 0>r?0:(n.A!=r&&(n.A=r,n.m=Math.max(n.A,1),x(n.b,Math.max(n.m,4096))),1)}function W(n,r,u,t){if(r>8||u>4||t>4)return 0;P(n.j,u,r);var f=1<n.e;++n.e)n.I[n.e]=H({},3),n.H[n.e]=H({},3)}function q(n,r,u){if(!Q(r,n.N,0))return S(n.I[u],r);var t=8;return t+=Q(r,n.N,1)?8+S(n.L,r):S(n.H[u],r)}function m(n){return n.N=r(2),n.I=r(16),n.H=r(16),n.L=H({},8),n.e=0,n}function w(n){I(n.N);for(var r=0;n.e>r;++r)I(n.I[r].z),I(n.H[r].z);I(n.L.z)}function P(n,u,t){var f,i;if(null==n.F||n.g!=t||n.B!=u)for(n.B=u,n.X=(1<f;++f)n.F[f]=y({})}function D(n,r,u){return n.F[((r&n.X)<>>8-n.g)]}function Z(n){var r,u;for(u=1<r;++r)I(n.F[r].v)}function E(n,r){var u=1;do u=u<<1|Q(r,n.v,u);while(256>u);return u<<24>>24}function R(n,r,u){var t,f,i=1;do if(f=u>>7&1,u<<=1,t=Q(r,n.v,(1+f<<8)+i),i=i<<1|t,f!=t){for(;256>i;)i=i<<1|Q(r,n.v,i);break}while(256>i);return i<<24>>24}function y(n){return n.v=r(768),n}function H(n,u){return n.C=u,n.z=r(1<t;++t)u=Q(r,n.z,f),f<<=1,f+=u,i|=u<i;++i)f=Q(u,n,r+c),c<<=1,c+=f,a|=f<>>11)*f,(-2147483648^t)>(-2147483648^n.p)?(n.i=t,r[u]=f+(2048-f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),0):(n.i-=t,n.p-=t,r[u]=f-(f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),1)}function T(n,r){var u,t,f=0;for(u=r;0!=u;--u)n.i>>>=1,t=n.p-n.i>>>31,n.p-=n.i&t-1,f=f<<1|1-t,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8);return f}function K(n){n.p=0,n.i=-1;for(var r=0;5>r;++r)n.p=n.p<<8|e(n.K)}function I(n){for(var r=n.length-1;r>=0;--r)n[r]=1024}function _(n){for(var r,u,t,f=0,i=0,c=n.length,a=[],o=[];c>f;++f,++i){if(r=255&n[f],128&r)if(192==(224&r)){if(f+1>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;o[i]=(31&r)<<6|63&u}else{if(224!=(240&r))return n;if(f+2>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;if(t=255&n[++f],128!=(192&t))return n;o[i]=(15&r)<<12|(63&u)<<6|63&t}else{if(!r)return n;o[i]=r}65535==i&&(a.push(String.fromCharCode.apply(String,o)),i=-1)}return i>0&&(o.length=i,a.push(String.fromCharCode.apply(String,o))),a.join("")}function $(n){return n>64&&91>n?n-65:n>96&&123>n?n-71:n>47&&58>n?n+4:43===n?62:47===n?63:0}function nn(r){for(var u,t,f=r.length,i=3*f+1>>>2,c=new Array(i),a=0,o=0,e=0;f>e;e++)if(t=3&e,a|=$(r.charCodeAt(e))<<18-6*t,3===t||f-e===1){for(u=0;3>u&&i>o;u++,o++)c[o]=a>>>(16>>>u&24)&255;a=0}return c}function rn(n){n=nn(n);var r={};for(r.d=z({},n);k(r.d.S););return _(s(r.d.Y))}var un=4294967296,tn=[4294967295,-un],fn=[0,0],cn=[1,0];return rn}(this)("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")); \ No newline at end of file +eval(function(n){"use strict";function r(n){var r=[];return r[n-1]=void 0,r}function u(n,r){return f(n[0]+r[0],n[1]+r[1])}function t(n,r){var u,t;return n[0]==r[0]&&n[1]==r[1]?0:(u=0>n[1],t=0>r[1],u&&!t?-1:!u&&t?1:a(n,r)[1]<0?-1:1)}function f(n,r){var u,t;for(r%=0x10000000000000000,n%=0x10000000000000000,u=r%un,t=Math.floor(n/un)*un,r=r-u+t,n=n-t+u;0>n;)n+=un,r-=un;for(;n>4294967295;)n-=un,r+=un;for(r%=0x10000000000000000;r>0x7fffffff00000000;)r-=0x10000000000000000;for(;-0x8000000000000000>r;)r+=0x10000000000000000;return[n,r]}function i(n){return n>=0?[n,0]:[n+un,-un]}function c(n){return n[0]>=2147483648?~~Math.max(Math.min(n[0]-un,2147483647),-2147483648):~~Math.max(Math.min(n[0],2147483647),-2147483648)}function a(n,r){return f(n[0]-r[0],n[1]-r[1])}function o(n,r){return n.ab=r,n.cb=0,n.O=r.length,n}function e(n){return n.cb>=n.O?-1:255&n.ab[n.cb++]}function v(n){return n.ab=r(32),n.O=0,n}function s(n){var r=n.ab;return r.length=n.O,r}function g(n,r,u,t){l(r,u,n.ab,n.O,t),n.O+=t}function l(n,r,u,t,f){for(var i=0;f>i;++i)u[t+i]=n[r+i]}function C(n,r,u){var t,f,c,a,o="",v=[];for(f=0;5>f;++f){if(c=e(r),-1==c)throw Error("truncated input");v[f]=c<<24>>24}if(t=F({}),!V(t,v))throw Error("corrupted input");for(f=0;64>f;f+=8){if(c=e(r),-1==c)throw Error("truncated input");c=c.toString(16),1==c.length&&(c="0"+c),o=c+""+o}/^0+$|^f+$/i.test(o)?n.M=tn:(a=parseInt(o,16),n.M=a>4294967295?tn:i(a)),n.S=M(t,r,u,n.M)}function z(n,r){return n.Y=v({}),C(n,o({},r),n.Y),n}function p(n,r,u){var t=n.y-r-1;for(0>t&&(t+=n.c);0!=u;--u)t>=n.c&&(t=0),n.x[n.y++]=n.x[t++],n.y>=n.c&&N(n)}function x(n,u){(null==n.x||n.c!=u)&&(n.x=r(u)),n.c=u,n.y=0,n.w=0}function N(n){var r=n.y-n.w;r&&(g(n.T,n.x,n.w,r),n.y>=n.c&&(n.y=0),n.w=n.y)}function d(n,r){var u=n.y-r-1;return 0>u&&(u+=n.c),n.x[u]}function J(n,r){n.x[n.y++]=r,n.y>=n.c&&N(n)}function L(n){N(n),n.T=null}function j(n){return n-=2,4>n?n:3}function B(n){return 4>n?0:10>n?n-3:n-6}function b(n,r){return n.h=r,n.bb=null,n.V=1,n}function k(n){if(!n.V)throw Error("bad state");if(n.bb)throw Error("No encoding");return h(n),n.V}function h(n){var r=U(n.h);if(-1==r)throw Error("corrupted input");n.$=tn,n.Z=n.h.d,(r||t(n.h.U,fn)>=0&&t(n.h.d,n.h.U)>=0)&&(N(n.h.b),L(n.h.b),n.h.a.K=null,n.V=0)}function M(n,r,u,t){return n.a.K=r,L(n.b),n.b.T=u,A(n),n.f=0,n.l=0,n.Q=0,n.R=0,n._=0,n.U=t,n.d=fn,n.G=0,b({},n)}function U(n){var r,f,a,o,e,v;if(v=c(n.d)&n.P,Q(n.a,n.t,(n.f<<4)+v)){if(Q(n.a,n.E,n.f))a=0,Q(n.a,n.r,n.f)?(Q(n.a,n.u,n.f)?(Q(n.a,n.s,n.f)?(f=n._,n._=n.R):f=n.R,n.R=n.Q):f=n.Q,n.Q=n.l,n.l=f):Q(n.a,n.o,(n.f<<4)+v)||(n.f=7>n.f?9:11,a=1),a||(a=q(n.n,n.a,v)+2,n.f=7>n.f?8:11);else if(n._=n.R,n.R=n.Q,n.Q=n.l,a=2+q(n.D,n.a,v),n.f=7>n.f?7:10,e=S(n.k[j(a)],n.a),e>=4){if(o=(e>>1)-1,n.l=(2|1&e)<e)n.l+=X(n.J,n.l-e-1,n.a,o);else if(n.l+=T(n.a,o-4)<<4,n.l+=Y(n.q,n.a),0>n.l)return-1==n.l?1:-1}else n.l=e;if(t(i(n.l),n.d)>=0||n.l>=n.m)return-1;p(n.b,n.l,a),n.d=u(n.d,i(a)),n.G=d(n.b,0)}else r=D(n.j,c(n.d),n.G),n.G=7>n.f?E(r,n.a):R(r,n.a,d(n.b,n.l)),J(n.b,n.G),n.f=B(n.f),n.d=u(n.d,cn);return 0}function F(n){n.b={},n.a={},n.t=r(192),n.E=r(12),n.r=r(12),n.u=r(12),n.s=r(12),n.o=r(192),n.k=r(4),n.J=r(114),n.q=H({},4),n.D=m({}),n.n=m({}),n.j={};for(var u=0;4>u;++u)n.k[u]=H({},6);return n}function A(n){n.b.w=0,n.b.y=0,I(n.t),I(n.o),I(n.E),I(n.r),I(n.u),I(n.s),I(n.J),Z(n.j);for(var r=0;4>r;++r)I(n.k[r].z);w(n.D),w(n.n),I(n.q.z),K(n.a)}function V(n,r){var u,t,f,i,c,a,o;if(5>r.length)return 0;for(o=255&r[0],f=o%9,a=~~(o/9),i=a%5,c=~~(a/5),u=0,t=0;4>t;++t)u+=(255&r[1+t])<<8*t;return u>99999999||!W(n,f,i,c)?0:G(n,u)}function G(n,r){return 0>r?0:(n.A!=r&&(n.A=r,n.m=Math.max(n.A,1),x(n.b,Math.max(n.m,4096))),1)}function W(n,r,u,t){if(r>8||u>4||t>4)return 0;P(n.j,u,r);var f=1<n.e;++n.e)n.I[n.e]=H({},3),n.H[n.e]=H({},3)}function q(n,r,u){if(!Q(r,n.N,0))return S(n.I[u],r);var t=8;return t+=Q(r,n.N,1)?8+S(n.L,r):S(n.H[u],r)}function m(n){return n.N=r(2),n.I=r(16),n.H=r(16),n.L=H({},8),n.e=0,n}function w(n){I(n.N);for(var r=0;n.e>r;++r)I(n.I[r].z),I(n.H[r].z);I(n.L.z)}function P(n,u,t){var f,i;if(null==n.F||n.g!=t||n.B!=u)for(n.B=u,n.X=(1<f;++f)n.F[f]=y({})}function D(n,r,u){return n.F[((r&n.X)<>>8-n.g)]}function Z(n){var r,u;for(u=1<r;++r)I(n.F[r].v)}function E(n,r){var u=1;do u=u<<1|Q(r,n.v,u);while(256>u);return u<<24>>24}function R(n,r,u){var t,f,i=1;do if(f=u>>7&1,u<<=1,t=Q(r,n.v,(1+f<<8)+i),i=i<<1|t,f!=t){for(;256>i;)i=i<<1|Q(r,n.v,i);break}while(256>i);return i<<24>>24}function y(n){return n.v=r(768),n}function H(n,u){return n.C=u,n.z=r(1<t;++t)u=Q(r,n.z,f),f<<=1,f+=u,i|=u<i;++i)f=Q(u,n,r+c),c<<=1,c+=f,a|=f<>>11)*f,(-2147483648^t)>(-2147483648^n.p)?(n.i=t,r[u]=f+(2048-f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),0):(n.i-=t,n.p-=t,r[u]=f-(f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),1)}function T(n,r){var u,t,f=0;for(u=r;0!=u;--u)n.i>>>=1,t=n.p-n.i>>>31,n.p-=n.i&t-1,f=f<<1|1-t,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8);return f}function K(n){n.p=0,n.i=-1;for(var r=0;5>r;++r)n.p=n.p<<8|e(n.K)}function I(n){for(var r=n.length-1;r>=0;--r)n[r]=1024}function _(n){for(var r,u,t,f=0,i=0,c=n.length,a=[],o=[];c>f;++f,++i){if(r=255&n[f],128&r)if(192==(224&r)){if(f+1>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;o[i]=(31&r)<<6|63&u}else{if(224!=(240&r))return n;if(f+2>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;if(t=255&n[++f],128!=(192&t))return n;o[i]=(15&r)<<12|(63&u)<<6|63&t}else{if(!r)return n;o[i]=r}65535==i&&(a.push(String.fromCharCode.apply(String,o)),i=-1)}return i>0&&(o.length=i,a.push(String.fromCharCode.apply(String,o))),a.join("")}function $(n){return n>64&&91>n?n-65:n>96&&123>n?n-71:n>47&&58>n?n+4:43===n?62:47===n?63:0}function nn(r){for(var u,t,f=r.length,i=3*f+1>>>2,c=new Array(i),a=0,o=0,e=0;f>e;e++)if(t=3&e,a|=$(r.charCodeAt(e))<<18-6*t,3===t||f-e===1){for(u=0;3>u&&i>o;u++,o++)c[o]=a>>>(16>>>u&24)&255;a=0}return c}function rn(n){n=nn(n);var r={};for(r.d=z({},n);k(r.d.S););return _(s(r.d.Y))}var un=4294967296,tn=[4294967295,-un],fn=[0,0],cn=[1,0];return rn}(this)("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")); \ No newline at end of file diff --git a/dist/hprose-html5.src.js b/dist/hprose-html5.src.js index 8f99b9a..602dd8a 100644 --- a/dist/hprose-html5.src.js +++ b/dist/hprose-html5.src.js @@ -19,17 +19,22 @@ * * * hprose init for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { - 'use strict'; +var hprose = Object.create(null); - global.hprose = Object.create(null); - -})(this || [eval][0]('this')); +/* global global, window, self */ +hprose.global = ( + // Among the various tricks for obtaining a reference to the global + // object, this seems to be the most reliable technique that does not + // use indirect eval (which violates Content Security Policy). + typeof global === "object" ? global : + typeof window === "object" ? window : + typeof self === "object" ? self : this +); /**********************************************************\ | | @@ -46,12 +51,12 @@ * * * hprose helper for HTML5. * * * - * LastModified: Oct 12, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, undefined) { 'use strict'; function generic(method) { @@ -137,14 +142,14 @@ return true; } - global.hprose.generic = generic; - global.hprose.toBinaryString = toBinaryString; - global.hprose.toUint8Array = toUint8Array; - global.hprose.toArray = toArray; - global.hprose.parseuri = parseuri; - global.hprose.isObjectEmpty = isObjectEmpty; + hprose.generic = generic; + hprose.toBinaryString = toBinaryString; + hprose.toUint8Array = toUint8Array; + hprose.toArray = toArray; + hprose.parseuri = parseuri; + hprose.isObjectEmpty = isObjectEmpty; -})(this || [eval][0]('this')); +})(hprose); /**********************************************************\ | | @@ -161,12 +166,12 @@ * * * Polyfill for JavaScript. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (generic, undefined) { 'use strict'; /* Function */ if (!Function.prototype.bind) { @@ -497,8 +502,6 @@ }; })() }); } - /* Generic methods */ - var generic = global.hprose.generic; function genericMethods(obj, properties) { var proto = obj.prototype; @@ -561,7 +564,7 @@ 'slice' ]); -})(this || [eval][0]('this')); +})(hprose.generic); /**********************************************************\ | | @@ -578,7 +581,7 @@ * * * Harmony Maps for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ @@ -862,7 +865,7 @@ return m; }; } -})(this || [eval][0]('this')); +})(hprose.global); /**********************************************************\ | | @@ -879,26 +882,24 @@ * * * TimeoutError for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ (function(global) { - if (typeof global.TimeoutError !== 'function') { - var TimeoutError = function(message) { - Error.call(this); - this.message = message; - this.name = TimeoutError.name; - if (typeof Error.captureStackTrace === 'function') { - Error.captureStackTrace(this, TimeoutError); - } - } - TimeoutError.prototype = Object.create(Error.prototype); - TimeoutError.prototype.constructor = TimeoutError; - global.TimeoutError = TimeoutError; - } -})(this || [eval][0]('this')); + function TimeoutError(message) { + Error.call(this); + this.message = message; + this.name = TimeoutError.name; + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, TimeoutError); + } + } + TimeoutError.prototype = Object.create(Error.prototype); + TimeoutError.prototype.constructor = TimeoutError; + global.TimeoutError = TimeoutError; +})(hprose.global); /**********************************************************\ | | | hprose | @@ -914,7 +915,7 @@ * * * setImmediate for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ @@ -1080,7 +1081,7 @@ } attachTo.clearImmediate = clear; -})(this || [eval][0]('this')); +})(hprose.global); /**********************************************************\ | | @@ -1102,7 +1103,7 @@ * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var PENDING = 0; @@ -1901,12 +1902,12 @@ } } }); - global.hprose.Future = Future; + hprose.Future = Future; - global.hprose.thunkify = thunkify; - global.hprose.promisify = promisify; - global.hprose.co = co; - global.hprose.co.wrap = global.hprose.wrap = wrap; + hprose.thunkify = thunkify; + hprose.promisify = promisify; + hprose.co = co; + hprose.co.wrap = hprose.wrap = wrap; function Completer() { var future = new Future(); @@ -1920,13 +1921,13 @@ }); } - global.hprose.Completer = Completer; + hprose.Completer = Completer; - global.hprose.resolved = value; + hprose.resolved = value; - global.hprose.rejected = error; + hprose.rejected = error; - global.hprose.deferred = function() { + hprose.deferred = function() { var self = new Future(); return Object.create(null, { promise: { value: self }, @@ -1937,22 +1938,24 @@ if (hasPromise) { return; } - global.Promise = function(executor) { + function MyPromise(executor) { Future.call(this); executor(this.resolve, this.reject); - }; + } - global.Promise.prototype = Object.create(Future.prototype); - global.Promise.prototype.constructor = Future; + MyPromise.prototype = Object.create(Future.prototype); + MyPromise.prototype.constructor = Future; - Object.defineProperties(global.Promise, { + Object.defineProperties(MyPromise, { all: { value: all }, race: { value: race }, resolve: { value: value }, reject: { value: error } }); -})(this || [eval][0]('this')); + global.Promise = MyPromise; + +})(hprose, hprose.global); /**********************************************************\ | | @@ -1969,15 +1972,15 @@ * * * hprose BytesIO for HTML5. * * * - * LastModified: Oct 23, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, undefined) { 'use strict'; - var toBinaryString = global.hprose.toBinaryString; + var toBinaryString = hprose.toBinaryString; var _EMPTY_BYTES = new Uint8Array(0); var _INIT_SIZE = 1024; @@ -2550,9 +2553,9 @@ Object.defineProperty(BytesIO, 'toString', { value: toString }); - global.hprose.BytesIO = BytesIO; + hprose.BytesIO = BytesIO; -})(this || [eval][0]('this')); +})(hprose); /**********************************************************\ | | @@ -2568,15 +2571,15 @@ * * * hprose tags enum for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose) { 'use strict'; - global.hprose.Tags = { + hprose.Tags = { /* Serialize Tags */ TagInteger : 0x69, // 'i' TagLong : 0x6C, // 'l' @@ -2615,7 +2618,7 @@ TagError : 0x45, // 'E' TagEnd : 0x7A // 'z' }; -})(this || [eval][0]('this')); +})(hprose); /**********************************************************\ | | @@ -2632,12 +2635,12 @@ * * * hprose ClassManager for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose, global) { 'use strict'; var WeakMap = global.WeakMap; @@ -2658,17 +2661,17 @@ return classCache[alias]; } - global.hprose.ClassManager = Object.create(null, { + hprose.ClassManager = Object.create(null, { register: { value: register }, getClassAlias: { value: getClassAlias }, getClass: { value: getClass } }); - global.hprose.register = register; + hprose.register = register; register(Object, 'Object'); -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -2685,18 +2688,18 @@ * * * hprose Writer for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var Map = global.Map; - var BytesIO = global.hprose.BytesIO; - var Tags = global.hprose.Tags; - var ClassManager = global.hprose.ClassManager; + var BytesIO = hprose.BytesIO; + var Tags = hprose.Tags; + var ClassManager = hprose.ClassManager; function getClassName(obj) { var cls = obj.constructor; @@ -3224,9 +3227,9 @@ } } }); - global.hprose.Writer = Writer; + hprose.Writer = Writer; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -3243,18 +3246,18 @@ * * * hprose Reader for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var Map = global.Map; - var BytesIO = global.hprose.BytesIO; - var Tags = global.hprose.Tags; - var ClassManager = global.hprose.ClassManager; + var BytesIO = hprose.BytesIO; + var Tags = hprose.Tags; + var ClassManager = hprose.ClassManager; function unexpectedTag(tag, expectTags) { if (tag && expectTags) { @@ -3406,7 +3409,7 @@ }); } - global.hprose.RawReader = RawReader; + hprose.RawReader = RawReader; var fakeReaderRefer = Object.create(null, { set: { value: function() {} }, @@ -3968,8 +3971,8 @@ } } }); - global.hprose.Reader = Reader; -})(this || [eval][0]('this')); + hprose.Reader = Reader; +})(hprose, hprose.global); /**********************************************************\ | | @@ -3986,17 +3989,17 @@ * * * hprose Formatter for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose) { 'use strict'; - var BytesIO = global.hprose.BytesIO; - var Writer = global.hprose.Writer; - var Reader = global.hprose.Reader; + var BytesIO = hprose.BytesIO; + var Writer = hprose.Writer; + var Reader = hprose.Reader; function serialize(value, simple) { var stream = new BytesIO(); @@ -4012,18 +4015,18 @@ return new Reader(stream, simple, useHarmonyMap).unserialize(); } - global.hprose.Formatter = { + hprose.Formatter = { serialize: function (value, simple) { return serialize(value, simple).bytes; }, unserialize: unserialize }; - global.hprose.serialize = serialize; + hprose.serialize = serialize; - global.hprose.unserialize = unserialize; + hprose.unserialize = unserialize; -})(this || [eval][0]('this')); +})(hprose); /**********************************************************\ | | @@ -4040,26 +4043,26 @@ * * * hprose ResultMode for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose) { 'use strict'; - global.hprose.ResultMode = { + hprose.ResultMode = { Normal: 0, Serialized: 1, Raw: 2, RawWithEndTag: 3 }; - global.hprose.Normal = global.hprose.ResultMode.Normal; - global.hprose.Serialized = global.hprose.ResultMode.Serialized; - global.hprose.Raw = global.hprose.ResultMode.Raw; - global.hprose.RawWithEndTag = global.hprose.ResultMode.RawWithEndTag; + hprose.Normal = hprose.ResultMode.Normal; + hprose.Serialized = hprose.ResultMode.Serialized; + hprose.Raw = hprose.ResultMode.Raw; + hprose.RawWithEndTag = hprose.ResultMode.RawWithEndTag; -})(this || [eval][0]('this')); +})(hprose); /**********************************************************\ | | @@ -4075,23 +4078,23 @@ * * * hprose client for HTML5. * * * - * LastModified: Nov 14, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var setImmediate = global.setImmediate; - var Tags = global.hprose.Tags; - var ResultMode = global.hprose.ResultMode; - var BytesIO = global.hprose.BytesIO; - var Writer = global.hprose.Writer; - var Reader = global.hprose.Reader; - var Future = global.hprose.Future; - var parseuri = global.hprose.parseuri; - var isObjectEmpty = global.hprose.isObjectEmpty; + var Tags = hprose.Tags; + var ResultMode = hprose.ResultMode; + var BytesIO = hprose.BytesIO; + var Writer = hprose.Writer; + var Reader = hprose.Reader; + var Future = hprose.Future; + var parseuri = hprose.parseuri; + var isObjectEmpty = hprose.isObjectEmpty; var GETFUNCTIONS = new Uint8Array(1); GETFUNCTIONS[0] = Tags.TagEnd; @@ -5246,15 +5249,15 @@ function create(uri, functions, settings) { try { - return global.hprose.HttpClient.create(uri, functions, settings); + return hprose.HttpClient.create(uri, functions, settings); } catch(e) {} try { - return global.hprose.TcpClient.create(uri, functions, settings); + return hprose.TcpClient.create(uri, functions, settings); } catch(e) {} try { - return global.hprose.WebSocketClient.create(uri, functions, settings); + return hprose.WebSocketClient.create(uri, functions, settings); } catch(e) {} if (typeof uri === 'string') { @@ -5269,9 +5272,9 @@ Object.defineProperty(Client, 'create', { value: create }); - global.hprose.Client = Client; + hprose.Client = Client; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -5287,23 +5290,23 @@ * * * hprose http client for HTML5. * * * - * LastModified: Oct 23, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var Client = global.hprose.Client; - var Future = global.hprose.Future; - var BytesIO = global.hprose.BytesIO; + var Client = hprose.Client; + var Future = hprose.Future; + var BytesIO = hprose.BytesIO; var TimeoutError = global.TimeoutError; var localfile = (global.location !== undefined && global.location.protocol === 'file:'); var XMLHttpRequest = global.XMLHttpRequest; var nativeXHR = (typeof(XMLHttpRequest) !== 'undefined'); var corsSupport = (!localfile && nativeXHR && 'withCredentials' in new XMLHttpRequest()); - var parseuri = global.hprose.parseuri; + var parseuri = hprose.parseuri; function noop(){} @@ -5462,9 +5465,9 @@ Object.defineProperty(HttpClient, 'create', { value: create }); - global.hprose.HttpClient = HttpClient; + hprose.HttpClient = HttpClient; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -5485,14 +5488,14 @@ * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var BytesIO = global.hprose.BytesIO; - var Client = global.hprose.Client; - var Future = global.hprose.Future; + var BytesIO = hprose.BytesIO; + var Client = hprose.Client; + var Future = hprose.Future; var TimeoutError = global.TimeoutError; - var parseuri = global.hprose.parseuri; + var parseuri = hprose.parseuri; var WebSocket = global.WebSocket || global.MozWebSocket; @@ -5645,9 +5648,9 @@ Object.defineProperty(WebSocketClient, 'create', { value: create }); - global.hprose.WebSocketClient = WebSocketClient; + hprose.WebSocketClient = WebSocketClient; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -5663,15 +5666,15 @@ * * * chrome tcp socket for JavaScript. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var Future = global.hprose.Future; + var Future = hprose.Future; function noop(){} @@ -5827,9 +5830,9 @@ } } }); - global.hprose.ChromeTcpSocket = ChromeTcpSocket; + hprose.ChromeTcpSocket = ChromeTcpSocket; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -5845,19 +5848,19 @@ * * * APICloud tcp socket for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var Future = global.hprose.Future; + var Future = hprose.Future; var atob = global.atob; var btoa = global.btoa; - var toUint8Array = global.hprose.toUint8Array; - var toBinaryString = global.hprose.toBinaryString; + var toUint8Array = hprose.toUint8Array; + var toBinaryString = hprose.toBinaryString; function noop(){} @@ -5960,9 +5963,9 @@ } } }); - global.hprose.APICloudTcpSocket = APICloudTcpSocket; + hprose.APICloudTcpSocket = APICloudTcpSocket; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -5978,21 +5981,21 @@ * * * hprose tcp client for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var ChromeTcpSocket = global.hprose.ChromeTcpSocket; - var APICloudTcpSocket = global.hprose.APICloudTcpSocket; - var Client = global.hprose.Client; - var BytesIO = global.hprose.BytesIO; - var Future = global.hprose.Future; + var ChromeTcpSocket = hprose.ChromeTcpSocket; + var APICloudTcpSocket = hprose.APICloudTcpSocket; + var Client = hprose.Client; + var BytesIO = hprose.BytesIO; + var Future = hprose.Future; var TimeoutError = global.TimeoutError; - var parseuri = global.hprose.parseuri; + var parseuri = hprose.parseuri; function noop(){} @@ -6431,9 +6434,9 @@ Object.defineProperty(TcpClient, 'create', { value: create }); - global.hprose.TcpClient = TcpClient; + hprose.TcpClient = TcpClient; -})(this || [eval][0]('this')); +})(hprose, hprose.global); /**********************************************************\ | | @@ -6450,19 +6453,19 @@ * * * jsonrpc client filter for JavaScript. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +/* global JSON */ +(function (hprose) { 'use strict'; - var Tags = global.hprose.Tags; - var BytesIO = global.hprose.BytesIO; - var Writer = global.hprose.Writer; - var Reader = global.hprose.Reader; - var JSON = global.JSON; + var Tags = hprose.Tags; + var BytesIO = hprose.BytesIO; + var Writer = hprose.Writer; + var Reader = hprose.Reader; var s_id = 1; @@ -6526,9 +6529,9 @@ return JSON.stringify(requests[0]); }; - global.hprose.JSONRPCClientFilter = JSONRPCClientFilter; + hprose.JSONRPCClientFilter = JSONRPCClientFilter; -})(this || [eval][0]('this')); +})(hprose); /**********************************************************\ | | @@ -6545,51 +6548,51 @@ * * * hprose CommonJS/AMD/CMD loader for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ /* global define, module */ -(function (global) { +(function (hprose) { 'use strict'; - global.hprose.common = { - Completer: global.hprose.Completer, - Future: global.hprose.Future, - ResultMode: global.hprose.ResultMode + hprose.common = { + Completer: hprose.Completer, + Future: hprose.Future, + ResultMode: hprose.ResultMode }; - global.hprose.io = { - BytesIO: global.hprose.BytesIO, - ClassManager: global.hprose.ClassManager, - Tags: global.hprose.Tags, - RawReader: global.hprose.RawReader, - Reader: global.hprose.Reader, - Writer: global.hprose.Writer, - Formatter: global.hprose.Formatter + hprose.io = { + BytesIO: hprose.BytesIO, + ClassManager: hprose.ClassManager, + Tags: hprose.Tags, + RawReader: hprose.RawReader, + Reader: hprose.Reader, + Writer: hprose.Writer, + Formatter: hprose.Formatter }; - global.hprose.client = { - Client: global.hprose.Client, - HttpClient: global.hprose.HttpClient, - TcpClient: global.hprose.TcpClient, - WebSocketClient: global.hprose.WebSocketClient + hprose.client = { + Client: hprose.Client, + HttpClient: hprose.HttpClient, + TcpClient: hprose.TcpClient, + WebSocketClient: hprose.WebSocketClient }; - global.hprose.filter = { - JSONRPCClientFilter: global.hprose.JSONRPCClientFilter + hprose.filter = { + JSONRPCClientFilter: hprose.JSONRPCClientFilter }; if (typeof define === 'function') { if (define.cmd) { - define('hprose', [], global.hprose); + define('hprose', [], hprose); } else if (define.amd) { - define('hprose', [], function() { return global.hprose; }); + define('hprose', [], function() { return hprose; }); } } if (typeof module === 'object') { - module.exports = global.hprose; + module.exports = hprose; } -})(this || [eval][0]('this')); +})(hprose); diff --git a/gulpfile.js b/gulpfile.js index 765e741..5e4a91b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -34,9 +34,9 @@ gulp.task('concat', ['clear'], function() { 'src/TcpClient.js', 'src/JSONRPCClientFilter.js', 'src/Loader.js']) + .pipe(concat('hprose-html5.src.js')) .pipe(jshint()) .pipe(jshint.reporter()) - .pipe(concat('hprose-html5.src.js')) .pipe(gulp.dest('dist')); }); diff --git a/src/APICloudTcpSocket.js b/src/APICloudTcpSocket.js index d791900..c943a3a 100644 --- a/src/APICloudTcpSocket.js +++ b/src/APICloudTcpSocket.js @@ -12,19 +12,19 @@ * * * APICloud tcp socket for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var Future = global.hprose.Future; + var Future = hprose.Future; var atob = global.atob; var btoa = global.btoa; - var toUint8Array = global.hprose.toUint8Array; - var toBinaryString = global.hprose.toBinaryString; + var toUint8Array = hprose.toUint8Array; + var toBinaryString = hprose.toBinaryString; function noop(){} @@ -127,6 +127,6 @@ } } }); - global.hprose.APICloudTcpSocket = APICloudTcpSocket; + hprose.APICloudTcpSocket = APICloudTcpSocket; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/Base64.js b/src/Base64.js index d5ed0dc..d712887 100644 --- a/src/Base64.js +++ b/src/Base64.js @@ -12,7 +12,7 @@ * * * Base64 for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ @@ -131,4 +131,4 @@ })(); } -})(this || [eval][0]('this')); +})(hprose.global); diff --git a/src/BytesIO.js b/src/BytesIO.js index 939fd27..fea8658 100644 --- a/src/BytesIO.js +++ b/src/BytesIO.js @@ -13,15 +13,15 @@ * * * hprose BytesIO for HTML5. * * * - * LastModified: Oct 23, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, undefined) { 'use strict'; - var toBinaryString = global.hprose.toBinaryString; + var toBinaryString = hprose.toBinaryString; var _EMPTY_BYTES = new Uint8Array(0); var _INIT_SIZE = 1024; @@ -594,6 +594,6 @@ Object.defineProperty(BytesIO, 'toString', { value: toString }); - global.hprose.BytesIO = BytesIO; + hprose.BytesIO = BytesIO; -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/ChromeTcpSocket.js b/src/ChromeTcpSocket.js index e8dbd69..f7d10b7 100644 --- a/src/ChromeTcpSocket.js +++ b/src/ChromeTcpSocket.js @@ -12,15 +12,15 @@ * * * chrome tcp socket for JavaScript. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var Future = global.hprose.Future; + var Future = hprose.Future; function noop(){} @@ -176,6 +176,6 @@ } } }); - global.hprose.ChromeTcpSocket = ChromeTcpSocket; + hprose.ChromeTcpSocket = ChromeTcpSocket; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/ClassManager.js b/src/ClassManager.js index 61e4b2f..8e8e165 100644 --- a/src/ClassManager.js +++ b/src/ClassManager.js @@ -13,12 +13,12 @@ * * * hprose ClassManager for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose, global) { 'use strict'; var WeakMap = global.WeakMap; @@ -39,14 +39,14 @@ return classCache[alias]; } - global.hprose.ClassManager = Object.create(null, { + hprose.ClassManager = Object.create(null, { register: { value: register }, getClassAlias: { value: getClassAlias }, getClass: { value: getClass } }); - global.hprose.register = register; + hprose.register = register; register(Object, 'Object'); -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/Client.js b/src/Client.js index 1d7369b..7979566 100644 --- a/src/Client.js +++ b/src/Client.js @@ -12,23 +12,23 @@ * * * hprose client for HTML5. * * * - * LastModified: Nov 14, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var setImmediate = global.setImmediate; - var Tags = global.hprose.Tags; - var ResultMode = global.hprose.ResultMode; - var BytesIO = global.hprose.BytesIO; - var Writer = global.hprose.Writer; - var Reader = global.hprose.Reader; - var Future = global.hprose.Future; - var parseuri = global.hprose.parseuri; - var isObjectEmpty = global.hprose.isObjectEmpty; + var Tags = hprose.Tags; + var ResultMode = hprose.ResultMode; + var BytesIO = hprose.BytesIO; + var Writer = hprose.Writer; + var Reader = hprose.Reader; + var Future = hprose.Future; + var parseuri = hprose.parseuri; + var isObjectEmpty = hprose.isObjectEmpty; var GETFUNCTIONS = new Uint8Array(1); GETFUNCTIONS[0] = Tags.TagEnd; @@ -1183,15 +1183,15 @@ function create(uri, functions, settings) { try { - return global.hprose.HttpClient.create(uri, functions, settings); + return hprose.HttpClient.create(uri, functions, settings); } catch(e) {} try { - return global.hprose.TcpClient.create(uri, functions, settings); + return hprose.TcpClient.create(uri, functions, settings); } catch(e) {} try { - return global.hprose.WebSocketClient.create(uri, functions, settings); + return hprose.WebSocketClient.create(uri, functions, settings); } catch(e) {} if (typeof uri === 'string') { @@ -1206,6 +1206,6 @@ Object.defineProperty(Client, 'create', { value: create }); - global.hprose.Client = Client; + hprose.Client = Client; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/Formatter.js b/src/Formatter.js index 00116f2..ed8396f 100644 --- a/src/Formatter.js +++ b/src/Formatter.js @@ -13,17 +13,17 @@ * * * hprose Formatter for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose) { 'use strict'; - var BytesIO = global.hprose.BytesIO; - var Writer = global.hprose.Writer; - var Reader = global.hprose.Reader; + var BytesIO = hprose.BytesIO; + var Writer = hprose.Writer; + var Reader = hprose.Reader; function serialize(value, simple) { var stream = new BytesIO(); @@ -39,15 +39,15 @@ return new Reader(stream, simple, useHarmonyMap).unserialize(); } - global.hprose.Formatter = { + hprose.Formatter = { serialize: function (value, simple) { return serialize(value, simple).bytes; }, unserialize: unserialize }; - global.hprose.serialize = serialize; + hprose.serialize = serialize; - global.hprose.unserialize = unserialize; + hprose.unserialize = unserialize; -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/Future.js b/src/Future.js index 6bb3dc7..b29844c 100644 --- a/src/Future.js +++ b/src/Future.js @@ -18,7 +18,7 @@ * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var PENDING = 0; @@ -817,12 +817,12 @@ } } }); - global.hprose.Future = Future; + hprose.Future = Future; - global.hprose.thunkify = thunkify; - global.hprose.promisify = promisify; - global.hprose.co = co; - global.hprose.co.wrap = global.hprose.wrap = wrap; + hprose.thunkify = thunkify; + hprose.promisify = promisify; + hprose.co = co; + hprose.co.wrap = hprose.wrap = wrap; function Completer() { var future = new Future(); @@ -836,13 +836,13 @@ }); } - global.hprose.Completer = Completer; + hprose.Completer = Completer; - global.hprose.resolved = value; + hprose.resolved = value; - global.hprose.rejected = error; + hprose.rejected = error; - global.hprose.deferred = function() { + hprose.deferred = function() { var self = new Future(); return Object.create(null, { promise: { value: self }, @@ -853,19 +853,21 @@ if (hasPromise) { return; } - global.Promise = function(executor) { + function MyPromise(executor) { Future.call(this); executor(this.resolve, this.reject); - }; + } - global.Promise.prototype = Object.create(Future.prototype); - global.Promise.prototype.constructor = Future; + MyPromise.prototype = Object.create(Future.prototype); + MyPromise.prototype.constructor = Future; - Object.defineProperties(global.Promise, { + Object.defineProperties(MyPromise, { all: { value: all }, race: { value: race }, resolve: { value: value }, reject: { value: error } }); -})(this || [eval][0]('this')); + global.Promise = MyPromise; + +})(hprose, hprose.global); diff --git a/src/HarmonyMaps.js b/src/HarmonyMaps.js index f1c477e..5be6667 100644 --- a/src/HarmonyMaps.js +++ b/src/HarmonyMaps.js @@ -13,7 +13,7 @@ * * * Harmony Maps for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ @@ -297,4 +297,4 @@ return m; }; } -})(this || [eval][0]('this')); +})(hprose.global); diff --git a/src/Helper.js b/src/Helper.js index 145c7f2..8fcae53 100644 --- a/src/Helper.js +++ b/src/Helper.js @@ -13,12 +13,12 @@ * * * hprose helper for HTML5. * * * - * LastModified: Oct 12, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, undefined) { 'use strict'; function generic(method) { @@ -104,11 +104,11 @@ return true; } - global.hprose.generic = generic; - global.hprose.toBinaryString = toBinaryString; - global.hprose.toUint8Array = toUint8Array; - global.hprose.toArray = toArray; - global.hprose.parseuri = parseuri; - global.hprose.isObjectEmpty = isObjectEmpty; + hprose.generic = generic; + hprose.toBinaryString = toBinaryString; + hprose.toUint8Array = toUint8Array; + hprose.toArray = toArray; + hprose.parseuri = parseuri; + hprose.isObjectEmpty = isObjectEmpty; -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/HttpClient.js b/src/HttpClient.js index 5be350d..d8049c5 100644 --- a/src/HttpClient.js +++ b/src/HttpClient.js @@ -12,23 +12,23 @@ * * * hprose http client for HTML5. * * * - * LastModified: Oct 23, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var Client = global.hprose.Client; - var Future = global.hprose.Future; - var BytesIO = global.hprose.BytesIO; + var Client = hprose.Client; + var Future = hprose.Future; + var BytesIO = hprose.BytesIO; var TimeoutError = global.TimeoutError; var localfile = (global.location !== undefined && global.location.protocol === 'file:'); var XMLHttpRequest = global.XMLHttpRequest; var nativeXHR = (typeof(XMLHttpRequest) !== 'undefined'); var corsSupport = (!localfile && nativeXHR && 'withCredentials' in new XMLHttpRequest()); - var parseuri = global.hprose.parseuri; + var parseuri = hprose.parseuri; function noop(){} @@ -187,6 +187,6 @@ Object.defineProperty(HttpClient, 'create', { value: create }); - global.hprose.HttpClient = HttpClient; + hprose.HttpClient = HttpClient; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/Init.js b/src/Init.js index 0c759bc..7055d01 100644 --- a/src/Init.js +++ b/src/Init.js @@ -13,14 +13,19 @@ * * * hprose init for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { - 'use strict'; +var hprose = Object.create(null); - global.hprose = Object.create(null); - -})(this || [eval][0]('this')); +/* global global, window, self */ +hprose.global = ( + // Among the various tricks for obtaining a reference to the global + // object, this seems to be the most reliable technique that does not + // use indirect eval (which violates Content Security Policy). + typeof global === "object" ? global : + typeof window === "object" ? window : + typeof self === "object" ? self : this +); diff --git a/src/JSONRPCClientFilter.js b/src/JSONRPCClientFilter.js index 83f4dbb..28a85fd 100644 --- a/src/JSONRPCClientFilter.js +++ b/src/JSONRPCClientFilter.js @@ -13,19 +13,19 @@ * * * jsonrpc client filter for JavaScript. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +/* global JSON */ +(function (hprose) { 'use strict'; - var Tags = global.hprose.Tags; - var BytesIO = global.hprose.BytesIO; - var Writer = global.hprose.Writer; - var Reader = global.hprose.Reader; - var JSON = global.JSON; + var Tags = hprose.Tags; + var BytesIO = hprose.BytesIO; + var Writer = hprose.Writer; + var Reader = hprose.Reader; var s_id = 1; @@ -89,6 +89,6 @@ return JSON.stringify(requests[0]); }; - global.hprose.JSONRPCClientFilter = JSONRPCClientFilter; + hprose.JSONRPCClientFilter = JSONRPCClientFilter; -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/Loader.js b/src/Loader.js index 1514af0..3e2bdf5 100644 --- a/src/Loader.js +++ b/src/Loader.js @@ -13,51 +13,51 @@ * * * hprose CommonJS/AMD/CMD loader for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ /* global define, module */ -(function (global) { +(function (hprose) { 'use strict'; - global.hprose.common = { - Completer: global.hprose.Completer, - Future: global.hprose.Future, - ResultMode: global.hprose.ResultMode + hprose.common = { + Completer: hprose.Completer, + Future: hprose.Future, + ResultMode: hprose.ResultMode }; - global.hprose.io = { - BytesIO: global.hprose.BytesIO, - ClassManager: global.hprose.ClassManager, - Tags: global.hprose.Tags, - RawReader: global.hprose.RawReader, - Reader: global.hprose.Reader, - Writer: global.hprose.Writer, - Formatter: global.hprose.Formatter + hprose.io = { + BytesIO: hprose.BytesIO, + ClassManager: hprose.ClassManager, + Tags: hprose.Tags, + RawReader: hprose.RawReader, + Reader: hprose.Reader, + Writer: hprose.Writer, + Formatter: hprose.Formatter }; - global.hprose.client = { - Client: global.hprose.Client, - HttpClient: global.hprose.HttpClient, - TcpClient: global.hprose.TcpClient, - WebSocketClient: global.hprose.WebSocketClient + hprose.client = { + Client: hprose.Client, + HttpClient: hprose.HttpClient, + TcpClient: hprose.TcpClient, + WebSocketClient: hprose.WebSocketClient }; - global.hprose.filter = { - JSONRPCClientFilter: global.hprose.JSONRPCClientFilter + hprose.filter = { + JSONRPCClientFilter: hprose.JSONRPCClientFilter }; if (typeof define === 'function') { if (define.cmd) { - define('hprose', [], global.hprose); + define('hprose', [], hprose); } else if (define.amd) { - define('hprose', [], function() { return global.hprose; }); + define('hprose', [], function() { return hprose; }); } } if (typeof module === 'object') { - module.exports = global.hprose; + module.exports = hprose; } -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/Polyfill.js b/src/Polyfill.js index 7f6556f..8c4a989 100644 --- a/src/Polyfill.js +++ b/src/Polyfill.js @@ -13,12 +13,12 @@ * * * Polyfill for JavaScript. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (generic, undefined) { 'use strict'; /* Function */ if (!Function.prototype.bind) { @@ -349,8 +349,6 @@ }; })() }); } - /* Generic methods */ - var generic = global.hprose.generic; function genericMethods(obj, properties) { var proto = obj.prototype; @@ -413,4 +411,4 @@ 'slice' ]); -})(this || [eval][0]('this')); +})(hprose.generic); diff --git a/src/Reader.js b/src/Reader.js index a5c6e96..4ff8e05 100644 --- a/src/Reader.js +++ b/src/Reader.js @@ -13,18 +13,18 @@ * * * hprose Reader for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var Map = global.Map; - var BytesIO = global.hprose.BytesIO; - var Tags = global.hprose.Tags; - var ClassManager = global.hprose.ClassManager; + var BytesIO = hprose.BytesIO; + var Tags = hprose.Tags; + var ClassManager = hprose.ClassManager; function unexpectedTag(tag, expectTags) { if (tag && expectTags) { @@ -176,7 +176,7 @@ }); } - global.hprose.RawReader = RawReader; + hprose.RawReader = RawReader; var fakeReaderRefer = Object.create(null, { set: { value: function() {} }, @@ -738,5 +738,5 @@ } } }); - global.hprose.Reader = Reader; -})(this || [eval][0]('this')); + hprose.Reader = Reader; +})(hprose, hprose.global); diff --git a/src/ResultMode.js b/src/ResultMode.js index 1721ce9..01d3e1e 100644 --- a/src/ResultMode.js +++ b/src/ResultMode.js @@ -13,23 +13,23 @@ * * * hprose ResultMode for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose) { 'use strict'; - global.hprose.ResultMode = { + hprose.ResultMode = { Normal: 0, Serialized: 1, Raw: 2, RawWithEndTag: 3 }; - global.hprose.Normal = global.hprose.ResultMode.Normal; - global.hprose.Serialized = global.hprose.ResultMode.Serialized; - global.hprose.Raw = global.hprose.ResultMode.Raw; - global.hprose.RawWithEndTag = global.hprose.ResultMode.RawWithEndTag; + hprose.Normal = hprose.ResultMode.Normal; + hprose.Serialized = hprose.ResultMode.Serialized; + hprose.Raw = hprose.ResultMode.Raw; + hprose.RawWithEndTag = hprose.ResultMode.RawWithEndTag; -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/Tags.js b/src/Tags.js index 49e4a64..66b85d5 100644 --- a/src/Tags.js +++ b/src/Tags.js @@ -12,15 +12,15 @@ * * * hprose tags enum for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global) { +(function (hprose) { 'use strict'; - global.hprose.Tags = { + hprose.Tags = { /* Serialize Tags */ TagInteger : 0x69, // 'i' TagLong : 0x6C, // 'l' @@ -59,4 +59,4 @@ TagError : 0x45, // 'E' TagEnd : 0x7A // 'z' }; -})(this || [eval][0]('this')); +})(hprose); diff --git a/src/TcpClient.js b/src/TcpClient.js index 1ba98ab..1816e3e 100644 --- a/src/TcpClient.js +++ b/src/TcpClient.js @@ -12,21 +12,21 @@ * * * hprose tcp client for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var ChromeTcpSocket = global.hprose.ChromeTcpSocket; - var APICloudTcpSocket = global.hprose.APICloudTcpSocket; - var Client = global.hprose.Client; - var BytesIO = global.hprose.BytesIO; - var Future = global.hprose.Future; + var ChromeTcpSocket = hprose.ChromeTcpSocket; + var APICloudTcpSocket = hprose.APICloudTcpSocket; + var Client = hprose.Client; + var BytesIO = hprose.BytesIO; + var Future = hprose.Future; var TimeoutError = global.TimeoutError; - var parseuri = global.hprose.parseuri; + var parseuri = hprose.parseuri; function noop(){} @@ -465,6 +465,6 @@ Object.defineProperty(TcpClient, 'create', { value: create }); - global.hprose.TcpClient = TcpClient; + hprose.TcpClient = TcpClient; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/TimeoutError.js b/src/TimeoutError.js index b9cf3d0..7ca5787 100644 --- a/src/TimeoutError.js +++ b/src/TimeoutError.js @@ -13,23 +13,21 @@ * * * TimeoutError for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ (function(global) { - if (typeof global.TimeoutError !== 'function') { - var TimeoutError = function(message) { - Error.call(this); - this.message = message; - this.name = TimeoutError.name; - if (typeof Error.captureStackTrace === 'function') { - Error.captureStackTrace(this, TimeoutError); - } + function TimeoutError(message) { + Error.call(this); + this.message = message; + this.name = TimeoutError.name; + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, TimeoutError); } - TimeoutError.prototype = Object.create(Error.prototype); - TimeoutError.prototype.constructor = TimeoutError; - global.TimeoutError = TimeoutError; } -})(this || [eval][0]('this')); \ No newline at end of file + TimeoutError.prototype = Object.create(Error.prototype); + TimeoutError.prototype.constructor = TimeoutError; + global.TimeoutError = TimeoutError; +})(hprose.global); \ No newline at end of file diff --git a/src/WebSocketClient.js b/src/WebSocketClient.js index 1791ecb..f4e264f 100644 --- a/src/WebSocketClient.js +++ b/src/WebSocketClient.js @@ -17,14 +17,14 @@ * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; - var BytesIO = global.hprose.BytesIO; - var Client = global.hprose.Client; - var Future = global.hprose.Future; + var BytesIO = hprose.BytesIO; + var Client = hprose.Client; + var Future = hprose.Future; var TimeoutError = global.TimeoutError; - var parseuri = global.hprose.parseuri; + var parseuri = hprose.parseuri; var WebSocket = global.WebSocket || global.MozWebSocket; @@ -177,6 +177,6 @@ Object.defineProperty(WebSocketClient, 'create', { value: create }); - global.hprose.WebSocketClient = WebSocketClient; + hprose.WebSocketClient = WebSocketClient; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/Writer.js b/src/Writer.js index 8320d76..16eba46 100644 --- a/src/Writer.js +++ b/src/Writer.js @@ -13,18 +13,18 @@ * * * hprose Writer for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ -(function (global, undefined) { +(function (hprose, global, undefined) { 'use strict'; var Map = global.Map; - var BytesIO = global.hprose.BytesIO; - var Tags = global.hprose.Tags; - var ClassManager = global.hprose.ClassManager; + var BytesIO = hprose.BytesIO; + var Tags = hprose.Tags; + var ClassManager = hprose.ClassManager; function getClassName(obj) { var cls = obj.constructor; @@ -552,6 +552,6 @@ } } }); - global.hprose.Writer = Writer; + hprose.Writer = Writer; -})(this || [eval][0]('this')); +})(hprose, hprose.global); diff --git a/src/setImmediate.js b/src/setImmediate.js index 8bc1795..0dbbc6d 100644 --- a/src/setImmediate.js +++ b/src/setImmediate.js @@ -13,7 +13,7 @@ * * * setImmediate for HTML5. * * * - * LastModified: Sep 29, 2016 * + * LastModified: Nov 18, 2016 * * Author: Ma Bingyao * * * \**********************************************************/ @@ -179,4 +179,4 @@ } attachTo.clearImmediate = clear; -})(this || [eval][0]('this')); +})(hprose.global);