aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2024-02-05 03:21:53 +0700
committerShulhan <ms@kilabit.info>2024-02-05 03:23:00 +0700
commitf2cfe0de0eeec8bc7abf9d754b9e89681743ecff (patch)
tree802e8a32102a6786b4461e35b916d05b040558d0
parentf02e4647bae78222196dc06406b5024c1b435bd7 (diff)
downloadgorankusu-f2cfe0de0eeec8bc7abf9d754b9e89681743ecff.tar.xz
all: implement form input file
The FormInput now can be set to FormInputKindFile that will rendered as "<input type='file' ...>" on the web user interface. Once submitted, the file name, type, size, and lastModification will be stored under FormInput Filename, Filetype, Filesize, and Filemodms. Implements: https://todo.sr.ht/~shulhan/trunks/1
-rw-r--r--_www/functions.js27
-rw-r--r--_www/functions.ts28
-rw-r--r--_www/interface.js1
-rw-r--r--_www/interface.ts5
-rw-r--r--example/example.go49
-rw-r--r--form_input.go65
-rw-r--r--http_server_test.go105
-rw-r--r--http_target.go32
-rw-r--r--httpd_dummy_test.go95
-rw-r--r--key_form_input.go36
-rw-r--r--memfs_www_embed.go68
-rw-r--r--run_request.go3
-rw-r--r--testdata/target_http_run_formkindfile_test.txt49
-rw-r--r--trunks.go5
-rw-r--r--trunks_test.go87
15 files changed, 614 insertions, 41 deletions
diff --git a/_www/functions.js b/_www/functions.js
index 220228e..4b677d4 100644
--- a/_www/functions.js
+++ b/_www/functions.js
@@ -1,8 +1,9 @@
// SPDX-FileCopyrightText: 2021 M. Shulhan <ms@kilabit.info>
// SPDX-License-Identifier: GPL-3.0-or-later
+import { WuiInputFile } from "./wui/input/file.js";
import { WuiInputNumber } from "./wui/input/number.js";
import { WuiInputString } from "./wui/input/string.js";
-import { CLASS_INPUT, CLASS_INPUT_LABEL, FormInputKindNumber, } from "./interface.js";
+import { CLASS_INPUT, CLASS_INPUT_LABEL, FormInputKindFile, FormInputKindNumber, } from "./interface.js";
export function getDocumentHeight() {
const D = document;
return Math.max(Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight));
@@ -12,7 +13,31 @@ export function generateFormInput(parent, fi) {
let wuiInputStringOpts;
let wuiInputNumber;
let wuiInputString;
+ let wuiInputFile;
+ let reader;
switch (fi.kind) {
+ case FormInputKindFile:
+ wuiInputFile = new WuiInputFile();
+ wuiInputFile.label = fi.label;
+ wuiInputFile.hint = fi.hint;
+ wuiInputFile.classInput = CLASS_INPUT;
+ wuiInputFile.classLabel = CLASS_INPUT_LABEL;
+ wuiInputFile.onChange = (file) => {
+ fi.filename = file.name;
+ fi.filetype = file.type;
+ fi.filesize = file.size;
+ fi.filemodms = file.lastModified;
+ fi.value = "";
+ reader = new FileReader();
+ reader.onload = (e) => {
+ if (e) {
+ fi.value = btoa(reader.result);
+ }
+ };
+ reader.readAsText(file);
+ };
+ parent.appendChild(wuiInputFile.element());
+ break;
case FormInputKindNumber:
wuiInputNumberOpts = {
label: fi.label,
diff --git a/_www/functions.ts b/_www/functions.ts
index f927f80..48d916c 100644
--- a/_www/functions.ts
+++ b/_www/functions.ts
@@ -1,6 +1,7 @@
// SPDX-FileCopyrightText: 2021 M. Shulhan <ms@kilabit.info>
// SPDX-License-Identifier: GPL-3.0-or-later
+import { WuiInputFile } from "./wui/input/file.js";
import { WuiInputNumber, WuiInputNumberOpts } from "./wui/input/number.js";
import { WuiInputString, WuiInputStringOpts } from "./wui/input/string.js";
@@ -8,6 +9,7 @@ import {
CLASS_INPUT,
CLASS_INPUT_LABEL,
FormInput,
+ FormInputKindFile,
FormInputKindNumber,
HTTPTargetInterface,
TargetInterface,
@@ -28,8 +30,34 @@ export function generateFormInput(parent: HTMLElement, fi: FormInput) {
let wuiInputStringOpts: WuiInputStringOpts;
let wuiInputNumber: WuiInputNumber;
let wuiInputString: WuiInputString;
+ let wuiInputFile: WuiInputFile;
+ let reader: FileReader;
switch (fi.kind) {
+ case FormInputKindFile:
+ wuiInputFile = new WuiInputFile();
+ wuiInputFile.label = fi.label;
+ wuiInputFile.hint = fi.hint;
+ wuiInputFile.classInput = CLASS_INPUT;
+ wuiInputFile.classLabel = CLASS_INPUT_LABEL;
+ wuiInputFile.onChange = (file: File) => {
+ fi.filename = file.name;
+ fi.filetype = file.type;
+ fi.filesize = file.size;
+ fi.filemodms = file.lastModified;
+ fi.value = "";
+
+ reader = new FileReader();
+ reader.onload = (e) => {
+ if (e) {
+ fi.value = btoa(reader.result as string);
+ }
+ };
+ reader.readAsText(file);
+ };
+ parent.appendChild(wuiInputFile.element());
+ break;
+
case FormInputKindNumber:
wuiInputNumberOpts = {
label: fi.label,
diff --git a/_www/interface.js b/_www/interface.js
index d01baf1..bea7010 100644
--- a/_www/interface.js
+++ b/_www/interface.js
@@ -6,5 +6,6 @@ export const CLASS_NAV_LINK = "nav_link";
export const CLASS_NAV_TARGET = "nav_target";
export const HASH_ENVIRONMENT = "environment";
export const HASH_LINKS = "links";
+export const FormInputKindFile = "file";
export const FormInputKindNumber = "number";
export const FormInputKindString = "string";
diff --git a/_www/interface.ts b/_www/interface.ts
index 2b756b9..dc74fb5 100644
--- a/_www/interface.ts
+++ b/_www/interface.ts
@@ -9,6 +9,7 @@ export const CLASS_NAV_TARGET = "nav_target";
export const HASH_ENVIRONMENT = "environment";
export const HASH_LINKS = "links";
+export const FormInputKindFile = "file";
export const FormInputKindNumber = "number";
export const FormInputKindString = "string";
@@ -40,6 +41,10 @@ export interface FormInput {
hint: string;
kind: string;
value: string;
+ filename: string;
+ filetype: string;
+ filesize: number;
+ filemodms: number;
max?: number;
min?: number;
}
diff --git a/example/example.go b/example/example.go
index 17e24eb..27b5209 100644
--- a/example/example.go
+++ b/example/example.go
@@ -34,6 +34,7 @@ const (
pathExample = `/example`
pathExampleError = `/example/error`
pathExampleNamePage = `/example/:name/page`
+ pathExampleUpload = `/example/upload`
)
const (
@@ -168,6 +169,14 @@ func (ex *Example) registerEndpoints() (err error) {
Call: ex.pathExamplePost,
})
+ err = ex.trunks.Httpd.RegisterEndpoint(&libhttp.Endpoint{
+ Method: libhttp.RequestMethodPost,
+ Path: pathExampleUpload,
+ RequestType: libhttp.RequestTypeMultipartForm,
+ ResponseType: libhttp.ResponseTypeJSON,
+ Call: ex.pathExampleUpload,
+ })
+
return err
}
@@ -322,6 +331,30 @@ func (ex *Example) registerTargetHTTP() (err error) {
Value: `123`,
},
},
+ }, {
+ Name: `HTTP upload`,
+ Hint: `Test uploading file`,
+ Method: libhttp.RequestMethodPost,
+ Path: pathExampleUpload,
+ RequestType: libhttp.RequestTypeMultipartForm,
+ Params: trunks.KeyFormInput{
+ `file`: trunks.FormInput{
+ Label: `File`,
+ Hint: `File to be uploaded.`,
+ Kind: trunks.FormInputKindFile,
+ FormDataName: func(key string) string {
+ if key == trunks.FormDataFilename {
+ return `name`
+ }
+ return key
+ },
+ },
+ `agree`: trunks.FormInput{
+ Label: `Agree`,
+ Hint: `Additional parameter along file.`,
+ Kind: trunks.FormInputKindBoolean,
+ },
+ },
}},
}
@@ -431,6 +464,22 @@ func (ex *Example) pathExamplePost(epr *libhttp.EndpointRequest) (resb []byte, e
return json.Marshal(&res)
}
+func (ex *Example) pathExampleUpload(epr *libhttp.EndpointRequest) (resb []byte, err error) {
+ var logp = `pathExampleUpload`
+
+ var res = libhttp.EndpointResponse{}
+
+ res.Code = http.StatusOK
+ res.Data = epr.HttpRequest.MultipartForm.Value
+
+ resb, err = json.Marshal(res)
+ if err != nil {
+ return nil, fmt.Errorf(`%s: %w`, logp, err)
+ }
+
+ return resb, nil
+}
+
func (ex *Example) runExampleGet(req *trunks.RunRequest) (res *trunks.RunResponse, err error) {
if req.Target.HTTPClient == nil {
var httpcOpts = &libhttp.ClientOptions{
diff --git a/form_input.go b/form_input.go
index 9576c98..41fe311 100644
--- a/form_input.go
+++ b/form_input.go
@@ -6,30 +6,77 @@ package trunks
// FormInputKind define type for form input.
type FormInputKind string
-// List of valid value for field FormInput.Kind.
+// List of valid value for field [FormInput] Kind.
const (
// FormInputKindBoolean only used for convertion, for example
// ToJSONObject.
// In the WUI, it will be rendered as string.
FormInputKindBoolean = `boolean`
- FormInputKindNumber = `number`
- FormInputKindString = `string`
+
+ // FormInputKindFile define the input for uploading file.
+ // This form will rendered as "<input type='file' ...>" on the web
+ // user interface.
+ // Once submitted, the file name, type, size, and lastModification
+ // will be stored under [FormInput] Filename, Filetype, Filesize,
+ // and Filemodms.
+ FormInputKindFile = `file`
+
+ FormInputKindNumber = `number`
+ FormInputKindString = `string`
)
// FormInput provide the information to create an input component.
//
-// The Label field define the input text, the Hint field provide a
-// description about the input, the Kind field describe the type of input
-// (number, string, and so on), and the Value field contains default value for
-// input.
+// The Label field define the input text.
+// The Hint field provide a description about the input.
+// The Kind field describe the type of input (number, string, and so on).
+// The Value field contains default value for input.
//
// The Max and Min fields is optional, it only affect if the Kind is
// FormInputKindNumber.
+//
+// If the Kind is FormInputKindFile, the Filename, Filetype, Filesize, and
+// Filemodms will be filled by request based on the file name, type, size,
+// and modification time.
type FormInput struct {
+ // FormDataName define function to map FormInputKindFile name
+ // into different name.
+ // For example, instead of,
+ //
+ // Content-Disposition: form-data; name="filesize"
+ //
+ // One can change the "filesize" to "size" using this function, so
+ // generated request body would be,
+ //
+ // Content-Disposition: form-data; name="size"
+ FormDataName func(string) string `json:"-"`
+
Label string `json:"label"`
Hint string `json:"hint"`
Kind FormInputKind `json:"kind"`
Value string `json:"value"`
- Max float64 `json:"max,omitempty"`
- Min float64 `json:"min,omitempty"`
+
+ // The name of file for FormInputKindFile.
+ Filename string `json:"filename"`
+
+ Filetype string `json:"filetype"`
+
+ // The file size for FormInputKindFile.
+ Filesize int64 `json:"filesize"`
+
+ // The file modification in millisecond.
+ Filemodms int64 `json:"filemodms"`
+
+ Max float64 `json:"max,omitempty"`
+ Min float64 `json:"min,omitempty"`
+}
+
+func (fi *FormInput) init() {
+ if fi.FormDataName == nil {
+ fi.FormDataName = defaultFormDataName
+ }
+}
+
+func defaultFormDataName(in string) string {
+ return in
}
diff --git a/http_server_test.go b/http_server_test.go
new file mode 100644
index 0000000..a1e75b5
--- /dev/null
+++ b/http_server_test.go
@@ -0,0 +1,105 @@
+// SPDX-FileCopyrightText: 2024 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package trunks
+
+import (
+ "bytes"
+ "encoding/json"
+ "io"
+ "net/http/httptest"
+ "testing"
+
+ libhttp "github.com/shuLhan/share/lib/http"
+ "github.com/shuLhan/share/lib/test"
+)
+
+type httpRequestParams struct {
+ method string
+ path string
+ body []byte
+}
+
+func TestTrunksAPITargetRunHTTP_formInputFile(t *testing.T) {
+ type testCase struct {
+ tag string
+ }
+
+ var (
+ tdata *test.Data
+ err error
+ )
+ tdata, err = test.LoadData(`testdata/target_http_run_formkindfile_test.txt`)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var listCase = []testCase{{
+ tag: `valid`,
+ }}
+
+ var (
+ c testCase
+ runResp RunResponse
+ tag string
+ exp string
+ )
+
+ for _, c = range listCase {
+ var reqparams = httpRequestParams{
+ method: apiTargetRunHTTP.Method.String(),
+ path: apiTargetRunHTTP.Path,
+ body: tdata.Input[c.tag+`:http_request_body`],
+ }
+
+ _, runResp = dummyTrunksServe(t, reqparams)
+
+ tag = c.tag + `:RunResponse.DumpResponse`
+ exp = string(tdata.Output[tag])
+ test.Assert(t, tag, exp, string(runResp.DumpResponse))
+ }
+}
+
+func dummyTrunksServe(t *testing.T, reqparams httpRequestParams) (rawResp []byte, runResp RunResponse) {
+ var body bytes.Buffer
+ var recorder = httptest.NewRecorder()
+
+ body.Write(reqparams.body)
+
+ var httpreq = httptest.NewRequest(
+ reqparams.method,
+ reqparams.path,
+ &body)
+
+ dummyTrunks.Httpd.ServeHTTP(recorder, httpreq)
+
+ var (
+ httpres = recorder.Result()
+ got []byte
+ err error
+ )
+
+ got, err = io.ReadAll(httpres.Body)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ body.Reset()
+ err = json.Indent(&body, got, ``, ` `)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ rawResp = body.Bytes()
+
+ var epres = libhttp.EndpointResponse{
+ Data: &runResp,
+ }
+
+ err = json.Unmarshal(rawResp, &epres)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ return rawResp, runResp
+}
diff --git a/http_target.go b/http_target.go
index be5919a..db55201 100644
--- a/http_target.go
+++ b/http_target.go
@@ -113,6 +113,15 @@ func (ht *HTTPTarget) init() (err error) {
}
if ht.Params == nil {
ht.Params = KeyFormInput{}
+ } else {
+ var (
+ key string
+ formInput FormInput
+ )
+ for key, formInput = range ht.Params {
+ formInput.init()
+ ht.Params[key] = formInput
+ }
}
if len(ht.Path) == 0 {
ht.Path = "/"
@@ -206,6 +215,29 @@ func (ht *HTTPTarget) paramsToPath() {
ht.Path = rute.String()
}
+// refCopy copy methods and handlers from orig to ht.
+func (ht *HTTPTarget) refCopy(orig *HTTPTarget) {
+ ht.ConvertParams = orig.ConvertParams
+ ht.RequestDumper = orig.RequestDumper
+ ht.ResponseDumper = orig.ResponseDumper
+
+ var (
+ key string
+ fin FormInput
+ orgfin FormInput
+ ok bool
+ )
+ for key, fin = range ht.Params {
+ if fin.Kind == FormInputKindFile {
+ orgfin, ok = orig.Params[key]
+ if ok {
+ fin.FormDataName = orgfin.FormDataName
+ ht.Params[key] = fin
+ }
+ }
+ }
+}
+
func (ht *HTTPTarget) sortResults() {
sort.Slice(ht.Results, func(x, y int) bool {
return ht.Results[x].Name > ht.Results[y].Name
diff --git a/httpd_dummy_test.go b/httpd_dummy_test.go
new file mode 100644
index 0000000..2902e3e
--- /dev/null
+++ b/httpd_dummy_test.go
@@ -0,0 +1,95 @@
+// SPDX-FileCopyrightText: 2024 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package trunks
+
+import (
+ "encoding/json"
+ "fmt"
+ "log"
+ "net/http"
+ "time"
+
+ libhttp "github.com/shuLhan/share/lib/http"
+ libnet "github.com/shuLhan/share/lib/net"
+)
+
+const (
+ pathUpload = `/upload`
+)
+
+var dummyEndpointUpload = libhttp.Endpoint{
+ Method: libhttp.RequestMethodPost,
+ Path: pathUpload,
+ RequestType: libhttp.RequestTypeMultipartForm,
+ ResponseType: libhttp.ResponseTypeJSON,
+}
+
+// httpdDummy dummy HTTP server as target for testing.
+type httpdDummy struct {
+ *libhttp.Server
+}
+
+// newHttpdDummy create and run dummy HTTP server.
+func newHttpdDummy() (dum *httpdDummy, err error) {
+ var logp = `newHttpdDummy`
+
+ var serverOpts = libhttp.ServerOptions{
+ Address: `127.0.0.1:22796`,
+ }
+
+ dum = &httpdDummy{}
+
+ dum.Server, err = libhttp.NewServer(&serverOpts)
+ if err != nil {
+ return nil, fmt.Errorf(`%s: %w`, logp, err)
+ }
+
+ err = dum.registerEndpoints()
+ if err != nil {
+ return nil, fmt.Errorf(`%s: %w`, logp, err)
+ }
+
+ go func() {
+ var errStart = dum.Server.Start()
+ if errStart != nil {
+ log.Fatalf(`%s: %s`, logp, errStart)
+ }
+ }()
+
+ err = libnet.WaitAlive(`tcp`, serverOpts.Address, time.Second)
+ if err != nil {
+ return nil, fmt.Errorf(`%s: %w`, logp, err)
+ }
+
+ return dum, nil
+}
+
+func (dum *httpdDummy) registerEndpoints() (err error) {
+ var logp = `registerEndpoints`
+
+ dummyEndpointUpload.Call = dum.upload
+
+ err = dum.Server.RegisterEndpoint(&dummyEndpointUpload)
+ if err != nil {
+ return fmt.Errorf(`%s %s: %w`, logp, dummyEndpointUpload.Path, err)
+ }
+
+ return nil
+}
+
+// upload handle HTTP POST with request type "multipart/form-data".
+// It will response by echoing back the [HttpRequest.MultipartForm] as JSON.
+func (dum *httpdDummy) upload(epr *libhttp.EndpointRequest) (resbody []byte, err error) {
+ var res = libhttp.EndpointResponse{}
+
+ res.Code = http.StatusOK
+ res.Data = epr.HttpRequest.MultipartForm.Value
+
+ resbody, err = json.MarshalIndent(res, ``, ` `)
+ if err != nil {
+ return nil, err
+ }
+
+ return resbody, nil
+}
diff --git a/key_form_input.go b/key_form_input.go
index afcbce7..8cceba8 100644
--- a/key_form_input.go
+++ b/key_form_input.go
@@ -6,11 +6,24 @@ package trunks
import (
"net/http"
"net/url"
+ "strconv"
"strings"
"github.com/shuLhan/share/lib/math/big"
)
+// List of additional parameters to be generated and send if the [FormInput]
+// Kind is [FormInputKindFile].
+//
+// Caller can changes the name by using [FormInput] FormDataName.
+const (
+ FormDataFilecontent = `filecontent`
+ FormDataFilemodms = `filemodms`
+ FormDataFilename = `filename`
+ FormDataFilesize = `filesize`
+ FormDataFiletype = `filetype`
+)
+
// KeyFormInput is the simplified type for getting and setting HTTP headers
// and request parameters (either in query or in the parameter body).
type KeyFormInput map[string]FormInput
@@ -64,7 +77,28 @@ func (kfi KeyFormInput) ToMultipartFormData() (data map[string][]byte) {
return data
}
for k, fi := range kfi {
- data[k] = []byte(fi.Value)
+ if fi.Kind == FormInputKindFile {
+ var name string
+
+ if len(fi.Filename) != 0 {
+ name = fi.FormDataName(FormDataFilename)
+ data[name] = []byte(fi.Filename)
+ }
+ if len(fi.Filetype) != 0 {
+ name = fi.FormDataName(FormDataFiletype)
+ data[name] = []byte(fi.Filetype)
+ }
+ name = fi.FormDataName(FormDataFilesize)
+ data[name] = []byte(strconv.FormatInt(fi.Filesize, 10))
+
+ name = fi.FormDataName(FormDataFilemodms)
+ data[name] = []byte(strconv.FormatInt(fi.Filemodms, 10))
+
+ name = fi.FormDataName(FormDataFilecontent)
+ data[name] = []byte(fi.Value)
+ } else {
+ data[k] = []byte(fi.Value)
+ }
}
return data
}
diff --git a/memfs_www_embed.go b/memfs_www_embed.go
index 5394da1..633d70a 100644
--- a/memfs_www_embed.go
+++ b/memfs_www_embed.go
@@ -16,7 +16,7 @@ func generate__www() *memfs.Node {
GenFuncName: "generate__www",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1699643880, 752156276)
+ node.SetModTimeUnix(1707078130, 29184269)
node.SetName("/")
node.SetSize(0)
node.AddChild(_memfsWWW_getNode(memfsWWW, "/doc", generate__www_doc))
@@ -124,7 +124,7 @@ func generate__www_environment_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x73\x74\x72\x69\x6E\x67\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x6E\x75\x6D\x62\x65\x72\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x2C\x20\x48\x41\x53\x48\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x20\x3D\x20\x74\x72\x75\x6E\x6B\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x33\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x75\x6E\x6B\x73\x2E\x73\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x48\x41\x53\x48\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x2C\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x54\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x32\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x4C\x69\x73\x74\x65\x6E\x20\x61\x64\x64\x72\x65\x73\x73\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x54\x68\x65\x20\x61\x64\x64\x72\x65\x73\x73\x20\x61\x6E\x64\x20\x70\x6F\x72\x74\x20\x77\x68\x65\x72\x65\x20\x54\x72\x75\x6E\x6B\x73\x20\x69\x73\x20\x72\x75\x6E\x6E\x69\x6E\x67\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x6F\x70\x74\x73\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x4D\x61\x78\x2E\x20\x61\x74\x74\x61\x63\x6B\x20\x64\x75\x72\x61\x74\x69\x6F\x6E\x20\x28\x73\x65\x63\x6F\x6E\x64\x73\x29\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x4D\x61\x78\x69\x6D\x75\x6D\x20\x61\x74\x74\x61\x63\x6B\x20\x64\x75\x72\x61\x74\x69\x6F\x6E\x20\x66\x6F\x72\x20\x61\x6C\x6C\x20\x74\x61\x72\x67\x65\x74\x73\x2C\x20\x69\x6E\x20\x73\x65\x63\x6F\x6E\x64\x73\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x2F\x20\x31\x65\x39\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x69\x6E\x3A\x20\x31\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x3D\x20\x76\x20\x2A\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x6F\x70\x74\x73\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x4D\x61\x78\x2E\x20\x61\x74\x74\x61\x63\x6B\x20\x72\x61\x74\x65\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x4D\x61\x78\x69\x6D\x75\x6D\x20\x61\x74\x74\x61\x63\x6B\x20\x72\x61\x74\x65\x20\x66\x6F\x72\x20\x61\x6C\x6C\x20\x74\x61\x72\x67\x65\x74\x73\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x69\x6E\x3A\x20\x31\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x6F\x70\x74\x73\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x52\x65\x73\x75\x6C\x74\x73\x20\x64\x69\x72\x65\x63\x74\x6F\x72\x79\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x54\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x77\x68\x65\x72\x65\x20\x74\x68\x65\x20\x61\x74\x74\x61\x63\x6B\x20\x72\x65\x73\x75\x6C\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x73\x61\x76\x65\x64\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x6F\x70\x74\x73\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x52\x65\x73\x75\x6C\x74\x73\x20\x73\x75\x66\x66\x69\x78\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x4F\x70\x74\x69\x6F\x6E\x61\x6C\x20\x73\x75\x66\x66\x69\x78\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x66\x69\x6C\x65\x20\x6E\x61\x6D\x65\x20\x6F\x66\x20\x61\x74\x74\x61\x63\x6B\x20\x72\x65\x73\x75\x6C\x74\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x6F\x70\x74\x73\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x54\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x2E\x73\x65\x74\x28\x6F\x70\x74\x73\x2E\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x2E\x73\x65\x74\x28\x6F\x70\x74\x73\x2E\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x2F\x20\x31\x65\x39\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x2E\x73\x65\x74\x28\x6F\x70\x74\x73\x2E\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x2E\x73\x65\x74\x28\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x2E\x73\x65\x74\x28\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 85128308)
+ node.SetModTimeUnix(1707078138, 282526240)
node.SetName("environment.js")
node.SetSize(4231)
return node
@@ -166,12 +166,12 @@ func generate__www_functions_js() *memfs.Node {
Path: "/functions.js",
ContentType: "text/javascript; charset=utf-8",
GenFuncName: "generate__www_functions_js",
- Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x6E\x75\x6D\x62\x65\x72\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x73\x74\x72\x69\x6E\x67\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x4E\x75\x6D\x62\x65\x72\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x44\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x44\x2E\x62\x6F\x64\x79\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x2C\x20\x44\x2E\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x29\x2C\x20\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x44\x2E\x62\x6F\x64\x79\x2E\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x2C\x20\x44\x2E\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74\x2E\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x29\x2C\x20\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x44\x2E\x62\x6F\x64\x79\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x2C\x20\x44\x2E\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x29\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x70\x61\x72\x65\x6E\x74\x2C\x20\x66\x69\x29\x20\x7B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x4F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x3B\x0A\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x66\x69\x2E\x6B\x69\x6E\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x4E\x75\x6D\x62\x65\x72\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x66\x69\x2E\x6C\x61\x62\x65\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x66\x69\x2E\x68\x69\x6E\x74\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x2B\x66\x69\x2E\x76\x61\x6C\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x6E\x65\x77\x56\x61\x6C\x75\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x20\x2B\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x66\x69\x2E\x6D\x61\x78\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x2E\x6D\x61\x78\x20\x3D\x20\x66\x69\x2E\x6D\x61\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x66\x69\x2E\x6D\x69\x6E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x2E\x6D\x69\x6E\x20\x3D\x20\x66\x69\x2E\x6D\x69\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x61\x75\x6C\x74\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x66\x69\x2E\x6C\x61\x62\x65\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x66\x69\x2E\x68\x69\x6E\x74\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x6E\x65\x77\x56\x61\x6C\x75\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x48\x54\x54\x50\x4D\x65\x74\x68\x6F\x64\x54\x6F\x53\x74\x72\x69\x6E\x67\x28\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x30\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x47\x45\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x31\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x43\x4F\x4E\x4E\x45\x43\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x32\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x33\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x48\x45\x41\x44\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x34\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x4F\x50\x54\x49\x4F\x4E\x53\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x35\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x50\x41\x54\x43\x48\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x36\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x50\x4F\x53\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x37\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x50\x55\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x38\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x54\x52\x41\x43\x45\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x3F\x3F\x3F\x22\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x20\x67\x65\x74\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x68\x65\x61\x64\x65\x72\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x62\x79\x20\x6B\x65\x79\x2E\x0A\x2F\x2F\x20\x49\x66\x20\x6E\x6F\x20\x68\x65\x61\x64\x65\x72\x20\x65\x78\x69\x73\x74\x20\x69\x6E\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x6E\x65\x20\x66\x72\x6F\x6D\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x69\x74\x73\x65\x6C\x66\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x65\x61\x64\x65\x72\x20\x3D\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x68\x65\x61\x64\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x68\x65\x61\x64\x65\x72\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x20\x67\x65\x74\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x62\x79\x20\x6B\x65\x79\x2E\x0A\x2F\x2F\x20\x49\x66\x20\x6E\x6F\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x20\x65\x78\x69\x73\x74\x20\x69\x6E\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x6E\x65\x20\x66\x72\x6F\x6D\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x69\x74\x73\x65\x6C\x66\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x72\x61\x6D\x20\x3D\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x72\x61\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x70\x61\x72\x61\x6D\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x2B\x76\x61\x6C\x20\x2F\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x2F\x20\x31\x65\x39\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x22\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x2B\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x22\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x54\x69\x6D\x65\x6F\x75\x74\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x2B\x76\x61\x6C\x20\x2F\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x54\x69\x6D\x65\x6F\x75\x74\x20\x2F\x20\x31\x65\x39\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x54\x69\x6D\x65\x6F\x75\x74\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x22\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x54\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x56\x61\x72\x20\x67\x65\x74\x20\x74\x61\x72\x67\x65\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x6F\x72\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x72\x69\x67\x69\x6E\x61\x6C\x0A\x2F\x2F\x20\x76\x61\x6C\x75\x65\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x76\x61\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x76\x61\x72\x20\x3D\x20\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x74\x76\x61\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x76\x61\x72\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x76\x61\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x20\x67\x65\x74\x20\x74\x68\x65\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x62\x79\x20\x6B\x65\x79\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x65\x61\x64\x65\x72\x20\x3D\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x68\x65\x61\x64\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x68\x65\x61\x64\x65\x72\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x20\x67\x65\x74\x20\x74\x68\x65\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x6F\x72\x0A\x2F\x2F\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x6E\x65\x20\x66\x72\x6F\x6D\x20\x77\x73\x54\x61\x72\x67\x65\x74\x20\x69\x66\x20\x69\x74\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x72\x61\x6D\x20\x3D\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x72\x61\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x70\x61\x72\x61\x6D\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x73\x61\x76\x65\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x6F\x6E\x20\x74\x68\x65\x20\x54\x61\x72\x67\x65\x74\x2C\x20\x50\x61\x72\x61\x6D\x73\x20\x61\x6E\x64\x20\x48\x65\x61\x64\x65\x72\x73\x20\x6F\x6E\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x6F\x72\x0A\x2F\x2F\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x20\x74\x6F\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
+ Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x66\x69\x6C\x65\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x6E\x75\x6D\x62\x65\x72\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x73\x74\x72\x69\x6E\x67\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x46\x69\x6C\x65\x2C\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x4E\x75\x6D\x62\x65\x72\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x44\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x44\x2E\x62\x6F\x64\x79\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x2C\x20\x44\x2E\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x29\x2C\x20\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x44\x2E\x62\x6F\x64\x79\x2E\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x2C\x20\x44\x2E\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74\x2E\x6F\x66\x66\x73\x65\x74\x48\x65\x69\x67\x68\x74\x29\x2C\x20\x4D\x61\x74\x68\x2E\x6D\x61\x78\x28\x44\x2E\x62\x6F\x64\x79\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x2C\x20\x44\x2E\x64\x6F\x63\x75\x6D\x65\x6E\x74\x45\x6C\x65\x6D\x65\x6E\x74\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x29\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x70\x61\x72\x65\x6E\x74\x2C\x20\x66\x69\x29\x20\x7B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x4F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x3B\x0A\x20\x20\x20\x20\x6C\x65\x74\x20\x72\x65\x61\x64\x65\x72\x3B\x0A\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x66\x69\x2E\x6B\x69\x6E\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x46\x69\x6C\x65\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x2E\x6C\x61\x62\x65\x6C\x20\x3D\x20\x66\x69\x2E\x6C\x61\x62\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x2E\x68\x69\x6E\x74\x20\x3D\x20\x66\x69\x2E\x68\x69\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x2E\x63\x6C\x61\x73\x73\x49\x6E\x70\x75\x74\x20\x3D\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x2E\x63\x6C\x61\x73\x73\x4C\x61\x62\x65\x6C\x20\x3D\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x20\x3D\x20\x28\x66\x69\x6C\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x66\x69\x6C\x65\x6E\x61\x6D\x65\x20\x3D\x20\x66\x69\x6C\x65\x2E\x6E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x66\x69\x6C\x65\x74\x79\x70\x65\x20\x3D\x20\x66\x69\x6C\x65\x2E\x74\x79\x70\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x66\x69\x6C\x65\x73\x69\x7A\x65\x20\x3D\x20\x66\x69\x6C\x65\x2E\x73\x69\x7A\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x66\x69\x6C\x65\x6D\x6F\x64\x6D\x73\x20\x3D\x20\x66\x69\x6C\x65\x2E\x6C\x61\x73\x74\x4D\x6F\x64\x69\x66\x69\x65\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x61\x64\x65\x72\x20\x3D\x20\x6E\x65\x77\x20\x46\x69\x6C\x65\x52\x65\x61\x64\x65\x72\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x61\x64\x65\x72\x2E\x6F\x6E\x6C\x6F\x61\x64\x20\x3D\x20\x28\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x62\x74\x6F\x61\x28\x72\x65\x61\x64\x65\x72\x2E\x72\x65\x73\x75\x6C\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x61\x64\x65\x72\x2E\x72\x65\x61\x64\x41\x73\x54\x65\x78\x74\x28\x66\x69\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x2E\x65\x6C\x65\x6D\x65\x6E\x74\x28\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x4E\x75\x6D\x62\x65\x72\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x66\x69\x2E\x6C\x61\x62\x65\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x66\x69\x2E\x68\x69\x6E\x74\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x2B\x66\x69\x2E\x76\x61\x6C\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x6E\x65\x77\x56\x61\x6C\x75\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x20\x2B\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x66\x69\x2E\x6D\x61\x78\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x2E\x6D\x61\x78\x20\x3D\x20\x66\x69\x2E\x6D\x61\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x66\x69\x2E\x6D\x69\x6E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x2E\x6D\x69\x6E\x20\x3D\x20\x66\x69\x2E\x6D\x69\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x65\x66\x61\x75\x6C\x74\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x66\x69\x2E\x6C\x61\x62\x65\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x66\x69\x2E\x68\x69\x6E\x74\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x6E\x65\x77\x56\x61\x6C\x75\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x48\x54\x54\x50\x4D\x65\x74\x68\x6F\x64\x54\x6F\x53\x74\x72\x69\x6E\x67\x28\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x30\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x47\x45\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x31\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x43\x4F\x4E\x4E\x45\x43\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x32\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x33\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x48\x45\x41\x44\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x34\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x4F\x50\x54\x49\x4F\x4E\x53\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x35\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x50\x41\x54\x43\x48\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x36\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x50\x4F\x53\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x37\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x50\x55\x54\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x38\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x54\x52\x41\x43\x45\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x3F\x3F\x3F\x22\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x20\x67\x65\x74\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x68\x65\x61\x64\x65\x72\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x62\x79\x20\x6B\x65\x79\x2E\x0A\x2F\x2F\x20\x49\x66\x20\x6E\x6F\x20\x68\x65\x61\x64\x65\x72\x20\x65\x78\x69\x73\x74\x20\x69\x6E\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x6E\x65\x20\x66\x72\x6F\x6D\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x69\x74\x73\x65\x6C\x66\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x65\x61\x64\x65\x72\x20\x3D\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x68\x65\x61\x64\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x68\x65\x61\x64\x65\x72\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x20\x67\x65\x74\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x62\x79\x20\x6B\x65\x79\x2E\x0A\x2F\x2F\x20\x49\x66\x20\x6E\x6F\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x20\x65\x78\x69\x73\x74\x20\x69\x6E\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x6E\x65\x20\x66\x72\x6F\x6D\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x69\x74\x73\x65\x6C\x66\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x72\x61\x6D\x20\x3D\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x72\x61\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x70\x61\x72\x61\x6D\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x74\x74\x70\x2E\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x2B\x76\x61\x6C\x20\x2F\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x2F\x20\x31\x65\x39\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x22\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x2B\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x22\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x29\x3B\x0A\x7D\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x54\x69\x6D\x65\x6F\x75\x74\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x2B\x76\x61\x6C\x20\x2F\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x54\x69\x6D\x65\x6F\x75\x74\x20\x2F\x20\x31\x65\x39\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x6F\x70\x74\x2E\x54\x69\x6D\x65\x6F\x75\x74\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x22\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2E\x54\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x56\x61\x72\x20\x67\x65\x74\x20\x74\x61\x72\x67\x65\x74\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x6F\x72\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x72\x69\x67\x69\x6E\x61\x6C\x0A\x2F\x2F\x20\x76\x61\x6C\x75\x65\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x76\x61\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x76\x61\x72\x20\x3D\x20\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x74\x76\x61\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x76\x61\x72\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x76\x61\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x20\x67\x65\x74\x20\x74\x68\x65\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x62\x79\x20\x6B\x65\x79\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x65\x61\x64\x65\x72\x20\x3D\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x68\x65\x61\x64\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x68\x65\x61\x64\x65\x72\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x68\x65\x61\x64\x65\x72\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x20\x67\x65\x74\x20\x74\x68\x65\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x20\x70\x61\x72\x61\x6D\x65\x74\x65\x72\x20\x66\x72\x6F\x6D\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x20\x6F\x72\x0A\x2F\x2F\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x65\x20\x6F\x6E\x65\x20\x66\x72\x6F\x6D\x20\x77\x73\x54\x61\x72\x67\x65\x74\x20\x69\x66\x20\x69\x74\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x76\x61\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x72\x61\x6D\x20\x3D\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x5B\x6B\x65\x79\x5D\x3B\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x72\x61\x6D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x70\x61\x72\x61\x6D\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x22\x22\x3B\x0A\x7D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x20\x3D\x20\x60\x24\x7B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x77\x73\x2E\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x7D\x2E\x70\x61\x72\x61\x6D\x2E\x24\x7B\x6B\x65\x79\x7D\x60\x3B\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x73\x74\x6F\x72\x61\x67\x65\x4B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x7D\x0A\x2F\x2F\x0A\x2F\x2F\x20\x73\x61\x76\x65\x20\x74\x68\x65\x20\x76\x61\x72\x69\x61\x62\x6C\x65\x73\x20\x6F\x6E\x20\x74\x68\x65\x20\x54\x61\x72\x67\x65\x74\x2C\x20\x50\x61\x72\x61\x6D\x73\x20\x61\x6E\x64\x20\x48\x65\x61\x64\x65\x72\x73\x20\x6F\x6E\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x6F\x72\x0A\x2F\x2F\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x20\x74\x6F\x20\x6C\x6F\x63\x61\x6C\x20\x73\x74\x6F\x72\x61\x67\x65\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x61\x76\x65\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x66\x20\x28\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6B\x2C\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 95128359)
+ node.SetModTimeUnix(1707078138, 299192925)
node.SetName("functions.js")
- node.SetSize(7954)
+ node.SetSize(8927)
return node
}
@@ -184,7 +184,7 @@ func generate__www_http_target_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x65\x6C\x65\x63\x74\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x73\x65\x6C\x65\x63\x74\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x73\x74\x72\x69\x6E\x67\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x2C\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x2C\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x66\x75\x6E\x63\x74\x69\x6F\x6E\x73\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x43\x54\x49\x4F\x4E\x53\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x61\x63\x74\x69\x6F\x6E\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x61\x74\x74\x61\x63\x6B\x5F\x72\x65\x73\x75\x6C\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x5F\x41\x43\x54\x49\x4F\x4E\x53\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x61\x74\x74\x61\x63\x6B\x5F\x72\x65\x73\x75\x6C\x74\x5F\x61\x63\x74\x69\x6F\x6E\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x48\x45\x41\x44\x45\x52\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x69\x6E\x70\x75\x74\x5F\x68\x65\x61\x64\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x50\x41\x52\x41\x4D\x53\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x69\x6E\x70\x75\x74\x5F\x70\x61\x72\x61\x6D\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x41\x54\x54\x41\x43\x4B\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x6F\x75\x74\x5F\x61\x74\x74\x61\x63\x6B\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x6F\x75\x74\x5F\x6D\x6F\x6E\x6F\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x52\x55\x4E\x20\x3D\x20\x22\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x5F\x6F\x75\x74\x5F\x72\x75\x6E\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4F\x4E\x54\x45\x4E\x54\x5F\x54\x59\x50\x45\x5F\x4A\x53\x4F\x4E\x20\x3D\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x74\x61\x72\x67\x65\x74\x2C\x20\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x20\x3D\x20\x74\x72\x75\x6E\x6B\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x20\x3D\x20\x74\x61\x72\x67\x65\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x52\x75\x6E\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x41\x74\x74\x61\x63\x6B\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x71\x75\x65\x73\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x54\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x33\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x6F\x70\x74\x73\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x54\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x63\x74\x69\x6F\x6E\x73\x28\x65\x6C\x54\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4F\x75\x74\x70\x75\x74\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4F\x75\x74\x70\x75\x74\x41\x74\x74\x61\x63\x6B\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x63\x74\x69\x6F\x6E\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x43\x54\x49\x4F\x4E\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x52\x75\x6E\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x52\x75\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x52\x75\x6E\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x75\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x52\x75\x6E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x41\x6C\x6C\x6F\x77\x41\x74\x74\x61\x63\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x41\x74\x74\x61\x63\x6B\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x41\x74\x74\x61\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x41\x74\x74\x61\x63\x6B\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x42\x75\x74\x74\x6F\x6E\x41\x74\x74\x61\x63\x6B\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x48\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x70\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x69\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x48\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x4D\x65\x74\x68\x6F\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x28\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x52\x65\x71\x75\x65\x73\x74\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x4D\x65\x74\x68\x6F\x64\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6D\x20\x3D\x20\x22\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4D\x65\x74\x68\x6F\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x65\x6C\x65\x63\x74\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6E\x61\x6D\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x70\x74\x69\x6F\x6E\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x47\x45\x54\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x30\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x30\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x43\x4F\x4E\x4E\x45\x43\x54\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x31\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x31\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x44\x45\x4C\x45\x54\x45\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x32\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x32\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x45\x41\x44\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x33\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x33\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4F\x50\x54\x49\x4F\x4E\x53\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x34\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x34\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x41\x54\x43\x48\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x35\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x35\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x4F\x53\x54\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x36\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x36\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x55\x54\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x37\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x37\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x52\x41\x43\x45\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x38\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x6D\x20\x3D\x3D\x3D\x20\x22\x38\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x49\x73\x43\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x5F\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4D\x65\x74\x68\x6F\x64\x20\x3D\x20\x70\x61\x72\x73\x65\x49\x6E\x74\x28\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x75\x69\x52\x65\x71\x75\x65\x73\x74\x4D\x65\x74\x68\x6F\x64\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x65\x6C\x65\x63\x74\x28\x73\x65\x6C\x65\x63\x74\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x77\x75\x69\x52\x65\x71\x75\x65\x73\x74\x4D\x65\x74\x68\x6F\x64\x2E\x65\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x74\x68\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x49\x73\x43\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x70\x61\x74\x68\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x74\x68\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x75\x69\x52\x65\x71\x75\x65\x73\x74\x50\x61\x74\x68\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x70\x61\x74\x68\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x52\x65\x71\x75\x65\x73\x74\x50\x61\x74\x68\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x74\x20\x3D\x20\x22\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x71\x75\x65\x73\x74\x54\x79\x70\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x65\x6C\x65\x63\x74\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x20\x74\x79\x70\x65\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6E\x61\x6D\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x70\x74\x69\x6F\x6E\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x28\x6E\x6F\x6E\x65\x29\x22\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x30\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x63\x74\x20\x3D\x3D\x3D\x20\x22\x30\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x28\x71\x75\x65\x72\x79\x29\x22\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x31\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x63\x74\x20\x3D\x3D\x3D\x20\x22\x31\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x32\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x63\x74\x20\x3D\x3D\x3D\x20\x22\x32\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x6D\x75\x6C\x74\x69\x70\x61\x72\x74\x2F\x66\x6F\x72\x6D\x2D\x64\x61\x74\x61\x22\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x33\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x63\x74\x20\x3D\x3D\x3D\x20\x22\x33\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x22\x34\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x3A\x20\x63\x74\x20\x3D\x3D\x3D\x20\x22\x34\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x49\x73\x43\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x5F\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x71\x75\x65\x73\x74\x54\x79\x70\x65\x20\x3D\x20\x70\x61\x72\x73\x65\x49\x6E\x74\x28\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x75\x69\x52\x65\x71\x75\x65\x73\x74\x54\x79\x70\x65\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x65\x6C\x65\x63\x74\x28\x73\x65\x6C\x65\x63\x74\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x75\x69\x52\x65\x71\x75\x65\x73\x74\x54\x79\x70\x65\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x4F\x62\x6A\x65\x63\x74\x2E\x6B\x65\x79\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x2E\x6C\x65\x6E\x67\x74\x68\x20\x3D\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x48\x45\x41\x44\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x65\x67\x65\x6E\x64\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x67\x65\x6E\x64\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x48\x65\x61\x64\x65\x72\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x6C\x65\x67\x65\x6E\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x65\x79\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x2C\x20\x66\x69\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x72\x61\x6D\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x4F\x62\x6A\x65\x63\x74\x2E\x6B\x65\x79\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x72\x61\x6D\x73\x29\x2E\x6C\x65\x6E\x67\x74\x68\x20\x3D\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x50\x41\x52\x41\x4D\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x65\x79\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x72\x61\x6D\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6C\x6F\x61\x64\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x2C\x20\x66\x69\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4F\x75\x74\x70\x75\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x52\x55\x4E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x52\x75\x6E\x20\x6F\x75\x74\x70\x75\x74\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x62\x74\x6E\x43\x6C\x65\x61\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x43\x6C\x65\x61\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x43\x6C\x65\x61\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x43\x6C\x65\x61\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x43\x6C\x65\x61\x72\x4F\x75\x74\x70\x75\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x62\x74\x6E\x43\x6C\x65\x61\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x71\x75\x65\x73\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x71\x75\x65\x73\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x43\x6C\x65\x61\x72\x4F\x75\x74\x70\x75\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4F\x75\x74\x70\x75\x74\x41\x74\x74\x61\x63\x6B\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x41\x6C\x6C\x6F\x77\x41\x74\x74\x61\x63\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x41\x54\x54\x41\x43\x4B\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x41\x74\x74\x61\x63\x6B\x20\x72\x65\x73\x75\x6C\x74\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x75\x6C\x74\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x72\x65\x73\x75\x6C\x74\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x61\x63\x74\x69\x6F\x6E\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x63\x74\x69\x6F\x6E\x73\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x48\x54\x54\x50\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x5F\x41\x43\x54\x49\x4F\x4E\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x53\x68\x6F\x77\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x28\x72\x65\x73\x75\x6C\x74\x2E\x4E\x61\x6D\x65\x2C\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x2C\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2C\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x44\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x44\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x44\x65\x6C\x65\x74\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x44\x65\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x44\x65\x6C\x65\x74\x65\x28\x72\x65\x73\x75\x6C\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x63\x74\x69\x6F\x6E\x73\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x63\x74\x69\x6F\x6E\x73\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x62\x74\x6E\x41\x74\x74\x61\x63\x6B\x44\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x61\x63\x74\x69\x6F\x6E\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x2E\x61\x74\x74\x61\x63\x6B\x48\x54\x54\x50\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x44\x65\x6C\x65\x74\x65\x28\x72\x65\x73\x75\x6C\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x2E\x61\x74\x74\x61\x63\x6B\x48\x54\x54\x50\x44\x65\x6C\x65\x74\x65\x28\x72\x65\x73\x75\x6C\x74\x2E\x4E\x61\x6D\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x72\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x72\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x2E\x4E\x61\x6D\x65\x20\x3D\x3D\x20\x72\x65\x73\x75\x6C\x74\x2E\x4E\x61\x6D\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x2E\x73\x70\x6C\x69\x63\x65\x28\x78\x2C\x20\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x53\x68\x6F\x77\x28\x72\x65\x73\x75\x6C\x74\x4E\x61\x6D\x65\x2C\x20\x62\x74\x6E\x2C\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2C\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x62\x74\x6E\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x3D\x3D\x20\x22\x48\x69\x64\x65\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x53\x68\x6F\x77\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x4A\x53\x4F\x4E\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x2E\x61\x74\x74\x61\x63\x6B\x48\x54\x54\x50\x47\x65\x74\x28\x72\x65\x73\x75\x6C\x74\x4E\x61\x6D\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x4A\x53\x4F\x4E\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x72\x65\x73\x4A\x53\x4F\x4E\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x2E\x54\x65\x78\x74\x52\x65\x70\x6F\x72\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x54\x65\x78\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x2E\x48\x69\x73\x74\x52\x65\x70\x6F\x72\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x70\x6F\x72\x74\x48\x69\x73\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x48\x69\x64\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x43\x6C\x65\x61\x72\x4F\x75\x74\x70\x75\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x71\x75\x65\x73\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x52\x61\x77\x20\x72\x65\x71\x75\x65\x73\x74\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x52\x61\x77\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x4A\x53\x4F\x4E\x20\x66\x6F\x72\x6D\x61\x74\x74\x65\x64\x20\x72\x65\x73\x70\x6F\x6E\x73\x65\x20\x62\x6F\x64\x79\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x75\x6E\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x2E\x72\x75\x6E\x48\x54\x54\x50\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x72\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x71\x75\x65\x73\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x2E\x44\x75\x6D\x70\x52\x65\x71\x75\x65\x73\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x2E\x44\x75\x6D\x70\x52\x65\x73\x70\x6F\x6E\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x62\x6F\x64\x79\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x2E\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x52\x65\x73\x70\x6F\x6E\x73\x65\x54\x79\x70\x65\x20\x3D\x3D\x3D\x20\x43\x4F\x4E\x54\x45\x4E\x54\x5F\x54\x59\x50\x45\x5F\x4A\x53\x4F\x4E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x4A\x53\x4F\x4E\x2E\x70\x61\x72\x73\x65\x28\x62\x6F\x64\x79\x29\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x32\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x52\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x62\x6F\x64\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x41\x64\x64\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x28\x72\x65\x73\x75\x6C\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x52\x65\x73\x75\x6C\x74\x73\x2E\x70\x75\x73\x68\x28\x72\x65\x73\x75\x6C\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x4F\x75\x74\x41\x74\x74\x61\x63\x6B\x52\x65\x73\x75\x6C\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 115128463)
+ node.SetModTimeUnix(1707078138, 315859609)
node.SetName("http_target.js")
node.SetSize(13210)
return node
@@ -214,7 +214,7 @@ func generate__www_index_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x54\x72\x75\x6E\x6B\x73\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x74\x72\x75\x6E\x6B\x73\x2E\x6A\x73\x22\x3B\x0A\x61\x73\x79\x6E\x63\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x6D\x61\x69\x6E\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x72\x75\x6E\x6B\x73\x20\x3D\x20\x6E\x65\x77\x20\x54\x72\x75\x6E\x6B\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x61\x77\x61\x69\x74\x20\x74\x72\x75\x6E\x6B\x73\x2E\x69\x6E\x69\x74\x28\x29\x3B\x0A\x7D\x0A\x6D\x61\x69\x6E\x28\x29\x3B\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 135128566)
+ node.SetModTimeUnix(1707078138, 392526359)
node.SetName("index.js")
node.SetSize(236)
return node
@@ -226,12 +226,12 @@ func generate__www_interface_js() *memfs.Node {
Path: "/interface.js",
ContentType: "text/javascript; charset=utf-8",
GenFuncName: "generate__www_interface_js",
- Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x69\x6E\x70\x75\x74\x5F\x6C\x61\x62\x65\x6C\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x4C\x49\x4E\x4B\x20\x3D\x20\x22\x6E\x61\x76\x5F\x6C\x69\x6E\x6B\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x20\x3D\x20\x22\x6E\x61\x76\x5F\x74\x61\x72\x67\x65\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x48\x41\x53\x48\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x20\x3D\x20\x22\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x48\x41\x53\x48\x5F\x4C\x49\x4E\x4B\x53\x20\x3D\x20\x22\x6C\x69\x6E\x6B\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x4E\x75\x6D\x62\x65\x72\x20\x3D\x20\x22\x6E\x75\x6D\x62\x65\x72\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x53\x74\x72\x69\x6E\x67\x20\x3D\x20\x22\x73\x74\x72\x69\x6E\x67\x22\x3B\x0A"),
+ Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x69\x6E\x70\x75\x74\x5F\x6C\x61\x62\x65\x6C\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x4C\x49\x4E\x4B\x20\x3D\x20\x22\x6E\x61\x76\x5F\x6C\x69\x6E\x6B\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x20\x3D\x20\x22\x6E\x61\x76\x5F\x74\x61\x72\x67\x65\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x48\x41\x53\x48\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x20\x3D\x20\x22\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x48\x41\x53\x48\x5F\x4C\x49\x4E\x4B\x53\x20\x3D\x20\x22\x6C\x69\x6E\x6B\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x46\x69\x6C\x65\x20\x3D\x20\x22\x66\x69\x6C\x65\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x4E\x75\x6D\x62\x65\x72\x20\x3D\x20\x22\x6E\x75\x6D\x62\x65\x72\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x4B\x69\x6E\x64\x53\x74\x72\x69\x6E\x67\x20\x3D\x20\x22\x73\x74\x72\x69\x6E\x67\x22\x3B\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 78461606)
+ node.SetModTimeUnix(1707078138, 279192903)
node.SetName("interface.js")
- node.SetSize(464)
+ node.SetSize(505)
return node
}
@@ -244,7 +244,7 @@ func generate__www_nav_links_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x48\x41\x53\x48\x5F\x4C\x49\x4E\x4B\x53\x2C\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x4C\x49\x4E\x4B\x2C\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x66\x75\x6E\x63\x74\x69\x6F\x6E\x73\x2E\x6A\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x6E\x61\x76\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x20\x3D\x20\x74\x72\x75\x6E\x6B\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x61\x76\x73\x20\x3D\x20\x6E\x61\x76\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x53\x72\x63\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x49\x66\x72\x61\x6D\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x69\x66\x72\x61\x6D\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x64\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x33\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x64\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x4C\x69\x6E\x6B\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x64\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x75\x6E\x6B\x73\x2E\x73\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x48\x41\x53\x48\x5F\x4C\x49\x4E\x4B\x53\x2C\x20\x6E\x75\x6C\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x68\x64\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4E\x61\x76\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4E\x61\x76\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x61\x76\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x6E\x61\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x4C\x49\x4E\x4B\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x74\x65\x78\x74\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x6E\x61\x76\x2E\x54\x65\x78\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x6E\x61\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x49\x66\x72\x61\x6D\x65\x2E\x77\x69\x64\x74\x68\x20\x3D\x20\x22\x31\x30\x30\x25\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x49\x66\x72\x61\x6D\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x67\x65\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x28\x29\x20\x2D\x20\x36\x30\x20\x2B\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x53\x72\x63\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x49\x66\x72\x61\x6D\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x61\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x61\x76\x2E\x4F\x70\x65\x6E\x49\x6E\x49\x46\x72\x61\x6D\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x53\x72\x63\x2E\x74\x65\x78\x74\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x53\x6F\x75\x72\x63\x65\x3A\x20\x22\x20\x2B\x20\x6E\x61\x76\x2E\x48\x72\x65\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x49\x66\x72\x61\x6D\x65\x2E\x73\x72\x63\x20\x3D\x20\x6E\x61\x76\x2E\x48\x72\x65\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x61\x72\x67\x65\x74\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x44\x3A\x20\x22\x6E\x61\x76\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4E\x61\x6D\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x42\x61\x73\x65\x55\x52\x4C\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4F\x70\x74\x73\x3A\x20\x7B\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x56\x61\x72\x73\x3A\x20\x7B\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x52\x65\x6E\x64\x65\x72\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x6E\x61\x76\x2C\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6F\x70\x65\x6E\x28\x6E\x61\x76\x2E\x48\x72\x65\x66\x2C\x20\x22\x5F\x62\x6C\x61\x6E\x6B\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 98461710)
+ node.SetModTimeUnix(1707078138, 302526262)
node.SetName("nav_links.js")
node.SetSize(2028)
return node
@@ -259,7 +259,7 @@ func generate__www_target_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x6E\x75\x6D\x62\x65\x72\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x69\x6E\x70\x75\x74\x2F\x73\x74\x72\x69\x6E\x67\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x2C\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x2C\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x2C\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x2C\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x56\x61\x72\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x66\x75\x6E\x63\x74\x69\x6F\x6E\x73\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x2E\x6A\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x5F\x48\x54\x54\x50\x20\x3D\x20\x22\x6E\x61\x76\x5F\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x5F\x57\x53\x20\x3D\x20\x22\x6E\x61\x76\x5F\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x54\x61\x72\x67\x65\x74\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x20\x3D\x20\x74\x72\x75\x6E\x6B\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x73\x20\x3D\x20\x7B\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x73\x20\x3D\x20\x7B\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4E\x61\x76\x28\x74\x72\x75\x6E\x6B\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x74\x72\x75\x6E\x6B\x73\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4E\x61\x76\x28\x74\x72\x75\x6E\x6B\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x4D\x65\x6E\x75\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x33\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x4D\x65\x6E\x75\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x4D\x65\x6E\x75\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x52\x65\x6E\x64\x65\x72\x65\x72\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x54\x61\x72\x67\x65\x74\x4D\x65\x6E\x75\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x68\x74\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x48\x54\x54\x50\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x48\x54\x54\x50\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x68\x74\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x48\x54\x54\x50\x2E\x69\x64\x20\x3D\x20\x60\x2F\x68\x74\x74\x70\x2F\x24\x7B\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x49\x44\x7D\x2F\x24\x7B\x68\x74\x2E\x49\x44\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x48\x54\x54\x50\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x5F\x48\x54\x54\x50\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x48\x54\x54\x50\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x52\x65\x6E\x64\x65\x72\x65\x72\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x68\x74\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x54\x61\x72\x67\x65\x74\x48\x54\x54\x50\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x77\x73\x74\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x57\x53\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x57\x53\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x77\x73\x74\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x57\x53\x2E\x69\x64\x20\x3D\x20\x60\x2F\x77\x73\x2F\x24\x7B\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x49\x44\x7D\x2F\x24\x7B\x77\x73\x74\x2E\x49\x44\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x57\x53\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x5F\x54\x41\x52\x47\x45\x54\x5F\x57\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x61\x72\x67\x65\x74\x57\x53\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x72\x75\x6E\x6B\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x52\x65\x6E\x64\x65\x72\x65\x72\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x77\x73\x74\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x54\x61\x72\x67\x65\x74\x57\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x74\x72\x75\x6E\x6B\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x42\x61\x73\x65\x55\x52\x4C\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x41\x74\x74\x61\x63\x6B\x4F\x70\x74\x69\x6F\x6E\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x56\x61\x72\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x28\x74\x72\x75\x6E\x6B\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x28\x74\x72\x75\x6E\x6B\x73\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x42\x61\x73\x65\x55\x52\x4C\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x64\x72\x54\x61\x72\x67\x65\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x32\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x64\x72\x54\x61\x72\x67\x65\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x64\x72\x54\x61\x72\x67\x65\x74\x2E\x69\x64\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x48\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x70\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x69\x6E\x74\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x42\x61\x73\x65\x55\x52\x4C\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x42\x61\x73\x65\x20\x55\x52\x4C\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x54\x68\x65\x20\x62\x61\x73\x65\x20\x55\x52\x4C\x20\x77\x68\x65\x72\x65\x20\x74\x68\x65\x20\x48\x54\x54\x50\x20\x72\x65\x71\x75\x65\x73\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x73\x65\x6E\x64\x20\x6F\x72\x20\x74\x68\x65\x20\x74\x61\x72\x67\x65\x74\x20\x6F\x66\x20\x61\x74\x74\x61\x63\x6B\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x42\x61\x73\x65\x55\x52\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x42\x61\x73\x65\x55\x52\x4C\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x49\x6E\x70\x75\x74\x42\x61\x73\x65\x55\x52\x4C\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x28\x6F\x70\x74\x73\x42\x61\x73\x65\x55\x52\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x68\x64\x72\x54\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x48\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x49\x6E\x70\x75\x74\x42\x61\x73\x65\x55\x52\x4C\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x41\x74\x74\x61\x63\x6B\x4F\x70\x74\x69\x6F\x6E\x73\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x65\x67\x65\x6E\x64\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x67\x65\x6E\x64\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x41\x74\x74\x61\x63\x6B\x20\x6F\x70\x74\x69\x6F\x6E\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x44\x75\x72\x61\x74\x69\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x54\x68\x65\x20\x64\x75\x72\x61\x74\x69\x6F\x6E\x20\x6F\x66\x20\x61\x74\x74\x61\x63\x6B\x2C\x20\x69\x6E\x20\x73\x65\x63\x6F\x6E\x64\x73\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x29\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x69\x6E\x3A\x20\x31\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4F\x70\x74\x73\x2E\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x3D\x20\x76\x20\x2A\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x49\x6E\x70\x75\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x6F\x70\x74\x73\x44\x75\x72\x61\x74\x69\x6F\x6E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x52\x61\x74\x65\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x52\x61\x74\x65\x20\x70\x65\x72\x20\x73\x65\x63\x6F\x6E\x64\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x54\x68\x65\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x72\x65\x71\x75\x65\x73\x74\x20\x73\x65\x6E\x64\x20\x70\x65\x72\x20\x73\x65\x63\x6F\x6E\x64\x20\x77\x68\x65\x6E\x20\x61\x74\x74\x61\x63\x6B\x69\x6E\x67\x20\x74\x61\x72\x67\x65\x74\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x29\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x69\x6E\x3A\x20\x31\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4F\x70\x74\x73\x2E\x52\x61\x74\x65\x50\x65\x72\x53\x65\x63\x6F\x6E\x64\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x49\x6E\x70\x75\x74\x52\x61\x74\x65\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x6F\x70\x74\x73\x52\x61\x74\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x70\x74\x73\x54\x69\x6D\x65\x6F\x75\x74\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x61\x62\x65\x6C\x3A\x20\x22\x54\x69\x6D\x65\x6F\x75\x74\x20\x28\x73\x65\x63\x6F\x6E\x64\x73\x29\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x3A\x20\x22\x54\x69\x6D\x65\x6F\x75\x74\x20\x66\x6F\x72\x20\x65\x61\x63\x68\x20\x72\x65\x71\x75\x65\x73\x74\x2C\x20\x69\x6E\x20\x73\x65\x63\x6F\x6E\x64\x73\x2E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x6C\x75\x65\x3A\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x4F\x70\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x29\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x69\x6E\x3A\x20\x35\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x3A\x20\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x5F\x4C\x41\x42\x45\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x3A\x20\x28\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x4F\x70\x74\x73\x2E\x54\x69\x6D\x65\x6F\x75\x74\x20\x3D\x20\x76\x20\x2A\x20\x31\x65\x39\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x49\x6E\x70\x75\x74\x54\x69\x6D\x65\x6F\x75\x74\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x28\x6F\x70\x74\x73\x54\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x6C\x65\x67\x65\x6E\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x49\x6E\x70\x75\x74\x44\x75\x72\x61\x74\x69\x6F\x6E\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x49\x6E\x70\x75\x74\x52\x61\x74\x65\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x49\x6E\x70\x75\x74\x54\x69\x6D\x65\x6F\x75\x74\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x56\x61\x72\x73\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x56\x61\x72\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x65\x67\x65\x6E\x64\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x67\x65\x6E\x64\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x56\x61\x72\x69\x61\x62\x6C\x65\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x6C\x65\x67\x65\x6E\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x65\x79\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x56\x61\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6C\x6F\x61\x64\x54\x61\x72\x67\x65\x74\x56\x61\x72\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x2C\x20\x66\x69\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x28\x74\x72\x75\x6E\x6B\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x20\x3D\x20\x6E\x65\x77\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x74\x74\x70\x5F\x74\x61\x72\x67\x65\x74\x73\x5B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x5D\x20\x3D\x20\x63\x6F\x6D\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x28\x74\x72\x75\x6E\x6B\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x57\x53\x54\x61\x72\x67\x65\x74\x20\x3D\x20\x6E\x65\x77\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x73\x5B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x5D\x20\x3D\x20\x63\x6F\x6D\x57\x53\x54\x61\x72\x67\x65\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x57\x53\x54\x61\x72\x67\x65\x74\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 125128515)
+ node.SetModTimeUnix(1707078138, 325859620)
node.SetName("target.js")
node.SetSize(6937)
return node
@@ -274,7 +274,7 @@ func generate__www_trunks_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x73\x61\x76\x65\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x66\x75\x6E\x63\x74\x69\x6F\x6E\x73\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x48\x41\x53\x48\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x6E\x61\x76\x5F\x6C\x69\x6E\x6B\x73\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x54\x61\x72\x67\x65\x74\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x74\x61\x72\x67\x65\x74\x2E\x6A\x73\x22\x3B\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x76\x61\x72\x73\x2E\x6A\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x41\x54\x54\x41\x43\x4B\x5F\x48\x54\x54\x50\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x61\x74\x74\x61\x63\x6B\x2F\x68\x74\x74\x70\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x61\x74\x74\x61\x63\x6B\x2F\x72\x65\x73\x75\x6C\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x4E\x41\x56\x4C\x49\x4E\x4B\x53\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x6E\x61\x76\x6C\x69\x6E\x6B\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x54\x41\x52\x47\x45\x54\x53\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x74\x61\x72\x67\x65\x74\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x54\x41\x52\x47\x45\x54\x5F\x52\x55\x4E\x5F\x48\x54\x54\x50\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x74\x61\x72\x67\x65\x74\x2F\x72\x75\x6E\x2F\x68\x74\x74\x70\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x41\x50\x49\x5F\x54\x41\x52\x47\x45\x54\x5F\x52\x55\x4E\x5F\x57\x45\x42\x53\x4F\x43\x4B\x45\x54\x20\x3D\x20\x22\x2F\x5F\x74\x72\x75\x6E\x6B\x73\x2F\x61\x70\x69\x2F\x74\x61\x72\x67\x65\x74\x2F\x72\x75\x6E\x2F\x77\x65\x62\x73\x6F\x63\x6B\x65\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x55\x4E\x4E\x49\x4E\x47\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x61\x74\x74\x61\x63\x6B\x5F\x72\x75\x6E\x6E\x69\x6E\x67\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x46\x4F\x4F\x54\x45\x52\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x66\x6F\x6F\x74\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4D\x41\x49\x4E\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x6D\x61\x69\x6E\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x20\x3D\x20\x22\x74\x72\x75\x6E\x6B\x73\x5F\x6E\x61\x76\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x54\x72\x75\x6E\x6B\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4C\x69\x73\x74\x65\x6E\x41\x64\x64\x72\x65\x73\x73\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x44\x75\x72\x61\x74\x69\x6F\x6E\x3A\x20\x30\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4D\x61\x78\x41\x74\x74\x61\x63\x6B\x52\x61\x74\x65\x3A\x20\x30\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x73\x75\x6C\x74\x73\x44\x69\x72\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x73\x75\x6C\x74\x73\x53\x75\x66\x66\x69\x78\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x3A\x20\x6E\x75\x6C\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x73\x20\x3D\x20\x7B\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x61\x76\x4C\x69\x6E\x6B\x73\x20\x3D\x20\x7B\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x6E\x76\x20\x3D\x20\x6E\x65\x77\x20\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x74\x68\x69\x73\x2C\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4E\x61\x76\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x62\x6F\x64\x79\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4E\x61\x76\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x4E\x61\x76\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4E\x41\x56\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x57\x53\x43\x6F\x6E\x6E\x53\x74\x61\x74\x75\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x66\x73\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x65\x67\x65\x6E\x64\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x67\x65\x6E\x64\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x41\x74\x74\x61\x63\x6B\x20\x72\x75\x6E\x6E\x69\x6E\x67\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x55\x4E\x4E\x49\x4E\x47\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x4E\x61\x76\x46\x6F\x6F\x74\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x46\x6F\x6F\x74\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x46\x4F\x4F\x54\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x46\x6F\x6F\x74\x65\x72\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x0A\x09\x09\x09\x3C\x64\x69\x76\x3E\x0A\x09\x09\x09\x09\x3C\x64\x69\x76\x3E\x50\x6F\x77\x65\x72\x65\x64\x20\x62\x79\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x73\x3A\x2F\x2F\x73\x72\x2E\x68\x74\x2F\x7E\x73\x68\x75\x6C\x68\x61\x6E\x2F\x74\x72\x75\x6E\x6B\x73\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x5F\x62\x6C\x61\x6E\x6B\x22\x3E\x54\x72\x75\x6E\x6B\x73\x3C\x2F\x61\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x09\x09\x09\x09\x3C\x64\x69\x76\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x64\x6F\x63\x2F\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x5F\x62\x6C\x61\x6E\x6B\x22\x3E\x44\x6F\x63\x75\x6D\x65\x6E\x74\x61\x74\x69\x6F\x6E\x3C\x2F\x61\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x09\x09\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x09\x09\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x57\x53\x43\x6F\x6E\x6E\x53\x74\x61\x74\x75\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x73\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x6C\x65\x67\x65\x6E\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x73\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x66\x73\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x6E\x76\x2E\x65\x6C\x4E\x61\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x72\x22\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4E\x61\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x4E\x61\x76\x46\x6F\x6F\x74\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x4E\x61\x76\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x4D\x41\x49\x4E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x43\x61\x6E\x63\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x43\x61\x6E\x63\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x43\x61\x6E\x63\x65\x6C\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x69\x6E\x69\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x61\x70\x69\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x47\x65\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x54\x61\x72\x67\x65\x74\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x77\x69\x6E\x64\x6F\x77\x4F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6F\x6E\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x77\x69\x6E\x64\x6F\x77\x4F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x61\x70\x69\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x47\x65\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x28\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x6E\x76\x2E\x73\x65\x74\x28\x74\x68\x69\x73\x2E\x65\x6E\x76\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x69\x6E\x69\x74\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x4E\x41\x56\x4C\x49\x4E\x4B\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x20\x3D\x20\x6E\x65\x77\x20\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x28\x74\x68\x69\x73\x2C\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x2E\x65\x6C\x4E\x61\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x6E\x61\x76\x20\x6F\x66\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x61\x76\x4C\x69\x6E\x6B\x73\x5B\x6E\x61\x76\x2E\x49\x44\x5D\x20\x3D\x20\x6E\x61\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x69\x6E\x69\x74\x54\x61\x72\x67\x65\x74\x73\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x54\x41\x52\x47\x45\x54\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x61\x72\x67\x65\x74\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x74\x61\x72\x67\x65\x74\x20\x6F\x66\x20\x74\x61\x72\x67\x65\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6D\x54\x61\x72\x67\x65\x74\x20\x3D\x20\x6E\x65\x77\x20\x54\x61\x72\x67\x65\x74\x28\x74\x68\x69\x73\x2C\x20\x74\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x73\x5B\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x5D\x20\x3D\x20\x63\x6F\x6D\x54\x61\x72\x67\x65\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4E\x61\x76\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x6F\x6D\x54\x61\x72\x67\x65\x74\x2E\x65\x6C\x4E\x61\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x43\x61\x6E\x63\x65\x6C\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x66\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x41\x54\x54\x41\x43\x4B\x5F\x48\x54\x54\x50\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x28\x6E\x75\x6C\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6A\x73\x6F\x6E\x52\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x4F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x2F\x2F\x20\x50\x61\x72\x73\x65\x20\x74\x68\x65\x20\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x20\x68\x61\x73\x68\x2E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x2E\x73\x75\x62\x73\x74\x72\x69\x6E\x67\x28\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x73\x20\x3D\x20\x70\x61\x74\x68\x2E\x73\x70\x6C\x69\x74\x28\x22\x2F\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x74\x68\x73\x2E\x6C\x65\x6E\x67\x74\x68\x20\x3C\x20\x32\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x74\x68\x73\x5B\x31\x5D\x20\x3D\x3D\x3D\x20\x48\x41\x53\x48\x5F\x45\x4E\x56\x49\x52\x4F\x4E\x4D\x45\x4E\x54\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x6E\x76\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x6C\x6F\x67\x28\x22\x70\x61\x74\x68\x73\x3A\x20\x22\x2C\x20\x70\x61\x74\x68\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x70\x61\x74\x68\x73\x5B\x31\x5D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x61\x72\x67\x65\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x73\x5B\x70\x61\x74\x68\x73\x5B\x31\x5D\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x70\x61\x74\x68\x73\x2E\x6C\x65\x6E\x67\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x32\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x33\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x61\x72\x67\x65\x74\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x70\x61\x74\x68\x73\x5B\x31\x5D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x63\x72\x6F\x6C\x6C\x49\x6E\x74\x6F\x56\x69\x65\x77\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x34\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x74\x68\x73\x5B\x32\x5D\x20\x3D\x3D\x3D\x20\x22\x68\x74\x74\x70\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x61\x72\x67\x65\x74\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x69\x66\x20\x28\x70\x61\x74\x68\x73\x5B\x32\x5D\x20\x3D\x3D\x3D\x20\x22\x77\x73\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x61\x72\x67\x65\x74\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x69\x66\x20\x28\x70\x61\x74\x68\x73\x5B\x32\x5D\x20\x3D\x3D\x3D\x20\x22\x6C\x69\x6E\x6B\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x74\x68\x73\x5B\x33\x5D\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x61\x76\x20\x3D\x20\x74\x68\x69\x73\x2E\x6E\x61\x76\x4C\x69\x6E\x6B\x73\x5B\x70\x61\x74\x68\x73\x5B\x33\x5D\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x61\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x69\x6E\x6B\x73\x2E\x6F\x70\x65\x6E\x28\x6E\x61\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x70\x61\x74\x68\x73\x5B\x33\x5D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x63\x72\x6F\x6C\x6C\x49\x6E\x74\x6F\x56\x69\x65\x77\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x28\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x2D\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x2E\x54\x61\x72\x67\x65\x74\x20\x7C\x7C\x20\x21\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x2D\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x0A\x09\x09\x09\x24\x7B\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x2E\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x20\x3C\x62\x72\x2F\x3E\x0A\x09\x09\x09\x2F\x20\x24\x7B\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x20\x3C\x62\x72\x2F\x3E\x0A\x09\x09\x09\x3C\x62\x72\x2F\x3E\x0A\x09\x09\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x43\x61\x6E\x63\x65\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x41\x74\x74\x61\x63\x6B\x43\x61\x6E\x63\x65\x6C\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x41\x74\x74\x61\x63\x6B\x43\x61\x6E\x63\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x41\x74\x74\x61\x63\x6B\x69\x6E\x67\x20\x22\x24\x7B\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x2E\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x2F\x24\x7B\x72\x75\x6E\x52\x65\x71\x75\x65\x73\x74\x2E\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x22\x20\x2E\x2E\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x61\x74\x74\x61\x63\x6B\x48\x54\x54\x50\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6E\x75\x6C\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x61\x74\x74\x61\x63\x6B\x52\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x61\x72\x67\x65\x74\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x44\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4F\x70\x74\x73\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x56\x61\x72\x73\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4E\x61\x6D\x65\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x42\x61\x73\x65\x55\x52\x4C\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x42\x61\x73\x65\x55\x52\x4C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x44\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4E\x61\x6D\x65\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4D\x65\x74\x68\x6F\x64\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x4D\x65\x74\x68\x6F\x64\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x61\x74\x68\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x74\x68\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x71\x75\x65\x73\x74\x54\x79\x70\x65\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x52\x65\x71\x75\x65\x73\x74\x54\x79\x70\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x65\x61\x64\x65\x72\x73\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x48\x65\x61\x64\x65\x72\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x50\x61\x72\x61\x6D\x73\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x50\x61\x72\x61\x6D\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x52\x65\x73\x75\x6C\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x6C\x6C\x6F\x77\x41\x74\x74\x61\x63\x6B\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x41\x6C\x6C\x6F\x77\x41\x74\x74\x61\x63\x6B\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x73\x43\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x73\x43\x75\x73\x74\x6F\x6D\x69\x7A\x61\x62\x6C\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x3A\x20\x6E\x75\x6C\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x41\x54\x54\x41\x43\x4B\x5F\x48\x54\x54\x50\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x61\x74\x74\x61\x63\x6B\x52\x65\x71\x29\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x3E\x3D\x20\x34\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x41\x74\x74\x61\x63\x6B\x52\x75\x6E\x6E\x69\x6E\x67\x28\x61\x74\x74\x61\x63\x6B\x52\x65\x71\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6A\x73\x6F\x6E\x52\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x61\x74\x74\x61\x63\x6B\x48\x54\x54\x50\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6D\x73\x67\x20\x3D\x20\x60\x41\x72\x65\x20\x79\x6F\x75\x20\x73\x75\x72\x65\x20\x79\x6F\x75\x20\x77\x61\x6E\x74\x20\x74\x6F\x20\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x65\x20\x72\x65\x73\x75\x6C\x74\x3A\x20\x24\x7B\x6E\x61\x6D\x65\x7D\x3F\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x79\x65\x73\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x28\x6D\x73\x67\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x79\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x75\x72\x6C\x20\x3D\x20\x41\x50\x49\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x20\x2B\x20\x22\x3F\x6E\x61\x6D\x65\x3D\x22\x20\x2B\x20\x6E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x66\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x75\x72\x6C\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x3E\x3D\x20\x34\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6A\x73\x6F\x6E\x52\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x61\x74\x74\x61\x63\x6B\x48\x54\x54\x50\x47\x65\x74\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x75\x72\x6C\x20\x3D\x20\x41\x50\x49\x5F\x41\x54\x54\x41\x43\x4B\x5F\x52\x45\x53\x55\x4C\x54\x20\x2B\x20\x22\x3F\x6E\x61\x6D\x65\x3D\x22\x20\x2B\x20\x6E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x66\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x75\x72\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3E\x3D\x20\x34\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x52\x65\x6E\x64\x65\x72\x65\x72\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x20\x6E\x61\x76\x4C\x69\x6E\x6B\x2C\x20\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x68\x61\x73\x68\x20\x3D\x20\x22\x23\x2F\x22\x20\x2B\x20\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x2B\x3D\x20\x22\x2F\x68\x74\x74\x70\x2F\x22\x20\x2B\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x69\x66\x20\x28\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x2B\x3D\x20\x22\x2F\x77\x73\x2F\x22\x20\x2B\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x69\x66\x20\x28\x6E\x61\x76\x4C\x69\x6E\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x2B\x3D\x20\x22\x2F\x6C\x69\x6E\x6B\x2F\x22\x20\x2B\x20\x6E\x61\x76\x4C\x69\x6E\x6B\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x20\x3D\x20\x68\x61\x73\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x72\x75\x6E\x48\x54\x54\x50\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x20\x6E\x75\x6C\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x61\x72\x67\x65\x74\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x44\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4F\x70\x74\x73\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x56\x61\x72\x73\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4E\x61\x6D\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x42\x61\x73\x65\x55\x52\x4C\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x3A\x20\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x3A\x20\x6E\x75\x6C\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x54\x41\x52\x47\x45\x54\x5F\x52\x55\x4E\x5F\x48\x54\x54\x50\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x3E\x3D\x20\x34\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x52\x65\x73\x70\x6F\x6E\x73\x65\x53\x74\x61\x74\x75\x73\x43\x6F\x64\x65\x20\x3E\x3D\x20\x34\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x3A\x20\x24\x7B\x72\x65\x73\x2E\x52\x65\x73\x70\x6F\x6E\x73\x65\x53\x74\x61\x74\x75\x73\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x24\x7B\x68\x74\x74\x70\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x3A\x20\x24\x7B\x72\x65\x73\x2E\x52\x65\x73\x70\x6F\x6E\x73\x65\x53\x74\x61\x74\x75\x73\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x72\x75\x6E\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x61\x76\x65\x28\x74\x61\x72\x67\x65\x74\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x77\x73\x54\x61\x72\x67\x65\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x54\x61\x72\x67\x65\x74\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x44\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x49\x44\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4F\x70\x74\x73\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x4F\x70\x74\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x56\x61\x72\x73\x3A\x20\x74\x61\x72\x67\x65\x74\x2E\x56\x61\x72\x73\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x4E\x61\x6D\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x42\x61\x73\x65\x55\x52\x4C\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x48\x54\x54\x50\x54\x61\x72\x67\x65\x74\x3A\x20\x6E\x75\x6C\x6C\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x3A\x20\x77\x73\x54\x61\x72\x67\x65\x74\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x66\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x41\x50\x49\x5F\x54\x41\x52\x47\x45\x54\x5F\x52\x55\x4E\x5F\x57\x45\x42\x53\x4F\x43\x4B\x45\x54\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x3E\x3D\x20\x34\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x24\x7B\x77\x73\x54\x61\x72\x67\x65\x74\x2E\x4E\x61\x6D\x65\x7D\x3A\x20\x73\x75\x63\x63\x65\x73\x73\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6A\x73\x6F\x6E\x52\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x70\x61\x74\x68\x2C\x20\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x20\x3D\x20\x22\x23\x2F\x22\x20\x2B\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 135128566)
+ node.SetModTimeUnix(1707078138, 392526359)
node.SetName("trunks.js")
node.SetSize(12672)
return node
@@ -289,7 +289,7 @@ func generate__www_vars_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x57\x75\x69\x4E\x6F\x74\x69\x66\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x77\x75\x69\x2F\x6E\x6F\x74\x69\x66\x2F\x6E\x6F\x74\x69\x66\x2E\x6A\x73\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x77\x75\x69\x4E\x6F\x74\x69\x66\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x4E\x6F\x74\x69\x66\x28\x29\x3B\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 128461865)
+ node.SetModTimeUnix(1707078138, 325859620)
node.SetName("vars.js")
node.SetSize(195)
return node
@@ -304,7 +304,7 @@ func generate__www_ws_target_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x69\x6D\x70\x6F\x72\x74\x20\x7B\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x2C\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x2C\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x2C\x20\x7D\x20\x66\x72\x6F\x6D\x20\x22\x2E\x2F\x66\x75\x6E\x63\x74\x69\x6F\x6E\x73\x2E\x6A\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x43\x54\x49\x4F\x4E\x53\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x5F\x61\x63\x74\x69\x6F\x6E\x73\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x48\x45\x41\x44\x45\x52\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x5F\x69\x6E\x70\x75\x74\x5F\x68\x65\x61\x64\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x50\x41\x52\x41\x4D\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x5F\x69\x6E\x70\x75\x74\x5F\x70\x61\x72\x61\x6D\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x5F\x6F\x75\x74\x5F\x6D\x6F\x6E\x6F\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x52\x55\x4E\x20\x3D\x20\x22\x77\x73\x5F\x74\x61\x72\x67\x65\x74\x5F\x6F\x75\x74\x5F\x72\x75\x6E\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x54\x61\x72\x67\x65\x74\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x74\x72\x75\x6E\x6B\x73\x2C\x20\x74\x61\x72\x67\x65\x74\x2C\x20\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x20\x3D\x20\x74\x72\x75\x6E\x6B\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x20\x3D\x20\x74\x61\x72\x67\x65\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x62\x75\x74\x74\x6F\x6E\x5F\x72\x75\x6E\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x72\x65\x71\x75\x65\x73\x74\x5F\x69\x6E\x70\x75\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6F\x75\x74\x5F\x72\x65\x73\x70\x6F\x6E\x73\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x70\x72\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x54\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x33\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x54\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x6F\x70\x74\x73\x2E\x4E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x54\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x63\x74\x69\x6F\x6E\x73\x28\x65\x6C\x54\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4F\x75\x74\x70\x75\x74\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x41\x63\x74\x69\x6F\x6E\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x41\x43\x54\x49\x4F\x4E\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x62\x75\x74\x74\x6F\x6E\x5F\x72\x75\x6E\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x52\x75\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x62\x75\x74\x74\x6F\x6E\x5F\x72\x75\x6E\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x75\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x62\x75\x74\x74\x6F\x6E\x5F\x72\x75\x6E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x41\x63\x74\x69\x6F\x6E\x73\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x48\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x70\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x69\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x48\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x72\x65\x71\x75\x65\x73\x74\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x72\x65\x71\x75\x65\x73\x74\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x72\x65\x71\x75\x65\x73\x74\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x72\x65\x71\x75\x65\x73\x74\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x4F\x62\x6A\x65\x63\x74\x2E\x6B\x65\x79\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x2E\x6C\x65\x6E\x67\x74\x68\x20\x3D\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x48\x45\x41\x44\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x68\x34\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x48\x65\x61\x64\x65\x72\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x65\x79\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x48\x65\x61\x64\x65\x72\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x48\x65\x61\x64\x65\x72\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x2C\x20\x66\x69\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x52\x65\x71\x75\x65\x73\x74\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x72\x61\x6D\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x4F\x62\x6A\x65\x63\x74\x2E\x6B\x65\x79\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x72\x61\x6D\x73\x29\x2E\x6C\x65\x6E\x67\x74\x68\x20\x3D\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x49\x4E\x50\x55\x54\x5F\x50\x41\x52\x41\x4D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x5B\x6B\x65\x79\x2C\x20\x66\x69\x5D\x20\x6F\x66\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x50\x61\x72\x61\x6D\x73\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x69\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6C\x6F\x61\x64\x57\x73\x54\x61\x72\x67\x65\x74\x50\x61\x72\x61\x6D\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2C\x20\x6B\x65\x79\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x46\x6F\x72\x6D\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x2C\x20\x66\x69\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4F\x75\x74\x70\x75\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x66\x69\x65\x6C\x64\x73\x65\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x52\x55\x4E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x69\x74\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x65\x67\x65\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x52\x75\x6E\x20\x6F\x75\x74\x70\x75\x74\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x62\x74\x6E\x43\x6C\x65\x61\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x75\x74\x74\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x43\x6C\x65\x61\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x43\x6C\x65\x61\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x74\x6E\x43\x6C\x65\x61\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x43\x6C\x65\x61\x72\x4F\x75\x74\x70\x75\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x69\x74\x6C\x65\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x62\x74\x6E\x43\x6C\x65\x61\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6F\x75\x74\x5F\x72\x65\x73\x70\x6F\x6E\x73\x65\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x57\x53\x5F\x54\x41\x52\x47\x45\x54\x5F\x4F\x55\x54\x5F\x4D\x4F\x4E\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x69\x74\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6F\x75\x74\x5F\x72\x65\x73\x70\x6F\x6E\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x43\x6C\x65\x61\x72\x4F\x75\x74\x70\x75\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6F\x75\x74\x5F\x72\x65\x73\x70\x6F\x6E\x73\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x75\x6E\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x74\x72\x75\x6E\x6B\x73\x2E\x72\x75\x6E\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x28\x74\x68\x69\x73\x2E\x74\x61\x72\x67\x65\x74\x2C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x72\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6F\x75\x74\x5F\x72\x65\x73\x70\x6F\x6E\x73\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x2C\x20\x6E\x75\x6C\x6C\x2C\x20\x32\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 121795164)
+ node.SetModTimeUnix(1707078138, 319192946)
node.SetName("ws_target.js")
node.SetSize(4531)
return node
@@ -318,7 +318,7 @@ func generate__www_wui() *memfs.Node {
GenFuncName: "generate__www_wui",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1699683408, 371971654)
+ node.SetModTimeUnix(1707075273, 641481825)
node.SetName("wui")
node.SetSize(0)
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/.reuse", generate__www_wui__reuse))
@@ -340,7 +340,7 @@ func generate__www_wui__reuse() *memfs.Node {
GenFuncName: "generate__www_wui__reuse",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1650448813, 728338315)
+ node.SetModTimeUnix(1707075273, 641481825)
node.SetName(".reuse")
node.SetSize(0)
return node
@@ -368,7 +368,7 @@ func generate__www_wui_editor() *memfs.Node {
GenFuncName: "generate__www_wui_editor",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1699683408, 368638302)
+ node.SetModTimeUnix(1707075273, 641481825)
node.SetName("editor")
node.SetSize(0)
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/editor/editor.js", generate__www_wui_editor_editor_js))
@@ -398,10 +398,11 @@ func generate__www_wui_input() *memfs.Node {
GenFuncName: "generate__www_wui_input",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1699636953, 899489339)
+ node.SetModTimeUnix(1707075384, 945473396)
node.SetName("input")
node.SetSize(0)
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/input/checkboxes.js", generate__www_wui_input_checkboxes_js))
+ node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/input/file.js", generate__www_wui_input_file_js))
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/input/number.js", generate__www_wui_input_number_js))
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/input/option.js", generate__www_wui_input_option_js))
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/input/select.js", generate__www_wui_input_select_js))
@@ -424,6 +425,21 @@ func generate__www_wui_input_checkboxes_js() *memfs.Node {
return node
}
+func generate__www_wui_input_file_js() *memfs.Node {
+ var node = &memfs.Node{
+ SysPath: "_www/wui/input/file.js",
+ Path: "/wui/input/file.js",
+ ContentType: "text/javascript; charset=utf-8",
+ GenFuncName: "generate__www_wui_input_file_js",
+ Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x34\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x46\x69\x6C\x65\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x64\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x2F\x2F\x20\x46\x69\x6C\x74\x65\x72\x20\x66\x6F\x72\x20\x66\x69\x6C\x65\x73\x2E\x20\x46\x6F\x72\x20\x65\x78\x61\x6D\x70\x6C\x65\x20\x22\x69\x6D\x61\x67\x65\x2F\x2A\x22\x20\x74\x6F\x20\x61\x6C\x6C\x6F\x77\x20\x73\x65\x6C\x65\x63\x74\x69\x6E\x67\x20\x69\x6D\x61\x67\x65\x20\x66\x69\x6C\x65\x73\x2E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x61\x63\x63\x65\x70\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6C\x61\x62\x65\x6C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x69\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x49\x6E\x70\x75\x74\x20\x3D\x20\x22\x22\x3B\x20\x2F\x2F\x20\x43\x75\x73\x74\x6F\x6D\x20\x43\x53\x53\x20\x63\x6C\x61\x73\x73\x20\x66\x6F\x72\x20\x69\x6E\x70\x75\x74\x20\x65\x6C\x65\x6D\x65\x6E\x74\x2E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x4C\x61\x62\x65\x6C\x20\x3D\x20\x22\x22\x3B\x20\x2F\x2F\x20\x43\x75\x73\x74\x6F\x6D\x20\x43\x53\x53\x20\x63\x6C\x61\x73\x73\x20\x66\x6F\x72\x20\x6C\x61\x62\x65\x6C\x2E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x48\x69\x6E\x74\x20\x3D\x20\x22\x22\x3B\x20\x2F\x2F\x20\x43\x75\x73\x74\x6F\x6D\x20\x43\x53\x53\x20\x63\x6C\x61\x73\x73\x20\x66\x6F\x72\x20\x68\x69\x6E\x74\x20\x74\x65\x78\x74\x2E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x20\x3D\x20\x22\x22\x3B\x20\x2F\x2F\x20\x43\x75\x73\x74\x6F\x6D\x20\x43\x53\x53\x20\x63\x6C\x61\x73\x73\x20\x66\x6F\x72\x20\x68\x69\x6E\x74\x20\x74\x6F\x67\x67\x6C\x65\x72\x2E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x44\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x48\x69\x6E\x74\x53\x68\x6F\x77\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x65\x6C\x65\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x69\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x64\x20\x3D\x20\x74\x68\x69\x73\x2E\x69\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x66\x69\x6C\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x4C\x61\x62\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x61\x62\x65\x6C\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x66\x69\x6C\x65\x5F\x6C\x61\x62\x65\x6C\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x4C\x61\x62\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x4C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4C\x61\x62\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x24\x7B\x74\x68\x69\x73\x2E\x6C\x61\x62\x65\x6C\x7D\x20\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x4C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x49\x6E\x70\x75\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x69\x6E\x70\x75\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x49\x6E\x70\x75\x74\x2E\x74\x79\x70\x65\x20\x3D\x20\x22\x66\x69\x6C\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x49\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x66\x69\x6C\x65\x5F\x69\x6E\x70\x75\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x49\x6E\x70\x75\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x49\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x61\x63\x63\x65\x70\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x49\x6E\x70\x75\x74\x2E\x61\x63\x63\x65\x70\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x61\x63\x63\x65\x70\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x69\x73\x44\x69\x73\x61\x62\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x49\x6E\x70\x75\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x49\x6E\x70\x75\x74\x2E\x6F\x6E\x63\x68\x61\x6E\x67\x65\x20\x3D\x20\x28\x65\x76\x65\x6E\x74\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x66\x69\x6C\x65\x20\x3D\x20\x65\x76\x65\x6E\x74\x2E\x74\x61\x72\x67\x65\x74\x2E\x66\x69\x6C\x65\x73\x5B\x30\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x66\x69\x6C\x65\x20\x26\x26\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x28\x66\x69\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x49\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x66\x69\x6C\x65\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x20\x26\x23\x78\x32\x31\x33\x39\x3B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x3D\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x70\x61\x72\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x66\x69\x6C\x65\x5F\x68\x69\x6E\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x48\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x63\x6C\x61\x73\x73\x48\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x68\x69\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x52\x61\x64\x69\x75\x73\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x34\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x69\x73\x48\x69\x6E\x74\x53\x68\x6F\x77\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x48\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
+ }
+ node.SetMode(420)
+ node.SetModTimeUnix(1707078138, 289192914)
+ node.SetName("file.js")
+ node.SetSize(3608)
+ return node
+}
+
func generate__www_wui_input_number_js() *memfs.Node {
var node = &memfs.Node{
SysPath: "_www/wui/input/number.js",
@@ -433,7 +449,7 @@ func generate__www_wui_input_number_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x6E\x75\x6D\x62\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x6E\x75\x6D\x62\x65\x72\x5F\x68\x69\x6E\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x6E\x75\x6D\x62\x65\x72\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x6E\x75\x6D\x62\x65\x72\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x6E\x75\x6D\x62\x65\x72\x5F\x6C\x61\x62\x65\x6C\x22\x3B\x0A\x2F\x2F\x0A\x2F\x2F\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x63\x72\x65\x61\x74\x65\x20\x61\x6E\x20\x48\x54\x4D\x4C\x20\x69\x6E\x70\x75\x74\x20\x74\x68\x61\x74\x20\x61\x6C\x6C\x6F\x77\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x6E\x6C\x79\x2C\x20\x77\x69\x74\x68\x20\x6F\x70\x74\x69\x6F\x6E\x61\x6C\x0A\x2F\x2F\x20\x6D\x61\x78\x20\x61\x6E\x64\x20\x6D\x69\x6E\x20\x6F\x70\x74\x69\x6F\x6E\x73\x2E\x0A\x2F\x2F\x20\x54\x68\x65\x20\x72\x65\x71\x75\x69\x72\x65\x64\x20\x6F\x70\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20\x22\x6C\x61\x62\x65\x6C\x22\x20\x61\x6E\x64\x20\x22\x76\x61\x6C\x75\x65\x22\x2E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x46\x6F\x72\x6D\x61\x74\x20\x6F\x66\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x48\x54\x4D\x4C\x20\x6F\x75\x74\x70\x75\x74\x2C\x0A\x2F\x2F\x0A\x2F\x2F\x09\x3C\x64\x69\x76\x20\x5B\x69\x64\x3D\x24\x7B\x69\x64\x7D\x5D\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x7D\x22\x3E\x0A\x2F\x2F\x09\x09\x3C\x64\x69\x76\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x7D\x20\x5B\x24\x7B\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x7D\x5D\x22\x3E\x0A\x2F\x2F\x09\x09\x09\x09\x24\x7B\x6C\x61\x62\x65\x6C\x7D\x20\x7C\x20\x48\x54\x4D\x4C\x45\x6C\x65\x6D\x65\x6E\x74\x0A\x2F\x2F\x09\x09\x09\x3C\x2F\x6C\x61\x62\x65\x6C\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x69\x6E\x70\x75\x74\x0A\x2F\x2F\x09\x09\x09\x09\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x7D\x20\x5B\x24\x7B\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x7D\x5D\x22\x0A\x2F\x2F\x09\x09\x09\x09\x5B\x6D\x61\x78\x3D\x24\x7B\x6D\x61\x78\x7D\x5D\x0A\x2F\x2F\x09\x09\x09\x09\x5B\x6D\x69\x6E\x3D\x24\x7B\x6D\x69\x6E\x7D\x5D\x0A\x2F\x2F\x09\x09\x09\x09\x5B\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x24\x7B\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x7D\x5D\x0A\x2F\x2F\x09\x09\x09\x09\x76\x61\x6C\x75\x65\x3D\x24\x7B\x76\x61\x6C\x75\x65\x7D\x0A\x2F\x2F\x09\x09\x09\x3E\x0A\x2F\x2F\x09\x09\x09\x5B\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x7D\x22\x3E\x20\x69\x3C\x2F\x73\x70\x61\x6E\x3E\x5D\x0A\x2F\x2F\x09\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x2F\x2F\x09\x09\x5B\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x7D\x22\x3E\x24\x7B\x68\x69\x6E\x74\x7D\x3C\x2F\x64\x69\x76\x3E\x5D\x0A\x2F\x2F\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x55\x73\x65\x72\x20\x63\x61\x6E\x20\x73\x65\x74\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x20\x74\x6F\x20\x72\x65\x63\x65\x69\x76\x65\x20\x6E\x65\x77\x20\x76\x61\x6C\x75\x65\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x75\x65\x0A\x2F\x2F\x20\x63\x68\x61\x6E\x67\x65\x73\x20\x61\x6E\x64\x20\x76\x61\x6C\x69\x64\x3B\x20\x6F\x74\x68\x65\x72\x77\x69\x73\x65\x2C\x20\x69\x66\x20\x74\x68\x65\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20\x69\x6E\x76\x61\x6C\x69\x64\x2C\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x0A\x2F\x2F\x20\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x20\x77\x69\x6C\x6C\x20\x63\x68\x61\x6E\x67\x65\x73\x20\x61\x63\x63\x6F\x72\x64\x69\x6E\x67\x6C\x79\x2E\x0A\x2F\x2F\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x4E\x75\x6D\x62\x65\x72\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6F\x70\x74\x73\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x61\x62\x65\x6C\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x20\x3D\x3D\x3D\x20\x22\x73\x74\x72\x69\x6E\x67\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x24\x7B\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x7D\x20\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x69\x6E\x70\x75\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x74\x79\x70\x65\x20\x3D\x20\x22\x6E\x75\x6D\x62\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x73\x74\x65\x70\x20\x3D\x20\x22\x61\x6E\x79\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x68\x69\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x61\x78\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x6D\x61\x78\x20\x3D\x20\x22\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x61\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x20\x3D\x20\x22\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x61\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x69\x6E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x6D\x69\x6E\x20\x3D\x20\x22\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x69\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x68\x69\x6E\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x20\x3D\x20\x22\x54\x68\x65\x20\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x20\x2B\x3D\x20\x22\x20\x61\x6E\x64\x20\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x68\x69\x6E\x74\x20\x2B\x3D\x20\x22\x6D\x69\x6E\x69\x6D\x75\x6D\x20\x76\x61\x6C\x75\x65\x20\x69\x73\x20\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x69\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x68\x69\x6E\x74\x20\x21\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x74\x69\x74\x6C\x65\x20\x3D\x20\x68\x69\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x6F\x6E\x6B\x65\x79\x75\x70\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x69\x73\x2E\x6F\x6E\x4B\x65\x79\x55\x70\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x20\x26\x23\x78\x32\x31\x33\x39\x3B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x69\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x4E\x55\x4D\x42\x45\x52\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x68\x69\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x52\x61\x64\x69\x75\x73\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x34\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x3D\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x4B\x65\x79\x55\x70\x28\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x74\x61\x72\x67\x65\x74\x20\x3D\x20\x65\x76\x2E\x74\x61\x72\x67\x65\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x20\x3D\x20\x2B\x74\x61\x72\x67\x65\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x65\x77\x56\x61\x6C\x75\x65\x20\x3D\x3D\x3D\x20\x6E\x75\x6C\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x6C\x69\x67\x68\x74\x73\x61\x6C\x6D\x6F\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x61\x78\x20\x26\x26\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x20\x3E\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x61\x78\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x6C\x69\x67\x68\x74\x73\x61\x6C\x6D\x6F\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x69\x6E\x20\x26\x26\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x20\x3C\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6D\x69\x6E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x6C\x69\x67\x68\x74\x73\x61\x6C\x6D\x6F\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x77\x68\x69\x74\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6E\x65\x77\x56\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x28\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x73\x65\x74\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x75\x65\x2E\x0A\x20\x20\x20\x20\x73\x65\x74\x28\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x20\x2B\x20\x76\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 78461606)
+ node.SetModTimeUnix(1707078138, 279192903)
node.SetName("number.js")
node.SetSize(5843)
return node
@@ -448,7 +464,7 @@ func generate__www_wui_input_option_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x65\x78\x70\x6F\x72\x74\x20\x7B\x7D\x3B\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 98461710)
+ node.SetModTimeUnix(1707078138, 302526262)
node.SetName("option.js")
node.SetSize(117)
return node
@@ -463,7 +479,7 @@ func generate__www_wui_input_select_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x65\x6C\x65\x63\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x65\x6C\x65\x63\x74\x5F\x68\x69\x6E\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x65\x6C\x65\x63\x74\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x65\x6C\x65\x63\x74\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x65\x6C\x65\x63\x74\x5F\x6C\x61\x62\x65\x6C\x22\x3B\x0A\x2F\x2F\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x65\x6C\x65\x63\x74\x20\x63\x72\x65\x61\x74\x65\x20\x61\x6E\x20\x48\x54\x4D\x4C\x20\x69\x6E\x70\x75\x74\x20\x66\x6F\x72\x20\x73\x65\x6C\x65\x63\x74\x69\x6E\x67\x20\x6F\x6E\x65\x20\x6D\x6F\x72\x65\x20\x69\x74\x65\x6D\x2E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x46\x6F\x72\x6D\x61\x74\x20\x6F\x66\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x48\x54\x4D\x4C\x20\x6F\x75\x74\x70\x75\x74\x2C\x0A\x2F\x2F\x0A\x2F\x2F\x09\x3C\x64\x69\x76\x20\x5B\x69\x64\x3D\x24\x7B\x69\x64\x7D\x5D\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x7D\x22\x3E\x0A\x2F\x2F\x09\x09\x3C\x64\x69\x76\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x7D\x20\x5B\x24\x7B\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x7D\x5D\x22\x3E\x0A\x2F\x2F\x09\x09\x09\x09\x24\x7B\x6C\x61\x62\x65\x6C\x7D\x20\x7C\x20\x48\x54\x4D\x4C\x45\x6C\x65\x6D\x65\x6E\x74\x0A\x2F\x2F\x09\x09\x09\x3C\x2F\x6C\x61\x62\x65\x6C\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x73\x65\x6C\x65\x63\x74\x0A\x2F\x2F\x09\x09\x09\x09\x6E\x61\x6D\x65\x3D\x24\x7B\x6E\x61\x6D\x65\x7D\x0A\x2F\x2F\x09\x09\x09\x09\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x7D\x20\x5B\x24\x7B\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x7D\x5D\x22\x0A\x2F\x2F\x09\x09\x09\x09\x5B\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x24\x7B\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x7D\x5D\x0A\x2F\x2F\x09\x09\x09\x3E\x0A\x2F\x2F\x09\x09\x09\x09\x3C\x6F\x70\x74\x69\x6F\x6E\x20\x76\x61\x6C\x75\x65\x3D\x22\x24\x7B\x6F\x70\x74\x69\x6F\x6E\x73\x5B\x6B\x65\x79\x5D\x2E\x76\x61\x6C\x75\x65\x7D\x22\x3E\x24\x7B\x6B\x65\x79\x20\x69\x6E\x20\x6F\x70\x74\x69\x6F\x6E\x73\x7D\x3C\x2F\x6F\x70\x74\x69\x6F\x6E\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x2F\x73\x65\x6C\x65\x63\x74\x3E\x0A\x2F\x2F\x09\x09\x09\x5B\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x7D\x22\x3E\x69\x20\x3C\x2F\x73\x70\x61\x6E\x3E\x5D\x0A\x2F\x2F\x09\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x2F\x2F\x09\x09\x5B\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x7D\x22\x3E\x24\x7B\x68\x69\x6E\x74\x7D\x3C\x2F\x64\x69\x76\x3E\x5D\x0A\x2F\x2F\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x54\x68\x65\x20\x22\x68\x69\x6E\x74\x22\x20\x6F\x70\x74\x69\x6F\x6E\x20\x69\x73\x20\x6F\x70\x74\x69\x6F\x6E\x61\x6C\x2C\x20\x69\x66\x20\x69\x74\x20\x73\x65\x74\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x77\x69\x6C\x6C\x20\x68\x61\x76\x65\x20\x61\x20\x68\x69\x6E\x74\x20\x74\x6F\x67\x67\x6C\x65\x72\x0A\x2F\x2F\x20\x74\x6F\x20\x64\x69\x73\x70\x6C\x61\x79\x20\x6F\x72\x20\x68\x69\x64\x65\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x2E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x55\x73\x65\x72\x20\x63\x61\x6E\x20\x73\x65\x74\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x20\x74\x6F\x20\x72\x65\x63\x65\x69\x76\x65\x20\x6E\x65\x77\x20\x76\x61\x6C\x75\x65\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x75\x65\x0A\x2F\x2F\x20\x63\x68\x61\x6E\x67\x65\x73\x2E\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x65\x6C\x65\x63\x74\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x5F\x6B\x65\x79\x20\x3D\x20\x7B\x7D\x3B\x20\x2F\x2F\x20\x54\x68\x65\x20\x72\x65\x76\x65\x72\x73\x65\x20\x6F\x66\x20\x6F\x70\x74\x69\x6F\x6E\x73\x2E\x6F\x70\x74\x69\x6F\x6E\x73\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x61\x62\x65\x6C\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x20\x3D\x3D\x3D\x20\x22\x73\x74\x72\x69\x6E\x67\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x24\x7B\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x7D\x20\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x65\x6C\x65\x63\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x6E\x61\x6D\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x4F\x62\x6A\x65\x63\x74\x2E\x65\x6E\x74\x72\x69\x65\x73\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x70\x74\x69\x6F\x6E\x73\x29\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x5B\x6B\x65\x79\x2C\x20\x6F\x70\x74\x69\x6F\x6E\x5D\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x4F\x70\x74\x69\x6F\x6E\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6F\x70\x74\x69\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4F\x70\x74\x69\x6F\x6E\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6F\x70\x74\x69\x6F\x6E\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4F\x70\x74\x69\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x6B\x65\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x69\x6F\x6E\x2E\x73\x65\x6C\x65\x63\x74\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x4F\x70\x74\x69\x6F\x6E\x2E\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x4F\x70\x74\x69\x6F\x6E\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x5F\x6B\x65\x79\x5B\x6F\x70\x74\x69\x6F\x6E\x2E\x76\x61\x6C\x75\x65\x5D\x20\x3D\x20\x6B\x65\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x49\x6E\x70\x75\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x20\x26\x23\x78\x32\x31\x33\x39\x3B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x45\x4C\x45\x43\x54\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x52\x61\x64\x69\x75\x73\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x34\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x3D\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x49\x6E\x70\x75\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x61\x6C\x75\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x21\x3D\x3D\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6B\x65\x79\x20\x3D\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x5F\x6B\x65\x79\x5B\x76\x61\x6C\x75\x65\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x28\x6B\x65\x79\x2C\x20\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x73\x65\x74\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x75\x65\x2E\x0A\x20\x20\x20\x20\x73\x65\x74\x28\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 105128411)
+ node.SetModTimeUnix(1707078138, 305859598)
node.SetName("select.js")
node.SetSize(5364)
return node
@@ -478,7 +494,7 @@ func generate__www_wui_input_string_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x74\x72\x69\x6E\x67\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x74\x72\x69\x6E\x67\x5F\x68\x69\x6E\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x74\x72\x69\x6E\x67\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x74\x72\x69\x6E\x67\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x20\x3D\x20\x22\x77\x75\x69\x5F\x69\x6E\x70\x75\x74\x5F\x73\x74\x72\x69\x6E\x67\x5F\x6C\x61\x62\x65\x6C\x22\x3B\x0A\x2F\x2F\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x63\x72\x65\x61\x74\x65\x20\x61\x6E\x20\x48\x54\x4D\x4C\x20\x69\x6E\x70\x75\x74\x20\x66\x6F\x72\x20\x73\x74\x72\x69\x6E\x67\x20\x77\x69\x74\x68\x20\x70\x72\x65\x64\x65\x66\x69\x6E\x65\x64\x20\x6F\x70\x74\x69\x6F\x6E\x73\x2E\x0A\x2F\x2F\x20\x54\x68\x65\x20\x72\x65\x71\x75\x69\x72\x65\x64\x20\x6F\x70\x74\x69\x6F\x6E\x73\x20\x61\x72\x65\x20\x22\x6C\x61\x62\x65\x6C\x22\x20\x61\x6E\x64\x20\x22\x76\x61\x6C\x75\x65\x22\x2E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x46\x6F\x72\x6D\x61\x74\x20\x6F\x66\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x64\x20\x48\x54\x4D\x4C\x20\x6F\x75\x74\x70\x75\x74\x2C\x0A\x2F\x2F\x0A\x2F\x2F\x09\x3C\x64\x69\x76\x20\x5B\x69\x64\x3D\x24\x7B\x69\x64\x7D\x5D\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x7D\x22\x3E\x0A\x2F\x2F\x09\x09\x3C\x64\x69\x76\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x6C\x61\x62\x65\x6C\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x7D\x20\x5B\x24\x7B\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x7D\x5D\x22\x3E\x0A\x2F\x2F\x09\x09\x09\x09\x24\x7B\x6C\x61\x62\x65\x6C\x7D\x20\x7C\x20\x48\x54\x4D\x4C\x45\x6C\x65\x6D\x65\x6E\x74\x0A\x2F\x2F\x09\x09\x09\x3C\x2F\x6C\x61\x62\x65\x6C\x3E\x0A\x2F\x2F\x09\x09\x09\x3C\x69\x6E\x70\x75\x74\x0A\x2F\x2F\x09\x09\x09\x09\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x7D\x20\x5B\x24\x7B\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x7D\x5D\x22\x0A\x2F\x2F\x09\x09\x09\x09\x5B\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x24\x7B\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x7D\x5D\x0A\x2F\x2F\x09\x09\x09\x09\x76\x61\x6C\x75\x65\x3D\x24\x7B\x76\x61\x6C\x75\x65\x7D\x0A\x2F\x2F\x09\x09\x09\x3E\x0A\x2F\x2F\x09\x09\x09\x5B\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x7D\x22\x3E\x69\x20\x3C\x2F\x73\x70\x61\x6E\x3E\x5D\x0A\x2F\x2F\x09\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x2F\x2F\x09\x09\x5B\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x7D\x22\x3E\x24\x7B\x68\x69\x6E\x74\x7D\x3C\x2F\x64\x69\x76\x3E\x5D\x0A\x2F\x2F\x09\x3C\x2F\x64\x69\x76\x3E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x54\x68\x65\x20\x22\x68\x69\x6E\x74\x22\x20\x6F\x70\x74\x69\x6F\x6E\x20\x69\x73\x20\x6F\x70\x74\x69\x6F\x6E\x61\x6C\x2C\x20\x69\x66\x20\x69\x74\x20\x73\x65\x74\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x77\x69\x6C\x6C\x20\x68\x61\x76\x65\x20\x61\x20\x68\x69\x6E\x74\x20\x74\x6F\x67\x67\x6C\x65\x72\x0A\x2F\x2F\x20\x74\x6F\x20\x64\x69\x73\x70\x6C\x61\x79\x20\x6F\x72\x20\x68\x69\x64\x65\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x2E\x0A\x2F\x2F\x0A\x2F\x2F\x20\x55\x73\x65\x72\x20\x63\x61\x6E\x20\x73\x65\x74\x20\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x20\x74\x6F\x20\x72\x65\x63\x65\x69\x76\x65\x20\x6E\x65\x77\x20\x76\x61\x6C\x75\x65\x20\x77\x68\x65\x6E\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x75\x65\x0A\x2F\x2F\x20\x63\x68\x61\x6E\x67\x65\x73\x2E\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x57\x75\x69\x49\x6E\x70\x75\x74\x53\x74\x72\x69\x6E\x67\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x6F\x70\x74\x73\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x77\x72\x61\x70\x70\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x4C\x61\x62\x65\x6C\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x6C\x61\x62\x65\x6C\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x41\x42\x45\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x20\x3D\x3D\x3D\x20\x22\x73\x74\x72\x69\x6E\x67\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x24\x7B\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x7D\x20\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x6C\x61\x62\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x49\x6E\x70\x75\x74\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x69\x6E\x70\x75\x74\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x63\x6C\x61\x73\x73\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x20\x2B\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x5F\x64\x69\x73\x61\x62\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x6F\x6E\x6B\x65\x79\x75\x70\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x21\x3D\x3D\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x43\x68\x61\x6E\x67\x65\x48\x61\x6E\x64\x6C\x65\x72\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x77\x72\x61\x70\x70\x65\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x5F\x54\x4F\x47\x47\x4C\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x20\x26\x23\x78\x32\x31\x33\x39\x3B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x72\x61\x70\x70\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x67\x65\x6E\x65\x72\x61\x74\x65\x48\x69\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x49\x4E\x50\x55\x54\x5F\x53\x54\x52\x49\x4E\x47\x5F\x43\x4C\x41\x53\x53\x5F\x48\x49\x4E\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x68\x69\x6E\x74\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x5F\x68\x69\x6E\x74\x5F\x74\x6F\x67\x67\x6C\x65\x64\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x52\x61\x64\x69\x75\x73\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x34\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x6D\x61\x72\x67\x69\x6E\x54\x6F\x70\x20\x3D\x20\x22\x32\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x48\x69\x6E\x74\x54\x6F\x67\x67\x6C\x65\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x3D\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x62\x6C\x6F\x63\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x68\x69\x6E\x74\x2E\x73\x74\x79\x6C\x65\x2E\x64\x69\x73\x70\x6C\x61\x79\x20\x3D\x20\x22\x6E\x6F\x6E\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x73\x65\x74\x20\x74\x68\x65\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x75\x65\x2E\x0A\x20\x20\x20\x20\x73\x65\x74\x28\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x5F\x69\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x76\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 71794905)
+ node.SetModTimeUnix(1707078138, 269192892)
node.SetName("string.js")
node.SetSize(4673)
return node
@@ -508,7 +524,7 @@ func generate__www_wui_notif_notif_js() *memfs.Node {
Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x49\x44\x20\x3D\x20\x22\x77\x75\x69\x5F\x6E\x6F\x74\x69\x66\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x46\x4F\x20\x3D\x20\x22\x77\x75\x69\x5F\x6E\x6F\x74\x69\x66\x5F\x69\x6E\x66\x6F\x22\x3B\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6F\x6E\x73\x74\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x45\x52\x52\x4F\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x6E\x6F\x74\x69\x66\x5F\x65\x72\x72\x6F\x72\x22\x3B\x0A\x2F\x2F\x20\x57\x75\x69\x4E\x6F\x74\x69\x66\x20\x69\x6D\x70\x6C\x65\x6D\x65\x6E\x74\x20\x74\x68\x65\x20\x48\x54\x4D\x4C\x20\x69\x6E\x74\x65\x72\x66\x61\x63\x65\x20\x74\x6F\x20\x64\x69\x73\x70\x6C\x61\x79\x20\x70\x6F\x70\x2D\x75\x70\x20\x6E\x6F\x74\x69\x66\x69\x63\x61\x74\x69\x6F\x6E\x2E\x0A\x2F\x2F\x20\x54\x68\x65\x20\x6E\x6F\x74\x69\x66\x69\x63\x61\x74\x69\x6F\x6E\x20\x63\x61\x6E\x20\x62\x65\x20\x74\x72\x69\x67\x67\x65\x72\x65\x64\x20\x62\x79\x20\x63\x61\x6C\x6C\x69\x6E\x67\x20\x6D\x65\x74\x68\x6F\x64\x20\x69\x6E\x66\x6F\x28\x29\x20\x6F\x72\x20\x65\x72\x72\x6F\x72\x28\x29\x2E\x0A\x2F\x2F\x20\x45\x61\x63\x68\x20\x70\x6F\x70\x2D\x75\x70\x20\x68\x61\x73\x20\x35\x20\x73\x65\x63\x6F\x6E\x64\x73\x20\x64\x75\x72\x61\x74\x69\x6F\x6E\x2C\x20\x61\x66\x74\x65\x72\x20\x74\x68\x61\x74\x20\x74\x68\x65\x79\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x72\x65\x6D\x6F\x76\x65\x64\x0A\x2F\x2F\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x63\x61\x6C\x6C\x79\x2E\x0A\x65\x78\x70\x6F\x72\x74\x20\x63\x6C\x61\x73\x73\x20\x57\x75\x69\x4E\x6F\x74\x69\x66\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x69\x6D\x65\x6F\x75\x74\x20\x3D\x20\x35\x30\x30\x30\x3B\x20\x2F\x2F\x20\x35\x20\x73\x65\x63\x6F\x6E\x64\x73\x20\x74\x69\x6D\x65\x6F\x75\x74\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x62\x6F\x64\x79\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x6E\x66\x6F\x20\x73\x68\x6F\x77\x20\x74\x68\x65\x20\x6D\x73\x67\x20\x61\x73\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x2E\x0A\x20\x20\x20\x20\x69\x6E\x66\x6F\x28\x6D\x73\x67\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x69\x74\x65\x6D\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x6D\x73\x67\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x46\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x20\x74\x68\x69\x73\x2E\x74\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x65\x72\x72\x6F\x72\x20\x73\x68\x6F\x77\x20\x74\x68\x65\x20\x6D\x73\x67\x20\x61\x73\x20\x61\x6E\x20\x65\x72\x72\x6F\x72\x2E\x0A\x20\x20\x20\x20\x65\x72\x72\x6F\x72\x28\x6D\x73\x67\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x69\x74\x65\x6D\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x6D\x73\x67\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x45\x52\x52\x4F\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x20\x74\x68\x69\x73\x2E\x74\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x79\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x74\x79\x6C\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x74\x79\x70\x65\x20\x3D\x20\x22\x74\x65\x78\x74\x2F\x63\x73\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x0A\x09\x09\x09\x23\x24\x7B\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x49\x44\x7D\x20\x7B\x0A\x09\x09\x09\x09\x6C\x65\x66\x74\x3A\x20\x31\x30\x25\x3B\x0A\x09\x09\x09\x09\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x66\x69\x78\x65\x64\x3B\x0A\x09\x09\x09\x09\x74\x6F\x70\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x09\x77\x69\x64\x74\x68\x3A\x20\x38\x30\x25\x3B\x0A\x09\x09\x09\x09\x7A\x2D\x69\x6E\x64\x65\x78\x3A\x20\x31\x30\x30\x30\x30\x3B\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x2E\x24\x7B\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x46\x4F\x7D\x20\x7B\x0A\x09\x09\x09\x09\x62\x6F\x72\x64\x65\x72\x3A\x20\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x73\x69\x6C\x76\x65\x72\x3B\x0A\x09\x09\x09\x09\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x68\x6F\x6E\x65\x79\x64\x65\x77\x3B\x0A\x09\x09\x09\x09\x6D\x61\x72\x67\x69\x6E\x2D\x62\x6F\x74\x74\x6F\x6D\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x09\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x2E\x24\x7B\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x45\x52\x52\x4F\x52\x7D\x20\x7B\x0A\x09\x09\x09\x09\x62\x6F\x72\x64\x65\x72\x3A\x20\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x73\x61\x6C\x6D\x6F\x6E\x3B\x0A\x09\x09\x09\x09\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x6C\x69\x67\x68\x74\x73\x61\x6C\x6D\x6F\x6E\x3B\x0A\x09\x09\x09\x09\x6D\x61\x72\x67\x69\x6E\x2D\x62\x6F\x74\x74\x6F\x6D\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x09\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x7D\x0A\x09\x09\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x68\x65\x61\x64\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x73\x74\x79\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1707037266, 128461865)
+ node.SetModTimeUnix(1707078138, 325859620)
node.SetName("notif.js")
node.SetSize(1975)
return node
@@ -537,7 +553,7 @@ func generate__www_wui_vfs() *memfs.Node {
GenFuncName: "generate__www_wui_vfs",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1699636953, 899489339)
+ node.SetModTimeUnix(1707075273, 641481825)
node.SetName("vfs")
node.SetSize(0)
node.AddChild(_memfsWWW_getNode(memfsWWW, "/wui/vfs/vfs.js", generate__www_wui_vfs_vfs_js))
@@ -667,6 +683,8 @@ func init() {
_memfsWWW_getNode(memfsWWW, "/wui/input", generate__www_wui_input))
memfsWWW.PathNodes.Set("/wui/input/checkboxes.js",
_memfsWWW_getNode(memfsWWW, "/wui/input/checkboxes.js", generate__www_wui_input_checkboxes_js))
+ memfsWWW.PathNodes.Set("/wui/input/file.js",
+ _memfsWWW_getNode(memfsWWW, "/wui/input/file.js", generate__www_wui_input_file_js))
memfsWWW.PathNodes.Set("/wui/input/number.js",
_memfsWWW_getNode(memfsWWW, "/wui/input/number.js", generate__www_wui_input_number_js))
memfsWWW.PathNodes.Set("/wui/input/option.js",
diff --git a/run_request.go b/run_request.go
index 2f18098..51b60c6 100644
--- a/run_request.go
+++ b/run_request.go
@@ -57,8 +57,7 @@ func generateRunRequest(
outrr.HTTPTarget.Params = req.HTTPTarget.Params
outrr.HTTPTarget.paramsToPath()
- outrr.HTTPTarget.RequestDumper = origHTTPTarget.RequestDumper
- outrr.HTTPTarget.ResponseDumper = origHTTPTarget.ResponseDumper
+ outrr.HTTPTarget.refCopy(origHTTPTarget)
return outrr
}
diff --git a/testdata/target_http_run_formkindfile_test.txt b/testdata/target_http_run_formkindfile_test.txt
new file mode 100644
index 0000000..4f18347
--- /dev/null
+++ b/testdata/target_http_run_formkindfile_test.txt
@@ -0,0 +1,49 @@
+Test data for testing running HTTP with form kind is file (uploading file).
+
+>>> valid:http_request_body
+{
+ "Target": {
+ "id": "target_http"
+ },
+ "HTTPTarget": {
+ "id": "upload",
+ "Method": 6,
+ "RequestType": 3,
+ "Path": "/upload",
+ "Params": {
+ "file": {
+ "kind": "file",
+ "value": "Q29udGVudCBvZiBmaWxlIHVwbG9hZA==",
+ "filename": "test.txt",
+ "filetype": "text/plain",
+ "filesize": 22
+ }
+ }
+ }
+}
+
+<<< valid:RunResponse.DumpResponse
+HTTP/1.1 200 OK
+Content-Length: 260
+Content-Type: application/json
+
+{
+ "data": {
+ "filecontent": [
+ "Q29udGVudCBvZiBmaWxlIHVwbG9hZA=="
+ ],
+ "filemodms": [
+ "0"
+ ],
+ "filename": [
+ "test.txt"
+ ],
+ "filesize": [
+ "22"
+ ],
+ "filetype": [
+ "text/plain"
+ ]
+ },
+ "code": 200
+}
diff --git a/trunks.go b/trunks.go
index 5ae3656..01619a6 100644
--- a/trunks.go
+++ b/trunks.go
@@ -189,9 +189,8 @@ func (trunks *Trunks) RunHTTP(req *RunRequest) (res *RunResponse, err error) {
if origHTTPTarget.Run == nil {
req.Target.BaseURL = origTarget.BaseURL
req.Target.Name = origTarget.Name
- req.HTTPTarget.ConvertParams = origHTTPTarget.ConvertParams
- req.HTTPTarget.RequestDumper = origHTTPTarget.RequestDumper
- req.HTTPTarget.ResponseDumper = origHTTPTarget.ResponseDumper
+
+ req.HTTPTarget.refCopy(origHTTPTarget)
res, err = trunks.runHTTPTarget(req)
} else {
diff --git a/trunks_test.go b/trunks_test.go
new file mode 100644
index 0000000..fb3b4b6
--- /dev/null
+++ b/trunks_test.go
@@ -0,0 +1,87 @@
+// SPDX-FileCopyrightText: 2024 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package trunks
+
+import (
+ "crypto/rand"
+ "log"
+ "net/http"
+ "os"
+ "testing"
+ "time"
+
+ libhttp "github.com/shuLhan/share/lib/http"
+ "github.com/shuLhan/share/lib/test/mock"
+)
+
+// dummyHttpd dummy HTTP as target for Trunks.
+var dummyHttpd *httpdDummy
+
+// dummyTrunks the Trunks instance that contains [Target] to be tested.
+var dummyTrunks *Trunks
+
+func TestMain(m *testing.M) {
+ var err error
+
+ // Mock crypto [rand.Reader] for predictable HTTP boundary.
+ rand.Reader = mock.NewRandReader([]byte(`gorankusu`))
+
+ dummyHttpd, err = newHttpdDummy()
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer dummyHttpd.Stop(time.Second)
+
+ var env = Environment{}
+
+ dummyTrunks, err = New(&env)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ registerTargetHTTP()
+
+ os.Exit(m.Run())
+}
+
+func registerTargetHTTP() {
+ var logp = `registerTargetHTTP`
+
+ var target = &Target{
+ ID: `target_http`,
+ Name: `Target HTTP`,
+ BaseURL: `http://` + dummyHttpd.Server.Options.Address,
+ }
+ var targetHTTPUpload = &HTTPTarget{
+ ID: `upload`,
+ Name: `Upload`,
+ Method: dummyEndpointUpload.Method,
+ Path: dummyEndpointUpload.Path,
+ RequestType: dummyEndpointUpload.RequestType,
+ Params: KeyFormInput{
+ `file`: FormInput{
+ Label: `File`,
+ Kind: FormInputKindFile,
+ },
+ },
+ RequestDumper: requestDumperWithoutDate,
+ ResponseDumper: responseDumperWithoutDate,
+ }
+ target.HTTPTargets = append(target.HTTPTargets, targetHTTPUpload)
+
+ var err = dummyTrunks.RegisterTarget(target)
+ if err != nil {
+ log.Fatalf(`%s: %s`, logp, err)
+ }
+}
+
+func requestDumperWithoutDate(req *http.Request) ([]byte, error) {
+ req.Header.Del(libhttp.HeaderDate)
+ return DumpHTTPRequest(req)
+}
+
+func responseDumperWithoutDate(resp *http.Response) ([]byte, error) {
+ resp.Header.Del(libhttp.HeaderDate)
+ return DumpHTTPResponse(resp)
+}