diff --git a/bridge/webui.ts b/bridge/webui.ts index 4943588ea..77d4b7704 100644 --- a/bridge/webui.ts +++ b/bridge/webui.ts @@ -537,6 +537,12 @@ class WebuiBridge { } } } + #getScriptUrl() { + const scripts = Array.from(document.scripts) + .filter(s => s.src !== null && s.src.startsWith('http') && s.src.endsWith('webui.js')) + .map(s => s.src); + return scripts.length === 0 ? null : new URL(scripts[0]); + } #callPromise(fn: string, ...args: DataTypes[]) { --this.#callPromiseID[0]; const callId = this.#toUint16(this.#callPromiseID[0]); @@ -609,7 +615,8 @@ class WebuiBridge { this.#ws.close(); } this.#TokenAccepted = false; - const host = window.location.hostname; + const scriptUrl = this.#getScriptUrl(); + const host = scriptUrl !== null ? scriptUrl.hostname : window.location.hostname; const url = this.#secure ? ('wss://' + host) : ('ws://' + host); this.#ws = new WebSocket(`${url}:${this.#port}/_webui_ws_connect`); this.#ws.binaryType = 'arraybuffer'; diff --git a/bridge/webui_bridge.h b/bridge/webui_bridge.h index 0d8511267..5d96d9c82 100644 --- a/bridge/webui_bridge.h +++ b/bridge/webui_bridge.h @@ -959,6 +959,26 @@ unsigned char webui_javascript_bridge[] = { 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5b, 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x5d, 0x60, 0x29, 0x29, 0x7d, 0x7d, 0x23, + 0x67, 0x65, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, + 0x72, 0x6c, 0x28, 0x29, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x3d, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x28, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x73, 0x29, 0x2e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x28, 0x73, 0x3d, 0x3e, 0x73, 0x2e, 0x73, 0x72, + 0x63, 0x21, 0x3d, 0x3d, 0x6e, 0x75, 0x6c, 0x6c, 0x26, 0x26, + 0x73, 0x2e, 0x73, 0x72, 0x63, 0x2e, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x28, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x22, 0x29, 0x26, 0x26, 0x73, 0x2e, 0x73, 0x72, + 0x63, 0x2e, 0x65, 0x6e, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x28, 0x22, 0x77, 0x65, 0x62, 0x75, 0x69, 0x2e, 0x6a, 0x73, + 0x22, 0x29, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x28, 0x73, 0x3d, + 0x3e, 0x73, 0x2e, 0x73, 0x72, 0x63, 0x29, 0x3b, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3d, + 0x3d, 0x3d, 0x30, 0x3f, 0x6e, 0x75, 0x6c, 0x6c, 0x3a, 0x6e, + 0x65, 0x77, 0x20, 0x55, 0x52, 0x4c, 0x28, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x73, 0x5b, 0x30, 0x5d, 0x29, 0x7d, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x28, 0x66, 0x6e, 0x2c, 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x7b, 0x2d, 0x2d, 0x74, 0x68, 0x69, 0x73, @@ -1108,741 +1128,747 @@ unsigned char webui_javascript_bridge[] = { 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x3d, 0x21, - 0x31, 0x3b, 0x6c, 0x65, 0x74, 0x20, 0x68, 0x6f, 0x73, 0x74, - 0x3d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x75, 0x72, 0x6c, 0x3d, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x65, 0x3f, 0x22, 0x77, 0x73, 0x73, 0x3a, 0x2f, 0x2f, - 0x22, 0x2b, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x22, 0x77, 0x73, - 0x3a, 0x2f, 0x2f, 0x22, 0x2b, 0x68, 0x6f, 0x73, 0x74, 0x3b, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x3d, 0x6e, - 0x65, 0x77, 0x20, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x28, 0x60, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x7d, - 0x3a, 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x70, - 0x6f, 0x72, 0x74, 0x7d, 0x2f, 0x5f, 0x77, 0x65, 0x62, 0x75, - 0x69, 0x5f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x73, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, - 0x6f, 0x70, 0x65, 0x6e, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x2e, - 0x62, 0x69, 0x6e, 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, - 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, - 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3d, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x4f, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x62, 0x69, - 0x6e, 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x3d, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x2e, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x73, 0x2e, 0x6f, 0x6e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3d, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x4f, 0x6e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x62, 0x69, 0x6e, 0x64, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x7d, 0x23, 0x77, 0x73, - 0x4f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x3d, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x3d, 0x3e, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x73, 0x57, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x3d, 0x21, 0x30, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x75, 0x6e, 0x66, 0x72, 0x65, - 0x65, 0x7a, 0x65, 0x55, 0x49, 0x28, 0x29, 0x2c, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, - 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x22, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, - 0x29, 0x7d, 0x3b, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x3d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3d, - 0x3e, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, - 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, - 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x2e, 0x22, 0x29, 0x7d, 0x3b, 0x23, 0x77, 0x73, - 0x4f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x3d, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x3d, 0x3e, 0x7b, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x3d, 0x3d, 0x3d, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, - 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x3f, 0x28, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3d, 0x30, 0x2c, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, - 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6c, 0x6f, 0x73, 0x74, 0x2e, 0x20, 0x4e, 0x61, - 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x6f, 0x20, 0x5b, 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, - 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x21, 0x30, - 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, - 0x73, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x3a, 0x74, 0x68, + 0x31, 0x3b, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x55, 0x72, 0x6c, 0x3d, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x67, 0x65, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x55, 0x72, 0x6c, 0x28, 0x29, 0x2c, 0x68, 0x6f, 0x73, + 0x74, 0x3d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x72, + 0x6c, 0x21, 0x3d, 0x3d, 0x6e, 0x75, 0x6c, 0x6c, 0x3f, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x55, 0x72, 0x6c, 0x2e, 0x68, + 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x2c, 0x75, 0x72, 0x6c, 0x3d, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x3f, + 0x22, 0x77, 0x73, 0x73, 0x3a, 0x2f, 0x2f, 0x22, 0x2b, 0x68, + 0x6f, 0x73, 0x74, 0x3a, 0x22, 0x77, 0x73, 0x3a, 0x2f, 0x2f, + 0x22, 0x2b, 0x68, 0x6f, 0x73, 0x74, 0x3b, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x73, 0x3d, 0x6e, 0x65, 0x77, 0x20, + 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x28, + 0x60, 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x7d, 0x3a, 0x24, 0x7b, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x70, 0x6f, 0x72, 0x74, + 0x7d, 0x2f, 0x5f, 0x77, 0x65, 0x62, 0x75, 0x69, 0x5f, 0x77, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x60, + 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, + 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x61, 0x72, 0x72, 0x61, 0x79, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x22, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, 0x6f, 0x70, 0x65, + 0x6e, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, + 0x4f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x2e, 0x62, 0x69, 0x6e, + 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2c, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3d, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x62, 0x69, 0x6e, 0x64, 0x28, + 0x74, 0x68, 0x69, 0x73, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, 0x6e, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, + 0x73, 0x4f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x2e, 0x62, + 0x69, 0x6e, 0x64, 0x28, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x6f, + 0x6e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3d, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x2e, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x29, 0x7d, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x4f, + 0x70, 0x65, 0x6e, 0x3d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3d, + 0x3e, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, + 0x57, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x3d, 0x21, 0x30, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x75, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x55, 0x49, 0x28, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x29, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x29, 0x7d, 0x3b, + 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x3d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3d, 0x3e, 0x7b, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, + 0x3e, 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2e, + 0x22, 0x29, 0x7d, 0x3b, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x3d, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x3d, 0x3e, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x3d, 0x3d, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, + 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x3f, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x3d, 0x30, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, + 0x6f, 0x73, 0x74, 0x2e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x5b, + 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x7d, 0x5d, + 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x21, 0x30, 0x2c, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x29, 0x29, 0x3a, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x79, 0x41, 0x6c, 0x69, + 0x76, 0x65, 0x3f, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, + 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, + 0x73, 0x74, 0x20, 0x28, 0x24, 0x7b, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x29, 0x2e, 0x20, + 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x2e, 0x2e, 0x60, 0x29, 0x2c, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x55, 0x69, 0x28, 0x29, 0x2c, 0x73, 0x65, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x28, 0x29, 0x3d, 0x3e, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x28, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x79, - 0x41, 0x6c, 0x69, 0x76, 0x65, 0x3f, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, - 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6c, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x24, 0x7b, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x7d, - 0x29, 0x2e, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x2e, 0x2e, 0x60, 0x29, - 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x66, 0x72, 0x65, - 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, 0x2c, 0x73, 0x65, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x28, 0x28, - 0x29, 0x3d, 0x3e, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x28, 0x29, - 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, - 0x74, 0x61, 0x79, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x29, 0x29, 0x3a, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x3f, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, - 0x20, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6c, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x24, 0x7b, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, - 0x7d, 0x29, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, - 0x29, 0x29, 0x3a, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x54, 0x69, 0x6d, 0x65, 0x72, 0x28, 0x29, 0x2c, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x26, 0x26, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x2e, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x45, 0x44, 0x29, 0x7d, 0x3b, 0x23, 0x77, 0x73, - 0x4f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3d, - 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x3d, 0x3e, 0x7b, 0x76, 0x61, 0x72, 0x20, 0x5f, 0x61, - 0x2c, 0x5f, 0x62, 0x3b, 0x6c, 0x65, 0x74, 0x20, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x38, 0x3d, 0x6e, 0x65, 0x77, 0x20, - 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x28, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x29, 0x3b, 0x69, 0x66, 0x28, 0x21, 0x28, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x38, 0x2e, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x3c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, - 0x5a, 0x45, 0x29, 0x26, 0x26, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x5d, 0x3d, 0x3d, 0x3d, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x57, 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x29, 0x69, 0x66, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x69, 0x73, 0x54, - 0x65, 0x78, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x28, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, - 0x4d, 0x44, 0x5d, 0x29, 0x29, 0x7b, 0x6c, 0x65, 0x74, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x3d, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x49, 0x44, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x49, 0x44, 0x29, 0x3b, 0x73, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, + 0x41, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x29, 0x29, 0x3a, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x3f, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, + 0x6f, 0x73, 0x74, 0x20, 0x28, 0x24, 0x7b, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x29, 0x60, + 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x66, 0x72, + 0x65, 0x65, 0x7a, 0x65, 0x55, 0x69, 0x28, 0x29, 0x29, 0x3a, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x54, 0x69, 0x6d, + 0x65, 0x72, 0x28, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x26, 0x26, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x29, 0x7d, 0x3b, 0x23, 0x77, 0x73, 0x4f, 0x6e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3d, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3d, 0x3e, + 0x7b, 0x76, 0x61, 0x72, 0x20, 0x5f, 0x61, 0x2c, 0x5f, 0x62, + 0x3b, 0x6c, 0x65, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x38, 0x3d, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, + 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, + 0x69, 0x66, 0x28, 0x21, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x38, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, + 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x29, + 0x26, 0x26, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, + 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5d, + 0x3d, 0x3d, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, + 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, + 0x54, 0x55, 0x52, 0x45, 0x29, 0x69, 0x66, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x69, 0x73, 0x54, 0x65, 0x78, 0x74, + 0x42, 0x61, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x5d, - 0x29, 0x7b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5f, - 0x51, 0x55, 0x49, 0x43, 0x4b, 0x3a, 0x63, 0x61, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, - 0x5f, 0x4a, 0x53, 0x3a, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x61, 0x6e, 0x69, 0x74, - 0x69, 0x7a, 0x65, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, - 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x2e, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x28, 0x2f, 0x28, - 0x3f, 0x3a, 0x5c, 0x72, 0x5c, 0x6e, 0x7c, 0x5c, 0x72, 0x7c, - 0x5c, 0x6e, 0x29, 0x2f, 0x67, 0x2c, 0x60, 0x0a, 0x60, 0x29, - 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, - 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, - 0x20, 0x4a, 0x53, 0x20, 0x5b, 0x24, 0x7b, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, - 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x3b, 0x6c, 0x65, 0x74, 0x20, - 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, - 0x22, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x22, 0x2c, 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x3d, 0x21, 0x31, 0x2c, 0x69, 0x73, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x21, - 0x31, 0x3b, 0x74, 0x72, 0x79, 0x7b, 0x6c, 0x65, 0x74, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3d, 0x61, 0x77, 0x61, - 0x69, 0x74, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, - 0x65, 0x29, 0x28, 0x29, 0x3b, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x6f, 0x66, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x3f, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2c, 0x69, 0x73, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x21, 0x30, 0x29, - 0x3a, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x3d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x29, 0x7d, 0x63, 0x61, 0x74, 0x63, - 0x68, 0x28, 0x65, 0x29, 0x7b, 0x46, 0x75, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x3d, 0x21, 0x30, 0x2c, 0x46, 0x75, 0x6e, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x65, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x7d, 0x69, 0x66, 0x28, + 0x29, 0x29, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x49, 0x64, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x67, 0x65, 0x74, 0x49, 0x44, 0x28, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, + 0x44, 0x29, 0x3b, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x5d, 0x3d, 0x3d, 0x3d, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, - 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x29, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x69, 0x66, 0x28, 0x46, - 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x3d, - 0x3d, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, 0x26, 0x26, 0x28, - 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, - 0x22, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x22, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, - 0x6f, 0x67, 0x26, 0x26, 0x21, 0x46, 0x75, 0x6e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x29, 0x69, 0x66, 0x28, 0x69, 0x73, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x29, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x62, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x3d, 0x46, 0x75, - 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2c, 0x68, 0x65, - 0x78, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x3d, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x28, - 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x28, 0x30, 0x2c, 0x36, - 0x34, 0x29, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x28, 0x62, 0x3d, - 0x3e, 0x60, 0x30, 0x78, 0x24, 0x7b, 0x62, 0x2e, 0x74, 0x6f, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x31, 0x36, 0x29, - 0x2e, 0x70, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x28, - 0x32, 0x2c, 0x22, 0x30, 0x22, 0x29, 0x7d, 0x60, 0x29, 0x2e, - 0x6a, 0x6f, 0x69, 0x6e, 0x28, 0x22, 0x2c, 0x20, 0x22, 0x29, - 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, - 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, - 0x4a, 0x53, 0x20, 0x2d, 0x3e, 0x20, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x20, 0x28, 0x24, 0x7b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x7d, 0x20, 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, 0x20, - 0x5b, 0x24, 0x7b, 0x68, 0x65, 0x78, 0x50, 0x72, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x7d, 0x24, 0x7b, 0x62, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x3e, 0x36, 0x34, 0x3f, 0x22, 0x2e, 0x2e, - 0x2e, 0x22, 0x3a, 0x22, 0x22, 0x7d, 0x5d, 0x60, 0x29, 0x7d, - 0x65, 0x6c, 0x73, 0x65, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x3d, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x46, 0x75, 0x6e, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x29, 0x3b, 0x63, 0x6f, + 0x4f, 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x5d, 0x29, 0x7b, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x49, + 0x43, 0x4b, 0x3a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, + 0x3a, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, + 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, + 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x2e, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x28, 0x2f, 0x28, 0x3f, 0x3a, 0x5c, + 0x72, 0x5c, 0x6e, 0x7c, 0x5c, 0x72, 0x7c, 0x5c, 0x6e, 0x29, + 0x2f, 0x67, 0x2c, 0x60, 0x0a, 0x60, 0x29, 0x3b, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, + 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, + 0x20, 0x5b, 0x24, 0x7b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x7d, 0x5d, + 0x60, 0x29, 0x3b, 0x6c, 0x65, 0x74, 0x20, 0x46, 0x75, 0x6e, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x22, 0x75, 0x6e, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x2c, 0x46, + 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3d, 0x21, 0x31, + 0x2c, 0x69, 0x73, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x21, 0x31, 0x3b, 0x74, + 0x72, 0x79, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x3d, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, + 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x53, 0x61, 0x6e, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x29, 0x28, + 0x29, 0x3b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x6f, 0x66, 0x20, + 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x3f, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x3d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2c, 0x69, + 0x73, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x3d, 0x21, 0x30, 0x29, 0x3a, 0x46, 0x75, + 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x29, 0x7d, 0x63, 0x61, 0x74, 0x63, 0x68, 0x28, 0x65, + 0x29, 0x7b, 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x3d, 0x21, 0x30, 0x2c, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x3d, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x7d, 0x69, 0x66, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, + 0x43, 0x4d, 0x44, 0x5d, 0x3d, 0x3d, 0x3d, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5f, + 0x51, 0x55, 0x49, 0x43, 0x4b, 0x29, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x3b, 0x69, 0x66, 0x28, 0x46, 0x75, 0x6e, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x3d, 0x3d, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x30, 0x26, 0x26, 0x28, 0x46, 0x75, 0x6e, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3d, 0x22, 0x75, 0x6e, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x22, 0x29, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, + 0x26, 0x21, 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x29, 0x69, 0x66, 0x28, 0x69, 0x73, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x29, 0x7b, + 0x6c, 0x65, 0x74, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x3d, 0x46, 0x75, 0x6e, 0x52, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x2c, 0x68, 0x65, 0x78, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x3d, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x28, 0x62, 0x69, 0x6e, + 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x6c, + 0x69, 0x63, 0x65, 0x28, 0x30, 0x2c, 0x36, 0x34, 0x29, 0x29, + 0x2e, 0x6d, 0x61, 0x70, 0x28, 0x62, 0x3d, 0x3e, 0x60, 0x30, + 0x78, 0x24, 0x7b, 0x62, 0x2e, 0x74, 0x6f, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x28, 0x31, 0x36, 0x29, 0x2e, 0x70, 0x61, + 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x28, 0x32, 0x2c, 0x22, + 0x30, 0x22, 0x29, 0x7d, 0x60, 0x29, 0x2e, 0x6a, 0x6f, 0x69, + 0x6e, 0x28, 0x22, 0x2c, 0x20, 0x22, 0x29, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, 0x20, 0x2d, 0x3e, 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x28, 0x24, - 0x7b, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, - 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, - 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x29, 0x2e, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x7d, 0x20, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x29, 0x20, 0x5b, 0x24, 0x7b, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x75, 0x62, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x2c, 0x36, - 0x34, 0x29, 0x7d, 0x24, 0x7b, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x3e, 0x36, 0x34, 0x3f, 0x22, 0x2e, 0x2e, 0x2e, - 0x22, 0x3a, 0x22, 0x22, 0x7d, 0x5d, 0x60, 0x29, 0x7d, 0x65, - 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x46, 0x75, - 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x29, 0x7b, 0x6c, 0x65, - 0x74, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x3d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x29, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, - 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, - 0x20, 0x4a, 0x53, 0x20, 0x2d, 0x3e, 0x20, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x5b, 0x24, 0x7b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x28, 0x30, 0x2c, 0x36, 0x34, 0x29, - 0x7d, 0x24, 0x7b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x3e, 0x36, 0x34, 0x3f, 0x22, 0x2e, 0x2e, 0x2e, 0x22, - 0x3a, 0x22, 0x22, 0x7d, 0x5d, 0x60, 0x29, 0x7d, 0x6c, 0x65, - 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x6e, - 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x28, 0x30, 0x29, 0x2c, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x3d, 0x64, 0x61, - 0x74, 0x61, 0x3d, 0x3e, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x6e, - 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x6e, - 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2b, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, - 0x3b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x2e, 0x73, 0x65, 0x74, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x29, 0x2c, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x2e, 0x73, 0x65, 0x74, 0x28, 0x64, 0x61, 0x74, - 0x61, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x2c, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x3d, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x7d, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x74, 0x72, 0x3d, 0x64, - 0x61, 0x74, 0x61, 0x3d, 0x3e, 0x7b, 0x69, 0x66, 0x28, 0x64, + 0x7b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, + 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x7d, 0x20, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, 0x20, 0x5b, 0x24, 0x7b, + 0x68, 0x65, 0x78, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, + 0x7d, 0x24, 0x7b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x3e, 0x38, 0x31, 0x39, 0x32, 0x29, 0x7b, 0x6c, 0x65, 0x74, - 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x3d, 0x6e, - 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x72, 0x3b, 0x66, 0x6f, 0x72, 0x28, 0x6c, - 0x65, 0x74, 0x20, 0x69, 0x3d, 0x30, 0x3b, 0x69, 0x3c, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x3b, 0x69, 0x2b, 0x3d, 0x38, 0x31, 0x39, 0x32, 0x29, 0x7b, - 0x6c, 0x65, 0x74, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x3d, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x28, 0x69, 0x2c, 0x4d, 0x61, 0x74, - 0x68, 0x2e, 0x6d, 0x69, 0x6e, 0x28, 0x69, 0x2b, 0x38, 0x31, - 0x39, 0x32, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x29, 0x29, 0x2c, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x3d, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x68, 0x75, 0x6e, 0x6b, - 0x29, 0x3b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, - 0x73, 0x68, 0x28, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, - 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x29, 0x7d, 0x7d, 0x65, 0x6c, - 0x73, 0x65, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, - 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, - 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, - 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, - 0x61, 0x74, 0x61, 0x29, 0x29, 0x7d, 0x3b, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x57, 0x45, 0x42, 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, - 0x41, 0x54, 0x55, 0x52, 0x45, 0x5d, 0x29, 0x29, 0x2c, 0x70, + 0x3e, 0x36, 0x34, 0x3f, 0x22, 0x2e, 0x2e, 0x2e, 0x22, 0x3a, + 0x22, 0x22, 0x7d, 0x5d, 0x60, 0x29, 0x7d, 0x65, 0x6c, 0x73, + 0x65, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x3d, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x29, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, + 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, + 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, 0x20, 0x2d, 0x3e, 0x20, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x20, 0x28, 0x24, 0x7b, 0x6e, 0x65, + 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x29, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x7d, 0x20, 0x42, 0x79, 0x74, 0x65, 0x73, 0x29, 0x20, + 0x5b, 0x24, 0x7b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x28, 0x30, 0x2c, 0x36, 0x34, 0x29, 0x7d, + 0x24, 0x7b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, + 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3e, + 0x36, 0x34, 0x3f, 0x22, 0x2e, 0x2e, 0x2e, 0x22, 0x3a, 0x22, + 0x22, 0x7d, 0x5d, 0x60, 0x29, 0x7d, 0x65, 0x6c, 0x73, 0x65, + 0x20, 0x69, 0x66, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x46, 0x75, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x29, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x46, 0x75, + 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x29, 0x3b, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, + 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4a, 0x53, + 0x20, 0x2d, 0x3e, 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x5b, 0x24, 0x7b, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x28, 0x30, 0x2c, 0x36, 0x34, 0x29, 0x7d, 0x24, 0x7b, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3e, 0x36, + 0x34, 0x3f, 0x22, 0x2e, 0x2e, 0x2e, 0x22, 0x3a, 0x22, 0x22, + 0x7d, 0x5d, 0x60, 0x29, 0x7d, 0x6c, 0x65, 0x74, 0x20, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x6e, 0x65, 0x77, 0x20, + 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x28, 0x30, 0x29, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x50, 0x75, 0x73, 0x68, 0x3d, 0x64, 0x61, 0x74, 0x61, 0x3d, + 0x3e, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x6e, 0x65, 0x77, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x6e, 0x65, 0x77, 0x20, + 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x2b, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x6e, 0x65, + 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x73, 0x65, + 0x74, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, 0x2c, + 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, + 0x73, 0x65, 0x74, 0x28, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x29, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x3d, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x7d, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, + 0x73, 0x68, 0x53, 0x74, 0x72, 0x3d, 0x64, 0x61, 0x74, 0x61, + 0x3d, 0x3e, 0x7b, 0x69, 0x66, 0x28, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3e, 0x38, 0x31, + 0x39, 0x32, 0x29, 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x72, 0x3d, 0x6e, 0x65, 0x77, 0x20, + 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x72, 0x3b, 0x66, 0x6f, 0x72, 0x28, 0x6c, 0x65, 0x74, 0x20, + 0x69, 0x3d, 0x30, 0x3b, 0x69, 0x3c, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x3b, 0x69, 0x2b, + 0x3d, 0x38, 0x31, 0x39, 0x32, 0x29, 0x7b, 0x6c, 0x65, 0x74, + 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x3d, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x28, 0x69, 0x2c, 0x4d, 0x61, 0x74, 0x68, 0x2e, 0x6d, + 0x69, 0x6e, 0x28, 0x69, 0x2b, 0x38, 0x31, 0x39, 0x32, 0x2c, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x29, 0x29, 0x2c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x3d, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x72, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x28, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x29, 0x3b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, - 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x30, 0x2c, - 0x30, 0x2c, 0x30, 0x5d, 0x29, 0x29, 0x2c, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x30, 0x5d, 0x29, 0x29, - 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, - 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, - 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x43, 0x68, 0x75, + 0x6e, 0x6b, 0x29, 0x7d, 0x7d, 0x65, 0x6c, 0x73, 0x65, 0x20, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, + 0x28, 0x6e, 0x65, 0x77, 0x20, 0x54, 0x65, 0x78, 0x74, 0x45, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2e, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, 0x61, + 0x29, 0x29, 0x7d, 0x3b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, + 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, + 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x57, 0x45, 0x42, + 0x55, 0x49, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, + 0x52, 0x45, 0x5d, 0x29, 0x29, 0x2c, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, + 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x28, 0x5b, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x5d, 0x29, 0x29, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, - 0x46, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3f, 0x5b, - 0x31, 0x5d, 0x3a, 0x5b, 0x30, 0x5d, 0x29, 0x29, 0x2c, 0x69, - 0x73, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x3f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x50, 0x75, 0x73, 0x68, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x29, 0x3a, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x74, 0x72, 0x28, - 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x29, + 0x5b, 0x30, 0x2c, 0x30, 0x5d, 0x29, 0x29, 0x2c, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, + 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x28, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4a, 0x53, 0x5d, 0x29, 0x29, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, - 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x5d, - 0x29, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, - 0x64, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x29, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x64, 0x64, 0x49, 0x44, - 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x63, 0x61, - 0x6c, 0x6c, 0x49, 0x64, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, - 0x49, 0x44, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x73, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x28, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x29, 0x7d, 0x62, 0x72, 0x65, - 0x61, 0x6b, 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x41, - 0x4c, 0x4c, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x3a, 0x7b, 0x6c, - 0x65, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, - 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, - 0x29, 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, - 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, - 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, - 0x3e, 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x20, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x5b, 0x24, 0x7b, 0x63, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, - 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x5b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x26, 0x26, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, - 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, - 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, - 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x23, 0x24, 0x7b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x7d, - 0x2e, 0x2e, 0x2e, 0x60, 0x29, 0x2c, 0x28, 0x5f, 0x62, 0x3d, - 0x28, 0x5f, 0x61, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x29, 0x5b, - 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x29, 0x3d, 0x3d, - 0x6e, 0x75, 0x6c, 0x6c, 0x7c, 0x7c, 0x5f, 0x62, 0x2e, 0x63, - 0x61, 0x6c, 0x6c, 0x28, 0x5f, 0x61, 0x2c, 0x63, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, - 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, - 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5b, 0x63, 0x61, 0x6c, 0x6c, - 0x49, 0x64, 0x5d, 0x3d, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, - 0x29, 0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x72, - 0x6c, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, - 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, - 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, - 0x76, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5b, - 0x24, 0x7b, 0x75, 0x72, 0x6c, 0x7d, 0x5d, 0x60, 0x29, 0x2c, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, - 0x44, 0x5f, 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x2c, 0x75, 0x72, 0x6c, 0x29, 0x3b, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x57, - 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x5f, 0x52, 0x45, 0x53, 0x49, - 0x5a, 0x45, 0x44, 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x41, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, + 0x38, 0x41, 0x72, 0x72, 0x61, 0x79, 0x28, 0x46, 0x75, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3f, 0x5b, 0x31, 0x5d, 0x3a, + 0x5b, 0x30, 0x5d, 0x29, 0x29, 0x2c, 0x69, 0x73, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x3f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, + 0x68, 0x28, 0x46, 0x75, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x29, 0x3a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, + 0x75, 0x73, 0x68, 0x53, 0x74, 0x72, 0x28, 0x46, 0x75, 0x6e, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x29, 0x2c, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x28, 0x6e, + 0x65, 0x77, 0x20, 0x55, 0x69, 0x6e, 0x74, 0x38, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x28, 0x5b, 0x30, 0x5d, 0x29, 0x29, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x64, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x28, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x54, + 0x4f, 0x4b, 0x45, 0x4e, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x61, 0x64, 0x64, 0x49, 0x44, 0x28, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x63, 0x61, 0x6c, 0x6c, 0x49, + 0x64, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x29, + 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x73, 0x65, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x28, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x29, 0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, + 0x46, 0x55, 0x4e, 0x43, 0x3a, 0x7b, 0x6c, 0x65, 0x74, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x2c, 0x7b, - 0x78, 0x2c, 0x79, 0x2c, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x3d, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x70, 0x61, 0x72, 0x73, 0x65, 0x44, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x28, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x41, 0x6e, 0x64, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x29, 0x3b, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x58, 0x3d, 0x78, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x59, 0x3d, - 0x79, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, - 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, - 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, - 0x3e, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x52, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x5b, 0x78, 0x3a, - 0x20, 0x24, 0x7b, 0x78, 0x7d, 0x2c, 0x20, 0x79, 0x3a, 0x20, - 0x24, 0x7b, 0x79, 0x7d, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x3a, 0x20, 0x24, 0x7b, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x7d, 0x2c, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x20, 0x24, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, - 0x5d, 0x60, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, - 0x44, 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x6e, 0x65, 0x77, 0x45, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3d, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x29, 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, - 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, - 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, - 0x2d, 0x3e, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x42, 0x69, 0x6e, - 0x64, 0x20, 0x49, 0x44, 0x20, 0x5b, 0x24, 0x7b, 0x6e, 0x65, - 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x5d, - 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, - 0x69, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x28, 0x6e, 0x65, - 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x29, 0x7c, - 0x7c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, - 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x75, 0x73, - 0x68, 0x28, 0x6e, 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x64, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x29, 0x3b, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, - 0x4c, 0x4f, 0x53, 0x45, 0x3a, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x6c, 0x6f, 0x67, 0x3f, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, - 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, - 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x22, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, - 0x73, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x28, 0x29, 0x26, 0x26, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x79, 0x41, - 0x6c, 0x69, 0x76, 0x65, 0x3d, 0x21, 0x31, 0x2c, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x2e, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x28, 0x29, 0x29, 0x29, 0x3a, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x28, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x48, 0x45, - 0x43, 0x4b, 0x5f, 0x54, 0x4b, 0x3a, 0x6c, 0x65, 0x74, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3d, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5d, 0x21, 0x3d, 0x30, 0x2c, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x78, 0x3d, 0x60, 0x30, - 0x78, 0x24, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x74, 0x6f, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x28, 0x31, 0x36, 0x29, 0x2e, 0x70, 0x61, - 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x28, 0x38, 0x2c, 0x22, - 0x30, 0x22, 0x29, 0x7d, 0x60, 0x3b, 0x69, 0x66, 0x28, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, 0x7b, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, - 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, - 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x20, 0x5b, 0x24, 0x7b, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x48, 0x65, 0x78, 0x7d, 0x5d, 0x20, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x65, 0x64, 0x60, 0x29, 0x2c, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x3d, 0x21, 0x30, - 0x3b, 0x6c, 0x65, 0x74, 0x20, 0x63, 0x73, 0x76, 0x3d, 0x74, + 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, + 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x43, + 0x61, 0x6c, 0x6c, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x20, 0x5b, 0x24, 0x7b, 0x63, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x5d, + 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, + 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5b, 0x63, 0x61, + 0x6c, 0x6c, 0x49, 0x64, 0x5d, 0x26, 0x26, 0x28, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, + 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, + 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x23, 0x24, 0x7b, + 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x7d, 0x2e, 0x2e, 0x2e, + 0x60, 0x29, 0x2c, 0x28, 0x5f, 0x62, 0x3d, 0x28, 0x5f, 0x61, + 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, + 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x29, 0x5b, 0x63, 0x61, 0x6c, + 0x6c, 0x49, 0x64, 0x5d, 0x29, 0x3d, 0x3d, 0x6e, 0x75, 0x6c, + 0x6c, 0x7c, 0x7c, 0x5f, 0x62, 0x2e, 0x63, 0x61, 0x6c, 0x6c, + 0x28, 0x5f, 0x61, 0x2c, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x2c, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, + 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x5b, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x5d, + 0x3d, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x30, 0x29, 0x7d, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, + 0x4e, 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x75, 0x72, 0x6c, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x2b, 0x31, 0x29, 0x3b, 0x63, 0x73, 0x76, - 0x3d, 0x63, 0x73, 0x76, 0x2e, 0x65, 0x6e, 0x64, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x28, 0x22, 0x2c, 0x22, 0x29, 0x3f, 0x63, - 0x73, 0x76, 0x2e, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x28, 0x30, - 0x2c, 0x2d, 0x31, 0x29, 0x3a, 0x63, 0x73, 0x76, 0x2c, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x73, - 0x4c, 0x69, 0x73, 0x74, 0x3d, 0x63, 0x73, 0x76, 0x2e, 0x73, - 0x70, 0x6c, 0x69, 0x74, 0x28, 0x22, 0x2c, 0x22, 0x29, 0x2c, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x28, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x26, 0x26, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x29, 0x7d, 0x65, - 0x6c, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x41, 0x54, 0x41, 0x29, 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, + 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, + 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x4e, 0x61, 0x76, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5b, 0x24, 0x7b, 0x75, + 0x72, 0x6c, 0x7d, 0x5d, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x4e, + 0x41, 0x56, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x2c, + 0x75, 0x72, 0x6c, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x57, 0x49, 0x4e, 0x44, + 0x4f, 0x57, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x5a, 0x45, 0x44, + 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x41, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x29, 0x2c, 0x7b, 0x78, 0x2c, 0x79, + 0x2c, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x7d, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x70, 0x61, 0x72, 0x73, 0x65, 0x44, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x28, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x41, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x29, 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x58, 0x3d, 0x78, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x59, 0x3d, 0x79, 0x2c, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, + 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x52, 0x65, 0x73, 0x69, + 0x7a, 0x65, 0x64, 0x20, 0x5b, 0x78, 0x3a, 0x20, 0x24, 0x7b, + 0x78, 0x7d, 0x2c, 0x20, 0x79, 0x3a, 0x20, 0x24, 0x7b, 0x79, + 0x7d, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x20, + 0x24, 0x7b, 0x77, 0x69, 0x64, 0x74, 0x68, 0x7d, 0x2c, 0x20, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x20, 0x24, 0x7b, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x5d, 0x60, 0x29, + 0x3b, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x63, 0x61, 0x73, + 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, + 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x49, 0x44, 0x3a, 0x6c, + 0x65, 0x74, 0x20, 0x6e, 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x72, + 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2c, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x29, 0x3b, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, + 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, + 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, + 0x4e, 0x65, 0x77, 0x20, 0x42, 0x69, 0x6e, 0x64, 0x20, 0x49, + 0x44, 0x20, 0x5b, 0x24, 0x7b, 0x6e, 0x65, 0x77, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x5d, 0x60, 0x29, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x73, 0x28, 0x6e, 0x65, 0x77, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x29, 0x7c, 0x7c, 0x74, 0x68, + 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x28, 0x6e, + 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x29, + 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x28, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x4c, 0x4f, 0x53, + 0x45, 0x3a, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, + 0x67, 0x3f, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, + 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, + 0x3e, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x22, 0x29, 0x2c, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x49, 0x73, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x28, + 0x29, 0x26, 0x26, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x77, 0x73, 0x53, 0x74, 0x61, 0x79, 0x41, 0x6c, 0x69, 0x76, + 0x65, 0x3d, 0x21, 0x31, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x28, + 0x29, 0x29, 0x29, 0x3a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x54, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x28, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x43, 0x4d, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, + 0x54, 0x4b, 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x3d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5d, 0x21, 0x3d, 0x30, 0x2c, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x48, 0x65, 0x78, 0x3d, 0x60, 0x30, 0x78, 0x24, 0x7b, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x2e, 0x74, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x28, 0x31, 0x36, 0x29, 0x2e, 0x70, 0x61, 0x64, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x28, 0x38, 0x2c, 0x22, 0x30, 0x22, 0x29, + 0x7d, 0x60, 0x3b, 0x69, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x29, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x5b, 0x24, 0x7b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x65, - 0x78, 0x7d, 0x5d, 0x20, 0x4e, 0x6f, 0x74, 0x20, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, - 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, - 0x2e, 0x2e, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x21, 0x30, 0x2c, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, - 0x61, 0x79, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x3d, 0x21, 0x31, - 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, - 0x73, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x28, 0x29, 0x3b, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x7d, 0x7d, 0x65, 0x6c, 0x73, - 0x65, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x43, 0x4d, 0x44, 0x5d, 0x29, 0x7b, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, - 0x4d, 0x44, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x41, - 0x57, 0x3a, 0x6c, 0x65, 0x74, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3d, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x38, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x29, 0x2c, 0x72, 0x61, 0x77, 0x44, 0x61, - 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x2b, 0x66, 0x75, + 0x78, 0x7d, 0x5d, 0x20, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x65, 0x64, 0x60, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x64, 0x3d, 0x21, 0x30, 0x3b, 0x6c, 0x65, + 0x74, 0x20, 0x63, 0x73, 0x76, 0x3d, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, + 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x2b, 0x31, 0x29, 0x3b, 0x63, 0x73, 0x76, 0x3d, 0x63, 0x73, + 0x76, 0x2e, 0x65, 0x6e, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, + 0x28, 0x22, 0x2c, 0x22, 0x29, 0x3f, 0x63, 0x73, 0x76, 0x2e, + 0x73, 0x6c, 0x69, 0x63, 0x65, 0x28, 0x30, 0x2c, 0x2d, 0x31, + 0x29, 0x3a, 0x63, 0x73, 0x76, 0x2c, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x3d, 0x63, 0x73, 0x76, 0x2e, 0x73, 0x70, 0x6c, 0x69, + 0x74, 0x28, 0x22, 0x2c, 0x22, 0x29, 0x2c, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x69, 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x29, + 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x26, 0x26, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x45, 0x44, 0x29, 0x7d, 0x65, 0x6c, 0x73, 0x65, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, + 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, + 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, + 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x5b, 0x24, 0x7b, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x78, 0x7d, 0x5d, + 0x20, 0x4e, 0x6f, 0x74, 0x20, 0x41, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x2e, 0x2e, 0x60, + 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x3d, 0x21, 0x30, 0x2c, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x77, 0x73, 0x53, 0x74, 0x61, 0x79, 0x41, + 0x6c, 0x69, 0x76, 0x65, 0x3d, 0x21, 0x31, 0x2c, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x68, 0x69, 0x73, 0x2e, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x72, 0x65, + 0x6c, 0x6f, 0x61, 0x64, 0x28, 0x29, 0x3b, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x7d, 0x7d, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x73, + 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x38, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x43, + 0x4d, 0x44, 0x5d, 0x29, 0x7b, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x43, 0x4d, 0x44, 0x5f, + 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x41, 0x57, 0x3a, 0x6c, + 0x65, 0x74, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3d, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x72, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, + 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x29, 0x2c, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x2b, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x2b, 0x31, 0x2c, 0x72, 0x61, 0x77, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x3d, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2e, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x2d, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2d, 0x31, 0x2c, 0x75, + 0x73, 0x65, 0x72, 0x52, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, + 0x3d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2e, 0x73, + 0x75, 0x62, 0x61, 0x72, 0x72, 0x61, 0x79, 0x28, 0x72, 0x61, + 0x77, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x2c, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x2b, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, + 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, + 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x52, 0x61, 0x77, 0x20, + 0x24, 0x7b, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x69, 0x7a, 0x65, 0x7d, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x5b, 0x24, 0x7b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x2e, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2b, 0x31, 0x2c, - 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, - 0x65, 0x3d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x38, 0x2e, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2d, 0x72, 0x61, 0x77, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2d, - 0x31, 0x2c, 0x75, 0x73, 0x65, 0x72, 0x52, 0x61, 0x77, 0x44, - 0x61, 0x74, 0x61, 0x3d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x38, 0x2e, 0x73, 0x75, 0x62, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x28, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x2c, 0x72, 0x61, 0x77, 0x44, 0x61, 0x74, - 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2b, 0x72, 0x61, 0x77, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, - 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, - 0x2d, 0x3e, 0x20, 0x43, 0x4d, 0x44, 0x20, 0x2d, 0x3e, 0x20, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x52, - 0x61, 0x77, 0x20, 0x24, 0x7b, 0x72, 0x61, 0x77, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x7d, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x5b, 0x24, - 0x7b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x7d, 0x28, 0x29, 0x5d, 0x60, 0x29, 0x2c, - 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x77, 0x69, 0x6e, + 0x7d, 0x28, 0x29, 0x5d, 0x60, 0x29, 0x2c, 0x74, 0x79, 0x70, + 0x65, 0x6f, 0x66, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x5b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x5d, 0x3d, 0x3d, 0x22, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5b, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x5d, 0x3d, 0x3d, 0x22, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5b, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x5d, - 0x28, 0x75, 0x73, 0x65, 0x72, 0x52, 0x61, 0x77, 0x44, 0x61, - 0x74, 0x61, 0x29, 0x3a, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, - 0x41, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x2b, 0x22, 0x28, 0x75, - 0x73, 0x65, 0x72, 0x52, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, - 0x29, 0x22, 0x29, 0x28, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x7d, 0x7d, 0x3b, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x28, 0x66, 0x6e, 0x2c, 0x2e, 0x2e, - 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x7b, 0x69, 0x66, 0x28, - 0x21, 0x66, 0x6e, 0x29, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, - 0x65, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, - 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x28, 0x22, 0x4e, 0x6f, 0x20, 0x62, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x22, 0x29, 0x29, 0x3b, 0x69, 0x66, 0x28, 0x21, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, 0x49, 0x73, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x28, 0x29, 0x29, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x72, 0x6f, - 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x28, 0x22, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, - 0x29, 0x29, 0x3b, 0x69, 0x66, 0x28, 0x66, 0x6e, 0x21, 0x3d, - 0x3d, 0x22, 0x5f, 0x5f, 0x77, 0x65, 0x62, 0x75, 0x69, 0x5f, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x5f, - 0x22, 0x26, 0x26, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x26, - 0x26, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, - 0x6e, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x28, 0x60, 0x24, 0x7b, - 0x66, 0x6e, 0x7d, 0x60, 0x29, 0x29, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, - 0x2e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, - 0x77, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x60, 0x4e, 0x6f, - 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, - 0x61, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x22, 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x22, - 0x60, 0x29, 0x29, 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, - 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x61, 0x6c, - 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x5b, 0x24, 0x7b, 0x66, 0x6e, - 0x7d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x5d, 0x60, 0x29, 0x3b, - 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x3d, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, - 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x28, 0x66, 0x6e, 0x2c, - 0x2e, 0x2e, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x29, 0x3b, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, - 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x21, 0x3d, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x22, 0x3f, 0x22, 0x22, 0x3a, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x7d, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x29, 0x7b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3f, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, - 0x2d, 0x3e, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x45, 0x6e, 0x61, + 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x5d, 0x28, 0x75, 0x73, + 0x65, 0x72, 0x52, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x29, + 0x3a, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x2b, 0x22, 0x28, 0x75, 0x73, 0x65, 0x72, + 0x52, 0x61, 0x77, 0x44, 0x61, 0x74, 0x61, 0x29, 0x22, 0x29, + 0x28, 0x29, 0x3b, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x7d, 0x7d, + 0x3b, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x28, 0x66, 0x6e, 0x2c, 0x2e, 0x2e, 0x2e, 0x61, 0x72, + 0x67, 0x73, 0x29, 0x7b, 0x69, 0x66, 0x28, 0x21, 0x66, 0x6e, + 0x29, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x72, + 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x53, 0x79, 0x6e, + 0x74, 0x61, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, + 0x4e, 0x6f, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x22, 0x29, 0x29, + 0x3b, 0x69, 0x66, 0x28, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x77, 0x73, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x28, 0x29, 0x29, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, + 0x65, 0x2e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, + 0x65, 0x77, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x22, + 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x29, 0x29, 0x3b, + 0x69, 0x66, 0x28, 0x66, 0x6e, 0x21, 0x3d, 0x3d, 0x22, 0x5f, + 0x5f, 0x77, 0x65, 0x62, 0x75, 0x69, 0x5f, 0x63, 0x6f, 0x72, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x5f, 0x22, 0x26, 0x26, + 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x41, 0x6c, 0x6c, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x26, 0x26, 0x21, 0x74, + 0x68, 0x69, 0x73, 0x2e, 0x23, 0x62, 0x69, 0x6e, 0x64, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x73, 0x28, 0x60, 0x24, 0x7b, 0x66, 0x6e, 0x7d, + 0x60, 0x29, 0x29, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x2e, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x28, 0x6e, 0x65, 0x77, 0x20, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x28, 0x60, 0x4e, 0x6f, 0x20, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x22, 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x22, 0x60, 0x29, 0x29, + 0x3b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, + 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x57, 0x65, 0x62, 0x55, 0x49, + 0x20, 0x2d, 0x3e, 0x20, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x20, 0x5b, 0x24, 0x7b, 0x66, 0x6e, 0x7d, 0x28, 0x2e, + 0x2e, 0x2e, 0x29, 0x5d, 0x60, 0x29, 0x3b, 0x6c, 0x65, 0x74, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3d, + 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x2e, 0x23, 0x63, 0x61, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, + 0x69, 0x73, 0x65, 0x28, 0x66, 0x6e, 0x2c, 0x2e, 0x2e, 0x2e, + 0x61, 0x72, 0x67, 0x73, 0x29, 0x3b, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x21, 0x3d, + 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x3f, 0x22, + 0x22, 0x3a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x7d, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x29, 0x7b, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3f, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, + 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, 0x3e, 0x20, + 0x4c, 0x6f, 0x67, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x2e, 0x22, 0x29, 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x6c, 0x6f, 0x67, 0x3d, 0x21, 0x30, 0x29, 0x3a, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, 0x49, 0x20, 0x2d, + 0x3e, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x22, 0x29, 0x2c, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x3d, 0x21, 0x30, - 0x29, 0x3a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x57, 0x65, 0x62, 0x55, - 0x49, 0x20, 0x2d, 0x3e, 0x20, 0x4c, 0x6f, 0x67, 0x20, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x22, 0x29, - 0x2c, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, - 0x3d, 0x21, 0x31, 0x29, 0x7d, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x7b, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x74, 0x6f, 0x61, 0x28, - 0x64, 0x61, 0x74, 0x61, 0x29, 0x7d, 0x64, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x7b, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x74, 0x6f, 0x62, - 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x7d, 0x73, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x29, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x3d, 0x63, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x7d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x28, 0x29, 0x7b, 0x72, 0x65, + 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x3d, 0x21, 0x31, + 0x29, 0x7d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x64, + 0x61, 0x74, 0x61, 0x29, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x62, 0x74, 0x6f, 0x61, 0x28, 0x64, 0x61, 0x74, + 0x61, 0x29, 0x7d, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, + 0x64, 0x61, 0x74, 0x61, 0x29, 0x7b, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x61, 0x74, 0x6f, 0x62, 0x28, 0x64, 0x61, + 0x74, 0x61, 0x29, 0x7d, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x28, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x29, + 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x3d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x7d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x28, 0x29, 0x7b, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x77, 0x73, + 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x28, 0x29, 0x26, 0x26, 0x74, 0x68, 0x69, 0x73, 0x2e, + 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x64, 0x7d, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x20, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x73, 0x74, 0x28, 0x29, 0x7b, 0x6c, 0x65, + 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x3d, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x2e, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x72, 0x65, + 0x28, 0x22, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x73, 0x74, 0x22, 0x29, 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, - 0x23, 0x77, 0x73, 0x49, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x28, 0x29, 0x26, 0x26, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x7d, 0x61, 0x73, - 0x79, 0x6e, 0x63, 0x20, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x28, 0x29, - 0x7b, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x3d, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x63, 0x61, 0x6c, 0x6c, 0x43, - 0x6f, 0x72, 0x65, 0x28, 0x22, 0x68, 0x69, 0x67, 0x68, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x22, 0x29, - 0x3b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x2e, 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, - 0x28, 0x60, 0x43, 0x6f, 0x72, 0x65, 0x20, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x20, 0x5b, 0x24, 0x7b, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x5d, - 0x60, 0x29, 0x2c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x7d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, - 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x29, 0x7b, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x23, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, - 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x7d, 0x7d, 0x3b, 0x61, 0x64, 0x64, + 0x23, 0x6c, 0x6f, 0x67, 0x26, 0x26, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x60, 0x43, + 0x6f, 0x72, 0x65, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x3a, 0x20, 0x5b, 0x24, 0x7b, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x5d, 0x60, 0x29, 0x2c, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x29, 0x7b, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x23, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x69, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x7d, 0x7d, 0x3b, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, + 0x28, 0x22, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x2c, 0x28, 0x29, + 0x3d, 0x3e, 0x7b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x65, 0x72, 0x28, 0x22, 0x6c, 0x6f, 0x61, 0x64, 0x22, - 0x2c, 0x28, 0x29, 0x3d, 0x3e, 0x7b, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x2e, - 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x22, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x65, 0x6e, 0x75, 0x22, - 0x2c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3d, 0x3e, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, - 0x29, 0x2c, 0x61, 0x64, 0x64, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, - 0x6f, 0x64, 0x79, 0x2c, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x22, 0x2c, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x2c, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x3d, 0x3e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x73, - 0x74, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x29, 0x7d, 0x29, 0x3b, - 0x0a, + 0x6e, 0x65, 0x72, 0x28, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x65, 0x6e, 0x75, 0x22, 0x2c, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x3d, 0x3e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x28, 0x29, 0x29, 0x2c, 0x61, + 0x64, 0x64, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x28, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x6f, 0x64, 0x79, + 0x2c, 0x22, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x2c, 0x22, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x65, 0x6e, + 0x75, 0x22, 0x2c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x3d, 0x3e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x74, 0x6f, 0x70, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x29, 0x29, 0x7d, 0x29, 0x3b, 0x0a, 0x00 }; diff --git a/include/webui.hpp b/include/webui.hpp index 02565d58c..c489477a0 100644 --- a/include/webui.hpp +++ b/include/webui.hpp @@ -318,6 +318,11 @@ namespace webui { return webui_set_root_folder(webui_window, path.data()); } + // Set custom browser folder path. + bool set_browser_folder(const std::string_view path) const { + return webui_set_browser_folder(path.data()); + } + // Set a custom handler to serve files. This custom handler should return full HTTP header and body. // Resets previous handler set with `set_file_handler_window`. void set_file_handler(const void* (*handler)(const char* filename, int* length)) const {